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))
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))
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()
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))
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))
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))
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))
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))