コード例 #1
0
def google_fonts(name):
    for item in STORAGE_PATH.iterdir():
        if item.is_dir() and item.name == name:
            fonts_path = item
            break
    else:
        fonts_path = STORAGE_PATH / name
        sys.stdout.write("\r")
        sys.stdout.flush()  # clear progress indicator
        print("Typeface '{}' is not installed; searching Google Fonts.".format(
            name))
        if not try_install_family(name, fonts_path):
            raise GoogleFontNotFound(name)
    return [
        OpenTypeFont(font_path)
        for font_path in find_static_font_files(fonts_path)
    ]
コード例 #2
0
from os import path

from rinoh.font import Typeface
from rinoh.font.style import MEDIUM, ITALIC
from rinoh.font.opentype import OpenTypeFont

__all__ = ['typeface']


def otf(style):
    filename = 'texgyrechorus-{}.otf'.format(style)
    return path.join(path.dirname(__file__), filename)


typeface = Typeface(
    'TeX Gyre Chorus',
    OpenTypeFont(otf('mediumitalic'), weight=MEDIUM, slant=ITALIC))
コード例 #3
0
ファイル: __init__.py プロジェクト: frol/rinohtype
from os import path

from rinoh.font import TypeFace
from rinoh.font.style import REGULAR, ITALIC, BOLD
from rinoh.font.opentype import OpenTypeFont


def filename(variant):
    return path.join(path.dirname(__file__),
                     'texgyreheros-{}.otf'.format(variant))


regular = OpenTypeFont(filename('regular'), weight=REGULAR)
italic = OpenTypeFont(filename('italic'), weight=REGULAR, slant=ITALIC)
bold = OpenTypeFont(filename('bold'), weight=BOLD)
bold_italic = OpenTypeFont(filename('bolditalic'), weight=BOLD, slant=ITALIC)

typeface = TypeFace('TeXGyreHeros', regular, italic, bold, bold_italic)
コード例 #4
0
from os import path

from rinoh.font import Typeface
from rinoh.font.style import REGULAR, BOLD, ITALIC
from rinoh.font.opentype import OpenTypeFont


__all__ = ['typeface']


def otf(style):
    filename = 'texgyrecursor-{}.otf'.format(style)
    return path.join(path.dirname(__file__), filename)


typeface = Typeface('TeX Gyre Cursor',
                    OpenTypeFont(otf('regular'), weight=REGULAR),
                    OpenTypeFont(otf('italic'), weight=REGULAR, slant=ITALIC),
                    OpenTypeFont(otf('bold'), weight=BOLD),
                    OpenTypeFont(otf('bolditalic'), weight=BOLD, slant=ITALIC))
コード例 #5
0
ファイル: rfic2009style.py プロジェクト: rhythmus/rinohtype
from rinoh.frontend.xml import element_factory
from rinoh.backend import pdf

import rinoh.frontend.xml.elementtree as xml_frontend

from citeproc import CitationStylesStyle, CitationStylesBibliography
from citeproc import Citation, CitationItem, Locator

# use Gyre Termes instead of (PDF Core) Times
use_gyre = True

# fonts
# ----------------------------------------------------------------------------
if use_gyre:
    #termes_roman = Type1Font("../fonts/qtmr", weight=REGULAR)
    termes_roman = OpenTypeFont("../fonts/texgyretermes-regular.otf",
                                weight=REGULAR)
    termes_italic = Type1Font("../fonts/qtmri", weight=REGULAR, slant=ITALIC)
    termes_bold = Type1Font("../fonts/qtmb", weight=BOLD)
    termes_bold_italic = Type1Font("../fonts/qtmbi", weight=BOLD, slant=ITALIC)

    termes = TypeFace("TeXGyreTermes", termes_roman, termes_bold,
                      termes_italic, termes_bold_italic)
    cursor_regular = Type1Font("../fonts/qcrr", weight=REGULAR)
    cursor = TypeFace("TeXGyreCursor", cursor_regular)

    ieeeFamily = TypeFamily(serif=termes, mono=cursor)

    schola_roman = Type1Font("../fonts/qcsr", weight=REGULAR)
    schola_italic = Type1Font("../fonts/qcsri", weight=REGULAR, slant=ITALIC)
    schola_bold = Type1Font("../fonts/qcsb", weight=BOLD)
    heros_roman = Type1Font("../fonts/qhvr", weight=REGULAR)
コード例 #6
0
def otf(style):
    filename = 'DejaVuSans{}.ttf'.format(style)
    return OpenTypeFont(path.join(path.dirname(__file__), filename))
