diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 23:38:21 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 23:38:21 +0000 |
commit | 215012a8d684889983ec2c0629e1c704e6853d9c (patch) | |
tree | ebf1271bd71869069824935ae8a5678745bf8bce /Master/texmf-dist/fonts/source/public/lfb/accents.mf | |
parent | 1af3d19d6dbcbf309667d9cb4aa3cdda914914a9 (diff) |
trunk/Master/texmf-dist/fonts/source
git-svn-id: svn://tug.org/texlive/trunk@101 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/lfb/accents.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/lfb/accents.mf | 670 |
1 files changed, 670 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/lfb/accents.mf b/Master/texmf-dist/fonts/source/public/lfb/accents.mf new file mode 100644 index 00000000000..5290e9271af --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/lfb/accents.mf @@ -0,0 +1,670 @@ + + %% accents.mf + %% Copyright 2005 Laurie Field + % + % This work is LFB, version 1.0. + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2003/12/01 or later. + % + % This work has the LPPL maintenance status "maintained". + % + % This Current Maintainer of this work is Laurie Field. + % + % This work consists of the files: + % + % example.tex + % lfbacc.tex + % + % accents.mf + % alpha.mf + % beta.mf + % capitals.mf + % charmap.mf + % delta.mf + % epsilon.mf + % eta.mf + % gamma.mf + % iota.mf + % kappa.mf + % khi.mf + % lambda.mf + % lfb.mf + % lfb5.mf + % lfb6.mf + % lfb7.mf + % lfb8.mf + % lfb9.mf + % lfb10.mf + % lfb11.mf + % lfb12.mf + % lfbb5.mf + % lfbb6.mf + % lfbb7.mf + % lfbb8.mf + % lfbb9.mf + % lfbb10.mf + % lfbb11.mf + % lfbb12.mf + % ligature.mf + % mu.mf + % nu.mf + % omega.mf + % omikron.mf + % others.mf + % phi.mf + % pi.mf + % psi.mf + % rho.mf + % serifs.mf + % sigma.mf + % sigmafin.mf + % tau.mf + % theta.mf + % upsilon.mf + % xi.mf + % zeta.mf + % + % and the derived files: + % + % lfb5.tfm + % lfb6.tfm + % lfb7.tfm + % lfb8.tfm + % lfb9.tfm + % lfb10.tfm + % lfb11.tfm + % lfb12.tfm + % lfbb5.tfm + % lfbb6.tfm + % lfbb7.tfm + % lfbb8.tfm + % lfbb9.tfm + % lfbb10.tfm + % lfbb11.tfm + % lfbb12.tfm + % + % lfb5.600pk + % lfb6.600pk + % lfb7.600pk + % lfb8.600pk + % lfb9.600pk + % lfb10.600pk + % lfb11.600pk + % lfb12.600pk + % lfbb5.600pk + % lfbb6.600pk + % lfbb7.600pk + % lfbb8.600pk + % lfbb9.600pk + % lfbb10.600pk + % lfbb11.600pk + % lfbb12.600pk + % + +% Every character that wishes to use these accents should +% define accent_centre (numeric) to be the x coordinate +% around which the accent should be centred. + + +def acc_smooth = + penpos101(thick, 90); + penpos102(medthin, 0); + penpos103(thin, -90); + z100=z101+(4/3(z101l-z101) rotated -60); + y103r=x_height+.85u; + y102=y103l+.85u; + y101l=y102+.7u; + x100=accent_centre-1/2breathingwidth; + x102r=x100+breathingwidth; + x103=x100+1/3breathingwidth; + fill z100..z101l..z102l..{dir -150}z103l + --z103r{dir 30}..z102r..{left}z101r..cycle; +enddef; + + +def acc_rough = + penpos111(thick, -90); + penpos112(medthin, 0); + penpos113(thin, 90); + z110=z111+(4/3(z111l-z111) rotated -120); + y113l=x_height+.85u; + y112=y113r+.85u; + y111r=y112+.7u; + x110=x112l+breathingwidth; + x112l=accent_centre-1/2breathingwidth; + x113=x112l+2/3breathingwidth; + fill z110..z111l..z112l..{dir -30}z113l + --z113r{dir 150}..z112r..{right}z111r..cycle; +enddef; + + +def acc_acute = + penpos121(thick, acuteangle-90); + penpos122(thin, acuteangle-90); + z120=z121+((z121l-z121) rotated -90); + z123=z122+((z122l-z122) rotated 90); + y123=x_height+.85u; + y120=y123+1.55u+thick+thin; + x122=accent_centre; + z310=dir acuteangle; + (x121-x122)/x310=(y121-y122)/y310; + fill z120..z121l---z122l..z123..z122r---z121r..cycle; +enddef; + + +def acc_grave = + penpos131(thick, graveangle-90); + penpos132(thin, graveangle-90); + z130=z131+((z131l-z131) rotated -90); + z133=z132+((z132l-z132) rotated 90); + y133=x_height+.85u; + y130=y133+1.55u+thick+thin; + x132=accent_centre; + z310=dir graveangle; + (x131-x132)/x310=(y131-y132)/y310; + fill z130..z131l---z132l..z133..z132r---z131r..cycle; +enddef; + + +def acc_circ = + penpos141(thin, 80); + penpos142(medium, 90); + penpos143(medium, 90); + penpos144(thin, 80); + y141l=x_height+thick; + y143l=y141l+tiny; + y142l=y141l+medium; + y144r=y142r+tiny; + x141=accent_centre-1/2circwidth; + x144=accent_centre+1/2circwidth; + x142=1/4[x141, x144]; + x143=3/4[x141, x144]; + penstroke z141e..z142e..z143e..z144e; +enddef; + + +def mini_circ = + penpos141(thin, 80); + penpos142(medium, 90); + penpos143(medium, 90); + penpos144(thin, 80); + y141l=x_height+4u; + y143l=y141l+tiny; + y142l=y141l+medium; + y144r=y142r+tiny; + x141=accent_centre-1/2circwidth; + x144=accent_centre+1/2circwidth; + x142=1/4[x141, x144]; + x143=3/4[x141, x144]; + penstroke z141e..z142e..z143e..z144e; +enddef; + + +def acc_smoothacute = + accent_centre:=accent_centre-breathingwidth/2-tiny; + acc_smooth; + accent_centre:=accent_centre+breathingwidth/2+medium; + acc_acute; +enddef; + + +def acc_smoothgrave = + accent_centre:=accent_centre-breathingwidth/2-tiny; + acc_smooth; + accent_centre:=accent_centre+breathingwidth/2+2u; + + penpos131(thick, graveangle-100); + penpos132(thin, graveangle-100); + z130=z131+((z131l-z131) rotated -90); + z133=z132+((z132l-z132) rotated 90); + y133=x_height+.85u; + y130=y133+1.55u+thick+thin; + x132=accent_centre; + z310=dir (graveangle-10); + (x131-x132)/x310=(y131-y132)/y310; + fill z130..z131l---z132l..z133..z132r---z131r..cycle; +enddef; + + +def acc_smoothcirc = + numeric rc; + rc := 5/6; + penpos101(rc*thick, 90); + penpos102(rc*medthin, 0); + penpos103(rc*thin, -90); + z100=z101+(4/3(z101l-z101) rotated -60); + y103r=x_height+.85u; + y102=y103l+rc*.85u; + y101l=y102+rc*.7u; + x100=accent_centre-rc*1/2breathingwidth; + x102r=x100+rc*breathingwidth; + x103=x100+rc*1/3breathingwidth; + fill z100..z101l..z102l..{dir -150}z103l + --z103r{dir 30}..z102r..{left}z101r..cycle; + + mini_circ; +enddef; + + +def acc_roughacute = + accent_centre:=accent_centre-breathingwidth/2-tiny; + acc_rough; + accent_centre:=accent_centre+breathingwidth/2+medium; + acc_acute; +enddef; + + +def acc_roughgrave = + accent_centre:=accent_centre-breathingwidth/2-tiny; + acc_rough; + accent_centre:=accent_centre+breathingwidth/2+2u; + + penpos131(thick, graveangle-100); + penpos132(thin, graveangle-100); + z130=z131+((z131l-z131) rotated -90); + z133=z132+((z132l-z132) rotated 90); + y133=x_height+.85u; + y130=y133+1.55u+thick+thin; + x132=accent_centre; + z310=dir (graveangle-10); + (x131-x132)/x310=(y131-y132)/y310; + fill z130..z131l---z132l..z133..z132r---z131r..cycle; +enddef; + + +def acc_roughcirc = + numeric rc; + rc := 5/6; + penpos111(rc*thick, -90); + penpos112(rc*medthin, 0); + penpos113(rc*thin, 90); + z110=z111+(4/3(z111l-z111) rotated -120); + y113l=x_height+.85u; + y112=y113r+rc*.85u; + y111r=y112+rc*.7u; + x110=x112l+rc*breathingwidth; + x112l=accent_centre-rc*1/2breathingwidth; + x113=x112l+rc*2/3breathingwidth; + fill z110..z111l..z112l..{dir -30}z113l + --z113r{dir 150}..z112r..{right}z111r..cycle; + + mini_circ; +enddef; + + +def acc_diaer = + numeric diameter; + diameter=6/7quotewidth; + + x151 = x152+1/2diameter = x153 = x154-1/2diameter + = accent_centre - 1.5u; + x155 = x156+1/2diameter = x157 = x158-1/2diameter + = accent_centre + 1.5u; + y151-1/2diameter = y152 = y153+1/2diameter = y154 + = y155-1/2diameter = y156 = y157+1/2diameter = y158 + = x_height+2u; + + fill z151..z152..z153..z154..cycle; + fill z155..z156..z157..z158..cycle; +enddef; + + +def acc_diaeracute = + numeric diameter; + diameter=6/7quotewidth; + + x151 = x152+1/2diameter = x153 = x154-1/2diameter + = accent_centre - 2u; + x155 = x156+1/2diameter = x157 = x158-1/2diameter + = accent_centre + 2u; + y151-1/2diameter = y152 = y153+1/2diameter = y154 + = y155-1/2diameter = y156 = y157+1/2diameter = y158 + = x_height+2u; + + fill z151..z152..z153..z154..cycle; + fill z155..z156..z157..z158..cycle; + + penpos121(thick, acuteangle-90); + penpos122(thin, acuteangle-90); + z120=z121+((z121l-z121) rotated -90); + z123=z122+((z122l-z122) rotated 90); + y123=x_height+.85u; + y120=y123+1.55u+thick+thin; + x122=accent_centre-.5u; + z310=dir acuteangle; + (x121-x122)/x310=(y121-y122)/y310; + fill z120..z121l---z122l..z123..z122r---z121r..cycle; +enddef; + + +def acc_diaergrave = + numeric diameter; + diameter=quotewidth; + + x151 = x152+1/2diameter = x153 = x154-1/2diameter + = accent_centre - 2u; + x155 = x156+1/2diameter = x157 = x158-1/2diameter + = accent_centre + 2u; + y151-1/2diameter = y152 = y153+1/2diameter = y154 + = y155-1/2diameter = y156 = y157+1/2diameter = y158 + = x_height+2u; + + fill z151..z152..z153..z154..cycle; + fill z155..z156..z157..z158..cycle; + + penpos131(thick, graveangle-90); + penpos132(thin, graveangle-90); + z130=z131+((z131l-z131) rotated -90); + z133=z132+((z132l-z132) rotated 90); + y133=x_height+.85u; + y130=y133+1.55u+thick+thin; + x132=accent_centre+.5u; + z310=dir graveangle; + (x131-x132)/x310=(y131-y132)/y310; + fill z130..z131l---z132l..z133..z132r---z131r..cycle; +enddef; + + +def acc_breve = + penpos161(thin, 0); + penpos162(medium, 90); + penpos163(thin, 180); + + y161=y163=ascender; + y162l=x_height+1u; + x161l=x162-1/2circwidth; + x163l=x162+1/2circwidth; + x162=accent_centre; + + penstroke z161e{down}..z162e..{up}z163e; +enddef; + + +def acc_macron = + penpos171(medium, 90); + penpos172(medium, 90); + + y171l=y172l=x_height+1.2u; + x171=accent_centre-1/2circwidth; + x172=accent_centre+1/2circwidth; + + penstroke z171e--z172e; +enddef; + + +def acc_iotasub = + penpos181(medium, 0); + penpos182(medium, 0); + penpos183(medthin, 90); + + x181=x182=accent_centre; + x183=x182r+tiny; + y181=0-medthin; + y182=y183r+tiny; + y183l=0-descender-thin; + z184=z183+((z183l-z183) rotated 120); + + fill z181l---z182l..z183l..z184..z183r..z182r---z181r--cycle; +enddef; + + + +width#:=breathingwidth#; +extra#:=2letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_smooth; +enddef; + +beginchar(smooth, width#+extra#, ascender#, 0); +gen_letter; penlabels(100,101,102,103); +endchar; + + +width#:=breathingwidth#; +extra#:=2letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_rough; +enddef; + +beginchar(rough, width#+extra#, ascender#, 0); +gen_letter; penlabels(110,111,112,113); +endchar; + + +width#:=3u#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width-1u; + acc_acute; +enddef; + +beginchar(acute, width#+extra#, ascender#, 0); +gen_letter; penlabels(120,121,122,123); +endchar; + + +width#:=3u#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_grave; +enddef; + +beginchar(grave, width#+extra#, ascender#, 0); +gen_letter; penlabels(130,131,132,133); +endchar; + + +width#:=circwidth#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_circ; +enddef; + +beginchar(circ, width#+extra#, ascender#, 0); +gen_letter; penlabels(140,141,142,143,144); +endchar; + + +width#:=1.5u#+2thin#+breathingwidth#; +extra#:=2letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_smoothacute; +enddef; + +beginchar(smoothacute, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=1.5u#+2thin#+breathingwidth#; +extra#:=2letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_smoothgrave; +enddef; + +beginchar(smoothgrave, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=3/4circwidth#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_smoothcirc; +enddef; + +beginchar(smoothcirc, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=1.5u#+2thin#+breathingwidth#; +extra#:=2letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_roughacute; +enddef; + +beginchar(roughacute, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=1.5u#+2thin#+breathingwidth#; +extra#:=2letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_roughgrave; +enddef; + +beginchar(roughgrave, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=3/4circwidth#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_roughcirc; +enddef; + +beginchar(roughcirc, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=quotewidth#+3u#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_diaer; +enddef; + +beginchar(diaer, width#+extra#, ascender#, 0); +gen_letter; penlabels(151,152,153,154,155,156,157,158); +endchar; + + +width#:=quotewidth#+4u#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_diaeracute; +enddef; + +beginchar(diaeracute, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=quotewidth#+4u#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_diaergrave; +enddef; + +beginchar(diaergrave, width#+extra#, ascender#, 0); +gen_letter; +endchar; + + +width#:=circwidth#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_breve; +enddef; + +beginchar(breve, width#+extra#, ascender#-macronbreveshorter#, 0); +gen_letter; penlabels(161,162,163); +endchar; + + +width#:=circwidth#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_macron; +enddef; + +beginchar(macron, width#+extra#, ascender#-macronbreveshorter#, 0); +gen_letter; penlabels(171,172); +endchar; + + +width#:=2u#; +extra#:=1letterspace#; +define_pixels(width, extra); + +def gen_letter = + numeric accent_centre; + accent_centre=1/2width; + acc_iotasub; +enddef; + +beginchar(iotasub, width#+extra#, 0, descender#); +gen_letter; penlabels(181,182,183,184); +endchar; |