From d0f37b5464e8b3f47e57d9dbb491e03df8ce3199 Mon Sep 17 00:00:00 2001 From: be5invis Date: Wed, 29 Jul 2020 22:17:50 -0700 Subject: [PATCH] Aliased glyph cleanup --- font-src/glyphs/autobuild-transformed.ptl | 6 +- font-src/glyphs/letter-greek.ptl | 55 ++-- font-src/glyphs/letter-latin.ptl | 292 ++++++++++------------ font-src/glyphs/numbers.ptl | 8 +- font-src/glyphs/symbol-math.ptl | 2 +- font-src/glyphs/symbol-other.ptl | 20 +- font-src/glyphs/symbol-punctuation.ptl | 15 +- font-src/meta/macros.ptl | 8 +- 8 files changed, 194 insertions(+), 212 deletions(-) diff --git a/font-src/glyphs/autobuild-transformed.ptl b/font-src/glyphs/autobuild-transformed.ptl index 5efad6a7c..633eb046c 100644 --- a/font-src/glyphs/autobuild-transformed.ptl +++ b/font-src/glyphs/autobuild-transformed.ptl @@ -242,7 +242,7 @@ glyph-block Autobuild-Transformed : begin list 0x1D9C 'c' list 0x1D9D 'ccurlytail' list 0x1D9E 'eth' - list 0x1D9F 'revlatinepsilon' + list 0x1D9F 'revLatinEpsilon' list 0x1DA0 'f' list 0x1DA1 'turnf' list 0x1DA2 'scriptg' @@ -475,7 +475,7 @@ glyph-block Autobuild-Rhotic : begin glyph-block-import CommonShapes glyph-block-import Letter-Latin-Rhotic : ErTail - if [not recursive] : let [thinfont : Widen {'schwa' 'revlatinepsilon'} 0.85 1] : begin + if [not recursive] : let [thinfont : Widen {'schwa' 'revLatinEpsilon'} 0.85 1] : begin create-glyph 'er' 0x25A : glyph-proc # er include MarkSet.e include thinfont.schwa @@ -483,5 +483,5 @@ glyph-block Autobuild-Rhotic : begin create-glyph 'revlatinepsiloner' 0x25D : glyph-proc # revlatinepsiloner include MarkSet.e - include thinfont.revlatinepsilon + include thinfont.revLatinEpsilon include : ErTail (Width * 0.85 - SB - markFine * HVContrast * 1.25) diff --git a/font-src/glyphs/letter-greek.ptl b/font-src/glyphs/letter-greek.ptl index df2f4f69b..47f87d78e 100644 --- a/font-src/glyphs/letter-greek.ptl +++ b/font-src/glyphs/letter-greek.ptl @@ -53,30 +53,33 @@ glyph-block Letter-Greek-Upper-Gamma: begin include MarkSet.capital include : GammaShape CAP - create-aliased 'cyrl/Ghe' 0x413 - create-derived 'cyrl/GheHook' 0x494 : glyph-proc - include : nShoulder - left -- (GammaBarLeft + Stroke) - right -- RightSB - top -- CAP * HBarPos + Stroke / 4 - bottom -- 0 - sma -- SmoothA - smb -- SmoothB - include : VerticalHook (RightSB - HalfStroke * HVContrast) 0 (-HookX) Hook + alias 'cyrl/Ghe' 0x413 'Gamma' + + create-glyph 'cyrl/GheHook' 0x494 : glyph-proc + include [refer-glyph 'cyrl/Ghe'] AS_BASE ALSO_METRICS + include : nShoulder + left -- (GammaBarLeft + Stroke) + right -- RightSB + top -- CAP * HBarPos + Stroke / 4 + bottom -- 0 + sma -- SmoothA + smb -- SmoothB + include : VerticalHook (RightSB - HalfStroke * HVContrast) 0 (-HookX) Hook create-glyph 'cyrl/ghe.upright' : glyph-proc include MarkSet.e include : GammaShape XH - create-derived 'cyrl/gheHook' 0x495 : glyph-proc - include : nShoulder - left -- (GammaBarLeft + Stroke) - right -- RightSB - top -- XH * HBarPos + Stroke / 4 - bottom -- 0 - sma -- SmoothA * [Math.pow HBarPos 0.3] - smb -- SmoothB * [Math.pow HBarPos 0.3] - include : VerticalHook (RightSB - HalfStroke * HVContrast) 0 (-HookX) Hook + create-glyph 'cyrl/gheHook' 0x495 : glyph-proc + include [refer-glyph 'cyrl/ghe.upright'] AS_BASE ALSO_METRICS + include : nShoulder + left -- (GammaBarLeft + Stroke) + right -- RightSB + top -- XH * HBarPos + Stroke / 4 + bottom -- 0 + sma -- SmoothA * [Math.pow HBarPos 0.3] + smb -- SmoothB * [Math.pow HBarPos 0.3] + include : VerticalHook (RightSB - HalfStroke * HVContrast) 0 (-HookX) Hook create-glyph 'cyrl/ghe.SRB' : glyph-proc include [refer-glyph 'dotlessi'] AS_BASE @@ -167,8 +170,8 @@ glyph-block Letter-Greek-Lower-Delta : begin arcvh g4 xOTLeft (bar - (Stroke - fine) / 2) [widths 0 fine] - create-aliased 'cyrl/be.SRB' - create-aliased 'latindelta' 0x1E9F + alias 'cyrl/be.SRB' null 'delta' + alias 'latindelta' 0x1E9F 'delta' turned 'turndelta' 0x18D 'delta' Middle (XH / 2) MarkSet.p @@ -234,8 +237,9 @@ glyph-block Letter-Greek-Lower-Epsilon : begin create-glyph 'epsilon' 0x3B5 : glyph-proc include MarkSet.e include : SmallEpsilonShape XH 0 StdBlend SHook - create-aliased 'latinepsilon' 0x25B - create-derived 'turnepsilon' 0x1D08 : FlipAround Middle (XH / 2) + + alias 'latinepsilon' 0x25B 'epsilon' + turned 'turnepsilon' 0x1D08 'epsilon' Middle (XH / 2) create-glyph 'latinEpsilon' 0x190 : glyph-proc include MarkSet.capital @@ -287,10 +291,11 @@ glyph-block Letter-Greek-Lower-Epsilon : begin apply-transform : Translate 0 (XH - CAP) apply-transform : Italify - create-glyph 'revlatinepsilon' 0x25C : glyph-proc + create-glyph 'revLatinEpsilon' 0x25C : glyph-proc include MarkSet.e include : CyrZeShape XH 0 StdBlend SHook - create-aliased 'cyrl/ze' 0x437 + + alias 'cyrl/ze' 0x437 'revLatinEpsilon' create-glyph 'voicedlaryngenalspirant' 0x1D24 : glyph-proc include MarkSet.b diff --git a/font-src/glyphs/letter-latin.ptl b/font-src/glyphs/letter-latin.ptl index 63eecca11..935705637 100644 --- a/font-src/glyphs/letter-latin.ptl +++ b/font-src/glyphs/letter-latin.ptl @@ -126,7 +126,8 @@ glyph-block Letter-Latin-Lower-I : begin set-width df.width include df.markSet.e include : IotaShape XH - create-aliased 'latiniota' 0x269 + + alias 'latiniota' 0x269 'iota' create-glyph 'latinIota' 0x196 : glyph-proc local df : DivFrame para.diversityI @@ -763,12 +764,8 @@ glyph-block Letter-Latin-V : begin create-glyph : glyph-proc include MarkSet.e - create-derived 'vhooktop.straight' : glyph-proc - include : VHooktopShape XH Stroke true - create-aliased 'cyrl/izhitsa.straight' - create-derived 'vhooktop.curly' : glyph-proc - include : VHooktopShape XH Stroke false - create-aliased 'cyrl/izhitsa.curly' + create-derived 'vhooktop.straight' : VHooktopShape XH Stroke true + create-derived 'vhooktop.curly' : VHooktopShape XH Stroke false create-glyph : glyph-proc include MarkSet.capital @@ -778,8 +775,8 @@ glyph-block Letter-Latin-V : begin select-variant 'V' 'V' select-variant 'v' 'v' select-variant 'vhooktop' 0x2C71 (follow -- 'v') - select-variant 'cyrl/izhitsa' 0x475 (follow -- 'v') select-variant 'cyrl/Izhitsa' 0x474 (follow -- 'V') + alias 'cyrl/izhitsa' 0x475 'vhooktop' turned 'turnv.straight' nothing 'v.straight' Middle (XH / 2) @@ -826,9 +823,6 @@ glyph-block Letter-Latin-Upper-A : begin include : intersection HBarTop 0 Width ABarPosition AMaskShape CAP Stroke true 1 - # include : AMaskShape CAP Stroke true 1 - create-aliased 'Alpha.straight' - create-aliased 'cyrl/A.straight' create-derived 'A.curly' : glyph-proc include : VShape CAP Stroke false @@ -836,16 +830,11 @@ glyph-block Letter-Latin-Upper-A : begin include : intersection HBarTop 0 Width ABarPosition AMaskShape CAP Stroke false 1 - create-aliased 'Alpha.curly' - create-aliased 'cyrl/A.curly' select-variant 'A' 'A' - select-variant 'Alpha' 0x391 (follow -- 'A') - select-variant 'cyrl/A' 0x410 (follow -- 'A') - - turned 'turnA.straight' nothing 'A.straight' Middle (CAP / 2) - turned 'turnA.curly' nothing 'A.curly' Middle (CAP / 2) - select-variant 'turnA' 0x2C6F (follow -- 'A') + alias 'Alpha' 0x391 'A' + alias 'cyrl/A' 0x410 'A' + turned 'turnA' 0x2C6F 'A' Middle (CAP / 2) # Lambda define [LambdaShape] : params [top sw barStraight div [slab SLAB]] : glyph-proc @@ -858,15 +847,11 @@ glyph-block Letter-Latin-Upper-A : begin create-glyph : glyph-proc include MarkSet.capital - create-derived 'Lambda.straight' : glyph-proc - include : LambdaShape CAP Stroke true - create-aliased 'latinLambda.straight' - create-derived 'Lambda.curly' : glyph-proc - include : LambdaShape CAP Stroke false - create-aliased 'latinLambda.curly' + create-derived 'Lambda.straight' : LambdaShape CAP Stroke true + create-derived 'Lambda.curly' : LambdaShape CAP Stroke false select-variant 'Lambda' 0x39B - select-variant 'latinLambda' 0x245 (follow -- 'Lambda') + alias 'latinLambda' 0x245 'Lambda' # Delta define [DeltaShape top sw barStraight div] : union @@ -1043,6 +1028,7 @@ glyph-block Letter-Latin-Lower-A : begin glyph-block Letter-Latin-W : begin glyph-block-import CommonShapes glyph-block-import Overmarks + glyph-block-import Letter-Shared : CreateDerivedLetter ### W and w define [WShape top barStraight df] : glyph-proc @@ -1153,32 +1139,17 @@ glyph-block Letter-Latin-W : begin local df : DivFrame para.diversityM 3 set-width df.width include df.markSet.capital - create-derived 'W.straightFlatTop' : glyph-proc - include : WShape CAP 2 df - create-aliased 'cyrl/We.straightFlatTop' - create-derived 'symbol/currency/wonSign.straightFlatTop' : WonOverlay df - create-derived 'W.straight' : glyph-proc - include : WShape CAP 1 df - create-aliased 'cyrl/We.straight' - create-derived 'symbol/currency/wonSign.straight' : WonOverlay df - create-derived 'W.curly' : glyph-proc - include : WShape CAP 0 df - create-aliased 'cyrl/We.curly' - create-derived 'symbol/currency/wonSign.curly' : WonOverlay df + create-derived 'W.straightFlatTop' : WShape CAP 2 df + create-derived 'W.straight' : WShape CAP 1 df + create-derived 'W.curly' : WShape CAP 0 df create-glyph : glyph-proc local df : DivFrame para.diversityM 3 set-width df.width include df.markSet.e - create-derived 'w.straightFlatTop' : glyph-proc - include : WShape XH 2 df - create-aliased 'cyrl/we.straightFlatTop' - create-derived 'w.straight' : glyph-proc - include : WShape XH 1 df - create-aliased 'cyrl/we.straight' - create-derived 'w.curly' : glyph-proc - include : WShape XH 0 df - create-aliased 'cyrl/we.curly' + create-derived 'w.straightFlatTop' : WShape XH 2 df + create-derived 'w.straight' : WShape XH 1 df + create-derived 'w.curly' : WShape XH 0 df define [WHooktopShape top barStraight df] : glyph-proc local fineOuter : if barStraight @@ -1238,20 +1209,24 @@ glyph-block Letter-Latin-W : begin create-derived 'ww.curly' : LowerWWShape df 0 select-variant 'W' 'W' - select-variant 'cyrl/We' 0x51C (follow -- 'W') select-variant 'Whooktop' 0x2C72 (follow -- 'W') - select-variant 'symbol/currency/wonSign' 0x20A9 (follow -- 'W') select-variant 'w' 'w' - select-variant 'cyrl/we' 0x51D (follow -- 'w') select-variant 'ww' 0x2AC (follow -- 'w') select-variant 'whooktop' 0x2C73 (follow -- 'w') - + alias 'cyrl/We' 0x51C 'W' + alias 'cyrl/we' 0x51D 'w' turned 'turnw' 0x28D 'w' (Middle * para.diversityM) (XH / 2) + CreateDerivedLetter 'W' 'symbols/currency/wonSign' 0x20A9 : lambda [src sel] : glyph-proc + local df : DivFrame para.diversityM 3 + include [refer-glyph src] AS_BASE ALSO_METRICS + include [WonOverlay df] + glyph-block Letter-Latin-X : begin glyph-block-import CommonShapes glyph-block-import Overmarks glyph-block-export HalfXStrand XStrand + glyph-block-import Letter-Shared : CreateDerivedLetter define [HalfXStrand stb slab _leftx lefty rightx righty turn pStraight tension _fine] : glyph-proc local sbCor : if stb ([StrokeWidthBlend 1 6] * OX * ([Math.abs (lefty - righty)] / CAP)) 0 @@ -1296,18 +1271,12 @@ glyph-block Letter-Latin-X : begin XStrand true SLAB SB 0 RightSB CAP 0.1 0.4 0.28 XStrand true SLAB SB CAP RightSB 0 0.1 0.4 0.28 include : AIHSerifs CAP - create-aliased 'Chi.straight' - create-aliased 'cyrl/Ha.straight' - create-derived 'cyrl/Hadescender.straight' : CyrDescender RightSB (connex -- 0.5) create-derived 'X.curly' : glyph-proc include : WithAIHSerifsMask CAP 0 SB RightSB : union XStrand false SLAB SB 0 RightSB CAP 0.1 0.4 0.28 XStrand false SLAB SB CAP RightSB 0 0.1 0.4 0.28 include : AIHSerifs CAP - create-aliased 'Chi.curly' - create-aliased 'cyrl/Ha.curly' - create-derived 'cyrl/Hadescender.curly' : CyrDescender RightSB create-glyph : glyph-proc include MarkSet.e @@ -1319,15 +1288,11 @@ glyph-block Letter-Latin-X : begin XStrand true SLAB SB 0 RightSB XH turn 0.4 tension XStrand true SLAB SB XH RightSB 0 turn 0.4 tension include : AIHSerifs XH - create-aliased 'cyrl/ha.straight' - create-derived 'cyrl/hadescender.straight' : CyrDescender RightSB (connex -- 0.5) create-derived 'x.curly' : glyph-proc include : WithAIHSerifsMask XH 0 SB RightSB : union XStrand false SLAB SB 0 RightSB XH turn 0.4 tension XStrand false SLAB SB XH RightSB 0 turn 0.4 tension include : AIHSerifs XH - create-aliased 'cyrl/ha.curly' - create-derived 'cyrl/hadescender.curly' : CyrDescender RightSB create-glyph : glyph-proc set-width Width @@ -1337,27 +1302,34 @@ glyph-block Letter-Latin-X : begin include : union XStrand true false SB Descender RightSB XH 0.05 0.4 0.11 XStrand true false SB XH RightSB Descender 0.05 0.4 0.11 - create-aliased 'latinchi.straight' create-derived 'chi.curly' : glyph-proc include : union XStrand false false SB Descender RightSB XH 0.05 0.4 0.11 XStrand false false SB XH RightSB Descender 0.05 0.4 0.11 - create-aliased 'latinchi.curly' select-variant 'X' 'X' - select-variant 'Chi' 0x3A7 (follow -- 'X') - select-variant 'cyrl/Ha' 0x425 (follow -- 'X') - select-variant 'cyrl/Hadescender' 0x4B2 (follow -- 'X') select-variant 'x' 'x' - select-variant 'cyrl/ha' 0x445 (follow -- 'x') select-variant 'chi' 0x3C7 (follow -- 'x') - select-variant 'latinchi' 0xAB53 (follow -- 'x') - select-variant 'cyrl/hadescender' 0x4B3 (follow -- 'x') + + alias 'Chi' 0x3A7 'X' + alias 'cyrl/Ha' 0x425 'X' + alias 'cyrl/ha' 0x445 'x' + alias 'latinchi' 0xAB53 'chi' + + CreateDerivedLetter 'X' 'cyrl/Hadescender' 0x4B2 : lambda [src sel] : glyph-proc + include [refer-glyph src] AS_BASE ALSO_METRICS + include : CyrDescender RightSB (connex -- 0.5) + + CreateDerivedLetter 'x' 'cyrl/hadescender' 0x4B3 : lambda [src sel] : glyph-proc + include [refer-glyph src] AS_BASE ALSO_METRICS + include : CyrDescender RightSB (connex -- 0.5) + glyph-block Letter-Latin-Upper-Y : begin glyph-block-import CommonShapes glyph-block-import Overmarks glyph-block-import Letter-Latin-X : HalfXStrand + glyph-block-import Letter-Shared : CreateDerivedLetter define [YShape straightBar top bot] : glyph-proc local cross : mix [fallback bot 0] top 0.4 @@ -1377,16 +1349,8 @@ glyph-block Letter-Latin-Upper-Y : begin create-glyph : glyph-proc include MarkSet.capital - create-derived 'Y.straight' : glyph-proc - include : YShape true CAP - create-aliased 'Upsilon.straight' - create-aliased 'cyrl/Ue.straight' - create-derived 'symbol/currency/yenSign.straight' : YOverlayShape - create-derived 'Y.curly' : glyph-proc - include : YShape false CAP - create-aliased 'Upsilon.curly' - create-aliased 'cyrl/Ue.curly' - create-derived 'symbol/currency/yenSign.curly' : YOverlayShape + create-derived 'Y.straight' : YShape true CAP + create-derived 'Y.curly' : YShape false CAP define [YHookTopShape straightBar] : glyph-proc include : YShape straightBar CAP @@ -1420,10 +1384,13 @@ glyph-block Letter-Latin-Upper-Y : begin select-variant 'Y' 'Y' select-variant 'Yhooktop' 0x1B3 (follow -- 'Y') select-variant 'smcpY' 0x28F (follow -- 'Y') - select-variant 'Upsilon' 0x3A5 (follow -- 'Y') - select-variant 'cyrl/Ue' 0x4AE (follow -- 'Y') select-variant 'cyrl/ue' 0x4AF (follow -- 'Y') - select-variant 'symbol/currency/yenSign' 0xA5 (follow -- 'Y') + + alias 'Upsilon' 0x3A5 'Y' + alias 'cyrl/Ue' 0x4AE 'Y' + CreateDerivedLetter 'Y' 'symbol/currency/yenSign' 0xA5 : lambda [src sel] : glyph-proc + include [refer-glyph src] AS_BASE ALSO_METRICS + include : YOverlayShape glyph-block Letter-Latin-Lower-Y : begin glyph-block-import CommonShapes @@ -1618,15 +1585,12 @@ glyph-block Letter-Latin-Lower-Y : begin create-derived 'y.straight' : glyph-proc include : [GenSmallYShape true false].SmallYShape XH Descender set-base-anchor 'overlay' Middle (XH / 2) - create-aliased 'cyrl/u.straight' create-derived 'y.straightTurn' : glyph-proc include : [GenSmallYShape true true].SmallYShape XH Descender set-base-anchor 'overlay' Middle (XH / 2) - create-aliased 'cyrl/u.straightTurn' create-derived 'y.curly' : glyph-proc include : [GenSmallYShape false SLAB].SmallYShape XH Descender set-base-anchor 'overlay' Middle (XH / 2) - create-aliased 'cyrl/u.curly' create-glyph 'y.cursive' : glyph-proc include MarkSet.p @@ -1644,10 +1608,9 @@ glyph-block Letter-Latin-Lower-Y : begin if SLAB : begin include : LeftwardTopSerif SB XH SideJut set-base-anchor 'overlay' Middle (XH / 2) - create-aliased 'cyrl/u.cursive' select-variant 'y' 'y' - select-variant 'cyrl/u' 0x443 (follow -- 'y') + alias 'cyrl/u' 0x443 'y' create-glyph : glyph-proc @@ -1835,8 +1798,6 @@ glyph-block Letter-Latin-K : begin set-width Width include MarkSet.capital include : KShape true - create-aliased 'Kappa.straight' - create-aliased 'cyrl/Ka.straight' create-derived 'cyrl/KaDescender.straight' CyrDescender (RightSB + [KBalanceRight true] - [KO true CAP Stroke]) (connex -- 1) @@ -1844,14 +1805,12 @@ glyph-block Letter-Latin-K : begin set-width Width include MarkSet.capital include : KShape false - create-aliased 'Kappa.curly' - create-aliased 'cyrl/Ka.curly' create-derived 'cyrl/KaDescender.curly' CyrDescender (RightSB + [KBalanceRight false] - [KO false CAP Stroke]) select-variant 'K' 'K' - select-variant 'Kappa' 0x39A (follow -- 'K') - select-variant 'cyrl/Ka' 0x41A (follow -- 'K') + alias 'Kappa' 0x39A 'K' + alias 'cyrl/Ka' 0x41A 'K' select-variant 'cyrl/KaDescender' 0x49A (follow -- 'K') define [LowerKShape straightBar] : glyph-proc @@ -1915,7 +1874,6 @@ glyph-block Letter-Latin-K : begin set-width Width include MarkSet.e include : LowerCyrKaShape true - create-aliased 'latinkappa.straight' create-derived 'cyrl/kaDescender.straight' CyrDescender (RightSB + [KBalanceRight true] - [KO true XH Stroke]) (connex -- 1) @@ -1923,12 +1881,11 @@ glyph-block Letter-Latin-K : begin set-width Width include MarkSet.e include : LowerCyrKaShape false - create-aliased 'latinkappa.curly' create-derived 'cyrl/kaDescender.curly' CyrDescender (RightSB + [KBalanceRight false] - [KO false XH Stroke]) select-variant 'cyrl/ka' 0x43A (follow -- 'K') - select-variant 'latinkappa' 0x138 (follow -- 'K') + alias 'latinkappa' 0x138 'cyrl/ka' select-variant 'cyrl/kaDescender' 0x49B (follow -- 'K') define [KHookTopShape straightBar] : glyph-proc @@ -2119,7 +2076,6 @@ glyph-block Letter-Latin-Upper-B : begin create-glyph 'cyrl/ve.italic' : glyph-proc include MarkSet.e include : ItalicCyrveShape XH - create-aliased 'closeturnepsilon' 0x25E create-glyph 'cyrl/ve.BGR' : glyph-proc include MarkSet.e @@ -2128,8 +2084,10 @@ glyph-block Letter-Latin-Upper-B : begin create-glyph 'cyrl/ve.upright' : glyph-proc include MarkSet.e include : BShape XH - create-aliased 'smcpB' 0x299 + italic-variant 'cyrl/ve' 0x432 + alias 'smcpB' 0x299 'cyrl/ve.upright' + alias 'closeturnepsilon' 0x25E 'cyrl/ve.italic' create-glyph 'closeepsilon' 0x29A : glyph-proc include MarkSet.e @@ -2504,8 +2462,9 @@ glyph-block Letter-Latin-Upper-P : begin include : PShape CAP if SLAB : begin include : RightwardBottomSerif (SB * PShape.defaultMul + HalfStroke * HVContrast) 0 MidJutSide - create-aliased 'Rho' 0x3A1 - create-aliased 'cyrl/Er' 0x420 + + alias 'Rho' 0x3A1 'P' + alias 'cyrl/Er' 0x420 'P' create-glyph 'Phookleft' 0x1A4 : glyph-proc include [refer-glyph 'P'] AS_BASE @@ -2902,13 +2861,12 @@ glyph-block Letter-Latin-Lower-R : begin select-variant 'turnrrtail' 0x27B (follow -- 'r') - create-glyph : glyph-proc + create-glyph 'rflap.straight' : glyph-proc set-width dfR.width include dfR.markSet.e define [object rbar rBottomSerif rHookY] : RDim rStraight local rHookX (RightSB + RBalance2 - (OX - O)) local rmiddle : [mix rbar (rHookX - HalfStroke) 0.5] - CorrectionOMidS - include : dispiro widths.lhs g4 rHookX (XH - rHookY) @@ -2916,10 +2874,10 @@ glyph-block Letter-Latin-Lower-R : begin flat (rbar - Stroke * HVContrast) (XH - SmallSmoothA) curl (rbar - Stroke * HVContrast) 0 [heading Downward] - create-aliased 'rflap.straight' - create-aliased 'rflap.top-serifed' create-derived 'rflap.serifed' : rBottomSerif 0 + alias 'rflap.top-serifed' null 'rflat.straight' + create-glyph 'rflap.narrow' : glyph-proc set-width dfR.width include dfR.markSet.e @@ -2965,8 +2923,9 @@ glyph-block Letter-Latin-C : begin set-width Width include MarkSet.capital include : CShape CAP 0 - create-aliased 'cyrl/Es' 0x421 - create-aliased 'lunateSigma' 0x3F9 + + alias 'cyrl/Es' 0x421 'C' + alias 'lunateSigma' 0x3F9 'C' create-glyph 'symbol/currency/euroSign' 0x20AC : glyph-proc include [refer-glyph "C"] AS_BASE ALSO_METRICS @@ -2985,8 +2944,9 @@ glyph-block Letter-Latin-C : begin curl (SB + OX) (0 + SmallSmoothB) hookend O g4 RightSB Hook - create-aliased 'cyrl/es' 0x441 - create-aliased 'lunatesigma' 0x3F2 + + alias 'cyrl/es' 0x441 'c' + alias 'lunatesigma' 0x3F2 'c' create-glyph 'symbol/currency/centSign' 0xA2 : glyph-proc define fine : adviceBlackness 4 @@ -3255,8 +3215,9 @@ glyph-block Letter-Latin-Lower-G : begin g4 SB (Descender + SHook) if SLAB : begin include : tagged 'serifRT' : RightwardTopSerif RightSB XH SideJut - create-aliased 'scriptg' 0x261 - create-aliased 'cyrl/de.SRB' + + alias 'scriptg' 0x261 'g.singleStorey' + alias 'cyrl/de.SRB' null 'g.singleStorey' create-glyph 'g.singleStoreyEarlessCorner' : glyph-proc set-width Width @@ -3323,15 +3284,16 @@ glyph-block Letter-Latin-O : begin include MarkSet.capital include : OShape CAP 0 SB RightSB nothing SmoothA SmoothB set-base-anchor 'trailing' Middle 0 - create-aliased 'Omicron' 0x39F - create-aliased 'cyrl/O' 0x41E create-glyph 'o' 'o' : glyph-proc include MarkSet.e include : OShape XH 0 SB RightSB nothing nothing nothing set-base-anchor 'trailing' Middle 0 - create-aliased 'omicron' 0x3BF - create-aliased 'cyrl/o' 0x43e + + alias 'Omicron' 0x39F 'O' + alias 'cyrl/O' 0x41E 'O' + alias 'omicron' 0x3BF 'o' + alias 'cyrl/o' 0x43e 'o' create-glyph 'OHorn' 0x01A0 : glyph-proc include MarkSet.capital @@ -3370,13 +3332,14 @@ glyph-block Letter-Latin-O : begin create-glyph 'Obar' 0x19F : glyph-proc include [refer-glyph 'O'] AS_BASE include : HBar (SB + OX + 1) (RightSB - OX - 1) (CAP * 0.5) OverlayStroke - create-aliased 'cyrl/Oe' 0x4E8 - create-aliased 'capSymbolTheta' 0x3F4 create-glyph 'obar' 0x275 : glyph-proc include [refer-glyph 'o'] AS_BASE include : HBar (SB + OX + 1) (RightSB - OX - 1) (XH * 0.5) OverlayStroke - create-aliased 'cyrl/oe' 0x4E9 + + alias 'cyrl/Oe' 0x4E8 'Obar' + alias 'capSymbolTheta' 0x3F4 'Obar' + alias 'cyrl/oe' 0x4E9 'obar' create-glyph 'bulleye' 0x298 : glyph-proc include [refer-glyph 'O'] AS_BASE @@ -3595,7 +3558,8 @@ glyph-block Letter-Latin-Upper-N : begin include MarkSet.capital include : NShape CAP SB RightSB set-base-anchor 'trailing' (RightSB - markHalfStroke) 0 - create-aliased 'Nu' 0x39D + + alias 'Nu' 0x39D 'N' create-glyph 'smcpN' 0x274 : glyph-proc include MarkSet.e @@ -4086,13 +4050,15 @@ glyph-block Letter-Latin-Upper-H : begin set-width Width include MarkSet.capital include : HShape CAP - create-aliased 'Eta' 0x397 - create-aliased 'cyrl/En' 0x41D + + alias 'Eta' 0x397 'H' + alias 'cyrl/En' 0x41D 'H' create-glyph 'smcpH' 0x29C : glyph-proc include MarkSet.e include : HShape XH - create-aliased 'cyrl/en' 0x43D + + alias 'cyrl/en' 0x43D 'smcpH' composite [refer-glyph 'cyrl/En'] [CyrDescender RightSB] [into-unicode 0x4A2] composite [refer-glyph 'cyrl/en'] [CyrDescender RightSB] [into-unicode 0x4A3] @@ -4359,18 +4325,24 @@ glyph-block Letter-Latin-Lower-F : begin curl Middle (top - hooky) straight.right.end (Middle + hookx) (top - w / 2 - fovershoot) - create-glyph 'esh' 0x283 : glyph-proc + create-glyph 'longs.italic' : glyph-proc include MarkSet.if include : LongSShape CAP (-Hook) HookX Hook - create-aliased 'longs.italic' - create-derived 'eshbar' 0x284 : glyph-proc + create-derived 'longsbar.italic' : glyph-proc include : HOverlayBar Middle - LongJut * 0.75 Middle + LongJut * 0.75 [mix (XH - Stroke) CAP 0.5] - HalfStroke - create-aliased 'longsbar.italic' + create-derived 'eshbar' 0x284 : glyph-proc + include : HOverlayBar + Middle - LongJut * 0.75 + Middle + LongJut * 0.75 + [mix Stroke Descender 0.5] + HalfStroke + + + alias 'esh' 0x283 'longs.italic' italic-variant 'longs' 0x17F italic-variant 'longsbar' 0x1E9D @@ -4424,14 +4396,12 @@ glyph-block Letter-Latin-Lower-F : begin flat barleft (CAP - SmoothA * 0.8 - fovershoot2) curl barleft 0 [heading Downward] - create-derived : glyph-proc + create-derived 'f.straight' : glyph-proc include : dispiro widths.rhs flat ([mix SB RightSB 0] - HalfStroke * TanSlope) fbar curl ([mix SB RightSB 0.95] - HalfStroke * TanSlope) fbar - create-aliased 'f.straight' - create-aliased 'lenisf' 0xAB35 create-derived 'fltail' 0x192 VerticalHook (barleft + HalfStroke * HVContrast) 0 (-HookX) Hook @@ -4444,6 +4414,8 @@ glyph-block Letter-Latin-Lower-F : begin include MarkSet.if include : VBarLeft barleft 0 (Descender * 0.9) + alias 'lenisf' 0xAB35 'f.straight' + create-derived 'f.phoneticLeft' : glyph-proc include : dispiro widths.rhs @@ -4568,8 +4540,9 @@ glyph-block Letter-Latin-Upper-E : begin include MarkSet.capital include : EShape CAP set-base-anchor 'trailing' (RightSB - markHalfStroke) 0 - create-aliased 'Epsilon' 0x395 - create-aliased 'cyrl/Ie' 0x415 + + alias 'Epsilon' 0x395 'E' + alias 'cyrl/Ie' 0x415 'E' create-glyph 'revE' 0x18E : glyph-proc set-width Width @@ -4608,18 +4581,17 @@ glyph-block Letter-Latin-Lower-E : begin create-glyph 'e' 'e' : glyph-proc include MarkSet.e include : SmallEShape XH [adviceBlackness2 2.875 2 XH] - create-aliased 'cyrl/ie' 0x435 - - create-derived 'turne' 0x1DD : glyph-proc - include : FlipAround Middle (XH / 2) - create-aliased 'schwa' 0x259 - create-aliased 'cyrl/schwa' 0x4D9 create-glyph 'Schwa' 0x18F : glyph-proc include MarkSet.capital include : SmallEShape CAP [adviceBlackness2 2.875 2 CAP] include : FlipAround Middle (CAP / 2) - create-aliased 'cyrl/Schwa' 0x4D8 + + alias 'cyrl/ie' 0x435 'e' + turned 'turne' 0x1DD 'e' Middle (XH / 2) + alias 'schwa' 0x259 'turne' + alias 'cyrl/schwa' 0x4D9 'turne' + alias 'cyrl/Schwa' 0x4D8 'Schwa' define [RevSmallEShape top stroke barpos] : glyph-proc local barbottom (top * [fallback barpos designParameters.eBarPos] - HalfStroke) @@ -4665,15 +4637,10 @@ glyph-block Letter-Latin-Upper-T : begin set-base-anchor 'bottomright' (Middle + HalfStroke * HVContrast) 0 include : TShape CAP - create-aliased 'Tau' 0x3A4 - create-aliased 'cyrl/Te' 0x422 - create-derived 'cyrl/Tedescender' 0x4AC : glyph-proc include : CyrDescender (Middle + HalfStroke * HVContrast) (sideJut -- MidJutCenter - HalfStroke * HVContrast) include MarkSet.if - create-derived 'turnT' 0xA7B1 : FlipAround Middle (CAP / 2) - create-derived 'Tbar' 0x166 HOverlayBar [mix Middle SB 0.8] [mix Middle RightSB 0.8] [mix 0 CAP 0.45] @@ -4682,6 +4649,10 @@ glyph-block Letter-Latin-Upper-T : begin eject-contour 'strokeLT' include : LeftHook (SB + LeftHook.extension) CAP Middle + alias 'Tau' 0x3A4 'T' + alias 'cyrl/Te' 0x422 'T' + turned 'turnT' 0xA7B1 'T' Middle (CAP / 2) + create-glyph 'cyrl/te.upright' : glyph-proc include MarkSet.e include : TShape XH @@ -4902,12 +4873,14 @@ glyph-block Letter-Latin-S : begin create-glyph 'S' 'S' : glyph-proc include MarkSet.capital include : SStroke - create-aliased 'cyrl/Dze' 0x405 + + alias 'cyrl/Dze' 0x405 'S' create-glyph 's' 's' : glyph-proc include MarkSet.e include : sStroke - create-aliased 'cyrl/dze' 0x455 + + alias 'cyrl/dze' 0x455 's' create-glyph 's.phoneticRight' : glyph-proc include MarkSet.e @@ -4920,7 +4893,8 @@ glyph-block Letter-Latin-S : begin create-glyph 'revs' 0x1A8 : glyph-proc include MarkSet.e include : RevsStroke - create-aliased 'cyrl/ghe.italic' + + alias 'cyrl/ghe.italic' null 'revs' create-glyph 'srtail' 0x282 : glyph-proc include MarkSet.p @@ -5044,12 +5018,8 @@ glyph-block Letter-Latin-Z : begin include : DownwardLeftSerif SB CAP VJut include : tagged 'serifRB' : UpwardRightSerif RightSB 0 VJut - create-aliased 'Zeta' 0x396 - create-derived 'Zbar' 0x1B5 : glyph-proc - include : refer-glyph 'barOver' - create-aliased 'Z.withHorizontalCrossBar' - create-derived 'Z.withCrossBar' : glyph-proc - include : refer-glyph 'antiSlashOver' + create-derived 'Z.withHorizontalCrossBar' : refer-glyph 'barOver' + create-derived 'Z.withCrossBar' : refer-glyph 'antiSlashOver' create-glyph 'z.standard' : glyph-proc set-width Width @@ -5070,15 +5040,16 @@ glyph-block Letter-Latin-Z : begin include : DownwardLeftSerif SB XH VJut include : tagged 'serifRB' : UpwardRightSerif RightSB 0 VJut - create-derived 'zbar' 0x1B6 : glyph-proc - include : refer-glyph 'barOver' - create-aliased 'z.withHorizontalCrossBar' - create-derived 'z.withCrossBar' : glyph-proc - include : refer-glyph 'antiSlashOver' + create-derived 'z.withHorizontalCrossBar' : refer-glyph 'barOver' + create-derived 'z.withCrossBar' : refer-glyph 'antiSlashOver' select-variant 'Z' 'Z' select-variant 'z' 'z' + alias 'Zeta' 0x396 'Z.standard' + alias 'Zbar' 0x1B5 'Z.withHorizontalCrossBar' + alias 'zbar' 0x1B6 'z.withHorizontalCrossBar' + if [query-glyph 'Z'] : DoNotDeriveVariants.set [query-glyph 'Z'] if [query-glyph 'z'] : DoNotDeriveVariants.set [query-glyph 'z'] @@ -5651,13 +5622,14 @@ glyph-block Letter-Latin-Ezh : begin set-width Width include MarkSet.capital include : EzhShape CAP 0 - create-aliased 'cyrl/Ezh' 0x4E0 create-glyph 'ezh' 0x292 : glyph-proc set-width Width include MarkSet.p include : EzhShape XH Descender - create-aliased 'cyrl/ezh' 0x4E1 + + alias 'cyrl/Ezh' 0x4E0 'Ezh' + alias 'cyrl/ezh' 0x4E1 'ezh' create-glyph 'revEzh' 0x1B8 : glyph-proc include MarkSet.capital @@ -5722,7 +5694,7 @@ glyph-block Letter-Latin-Glottal-Stop : begin if SLAB : begin include : CenterBottomSerif Middle 0 Jut - create-aliased 'capglottalstop' 0x241 + alias 'capglottalstop' 0x241 'glottalstop' create-glyph 'revglottalstop' 0x295 : glyph-proc include MarkSet.b @@ -5852,7 +5824,7 @@ glyph-block Letter-Latin-Thorn : begin include : CenterBottomSerif (SB * 1.25 + HalfStroke * HVContrast) 0 Jut include : CenterTopSerif (SB * 1.25 + HalfStroke * HVContrast) CAP Jut - create-aliased 'Sho' 0x3F7 + alias 'Sho' 0x3F7 'Thorn' create-glyph 'thorn' 0xFE : glyph-proc include : union diff --git a/font-src/glyphs/numbers.ptl b/font-src/glyphs/numbers.ptl index b34edc8ba..19300c917 100644 --- a/font-src/glyphs/numbers.ptl +++ b/font-src/glyphs/numbers.ptl @@ -444,18 +444,18 @@ glyph-block Digits-Six : begin create-glyph 'six.lnum.openContour' : glyph-proc include MarkSet.capital include : OpenContourSixShape CAP - create-aliased 'six.onum.openContour' + create-aliased-glyph 'six.onum.openContour' create-glyph 'six.lnum.closedContour' : glyph-proc include MarkSet.capital include : ClosedContourNineShape CAP include : FlipAround (Middle) (CAP / 2) - create-aliased 'six.onum.closedContour' + create-aliased-glyph 'six.onum.closedContour' create-glyph 'six.lnum.straightBar' : glyph-proc include MarkSet.capital include : StraightBarSixShape CAP - create-aliased 'six.onum.straightBar' + create-aliased-glyph 'six.onum.straightBar' select-variant 'six.lnum' '6' (follow -- 'six') select-variant 'six.onum' (follow -- 'six') @@ -543,7 +543,7 @@ glyph-block Digits-Eight : begin create-glyph 'eight.lnum' '8' : glyph-proc include MarkSet.capital include : EightShape CAP - create-aliased 'eight.onum' + create-aliased-glyph 'eight.onum' # There is an "eight without lower contour" shape used for /propto create-glyph 'rotetedpropto' : glyph-proc # rotetedpropto diff --git a/font-src/glyphs/symbol-math.ptl b/font-src/glyphs/symbol-math.ptl index 30d645232..757a131bd 100644 --- a/font-src/glyphs/symbol-math.ptl +++ b/font-src/glyphs/symbol-math.ptl @@ -972,7 +972,7 @@ glyph-block Symbol-Math-Relation : begin include : GreaterShape (symbolMid + dH + lessEqDist) (symbolMid - dH + lessEqDist) l r create-derived 'eq.at-lteq.lig2.flat' : glyph-proc include : HBar l2 r2 (symbolMid - dH - lessEqDist) OperatorStroke - create-aliased 'eq.at-gteq.lig2.flat' + create-aliased-glyph 'eq.at-gteq.lig2.flat' create-derived 'eq.at-lteq.lig2.slanted' : glyph-proc include : LessShapeB (symbolMid + dH - lessEqDist) (symbolMid - dH - lessEqDist) l2 r2 OperatorStroke create-derived 'eq.at-gteq.lig2.slanted' : glyph-proc diff --git a/font-src/glyphs/symbol-other.ptl b/font-src/glyphs/symbol-other.ptl index bf8419819..798487c32 100644 --- a/font-src/glyphs/symbol-other.ptl +++ b/font-src/glyphs/symbol-other.ptl @@ -1369,12 +1369,12 @@ glyph-block Symbol-Other-Ligation : begin create-glyph 'less.lig.dblhead' : glyph-proc include : LigationLessShape (symbolMid + dH) (symbolMid - dH) SB RightSB OperatorStroke dblArrowSw (dblArrowD * 2 - dblArrowSw * 2) - create-aliased 'less.lig.dblhead.mid' + create-aliased-glyph 'less.lig.dblhead.mid' create-derived 'less.lig.dblhead.shift1' : Translate (-arrowheadsKern) 0 create-glyph 'greater.lig.dblhead' : glyph-proc include : LigationGreaterShape (symbolMid + dH) (symbolMid - dH) SB RightSB OperatorStroke dblArrowSw (dblArrowD * 2 - dblArrowSw * 2) - create-aliased 'greater.lig.dblhead.mid' + create-aliased-glyph 'greater.lig.dblhead.mid' create-derived 'greater.lig.dblhead.shift1' : Translate (+arrowheadsKern) 0 create-glyph 'exclam.lig.htmlcommentstart' : glyph-proc @@ -1385,10 +1385,10 @@ glyph-block Symbol-Other-Ligation : begin # Right-shifted > create-glyph 'greater.lig.shift0' : glyph-proc include [refer-glyph 'greater'] AS_BASE ALSO_METRICS - create-aliased 'greater.lig.shift0.mid' - create-aliased 'greater.lig.shift0.anti' - create-aliased 'greater.lig.shiftN0' - create-aliased 'greater.lig.shiftN0.mid' + create-aliased-glyph 'greater.lig.shift0.mid' + create-aliased-glyph 'greater.lig.shift0.anti' + create-aliased-glyph 'greater.lig.shiftN0' + create-aliased-glyph 'greater.lig.shiftN0.mid' create-derived 'greater.lig.shift0h' : Translate (arrowheadsKern * 0.5 ) 0 create-derived 'greater.lig.shift1' : Translate (arrowheadsKern * 1.0 ) 0 create-derived 'greater.lig.shift1h' : Translate (arrowheadsKern * 1.5 ) 0 @@ -1400,10 +1400,10 @@ glyph-block Symbol-Other-Ligation : begin create-glyph 'less.lig.shift0' : glyph-proc include [refer-glyph 'less'] AS_BASE ALSO_METRICS - create-aliased 'less.lig.shift0.mid' - create-aliased 'less.lig.shift0.anti' - create-aliased 'less.lig.shiftN0' - create-aliased 'less.lig.shiftN0.mid' + create-aliased-glyph 'less.lig.shift0.mid' + create-aliased-glyph 'less.lig.shift0.anti' + create-aliased-glyph 'less.lig.shiftN0' + create-aliased-glyph 'less.lig.shiftN0.mid' create-derived 'less.lig.shift0h' : Translate (arrowheadsKern * (-0.5)) 0 create-derived 'less.lig.shift1' : Translate (arrowheadsKern * (-1.0)) 0 create-derived 'less.lig.shift1h' : Translate (arrowheadsKern * (-1.5)) 0 diff --git a/font-src/glyphs/symbol-punctuation.ptl b/font-src/glyphs/symbol-punctuation.ptl index fdec6cb31..c5af65950 100644 --- a/font-src/glyphs/symbol-punctuation.ptl +++ b/font-src/glyphs/symbol-punctuation.ptl @@ -374,7 +374,8 @@ glyph-block Symbol-Punctuation-Small : begin create-glyph 'semicolon' ';' : glyph-proc include : refer-glyph "comma" include : refer-glyph "xhPeriod" - create-aliased 'greekquestion' 0x37E + + alias 'greekquestion' 0x37E 'semicolon' glyph-block Symbol-Punctuation-Emotion : begin @@ -426,7 +427,8 @@ glyph-block Symbol-Punctuation-Emotion : begin include MarkSet.capital include : VBar Middle [clamp 0 (CAP * 0.4) (questionBottom * 1.18)] CAP include : DotAt Middle DotRadius (DotRadius - O) - create-aliased 'alveolarclick' 0x1C3 + + alias 'alveolarclick' 0x1C3 'exclam' create-glyph 'exclamDown' 0xA1 : glyph-proc set-width Width @@ -919,8 +921,9 @@ glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin create-glyph 'slash' '/' : glyph-proc include : SlashShape slashDefautLeft slashDefaultRight - create-aliased 'solidus' 0x2044 - create-aliased 'mathDivSlash' 0x2215 + + alias 'solidus' 0x2044 'slash' + alias 'mathDivSlash' 0x2215 'slash' create-glyph 'doubleSlash' 0x2AFD : glyph-proc define w : adviceBlackness 3 @@ -942,9 +945,11 @@ glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin corner (l + Stroke * cor) parenTop corner (r + Stroke * cor) parenBot corner (r - Stroke * cor) parenBot + create-glyph 'backslash' "\\" : glyph-proc include : BackslashShape (Middle - backslashWidth / 2) (Middle + backslashWidth / 2) - create-aliased 'mathBackslash' 0x2216 + + alias 'mathBackslash' 0x2216 'backslash' create-glyph 'backslash.left' : glyph-proc include : BackslashShape (Middle - backslashWidth / 2) Width diff --git a/font-src/meta/macros.ptl b/font-src/meta/macros.ptl index 38db178d3..76151b529 100644 --- a/font-src/meta/macros.ptl +++ b/font-src/meta/macros.ptl @@ -99,10 +99,10 @@ define-macro create-glyph : syntax-rules `[create-glyph @name @code @body] : begin dirty `[$createAndSaveGlyphImpl$ @[formOf name] @[formOf code] @[formOf body]] -define-macro create-aliased : syntax-rules - `[create-aliased @name] : begin - dirty `[create-aliased @[formOf name] null] - `[create-aliased @name @code] : begin +define-macro create-aliased-glyph : syntax-rules + `[create-aliased-glyph @name] : begin + dirty `[create-aliased-glyph @[formOf name] null] + `[create-aliased-glyph @name @code] : begin dirty `[$createAndSaveGlyphImpl$ @[formOf name] @[formOf code] [lambda : begin [this.include currentGlyph true true] [this.cloneRankFromGlyph currentGlyph] ]]