diff options
author | Karl Berry <karl@freefriends.org> | 2011-11-10 00:00:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-11-10 00:00:57 +0000 |
commit | 89c7aec2b8cf45fdb7baba8fc6a92b81b9628194 (patch) | |
tree | 2d47f0f892ff6c8a90a72a341b565d1218cc528c /Master/texmf-dist/fonts | |
parent | 1698db87ceb447239a8f90a00df8b1f0dc1d977d (diff) |
frcursive (9nov11)
git-svn-id: svn://tug.org/texlive/trunk@24559 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts')
108 files changed, 806 insertions, 1037 deletions
diff --git a/Master/texmf-dist/fonts/map/dvips/frcursive/frcursive.map b/Master/texmf-dist/fonts/map/dvips/frcursive/frcursive.map new file mode 100644 index 00000000000..4e7c7c6297f --- /dev/null +++ b/Master/texmf-dist/fonts/map/dvips/frcursive/frcursive.map @@ -0,0 +1,23 @@ +frcr6 frcr6 <frcr6.pfb +frcsl6 frcsl6 <frcsl6.pfb +frcbx6 frcbx6 <frcbx6.pfb +frcslbx6 frcslbx6 <frcslbx6.pfb +frcc6 frcc6 <frcc6.pfb +frcslc6 frcslc6 <frcslc6.pfb +frcf6 frcf6 <frcf6.pfb +frcr10 frcr10 <frcr10.pfb +frcsl10 frcsl10 <frcsl10.pfb +frcbx10 frcbx10 <frcbx10.pfb +frcslbx10 frcslbx10 <frcslbx10.pfb +frcc10 frcc10 <frcc10.pfb +frcslc10 frcslc10 <frcslc10.pfb +frcf10 frcf10 <frcf10.pfb +frcr14 frcr14 <frcr14.pfb +frcsl14 frcsl14 <frcsl14.pfb +frcbx14 frcbx14 <frcbx14.pfb +frcslbx14 frcslbx14 <frcslbx14.pfb +frcc14 frcc14 <frcc14.pfb +frcslc14 frcslc14 <frcslc14.pfb +frcf14 frcf14 <frcf14.pfb +frca10 frca10 <frca10.pfb +frcw10 frcw10 <frcw10.pfb diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frca10.mf b/Master/texmf-dist/fonts/source/public/frcursive/frca10.mf deleted file mode 100644 index c80c3716798..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frca10.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the regular "academic" variant - -font_identifier := "FCA"; -font_size 10 pt#; - -mode_setup; - -ex# := 155.0/36 pt#; -med# := 0.4 pt#; -thin# := 0.2 pt#; -thick# := 0.6 pt#; -dot_size# := 0.8 pt#; - -base_width := .800; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 3; -uc_ascend := 3; -straight_descend := 1; -loop_descend := 2; -dot_height := 1.8; -accent_bot := 1.6; -accent_top := 2; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcbx11.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcbx11.mf deleted file mode 100644 index c9782baaa06..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcbx11.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the bold extended variant - -font_identifier := "FRCBX"; -font_size 10.95 pt#; - -mode_setup; - -ex# := 169.725/36 pt#; -med# := .602 pt#; -thin# := .219 pt#; -thick# := .876 pt#; -dot_size# := 1.368 pt#; - -base_width := .886; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcbx12.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcbx12.mf deleted file mode 100644 index 6fbc0bf2f0d..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcbx12.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the bold extended variant - -font_identifier := "FRCBX"; -font_size 12 pt#; - -mode_setup; - -ex# := 186.0/36 pt#; -med# := .660 pt#; -thin# := .240 pt#; -thick# := .960 pt#; -dot_size# := 1.500 pt#; - -base_width := .873; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcbx17.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcbx17.mf deleted file mode 100644 index 6eb839a8006..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcbx17.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the bold extended variant - -font_identifier := "FRCBX"; -font_size 17.28 pt#; - -mode_setup; - -ex# := 267.840/36 pt#; -med# := .950 pt#; -thin# := .345 pt#; -thick# := 1.382 pt#; -dot_size# := 2.160 pt#; - -base_width := .821; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcbx7.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcbx6.mf index 0aeca1a64a8..038da377665 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcbx7.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcbx6.mf @@ -2,17 +2,17 @@ %%% This is a parameter file for the bold extended variant font_identifier := "FRCBX"; -font_size 7 pt#; +font_size 6 pt#; mode_setup; -ex# := 108.5/36 pt#; -med# := .385 pt#; -thin# := .140 pt#; -thick# := .560 pt#; -dot_size# := .875 pt#; +ex# := 93.0/36 pt#; +med# := .330 pt#; +thin# := .120 pt#; +thick# := .480 pt#; +dot_size# := .750 pt#; -base_width := .955; +base_width := .980; slant := 0; accent_wd := 0.7; link_width := 0.13; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcbx8.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcbx8.mf deleted file mode 100644 index 083bda741e2..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcbx8.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the bold extended variant - -font_identifier := "FRCBX"; -font_size 8 pt#; - -mode_setup; - -ex# := 124.0/36 pt#; -med# := .440 pt#; -thin# := .160 pt#; -thick# := .640 pt#; -dot_size# := 1.000 pt#; - -base_width := .934; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcbx9.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcbx9.mf deleted file mode 100644 index 43395b75b7b..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcbx9.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the bold extended variant - -font_identifier := "FRCBX"; -font_size 9 pt#; - -mode_setup; - -ex# := 139.5/36 pt#; -med# := .495 pt#; -thin# := .180 pt#; -thick# := .720 pt#; -dot_size# := 1.125 pt#; - -base_width := .915; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcc11.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcc11.mf deleted file mode 100644 index 4b938130358..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcc11.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the calligraphic variant - -font_identifier := "FRCC"; -font_size 10.95 pt#; - -mode_setup; - -ex# := 169.725/36 pt#; -med# := .328 pt#; -thin# := .219 pt#; -thick# := .876 pt#; -dot_size# := .876 pt#; - -base_width := .788; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcc12.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcc6.mf index f83a3509f5c..b748a0b4963 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcc12.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcc6.mf @@ -2,17 +2,17 @@ %%% This is a parameter file for the calligraphic variant font_identifier := "FRCC"; -font_size 12 pt#; +font_size 6 pt#; mode_setup; -ex# := 186.0/36 pt#; -med# := .360 pt#; -thin# := .240 pt#; -thick# := .960 pt#; -dot_size# := .960 pt#; +ex# := 93.0/36 pt#; +med# := .180 pt#; +thin# := .120 pt#; +thick# := .480 pt#; +dot_size# := .480 pt#; -base_width := .776; +base_width := .871; slant := 0; accent_wd := 0.7; link_width := 0.13; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcf10.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcf10.mf index 592b3275295..c6398deaac7 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcf10.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcf10.mf @@ -26,6 +26,7 @@ accent_bot := 1.2; accent_top := 1.6; cedilla_dp = 0.2; +boolean fixed; fixed := true; def penstroke text t = begingroup save e; def e = enddef; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcf12.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcf12.mf deleted file mode 100644 index aca99f89a5b..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcf12.mf +++ /dev/null @@ -1,36 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the fixed-thickness variant - -font_identifier := "FRCF"; -font_size 12 pt#; - -mode_setup; - -ex# := 186.0/36 pt#; -med# := .480 pt#; -thin# := .480 pt#; -thick# := .480 pt#; -dot_size# := .960 pt#; - -base_width := .776; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -def penstroke text t = - begingroup - save e; def e = enddef; - draw t withpen pencircle scaled med; - endgroup -enddef; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcf14.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcf14.mf index aebb69a256d..da9cd81d938 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcf14.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcf14.mf @@ -26,6 +26,7 @@ accent_bot := 1.2; accent_top := 1.6; cedilla_dp = 0.2; +boolean fixed; fixed := true; def penstroke text t = begingroup save e; def e = enddef; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcf11.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcf6.mf index 9eb36c80d22..28e2a4310ad 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcf11.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcf6.mf @@ -2,17 +2,17 @@ %%% This is a parameter file for the fixed-thickness variant font_identifier := "FRCF"; -font_size 10.95 pt#; +font_size 6 pt#; mode_setup; -ex# := 169.725/36 pt#; -med# := .438 pt#; -thin# := .438 pt#; -thick# := .438 pt#; -dot_size# := .876 pt#; +ex# := 93.0/36 pt#; +med# := .240 pt#; +thin# := .240 pt#; +thick# := .240 pt#; +dot_size# := .480 pt#; -base_width := .788; +base_width := .871; slant := 0; accent_wd := 0.7; link_width := 0.13; @@ -26,6 +26,7 @@ accent_bot := 1.2; accent_top := 1.6; cedilla_dp = 0.2; +boolean fixed; fixed := true; def penstroke text t = begingroup save e; def e = enddef; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcr11.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcr11.mf deleted file mode 100644 index 4c51063ecde..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcr11.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the regular variant - -font_identifier := "FRCR"; -font_size 10.95 pt#; - -mode_setup; - -ex# := 169.725/36 pt#; -med# := .438 pt#; -thin# := .219 pt#; -thick# := .657 pt#; -dot_size# := .876 pt#; - -base_width := .788; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcr12.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcr12.mf deleted file mode 100644 index 6d7513db266..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcr12.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the regular variant - -font_identifier := "FRCR"; -font_size 12 pt#; - -mode_setup; - -ex# := 186.0/36 pt#; -med# := .480 pt#; -thin# := .240 pt#; -thick# := .720 pt#; -dot_size# := .960 pt#; - -base_width := .776; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcr17.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcr17.mf deleted file mode 100644 index 41527ce7352..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcr17.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the regular variant - -font_identifier := "FRCR"; -font_size 17.28 pt#; - -mode_setup; - -ex# := 267.840/36 pt#; -med# := .691 pt#; -thin# := .345 pt#; -thick# := 1.036 pt#; -dot_size# := 1.382 pt#; - -base_width := .730; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcr8.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcr6.mf index 784d1a1baa7..a2ed72d6b56 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcr8.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcr6.mf @@ -2,17 +2,17 @@ %%% This is a parameter file for the regular variant font_identifier := "FRCR"; -font_size 8 pt#; +font_size 6 pt#; mode_setup; -ex# := 124.0/36 pt#; -med# := .320 pt#; -thin# := .160 pt#; -thick# := .480 pt#; -dot_size# := .640 pt#; +ex# := 93.0/36 pt#; +med# := .240 pt#; +thin# := .120 pt#; +thick# := .360 pt#; +dot_size# := .480 pt#; -base_width := .830; +base_width := .871; slant := 0; accent_wd := 0.7; link_width := 0.13; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcr7.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcr7.mf deleted file mode 100644 index c75eed11dd6..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcr7.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the regular variant - -font_identifier := "FRCR"; -font_size 7 pt#; - -mode_setup; - -ex# := 108.5/36 pt#; -med# := .280 pt#; -thin# := .140 pt#; -thick# := .420 pt#; -dot_size# := .560 pt#; - -base_width := .849; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcr9.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcr9.mf deleted file mode 100644 index 1cb681b6274..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcr9.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the regular variant - -font_identifier := "FRCR"; -font_size 9 pt#; - -mode_setup; - -ex# := 139.5/36 pt#; -med# := .360 pt#; -thin# := .180 pt#; -thick# := .540 pt#; -dot_size# := .720 pt#; - -base_width := .813; -slant := 0; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcsl12.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcsl12.mf deleted file mode 100644 index b4264aeec7e..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcsl12.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted variant - -font_identifier := "FRCSL"; -font_size 12 pt#; - -mode_setup; - -ex# := 186.0/36 pt#; -med# := .480 pt#; -thin# := .240 pt#; -thick# := .720 pt#; -dot_size# := .960 pt#; - -base_width := .776; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcsl17.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcsl17.mf deleted file mode 100644 index 3b821255628..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcsl17.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted variant - -font_identifier := "FRCSL"; -font_size 17.28 pt#; - -mode_setup; - -ex# := 267.840/36 pt#; -med# := .691 pt#; -thin# := .345 pt#; -thick# := 1.036 pt#; -dot_size# := 1.382 pt#; - -base_width := .730; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcsl9.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcsl6.mf index df0985639c2..19e3af06475 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcsl9.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcsl6.mf @@ -2,17 +2,17 @@ %%% This is a parameter file for the slanted variant font_identifier := "FRCSL"; -font_size 9 pt#; +font_size 6 pt#; mode_setup; -ex# := 139.5/36 pt#; -med# := .360 pt#; -thin# := .180 pt#; -thick# := .540 pt#; -dot_size# := .720 pt#; +ex# := 93.0/36 pt#; +med# := .240 pt#; +thin# := .120 pt#; +thick# := .360 pt#; +dot_size# := .480 pt#; -base_width := .813; +base_width := .871; slant := 0.3; accent_wd := 0.7; link_width := 0.13; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcsl7.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcsl7.mf deleted file mode 100644 index c813750d649..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcsl7.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted variant - -font_identifier := "FRCSL"; -font_size 7 pt#; - -mode_setup; - -ex# := 108.5/36 pt#; -med# := .280 pt#; -thin# := .140 pt#; -thick# := .420 pt#; -dot_size# := .560 pt#; - -base_width := .849; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx11.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslbx11.mf deleted file mode 100644 index 84405e482e3..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx11.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted bold extended variant - -font_identifier := "FRCSLBX"; -font_size 10.95 pt#; - -mode_setup; - -ex# := 169.725/36 pt#; -med# := .602 pt#; -thin# := .219 pt#; -thick# := .876 pt#; -dot_size# := 1.368 pt#; - -base_width := .886; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx12.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslbx12.mf deleted file mode 100644 index 29dad3732ae..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx12.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted bold extended variant - -font_identifier := "FRCSLBX"; -font_size 12 pt#; - -mode_setup; - -ex# := 186.0/36 pt#; -med# := .660 pt#; -thin# := .240 pt#; -thick# := .960 pt#; -dot_size# := 1.500 pt#; - -base_width := .873; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx17.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslbx17.mf deleted file mode 100644 index 061fa88d15d..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx17.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted bold extended variant - -font_identifier := "FRCSLBX"; -font_size 17.28 pt#; - -mode_setup; - -ex# := 267.840/36 pt#; -med# := .950 pt#; -thin# := .345 pt#; -thick# := 1.382 pt#; -dot_size# := 2.160 pt#; - -base_width := .821; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx7.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslbx6.mf index cb34a5f0e4c..96d5bf5d6ec 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx7.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcslbx6.mf @@ -2,17 +2,17 @@ %%% This is a parameter file for the slanted bold extended variant font_identifier := "FRCSLBX"; -font_size 7 pt#; +font_size 6 pt#; mode_setup; -ex# := 108.5/36 pt#; -med# := .385 pt#; -thin# := .140 pt#; -thick# := .560 pt#; -dot_size# := .875 pt#; +ex# := 93.0/36 pt#; +med# := .330 pt#; +thin# := .120 pt#; +thick# := .480 pt#; +dot_size# := .750 pt#; -base_width := .955; +base_width := .980; slant := 0.3; accent_wd := 0.7; link_width := 0.13; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx8.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslbx8.mf deleted file mode 100644 index f1f7e50dca6..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx8.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted bold extended variant - -font_identifier := "FRCSLBX"; -font_size 8 pt#; - -mode_setup; - -ex# := 124.0/36 pt#; -med# := .440 pt#; -thin# := .160 pt#; -thick# := .640 pt#; -dot_size# := 1.000 pt#; - -base_width := .934; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx9.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslbx9.mf deleted file mode 100644 index 07c79e6ee2f..00000000000 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcslbx9.mf +++ /dev/null @@ -1,29 +0,0 @@ -%%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted bold extended variant - -font_identifier := "FRCSLBX"; -font_size 9 pt#; - -mode_setup; - -ex# := 139.5/36 pt#; -med# := .495 pt#; -thin# := .180 pt#; -thick# := .720 pt#; -dot_size# := 1.125 pt#; - -base_width := .915; -slant := 0.3; -accent_wd := 0.7; -link_width := 0.13; -straight_ascend := 2; -loop_ascend := 2.5; -uc_ascend := 2.5; -straight_descend := 1.2; -loop_descend := 1.5; -dot_height := 1.4; -accent_bot := 1.2; -accent_top := 1.6; -cedilla_dp = 0.2; - -input frcursive diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcw10.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslc10.mf index 0df51cdf09f..f524d528050 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcw10.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcslc10.mf @@ -1,21 +1,21 @@ %%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the wide-links variant +%%% This is a parameter file for the slanted calligraphic variant -font_identifier := "FCW"; +font_identifier := "FRCSLC"; font_size 10 pt#; mode_setup; ex# := 155.0/36 pt#; -med# := 0.4 pt#; -thin# := 0.2 pt#; -thick# := 0.6 pt#; -dot_size# := 0.8 pt#; +med# := .300 pt#; +thin# := .200 pt#; +thick# := .800 pt#; +dot_size# := .800 pt#; base_width := .800; -slant := 0; +slant := 0.3; accent_wd := 0.7; -link_width := 0.4; +link_width := 0.13; straight_ascend := 2; loop_ascend := 2.5; uc_ascend := 2.5; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcsl11.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslc14.mf index 26df67a41ce..b97e9a4da4b 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcsl11.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcslc14.mf @@ -1,18 +1,18 @@ %%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted variant +%%% This is a parameter file for the slanted calligraphic variant -font_identifier := "FRCSL"; -font_size 10.95 pt#; +font_identifier := "FRCSLC"; +font_size 14.4 pt#; mode_setup; -ex# := 169.725/36 pt#; -med# := .438 pt#; -thin# := .219 pt#; -thick# := .657 pt#; -dot_size# := .876 pt#; +ex# := 223.20/36 pt#; +med# := .432 pt#; +thin# := .288 pt#; +thick# := 1.152 pt#; +dot_size# := 1.152 pt#; -base_width := .788; +base_width := .754; slant := 0.3; accent_wd := 0.7; link_width := 0.13; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcsl8.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcslc6.mf index b8048d2938c..64048a87139 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcsl8.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcslc6.mf @@ -1,18 +1,18 @@ %%% This file is part of the French Cursive font definition. -%%% This is a parameter file for the slanted variant +%%% This is a parameter file for the slanted calligraphic variant -font_identifier := "FRCSL"; -font_size 8 pt#; +font_identifier := "FRCSLC"; +font_size 6 pt#; mode_setup; -ex# := 124.0/36 pt#; -med# := .320 pt#; -thin# := .160 pt#; +ex# := 93.0/36 pt#; +med# := .180 pt#; +thin# := .120 pt#; thick# := .480 pt#; -dot_size# := .640 pt#; +dot_size# := .480 pt#; -base_width := .830; +base_width := .871; slant := 0.3; accent_wd := 0.7; link_width := 0.13; diff --git a/Master/texmf-dist/fonts/source/public/frcursive/frcursive.mf b/Master/texmf-dist/fonts/source/public/frcursive/frcursive.mf index fa580ca0b1b..f4ab55393c6 100644 --- a/Master/texmf-dist/fonts/source/public/frcursive/frcursive.mf +++ b/Master/texmf-dist/fonts/source/public/frcursive/frcursive.mf @@ -1,12 +1,12 @@ %%%% This is the main source for the French Cursive font. -%%%% © Emanuel Beffara, 2001--2004. This work is covered by the GPL licence. +%%%% (c) Emanuel Beffara, 2001--2011. This work is covered by the LPPL licence. %%%% %%%% You can get a pretty-printed document with the commented source code (and %%%% especially the first page with an explanation of the parameters) by first %%%% running "mft frcursive" to get the TeX source and then compiling the %%%% driver file "fcsource.tex" (normally shipped with this source file). This %%%% compilation needs the standard 10-pt version (driver "frcr10.mf") to be -%%%% available. The document is 44 pages long. +%%%% available. The document is 52 pages long. %%%% %%\title French Cursive, %% a cursive handwriting font in \MF \cr @@ -25,8 +25,8 @@ %% letter with a high loop like {\def\fs#1{{\fc\smash#1}} \fs b, \fs f, \fs h, %% \fs k, or \fs l}, the stroke starts at the top of the loop because the %% initial part depends on the height the previous letter starts at. The link -%% glyphs are located in the range 128--159, which is thankfully unallocated -%% in the Latin-1 encoding. +%% glyphs are located in the range 0--31, which is reserved for accents and +%% common ligatures in the T1 encoding. %% %% This file won't generate a font by itself. It is supposed to be read by a %% driver file after setting several parameters to control the actual shape of @@ -44,7 +44,7 @@ %% \item widths, relative to \\{base\_width}: \deflist{% %% \\{accent\_wd} & base width of accents %% (width of acute and grave accents)\cr -%% \\{link\_width} & half the width of inter-letter links\cr} +%% \\{link\_width} & the width of inter-letter links\cr} %% \item heights, relative to \\{ex}\SH: \deflist{% %% \\{straight\_ascend} & height of ascending bars like {\fc t}\cr %% \\{loop\_ascend} & height of ascending loops like {\fc\smash l}\cr @@ -58,7 +58,7 @@ %% \\{cedilla\_dp} & depth of the {\it top} of the cedilla's loop\cr} %%} %%%% These are MFT formatting definitions: -%%% length penpos save_accent make_accented +%%% length penpos make_accented make_cedilla %%% length label penlabels range save_letter %%% and thru %%% end bye @@ -92,43 +92,44 @@ hl_y := 1/2; % the height of high links %% Medium links are lower and directed upwards. -ml_y := 1/6; % the height of medium links -ml_a := 30; % the angle of medium links +ml_y := 13/600 / link_width; % the height of medium links +ml_a := angle(.288675, ml_y); % the angle of medium links %% We take care of slanted shapes by simply applying a global transformation. currenttransform := currenttransform slanted slant; +%% Some shapes are defined differently in fixed-thickness mode. + +if unknown fixed: + boolean fixed; fixed := false; +fi + %% Some letter shapes have to be saved: -%% \item a, c, e, n, o, u, y and uppercase letters are normal, they are used -%% for making accented variants +%% \item a, c, e, g, l, n, o, r, t, u, y, z and uppercase letters are normal, +%% they are used for making accented variants %% \item i is dotless, it is kept for making accented versions %% \item j is dotless, its shape appears in y, G, J and Y %% \item q and s are unlinked on the right (like at the end of words), they %% are kept to make linked versions %% \item exclamation and interrogation marks are used for the spanish %% reversed version - -forsuffixes ltr = a,c,e,i,j,n,o,q,s,u,y,A,C,E,I,N,O,U,Y,exclam,interg : - picture letter.ltr; -endfor; - +%% %% The \\{save\_letter} macro saves the picture of a given glyph so that it %% can be reused (as explained above). The first argument is a suffix that %% represents the letter, the second one is the $x$ coordinate where accents %% should be placed (i.e. roughly the middle of the letter). -def save_letter (text ltr) (expr pos) = - begingroup save ltr; % c'est nécessaire à cause de `u' - letter.ltr := currentpicture; - accpos.ltr := pos; - width.ltr := w; - height.ltr := h; - if proofing > 1: proofrule((pos,-d), (pos,h)); fi - width#.ltr := charwd; % for the accented version's width - height#.ltr := charht; % for the height of accented uppercase letters - depth#.ltr := chardp - endgroup +def save_letter (suffix ltr) (expr pos) = + picture letter.ltr; + letter.ltr := currentpicture; + accpos.ltr := cedpos.ltr := pos; + width.ltr := w; + height.ltr := h; + if proofing > 1: proofrule((pos,-d), (pos,h)); fi + width#.ltr := charwd; % for the accented version's width + height#.ltr := charht; % for the height of accented uppercase letters + depth#.ltr := chardp enddef; %% Most characters have absolute widths of the same form: @@ -205,6 +206,7 @@ beginchar("a", ltr_w(7/6), ex#, 0); label(9); save_letter(a)(x2); + cedpos.a := x9; endchar; "The letter b"; @@ -260,6 +262,8 @@ beginchar("d", ltr_w(7/6), straight_ascend * ex#, 0); penstroke z6e .. {down}z7e .. {down}z8e .. {right}z9e ; label(9); + + save_letter(d)(x6); endchar; "The letter e"; @@ -324,6 +328,8 @@ beginchar("g", ltr_w(9/8), ex#, loop_descend * ex#); .. z9e .. z10e .. {ml_dir}z11e ; label(11); + + save_letter(g)(x2); endchar; "The letter h"; @@ -424,6 +430,8 @@ beginchar("l", ltr_w(2/3), loop_ascend * ex#, 0); .. controls (x5e,1/2[y5e,y6e]) and (x5e,y6e) .. z6e .. {ml_dir}z7e ; label(7); + + save_letter(l)(x3); endchar ; "The letter m"; @@ -512,7 +520,7 @@ beginchar("p", ltr_w(7/4), ex#, straight_descend * ex#); endchar; "The letter q with no link"; -beginchar(150, ltr_w(1), ex#, straight_descend * ex#); +beginchar("q", ltr_wd(1, 0) + thick# - med#, ex#, straight_descend * ex#); penpos1(med, 0); x1r = hround (base_width * ex); y1 = 2/3 ex; penpos2(med, 90); z2r = (3/5, 1) u; penpos3(thick, 180); z3r = (0, a_left) u; @@ -527,22 +535,12 @@ beginchar(150, ltr_w(1), ex#, straight_descend * ex#); penstroke z6e .. z7e --- z8e; + picture letter.q; letter.q := currentpicture; % We keep the glyph for the linked version. label(8); endchar; -"The letter q with a right link"; -beginchar("q", ltr_w(7/6), ex#, straight_descend * ex#) - addto currentpicture also letter.q; - penpos0(med, 0); x0r = hround (base_width * ex); y0 = 1/3 ex; - penpos1(thick, 180); z1r = z0l; - penpos2(med, 270); z2r = (7/6 + lnk, 0) u; - penstroke z1e{down} .. {right}z2e; - label(2); -endchar; - - "The letter r"; beginchar("r", ltr_w(5/4), 6/5 ex#, 0); penpos1(med, 0); z1l = (1/6, 1) u; @@ -558,11 +556,15 @@ beginchar("r", ltr_w(5/4), 6/5 ex#, 0); .. tension 1.3 .. {down}z5e .. {right}z6e; label(6); + + save_letter(r)(1/2[x1,x4]); + height.r := ex; + height#.r := ex#; endchar; "The letter s with no link"; -beginchar(154, ltr_w(13/12), 7/6 ex#, 0); - penpos0(thick, 0); z0r = (3/4, 1) u; +beginchar("s", ltr_wd(5/4, 0), 7/6 ex#, 0); + penpos0(thick, 0); z0 = good.rt ((3/4, 1) u); penpos1(med, 0); z1l = z0l; penpos2(med, 90); z2r = z1l + (0, 1/6) u; penpos3(med, 210); z3l = z1l; @@ -573,18 +575,14 @@ beginchar(154, ltr_w(13/12), 7/6 ex#, 0); penstroke z1e{dir 60} .. z2e .. z3e{dir 315} .. tension 1.2 .. z4e .. {left}z5e .. {dir 30}z6e; + picture letter.s; letter.s := currentpicture; % Same trick as for the q. label(6); -endchar; -"The letter s with a right link"; -beginchar("s", ltr_w(5/4), 7/6 ex#, 0); - addto currentpicture also letter.s; - penpos1(med, 180); z1l = (5/4, 1/3) u; - penpos2(med, 270); z2r = (5/4 + lnk, 0) u; - penstroke z1e .. {right}z2e; - label(2); + save_letter(s)(x5); + height.s := ex; + height#.s := ex#; endchar; "The letter t"; @@ -602,6 +600,8 @@ beginchar("t", ltr_w(7/8), straight_ascend * ex#, 0); penstroke z5e -- z6e; label(6); + + save_letter(t)(x3); endchar; "The letter u"; @@ -622,7 +622,9 @@ beginchar("u", ltr_w(4/3), ex#, 0); label(7); + begingroup save u; save_letter(u)(1/2[x1,x5]); + endgroup endchar; "The letter v"; @@ -723,8 +725,17 @@ beginchar("z", ltr_w(11/6), 6/5 * ex#, loop_descend * ex#); .. z9e .. z10e .. tension 1.4 .. {ml_dir}z11e; label(8); + + save_letter(z)(1/2[x1,x4]); + height.z := ex; + height#.z := ex#; endchar; +"The ligature oe"; +beginchar(247, ltr_w(2), ex#, 0) + addto currentpicture also letter.o; + addto currentpicture also letter.e shifted ((1,0) u); +endchar; %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% @@ -775,6 +786,7 @@ beginchar("A", ltr_wd(3,0), hgt, 0); label(15); save_letter(A)(x6l); + cedpos.A := x9; endchar; @@ -850,6 +862,8 @@ beginchar("D", ltr_wd(13/6,0), hgt, 0); .. z6e .. z7e .. z8e .. z9e .. z10e .. {up}z11e; label(11); + + save_letter(D)(1/2[x1,x2]); endchar; @@ -916,21 +930,24 @@ endchar; "The letter G"; -beginchar("G", ltr_wd(2,1), hgt, loop_descend * ex#); +beginchar("G", ltr_w(2), hgt, loop_descend * ex#); penpos1(thin, 180); z1 = (1/2, 1) uu; penpos2(med, 200); z2r = (0, 2/3) uu; penpos3(med, 0); z3r = (2, 5/6) uu; penpos4(med, 90); z4r = (5/3, 1) uu; penpos5(thick, 180); z5r = (1/3, 1/3) uu; penpos6(med, 270); z6r = (1, 0) uu; - penpos7(thick, 0); z7r = (15/8, 1) u; + penpos7(thick, 0); z7 = good.rt ((15/8, 1) u); penstroke z1e .. {down}z2e .. tension 1.2 .. z3e .. z4e .. tension 1.2 .. z5e .. z6e .. {up}z7e; - addto currentpicture also letter.j shifted (9/8 * v, 0); + penpos0(thick, 180); z0 = good.lft ((3/4, 1) u); + addto currentpicture also letter.j shifted (z7 - z0); label(7); + + save_letter(G)(1/4[x4,x5]); endchar; @@ -996,15 +1013,17 @@ endchar; "The letter J"; -beginchar("J", ltr_wd(9/8,1) + thick#/2, hgt, loop_descend * ex#); +beginchar("J", ltr_w(9/8), hgt, loop_descend * ex#); addto currentpicture also small_loop; - addto currentpicture also letter.j shifted (1/4 v + thick/2, 0); + z0 = good.lft ((3/4, 1) uu); penpos1(thick, 180); z1 = (1, 1) uu; penpos2(thick, 180); z2 = (1, 0) uu; penstroke z1e .. z2e; + addto currentpicture also letter.j shifted (z1 - z0); + label(2); endchar; @@ -1054,6 +1073,8 @@ beginchar("L", ltr_wd(7/3,0), hgt, 0); .. z7e .. {dir -50}z8e .. {right}z9e .. z10e .. {down}z11e; label(11); + + save_letter(L)(x9); endchar; @@ -1147,7 +1168,7 @@ beginchar("O", ltr_wd(2,0), hgt, 0); label(6); - save_letter(O)(x1); + save_letter(O)(x3); endchar; @@ -1212,6 +1233,8 @@ beginchar("R", ltr_wd(13/4,0), hgt, 0); .. tension 1.4 .. z11e .. z12e .. z13e .. z14e; label(14); + + save_letter(R)(x10); endchar; @@ -1231,6 +1254,9 @@ beginchar("S", ltr_wd(2,0), hgt, 0); .. z6e .. z7e .. z8e .. {dir 250}z9e; label(9); + + save_letter(S)(1/2[x3,x5]); + cedpos.S := x7; endchar; @@ -1251,6 +1277,9 @@ beginchar("T", ltr_wd(11/4,0), hgt, 0); .. {left}z6e .. tension 1.2 .. z7e .. {right}z8e .. z9e .. z10e; label(10); + + save_letter(T)(1/2[x3,x6]); + cedpos.T := x8; endchar; @@ -1351,7 +1380,7 @@ endchar; "The letter Y"; -beginchar("Y", ltr_wd(19/8,1), hgt, loop_descend * ex#); +beginchar("Y", ltr_w(19/8), hgt, loop_descend * ex#); penpos1(thin, 180); z1 = (3/4, 3/5) uu; penpos2(med, 0); z2l = (0, 2/3) uu; penpos3(med, 250); z3l = (3/5, 1) uu; @@ -1359,8 +1388,8 @@ beginchar("Y", ltr_wd(19/8,1), hgt, loop_descend * ex#); penpos5(med, 270); z5r = (3/2, 1/8) uu; penpos6(med, 0); z6l = z8r; - penpos7(thick, 180); z7l = (9/4, 1) uu; - penpos8(thick, 180); z8l = (9/4, 1) u; + penpos7(thick, 180); x7 = x8; y7 = uc_ascend * ex; + penpos8(thick, 180); z8 = good.rt ((9/4, 1) u); penstroke z1e{down} .. z2e{up} .. z3e .. tension 1.1 .. z4e .. z5e .. {up}z6e; @@ -1382,7 +1411,7 @@ beginchar("Z", ltr_wd(3,0), hgt, 0); penpos4(med, 270); z4 = (5/2, 3/4) uu; penpos5(med, 0); z5r = (3, 7/8) uu; penpos6(med, 90); z6r = (8/3, 1) uu; - penpos7(thick, 135); z7 = (6/4, 1/2) uu; + penpos7(thick, 165); z7 = (6/4, 1/2) uu; penpos8(med, 90); z7 = 1/2[z6, z8]; penpos9(med, 0); z7 = 1/2[z5, z9]; penpos10(med, 270); z7 = 1/2[z4, z10]; @@ -1400,6 +1429,8 @@ beginchar("Z", ltr_wd(3,0), hgt, 0); penstroke z14e{dir 30} .. z15e .. {dir 30}z16e; label(16); + + save_letter(Z)(x15); endchar; @@ -1407,17 +1438,38 @@ endchar; %%\sec Inter-letter links. %{{{1 +%% The constants below define the position of the link glyphs in the font. +%% the names have the form ``{\it lnk.right.left}'' where {\it right} is the +%% shape of the letter on the right and {\it left} is the kind of link at the +%% end of the letter on the left. + +%% Since we are limited to 256 positions, we have to use some codes that are +%% defined in the T1 encoding for other purposes. The accent glyphs may be +%% used for that, since constructed accented letters are unusable in this font +%% (because they don't link to surrounding letters). The ``f'' ligatures are +%% also usable since they are irrelevant here. + +lnk.small.low = 0; lnk.small.med = 1; lnk.small.high = 2; +lnk.loop.low = 3; lnk.loop.med = 4; lnk.loop.high = 5; +lnk.vert.low = 6; lnk.vert.med = 7; lnk.vert.high = 8; +lnk.far.low = 9; lnk.far.med = 10; lnk.far.high = 11; +lnk.hloop.low = 12; lnk.hloop.med = 13; +lnk.mn.low = 14; lnk.mn.med = 15; lnk.mn.high = 16; lnk.mn.beg = 17; +lnk.x.low = 24; lnk.x.med = 27; +lnk.sq = 28; +lnk.high = 29; lnk.low = 30; lnk.lowmed = 31; + %% There is a special trick we use in all links: the initial $x$ coordinante %% is not 0 as would be expected but $-1$. This makes links begin one pixel to %% the left of their box, ensuring that they actually join with the letter %% before them. -%%\subsec For small letters (a, c, d, e, g, o, q). %{{{2 - lw := link_width * ex#; +%%\subsec For small letters (a, c, d, e, g, o, q). %{{{2 + "Low link for small letters"; -beginchar(128, lw, 0, 0); +beginchar(lnk.small.low, lw, 0, 0); penpos1(med, 270); z1r = (-1, 0); penpos2(med, 0); z2l = (lnk, 1/3) u; penstroke z1e{right} .. {up}z2e; @@ -1425,15 +1477,15 @@ beginchar(128, lw, 0, 0); endchar ; "Medium link for small letters"; -beginchar(129, lw, 0, 0); +beginchar(lnk.small.med, lw, 0, 0); penpos1(med, ml_d); z1 = (-1, ml_y * ex); - penpos2(med, 0); z2l = (lnk, 1/3) u; + penpos2(med, ml_d); z2l = (lnk, 1/3) u; penstroke z1e{ml_dir} .. tension 3 .. {up}z2e; label(2); endchar ; "High link for small letters"; -beginchar(130, lw, 0, 0); +beginchar(lnk.small.high, lw, 0, 0); penpos1(med, 270); z1 = (-1, hl_y * ex); penpos2(thin, 270); z2l = (3/5 + lnk, 1) u; penstroke z1e{right} .. {right}z2e ; @@ -1443,7 +1495,7 @@ endchar ; %%\subsec For loops (b, f, h, l). %{{{2 "Low link for large loops"; -beginchar(132, lw, loop_ascend*ex#, 0); +beginchar(lnk.loop.low, lw, loop_ascend*ex#, 0); if proofing > 1: proofrule ((lnk,0) u, (lnk,loop_ascend)u); fi penpos1(med, 270); z1r = (-1, 0); penpos2(med, 330); z2 = (3/4 + lnk, 2/3 * loop_ascend) u + (0,0); @@ -1452,7 +1504,7 @@ beginchar(132, lw, loop_ascend*ex#, 0); endchar; "Medium link for large loops"; -beginchar(133, lw, loop_ascend*ex#, 0); +beginchar(lnk.loop.med, lw, loop_ascend*ex#, 0); if proofing > 1: proofrule ((lnk,0) u, (lnk,loop_ascend)u); fi penpos1(med, ml_d); z1 = (-1, ml_y * ex); penpos2(med, 330); z2 = (3/4 + lnk, 2/3 * loop_ascend) u + (0,0); @@ -1461,7 +1513,7 @@ beginchar(133, lw, loop_ascend*ex#, 0); endchar; "High link for large loops"; -beginchar(134, lw, loop_ascend*ex#, 0); +beginchar(lnk.loop.high, lw, loop_ascend*ex#, 0); if proofing > 1: proofrule ((lnk,0) u, (lnk,loop_ascend)u); fi penpos1(med, 270); z1 = (-1, hl_y * ex); penpos2(med, 330); z2 = (3/4 + lnk, 2/3 * loop_ascend) u + (0,0); @@ -1470,7 +1522,7 @@ beginchar(134, lw, loop_ascend*ex#, 0); endchar; "Low to medium transition"; -beginchar(135, ltr_w(1/6), 0, 0); +beginchar(lnk.lowmed, ltr_w(1/6), 0, 0); penpos1(med, 270); z1r = (-1, 0); penpos2(med, ml_d); z2 = (1/6 + lnk, ml_y) u; penstroke z1e{right} .. {ml_dir}z2e ; @@ -1480,7 +1532,7 @@ endchar; %%\subsec For those vertical on the left (i, u). %{{{2 "Low link for verticals"; -beginchar(136, lw, 0, 0); +beginchar(lnk.vert.low, lw, 0, 0); penpos1(med, 270); z1r = (-1, 0); penpos2(med, 0); z2l = (1/6 + lnk, 2/3) u; penpos3(med, 0); z3l = (1/6 + lnk, 1) u; @@ -1489,7 +1541,7 @@ beginchar(136, lw, 0, 0); endchar; "Medium link for verticals"; -beginchar(137, lw, 0, 0); +beginchar(lnk.vert.med, lw, 0, 0); penpos1(med, ml_d); z1 = (-1, ml_y * ex); penpos2(med, 0); z2l = (1/6 + lnk, 1) u; penstroke z1e{ml_dir} .. tension 1.2 .. {up}z2e; @@ -1497,7 +1549,7 @@ beginchar(137, lw, 0, 0); endchar; "High link for verticals"; -beginchar(138, lw, 0, 0); +beginchar(lnk.vert.high, lw, 0, 0); penpos1(med, 270); z1 = (-1, hl_y * ex); penpos2(med, 0); z2l = (1/6 + lnk, 1) u; penstroke z1e{right} .. {up}z2e; @@ -1507,37 +1559,29 @@ endchar; %%\subsec For the far verticals (j, p). %{{{2 "Low link for far verticals"; -beginchar(140, ltr_w(1/4), 0, 0); +beginchar(lnk.far.low, lw, 0, 0); penpos1(med, 270); z1r = (-1, 0); penpos2(med, 0); z2l = z3l; pickup thickpen; - penpos3(thick, 0); z3 = good.rt ((1 + lnk, 1) u); + penpos3(thick, 0); z3 = good.rt ((3/4 + lnk, 1) u); penstroke z1e{right} .. tension 1.2 .. {dir 60}z2e; label(2); endchar; "Medium link for far verticals"; -beginchar(141, lw, 0, 0); +beginchar(lnk.far.med, ltr_w(-1/4), 0, 0); penpos1(med, ml_d); z1 = (-1, ml_y * ex); penpos2(med, 0); z2l = z3l; - penpos3(thick, 0); z3r = (3/4 + lnk, 1) u; + penpos3(thick, 0); z3 = good.rt ((1/2 + lnk, 1) u); penstroke z1e{ml_dir} .. tension 1.3 .. {dir 60}z2e; label(2); endchar; -"Long medium link for far verticals"; -beginchar(142, ltr_w(1/4), 0, 0); - penpos1(med, ml_d); z1 = (-1, ml_y * ex); - penpos2(med, 0); z2r = (1 + lnk, 1) u; - penstroke z1e{ml_dir} .. tension 1.3 .. {dir 70}z2e; - label(2); -endchar; - "High link for far verticals"; -beginchar(143, lw, 0, 0); +beginchar(lnk.far.high, ltr_w(-1/4), 0, 0); penpos1(med, 270); z1 = (-1, hl_y * ex); penpos2(med, 0); z2l = z3l; - penpos3(thick, 0); z3r = (3/4 + lnk, 1) u; + penpos3(thick, 0); z3 = good.rt ((1/2 + lnk, 1) u); penstroke z1e{right} .. {dir 50}z2e; label(2); endchar; @@ -1545,7 +1589,7 @@ endchar; %%\subsec For high loops (h, k). %{{{2 "Low link for high loops"; -beginchar(144, ltr_w(1/6), 0, 0) +beginchar(lnk.hloop.low, ltr_w(1/6), 0, 0) penpos1(med, 270); z1r = (-1, 0); penpos2(med, 0); z2l = (1/6 + lnk, 6/8) u; @@ -1560,7 +1604,7 @@ beginchar(144, ltr_w(1/6), 0, 0) endchar; "Medium link for high loops"; -beginchar(145, lw, 0, 0) +beginchar(lnk.hloop.med, lw, 0, 0) penpos1(med, ml_d); z1 = (-1, ml_y * ex); penpos2(med, 0); z2l = (lnk, 6/8) u; @@ -1577,7 +1621,7 @@ endchar; %%\subsec For m, n, v, and w. %{{{2 "Low link for m and n"; -beginchar(146, ltr_w(1/6), 0, 0) +beginchar(lnk.mn.low, ltr_w(1/6), 0, 0) penpos1(med, 270); z1r = (-1, 0); penpos2(med, 0); z2l = (1/12 + lnk, 1/2) u; penpos3(med, 270); z3l = (1/2 + lnk, 1) u + (1,0); @@ -1586,7 +1630,7 @@ beginchar(146, ltr_w(1/6), 0, 0) endchar; "Medium link for m and n"; -beginchar(147, ltr_w(1/12), 0, 0) +beginchar(lnk.mn.med, ltr_w(1/12), 0, 0) penpos1(med, ml_d); z1 = (-1, ml_y * ex); penpos2(med, 0); z2l = ((1/24 + lnk) * v, 1/2 [y1, y3]); penpos3(med, 270); z3l = (5/12 + lnk, 1) u + (1,0); @@ -1595,7 +1639,7 @@ beginchar(147, ltr_w(1/12), 0, 0) endchar; "High link for m and n"; -beginchar(148, ltr_w(1/6), 0, 0) +beginchar(lnk.mn.high, ltr_w(1/6), 0, 0) penpos1(med, 270); z1 = (-1, hl_y * ex); penpos2(med, 330); z2 = 1/2 [z1, z3]; penpos3(med, 270); z3l = (1/2 + lnk, 1) u + (1,0); @@ -1604,7 +1648,7 @@ beginchar(148, ltr_w(1/6), 0, 0) endchar; "Beginning for m and n"; -beginchar(149, 0, 0, 0) +beginchar(lnk.mn.beg, 0, 0, 0) penpos1(med, 320); z1 = (-1, 2/5 * ex); penpos2(med, 270); z2l = (1/3, 1) u + (1,0); penstroke z1e{up} .. {right} z2e; @@ -1614,7 +1658,7 @@ endchar; %%\subsec For the x. %{{{2 "Low link for x"; -beginchar(155, ltr_w(1/2), 0, 0) +beginchar(lnk.x.low, ltr_w(1/2), 0, 0) penpos1(med, 270); z1r = (-1, 0); penpos2(med, 0); z2 = 1/2[z1,z3]; penpos3(med, 270); z3l = (5/6 + lnk, 1) u + (1,0); @@ -1623,7 +1667,7 @@ beginchar(155, ltr_w(1/2), 0, 0) endchar; "Medium link for x"; -beginchar(156, ltr_w(1/4), 0, 0) +beginchar(lnk.x.med, ltr_w(1/4), 0, 0) penpos1(med, ml_d); z1 = (-1, ml_y * ex); penpos2(med, 0); z2 = 1/2[z1,z3]; penpos3(med, 270); z3l = (7/12 + lnk, 1) u + (1,0); @@ -1633,6 +1677,17 @@ endchar; %%\subsec Special links. %{{{2 +%% The letters {\fc s} and {\fc q} have final forms without a link on the +%% right, which is the actual glyph. Inside words, they need an extra link. + +"Right link for s and q"; +beginchar(lnk.sq, lw, ex#/3, 0); + penpos1(med, 180); z1l = (0, 1/3) u; + penpos2(med, 270); z2r = (lnk, 0) u; + penstroke z1e {down} .. {right}z2e; + label(2); +endchar; + %% \chardef\HL=131 %% This link has to be inserted by hand between the letters {\fc o} and %% {\fc e}, in order to produce ``{\fc o\HL e}'', which is different @@ -1640,7 +1695,7 @@ endchar; %% ``{\tt oe}''. "High horizontal link"; -beginchar(131, lw, 0, 0); +beginchar(lnk.high, lw, 0, 0); penpos1(med, 270); z1 = (-1, hl_y * ex); penpos2(med, 270); z2 = (lnk, 1/2) u + (1,0); penstroke z1e{right} .. {right}z2e ; @@ -1652,7 +1707,7 @@ endchar ; %% \par\nobreak "Low horizontal link"; -beginchar(139, lw, 0, 0); +beginchar(lnk.low, lw, 0, 0); penpos1(med, 270); z1r = (-1, 0); penpos2(med, 270); z2r = (lnk * v + 1, 0); penstroke z1e{right} .. {right}z2e ; @@ -1670,92 +1725,146 @@ endchar ; a_wd := accent_wd * base_width * ex#; a_ht := accent_top * ex#; -%% We use the following macro to save an accent's picture and dimensions in -%% order to use it later when building accented characters: +%%\subsec The glyphs for the accents. %{{{2 -def save_accent (text acc) = +%% When \TeX\ builds an accented character out of an unaccented one and an +%% accent glyph, the resulting object is not subject to ligatures. Therefore +%% the accent glyphs are rather useless in this font, which has the pleasant +%% effect of freeing a good number of character positions. The glyphs below +%% are thus drawn, but not saved (except for some of them that correspond to +%% proper characters, like tilde or circumflex). We use the following macros +%% to save an accent's picture and dimensions in order to use it later when +%% building accented characters: +%%% beginchar beginaccent +%%% endchar endaccent + +ignored = 0; + +def beginaccent (expr code, wd, ht, dp) = + beginchar(code, wd, ht, dp); +enddef; + +def endaccent (suffix acc) = picture accent.acc; accent.acc := currentpicture; acc_wd.acc := w; - acc_ht#.acc := charht -enddef; + acc_ht#.acc := charht; + acc_dp#.acc := chardp; -%%\subsec The glyphs for the accents. %{{{2 + if charcode = ignored: + save shipit; let shipit = relax; + fi + endchar +enddef; + +athin := 2/3 [thin, med]; +athick := 2/3 [med, thick]; "Grave accent"; -beginchar(0, a_wd, a_ht, 0); - penpos1(med, 225); z1 = (0, 1) ua; - penpos2(med, 270); z2 = (1, 0) ua; +beginaccent(ignored, a_wd, a_ht, 0); + penpos1(athick, 225); z1 = (0, 1) ua; + penpos2(athin, 270); z2 = (1, 0) ua; penstroke z1e .. tension 1.4 .. {right}z2e; label(2); - save_accent(grave); -endchar; +endaccent(grave); "Acute accent"; -beginchar(1, a_wd, a_ht, 0); - penpos1(med, 135); z1 = (1, 1) ua; - penpos2(med, 90); z2 = (0, 0) ua; +beginaccent(ignored, a_wd, a_ht, 0); + penpos1(athick, 135); z1 = (1, 1) ua; + penpos2(athin, 90); z2 = (0, 0) ua; penstroke z1e .. tension 1.4 .. {left}z2e; label(2); - save_accent(acute); -endchar; +endaccent(acute); "Circumflex"; -beginchar(2, 3/2 * a_wd, a_ht, 0); - penpos1(med, 270); z1 = (0, 0) ua; - penpos2(med, 0); z2 = (3/4, 1) ua; +beginaccent("^", 3/2 * a_wd, a_ht, 0); + penpos1(athin, 270); z1 = (0, 0) ua; + penpos2(athick, 0); z2 = (3/4, 1) ua; penstroke z1e{right} .. z2e; - penpos3(med, 180); z3 = z2; - penpos4(med, 270); z4 = (3/2, 0) ua; + penpos3(athick, 180); z3 = z2; + penpos4(athin, 270); z4 = (3/2, 0) ua; penstroke z3e .. {right}z4e; label(4); - save_accent(circum); -endchar; +endaccent(circum); "Tilde"; -beginchar(3, 3/2 * a_wd, (2 accent_top + accent_bot)/3 * ex#, 0); - penpos1(med, 310); z1 = (0, 1/3) ua; +beginaccent("~", 3/2 * a_wd, (2 accent_top + accent_bot)/3 * ex#, 0); + penpos1(athin, 310); z1 = (0, 1/3) ua; penpos2(med, 210); z2l = (3/4, 1/2) ua; - penpos4(med, 310); (x4, y4l) = (3/2, 2/3) ua; + penpos4(athick, 310); (x4, y4l) = (3/2, 2/3) ua; penstroke z1e .. z2e{dir 315} .. z4e; label(4); - save_accent(tilde); -endchar; +endaccent(tilde); + +"Double acute"; +beginaccent(34, 4/3 a_wd, a_ht, 0); + penpos1(athick, 135); z1 = (2/3, 1) ua; + penpos2(athin, 135); z2 = (0, 0) ua; + penstroke z1e .. z2e; + z3 = (4/3, 1) ua; + addto currentpicture also currentpicture shifted (z3 - z1); + label(2); +endaccent(dblacute); "Umlaut"; -beginchar(4, a_wd, height_with_dot, 0); +beginaccent(ignored, a_wd, height_with_dot, 0); pickup pencircle scaled dot_size; lft z1 = (0, dot_height) u; rt z2 = (accent_wd, dot_height) u; drawdot z1; drawdot z2; label(2); - save_accent(umlaut); -endchar; +endaccent(umlaut); "Ring"; -beginchar(6, 3/4 a_wd, a_ht, 0); +beginaccent(ignored, 3/4 a_wd, a_ht, 0); penpos1(med, 90); z1r = (3/8, 1) ua; penpos2(med, 180); z2r = (0, 1/2) ua; penpos3(med, 270); z3r = (3/8, 0) ua; penpos4(med, 0); z4r = (3/4, 1/2) ua; penstroke z1e .. z2e .. z3e .. z4e .. cycle; label(4); - save_accent(ring); -endchar; +endaccent(ring); + +"Hachek"; +beginaccent(ignored, 3/2 * a_wd, a_ht, 0); + penpos1(athin, 270); z1l = (0, 1) ua; + penpos2(athick, 270); z2r = (3/4, 0) ua; + penpos3(athin, 270); z3l = (3/2, 1) ua; + penstroke z1e -- z2e -- z3e; + label(3); +endaccent(hachek); + +"Breve"; +beginaccent(ignored, 3/2 * a_wd, a_ht, 0); + penpos1(athin, 180); z1r = (0, 1) ua; + penpos2(med, 270); z2r = (3/4, 0) ua; + penpos3(athin, 0); z3r = (3/2, 1) ua; + penstroke z1e .. z2e .. z3e; + label(3); +endaccent(breve); "Cedilla"; -beginchar(11, ltr_wd(3/4,0), 0, (cedilla_dp + 1/3) * ex#); +beginaccent(ignored, ltr_wd(3/4,0), 0, (cedilla_dp + 1/3) * ex#); penpos1(thick, 180); z1 = (3/8, 0) u; penpos2(thick, 180); z2 = (3/8, -cedilla_dp) u; penstroke z1e .. z2e; penpos3(med, 270); z3r = z2l; - penpos4(thick, 180); x4l = 3/4 base_width * ex; y4 = 1/2[y3,y5]; + penpos4(athick, 180); x4l = 3/4 base_width * ex; y4 = 1/2[y3,y5]; penpos5(med, 90); z5l = (3/8, -cedilla_dp - 1/3) u; - penpos6(thin, 0); x6l = 0; y6 = y4; + penpos6(athin, 0); x6l = 0; y6 = y4; penstroke z3e .. z4e .. z5e{left} .. z6e; label(6); - save_accent(cedilla); -endchar; +endaccent(cedilla); + +"Ogonek"; +beginaccent(ignored, ltr_wd(3/4,0), 0, 2 * cedilla_dp * ex#); + penpos1(med, 90); z1l = (3/8, 0) u; + penpos2(athick, 180); z2r = (0, -cedilla_dp) u; + penpos3(med, 270); z3r = (3/8, -2 cedilla_dp) u; + penpos4(athin, -45); z4 = (0.7, -cedilla_dp) u; + penstroke z1e {left} .. z2e .. z3e .. z4e; + label(4); +endaccent(ogonek); %%\subsec The accented characters. %{{{2 @@ -1763,7 +1872,11 @@ endchar; %% The definition of `make\_accented' produces characters with the same height %% as their unaccented version, so that the accented uppercase are not too %% high (otherwise it would force to space out successive lines too much). -%% Is this a good choice ? +%% The macro `make\_cedilla' is used to put something (a cedilla or an +%% ogonek) under a letter, and this one does modify the depth of the original +%% letter. The macro `make\_caron' adds a caron (same shape as an apostrophe) +%% to a glyph, without changing the glyph width, so that linking is not +%% influenced. def make_accented(expr name, chr)(text base, acc) = begingroup save base; @@ -1776,81 +1889,226 @@ def make_accented(expr name, chr)(text base, acc) = endgroup enddef; -make_accented("The letter a with gravis", "à")(a)(grave); -make_accented("The letter a with acute", "á")(a)(acute); -make_accented("The letter a with circumflex", "â")(a)(circum); -make_accented("The letter a with tilde", "ã")(a)(tilde); -make_accented("The letter a with umlaut", "ä")(a)(umlaut); -make_accented("The letter a with ring", "å")(a)(ring); - -make_accented("The letter e with gravis", "è")(e)(grave); -make_accented("The letter e with acute", "é")(e)(acute); -make_accented("The letter e with circumflex", "ê")(e)(circum); -make_accented("The letter e with umlaut", "ë")(e)(umlaut); - -make_accented("The letter i with gravis", "ì")(i)(grave); -make_accented("The letter i with acute", "í")(i)(acute); -make_accented("The letter i with circumflex", "î")(i)(circum); -make_accented("The letter i with umlaut", "ï")(i)(umlaut); - -make_accented("The letter o with gravis", "ò")(o)(grave); -make_accented("The letter o with acute", "ó")(o)(acute); -make_accented("The letter o with circumflex", "ô")(o)(circum); -make_accented("The letter o with tilde", "õ")(o)(tilde); -make_accented("The letter o with umlaut", "ö")(o)(umlaut); - -make_accented("The letter u with gravis", "ù")(u)(grave); -make_accented("The letter u with acute", "ú")(u)(acute); -make_accented("The letter u with circumflex", "û")(u)(circum); -make_accented("The letter u with umlaut", "ü")(u)(umlaut); - -make_accented("The letter y with acute", "ý")(y)(acute); -make_accented("The letter y with umlaut", "ÿ")(y)(umlaut); -make_accented("The letter n with tilde", "ñ")(n)(tilde); - -"The letter c with cedilla"; -beginchar("ç", width#.c, ex#, (cedilla_dp + 1/3) * ex#); - addto currentpicture also letter.c; - addto currentpicture also accent.cedilla - shifted (accpos.c - acc_wd.cedilla/2, 0); - endchar; +def make_cedilla(expr name, chr)(text base, acc) = + begingroup save base; + name; + beginchar(chr, width#.base, height#.base, max(depth#.base, acc_dp#.acc)) + addto currentpicture also letter.base; + addto currentpicture also accent.acc + shifted (cedpos.base - acc_wd.acc/2, 0); + endchar + endgroup +enddef; + +def make_caron(expr name, chr)(text base, pos) = + begingroup save base; + name; + beginchar(chr, width#.base, height#.base, depth#.base) + addto currentpicture also letter.base; + penpos1(athick, 180); + penpos2(athin, 90); + y1 = h; x2 = pos; + z1 - z2 = (accent_wd/2, 1/2) u; + penstroke z1e {down} .. z2e; + label(2); + endchar + endgroup +enddef; + +make_accented("The letter a with breve", 160)(a)(breve); +make_cedilla ("The letter a with ogonek", 161)(a)(ogonek); +make_accented("The letter a with gravis", 224)(a)(grave); +make_accented("The letter a with acute", 225)(a)(acute); +make_accented("The letter a with circumflex", 226)(a)(circum); +make_accented("The letter a with tilde", 227)(a)(tilde); +make_accented("The letter a with umlaut", 228)(a)(umlaut); +make_accented("The letter a with ring", 229)(a)(ring); + +make_accented("The letter c with acute", 162)(c)(acute); +make_accented("The letter c with hachek", 163)(c)(hachek); +make_cedilla ("The letter c with cedilla", 231)(c)(cedilla); + +make_caron("The letter d with caron", 164)(d)(accpos.d + thick*base_width); + +make_accented("The letter e with hachek", 165)(e)(hachek); +make_cedilla ("The letter e with ogonek", 166)(e)(ogonek); +make_accented("The letter e with gravis", 232)(e)(grave); +make_accented("The letter e with acute", 233)(e)(acute); +make_accented("The letter e with circumflex", 234)(e)(circum); +make_accented("The letter e with umlaut", 235)(e)(umlaut); + +make_accented("The letter g with breve", 167)(g)(breve); + +make_accented("The letter i with gravis", 236)(i)(grave); +make_accented("The letter i with acute", 237)(i)(acute); +make_accented("The letter i with circumflex", 238)(i)(circum); +make_accented("The letter i with umlaut", 239)(i)(umlaut); + +make_accented("The letter l with acute", 168)(l)(acute); +make_caron ("The letter l with caron", 169)(l)(w); + +"The letter l slash"; +beginchar(170, width#.l, height#.l, depth#.l) + addto currentpicture also letter.l; + penpos1(med, 270); + penpos2(med, 270); + penpos3(thick, 0); z3l = (0, loop_ascend/2) u; + 1/2[z2,z1] = z3; + z2 - z1 = (2/3, 1/6) u; + penstroke z1e .. z2e; + label(2); +endchar; + +make_accented("The letter n with acute", 171)(n)(acute); +make_accented("The letter n with hachek", 172)(n)(hachek); +make_accented("The letter n with tilde", 241)(n)(tilde); + +make_accented("The letter o with double acute", 174)(o)(dblacute); +make_accented("The letter o with gravis", 242)(o)(grave); +make_accented("The letter o with acute", 243)(o)(acute); +make_accented("The letter o with circumflex", 244)(o)(circum); +make_accented("The letter o with tilde", 245)(o)(tilde); +make_accented("The letter o with umlaut", 246)(o)(umlaut); + +"Scandinavian letter o slash"; +beginchar(248, width#.o, 7/6 ex#, 1/6 ex#) + addto currentpicture also letter.o; + penpos1(med, 150); z1l = (w, 7/6 ex); + penpos2(med, 150); z2r = (0, -1/6 ex); + penstroke z1e .. z2e; + label(2); +endchar; + +make_accented("The letter r with acute", 175)(r)(acute); +make_accented("The letter r with hachek", 176)(r)(hachek); + +make_accented("The letter s with acute", 177)(s)(acute); +make_accented("The letter s with hachek", 178)(s)(hachek); +make_cedilla ("The letter s with cedilla", 179)(s)(cedilla); + +make_caron ("The letter t with caron", 180)(t)(accpos.t); +make_cedilla ("The letter t with cedilla", 181)(t)(cedilla); + +make_accented("The letter u with double acute", 182)(u)(dblacute); +make_accented("The letter u with ring", 183)(u)(ring); +make_accented("The letter u with gravis", 249)(u)(grave); +make_accented("The letter u with acute", 250)(u)(acute); +make_accented("The letter u with circumflex", 251)(u)(circum); +make_accented("The letter u with umlaut", 252)(u)(umlaut); + +make_accented("The letter y with umlaut", 184)(y)(umlaut); +make_accented("The letter y with acute", 253)(y)(acute); + +make_accented("The letter z with acute", 185)(z)(acute); +make_accented("The letter z with hachek", 186)(z)(hachek); + +"The letter z with dot above"; +beginchar(187, width#.z, height#.z, depth#.z) + addto currentpicture also letter.z; + pickup pencircle scaled dot_size; + drawdot (accpos.z, 1/2[accent_bot, accent_top] * ex); +endchar; -make_accented("The letter A with gravis", "À")(A)(grave); -make_accented("The letter A with acute", "Á")(A)(acute); -make_accented("The letter A with circumflex", "Â")(A)(circum); -make_accented("The letter A with tilde", "Ã")(A)(tilde); -make_accented("The letter A with umlaut", "Ä")(A)(umlaut); -make_accented("The letter A with ring", "Å")(A)(ring); - -make_accented("The letter E with gravis", "È")(E)(grave); -make_accented("The letter E with acute", "É")(E)(acute); -make_accented("The letter E with circumflex", "Ê")(E)(circum); -make_accented("The letter E with umlaut", "Ë")(E)(umlaut); - -make_accented("The letter I with gravis", "Ì")(I)(grave); -make_accented("The letter I with acute", "Í")(I)(acute); -make_accented("The letter I with circumflex", "Î")(I)(circum); -make_accented("The letter I with umlaut", "Ï")(I)(umlaut); - -make_accented("The letter O with gravis", "Ò")(O)(grave); -make_accented("The letter O with acute", "Ó")(O)(acute); -make_accented("The letter O with circumflex", "Ô")(O)(circum); -make_accented("The letter O with tilde", "Õ")(O)(tilde); -make_accented("The letter O with umlaut", "Ö")(O)(umlaut); - -make_accented("The letter U with gravis", "Ù")(U)(grave); -make_accented("The letter U with acute", "Ú")(U)(acute); -make_accented("The letter U with circumflex", "Û")(U)(circum); -make_accented("The letter U with umlaut", "Ü")(U)(umlaut); - -make_accented("The letter Y with acute", "Ý")(Y)(acute); -make_accented("The letter N with tilde", "Ñ")(N)(tilde); - -"The letter C with cedilla"; -beginchar("Ç", width#.C, height#.C, (cedilla_dp + 1/3) * ex#); - addto currentpicture also letter.C; - addto currentpicture also accent.cedilla - shifted (accpos.C - acc_wd.cedilla/2, 0); +make_accented("The letter A with breve", 128)(A)(breve); +make_cedilla ("The letter A with ogonek", 129)(A)(ogonek); +make_accented("The letter A with gravis", 192)(A)(grave); +make_accented("The letter A with acute", 193)(A)(acute); +make_accented("The letter A with circumflex", 194)(A)(circum); +make_accented("The letter A with tilde", 195)(A)(tilde); +make_accented("The letter A with umlaut", 196)(A)(umlaut); +make_accented("The letter A with ring", 197)(A)(ring); + +make_accented("The letter C with acute", 130)(C)(acute); +make_accented("The letter C with hachek", 131)(C)(hachek); +make_cedilla ("The letter C with cedilla", 199)(C)(cedilla); + +make_accented("The letter D with hachek", 132)(D)(hachek); + +make_accented("The letter E with hachek", 133)(E)(hachek); +make_cedilla ("The letter E with ogonek", 134)(E)(ogonek); +make_accented("The letter E with gravis", 200)(E)(grave); +make_accented("The letter E with acute", 201)(E)(acute); +make_accented("The letter E with circumflex", 202)(E)(circum); +make_accented("The letter E with umlaut", 203)(E)(umlaut); + +make_accented("The letter G with breve", 135)(G)(breve); + +"The letter I with dot above"; +beginchar(157, width#.I, height#.I, depth#.I) + addto currentpicture also letter.I; + pickup pencircle scaled dot_size; + drawdot (accpos.z, (1/2[accent_bot, accent_top] + uc_ascend - 1) * ex); +endchar; + +make_accented("The letter I with gravis", 204)(I)(grave); +make_accented("The letter I with acute", 205)(I)(acute); +make_accented("The letter I with circumflex", 206)(I)(circum); +make_accented("The letter I with umlaut", 207)(I)(umlaut); + +make_accented("The letter L with acute", 136)(L)(acute); +make_caron ("The letter L with caron", 137)(L)(w); + +"The letter L slash"; +beginchar(138, width#.L, height#.L, depth#.L) + addto currentpicture also letter.L; + penpos1(med, 270); + penpos2(med, 270); + 1/2[z2,z1] = (7/6, 2/5) uu; + z2 - z1 = (1, 1/10) u; + penstroke z1e .. z2e; + label(2); +endchar; + +make_accented("The letter N with acute", 139)(N)(acute); +make_accented("The letter N with hachek", 140)(N)(hachek); +make_accented("The letter N with tilde", 209)(N)(tilde); + +make_accented("The letter O with double acute", 142)(O)(dblacute); +make_accented("The letter O with gravis", 210)(O)(grave); +make_accented("The letter O with acute", 211)(O)(acute); +make_accented("The letter O with circumflex", 212)(O)(circum); +make_accented("The letter O with tilde", 213)(O)(tilde); +make_accented("The letter O with umlaut", 214)(O)(umlaut); + +"Scandinavian letter O slash"; +beginchar(216, width#.O, height#.O, depth#.O) + addto currentpicture also letter.O; + penpos1(med, 150); z1l = (w - 1/8 v, h); + penpos2(med, 150); z2r = (1/8 v, 0); + penstroke z1e .. z2e; + label(2); +endchar; + +make_accented("The letter R with acute", 143)(R)(acute); +make_accented("The letter R with hachek", 144)(R)(hachek); + +make_accented("The letter S with acute", 145)(S)(acute); +make_accented("The letter S with hachek", 146)(S)(hachek); +accpos.S := base_width * ex; +make_cedilla ("The letter S with cedilla", 147)(S)(cedilla); + +make_accented("The letter T with hachek", 148)(T)(hachek); +accpos.T := 2 base_width * ex; +make_cedilla ("The letter T with cedilla", 149)(T)(cedilla); + +make_accented("The letter U with double acute", 150)(U)(dblacute); +make_accented("The letter U with ring", 151)(U)(ring); +make_accented("The letter U with gravis", 217)(U)(grave); +make_accented("The letter U with acute", 218)(U)(acute); +make_accented("The letter U with circumflex", 219)(U)(circum); +make_accented("The letter U with umlaut", 220)(U)(umlaut); + +make_accented("The letter Y with umlaut", 152)(Y)(umlaut); +make_accented("The letter Y with acute", 221)(Y)(acute); + +make_accented("The letter Z with acute", 153)(Z)(acute); +make_accented("The letter Z with hachek", 154)(Z)(hachek); + +"The letter Z with dot above"; +beginchar(155, width#.Z, height#.Z, depth#.Z) + addto currentpicture also letter.Z; + pickup pencircle scaled dot_size; + drawdot (accpos.Z, (1/2[accent_bot, accent_top] + uc_ascend - 1) * ex); endchar; "The letter i with no dot"; @@ -2087,7 +2345,7 @@ beginchar(189, ltr_wd(1/2,2), (loop_ascend - straight_descend) * ex#, straight_descend * ex#); addto currentpicture also letter.exclam scaled -1 shifted ((1/2 base_width + 2 link_width, - loop_ascend - straight_descend) * ex) + loop_ascend - straight_descend) * ex) endchar; "Apostrophe"; @@ -2101,7 +2359,7 @@ beginchar("'", ltr_wd(1/3,2), straight_ascend * ex#, 0); endchar; "High apostrophe"; -beginchar(152, ltr_wd(1/3,2), loop_ascend * ex#, 0); +beginchar(18, ltr_wd(1/3,2), loop_ascend * ex#, 0); penpos1(thick, 180); z1 = ((base_width + 3 link_width) / 3, loop_ascend) * ex; penpos2(thin, 90); @@ -2203,7 +2461,7 @@ beginchar(190, ltr_wd(3/2,2), (loop_ascend - straight_descend) * ex#, straight_descend * ex#); addto currentpicture also letter.interg scaled -1 shifted ((3/2 base_width + 2 link_width, - loop_ascend - straight_descend) * ex); + loop_ascend - straight_descend) * ex); endchar; "Left parenthesis"; @@ -2226,48 +2484,112 @@ endchar; "Left bracket"; beginchar("[", ltr_wd(1,0), loop_ascend * ex#, 1/2 loop_descend * ex#); - penpos1(med, 270); z1r = (5/6, loop_ascend) u; - penpos2(med, 270); z2r = (1/6, loop_ascend) u; - - penstroke z1e .. z2e; + penpos1(med, 90); z1r = (5/6, loop_ascend) u; + penpos2(med, 90); z2r = (1/6, loop_ascend) u; penpos3(thick, 180); z3r = (1/6, loop_ascend) u; penpos4(thick, 180); z4r = (1/6, -1/2 loop_descend) u; - penstroke z3e .. z4e; - - penpos5(med, 90); z5l = (1/6, -1/2 loop_descend) u; - penpos6(med, 90); z6l = (5/6, -1/2 loop_descend) u; + penpos5(med, 270); z5r = (1/6, -1/2 loop_descend) u; + penpos6(med, 270); z6r = (5/6, -1/2 loop_descend) u; - penstroke z5e .. z6e; + if fixed: + draw z1 -- z2 -- z5 -- z6 withpen pencircle scaled med; + else: + penstroke z1e .. z2e; + penstroke z3e .. z4e; + penstroke z5e .. z6e; + fi label(6); endchar; "Right bracket"; beginchar("]", ltr_wd(1,0), loop_ascend * ex#, 1/2 loop_descend * ex#); - penpos1(med, 270); z1r = (5/6, loop_ascend) u; - penpos2(med, 270); z2r = (1/6, loop_ascend) u; - - penstroke z1e .. z2e; + penpos1(med, 270); z1l = (1/6, loop_ascend) u; + penpos2(med, 270); z2l = (5/6, loop_ascend) u; penpos3(thick, 180); z3l = (5/6, loop_ascend) u; penpos4(thick, 180); z4l = (5/6, -1/2 loop_descend) u; - penstroke z3e .. z4e; + penpos5(med, 90); z5l = (5/6, -1/2 loop_descend) u; + penpos6(med, 90); z6l = (1/6, -1/2 loop_descend) u; - penpos5(med, 90); z5l = (1/6, -1/2 loop_descend) u; - penpos6(med, 90); z6l = (5/6, -1/2 loop_descend) u; + if fixed: + draw z1 -- z2 -- z5 -- z6 withpen pencircle scaled med; + else: + penstroke z1e .. z2e; + penstroke z3e .. z4e; + penstroke z5e .. z6e; + fi - penstroke z5e .. z6e; + label(6); +endchar; + +"Left brace"; +beginchar("{", ltr_wd(7/6,0), loop_ascend * ex#, 1/2 loop_descend * ex#); + penpos1(med, 90); + penpos2(thick, 180); + penpos3(med, 90); + penpos4(med, 270); + penpos5(thick, 180); + penpos6(med, 270); + + x1 = x6 = v; + y1r = loop_ascend * ex; + y6r = -1/2 loop_descend * ex; + z3 = z4 = (1/6 v, 1/2[y1,y6]); + z2 = 1/2 [z1, z3]; + z5 = 1/2 [z4, z6]; + + penstroke z1e {left} .. z2e .. {left} z3e; + penstroke z4e {right} .. z5e .. {right} z6e; + + label(6); +endchar; + +"Right brace"; +beginchar("}", ltr_wd(7/6,0), loop_ascend * ex#, 1/2 loop_descend * ex#); + penpos1(med, 270); + penpos2(thick, 180); + penpos3(med, 270); + penpos4(med, 90); + penpos5(thick, 180); + penpos6(med, 90); + + x1 = x6 = 1/6 v; + y1l = loop_ascend * ex; + y6l = -1/2 loop_descend * ex; + z3 = z4 = (v, 1/2[y1,y6]); + z2 = 1/2 [z1, z3]; + z5 = 1/2 [z4, z6]; + + penstroke z1e {right} .. z2e .. {right} z3e; + penstroke z4e {left} .. z5e .. {left} z6e; label(6); endchar; "Slash"; -beginchar("/", ltr_wd(3/2,0), loop_ascend * ex#, 1/2 loop_descend * ex#); - penpos1(thick, 180); z1l = (8/6, loop_ascend) u; - penpos2(thick, 180); z2r = (1/6, -1/2 loop_descend) u; +beginchar("/", ltr_wd(2,0), loop_ascend * ex#, 1/2 loop_descend * ex#); + penpos1(thick, 180); z1l = (w - 1/6 v, loop_ascend * ex); + penpos2(thick, 180); z2r = (1/6 v, -1/2 loop_descend * ex); + penstroke z1e .. z2e; + label(2); +endchar; + +"Vertical bar"; +beginchar("|", ltr_wd(1,0), loop_ascend * ex#, 1/2 loop_descend * ex#); + penpos1(thick, 180); z1 = (w/2, loop_ascend * ex); + penpos2(thick, 180); z2 = (w/2, -1/2 loop_descend * ex); + penstroke z1e .. z2e; + label(2); +endchar; + +"Reverse slash"; +beginchar("\", ltr_wd(2,0), loop_ascend * ex#, 1/2 loop_descend * ex#); + penpos1(thick, 180); z1r = (1/6 v, loop_ascend * ex); + penpos2(thick, 180); z2l = (w - 1/6 v, -1/2 loop_descend * ex); penstroke z1e .. z2e; label(2); endchar; @@ -2289,27 +2611,48 @@ beginchar("&", ltr_wd(3,0), uc_ascend * ex#, 0); endchar; "French opening quote"; -beginchar("«", ltr_wd(1,2), ex#, 0); - penpos1(med, 180); z1l = (1/2, 9/10) u; - penpos2(thick, 180); z2r = (0, 1/2) u; - penpos3(med, 180); z3l = (1/2, 1/10) u; - penstroke z1e{down} .. tension 1.3 .. z2e; - penstroke z2e .. tension 1.3 .. {down}z3e; +beginchar(19, ltr_wd(11/10,2), ex#, 0); + penpos1(thick, 150); y1r = ex; + penpos2(thin, 90); z2 = (link_width, 1/2) u; + penpos3(thick, 30); y3l = 0; + x1l = x3r = w - (link_width + 2/5) * v; + penstroke z1e .. {dir 190} z2e; + penstroke z3e .. {dir 170} z2e; label(3); - addto currentpicture also currentpicture shifted (3/8 v, 0); + addto currentpicture also currentpicture shifted (2/5 v, 0); endchar; "French closing quote"; -beginchar("»", ltr_wd(1,2), ex#, 0); - penpos1(med, 180); z1r = (2 link_width + 1/2, 9/10) u; - penpos2(thick, 180); z2l = (2 link_width + 1, 1/2) u; - penpos3(med, 180); z3r = (2 link_width + 1/2, 1/10) u; - penstroke z1e{down} .. tension 2 .. z2e; - penstroke z2e .. tension 2 .. {down}z3e; +beginchar(20, ltr_wd(11/10,2), ex#, 0); + penpos1(thick, 210); y1l = ex; + penpos2(thin, 270); z2 = (w - (link_width + 2/5) * v, ex/2); + penpos3(thick, 330); y3r = 0; + x1r = x3l = link_width * v; + penstroke z1e .. {dir -10} z2e; + penstroke z3e .. {dir 10} z2e; label(3); - addto currentpicture also currentpicture shifted (-3/8 v, 0); + addto currentpicture also currentpicture shifted (2/5 v, 0); endchar; +"Less than sign"; +beginchar("<", ltr_wd(3/2,2), num_ht, 0); + penpos1(med, 90); z1r = (3/2 + link_width, 9/10 straight_ascend) u; + penpos2(med, 90); z2 = (link_width, 1/2 straight_ascend) u; + penpos3(med, 90); z3l = (3/2 + link_width, 1/10 straight_ascend) u; + penstroke z1e .. z2e; + penstroke z3e .. z2e; + label(3); +endchar; + +"Greater than sign"; +beginchar(">", ltr_wd(3/2,2), num_ht, 0); + penpos1(med, 270); z1r = (link_width, 9/10 straight_ascend) u; + penpos2(med, 270); z2 = (3/2 + link_width, 1/2 straight_ascend) u; + penpos3(med, 270); z3l = (link_width, 1/10 straight_ascend) u; + penstroke z1e .. z2e; + penstroke z3e .. z2e; + label(3); +endchar; %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% %% @@ -2324,6 +2667,8 @@ endchar; %% successions of an uppercase and a lowercase, but also in some cases for %% punctuation. +%%\subsec Macros for ligature tables. %{{{2 + k# := base_width * ex#; "Right boundary pseudo-character"; @@ -2332,75 +2677,85 @@ beginchar(23, 0, 0, 0) endchar; boundarychar := 23; def word_ends = - ".", ",", ";", ":", "'", ")", "]", "/", "»", "-", 21, 22 enddef; - -%% The following macros enumerate all variants of each vowel. - -def var_a = "a","à","á","â","ã","ä","å" enddef; -def var_c = "c","ç" enddef; -def var_e = "e","è","é","ê","ë" enddef; -def var_i = "i","ì","í","î","ï" enddef; -def var_o = "ò","ó","ô","õ","ö" enddef; -% We don't include ``o'' because of the special kerning with the ``e''. -def var_u = "u","ù","ú","û","ü" enddef; - -def lig_small (expr lig) = - for lt = var_a, var_c, var_e, "o", var_o: lt |=:| lig, endfor - "d" |=:| lig, - "g" |=:| lig, - "q" |=:| lig -enddef; - -def lig_loop (expr lig) = - "b" |=:| lig, - "f" |=:| lig, - "h" |=:| lig, - "k" |=:| lig, - "l" |=:| lig + ".", ",", ";", ":", "'", ")", "]", "/", 20, "-", 21, 22 enddef; + +%% The sets of variants of letters. + +def var_a = "a",160,161,224,225,226,227,228,229 enddef; +def var_c = "c",162,163,231 enddef; +def var_d = "d",164 enddef; +def var_e = "e",165,166,232,233,234,235 enddef; +def var_g = "g",167 enddef; +def var_i = "i",236,237,238,239 enddef; +def var_l = "l",168,169,170 enddef; +def var_n = "n",171,172,241 enddef; +def var_o = "o",174,242,243,244,245,246,248 enddef; +def var_r = "r",175,176 enddef; +def var_s = "s",177,178,179 enddef; +def var_t = "t",180,181 enddef; +def var_u = "u",182,183,249,250,251,252 enddef; +def var_y = "y",184,253 enddef; +def var_z = "z",185,186,187 enddef; + +%% The sets of shapes for links. + +def sh_small = var_a, var_c, var_d, var_e, var_g, var_o, "q", 247 enddef; +def sh_loop = "b", "f", "h", "k", var_l enddef; +def sh_vert = var_i, var_r, var_t, var_u, var_z enddef; +def sh_far = "j", "p", var_s enddef; +def sh_hloop = "h", "k" enddef; +def sh_mn = "m", var_n, "v", "w", "x", var_y enddef; +def sh_x = "x" enddef; + +%% Some macros to use these lists. + +boolean ligged[], first; + +def ligtables (text list) = + ligtable + for c = list: + if not known ligged[byte c]: + hide ( ligged[byte c] = true ) c: + fi + endfor enddef; -def lig_vert (expr lig) = - for lt = var_i, var_u: lt |=:| lig, endfor - "r" |=:| lig, - "t" |=:| lig, - "u" |=:| lig, - "z" |=:| lig +def link (text list) (expr chr) = + hide(first := true) + for lft = list: + if first: hide(first := false) else: , fi lft |=:| chr endfor enddef; -def lig_far (expr lig) = - "j" |=:| lig, - "p" |=:| lig, - "s" |=:| lig -enddef; - -def lig_mn (expr lig) = - "m" |=:| lig, - "n" |=:| lig, "ñ" |=:| lig, - "v" |=:| lig, - "w" |=:| lig, - "x" |=:| lig, - "y" |=:| lig, "ý" |=:| lig, "ÿ" |=:| lig +def links (suffix ln) (text sh) = + hide (first := true) + forsuffixes # = sh: + if first: hide(first := false) else: , fi + expandafter link expandafter ( scantokens ("sh_" & str #) )(lnk.#.ln) + endfor enddef; +%%% ligtable ligtables +%%% penpos link links %%\subsec Ligatures between lowercase and punctuations. %{{{2 ligtable "-": "-" =: 21, skipto 0; -ligtable 21: "-" =: 22; +ligtable 21: "-" =: 22, skipto 0; ligtable "!": "`" =: 189; ligtable "?": "`" =: 190; ligtable "`": "`" kern -2 link_width * k#, skipto 0; ligtable "'": "'" kern -2 link_width * k#, skipto 0; -ligtable 152: "'" =:| "'", skipto 0; +ligtable 18: "'" =:| "'", skipto 0; -%% % ligtable "<": "<" =: "«"; -%% % ligtable ">": ">" =: "»"; +ligtable "<": "<" =: 19; +ligtable ">": ">" =: 20; -ligtable ||: "(": "[": "/": 189: 190: +ligtable ||: "(": ")": "[": "]": "{": "}": "/": "|": "\": + 189: 190: ".": ":": ";": 20: 22: 0:: - lig_far(140), lig_mn(149), + link(sh_far)(lnk.far.low), link(sh_mn)(lnk.mn.beg), skipto 2; @@ -2409,90 +2764,94 @@ ligtable ||: "(": "[": "/": 189: 190: %% Special cases: the q and the s have a different shape at the end of words, %% they have no right link, contrary to the other letters. -ligtable "q": - for c = boundarychar, word_ends: c =:| 150, endfor - skipto 2; -ligtable "s": - for c = boundarychar, word_ends: c =:| 154, endfor - skipto 2; +ligtables ("q", var_s) + for c = 97 upto 122: c |=:| lnk.sq, endfor + for c = 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, + 175, 176, 177, 178, 179, 181, 183, 185, 186, 187: c |=:| lnk.sq, endfor + for c = 224 upto 252: + if (c <> 230) and (c <> 240): c |=:| lnk.sq, fi endfor + 253 |=:| lnk.sq; + +ligtables ("h", "k") + "'" |=: 18, skipto 1; -ligtable "h": "k": "'" |=: 152, skipto 1; -ligtable for lt = var_a, var_i, var_u: lt: endfor +ligtables (var_a, var_d, var_i, "m", var_n, "p", var_r, var_u, lnk.sq) 1:: - "d": "m": "n": "ñ": "p": "r": - for lt = boundarychar, word_ends: lt |=:| 135, endfor + for lt = boundarychar, word_ends: lt |=:| lnk.lowmed, endfor skipto 2; -ligtable 139: + +ligtables (lnk.low) 2:: - "h" |=:| 144, "k" |=:| 144, "x" |=:| 155, - lig_small(128), lig_loop(132), lig_vert(136), lig_far(140), lig_mn(146); -ligtable "f": "g": "j": "y": "ý": "ÿ": "z": - "j" |=:| 142, skipto 3; -ligtable "l": "'" |=: 152, skipto 3; -ligtable for lt = var_c, var_e: lt: endfor "t": "x": + links (low) (small, hloop, loop, vert, far, mn, x); + +ligtables (var_l) + "'" |=: 18, skipto 3; + +ligtables (var_c, var_e, "f", var_g, "j", var_t, "x", var_y, var_z, 247) 3:: - "h" |=:| 145, "k" |=:| 145, "x" |=:| 156, - lig_small(129), lig_loop(133), lig_vert(137), lig_far(141), lig_mn(147); -ligtable "o": - "e" kern -link_width*k# - med#, skipto 5; -ligtable 131: - "e" kern -thin#, skipto 5; -ligtable "b": "'" |=: 152, skipto 4; -ligtable for lt = var_o: lt: endfor "v": "w": + links (med) (small, hloop, loop, vert, far, mn, x); + +ligtables (lnk.high) + for c = var_e: c kern -thin#, endfor + skipto 5; + +ligtables ("b") + "'" |=: 18, skipto 4; + +ligtables (var_o, "v", "w") 4:: - "e" |=:| 131, + for c = var_e: c |=:| lnk.high, endfor + for c = "-", 21, 22: c kern thin#, endfor 5:: - lig_small(130), lig_loop(134), lig_vert(138), lig_far(143), lig_mn(148); + links (high) (small, loop, vert, far, mn); %%\subsec Ligatures and spacings after uppercase letters. %{{{2 -ligtable "G": "J": "Y": "Ý": - "h" |=:| 145, "j" |=:| 142, "k" |=:| 145, "x" |=:| 156, - lig_small(129), lig_loop(133), lig_vert(137), lig_far(141), lig_mn(147); +ligtable "G": "J": "Y": 221: + links (med) (small, hloop, loop, vert, far, mn, x); ligtable "F": "S": - 128 kern -1/2 k#, % small letters are closer - 142 kern -1/5 k#, % j, p, s too - lig_small(128), + lnk.small.low kern -1/2 k#, % small letters are closer + lnk.vert.low kern -1/4 k#, % verticals too + lnk.far.med kern -1/5 k#, % j, p, s too + link(sh_small)(lnk.small.low), skipto 6; -ligtable "I": "Ì": "Í": "Î": "Ï": - for l = 134, 136, 149: l kern 1/8ex#, endfor +ligtable "I": 204: 205: 206: 207: + for l = lnk.loop.high, lnk.vert.low, lnk.mn.beg: l kern 1/8ex#, endfor skipto 6; -ligtable "N": "Ñ": - 128 kern -1/3 k#, - 142 kern -1/5 k#, +ligtable "N": 209: + lnk.small.low kern -1/3 k#, + lnk.far.med kern -1/5 k#, skipto 6; ligtable "P": - 128 kern -5/8 k#, - 142 kern -1/3 k#, - 136 kern -5/12 k#, + lnk.small.low kern -5/8 k#, + lnk.far.med kern -1/3 k#, + lnk.vert.low kern -5/12 k#, skipto 6; ligtable "Q": - 149 kern 1/5 k#, - lig_small(128), + lnk.mn.beg kern 1/5 k#, + link(sh_small)(lnk.small.low), skipto 6; -ligtable "H": "K": "L": - 128 kern 1/8 k#, - 149 kern 1/6 k#, +ligtable "H": "K": "L": + lnk.small.low kern 1/8 k#, + lnk.mn.beg kern 1/6 k#, skipto 6; -ligtable "B": "C": "D": "M": "R": "T": "V": "W": "X": "Z": - "A": "À": "Á": "Â": "Ã": "Ä": - "E": "È": "É": "Ê": "Ë": - "O": "Ò": "Ó": "Ô": "Õ": "Ö": - "U": "Ù": "Ú": "Û": "Ü": - 149 kern 1/6 k#, +ligtable "B": "C": 199: "D": "M": "R": "T": "V": "W": "X": "Z": + "A": 192: 193: 194: 195: 196: 197: + "E": 200: 201: 202: 203: + "O": 210: 211: 212: 213: 214: 216: + "U": 217: 218: 219: 220: + lnk.mn.beg kern 1/6 k#, 6:: - lig_small(128), - "h" |=:| 145, "k" |=:| 145, - lig_loop(132), - lig_vert(136), - lig_far(142), - lig_mn(149); + links (med) (hloop), + links (low) (small, loop, vert), + links (med) (far), + links (beg) (mn); bye. diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frca10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frca10.tfm Binary files differindex d6978e3b527..be3cdf9cf0a 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frca10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frca10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx10.tfm Binary files differindex c4f6d91c4e8..b938299d944 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx11.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx11.tfm Binary files differdeleted file mode 100644 index 4c432b0af32..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx11.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx12.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx12.tfm Binary files differdeleted file mode 100644 index a0920b5b2e9..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx12.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx14.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx14.tfm Binary files differindex d9eea1c9f51..e9d57a56a10 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx14.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx14.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx17.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx17.tfm Binary files differdeleted file mode 100644 index f180dc96f55..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx17.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx6.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx6.tfm Binary files differnew file mode 100644 index 00000000000..e8730d98fdf --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx6.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx7.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx7.tfm Binary files differdeleted file mode 100644 index 73d632c9d69..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx7.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx8.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx8.tfm Binary files differdeleted file mode 100644 index fd323b8c94c..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx8.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx9.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx9.tfm Binary files differdeleted file mode 100644 index 55e93af18b2..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcbx9.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc10.tfm Binary files differindex 63608cf5389..cf63147273b 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc11.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc11.tfm Binary files differdeleted file mode 100644 index 33923a7a57d..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc11.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc12.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc12.tfm Binary files differdeleted file mode 100644 index 769594bb2b3..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc12.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc14.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc14.tfm Binary files differindex ededc282110..9f14f5c4c8d 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc14.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc14.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcc6.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc6.tfm Binary files differnew file mode 100644 index 00000000000..a54a824f645 --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcc6.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf10.tfm Binary files differindex f241f5e728f..567df6104c7 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf11.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf11.tfm Binary files differdeleted file mode 100644 index 3d1d3d676d6..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf11.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf12.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf12.tfm Binary files differdeleted file mode 100644 index 67042dbe263..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf12.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf14.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf14.tfm Binary files differindex eb4d50c3ef0..bdf3297333d 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf14.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf14.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcf6.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf6.tfm Binary files differnew file mode 100644 index 00000000000..2c205b22c69 --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcf6.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr10.tfm Binary files differindex 46f417e6ccc..51da26447e7 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr11.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr11.tfm Binary files differdeleted file mode 100644 index c828a499910..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr11.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr12.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr12.tfm Binary files differdeleted file mode 100644 index bc8daabe326..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr12.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr14.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr14.tfm Binary files differindex 02df4918e28..ae3696e2eab 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr14.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr14.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr17.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr17.tfm Binary files differdeleted file mode 100644 index 670aa5768b7..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr17.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr6.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr6.tfm Binary files differnew file mode 100644 index 00000000000..769f627970b --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr6.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr7.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr7.tfm Binary files differdeleted file mode 100644 index 4f70645471a..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr7.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr8.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr8.tfm Binary files differdeleted file mode 100644 index 4d2c67c9331..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr8.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr9.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcr9.tfm Binary files differdeleted file mode 100644 index 20bfcafc0b2..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcr9.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl10.tfm Binary files differindex 0a2f9f32c16..af586df24f0 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl11.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl11.tfm Binary files differdeleted file mode 100644 index 032554a28c4..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl11.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl12.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl12.tfm Binary files differdeleted file mode 100644 index 3089dd3375b..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl12.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl14.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl14.tfm Binary files differindex 164df7063d2..feae64c4242 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl14.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl14.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl17.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl17.tfm Binary files differdeleted file mode 100644 index a6d3a38f44c..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl17.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl6.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl6.tfm Binary files differnew file mode 100644 index 00000000000..e731e28c830 --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl6.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl7.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl7.tfm Binary files differdeleted file mode 100644 index 43b1f0bfe42..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl7.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl8.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl8.tfm Binary files differdeleted file mode 100644 index 25d6acae7c2..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl8.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl9.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl9.tfm Binary files differdeleted file mode 100644 index 014eda94933..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcsl9.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx10.tfm Binary files differindex 83d2b714190..5304d647de0 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx11.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx11.tfm Binary files differdeleted file mode 100644 index f128d1ce1ad..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx11.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx12.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx12.tfm Binary files differdeleted file mode 100644 index fe22558015a..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx12.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx14.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx14.tfm Binary files differindex 03547679f6d..4e3383e07e2 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx14.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx14.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx17.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx17.tfm Binary files differdeleted file mode 100644 index 89bea9d8b07..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx17.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx6.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx6.tfm Binary files differnew file mode 100644 index 00000000000..964a2a4405a --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx6.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx7.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx7.tfm Binary files differdeleted file mode 100644 index 7439c0b7605..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx7.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx8.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx8.tfm Binary files differdeleted file mode 100644 index 179765d0852..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx8.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx9.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx9.tfm Binary files differdeleted file mode 100644 index d8b9a982b0d..00000000000 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslbx9.tfm +++ /dev/null diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc10.tfm Binary files differnew file mode 100644 index 00000000000..a8b8dc82318 --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc10.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc14.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc14.tfm Binary files differnew file mode 100644 index 00000000000..31a335fd919 --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc14.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc6.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc6.tfm Binary files differnew file mode 100644 index 00000000000..ca6fdea0e74 --- /dev/null +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcslc6.tfm diff --git a/Master/texmf-dist/fonts/tfm/public/frcursive/frcw10.tfm b/Master/texmf-dist/fonts/tfm/public/frcursive/frcw10.tfm Binary files differindex 9437516bc1a..b1a91ca5bf3 100644 --- a/Master/texmf-dist/fonts/tfm/public/frcursive/frcw10.tfm +++ b/Master/texmf-dist/fonts/tfm/public/frcursive/frcw10.tfm diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frca10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frca10.pfb Binary files differnew file mode 100644 index 00000000000..74926ceac50 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frca10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcbx10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcbx10.pfb Binary files differnew file mode 100644 index 00000000000..5a67407e207 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcbx10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcbx14.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcbx14.pfb Binary files differnew file mode 100644 index 00000000000..e06c41a2d62 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcbx14.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcbx6.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcbx6.pfb Binary files differnew file mode 100644 index 00000000000..9778a9836fc --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcbx6.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcc10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcc10.pfb Binary files differnew file mode 100644 index 00000000000..b3b82e85160 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcc10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcc14.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcc14.pfb Binary files differnew file mode 100644 index 00000000000..d3cd2a8acc5 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcc14.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcc6.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcc6.pfb Binary files differnew file mode 100644 index 00000000000..81a041a9ae3 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcc6.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcf10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcf10.pfb Binary files differnew file mode 100644 index 00000000000..ed38900d0ef --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcf10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcf14.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcf14.pfb Binary files differnew file mode 100644 index 00000000000..ade2d4ec051 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcf14.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcf6.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcf6.pfb Binary files differnew file mode 100644 index 00000000000..3bda86af0df --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcf6.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcr10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcr10.pfb Binary files differnew file mode 100644 index 00000000000..d27ed9247dd --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcr10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcr14.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcr14.pfb Binary files differnew file mode 100644 index 00000000000..f8d7ef4017b --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcr14.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcr6.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcr6.pfb Binary files differnew file mode 100644 index 00000000000..aa77b25a0f4 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcr6.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcsl10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcsl10.pfb Binary files differnew file mode 100644 index 00000000000..9d5f7f93f38 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcsl10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcsl14.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcsl14.pfb Binary files differnew file mode 100644 index 00000000000..170806e81e1 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcsl14.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcsl6.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcsl6.pfb Binary files differnew file mode 100644 index 00000000000..d6d207b2383 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcsl6.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx10.pfb Binary files differnew file mode 100644 index 00000000000..814eed8b2a3 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx14.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx14.pfb Binary files differnew file mode 100644 index 00000000000..4070d443a92 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx14.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx6.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx6.pfb Binary files differnew file mode 100644 index 00000000000..bbe2797693a --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcslbx6.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcslc10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcslc10.pfb Binary files differnew file mode 100644 index 00000000000..d4311123d19 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcslc10.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcslc14.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcslc14.pfb Binary files differnew file mode 100644 index 00000000000..56abb1f0d96 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcslc14.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcslc6.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcslc6.pfb Binary files differnew file mode 100644 index 00000000000..f7aede54ee2 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcslc6.pfb diff --git a/Master/texmf-dist/fonts/type1/public/frcursive/frcw10.pfb b/Master/texmf-dist/fonts/type1/public/frcursive/frcw10.pfb Binary files differnew file mode 100644 index 00000000000..1cfcc005a61 --- /dev/null +++ b/Master/texmf-dist/fonts/type1/public/frcursive/frcw10.pfb |