Add 4 chars from Cyrl Ext.B and 2 from Latn Ext.E (#2337)
This commit is contained in:
parent
503a1c8448
commit
d6a49822d3
9 changed files with 127 additions and 35 deletions
|
@ -1,6 +1,12 @@
|
||||||
* Reduce fully-serifed variants of turned m (`U+019C`, `U+026F`, `U+0270`) and Cyrillic Italic Lower {Sha|Scha} (`U+0448`, `U+0449`) under monospace.
|
* Reduce fully-serifed variants of turned m (`U+019C`, `U+026F`, `U+0270`) and Cyrillic Italic Lower {Sha|Scha} (`U+0448`, `U+0449`) under monospace.
|
||||||
* Add characters:
|
* Add characters:
|
||||||
- SQUAT BLACK RIGHTWARDS ARROW (`U+27A7`).
|
- SQUAT BLACK RIGHTWARDS ARROW (`U+27A7`).
|
||||||
|
- CYRILLIC CAPITAL LETTER CCHE (`U+A686`).
|
||||||
|
- CYRILLIC SMALL LETTER CCHE (`U+A687`).
|
||||||
|
- CYRILLIC CAPITAL LETTER HWE (`U+A694`).
|
||||||
|
- CYRILLIC SMALL LETTER HWE (`U+A695`).
|
||||||
|
- LATIN SMALL LETTER U WITH SHORT RIGHT LEG (`U+AB4E`).
|
||||||
|
- LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG (`U+AB4F`).
|
||||||
- LATIN SMALL LETTER DEZH DIGRAPH WITH PALATAL HOOK (`U+1DF12`).
|
- LATIN SMALL LETTER DEZH DIGRAPH WITH PALATAL HOOK (`U+1DF12`).
|
||||||
- LATIN SMALL LETTER TESH DIGRAPH WITH PALATAL HOOK (`U+1DF17`).
|
- LATIN SMALL LETTER TESH DIGRAPH WITH PALATAL HOOK (`U+1DF17`).
|
||||||
- LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD (`U+1F800`) ... DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD (`U+1F80B`).
|
- LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD (`U+1F800`) ... DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD (`U+1F80B`).
|
||||||
|
|
|
@ -10,7 +10,8 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
glyph-block-import Mark-Adjustment : LeaningAnchor
|
glyph-block-import Mark-Adjustment : LeaningAnchor
|
||||||
glyph-block-import Letter-Shared : CreateTurnedLetter
|
glyph-block-import Letter-Shared : CreateTurnedLetter
|
||||||
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar DToothlessRise
|
glyph-block-import Letter-Shared-Shapes : SerifFrame RightwardTailedBar DToothlessRise
|
||||||
glyph-block-import Letter-Shared-Shapes : CyrDescender BottomExtension
|
glyph-block-import Letter-Shared-Shapes : TopHook CyrDescender BottomExtension
|
||||||
|
glyph-block-import Letter-Latin-Lower-M : EarlessCornerDoubleArchSmallMShape
|
||||||
|
|
||||||
glyph-block-export BODY
|
glyph-block-export BODY
|
||||||
define BODY : object
|
define BODY : object
|
||||||
|
@ -31,7 +32,7 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
glyph-block-export CyrCheShape
|
glyph-block-export CyrCheShape
|
||||||
define [CyrCheShape] : with-params [df top pyBar bodyType slabType [sw df.mvs] [yBarOffset DToothlessRise]] : glyph-proc
|
define [CyrCheShape] : with-params [df top pyBar bodyType slabType [sw df.mvs] [yBarOffset DToothlessRise]] : glyph-proc
|
||||||
local bar : top * [fallback pyBar 0.5] + yBarOffset
|
local bar : top * [fallback pyBar 0.5] + yBarOffset
|
||||||
include : match bodyType
|
include : tagged 'strokeR' : match bodyType
|
||||||
[Just BODY.TAILED] : RightwardTailedBar df.rightSB 0 top (sw -- sw)
|
[Just BODY.TAILED] : RightwardTailedBar df.rightSB 0 top (sw -- sw)
|
||||||
__ : VBar.r df.rightSB 0 top sw
|
__ : VBar.r df.rightSB 0 top sw
|
||||||
include : dispiro
|
include : dispiro
|
||||||
|
@ -63,19 +64,57 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
[Just SERIFS.BR] sf.rb.outer
|
[Just SERIFS.BR] sf.rb.outer
|
||||||
__ : glyph-proc
|
__ : glyph-proc
|
||||||
|
|
||||||
|
define [CyrCcheShape] : with-params [df top pyBar bodyType slabType [sw df.mvs] [yBarOffset DToothlessRise]] : glyph-proc
|
||||||
|
local bar : top * [fallback pyBar 0.5]
|
||||||
|
include : EarlessCornerDoubleArchSmallMShape df (top - bar + HalfStroke) 0 0 0
|
||||||
|
eject-contour 'barL'
|
||||||
|
include : FlipAround df.middle (top / 2)
|
||||||
|
|
||||||
|
include : match bodyType
|
||||||
|
[Just BODY.TAILED] : RightwardTailedBar df.rightSB 0 top (sw -- sw)
|
||||||
|
__ : VBar.r df.rightSB 0 top sw
|
||||||
|
|
||||||
|
local sf : SerifFrame.fromDf df top 0
|
||||||
|
include : tagged 'serifLT' : match slabType
|
||||||
|
[Just SERIFS.ALL] [if sf.enoughSpaceForFullSerifs sf.lt.full sf.lt.outer]
|
||||||
|
[Just SERIFS.TOP] [if sf.enoughSpaceForFullSerifs sf.lt.full sf.lt.outer]
|
||||||
|
[Just SERIFS.TL-BR] sf.lt.outer
|
||||||
|
[Just SERIFS.TL] sf.lt.outer
|
||||||
|
__ : glyph-proc
|
||||||
|
include : tagged 'serifMT' : match slabType
|
||||||
|
[Just SERIFS.ALL] [if sf.enoughSpaceForFullSerifs sf.mt.full [glyph-proc]]
|
||||||
|
[Just SERIFS.TOP] [if sf.enoughSpaceForFullSerifs sf.mt.full [glyph-proc]]
|
||||||
|
__ : glyph-proc
|
||||||
|
include : tagged 'SerifRT' : match slabType
|
||||||
|
[Just SERIFS.ALL] [if sf.enoughSpaceForFullSerifs sf.rt.full sf.rt.outer]
|
||||||
|
[Just SERIFS.TOP] [if sf.enoughSpaceForFullSerifs sf.rt.full sf.rt.outer]
|
||||||
|
__ : glyph-proc
|
||||||
|
include : tagged 'SerifRB' : match slabType
|
||||||
|
[Just SERIFS.ALL] sf.rb.fullSide
|
||||||
|
[Just SERIFS.TL-BR] sf.rb.outer
|
||||||
|
[Just SERIFS.BR] sf.rb.outer
|
||||||
|
__ : glyph-proc
|
||||||
|
|
||||||
create-glyph 'cyrl/Che' 0x427 : glyph-proc
|
create-glyph 'cyrl/Che' 0x427 : glyph-proc
|
||||||
include : MarkSet.capital
|
include : MarkSet.capital
|
||||||
include : LeaningAnchor.Below.VBar.r RightSB
|
include : LeaningAnchor.Below.VBar.r RightSB
|
||||||
include : CyrCheShape [DivFrame 1] CAP [if SLAB 0.45 0.35] BODY.STRAIGHT
|
include : CyrCheShape [DivFrame 1] CAP [if SLAB 0.45 0.35] BODY.STRAIGHT
|
||||||
if SLAB SERIFS.ALL SERIFS.NONE
|
if SLAB SERIFS.ALL SERIFS.NONE
|
||||||
|
|
||||||
create-glyph 0x4B6 : composite-proc
|
create-glyph 'cyrl/CheDescender' 0x4B6 : composite-proc
|
||||||
refer-glyph 'cyrl/Che'
|
refer-glyph 'cyrl/Che'
|
||||||
CyrDescender.rSideJut RightSB 0
|
CyrDescender.rSideJut RightSB 0
|
||||||
create-glyph 0x4CB : composite-proc
|
create-glyph 'cyrl/kjh/Che' 0x4CB : composite-proc
|
||||||
refer-glyph 'cyrl/Che'
|
refer-glyph 'cyrl/Che'
|
||||||
CyrDescender.lSideJut (RightSB - [HSwToV Stroke]) 0 (jut -- MidJutSide)
|
CyrDescender.lSideJut (RightSB - [HSwToV Stroke]) 0 (jut -- MidJutSide)
|
||||||
|
|
||||||
|
create-glyph 'cyrl/Cche' 0xA686 : glyph-proc
|
||||||
|
local df : include : DivFrame para.diversityM 3
|
||||||
|
include : df.markSet.capital
|
||||||
|
include : LeaningAnchor.Below.VBar.r df.rightSB
|
||||||
|
include : CyrCcheShape df CAP [if SLAB 0.45 0.35] BODY.STRAIGHT
|
||||||
|
if SLAB SERIFS.ALL SERIFS.NONE
|
||||||
|
|
||||||
glyph-block-export ItalicConfig
|
glyph-block-export ItalicConfig
|
||||||
define ItalicConfig : object
|
define ItalicConfig : object
|
||||||
standard { BODY.STRAIGHT SERIFS.ALL SERIFS.ALL-BGR SERIFS.TL-BR }
|
standard { BODY.STRAIGHT SERIFS.ALL SERIFS.ALL-BGR SERIFS.TL-BR }
|
||||||
|
@ -94,23 +133,32 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
include : CyrCheShape [DivFrame 1] XH [if SLAB 0.45 0.4] body
|
include : CyrCheShape [DivFrame 1] XH [if SLAB 0.45 0.4] body
|
||||||
if SLAB [if para.isItalic slabItalic slabUprightBGR] SERIFS.NONE
|
if SLAB [if para.isItalic slabItalic slabUprightBGR] SERIFS.NONE
|
||||||
|
|
||||||
|
create-glyph "cyrl/cche.\(suffix)" : glyph-proc
|
||||||
|
local df : include : DivFrame para.diversityM 3
|
||||||
|
include : df.markSet.e
|
||||||
|
include : LeaningAnchor.Below.VBar.r df.rightSB
|
||||||
|
include : CyrCcheShape df XH [if SLAB 0.45 0.4] body
|
||||||
|
if SLAB [if para.isItalic slabItalic slabUpright] SERIFS.NONE
|
||||||
|
|
||||||
select-variant 'cyrl/che' 0x447
|
select-variant 'cyrl/che' 0x447
|
||||||
select-variant 'cyrl/che.BGR' (follow -- 'cyrl/che')
|
select-variant 'cyrl/che.BGR' (follow -- 'cyrl/che')
|
||||||
|
|
||||||
create-glyph 0x4B7 : composite-proc
|
create-glyph 'cyrl/cheDescender' 0x4B7 : composite-proc
|
||||||
refer-glyph 'cyrl/che.standard'
|
refer-glyph 'cyrl/che.standard'
|
||||||
CyrDescender.rSideJut RightSB 0
|
CyrDescender.rSideJut RightSB 0
|
||||||
create-glyph 0x4CC : composite-proc
|
create-glyph 'cyrl/kjh/che' 0x4CC : composite-proc
|
||||||
refer-glyph 'cyrl/che.standard'
|
refer-glyph 'cyrl/che.standard'
|
||||||
CyrDescender.lSideJut (RightSB - [HSwToV Stroke]) 0 (jut -- MidJutSide)
|
CyrDescender.lSideJut (RightSB - [HSwToV Stroke]) 0 (jut -- MidJutSide)
|
||||||
|
|
||||||
define [ChrVBar top pyBar] : begin
|
select-variant 'cyrl/cche' 0xA687 (follow -- 'cyrl/che')
|
||||||
|
|
||||||
|
define [CheVBarBarShape top pyBar] : begin
|
||||||
local SwCheVBar : Math.min OverlayStroke (0.625 * (RightSB - SB - [HSwToV : 2 * Stroke]) / HVContrast)
|
local SwCheVBar : Math.min OverlayStroke (0.625 * (RightSB - SB - [HSwToV : 2 * Stroke]) / HVContrast)
|
||||||
local yc : top * [fallback pyBar 0.5] + Stroke * 0.1
|
local yc : top * [fallback pyBar 0.5] + Stroke * 0.1
|
||||||
return : VBar.m Middle (yc + LongJut * 0.8) (yc - LongJut * 0.8) SwCheVBar
|
return : VBar.m Middle (yc + LongJut * 0.8) (yc - LongJut * 0.8) SwCheVBar
|
||||||
|
|
||||||
derive-composites 'cyrl/CheVBar' 0x4B8 'cyrl/Che' [ChrVBar CAP [if SLAB 0.45 0.35]]
|
derive-composites 'cyrl/CheVBar' 0x4B8 'cyrl/Che' [CheVBarBarShape CAP [if SLAB 0.45 0.35]]
|
||||||
derive-composites 'cyrl/cheVBar' 0x4B9 'cyrl/che' [ChrVBar XH [if SLAB 0.45 0.4 ]]
|
derive-composites 'cyrl/cheVBar' 0x4B9 'cyrl/che' [CheVBarBarShape XH [if SLAB 0.45 0.4 ]]
|
||||||
|
|
||||||
define ShhaConfig : object
|
define ShhaConfig : object
|
||||||
serifless SERIFS.NONE
|
serifless SERIFS.NONE
|
||||||
|
@ -126,7 +174,15 @@ glyph-block Letter-Cyrillic-Che : begin
|
||||||
yBarOffset -- [HSwToV : Math.pow Stroke 2] / (RightSB - SB)
|
yBarOffset -- [HSwToV : Math.pow Stroke 2] / (RightSB - SB)
|
||||||
include : FlipAround Middle (CAP / 2)
|
include : FlipAround Middle (CAP / 2)
|
||||||
|
|
||||||
|
create-glyph "cyrl/Hwe.\(suffix)" : glyph-proc
|
||||||
|
include [refer-glyph "cyrl/Shha.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
|
eject-contour 'strokeR'
|
||||||
|
eject-contour 'serifRB'
|
||||||
|
include : TopHook.lBarInner SB 0 CAP
|
||||||
|
include : LeaningAnchor.Above.VBar.l SB
|
||||||
|
|
||||||
select-variant 'cyrl/Shha' 0x4BA (follow -- 'H')
|
select-variant 'cyrl/Shha' 0x4BA (follow -- 'H')
|
||||||
select-variant 'cyrl/Shha/descBase' (shapeFrom -- 'cyrl/Shha') (follow -- 'H/descBase')
|
select-variant 'cyrl/Shha/descBase' (shapeFrom -- 'cyrl/Shha') (follow -- 'H/descBase')
|
||||||
|
select-variant 'cyrl/Hwe' 0xA694 (follow -- 'HHookTop')
|
||||||
|
|
||||||
derive-composites 'cyrl/ShhaDescender' 0x526 'cyrl/Shha/descBase' [CyrDescender.rSideJut RightSB 0]
|
derive-composites 'cyrl/ShhaDescender' 0x526 'cyrl/Shha/descBase' [CyrDescender.rSideJut RightSB 0]
|
||||||
|
|
|
@ -123,6 +123,7 @@ glyph-block Letter-Latin-Lower-H : begin
|
||||||
|
|
||||||
alias 'cyrl/shha' 0x4BB 'h'
|
alias 'cyrl/shha' 0x4BB 'h'
|
||||||
alias 'cyrl/tshe' 0x45B 'hStroke'
|
alias 'cyrl/tshe' 0x45B 'hStroke'
|
||||||
|
alias 'cyrl/hwe' 0xA695 'hHookTop'
|
||||||
|
|
||||||
derive-composites 'hPalatalHook' 0xA795 'h/descBase' [PalatalHook.rSideJut RightSB 0]
|
derive-composites 'hPalatalHook' 0xA795 'h/descBase' [PalatalHook.rSideJut RightSB 0]
|
||||||
derive-composites 'hDescender' 0x2C68 'h/descBase' [CyrDescender.rSideJut RightSB 0]
|
derive-composites 'hDescender' 0x2C68 'h/descBase' [CyrDescender.rSideJut RightSB 0]
|
||||||
|
|
|
@ -152,6 +152,7 @@ glyph-block Letter-Latin-Lower-M : begin
|
||||||
define [SmallMShortLegHeight top df] : (top - df.mvs) * 0.45
|
define [SmallMShortLegHeight top df] : (top - df.mvs) * 0.45
|
||||||
define [SmallMSmoothHeight top df] : top - [SmallMSmooth df] - TanSlope * Stroke
|
define [SmallMSmoothHeight top df] : top - [SmallMSmooth df] - TanSlope * Stroke
|
||||||
|
|
||||||
|
glyph-block-export EarlessCornerDoubleArchSmallMShape
|
||||||
define [EarlessCornerDoubleArchSmallMShape df top lbot mbot rbot _mid] : glyph-proc
|
define [EarlessCornerDoubleArchSmallMShape df top lbot mbot rbot _mid] : glyph-proc
|
||||||
local mid : fallback _mid df.middle
|
local mid : fallback _mid df.middle
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ glyph-block Letter-Latin-U : begin
|
||||||
|
|
||||||
glyph-block-export UShapeGroup
|
glyph-block-export UShapeGroup
|
||||||
define [UShapeGroup ada adb] : namespace
|
define [UShapeGroup ada adb] : namespace
|
||||||
export : define [Toothed df top sw fHookLeft] : glyph-proc
|
export : define [Toothed df top sw fHookLeft fShortLeg] : glyph-proc
|
||||||
set-base-anchor 'trailing' df.rightSB 0
|
set-base-anchor 'trailing' df.rightSB 0
|
||||||
include : nShoulder
|
include : nShoulder
|
||||||
top -- top
|
top -- top
|
||||||
|
@ -50,9 +50,9 @@ glyph-block Letter-Latin-U : begin
|
||||||
adb -- adb
|
adb -- adb
|
||||||
if fHookLeft : include : RetroflexHook.rExt df.rightSB (TailY + HalfStroke) (sw -- sw)
|
if fHookLeft : include : RetroflexHook.rExt df.rightSB (TailY + HalfStroke) (sw -- sw)
|
||||||
include : FlipAround df.middle (top / 2)
|
include : FlipAround df.middle (top / 2)
|
||||||
include : tagged 'strokeR' : VBar.r df.rightSB 0 top sw
|
include : tagged 'strokeR' : VBar.r df.rightSB 0 [if fShortLeg [mix ada top 0.5] top] sw
|
||||||
|
|
||||||
export : define [Tailed df top sw fHookLeft] : glyph-proc
|
export : define [Tailed df top sw fHookLeft fShortLeg] : glyph-proc
|
||||||
set-base-anchor 'trailing' (df.rightSB + SideJut) 0
|
set-base-anchor 'trailing' (df.rightSB + SideJut) 0
|
||||||
include : nShoulder
|
include : nShoulder
|
||||||
top -- top
|
top -- top
|
||||||
|
@ -65,23 +65,31 @@ glyph-block Letter-Latin-U : begin
|
||||||
adb -- adb
|
adb -- adb
|
||||||
if fHookLeft : include : RetroflexHook.rExt df.rightSB (TailY + HalfStroke) (sw -- sw)
|
if fHookLeft : include : RetroflexHook.rExt df.rightSB (TailY + HalfStroke) (sw -- sw)
|
||||||
include : FlipAround df.middle (top / 2)
|
include : FlipAround df.middle (top / 2)
|
||||||
include : tagged 'strokeR' : RightwardTailedBar df.rightSB 0 top (sw -- sw)
|
include : tagged 'strokeR' : RightwardTailedBar df.rightSB 0 [if fShortLeg [mix ada top 0.5] top] (sw -- sw)
|
||||||
|
|
||||||
export : define [ToothlessRounded df top sw fHookLeft] : glyph-proc
|
export : define [ToothlessRounded df top sw fHookLeft fShortLeg] : glyph-proc
|
||||||
if fHookLeft : begin
|
if fHookLeft : begin
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.rhs sw
|
widths.rhs sw
|
||||||
flat df.leftSB 0 [heading Upward]
|
flat df.leftSB [if fShortLeg [mix (top - ada) 0 0.5] 0] [heading Upward]
|
||||||
curl df.leftSB (top - ada)
|
curl df.leftSB (top - ada)
|
||||||
arch.rhs top
|
arch.rhs top
|
||||||
flat df.rightSB (top - adb)
|
flat df.rightSB (top - adb)
|
||||||
curl df.rightSB (TailY + HalfStroke) [heading Downward]
|
curl df.rightSB (TailY + HalfStroke) [heading Downward]
|
||||||
include : RetroflexHook.rExt df.rightSB (TailY + HalfStroke) (sw -- sw)
|
include : RetroflexHook.rExt df.rightSB (TailY + HalfStroke) (sw -- sw)
|
||||||
include : FlipAround df.middle (top / 2)
|
include : FlipAround df.middle (top / 2)
|
||||||
: else : include : UShape df top 0 (stroke -- sw) (ada -- ada) (adb -- adb)
|
: else : begin
|
||||||
|
if fShortLeg : include : dispiro
|
||||||
|
widths.lhs sw
|
||||||
|
flat df.leftSB top [heading Downward]
|
||||||
|
curl df.leftSB adb
|
||||||
|
arch.lhs 0 (sw -- sw)
|
||||||
|
flat df.rightSB ada
|
||||||
|
curl df.rightSB [mix ada top 0.5] [heading Upward]
|
||||||
|
: else : include : UShape df top 0 (stroke -- sw) (ada -- ada) (adb -- adb)
|
||||||
|
|
||||||
export : define [ToothlessCorner df top sw fHookLeft] : glyph-proc
|
export : define [ToothlessCorner df top sw fHookLeft fShortLeg] : glyph-proc
|
||||||
include : VBar.l df.leftSB 0 (top - DToothlessRise) sw
|
include : VBar.l df.leftSB [if fShortLeg [mix (top - ada) 0 0.5] 0] (top - DToothlessRise) sw
|
||||||
include : dispiro
|
include : dispiro
|
||||||
widths.rhs sw
|
widths.rhs sw
|
||||||
g4 df.leftSB (top - DToothlessRise)
|
g4 df.leftSB (top - DToothlessRise)
|
||||||
|
@ -243,6 +251,13 @@ glyph-block Letter-Latin-U : begin
|
||||||
include sf.rb.fullSide
|
include sf.rb.fullSide
|
||||||
include : LeaningAnchor.Below.VBar.r df.rightSB
|
include : LeaningAnchor.Below.VBar.r df.rightSB
|
||||||
|
|
||||||
|
create-glyph "uShortLeg.\(suffix)" : glyph-proc
|
||||||
|
local df : DivFrame 1
|
||||||
|
include : df.markSet.e
|
||||||
|
include : Base df XH Stroke false true
|
||||||
|
include : Slabs df XH
|
||||||
|
eject-contour 'serifRT'
|
||||||
|
|
||||||
create-glyph "uHookLeft.\(suffix)" : glyph-proc
|
create-glyph "uHookLeft.\(suffix)" : glyph-proc
|
||||||
local df : DivFrame 1
|
local df : DivFrame 1
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
|
@ -299,6 +314,7 @@ glyph-block Letter-Latin-U : begin
|
||||||
select-variant 'u' 'u'
|
select-variant 'u' 'u'
|
||||||
link-reduced-variant 'u/sansSerif' 'u' MathSansSerif
|
link-reduced-variant 'u/sansSerif' 'u' MathSansSerif
|
||||||
select-variant 'u/uRTailBase' (shapeFrom -- 'u')
|
select-variant 'u/uRTailBase' (shapeFrom -- 'u')
|
||||||
|
select-variant 'uShortLeg' 0xAB4E
|
||||||
select-variant 'uHookLeft' 0xAB52
|
select-variant 'uHookLeft' 0xAB52
|
||||||
|
|
||||||
select-variant 'grek/mu' 0x3BC
|
select-variant 'grek/mu' 0x3BC
|
||||||
|
|
|
@ -205,7 +205,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
||||||
include : df.markSet.e
|
include : df.markSet.e
|
||||||
include : HwairShape df XH (XH / 2) slabType
|
include : HwairShape df XH (XH / 2) slabType
|
||||||
|
|
||||||
create-glyph "HHookLeft.\(suffix)" : glyph-proc
|
create-glyph "HHookTop.\(suffix)" : glyph-proc
|
||||||
include [refer-glyph "H.\(suffix)"] AS_BASE ALSO_METRICS
|
include [refer-glyph "H.\(suffix)"] AS_BASE ALSO_METRICS
|
||||||
eject-contour "serifLT"
|
eject-contour "serifLT"
|
||||||
include : LeftHook SB CAP
|
include : LeftHook SB CAP
|
||||||
|
@ -269,7 +269,7 @@ glyph-block Letter-Latin-Upper-H : begin
|
||||||
CreateSelectorVariants 'cyrl/enghe' 0x4A5 [Object.keys HConfig] (follow -- 'cyrl/en')
|
CreateSelectorVariants 'cyrl/enghe' 0x4A5 [Object.keys HConfig] (follow -- 'cyrl/en')
|
||||||
|
|
||||||
select-variant 'Hwair' 0x1F6
|
select-variant 'Hwair' 0x1F6
|
||||||
select-variant 'HHookLeft' 0xA7AA
|
select-variant 'HHookTop' 0xA7AA
|
||||||
|
|
||||||
select-variant 'HStroke' 0x126 (follow -- 'H')
|
select-variant 'HStroke' 0x126 (follow -- 'H')
|
||||||
select-variant 'smcpHStroke' null (follow -- 'H')
|
select-variant 'smcpHStroke' null (follow -- 'H')
|
||||||
|
|
|
@ -35,8 +35,8 @@ glyph-block Letter-Latin-Upper-N : begin
|
||||||
[Just BODY-SYMMETRIC] : dispiro
|
[Just BODY-SYMMETRIC] : dispiro
|
||||||
flat left 0 [widths.heading 0 stroke Upward]
|
flat left 0 [widths.heading 0 stroke Upward]
|
||||||
curl left (top * 0.4) [heading Upward]
|
curl left (top * 0.4) [heading Upward]
|
||||||
straight.up.end left top [widths.heading 0 swDiag Upward]
|
straight.up.end left top [widths.heading 0 swEnd Upward]
|
||||||
[Just BODY-ASYMMETRIC] : VBar.l left 0 top stroke
|
[Just BODY-ASYMMETRIC] : VBar.l left 0 top swEnd
|
||||||
match bodyType
|
match bodyType
|
||||||
[Just BODY-SYMMETRIC] : dispiro
|
[Just BODY-SYMMETRIC] : dispiro
|
||||||
flat right top [widths.heading 0 stroke Downward]
|
flat right top [widths.heading 0 stroke Downward]
|
||||||
|
@ -61,20 +61,23 @@ glyph-block Letter-Latin-Upper-N : begin
|
||||||
local yEnd : match bodyType
|
local yEnd : match bodyType
|
||||||
[Just BODY-SYMMETRIC] 0
|
[Just BODY-SYMMETRIC] 0
|
||||||
[Just BODY-ASYMMETRIC] : top * 0.375
|
[Just BODY-ASYMMETRIC] : top * 0.375
|
||||||
|
local swEnd : match bodyType
|
||||||
|
[Just BODY-SYMMETRIC] swDiag
|
||||||
|
[Just BODY-ASYMMETRIC] stroke
|
||||||
|
|
||||||
include : union
|
include : union
|
||||||
match bodyType
|
match bodyType
|
||||||
[Just BODY-SYMMETRIC] : dispiro
|
[Just BODY-SYMMETRIC] : dispiro
|
||||||
flat left top [widths.lhs.heading stroke Downward]
|
flat left top [widths.lhs.heading stroke Downward]
|
||||||
curl left (top * 0.6) [heading Downward]
|
curl left (top * 0.6) [heading Downward]
|
||||||
straight.down.end left 0 [widths.lhs.heading swDiag Downward]
|
straight.down.end left 0 [widths.lhs.heading swEnd Downward]
|
||||||
[Just BODY-ASYMMETRIC] : VBar.l left 0 top stroke
|
[Just BODY-ASYMMETRIC] : VBar.l left 0 top swEnd
|
||||||
match bodyType
|
match bodyType
|
||||||
[Just BODY-SYMMETRIC] : dispiro
|
[Just BODY-SYMMETRIC] : dispiro
|
||||||
flat right 0 [widths.lhs.heading stroke Upward]
|
flat right 0 [widths.lhs.heading stroke Upward]
|
||||||
curl right (top * 0.4) [heading Upward]
|
curl right (top * 0.4) [heading Upward]
|
||||||
straight.up.end right top [widths.lhs.heading swDiag Upward]
|
straight.up.end right top [widths.lhs.heading swEnd Upward]
|
||||||
[Just BODY-ASYMMETRIC] : VBar.r right 0 top stroke
|
[Just BODY-ASYMMETRIC] : VBar.r right 0 top swEnd
|
||||||
intersection [Rect top 0 left right]
|
intersection [Rect top 0 left right]
|
||||||
ExtLineCenter 2 swDiag (left + swDiag) yEnd (right - swDiag) top
|
ExtLineCenter 2 swDiag (left + swDiag) yEnd (right - swDiag) top
|
||||||
|
|
||||||
|
|
|
@ -158,7 +158,7 @@ export : define decompOverrides : object
|
||||||
0x1D75 { 't' 'tildeOver' }
|
0x1D75 { 't' 'tildeOver' }
|
||||||
0x1D76 { 'z/reduced' 'tildeStrike2' }
|
0x1D76 { 'z/reduced' 'tildeStrike2' }
|
||||||
0x1D7C { 'latn/iota' 'barOver' }
|
0x1D7C { 'latn/iota' 'barOver' }
|
||||||
0x1D7D { 'p' 'hStrike' }
|
0x1D7D { 'p' 'hStrike' }
|
||||||
0x1D7F { 'latn/upsilon' 'hStrike' }
|
0x1D7F { 'latn/upsilon' 'hStrike' }
|
||||||
|
|
||||||
0x1E08 { 'CCedilla' 'acuteAbove' }
|
0x1E08 { 'CCedilla' 'acuteAbove' }
|
||||||
|
@ -209,11 +209,12 @@ export : define decompOverrides : object
|
||||||
0xA7A8 { 'S' 'oblStrike' }
|
0xA7A8 { 'S' 'oblStrike' }
|
||||||
0xA7A9 { 's' 'oblStrike' }
|
0xA7A9 { 's' 'oblStrike' }
|
||||||
|
|
||||||
0xAB30 { 'scripta' 'hStrike' }
|
0xAB30 { 'scripta' 'hStrike' }
|
||||||
0xAB3F { 'turnc' 'shortSlash' }
|
0xAB3F { 'turnc' 'shortSlash' }
|
||||||
|
0xAB4F { 'uShortLeg' 'hStrike' }
|
||||||
|
|
||||||
0x1DF0B { 'esh' 'dblBarOver' }
|
0x1DF0B { 'esh' 'dblBarOver' }
|
||||||
0x1DF0C { 'eshCurlyTail' 'dblBarOver' }
|
0x1DF0C { 'eshCurlyTail' 'dblBarOver' }
|
||||||
0x1DF1A { 'iRetroflexHook' 'barOver' }
|
0x1DF1A { 'iRetroflexHook' 'barOver' }
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -400,7 +400,7 @@ selector.rightHalfH = "serifless"
|
||||||
selector."grek/Heta" = "serifless"
|
selector."grek/Heta" = "serifless"
|
||||||
selector."grek/heta" = "serifless"
|
selector."grek/heta" = "serifless"
|
||||||
selector.Hwair = "serifless"
|
selector.Hwair = "serifless"
|
||||||
selector.HHookLeft = "serifless"
|
selector.HHookTop = "serifless"
|
||||||
selector."cyrl/Nje/leftHalf" = "serifless"
|
selector."cyrl/Nje/leftHalf" = "serifless"
|
||||||
selector."cyrl/Nje/leftHalf/reduced" = "serifless"
|
selector."cyrl/Nje/leftHalf/reduced" = "serifless"
|
||||||
|
|
||||||
|
@ -415,7 +415,7 @@ selector.rightHalfH = "serifless"
|
||||||
selector."grek/Heta" = "topLeftSerifed"
|
selector."grek/Heta" = "topLeftSerifed"
|
||||||
selector."grek/heta" = "topLeftSerifed"
|
selector."grek/heta" = "topLeftSerifed"
|
||||||
selector.Hwair = "topLeftSerifed"
|
selector.Hwair = "topLeftSerifed"
|
||||||
selector.HHookLeft = "serifless"
|
selector.HHookTop = "serifless"
|
||||||
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
||||||
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
||||||
|
|
||||||
|
@ -430,7 +430,7 @@ selector.rightHalfH = "topLeftBottomRightSerifed"
|
||||||
selector."grek/Heta" = "topLeftSerifed"
|
selector."grek/Heta" = "topLeftSerifed"
|
||||||
selector."grek/heta" = "topLeftSerifed"
|
selector."grek/heta" = "topLeftSerifed"
|
||||||
selector.Hwair = "topLeftSerifed"
|
selector.Hwair = "topLeftSerifed"
|
||||||
selector.HHookLeft = "topLeftBottomRightSerifed"
|
selector.HHookTop = "topLeftBottomRightSerifed"
|
||||||
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
selector."cyrl/Nje/leftHalf" = "topLeftSerifed"
|
||||||
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
selector."cyrl/Nje/leftHalf/reduced" = "topLeftSerifed"
|
||||||
|
|
||||||
|
@ -445,7 +445,7 @@ selector.rightHalfH = "serifed"
|
||||||
selector."grek/Heta" = "serifed"
|
selector."grek/Heta" = "serifed"
|
||||||
selector."grek/heta" = "topLeftSerifed"
|
selector."grek/heta" = "topLeftSerifed"
|
||||||
selector.Hwair = "serifedExceptBottomRight"
|
selector.Hwair = "serifedExceptBottomRight"
|
||||||
selector.HHookLeft = "serifed"
|
selector.HHookTop = "serifed"
|
||||||
selector."cyrl/Nje/leftHalf" = "serifed"
|
selector."cyrl/Nje/leftHalf" = "serifed"
|
||||||
selector."cyrl/Nje/leftHalf/reduced" = "serifedExceptBottomRight"
|
selector."cyrl/Nje/leftHalf/reduced" = "serifedExceptBottomRight"
|
||||||
|
|
||||||
|
@ -3740,6 +3740,7 @@ descriptionAffix = "toothed shape"
|
||||||
selectorAffix.u = "toothed"
|
selectorAffix.u = "toothed"
|
||||||
selectorAffix."u/sansSerif" = "toothed"
|
selectorAffix."u/sansSerif" = "toothed"
|
||||||
selectorAffix."u/uRTailBase" = "urtBase"
|
selectorAffix."u/uRTailBase" = "urtBase"
|
||||||
|
selectorAffix.uShortLeg = "toothed"
|
||||||
selectorAffix.uHookLeft = "toothed"
|
selectorAffix.uHookLeft = "toothed"
|
||||||
selectorAffix.turnh = "toothed"
|
selectorAffix.turnh = "toothed"
|
||||||
selectorAffix.turnhHookLeft = "toothed"
|
selectorAffix.turnhHookLeft = "toothed"
|
||||||
|
@ -3767,6 +3768,7 @@ descriptionAffix = "tailed shape"
|
||||||
selectorAffix.u = "tailed"
|
selectorAffix.u = "tailed"
|
||||||
selectorAffix."u/sansSerif" = "tailed"
|
selectorAffix."u/sansSerif" = "tailed"
|
||||||
selectorAffix."u/uRTailBase" = "urtBase"
|
selectorAffix."u/uRTailBase" = "urtBase"
|
||||||
|
selectorAffix.uShortLeg = "tailed"
|
||||||
selectorAffix.uHookLeft = "tailed"
|
selectorAffix.uHookLeft = "tailed"
|
||||||
selectorAffix.turnh = "toothed"
|
selectorAffix.turnh = "toothed"
|
||||||
selectorAffix.turnhHookLeft = "toothed"
|
selectorAffix.turnhHookLeft = "toothed"
|
||||||
|
@ -3794,6 +3796,7 @@ descriptionAffix = "toothless (corner bottom-right) shape"
|
||||||
selectorAffix.u = "toothlessCorner"
|
selectorAffix.u = "toothlessCorner"
|
||||||
selectorAffix."u/sansSerif" = "toothlessCorner"
|
selectorAffix."u/sansSerif" = "toothlessCorner"
|
||||||
selectorAffix."u/uRTailBase" = "urtBase"
|
selectorAffix."u/uRTailBase" = "urtBase"
|
||||||
|
selectorAffix.uShortLeg = "toothlessCorner"
|
||||||
selectorAffix.uHookLeft = "toothlessCorner"
|
selectorAffix.uHookLeft = "toothlessCorner"
|
||||||
selectorAffix.turnh = "toothlessCorner"
|
selectorAffix.turnh = "toothlessCorner"
|
||||||
selectorAffix.turnhHookLeft = "toothlessCorner"
|
selectorAffix.turnhHookLeft = "toothlessCorner"
|
||||||
|
@ -3821,6 +3824,7 @@ descriptionAffix = "toothless (rounded) shape"
|
||||||
selectorAffix.u = "toothlessRounded"
|
selectorAffix.u = "toothlessRounded"
|
||||||
selectorAffix."u/sansSerif" = "toothlessRounded"
|
selectorAffix."u/sansSerif" = "toothlessRounded"
|
||||||
selectorAffix."u/uRTailBase" = "urtBase"
|
selectorAffix."u/uRTailBase" = "urtBase"
|
||||||
|
selectorAffix.uShortLeg = "toothlessRounded"
|
||||||
selectorAffix.uHookLeft = "toothlessRounded"
|
selectorAffix.uHookLeft = "toothlessRounded"
|
||||||
selectorAffix.turnh = "toothed"
|
selectorAffix.turnh = "toothed"
|
||||||
selectorAffix.turnhHookLeft = "toothed"
|
selectorAffix.turnhHookLeft = "toothed"
|
||||||
|
@ -3849,6 +3853,7 @@ descriptionJoiner = "without"
|
||||||
selectorAffix.u = "serifless"
|
selectorAffix.u = "serifless"
|
||||||
selectorAffix."u/sansSerif" = "serifless"
|
selectorAffix."u/sansSerif" = "serifless"
|
||||||
selectorAffix."u/uRTailBase" = "serifless"
|
selectorAffix."u/uRTailBase" = "serifless"
|
||||||
|
selectorAffix.uShortLeg = "serifless"
|
||||||
selectorAffix.uHookLeft = "serifless"
|
selectorAffix.uHookLeft = "serifless"
|
||||||
selectorAffix.turnh = "serifless"
|
selectorAffix.turnh = "serifless"
|
||||||
selectorAffix.turnhHookLeft = "serifless"
|
selectorAffix.turnhHookLeft = "serifless"
|
||||||
|
@ -3877,6 +3882,7 @@ descriptionAffix = "serif at bottom-right"
|
||||||
selectorAffix.u = "bottomRightSerifed"
|
selectorAffix.u = "bottomRightSerifed"
|
||||||
selectorAffix."u/sansSerif" = "serifless"
|
selectorAffix."u/sansSerif" = "serifless"
|
||||||
selectorAffix."u/uRTailBase" = "serifless"
|
selectorAffix."u/uRTailBase" = "serifless"
|
||||||
|
selectorAffix.uShortLeg = "bottomRightSerifed"
|
||||||
selectorAffix.uHookLeft = "bottomRightSerifed"
|
selectorAffix.uHookLeft = "bottomRightSerifed"
|
||||||
selectorAffix.turnh = "serifless"
|
selectorAffix.turnh = "serifless"
|
||||||
selectorAffix.turnhHookLeft = "serifless"
|
selectorAffix.turnhHookLeft = "serifless"
|
||||||
|
@ -3904,6 +3910,7 @@ descriptionAffix = "motion serifs at top-left and bottom-right"
|
||||||
selectorAffix.u = "motionSerifed"
|
selectorAffix.u = "motionSerifed"
|
||||||
selectorAffix."u/sansSerif" = "serifless"
|
selectorAffix."u/sansSerif" = "serifless"
|
||||||
selectorAffix."u/uRTailBase" = "motionSerifed"
|
selectorAffix."u/uRTailBase" = "motionSerifed"
|
||||||
|
selectorAffix.uShortLeg = "motionSerifed"
|
||||||
selectorAffix.uHookLeft = {if = [{body = "toothed"}], then = "bottomRightSerifed", else = "serifless"}
|
selectorAffix.uHookLeft = {if = [{body = "toothed"}], then = "bottomRightSerifed", else = "serifless"}
|
||||||
selectorAffix.turnh = "motionSerifed"
|
selectorAffix.turnh = "motionSerifed"
|
||||||
selectorAffix.turnhHookLeft = "bottomRightSerifed"
|
selectorAffix.turnhHookLeft = "bottomRightSerifed"
|
||||||
|
@ -3931,6 +3938,7 @@ descriptionAffix = "serifs"
|
||||||
selectorAffix.u = "serifed"
|
selectorAffix.u = "serifed"
|
||||||
selectorAffix."u/sansSerif" = "serifless"
|
selectorAffix."u/sansSerif" = "serifless"
|
||||||
selectorAffix."u/uRTailBase" = "serifed"
|
selectorAffix."u/uRTailBase" = "serifed"
|
||||||
|
selectorAffix.uShortLeg = "motionSerifed"
|
||||||
selectorAffix.uHookLeft = "serifed"
|
selectorAffix.uHookLeft = "serifed"
|
||||||
selectorAffix.turnh = "serifed"
|
selectorAffix.turnh = "serifed"
|
||||||
selectorAffix.turnhHookLeft = "serifed"
|
selectorAffix.turnhHookLeft = "serifed"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue