Add five letters with palatal hook. (#2328)

* Add five letters with palatal hook.

* fix EngHook sw

* Actually fix EngHook sw
This commit is contained in:
John McWilliams 2024-05-06 21:38:26 -04:00 committed by GitHub
parent 5af4b5120b
commit 942c149a27
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 108 additions and 53 deletions

View file

@ -1,4 +1,6 @@
* Add characters: * Add characters:
- LATIN SMALL LETTER L WITH BELT AND PALATAL HOOK (`U+1DF13`) ... LATIN SMALL LETTER R WITH FISHHOOK AND PALATAL HOOK (`U+1DF16`).
- LATIN SMALL LETTER EZH WITH PALATAL HOOK (`U+1DF18`).
- LATIN SMALL LETTER I WITH STROKE AND RETROFLEX HOOK (`U+1DF1A`). - LATIN SMALL LETTER I WITH STROKE AND RETROFLEX HOOK (`U+1DF1A`).
- LATIN SMALL LETTER O WITH RETROFLEX HOOK (`U+1DF1B`). - LATIN SMALL LETTER O WITH RETROFLEX HOOK (`U+1DF1B`).
- LATIN SMALL LETTER C WITH RETROFLEX HOOK (`U+1DF1D`). - LATIN SMALL LETTER C WITH RETROFLEX HOOK (`U+1DF1D`).

View file

@ -8,67 +8,68 @@ glyph-module
glyph-block Letter-Latin-Ezh : begin glyph-block Letter-Latin-Ezh : begin
glyph-block-import CommonShapes glyph-block-import CommonShapes
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
glyph-block-import Letter-Shared-Shapes : CurlyTail SerifedArcEnd RetroflexHook glyph-block-import Letter-Shared-Shapes : CurlyTail SerifedArcEnd PalatalHook RetroflexHook
define [StdTerminalShape top bot yMidBar] : begin define [StdTerminalShape df top bot yMidBar sw] : begin
local hookDepth : Hook * (top - bot) / [fallback para.cap0 CAP] local hookDepth : Hook * (top - bot) / [fallback para.cap0 CAP]
local pArc : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB) local pArc : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB)
list list
g4 (RightSB - OX) [mix yMidBar bot pArc] g4 (df.rightSB - OX) [mix yMidBar bot pArc]
hookend bot hookend bot
g4 SB (bot + hookDepth) g4 df.leftSB (bot + hookDepth)
define [HooklessTerminalShape p] : function [top bot yMidBar] : list define [HooklessTerminalShape p] : function [df top bot yMidBar sw] : list
g4.down.mid (RightSB - OX) [mix yMidBar bot p] [heading Downward] g4.down.mid (df.rightSB - OX) [mix yMidBar bot p] [heading Downward]
define [RetroflexConnectionTerminal top bot yMidBar] : begin define [RetroflexConnectionTerminal df top bot yMidBar sw] : begin
local hookDepth : Hook * (top - bot) / [fallback para.cap0 CAP] local hookDepth : Hook * (top - bot) / [fallback para.cap0 CAP]
local pArc : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB) local pArc : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB)
list list
g4 (RightSB - OX) [mix yMidBar bot pArc] g4 (df.rightSB - OX) [mix yMidBar bot pArc]
SerifedArcEnd.RtlRhs SB Middle bot Stroke hookDepth SerifedArcEnd.RtlRhs df.leftSB df.middle bot sw hookDepth
define [ConventionalStart top bot ezhLeft ezhRight yMidBar] : glyph-proc define [ConventionalStart df top bot ezhLeft ezhRight yMidBar sw] : glyph-proc
include : HBar.t SB ezhRight top include : HBar.t df.leftSB ezhRight top sw
include : dispiro include : dispiro
corner ezhRight (top - Stroke) [widths.rhs (Stroke / HVContrast)] corner ezhRight (top - sw) [widths.rhs (sw / HVContrast)]
corner ezhLeft yMidBar [widths.lhs (Stroke / HVContrast)] corner ezhLeft yMidBar [widths.lhs (sw / HVContrast)]
define [CurisveStart top bot ezhLeft ezhRight yMidBar] : glyph-proc define [CurisveStart df top bot ezhLeft ezhRight yMidBar sw] : glyph-proc
define hookTerminalWidth : AdviceStroke 3.5 define hookTerminalWidth : [AdviceStroke 3.5] / Stroke * sw
define xDiagWidth : 1 * Stroke define xDiagWidth : 1 * sw
define yFootHeight : [Math.max (0.15 * (top - bot)) (Stroke * 0.625)] + 0.4 * Stroke define yFootHeight : [Math.max (0.15 * (top - bot)) (sw * 0.625)] + 0.4 * sw
define yHookDepth : Hook + Stroke * 0.25 define yHookDepth : Hook + sw * 0.25
define yHookStraightDepth : Math.min (yHookDepth - Stroke * 1.1) (yHookDepth / 3 - Stroke / 4) define yHookStraightDepth : Math.min (yHookDepth - sw * 1.1) (yHookDepth / 3 - sw / 4)
define xHookDepth : Math.max (0.25 * (RightSB - SB)) (hookTerminalWidth * 1.5) define xHookDepth : Math.max (0.25 * (df.rightSB - df.leftSB)) (hookTerminalWidth * 1.5)
define xMockTailDepth : Math.max (0.375 * (RightSB - SB)) (hookTerminalWidth * 1.375) define xMockTailDepth : Math.max (0.375 * (df.rightSB - df.leftSB)) (hookTerminalWidth * 1.375)
define kTop 0.625 define kTop 0.625
define kBot 0.625 define kBot 0.625
define yTailDepth : Hook * 0.5 define yTailDepth : Hook * 0.5
include : tagged 'strokeTop' : intersection include : tagged 'strokeTop' : intersection
spiro-outline spiro-outline
corner (-Width) bot corner (-df.width) bot
corner (-Width) (2 * top) corner (-df.width) (2 * top)
corner (ezhRight - xDiagWidth + 0.1) (2 * top) corner (ezhRight - xDiagWidth + 0.1) (2 * top)
corner (ezhRight - xDiagWidth + 0.1) (top - yFootHeight) corner (ezhRight - xDiagWidth + 0.1) (top - yFootHeight)
corner (ezhLeft + xDiagWidth) yMidBar corner (ezhLeft + xDiagWidth) yMidBar
corner (ezhLeft + xDiagWidth) bot corner (ezhLeft + xDiagWidth) bot
dispiro dispiro
flat (SB + OX) (top - yHookDepth) [widths.rhs.heading hookTerminalWidth Upward] flat (df.leftSB + OX) (top - yHookDepth) [widths.rhs.heading hookTerminalWidth Upward]
curl (SB + OX) (top - yHookDepth + yHookStraightDepth) [heading Upward] curl (df.leftSB + OX) (top - yHookDepth + yHookStraightDepth) [heading Upward]
arcvh arcvh
g2.right.mid (SB + xHookDepth) (top - O) [widths.rhs.heading Stroke Rightward] g2.right.mid (df.leftSB + xHookDepth) (top - O) [widths.rhs.heading sw Rightward]
flat [mix (SB + xMockTailDepth) ezhRight kTop] (top - kTop * yTailDepth) flat [mix (df.leftSB + xMockTailDepth) ezhRight kTop] (top - kTop * yTailDepth)
curl [mix (SB + xMockTailDepth) ezhRight 4] (top - 4 * yTailDepth) curl [mix (df.leftSB + xMockTailDepth) ezhRight 4] (top - 4 * yTailDepth)
include : VBar.r ezhRight top (top - yFootHeight) (xDiagWidth / HVContrast) include : VBar.r ezhRight top (top - yFootHeight) (xDiagWidth / HVContrast)
include : dispiro include : dispiro
corner ezhRight (top - yFootHeight) [widths.rhs (Stroke / HVContrast)] corner ezhRight (top - yFootHeight) [widths.rhs (sw / HVContrast)]
corner ezhLeft yMidBar [widths.lhs (Stroke / HVContrast)] corner ezhLeft yMidBar [widths.lhs (sw / HVContrast)]
glyph-block-export EzhShape glyph-block-export EzhShape
define flex-params [EzhShape] : glyph-proc define flex-params [EzhShape] : glyph-proc
local-parameter : df
local-parameter : top local-parameter : top
local-parameter : bot local-parameter : bot
local-parameter : pLeft -- 0.2 local-parameter : pLeft -- 0.2
@ -76,23 +77,24 @@ glyph-block Letter-Latin-Ezh : begin
local-parameter : terminalShape -- StdTerminalShape local-parameter : terminalShape -- StdTerminalShape
local-parameter : isCursive -- false local-parameter : isCursive -- false
local-parameter : isSerifed -- SLAB local-parameter : isSerifed -- SLAB
local-parameter : sw -- Stroke
local yMidBar : [mix bot top [if isCursive 0.5 0.55]] + HalfStroke local yMidBar : [mix bot top [if isCursive 0.5 0.55]] + 0.5 * sw
local ezhLeft : mix SB RightSB pLeft local ezhLeft : mix df.leftSB df.rightSB pLeft
local ezhRight : mix SB RightSB pRight local ezhRight : mix df.leftSB df.rightSB pRight
include : union include : union
if isCursive if isCursive
CurisveStart top bot ezhLeft ezhRight yMidBar CurisveStart df top bot ezhLeft ezhRight yMidBar sw
ConventionalStart top bot ezhLeft ezhRight yMidBar ConventionalStart df top bot ezhLeft ezhRight yMidBar sw
dispiro dispiro
widths.rhs widths.rhs sw
flat ezhLeft yMidBar [heading Rightward] flat ezhLeft yMidBar [heading Rightward]
curl (Middle - CorrectionOMidS) yMidBar curl (df.middle - CorrectionOMidS) yMidBar
archv archv
terminalShape top bot yMidBar terminalShape df top bot yMidBar sw
if isSerifed : include : VSerif.dl SB top VJut if isSerifed : include : VSerif.dl df.leftSB top VJut (sw / Stroke * VJutStroke)
return : object yMidBar return : object yMidBar
@ -104,20 +106,20 @@ glyph-block Letter-Latin-Ezh : begin
foreach { suffix { isCursive isSerifed } } [pairs-of EzhConfig] : do foreach { suffix { isCursive isSerifed } } [pairs-of EzhConfig] : do
create-glyph "Ezh.\(suffix)" : glyph-proc create-glyph "Ezh.\(suffix)" : glyph-proc
include : MarkSet.capital include : MarkSet.capital
include : EzhShape CAP 0 (isCursive -- isCursive) (isSerifed -- isSerifed) include : EzhShape [DivFrame 1] CAP 0 (isCursive -- isCursive) (isSerifed -- isSerifed)
create-glyph "smcpEzh.\(suffix)" : glyph-proc create-glyph "smcpEzh.\(suffix)" : glyph-proc
include : MarkSet.e include : MarkSet.e
include : EzhShape XH 0 (isCursive -- isCursive) (isSerifed -- isSerifed) include : EzhShape [DivFrame 1] XH 0 (isCursive -- isCursive) (isSerifed -- isSerifed)
create-glyph "ezh.\(suffix)" : glyph-proc create-glyph "ezh.\(suffix)" : glyph-proc
include : MarkSet.p include : MarkSet.p
include : EzhShape XH Descender (isCursive -- isCursive) (isSerifed -- isSerifed) include : EzhShape [DivFrame 1] XH Descender (isCursive -- isCursive) (isSerifed -- isSerifed)
create-glyph "ezhTail.\(suffix)" : glyph-proc create-glyph "ezhTail.\(suffix)" : glyph-proc
include : MarkSet.p include : MarkSet.p
local b : mix Descender XH 0.25 local b : mix Descender XH 0.25
local [object yMidBar] : include : EzhShape XH b local [object yMidBar] : include : EzhShape [DivFrame 1] XH b
isCursive -- isCursive isCursive -- isCursive
isSerifed -- isSerifed isSerifed -- isSerifed
terminalShape -- [HooklessTerminalShape 0.5] terminalShape -- [HooklessTerminalShape 0.5]
@ -137,7 +139,7 @@ glyph-block Letter-Latin-Ezh : begin
create-glyph "ezhCurlyTail.\(suffix)" : glyph-proc create-glyph "ezhCurlyTail.\(suffix)" : glyph-proc
include : MarkSet.p include : MarkSet.p
local p : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB) local p : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB)
local [object yMidBar] : include : EzhShape XH Descender local [object yMidBar] : include : EzhShape [DivFrame 1] XH Descender
isCursive -- isCursive isCursive -- isCursive
isSerifed -- isSerifed isSerifed -- isSerifed
terminalShape -- [HooklessTerminalShape p] terminalShape -- [HooklessTerminalShape p]
@ -153,12 +155,28 @@ glyph-block Letter-Latin-Ezh : begin
create-glyph "ezhRetroflexHook.\(suffix)" : glyph-proc create-glyph "ezhRetroflexHook.\(suffix)" : glyph-proc
include : MarkSet.p include : MarkSet.p
include : EzhShape XH 0 include : EzhShape [DivFrame 1] XH 0
isCursive -- isCursive isCursive -- isCursive
isSerifed -- isSerifed isSerifed -- isSerifed
terminalShape -- RetroflexConnectionTerminal terminalShape -- RetroflexConnectionTerminal
include : RetroflexHook.l SB 0 (yAttach -- Hook) include : RetroflexHook.l SB 0 (yAttach -- Hook)
create-glyph "ezhPalatalHook.\(suffix)" : glyph-proc
local df : include : DivFrame para.diversityM 1
include : df.markSet.p
local dfSub : DivFrame (0.75 * para.diversityM) 2
local p : SmallArchDepthB / (SmallArchDepthA + SmallArchDepthB)
local [object yMidBar] : include : EzhShape dfSub XH Descender
isCursive -- isCursive
isSerifed -- isSerifed
sw -- dfSub.mvs
local y : [mix yMidBar Descender p] - 0.5 * dfSub.mvs
include : PalatalHook.r
x -- df.rightSB
y -- y
xLink -- dfSub.rightSB
refSw -- dfSub.mvs
maskOut -- [intersection [MaskBelow y] [MaskLeft dfSub.rightSB]]
select-variant 'Ezh' 0x1B7 select-variant 'Ezh' 0x1B7
select-variant 'smcpEzh' 0x1D23 (follow -- 'Ezh') select-variant 'smcpEzh' 0x1D23 (follow -- 'Ezh')
@ -166,14 +184,15 @@ glyph-block Letter-Latin-Ezh : begin
select-variant 'ezhTail' 0x1BA (follow -- 'ezh') select-variant 'ezhTail' 0x1BA (follow -- 'ezh')
select-variant 'ezhCurlyTail' 0x293 (follow -- 'ezh') select-variant 'ezhCurlyTail' 0x293 (follow -- 'ezh')
select-variant 'ezhRetroflexHook' 0x1D9A (follow -- 'ezh') select-variant 'ezhRetroflexHook' 0x1D9A (follow -- 'ezh')
select-variant 'ezhPalatalHook' 0x1DF18 (follow -- 'ezh')
alias 'cyrl/Ezh' 0x4E0 'Ezh' alias 'cyrl/abk/Dze' 0x4E0 'Ezh'
alias 'cyrl/ezh' 0x4E1 'ezh' alias 'cyrl/abk/dze' 0x4E1 'ezh'
# Variants for Ezh doesn't make sense for Lyogh. # Variants for Ezh doesn't make sense for Lyogh.
create-glyph 'lyogh.serifless' : glyph-proc create-glyph 'lyogh.serifless' : glyph-proc
include : MarkSet.bp include : MarkSet.bp
include : EzhShape XH Descender 0.4 include : EzhShape [DivFrame 1] XH Descender 0.4
include : VBar.l SB (XH * 0.1) Ascender include : VBar.l SB (XH * 0.1) Ascender
create-glyph 'lyogh.hooky' : glyph-proc create-glyph 'lyogh.hooky' : glyph-proc
@ -184,7 +203,7 @@ glyph-block Letter-Latin-Ezh : begin
create-glyph 'lyoghRTail.serifless' : glyph-proc create-glyph 'lyoghRTail.serifless' : glyph-proc
include : MarkSet.b include : MarkSet.b
include : EzhShape XH 0 0.4 include : EzhShape [DivFrame 1] XH 0 0.4
include : VBar.l SB 0 Ascender include : VBar.l SB 0 Ascender
include : RetroflexHook.lExt SB 0 include : RetroflexHook.lExt SB 0

