% Copyright 2003-2005 Han The Thanh . % This file is part of vntex. License: LPPL, version 1.3 or newer, % according to http://www.latex-project.org/lppl.txt % Computer Modern Roman lower case "a" precomposed glyphs: % Inclusion: % a' a` a? a~ a. % a( a(' a(` a(? a(~ a(. % a^ a^' a^` a^? a^~ a^. begin_letter(a); bh# := min(bar_height#, 1.14x_height# - bar_height#); define_pixels(bh); set_letter_dimens(a)( 9u#, x_height#, 0, 1/3[bh#, x_height#] * slant + .5stem# - serif_fit# - 2u#, 0, serif_fit# if serifs: if hair# + .5stem# > 1.5u#: -.25u# fi\\fi ); pickup fine.nib; top y3r = h+vround 1.5oo; if serifs: pos1(flare, 180); pos2(hair, 180); pos3(vair, 90); lft x1r = hround max(u, 2.1u - .5flare); x3 = .5w - .5u; y1 = min(bh + .5flare + 2vair + 2, .9[bh, h] - .5flare); bulb(3, 2, 1); % bulb else: pos1(5/7[vair, flare], 95); x1l = good.x 1.5u; x1r := good.x x1r; pos3(1/8[vair, thin_join], 90); x3 = .5w - .2u; top y1r = vround .82[bh, top y3r]; filldraw stroke term.e(3, 1, left, .9, 4); fi % terminal pos4(stem, 0); rt x4r = hround(w - 2.5u + .5stem); y4 = 1/3[bh, h]; pos5(stem, 0); x5 = x4; y5 = max(.55bh, 2vair); filldraw stroke super_arc.e(3, 4)&z4e .. z5e; % arc and stem pos6(.3[thin_join, vair], 90); x6 = x4; bot y6 = bh; pos7(hround(curve - 2stem_corr), 180); lft x7r = hround max(.5u, 1.5u - .5curve); y7 = 1/3[top y8l, top y6r]; pos8(vair, 270); x8l = .5w - .75u; bot y8r=-oo; pos9(thin_join, 360); z9l = z5l; (x, y8r) = whatever[z8l, z9l]; x8r := max(x, x8 - u); {{interim superness := more_super; filldraw stroke z9e{down} ... z8e{left} ... {up}z7e&super_arc.e(7, 6)}}; % bowl if serifs: numeric shaved_stem; shaved_stem = hround(stem - 3stem_corr); if hair# + .5stem# > 1.5u#: pickup tiny.nib; pos5'(shaved_stem, 0); rt x5'r = fine.rt x5r; y5' = y5; pos10(shaved_stem, 0); x10 = x5'; y10 = .2[.5tiny, bh]; pos11(shaved_stem, 0); rt x11r = hround(w - .25u); bot y11 = 0; pos12(shaved_stem, 0); x11 = x12; top y12 = slab + eps; filldraw z5'l --- z10l ... z11l{right} -- z11r -- z12r{left} ... z10r + .75(z12 - z11) --- z5'r -- cycle; % foot else: pickup crisp.nib; pos5'(shaved_stem, 0); rt x5'r = fine.rt x5r; y5' = y5; pos10(shaved_stem, 0); x10 = x5'; y10 = 1/3bh; pos11(.2[vair, stem], 90); x11r = .5[x10r, x12r]; bot y11l=-vround .5oo; pos12(hair, 180); rt x12l = hround(w - .1u); y12 = max(y10, y11 + vair); pos13(hair, 180); x13 = x12; top y13 = max(vround .6bh, top y12); (x', y11l) = whatever[z11r, z12r]; x11l := max(x', x10); filldraw stroke z5'e --- z10e ... z11e{right} ... z12e --- z13e; fi % hook else: numeric shaved_stem; shaved_stem = hround(stem - stem_corr); pickup tiny.nib; pos5'(shaved_stem, 0); rt x5'r = fine.rt x5r; y5' = y5; pos10(shaved_stem, 0); x10 = x5'; bot y10 = 0; filldraw stroke z5'e -- z10e; fi % base of stem set_letter_join(a, x3 if serifs: + .25u fi, .5w#); penlabels(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13); end_letter; input vnacomp; endinput;