コード例 #1
0
    letter = consonant_class(se.Normal, be.Normal)
    letter_paper = draw_letter(
        letter,
        mode,
        fixed_width=27.0,
        show_template=True,
    )
    letter_paper.translate((5, 0), bounds=False)

    p = Pen()
    p.move_to((-5, 0))
    p.text(
        convert_ascii_to_html(consonant_class.pronunciation),
        8.0,
        'Caudex',
        '#233042',
        centered=True,
    )
    letter_paper.merge(p.paper)
    papers.append(letter_paper)

page = typeset(
    papers,
    letter_spacing=1.0,
    letters_per_line=6,
    line_spacing=3.5,
    page_margin=5.0,
)

print(page.format_svg(4, resolution=1000 / page.bounds().width))
コード例 #2
0
from ithkuil.writing.bottom_ending import bottom_endings
from ithkuil.writing.side_ending import side_endings
from ithkuil.writing.typeset import typeset, draw_letter


#DEBUG redefinition of parts lists for testing.
import ithkuil.writing.consonant as cons
import ithkuil.writing.side_ending as se
import ithkuil.writing.bottom_ending as be


letters = [
    cons.Q(se.DiagonalDownRightOnTop, be.HookLeftOnRight),
    cons.CHacekStop(se.HookRightOnBottom, be.AcuteFold),
]

papers = []
for letter in letters:
    for width in (0.4, 0.6, 0.8, 1.0, 1.2, 1.4):
        mode = StrokeMode(width)
        papers.append(draw_letter(letter, mode))

page = typeset(
    papers,
    letter_spacing=2.0,
    letters_per_line=6,
    line_spacing=1.0,
    page_margin=5.0,
)
print(page.format_svg(6))
コード例 #3
0
    paper.merge(slanted_paper)
    paper.center_on_x(0)
    papers.append(paper)

    # Draw the bottom line on each sheet.
    bounds = paper.bounds()
    pen = Pen()
    pen.stroke_mode(0.05, gray)
    pen.move_to((bounds.left - 2, BOTTOM))
    pen.line_to((bounds.right + 2, BOTTOM))
    paper.merge_under(pen.paper)

# Make the papers fixed width.
max_width = max(paper.bounds().width for paper in papers)
for paper in papers:
    bounds = paper.bounds()
    bounds.left = -max_width / 2
    bounds.right = max_width / 2
    paper.override_bounds(bounds)

page = typeset(
    papers,
    letter_spacing=2.0,
    letters_per_line=5,
    #line_width=100,
    line_spacing=3.0,
    page_margin=5.0,
)
print(page.format_svg(4, resolution=30))
#page.format_svg()
コード例 #4
0
import ithkuil.writing.side_ending as se
import ithkuil.writing.bottom_ending as be
consonants = [c for c in consonants if not c.mirrored_x]

letters = []
for consonant_class in consonants:
    letters.append(consonant_class(se.SideAll, be.BottomAll))

papers = []
for width in [0.6, 1.0, 1.2]:
    mode = StrokeMode(width)
    for letter in letters:
        papers.append(draw_letter(
            letter,
            mode,
            fixed_width=10.0,
            show_template=True,
            #show_bounds=True,
            fuse=False,
        ))

page = typeset(
    papers,
    letter_spacing=2.0,
    letters_per_line=len(consonants),
    line_spacing=3.0,
    page_margin=5.0,
)
print(page.format_svg(4, resolution=30))
コード例 #5
0
        pen.move_to((2, 9.5))
    else:
        pen.move_to((2, 11.5))

    text = '{} {}'.format(
        letter.side_ending_class.pattern,
        letter.side_ending_class.stem,
    )
    pen.text(text, font_size, font, gray, centered=True)

    papers.append(paper)

page = typeset(
    papers,
    letter_spacing=4.0,
    letters_per_line=9,
    line_spacing=5.0,
    page_margin=5.0,
)

# Add row text.
page_bounds = page.bounds()
pen = Pen()
pen.paper = page
page_x_center = (page_bounds.left + page_bounds.right) / 2
pen.move_to((page_x_center, -3.0))
pen.text('Unframed Relation', font_size, font, gray, centered=True)
pen.move_to((page_x_center, -23.0))
pen.text('Framed Relation', font_size, font, gray, centered=True)

print(page.format_svg(4, resolution=1000 / page.bounds().width))
コード例 #6
0
ファイル: hook_test.py プロジェクト: christian-oudard/ithkuil
        adjust_outside=adjust_outside,
    )


papers = []

distance = 5.0
for slant_angle in [60, -60, 120, -120]:
    for arc_angle in [75, -75]:
        for adjust_inside in [0, 30]:
            for adjust_outside in [0, 10]:
                pen = get_pen()
                draw(
                    pen,
                    slant_angle,
                    arc_angle,
                    distance,
                    adjust_inside,
                    adjust_outside,
                )
                papers.append(pen.paper)

page = typeset(
    papers,
    letter_spacing=2.0,
    letters_per_line=4,
    #line_spacing=2.0,
    page_margin=5.0,
)
print(page.format_svg(6, resolution=30))
コード例 #7
0
from canoepaddle import StrokeMode
from ithkuil.writing.consonant import consonants
from ithkuil.writing.typeset import typeset, draw_letter

import ithkuil.writing.side_ending as se
import ithkuil.writing.bottom_ending as be

consonants = [c for c in consonants if not c.mirrored_x]

letters = []
for consonant_class in consonants:
    letters.append(consonant_class(se.SideAll, be.BottomAll))

papers = []
for width in [0.6, 1.0, 1.2]:
    mode = StrokeMode(width)
    for letter in letters:
        papers.append(
            draw_letter(
                letter,
                mode,
                fixed_width=10.0,
                show_template=True,
                # show_bounds=True,
                fuse=False,
            )
        )

page = typeset(papers, letter_spacing=2.0, letters_per_line=len(consonants), line_spacing=3.0, page_margin=5.0)
print(page.format_svg(4, resolution=30))
コード例 #8
0
    else:
        pen.move_to((2, 11.5))

    text = '{} {}'.format(
        letter.side_ending_class.pattern,
        letter.side_ending_class.stem,
    )
    pen.text(text, font_size, font, gray, centered=True)

    papers.append(paper)


page = typeset(
    papers,
    letter_spacing=4.0,
    letters_per_line=9,
    line_spacing=5.0,
    page_margin=5.0,
)

# Add row text.
page_bounds = page.bounds()
pen = Pen()
pen.paper = page
page_x_center = (page_bounds.left + page_bounds.right) / 2
pen.move_to((page_x_center, -3.0))
pen.text('Unframed Relation', font_size, font, gray, centered=True)
pen.move_to((page_x_center, -23.0))
pen.text('Framed Relation', font_size, font, gray, centered=True)

print(page.format_svg(4, resolution=1000 / page.bounds().width))