View file

@ -344,6 +344,7 @@ glyph-block Letter-Latin-Lower-I : begin
select-variant 'lRTail' 0x26D (follow -- 'l/reduced/rtail') select-variant 'lRTail' 0x26D (follow -- 'l/reduced/rtail')
select-variant 'llWelsh' 0x1EFB (follow -- 'l') select-variant 'llWelsh' 0x1EFB (follow -- 'l')
select-variant 'lPalatalHook' 0x1D85 (follow -- 'l') select-variant 'lPalatalHook' 0x1D85 (follow -- 'l')
select-variant 'lPalatalHook/decompress' (shapeFrom -- 'lPalatalHook') (follow -- 'l/reduced/decompress')
select-variant 'lHighBar' 0xA749 (follow -- 'l') select-variant 'lHighBar' 0xA749 (follow -- 'l')
derive-composites 'lTildeOver' 0x26B 'l/reduced/decompress' 'tildeOver' derive-composites 'lTildeOver' 0x26B 'l/reduced/decompress' 'tildeOver'
@ -356,6 +357,7 @@ glyph-block Letter-Latin-Lower-I : begin
include : BeltOverlay.at 0 0 include : BeltOverlay.at 0 0
derive-composites 'lBelt' 0x26C 'l/reduced/decompress' 'lBeltOverlay' derive-composites 'lBelt' 0x26C 'l/reduced/decompress' 'lBeltOverlay'
derive-composites 'lBeltRTail' 0xA78E 'lRTail/decompress' 'lBeltOverlay' derive-composites 'lBeltRTail' 0xA78E 'lRTail/decompress' 'lBeltOverlay'
derive-composites 'lBeltPalatalHook' 0x1DF13 'lPalatalHook/decompress' 'lBeltOverlay'
derive-composites 'lDot' 0x140 'lDotBase' 'LDotDot' derive-composites 'lDot' 0x140 'lDotBase' 'LDotDot'