コード例 #7
0
ファイル: opentype.py プロジェクト: ascribe/rinohtype
import time

from rinoh.font.opentype import OpenTypeFont
from rinoh.font.style import SMALL_CAPITAL


if __name__ == "__main__":
    time.clock()
    ot = OpenTypeFont("texgyretermes-regular.otf")
    ot2 = OpenTypeFont("Cuprum.otf")
    ot3 = OpenTypeFont("Puritan2.otf")

    print(ot.get_kerning(ot.get_glyph("V"), ot.get_glyph("A")))
    print(ot2.get_kerning(ot2.get_glyph("U"), ot2.get_glyph("A")))
    print(ot.get_ligature(ot.get_glyph("f"), ot.get_glyph("f")))
    print(ot.get_ligature(ot.get_glyph("f"), ot.get_glyph("i")))
    print(ot.get_ligature(ot.get_glyph("f"), ot.get_glyph("i")))
    print(ot.get_glyph("s").code, ot.get_glyph("s", SMALL_CAPITAL).code)
    run_time = time.clock()
    print("Total execution time: {} seconds".format(run_time))
コード例 #8
0
ファイル: opentype.py プロジェクト: rhythmus/rinohtype
import time

from rinoh.font.opentype import OpenTypeFont
from rinoh.font.style import SMALL_CAPITAL

if __name__ == '__main__':
    time.clock()
    ot = OpenTypeFont('texgyretermes-regular.otf')
    ot2 = OpenTypeFont('Cuprum.otf')
    ot3 = OpenTypeFont('Puritan2.otf')

    print(
        ot.metrics.get_kerning(ot.metrics.get_glyph('V'),
                               ot.metrics.get_glyph('A')))
    print(
        ot2.metrics.get_kerning(ot2.metrics.get_glyph('U'),
                                ot2.metrics.get_glyph('A')))
    print(
        ot.metrics.get_ligature(ot.metrics.get_glyph('f'),
                                ot.metrics.get_glyph('f')))
    print(
        ot.metrics.get_ligature(ot.metrics.get_glyph('f'),
                                ot.metrics.get_glyph('i')))
    print(
        ot.metrics.get_ligature(ot.metrics.get_glyph('f'),
                                ot.metrics.get_glyph('i')))
    print(
        ot.metrics.get_glyph('s').code,
        ot.metrics.get_glyph('s', SMALL_CAPITAL).code)
    run_time = time.clock()
    print('Total execution time: {} seconds'.format(run_time))
コード例 #9
0
from os import path

from rinoh.font import Typeface
from rinoh.font.style import REGULAR, BOLD, ITALIC, CONDENSED
from rinoh.font.opentype import OpenTypeFont


__all__ = ['typeface']


def otf(style, variant=''):
    filename = 'texgyreheros{}-{}.otf'.format(variant, style)
    return path.join(path.dirname(__file__), filename)


typeface = Typeface('TeX Gyre Heros',
                    OpenTypeFont(otf('regular'), weight=REGULAR),
                    OpenTypeFont(otf('italic'), weight=REGULAR, slant=ITALIC),
                    OpenTypeFont(otf('bold'), weight=BOLD),
                    OpenTypeFont(otf('bolditalic'), weight=BOLD, slant=ITALIC),
                    OpenTypeFont(otf('regular', 'cn'),
                                 width=CONDENSED, weight=REGULAR),
                    OpenTypeFont(otf('italic', 'cn'),
                                 width=CONDENSED, weight=REGULAR, slant=ITALIC),
                    OpenTypeFont(otf('bold', 'cn'),
                                 width=CONDENSED, weight=BOLD),
                    OpenTypeFont(otf('bolditalic', 'cn'),
                                 width=CONDENSED, weight=BOLD, slant=ITALIC))
コード例 #10
0
from os import path

from rinoh.font import Typeface
from rinoh.font.style import REGULAR, ITALIC, BOLD
from rinoh.font.opentype import OpenTypeFont

__all__ = ['typeface']

# font files were downloaded from https://fontlibrary.org/en/font/carlito


def otf(style):
    filename = 'Carlito-{}.ttf'.format(style)
    return path.join(path.dirname(__file__), filename)


typeface = Typeface('Carlito', OpenTypeFont(otf('Regular'), weight=REGULAR),
                    OpenTypeFont(otf('Italic'), weight=REGULAR, slant=ITALIC),
                    OpenTypeFont(otf('Bold'), weight=BOLD),
                    OpenTypeFont(otf('BoldItalic'), weight=BOLD, slant=ITALIC))
