Force all variants of mathematical sans-serif characters to remove all serifs, including motion serifs (#1030).

This commit is contained in:
be5invis 2021-05-22 14:52:07 -07:00
parent 96d8db8ef7
commit 20dc6ad361
47 changed files with 727 additions and 184 deletions

View file

@ -0,0 +1 @@
- Force all variants of mathematical sans-serif characters to remove all serifs, including motion serifs (#1030).

View file

@ -1193,7 +1193,7 @@ glyph-block Autobuild-Pnonetic-Ligatures : begin
define stdShrink : clamp 0.75 0.9 : StrokeWidthBlend 0.78 0.9
createPhoneticLigatures 'phonetic' para.diversityM stdShrink stdShrink 1 1 : list
list 0x02A3 { 'd/phoneticLeft' 'zReduced' } 'b'
list 0x02A3 { 'd/phoneticLeft' 'z/reduced' } 'b'
list 0x02A4 { 'd/phoneticLeft' 'ezh' } 'if'
list 0x02A5 { 'd/phoneticLeft' 'zCurlyTail' } 'if'
list 0x02A6 { 't.phoneticLeft' 's/phoneticRight' } 'b'
@ -1201,7 +1201,7 @@ glyph-block Autobuild-Pnonetic-Ligatures : begin
list 0x02A8 { 't.phoneticLeft' 'cCurlyTail' } 'b'
list 0x02A9 { 'f.phoneticLeft' 'eng' } 'if'
list 0x02AA { 'l/phoneticLeft' 's/phoneticRight' } 'b'
list 0x02AB { 'l/phoneticLeft' 'zReduced' } 'b'
list 0x02AB { 'l/phoneticLeft' 'z/reduced' } 'b'
list 0xAB66 { 'd/phoneticLeft' 'zRTailBR' } 'if'
list 0xAB67 { 't.phoneticLeft' 'sRTail' } null

View file

@ -2,7 +2,7 @@
$$include '../../meta/macros.ptl'
import [linreg clamp mix fallback] from '../../support/utils'
import [AnyCv DotlessOrNot getGrTree getGrMesh CvDecompose] from "../../support/gr"
import [AnyCv DotlessOrNot getGrTree getGrMesh CvDecompose MathSansSerif] from "../../support/gr"
extern Map
extern Set
@ -508,20 +508,20 @@ glyph-block Autobuild-Transformed-Mathematical : begin
define LowerGreek : Array.from 'αβγδεζηθικλμνξοπρςστυφχψω∂ϵϑϰϕϱϖ' # Some are missing though
define ObliqueBlackboardBolds : Array.from '𝔻𝕕𝕖𝕚𝕛'
define [CreateMathDerivatives groupName tfm base letters overrides] : begin
define [CreateMathDerivatives groupName tfm gr base letters overrides] : begin
if recursive : return nothing
local jobs {}
local overrideMap : new Map (overrides || {})
foreach j [range 0 letters.length] : begin
local letter letters.(j)
local source : glyphStore.queryNameOfUnicode : letter.codePointAt 0
if (gr && [gr.get : query-glyph source]) : set source : gr.get : query-glyph source
local dst : base + j
if [overrideMap.has letter] : set dst [overrideMap.get letter]
if source : jobs.push { dst source }
createMathDerivedSeriesImpl groupName tfm jobs
define [CreateMathAliasableImpl groupName altGroupName tfm base letters overrides] : begin
define [CreateMathAliasableImpl groupName altGroupName tfm gr base letters overrides] : begin
if recursive : return nothing
local overrideMap : new Map (overrides || {})
foreach j [range 0 letters.length] : begin
@ -532,61 +532,61 @@ glyph-block Autobuild-Transformed-Mathematical : begin
if [overrideMap.has letter] : set uDst [overrideMap.get letter]
if source : alias [wrapName groupName source] uDst source
define [CreateMathAliasable cond groupName altGroupName tfm base letters overrides] : begin
define [CreateMathAliasable cond groupName altGroupName tfm gr base letters overrides] : begin
if cond
CreateMathDerivatives groupName tfm base letters overrides
CreateMathAliasableImpl groupName altGroupName tfm base letters overrides
CreateMathDerivatives groupName tfm gr base letters overrides
CreateMathAliasableImpl groupName altGroupName tfm gr base letters overrides
# Math bold
CreateMathDerivatives 'mathbf' tfBold 0x1D400 UpperLatin
CreateMathDerivatives 'mathbf' tfBold 0x1D41A LowerLatin
CreateMathDerivatives 'mathbf' tfBold 0x1D6A8 UpperGreek
CreateMathDerivatives 'mathbf' tfBold 0x1D6C2 LowerGreek
CreateMathDerivatives 'mathbf' tfBold 0x1D7CE Digits
CreateMathDerivatives 'mathbf' tfBold null 0x1D400 UpperLatin
CreateMathDerivatives 'mathbf' tfBold null 0x1D41A LowerLatin
CreateMathDerivatives 'mathbf' tfBold null 0x1D6A8 UpperGreek
CreateMathDerivatives 'mathbf' tfBold null 0x1D6C2 LowerGreek
CreateMathDerivatives 'mathbf' tfBold null 0x1D7CE Digits
# Math Italic
CreateMathDerivatives 'mathit' tfItalic 0x1D434 UpperLatin
CreateMathDerivatives 'mathit' tfItalic 0x1D44E LowerLatin2 : list
CreateMathDerivatives 'mathit' tfItalic null 0x1D434 UpperLatin
CreateMathDerivatives 'mathit' tfItalic null 0x1D44E LowerLatin2 : list
list 'h' 0x210E
list 'ı' 0x1D6A4
list 'ȷ' 0x1D6A5
CreateMathDerivatives 'mathit' tfItalic 0x1D6E2 UpperGreek
CreateMathDerivatives 'mathit' tfItalic 0x1D6FC LowerGreek
CreateMathDerivatives 'mathit' tfItalic null 0x1D6E2 UpperGreek
CreateMathDerivatives 'mathit' tfItalic null 0x1D6FC LowerGreek
# Math Bold Italic
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D468 UpperLatin
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D482 LowerLatin
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D71C UpperGreek
CreateMathDerivatives 'mathbi' tfBoldItalic 0x1D736 LowerGreek
CreateMathDerivatives 'mathbi' tfBoldItalic null 0x1D468 UpperLatin
CreateMathDerivatives 'mathbi' tfBoldItalic null 0x1D482 LowerLatin
CreateMathDerivatives 'mathbi' tfBoldItalic null 0x1D71C UpperGreek
CreateMathDerivatives 'mathbi' tfBoldItalic null 0x1D736 LowerGreek
# Math Sans-serif
CreateMathAliasable SLAB 'mathss' null tfSans 0x1D5A0 UpperLatin
CreateMathAliasable SLAB 'mathss' null tfSans 0x1D5BA LowerLatin
CreateMathAliasable SLAB 'mathss' null tfSans 0x1D7E2 Digits
CreateMathDerivatives 'mathss' tfSans MathSansSerif 0x1D5A0 UpperLatin
CreateMathDerivatives 'mathss' tfSans MathSansSerif 0x1D5BA LowerLatin
CreateMathDerivatives 'mathss' tfSans MathSansSerif 0x1D7E2 Digits
CreateMathAliasable SLAB 'mathsi' 'mathit' tfSansItalic 0x1D608 UpperLatin
CreateMathAliasable SLAB 'mathsi' 'mathit' tfSansItalic 0x1D622 LowerLatin
CreateMathDerivatives 'mathsi' tfSansItalic MathSansSerif 0x1D608 UpperLatin
CreateMathDerivatives 'mathsi' tfSansItalic MathSansSerif 0x1D622 LowerLatin
CreateMathAliasable SLAB 'mathsb' 'mathbf' tfSansBold 0x1D5D4 UpperLatin
CreateMathAliasable SLAB 'mathsb' 'mathbf' tfSansBold 0x1D5EE LowerLatin
CreateMathAliasable SLAB 'mathsb' 'mathbf' tfSansBold 0x1D756 UpperGreek
CreateMathAliasable SLAB 'mathsb' 'mathbf' tfSansBold 0x1D770 LowerGreek
CreateMathAliasable SLAB 'mathsb' 'mathbf' tfSansBold 0x1D7EC Digits
CreateMathDerivatives 'mathsb' tfSansBold MathSansSerif 0x1D5D4 UpperLatin
CreateMathDerivatives 'mathsb' tfSansBold MathSansSerif 0x1D5EE LowerLatin
CreateMathDerivatives 'mathsb' tfSansBold MathSansSerif 0x1D756 UpperGreek
CreateMathDerivatives 'mathsb' tfSansBold MathSansSerif 0x1D770 LowerGreek
CreateMathDerivatives 'mathsb' tfSansBold MathSansSerif 0x1D7EC Digits
CreateMathAliasable SLAB 'mathsz' 'mathbi' tfSansBoldItalic 0x1D63C UpperLatin
CreateMathAliasable SLAB 'mathsz' 'mathbi' tfSansBoldItalic 0x1D656 LowerLatin
CreateMathAliasable SLAB 'mathsz' 'mathbi' tfSansBoldItalic 0x1D790 UpperGreek
CreateMathAliasable SLAB 'mathsz' 'mathbi' tfSansBoldItalic 0x1D7AA LowerGreek
CreateMathDerivatives 'mathsz' tfSansBoldItalic MathSansSerif 0x1D63C UpperLatin
CreateMathDerivatives 'mathsz' tfSansBoldItalic MathSansSerif 0x1D656 LowerLatin
CreateMathDerivatives 'mathsz' tfSansBoldItalic MathSansSerif 0x1D790 UpperGreek
CreateMathDerivatives 'mathsz' tfSansBoldItalic MathSansSerif 0x1D7AA LowerGreek
# Math Typewriter
local doTypewriter para.isQuasiProportional
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D670 UpperLatin
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D68A LowerLatin
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter 0x1D7F6 Digits
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter null 0x1D670 UpperLatin
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter null 0x1D68A LowerLatin
CreateMathAliasable doTypewriter 'mathtt' null tfTypeWriter null 0x1D7F6 Digits
# Italic blackboard bold
CreateMathDerivatives 'mathit' tfItalic 0x2145 ObliqueBlackboardBolds
CreateMathDerivatives 'mathit' tfItalic null 0x2145 ObliqueBlackboardBolds
glyph-block Autobuild-Rhotic : begin
glyph-block-import Marks : markFine

View file

@ -104,6 +104,14 @@ glyph-block Common-Derivatives : begin
include : FlipAround x y
set currentGlyph.autoRefPriority [query-glyph src].autoRefPriority
define [link-reduced-variant dstGid srcGid gr] : begin
if [not : query-glyph dstGid] : select-variant dstGid (shapeFrom -- srcGid)
if (gr && [query-glyph srcGid]) : gr.set [query-glyph srcGid] dstGid
define [alias-reduced-variant dstGid srcGid shapeGid gr] : begin
alias dstGid null shapeGid
if (gr && [query-glyph srcGid]) : gr.set [query-glyph srcGid] dstGid
define [HalfAdvance] : this.advanceWidth / 2
define [TurnMarks k fnOverride] : glyph-proc
@ -137,7 +145,7 @@ glyph-block Common-Derivatives : begin
return : VCombine newid unicode id id spacing
glyph-block-export select-variant orthographic-italic refer-glyph query-glyph
glyph-block-export derive-glyphs derive-composites
glyph-block-export derive-glyphs derive-composites link-reduced-variant alias-reduced-variant
glyph-block-export alias turned HDual HCombine VDual VCombine glyph-is-needed
glyph-block-export HalfAdvance TurnMarks

View file

@ -1,6 +1,7 @@
$$include '../../../meta/macros.ptl'
import [mix barmixL linreg clamp fallback] from '../../../support/utils'
import [MathSansSerif] from '../../../support/gr'
import [DesignParameters] from '../../../meta/aesthetics'
glyph-module
@ -71,6 +72,7 @@ glyph-block Letter-Greek-Upper-Gamma: begin
include : VBarRight (RightSB - OX) XH (XH + Accent)
select-variant 'grek/Gamma' 0x393
link-reduced-variant 'grek/Gamma/sansSerif' 'grek/Gamma' MathSansSerif
select-variant 'cyrl/Ghe' 0x413 (shapeFrom -- 'grek/Gamma')
select-variant 'cyrl/GheDescender' 0x4F6 (follow -- 'cyrl/Ghe')
select-variant 'cyrl/GheDHook' (follow -- 'cyrl/Ghe')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -240,6 +240,7 @@ glyph-block Letter-Latin-C : begin
include : IotifiedEsShape df XH SmallSmoothA SmallSmoothB
select-variant 'C' 'C'
link-reduced-variant 'C/sansSerif' 'C' MathSansSerif
select-variant 'revC' 0x2183 (follow -- 'C')
alias 'cyrl/Es' 0x421 'C'
alias 'grek/lunateSigma' 0x3F9 'C.serifless'
@ -249,6 +250,7 @@ glyph-block Letter-Latin-C : begin
select-variant 'smcpC' 0x1D04 (follow -- 'C')
select-variant 'c' 'c'
link-reduced-variant 'c/sansSerif' 'c' MathSansSerif
select-variant 'revSmallC' 0x2184 (follow -- 'c')
alias 'cyrl/es' 0x441 'c'
alias 'grek/lunateSmallSigma' 0x3F2 'c.serifless'

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
import [maskBit maskBits popCountByte] from '../../../support/mask-bit'
glyph-module
@ -395,7 +395,9 @@ glyph-block Letter-Latin-K : begin
CenterBottomSerif (SB + [KBalance slabTop straightBar] + HalfStroke * HVContrast) 0 Jut
select-variant 'K' 'K'
link-reduced-variant 'K/sansSerif' 'K' MathSansSerif
alias 'grek/Kappa' 0x39A 'K'
alias-reduced-variant 'grek/Kappa/sansSerif' 'grek/Kappa' 'K/sansSerif' MathSansSerif
select-variant 'cyrl/KaStroke' 0x49E (shapeFrom -- 'KBar') (follow -- 'cyrl/Ka')
alias 'letterLike/kelvinSign' 0x212A 'K'
select-variant 'KDescender' 0x2C69 (follow -- 'K')
@ -405,6 +407,7 @@ glyph-block Letter-Latin-K : begin
select-variant 'cyrl/KaHook' 0x4C3 (shapeFrom -- 'K') (follow -- 'cyrl/KaHook')
select-variant 'k' 'k'
link-reduced-variant 'k/sansSerif' 'k' MathSansSerif
select-variant 'kDescender' 0x2C6A
select-variant 'cyrl/kaStroke' 0x49F (shapeFrom -- 'kBar') (follow -- 'cyrl/Ka')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -184,6 +184,7 @@ glyph-block Letter-Latin-Lower-A : begin
include : RightwardTailedBar RightSB 0 (XH - SmallSmoothB)
select-variant 'a' 'a'
link-reduced-variant 'a/sansSerif' 'a' MathSansSerif
alias 'cyrl/a' 0x430 'a'
create-glyph 'largescripta' 0x2C6D : glyph-proc

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -56,6 +56,7 @@ glyph-block Letter-Latin-Lower-B : begin
include : tagged 'serifLT' : LeftwardTopSerif SB CAP SideJut
select-variant 'b' 'b'
link-reduced-variant 'b/sansSerif' 'b' MathSansSerif
create-glyph 'bhooktop.toothed' : glyph-proc
include : MarkSet.b

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -61,7 +61,8 @@ glyph-block Letter-Latin-Lower-D : begin
include : tagged 'serifRT' : LeftwardTopSerif (RightSB - Stroke * HVContrast) CAP SideJut
select-variant 'd' 'd'
select-variant 'd/phoneticLeft' (shapeFrom -- 'd')
link-reduced-variant 'd/sansSerif' 'd' MathSansSerif
link-reduced-variant 'd/phoneticLeft' 'd'
derive-glyphs 'dcroat' 0x111 'd' : lambda [src sel] : glyph-proc
include [refer-glyph src] AS_BASE

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -160,6 +160,7 @@ glyph-block Letter-Latin-Lower-F : begin
turned "turnf.\(suffix)" nothing "f.\(suffix)" df.middle (XH / 2) [df.markSet.(mkTurn)]
select-variant 'f' 'f'
link-reduced-variant 'f/sansSerif' 'f' MathSansSerif
select-variant 'turnf' 0x25F (follow -- 'f')
select-variant 'lenisf' 0xAB35 (shapeFrom -- 'f')
select-variant 'fltail' 0x192 (shapeFrom -- 'f')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -153,6 +153,7 @@ glyph-block Letter-Latin-Lower-G : begin
include : SmallGSingleStoreyFlatHookShape [DivFrame 1] (XH - SmallSmoothB)
select-variant 'g' 'g'
link-reduced-variant 'g/sansSerif' 'g' MathSansSerif
turned 'turng' 0x1D77 'g' Middle [mix Descender XH 0.5]
alias 'scriptg' 0x261 : if SLAB 'g.singleStoreySerifed' 'g.singleStoreySerifless'

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -72,6 +72,7 @@ glyph-block Letter-Latin-Lower-H : begin
include : LeftwardTopSerif SB CAP SideJut
select-variant 'h' 'h'
link-reduced-variant 'h/sansSerif' 'h' MathSansSerif
select-variant 'cyrl/shha' 0x4BB (shapeFrom -- 'h')
derive-composites 'cyrl/shhaDescender' 0x527 'cyrl/shha' [CyrDescender RightSB]

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -264,14 +264,17 @@ glyph-block Letter-Latin-Lower-I : begin
include : DTailDotlessIShape df XH (addTopSerif -- true)
select-variant 'dotlessi' 0x131
link-reduced-variant 'dotlessi/sansSerif' 'dotlessi' MathSansSerif
select-variant 'dotlessi/compLigRight' (shapeFrom -- 'dotlessi')
create-glyph 'iogonek.dotless' : glyph-proc
include [refer-glyph 'dotlessi'] AS_BASE
include : refer-glyph "ogonekBelow"
CreateDottedComposition 'dotlessi' 'i' 'i'
CreateDottedComposition 'dotlessi/sansSerif' 'i/sansSerif' null
CreateDottedComposition 'dotlessi' 'cyrl/Ukrainiani' 0x456
CreateDottedComposition 'dotlessi/compLigRight' 'i/compLigRight' null
link-reduced-variant 'i/sansSerif' 'i' MathSansSerif
alias 'grek/iota.flatTailed' null 'dotlessi.flatTailed'
alias 'grek/iota.serifedFlatTailed' null 'dotlessi.serifedFlatTailed'

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -146,9 +146,12 @@ glyph-block Letter-Latin-Lower-J : begin
include : OverrideJMarks df (JBalance * df.div)
select-variant 'dotlessj' 0x237
link-reduced-variant 'dotlessj/sansSerif' 'dotlessj' MathSansSerif
CreateDottedComposition 'dotlessj' 'j' 'j'
CreateDottedComposition 'dotlessj' 'grek/yot' 0x3F3
CreateDottedComposition 'dotlessj' 'cyrl/je' 0x458
CreateDottedComposition 'dotlessj/sansSerif' 'j/sansSerif' null
link-reduced-variant 'j/sansSerif' 'j' MathSansSerif
create-glyph 'dotlessjCurlyTail' : glyph-proc
include : MarkSet.p

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -166,6 +166,7 @@ glyph-block Letter-Latin-Lower-L : begin
refer-glyph "tildeOver"
select-variant 'l' 'l'
link-reduced-variant 'l/sansSerif' 'l' MathSansSerif
alias 'cyrl/palochka' 0x4CF 'l'
turned 'turnl' 0xA781 'l' HalfAdvance (XH / 2) [TurnMarks 'p']
select-variant 'l/phoneticLeft' (shapeFrom -- 'l')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -147,14 +147,14 @@ glyph-block Letter-Latin-Lower-M : begin
include : SmallMShape XH 0 0 ([SmallMSmoothHeight df] + O) df true
include : RightwardTailedBar df.rightSB 0 [SmallMSmoothHeight df] (sw -- df.mvs)
create-glyph 'm.short-leg' : glyph-proc
create-glyph 'm.shortLeg' : glyph-proc
local df : dfM
set-width df.width
include : df.markSet.e
include : SmallMShape XH 0 [SmallMShortLegHeight df] 0 df
eject-contour 'serifMB'
create-glyph 'm.shortlegTailed' : glyph-proc
create-glyph 'm.shortLegTailed' : glyph-proc
local df : dfM
set-width df.width
include : df.markSet.e
@ -322,6 +322,7 @@ glyph-block Letter-Latin-Lower-M : begin
include : RightwardTailedBar df.rightSB 0 [SmallMSmoothHeight df] (sw -- df.mvs)
select-variant 'm' 'm'
link-reduced-variant 'm/sansSerif' 'm' MathSansSerif
select-variant 'cyrl/te.italic' (shapeFrom -- 'm')
alias 'cyrl/te.BGR' null 'cyrl/te.italic'

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -163,6 +163,7 @@ glyph-block Letter-Latin-Lower-N : begin
set-base-anchor 'trailing' (RightSB - markHalfStroke) 0
select-variant 'n' 'n'
link-reduced-variant 'n/sansSerif' 'n' MathSansSerif
select-variant 'cyrl/pe.italic' (shapeFrom -- 'n')
select-variant 'cyrl/peItalicDescBase' (shapeFrom -- 'n')
alias 'cyrl/pe.BGR' null 'n'

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -53,6 +53,7 @@ glyph-block Letter-Latin-Lower-P : begin
include : SmallPSerifLB
select-variant 'p' 'p'
link-reduced-variant 'p/sansSerif' 'p' MathSansSerif
select-variant 'cyrl/er' 0x440 (shapeFrom -- 'p')
derive-glyphs 'cyrl/rrTick' 0x48F 'cyrl/er' : lambda [src sel] : glyph-proc

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -115,6 +115,7 @@ glyph-block Letter-Latin-Lower-Q : begin
include : RDiagTailedBar RightSB Descender (XH - SmallSmoothB)
select-variant 'q' 'q'
link-reduced-variant 'q/sansSerif' 'q' MathSansSerif
alias 'cyrl/qa' 0x51B 'q'
glyph-block-import Letter-Blackboard : BBS BBD BBBarRight

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -186,6 +186,7 @@ glyph-block Letter-Latin-Lower-R : begin
select-variant 'r' 'r'
link-reduced-variant 'r/sansSerif' 'r' MathSansSerif
define [TurnRMarks k] : TurnMarks k
function [df] : return {.baseAnchors {.bottomright {.x (df.rightSB - RBalance) .y 0}}}

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -280,9 +280,9 @@ glyph-block Letter-Latin-Lower-Y : begin
set-base-anchor 'overlay' Middle (XH / 2)
select-variant 'y' 'y'
link-reduced-variant 'y/sansSerif' 'y' MathSansSerif
alias 'cyrl/u' 0x443 'y'
create-glyph : glyph-proc
include : MarkSet.p
set-base-anchor 'overlay' Middle (XH / 2)

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [DollarShrinkKernel DollarShorterBar CvDecompose] from "../../../support/gr"
import [DollarShrinkKernel DollarShorterBar CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -343,7 +343,9 @@ glyph-block Letter-Latin-S : begin
include : VBarLeft start.x 0 start.y
select-variant 'S' 'S'
link-reduced-variant 'S/sansSerif' 'S' MathSansSerif
select-variant 's' 's'
link-reduced-variant 's/sansSerif' 's' MathSansSerif
select-variant 'smcpS' 0xA731 (follow -- 'S')
select-variant 'revS' 0x1A7 (follow -- 'S')
select-variant 'revs' 0x1A8 (follow -- 's')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -176,8 +176,10 @@ glyph-block Letter-Latin-U : begin
include : Slabs XH
select-variant 'U' 'U'
link-reduced-variant 'U/sansSerif' 'U' MathSansSerif
select-variant 'smcpU' 0x1D1C (follow -- 'U')
select-variant 'u' 'u'
link-reduced-variant 'u/sansSerif' 'u' MathSansSerif
select-variant 'u/urtailBase' (shapeFrom -- 'u')
select-variant 'cyrl/i.italic' (shapeFrom -- 'u')
select-variant 'cyrl/i.italic.reduced' (shapeFrom -- 'u')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -15,7 +15,7 @@ glyph-block Letter-Latin-Upper-A : begin
glyph-block-export LambdaShape AMaskShape DeltaShape
define SLAB-NONE 0
define SLAB-TOP 1
define SLAB-TOP 1
define SLAB-BASE 2
define SLAB-TRI 3
@ -59,8 +59,10 @@ glyph-block Letter-Latin-Upper-A : begin
create-glyph "smcpA.\(suffix)" : AShapeImpl "e" XH
select-variant 'A' 'A'
link-reduced-variant 'A/sansSerif' 'A' MathSansSerif
select-variant 'smcpA' 0x1D00 (follow -- 'A')
alias 'grek/Alpha' 0x391 'A'
alias-reduced-variant 'grek/Alpha/sansSerif' 'grek/Alpha' 'A/sansSerif' MathSansSerif
alias 'cyrl/A' 0x410 'A'
turned 'turnA' 0x2C6F 'A' Middle (CAP / 2)

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -135,10 +135,12 @@ glyph-block Letter-Latin-Upper-B : begin
select-variant 'B' 'B'
link-reduced-variant 'B/sansSerif' 'B' MathSansSerif
select-variant 'BReduced' null (shapeFrom -- 'B')
select-variant 'currency/baht' 0xE3F (follow -- 'B')
select-variant 'currency/bitcoin' 0x20BF (follow -- 'B')
alias 'grek/Beta' 0x392 'B'
alias-reduced-variant 'grek/Beta/sansSerif' 'grek/Beta' 'B/sansSerif' MathSansSerif
alias 'cyrl/Ve' 0x412 'B'
select-variant 'smcpB' 0x299

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -64,6 +64,7 @@ glyph-block Letter-Latin-Upper-D : begin
include : DShape XH fRound fSlabTop fSlabBot
select-variant 'D' 'D'
link-reduced-variant 'D/sansSerif' 'D' MathSansSerif
derive-glyphs 'Eth' 0xD0 'D' : lambda [src sel] : glyph-proc
include [refer-glyph src] AS_BASE ALSO_METRICS
include : HOverlayBar (SB * 0.3) [mix (SB + Stroke) (RightSB - Stroke) 0.55] (CAP * OverlayPos)

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -58,9 +58,11 @@ glyph-block Letter-Latin-Upper-E : begin
set-base-anchor 'trailing' (RightSB - markHalfStroke) 0
select-variant 'E' 'E'
link-reduced-variant 'E/sansSerif' 'E' MathSansSerif
select-variant 'smcpE' 0x1D07 (follow -- 'E')
alias 'grek/Epsilon' 0x395 'E'
alias-reduced-variant 'grek/Epsilon/sansSerif' 'grek/Epsilon' 'E/sansSerif' MathSansSerif
alias 'cyrl/Ie' 0x415 'E'
create-glyph 'revE.standard' : glyph-proc

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -65,6 +65,7 @@ glyph-block Letter-Latin-Upper-F : begin
include : FShape XH (serifLT -- true) (serifLB -- false) (serifV -- false)
select-variant 'F' 'F'
link-reduced-variant 'F/sansSerif' 'F' MathSansSerif
select-variant 'smcpF' 0xA730 (follow -- 'F')
glyph-block-import Letter-Blackboard : BBS BBD

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -119,7 +119,7 @@ glyph-block Letter-Latin-Upper-G : begin
include : ArcStartHookTop RightSB XH Stroke HookX Hook
select-variant 'G' 'G'
select-variant 'G/sansSerif' (shapeFrom -- 'G')
link-reduced-variant 'G/sansSerif' 'G' MathSansSerif
select-variant 'smcpG' 0x262 (follow -- 'G')
select-variant 'GHookTop' 0x193
select-variant 'smcpGHookTop' 0x29B (follow -- 'GHookTop')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -52,6 +52,10 @@ glyph-block Letter-Latin-Upper-H : begin
include : HShape CAP SLAB-MOTION
select-variant 'H' 'H'
link-reduced-variant 'H/sansSerif' 'H' MathSansSerif
alias 'grek/Eta' 0x397 'H'
alias-reduced-variant 'grek/Eta/sansSerif' 'grek/Eta' 'H/sansSerif' MathSansSerif
alias 'cyrl/En' 0x41D 'H'
create-glyph 'smcpH.standard' : glyph-proc
include : MarkSet.e
@ -89,8 +93,6 @@ glyph-block Letter-Latin-Upper-H : begin
eject-contour 'serifRT'
eject-contour 'serifRB'
alias 'grek/Eta' 0x397 'H'
alias 'cyrl/En' 0x41D 'H'
select-variant 'cyrl/en' 0x43D (shapeFrom -- 'smcpH')
select-variant 'cyrl/en/reduced' (shapeFrom -- 'smcpH')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -44,7 +44,9 @@ glyph-block Letter-Latin-Upper-I : begin
include : ISerifShape CAP MidJutCenter
select-variant 'I' 'I'
link-reduced-variant 'I/sansSerif' 'I' MathSansSerif
alias 'grek/Iota' 0x399 'I'
alias-reduced-variant 'grek/Iota/sansSerif' 'grek/Iota' 'I/sansSerif' MathSansSerif
alias 'cyrl/UkrainianI' 0x406 'I'
alias 'cyrl/Palochka' 0x4C0 'I'

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -125,6 +125,7 @@ glyph-block Letter-Latin-Upper-J : begin
if serif : include : serif df xSerifAttach XH
select-variant 'J' 'J'
link-reduced-variant 'J/sansSerif' 'J' MathSansSerif
select-variant 'smcpJ' 0x1D0A (follow -- 'J')
alias 'cyrl/Je' 0x408 'J'
alias 'grek/Yot' 0x37F 'J'

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -36,6 +36,7 @@ glyph-block Letter-Latin-Upper-L : begin
include : LShape XH serifGrade
select-variant 'L' 'L'
link-reduced-variant 'L/sansSerif' 'L' MathSansSerif
select-variant 'smcpL' 0x29F (follow -- 'L')
turned 'turnL' 0xA780 'L' Middle (CAP / 2)

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -93,9 +93,11 @@ glyph-block Letter-Latin-Upper-M : begin
include : MShape XH df form slab slanted
select-variant 'M' 'M'
link-reduced-variant 'M/sansSerif' 'M' MathSansSerif
select-variant 'smcpM' 0x1D0D (follow -- 'M')
select-variant 'cyrl/em' 0x43C (shapeFrom -- 'smcpM')
alias 'grek/Mu' 0x39C 'M'
alias-reduced-variant 'grek/Mu/sansSerif' 'grek/Mu' 'M/sansSerif' MathSansSerif
alias 'cyrl/Em' 0x41C 'M'
derive-composites 'cyrl/EmTail' 0x4CD 'cyrl/Em' [CyrTailDescender [DivFrame para.diversityM 3].rightSB]

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -79,7 +79,10 @@ glyph-block Letter-Latin-Upper-N : begin
select-variant 'N' 'N'
link-reduced-variant 'N/sansSerif' 'N' MathSansSerif
alias 'grek/Nu' 0x39D 'N'
alias-reduced-variant 'grek/Nu/sansSerif' 'grek/Nu' 'N/sansSerif' MathSansSerif
select-variant 'smcpN' 0x274 (follow -- 'N')
select-variant 'Nltail' 0x19D (follow -- 'N')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -142,10 +142,12 @@ glyph-block Letter-Latin-Upper-P : begin
if fGap [PShape.OpenGap XH] [glyph-proc]
select-variant 'P' 'P'
link-reduced-variant 'P/sansSerif' 'P' MathSansSerif
select-variant 'smcpP' 0x1D18 (follow -- 'P')
alias 'grek/smcpRho' 0x1D29 'smcpP'
alias 'grek/Rho' 0x3A1 'P'
alias-reduced-variant 'grek/Rho/sansSerif' 'grek/Rho' 'P/sansSerif' MathSansSerif
alias 'cyrl/Er' 0x420 'P'
derive-glyphs 'cyrl/ErTick' 0x48E 'cyrl/Er' : lambda [src sel] : glyph-proc

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -217,6 +217,7 @@ glyph-block Letter-Latin-Upper-R : begin
select-variant 'R' 'R'
link-reduced-variant 'R/sansSerif' 'R' MathSansSerif
select-variant 'smcpR' 0x280 (follow -- 'R')
turned 'turnSmapR' 0x1D1A 'smcpR' Middle (XH / 2)

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -67,6 +67,7 @@ glyph-block Letter-Latin-Upper-T : begin
include : CyrDescender (Middle + HalfStroke * HVContrast) (overflow -- [if doSB (MidJutCenter - HalfStroke * HVContrast)])
select-variant 'T' 'T'
link-reduced-variant 'T/sansSerif' 'T' MathSansSerif
select-variant 'T/rtailBase' (shapeFrom -- 'T')
select-variant 'smcpT' 0x1D1B (follow -- 'T')
select-variant "TBar" 0x166 (follow -- 'T')
@ -74,6 +75,7 @@ glyph-block Letter-Latin-Upper-T : begin
select-variant "cyrl/TeDescender" 0x4AC (follow -- 'T')
alias 'grek/Tau' 0x3A4 'T'
alias-reduced-variant 'grek/Tau/sansSerif' 'grek/Tau' 'T/sansSerif' MathSansSerif
alias 'cyrl/Te' 0x422 'T'
turned 'turnT' 0xA7B1 'T' Middle (CAP / 2)

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -83,13 +83,14 @@ glyph-block Letter-Latin-Upper-Y : begin
include : YShape bodyType slabType XH Descender
select-variant 'Y' 'Y'
select-variant 'Y/sansSerif' (shapeFrom -- 'Y')
link-reduced-variant 'Y/sansSerif' 'Y' MathSansSerif
select-variant 'Yhooktop' 0x1B3 (follow -- 'Y')
select-variant 'smcpY' 0x28F (follow -- 'Y')
select-variant 'cyrl/ue' 0x4AF (follow -- 'Y')
turned 'turnSansSerifY' 0x2144 'Y/sansSerif' Middle (CAP / 2)
alias 'grek/Upsilon' 0x3A5 'Y'
alias-reduced-variant 'grek/Upsilon/sansSerif' 'grek/Upsilon' 'Y/sansSerif' MathSansSerif
alias 'cyrl/Ue' 0x4AE 'Y'
derive-glyphs 'currency/yenSign' 0xA5 'Y' : lambda [src sel] : glyph-proc
include [refer-glyph src] AS_BASE ALSO_METRICS

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -191,7 +191,9 @@ glyph-block Letter-Latin-V : begin
create-forked-glyph 'cyrl/Izhitsa.curly' : VHooktopShape [DivFrame 1] false CAP
select-variant 'V' 'V'
link-reduced-variant 'V/sansSerif' 'V' MathSansSerif
select-variant 'v' 'v'
link-reduced-variant 'v/sansSerif' 'v' MathSansSerif
select-variant 'smcpV' 0x1D20 (shapeFrom -- 'v') (follow -- 'V')
select-variant 'vhooktop' 0x2C71 (follow -- 'vhooktop')
select-variant 'cyrl/Izhitsa' 0x474 (follow -- 'Vhooktop')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -307,8 +307,10 @@ glyph-block Letter-Latin-W : begin
create-forked-glyph 'whooktop.curly' : WHooktopShape df XH FORM-CURLY
select-variant 'W' 'W'
link-reduced-variant 'W/sansSerif' 'W' MathSansSerif
select-variant 'Whooktop' 0x2C72
select-variant 'w' 'w'
link-reduced-variant 'w/sansSerif' 'w' MathSansSerif
select-variant 'smcpW' 0x1D21 (shapeFrom -- 'w') (follow -- 'W')
select-variant 'ww' 0x2AC (follow -- 'w')
select-variant 'whooktop' 0x2C73

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [Dotless CvDecompose] from "../../../support/gr"
import [Dotless CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -171,10 +171,13 @@ glyph-block Letter-Latin-X : begin
create-glyph 'grek/chi.curly' : composite-proc [MarkSet.p] [ChiBase false]
select-variant 'X' 'X'
link-reduced-variant 'X/sansSerif' 'X' MathSansSerif
alias 'grek/Chi' 0x3A7 'X'
alias-reduced-variant 'grek/Chi/sansSerif' 'grek/Chi' 'X/sansSerif' MathSansSerif
alias 'cyrl/Ha' 0x425 'X'
select-variant 'x' 'x'
link-reduced-variant 'x/sansSerif' 'x' MathSansSerif
select-variant 'xCyrlHaDescenderBase' nothing (shapeFrom -- 'x')
select-variant 'cyrl/ha' 0x445 (shapeFrom -- 'x')

View file

@ -2,7 +2,7 @@ $$include '../../../meta/macros.ptl'
import [mix linreg clamp fallback] from '../../../support/utils'
import [DesignParameters] from '../../../meta/aesthetics'
import [ZReduced CvDecompose] from "../../../support/gr"
import [ZReduced CvDecompose MathSansSerif] from "../../../support/gr"
glyph-module
@ -227,19 +227,23 @@ glyph-block Letter-Latin-Z : begin
bsMask XH
select-variant 'Z' 'Z'
link-reduced-variant 'Z/sansSerif' 'Z' MathSansSerif
link-reduced-variant 'Z/reduced/sansSerif' 'Z'
select-variant 'z' 'z'
link-reduced-variant 'z/sansSerif' 'z' MathSansSerif
select-variant 'smcpZ' 0x1D22 (shapeFrom -- 'z') (follow -- 'Z')
select-variant 'ZReduced' (shapeFrom -- 'Z')
select-variant 'zReduced' (shapeFrom -- 'z')
select-variant 'zReduced/rtailBase' (shapeFrom -- 'z')
if [query-glyph 'Z'] : ZReduced.set [query-glyph 'Z'] 'ZReduced'
if [query-glyph 'z'] : ZReduced.set [query-glyph 'z'] 'zReduced'
select-variant 'Z/reduced' (shapeFrom -- 'Z')
select-variant 'z/reduced' (shapeFrom -- 'z')
select-variant 'z/reduced/rtailBase' (shapeFrom -- 'z')
if [query-glyph 'Z'] : ZReduced.set [query-glyph 'Z'] 'Z/reduced'
if [query-glyph 'z'] : ZReduced.set [query-glyph 'z'] 'z/reduced'
select-variant 'ZDesc' 0x2C6B
select-variant 'zDesc' 0x2C6C
select-variant 'ZDTail' 0x224 (follow -- 'ZDesc')
select-variant 'zDTail' 0x225 (follow -- 'zDesc')
select-variant 'zCurlyTail' 0x291 (follow -- 'zDesc')
select-variant 'grek/Zeta' 0x396 (shapeFrom -- 'Z') (follow -- 'ZReduced')
select-variant 'grek/Zeta' 0x396 (shapeFrom -- 'Z') (follow -- 'Z/reduced')
alias-reduced-variant 'grek/Zeta/sansSerif' 'grek/Zeta' 'Z/reduced/sansSerif' MathSansSerif
define [BBZShape top] : glyph-proc
include : HBarTop SB RightSB top BBS
@ -311,8 +315,8 @@ glyph-block Letter-Latin-Z : begin
if SLAB : begin
include : DownwardLeftSerif SB XH VJut
CreateAccentedComposition 'ZBar' 0x1B5 'ZReduced' 'barOver'
CreateAccentedComposition 'zBar' 0x1B6 'zReduced' 'barOver'
CreateAccentedComposition 'ZCaron' 0x17D 'ZReduced' 'caronAbove'
CreateAccentedComposition 'zCaron' 0x17E 'zReduced' 'caronAbove'
CreateAccentedComposition 'zRTailBR' 0x290 'zReduced/rtailBase' 'rtailBR'
CreateAccentedComposition 'ZBar' 0x1B5 'Z/reduced' 'barOver'
CreateAccentedComposition 'zBar' 0x1B6 'z/reduced' 'barOver'
CreateAccentedComposition 'ZCaron' 0x17D 'Z/reduced' 'caronAbove'
CreateAccentedComposition 'zCaron' 0x17E 'z/reduced' 'caronAbove'
CreateAccentedComposition 'zRTailBR' 0x290 'z/reduced/rtailBase' 'rtailBR'

View file

@ -130,7 +130,7 @@ define-macro glyph-block-import : syntax-rules
define allExports : object
Common-Derivatives `[select-variant orthographic-italic refer-glyph query-glyph
alias turned HDual HCombine VDual VCombine derive-glyphs derive-composites
glyph-is-needed HalfAdvance TurnMarks]
link-reduced-variant alias-reduced-variant glyph-is-needed HalfAdvance TurnMarks]
CommonShapes `[Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt
CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape

View file

@ -33,6 +33,7 @@ function SimpleProp(key) {
const ZReduced = SimpleProp("ZReduced");
const DollarShrinkKernel = SimpleProp("DollarShrinkKernel");
const DollarShorterBar = SimpleProp("DollarShorterBar");
const MathSansSerif = SimpleProp("MathSansSerif");
const CvDecompose = {
get(glyph) {
@ -356,4 +357,5 @@ exports.CvDecompose = CvDecompose;
exports.createGrDisplaySheet = createGrDisplaySheet;
exports.DollarShrinkKernel = DollarShrinkKernel;
exports.DollarShorterBar = DollarShorterBar;
exports.MathSansSerif = MathSansSerif;
exports.SvInheritableRelations = [DollarShrinkKernel, DollarShorterBar];

File diff suppressed because it is too large Load diff