View file

@ -219,6 +219,21 @@ glyph-block Letter-Latin-Lower-N : begin
if sLT : include : sLT [DivFrame 1] XH if sLT : include : sLT [DivFrame 1] XH
if sLB : include : sLB [DivFrame 1] 0 if sLB : include : sLB [DivFrame 1] 0
if (!tailed) : create-glyph "engPalatalHook.\(suffix)" : glyph-proc
local df : include : DivFrame para.diversityM 1
include : df.markSet.p
local dfSub : DivFrame (0.75 * para.diversityM) 2
include : Body XH dfSub.leftSB dfSub.rightSB 0 dfSub.mvs
include : EngHook dfSub.rightSB 0 Descender (sw -- dfSub.mvs)
if sLT : include : sLT dfSub XH
if sLB : include : sLB dfSub 0
include : PalatalHook.r
x -- df.rightSB
y -- 0
xLink -- dfSub.rightSB
refSw -- dfSub.mvs
maskOut -- [intersection [MaskBelow 0] [MaskLeft dfSub.rightSB]]
if (!tailed && !sRB) : create-glyph "RInsular.\(suffix)" : glyph-proc if (!tailed && !sRB) : create-glyph "RInsular.\(suffix)" : glyph-proc
include : MarkSet.capDesc include : MarkSet.capDesc
include : LeaningAnchor.Below.VBar.l SB include : LeaningAnchor.Below.VBar.l SB
@ -273,6 +288,7 @@ glyph-block Letter-Latin-Lower-N : begin
select-variant 'nCurlyTail' 0x235 (follow -- 'eng') select-variant 'nCurlyTail' 0x235 (follow -- 'eng')
select-variant 'nCrossedTail' 0xAB3B (follow -- 'eng') select-variant 'nCrossedTail' 0xAB3B (follow -- 'eng')
select-variant 'engCrossedTail' 0xAB3C (follow -- 'eng') select-variant 'engCrossedTail' 0xAB3C (follow -- 'eng')
select-variant 'engPalatalHook' 0x1DF14 (follow -- 'eng')
select-variant 'RInsular' 0xA782 (follow -- 'eng/lTailBase') select-variant 'RInsular' 0xA782 (follow -- 'eng/lTailBase')
select-variant 'rInsular' 0xA783 (follow -- 'eng/lTailBase') select-variant 'rInsular' 0xA783 (follow -- 'eng/lTailBase')