コード例 #11
0
from os import path

from rinoh.font import Typeface
from rinoh.font.style import REGULAR, BOLD, ITALIC, CONDENSED
from rinoh.font.opentype import OpenTypeFont

__all__ = ['typeface']


def otf(style):
    filename = 'DejaVuSerif{}.ttf'.format(style)
    return path.join(path.dirname(__file__), filename)


typeface = Typeface(
    'DejaVu Serif', OpenTypeFont(otf(''), weight=REGULAR),
    OpenTypeFont(otf('-Italic'), weight=REGULAR, slant=ITALIC),
    OpenTypeFont(otf('-Bold'), weight=BOLD),
    OpenTypeFont(otf('-BoldItalic'), weight=BOLD, slant=ITALIC),
    OpenTypeFont(otf('Condensed'), weight=REGULAR, width=CONDENSED),
    OpenTypeFont(otf('Condensed-Italic'),
                 weight=REGULAR,
                 slant=ITALIC,
                 width=CONDENSED),
    OpenTypeFont(otf('Condensed-Bold'), weight=BOLD, width=CONDENSED),
    OpenTypeFont(otf('Condensed-BoldItalic'),
                 weight=BOLD,
                 slant=ITALIC,
                 width=CONDENSED))
コード例 #12
0
ファイル: opentype.py プロジェクト: z00sts/rinohtype
import time

from rinoh.font.opentype import OpenTypeFont
from rinoh.font.style import SMALL_CAPITAL

if __name__ == '__main__':
    time.clock()
    ot = OpenTypeFont('texgyretermes-regular.otf')
    ot2 = OpenTypeFont('Cuprum.otf')
    ot3 = OpenTypeFont('Puritan2.otf')

    print(ot.get_kerning(ot.get_glyph('V'), ot.get_glyph('A')))
    print(ot2.get_kerning(ot2.get_glyph('U'), ot2.get_glyph('A')))
    print(ot.get_ligature(ot.get_glyph('f'), ot.get_glyph('f')))
    print(ot.get_ligature(ot.get_glyph('f'), ot.get_glyph('i')))
    print(ot.get_ligature(ot.get_glyph('f'), ot.get_glyph('i')))
    print(ot.get_glyph('s').code, ot.get_glyph('s', SMALL_CAPITAL).code)
    run_time = time.clock()
    print('Total execution time: {} seconds'.format(run_time))
コード例 #13
0
from os import path

from rinoh.font import Typeface
from rinoh.font.style import REGULAR, BOLD
from rinoh.font.opentype import OpenTypeFont

__all__ = ['typeface']


def otf(style):
    filename = 'notosanscjkjp-{}.otf'.format(style)
    return path.join(path.dirname(__file__), filename)


typeface = Typeface('Noto Sans CJK JP',
                    OpenTypeFont(otf('regular'), weight=REGULAR),
                    OpenTypeFont(otf('bold'), weight=BOLD))
コード例 #14
0
ファイル: rst.py プロジェクト: rhythmus/rinohtype
from docutils.core import publish_doctree, publish_from_doctree

import rinoh as rt

from rinoh.font import TypeFace, TypeFamily
from rinoh.font.style import REGULAR, BOLD, ITALIC
from rinoh.font.type1 import Type1Font
from rinoh.font.opentype import OpenTypeFont
from rinoh.dimension import PT, CM, INCH
from rinoh.backend import pdf
from rinoh.frontend.xml import element_factory
from rinoh.util import all_subclasses

import rinoh.frontend.xml.elementtree as xml_frontend

pagella_regular = OpenTypeFont("../fonts/texgyrepagella-regular.otf",
                               weight=REGULAR)
pagella_italic = OpenTypeFont("../fonts/texgyrepagella-italic.otf",
                              weight=REGULAR,
                              slant=ITALIC)
pagella_bold = OpenTypeFont("../fonts/texgyrepagella-bold.otf", weight=BOLD)
pagella_bold_italic = OpenTypeFont("../fonts/texgyrepagella-bolditalic.otf",
                                   weight=BOLD,
                                   slant=ITALIC)

pagella = TypeFace("TeXGyrePagella", pagella_regular, pagella_italic,
                   pagella_bold, pagella_bold_italic)
cursor_regular = Type1Font("../fonts/qcrr", weight=REGULAR)
cursor = TypeFace("TeXGyreCursor", cursor_regular)

fontFamily = TypeFamily(serif=pagella, mono=cursor)