View file

@ -266,6 +266,18 @@ glyph-block Letter-Latin-Lower-R : begin
include : setTurnedMarks doTS XH 0 include : setTurnedMarks doTS XH 0
include : RetroflexHook.lExt (df.rightSB - xBar + df.leftSB) 0 include : RetroflexHook.lExt (df.rightSB - xBar + df.leftSB) 0
create-glyph "rTurnPalatalHook.\(suffix)" : glyph-proc
include [refer-glyph "r.\(suffix)"] AS_BASE ALSO_METRICS
eject-contour 'serifLT'
include : FlipAround df.middle (XH / 2)
include : df.markSet.e
define [object xBar setTurnedMarks] : RDim df mode
include : setTurnedMarks doTS XH 0
include : PalatalHook.r
xLink -- (df.rightSB - xBar + df.leftSB)
x -- (df.rightSB + SideJut)
y -- 0
create-glyph "turnrLongLeg.\(suffix)" : glyph-proc create-glyph "turnrLongLeg.\(suffix)" : glyph-proc
include [refer-glyph "rLongLeg.\(suffix)"] AS_BASE ALSO_METRICS include [refer-glyph "rLongLeg.\(suffix)"] AS_BASE ALSO_METRICS
include : FlipAround df.middle (XH / 2) include : FlipAround df.middle (XH / 2)
@ -328,3 +340,6 @@ glyph-block Letter-Latin-Lower-R : begin
select-variant 'rFlap' 0x27E (shapeFrom -- 'r') select-variant 'rFlap' 0x27E (shapeFrom -- 'r')
CreateAccentedComposition 'rFlapTildeOver' 0x1D73 'rFlap' 'tildeOver' CreateAccentedComposition 'rFlapTildeOver' 0x1D73 'rFlap' 'tildeOver'
select-variant 'rTurnPalatalHook' 0x1DF15 (follow -- 'rTurnRTail')
select-variant 'rFlapPalatalHook' 0x1DF16 (shapeFrom -- 'rPalatalHook') (follow -- 'rFlap')

View file

@ -988,6 +988,7 @@ glyph-block Letter-Shared-Shapes : begin
define [EngHook] : with-params [x yStart yEnd [sw Stroke]] : begin define [EngHook] : with-params [x yStart yEnd [sw Stroke]] : begin
return : VerticalHook.r x (yEnd + Hook + 0.5 * sw) (-HookX) Hook return : VerticalHook.r x (yEnd + Hook + 0.5 * sw) (-HookX) Hook
yExtension -- [Math.max 0 (yStart - (yEnd + Hook + 0.5 * sw))] yExtension -- [Math.max 0 (yStart - (yEnd + Hook + 0.5 * sw))]
sw -- sw
# Upward hook shape # Upward hook shape
glyph-block-export TopHook glyph-block-export TopHook

View file

@ -38,21 +38,21 @@ glyph-block Digits-Three : begin
include : ThreeShape CAP include : ThreeShape CAP
create-glyph 'three.lnum.flatTopSerifless' : glyph-proc create-glyph 'three.lnum.flatTopSerifless' : glyph-proc
include : MarkSet.capital include : MarkSet.capital
include : EzhShape CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- false) include : EzhShape [DivFrame 1] CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- false)
create-glyph 'three.lnum.flatTopSerifed' : glyph-proc create-glyph 'three.lnum.flatTopSerifed' : glyph-proc
include : MarkSet.capital include : MarkSet.capital
include : EzhShape CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- true) include : EzhShape [DivFrame 1] CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- true)
create-glyph 'three.onum.twoArcs' : glyph-proc create-glyph 'three.onum.twoArcs' : glyph-proc
include : OnumMarks.p include : OnumMarks.p
include : ThreeShape CAP include : ThreeShape CAP
include : ShiftDown include : ShiftDown
create-glyph 'three.onum.flatTopSerifless' : glyph-proc create-glyph 'three.onum.flatTopSerifless' : glyph-proc
include : OnumMarks.p include : OnumMarks.p
include : EzhShape CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- false) include : EzhShape [DivFrame 1] CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- false)
include : ShiftDown include : ShiftDown
create-glyph 'three.onum.flatTopSerifed' : glyph-proc create-glyph 'three.onum.flatTopSerifed' : glyph-proc
include : OnumMarks.p include : OnumMarks.p
include : EzhShape CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- true) include : EzhShape [DivFrame 1] CAP 0 (pLeft -- 0.25) (pRight -- 0.975) (isSerifed -- true)
include : ShiftDown include : ShiftDown
select-variant 'three.lnum' [CodeLnum '3'] (follow -- 'three') select-variant 'three.lnum' [CodeLnum '3'] (follow -- 'three')