added /revEzh, /revezh, /latinGamma, /latinepsilon, /latinEpsilon, ...
This commit is contained in:
parent
679a7f5004
commit
db421daba8
7 changed files with 172 additions and 39 deletions
|
@ -284,7 +284,7 @@ createSuperscripts : list {
|
||||||
list 0x207D 'parenLeft'
|
list 0x207D 'parenLeft'
|
||||||
list 0x207E 'parenRight'
|
list 0x207E 'parenRight'
|
||||||
list 0x02B0 'h'
|
list 0x02B0 'h'
|
||||||
list 0x02B1 'hooktoph'
|
list 0x02B1 'hhooktop'
|
||||||
list 0x02B2 'j'
|
list 0x02B2 'j'
|
||||||
list 0x02B3 'r'
|
list 0x02B3 'r'
|
||||||
list 0x02B4 'turnr'
|
list 0x02B4 'turnr'
|
||||||
|
|
|
@ -196,6 +196,7 @@ define [XSHookUpper top left _middle right smooth hook _stroke] : glyph-construc
|
||||||
:.arc-hv-to left [top - smooth]
|
:.arc-hv-to left [top - smooth]
|
||||||
}
|
}
|
||||||
define [sHookUpper top smooth hook _middle _stroke] : XSHookUpper top SB _middle RIGHTSB smooth hook _stroke
|
define [sHookUpper top smooth hook _middle _stroke] : XSHookUpper top SB _middle RIGHTSB smooth hook _stroke
|
||||||
|
define [CHookUpper top smooth hook _middle _stroke] : XSHookUpper top [SB + O] _middle RIGHTSB smooth hook _stroke
|
||||||
define [twoHookUpper top smooth hook _middle _stroke] : XSHookUpper top RIGHTSB _middle SB smooth hook _stroke
|
define [twoHookUpper top smooth hook _middle _stroke] : XSHookUpper top RIGHTSB _middle SB smooth hook _stroke
|
||||||
define [XSHookLower bottom left _middle right smooth hook _stroke] : glyph-construction {
|
define [XSHookLower bottom left _middle right smooth hook _stroke] : glyph-construction {
|
||||||
local middle : fallback _middle [mix left right SBALANCE]
|
local middle : fallback _middle [mix left right SBALANCE]
|
||||||
|
@ -208,7 +209,8 @@ define [XSHookLower bottom left _middle right smooth hook _stroke] : glyph-const
|
||||||
:.curve-to [mix middle left KAPPA_HOOK] [bottom + O] [left + OXHOOK] [bottom + hook]
|
:.curve-to [mix middle left KAPPA_HOOK] [bottom + O] [left + OXHOOK] [bottom + hook]
|
||||||
}
|
}
|
||||||
define [sHookLower bottom smooth hook _middle _stroke] : XSHookLower bottom SB _middle RIGHTSB smooth hook _stroke
|
define [sHookLower bottom smooth hook _middle _stroke] : XSHookLower bottom SB _middle RIGHTSB smooth hook _stroke
|
||||||
define [EHookLower bottom smooth hook _middle _stroke _o] : XSHookLower bottom [RIGHTSB + TAILADJX * globalTransform.yx] _middle [SB + [fallback _o O]] smooth [hook - TAILADJY * globalTransform.yx] _stroke
|
define [EHookLower bottom smooth hook _middle _stroke _o] : XSHookLower bottom [RIGHTSB - O + TAILADJX * globalTransform.yx] _middle [SB + [fallback _o O]] smooth [hook - TAILADJY * globalTransform.yx] _stroke
|
||||||
|
define [CHookLower bottom smooth hook _middle _stroke _o] : XSHookLower bottom [RIGHTSB + TAILADJX * globalTransform.yx] _middle [SB + [fallback _o O]] smooth [hook - TAILADJY * globalTransform.yx] _stroke
|
||||||
define [RevEHookLower bottom smooth hook _middle _stroke _o] : XSHookLower bottom SB _middle [RIGHTSB - [fallback _o O]] smooth hook _stroke
|
define [RevEHookLower bottom smooth hook _middle _stroke _o] : XSHookLower bottom SB _middle [RIGHTSB - [fallback _o O]] smooth hook _stroke
|
||||||
|
|
||||||
define [smallo u d l r _width _sma _smb] : glyph-construction {
|
define [smallo u d l r _width _sma _smb] : glyph-construction {
|
||||||
|
@ -310,6 +312,15 @@ define [Miniature glyphs fold scale] : begin {
|
||||||
local forkFont : buildFont forkedPara shouldBuildList
|
local forkFont : buildFont forkedPara shouldBuildList
|
||||||
return forkFont.glyfMap
|
return forkFont.glyfMap
|
||||||
}
|
}
|
||||||
|
define [Thinner glyphs p] : begin {
|
||||||
|
local forkedPara : Object.create para
|
||||||
|
forkedPara.upmscale = 1
|
||||||
|
forkedPara.width = WIDTH * p
|
||||||
|
local shouldBuildList ()
|
||||||
|
foreach glyphid [items-of glyphs] : set shouldBuildList : shouldBuildList.concat (glyphid :: dependencyProfile.(glyphid))
|
||||||
|
local forkFont : buildFont forkedPara shouldBuildList
|
||||||
|
return forkFont.glyfMap
|
||||||
|
}
|
||||||
define [turned newid unicode id x y mark] : create-glyph [fallback newid : 'turn' + id] : glyph-construction {
|
define [turned newid unicode id x y mark] : create-glyph [fallback newid : 'turn' + id] : glyph-construction {
|
||||||
if unicode : assign-unicode unicode
|
if unicode : assign-unicode unicode
|
||||||
include glyphs`id [if mark false AS_BASE]
|
include glyphs`id [if mark false AS_BASE]
|
||||||
|
|
|
@ -187,14 +187,12 @@ create-glyph 'alpha' : glyph-construction {
|
||||||
:.set-width fine 0
|
:.set-width fine 0
|
||||||
:.heads-to DOWNWARD
|
:.heads-to DOWNWARD
|
||||||
}
|
}
|
||||||
create-glyph 'iota' : glyph-construction {
|
define [IotaShape top] : glyph-construction {
|
||||||
assign-unicode 0x3B9
|
|
||||||
include eMarks
|
|
||||||
local middle MIDDLE
|
local middle MIDDLE
|
||||||
set-anchor 'above' BASE middle XH
|
set-anchor 'above' BASE middle top
|
||||||
include : leftwardTopSerif middle XH LONGJUT
|
include : leftwardTopSerif middle top LONGJUT
|
||||||
include : create-stroke
|
include : create-stroke
|
||||||
:.start-from middle XH
|
:.start-from middle top
|
||||||
:.heads-to DOWNWARD
|
:.heads-to DOWNWARD
|
||||||
:.set-width HALFSTROKE HALFSTROKE
|
:.set-width HALFSTROKE HALFSTROKE
|
||||||
:.line-to middle HOOK
|
:.line-to middle HOOK
|
||||||
|
@ -202,6 +200,11 @@ create-glyph 'iota' : glyph-construction {
|
||||||
:.line-to [middle + LONGJUT * 1.05] HALFSTROKE
|
:.line-to [middle + LONGJUT * 1.05] HALFSTROKE
|
||||||
:.heads-to RIGHTWARD
|
:.heads-to RIGHTWARD
|
||||||
}
|
}
|
||||||
|
create-glyph 'iota' : glyph-construction {
|
||||||
|
assign-unicode 0x3B9
|
||||||
|
include eMarks
|
||||||
|
include : IotaShape XH
|
||||||
|
}
|
||||||
create-glyph 'eta' : glyph-construction {
|
create-glyph 'eta' : glyph-construction {
|
||||||
assign-unicode 0x3B7
|
assign-unicode 0x3B7
|
||||||
include pMarks
|
include pMarks
|
||||||
|
|
|
@ -107,8 +107,8 @@ create-glyph 'c' : glyph-construction {
|
||||||
assign-unicode 'c'
|
assign-unicode 'c'
|
||||||
include eMarks
|
include eMarks
|
||||||
|
|
||||||
include : EHookLower 0 SMALLSMOOTHB HOOK
|
include : CHookLower 0 SMALLSMOOTHB HOOK
|
||||||
include : XSHookUpper XH [SB + O] nothing RIGHTSB SMALLSMOOTHA [HOOK - TAILADJY * globalTransform.yx]
|
include : CHookUpper XH SMALLSMOOTHA HOOK
|
||||||
include : create-stroke
|
include : create-stroke
|
||||||
:.start-from [SB + O] [XH - SMALLSMOOTHA] :.set-width STROKE 0
|
:.start-from [SB + O] [XH - SMALLSMOOTHA] :.set-width STROKE 0
|
||||||
:.line-to [SB + O] SMALLSMOOTHB
|
:.line-to [SB + O] SMALLSMOOTHB
|
||||||
|
@ -126,7 +126,7 @@ define [SmallEShape top stroke barpos] : glyph-construction {
|
||||||
:.arc-vh-to MIDDLE [top - O]
|
:.arc-vh-to MIDDLE [top - O]
|
||||||
:.arc-hv-to [SB + O] [top - SMALLSMOOTHA]
|
:.arc-hv-to [SB + O] [top - SMALLSMOOTHA]
|
||||||
:.line-to [SB + O] SMALLSMOOTHB
|
:.line-to [SB + O] SMALLSMOOTHB
|
||||||
include : EHookLower 0 SMALLSMOOTHB HOOK
|
include : EHookLower 0 SMALLSMOOTHB SHOOK [mix SB RIGHTSB SBALANCE] stroke
|
||||||
include : create-stroke
|
include : create-stroke
|
||||||
:.start-from [SB + [stroke / 2]] barbottom
|
:.start-from [SB + [stroke / 2]] barbottom
|
||||||
:.set-width stroke 0
|
:.set-width stroke 0
|
||||||
|
|
|
@ -168,10 +168,8 @@ create-glyph 'Eth' : glyph-construction {
|
||||||
:.line-to [mix [SB + STROKE] [RIGHTSB - STROKE] 0.55] [CAP * 0.54]
|
:.line-to [mix [SB + STROKE] [RIGHTSB - STROKE] 0.55] [CAP * 0.54]
|
||||||
:.heads-to RIGHTWARD
|
:.heads-to RIGHTWARD
|
||||||
}
|
}
|
||||||
create-glyph 'Dcroat' : glyph-construction {
|
alias 'DCroat' 0x110 'Eth'
|
||||||
assign-unicode 0x110
|
alias 'arficanD' 0x189 'Eth'
|
||||||
include glyphs.Eth AS_BASE
|
|
||||||
}
|
|
||||||
|
|
||||||
create-glyph 'eth' : glyph-construction {
|
create-glyph 'eth' : glyph-construction {
|
||||||
set-width WIDTH
|
set-width WIDTH
|
||||||
|
@ -299,13 +297,12 @@ create-glyph 'eszet' : glyph-construction {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
define [EzhShape top bot pleft] : glyph-construction {
|
define [EzhShape top bot pleft flat] : glyph-construction {
|
||||||
local cor 1.2
|
local cor 1.2
|
||||||
local yMidBar : mix bot top 0.6
|
local yMidBar : mix bot top 0.6
|
||||||
local ezhLeft : mix SB RIGHTSB [fallback pleft 0.2]
|
local ezhLeft : mix SB RIGHTSB [fallback pleft 0.2]
|
||||||
local ezhRight : mix SB RIGHTSB 0.925
|
local ezhRight : mix SB RIGHTSB 0.925
|
||||||
include : create-stroke :.start-from SB top :.heads-to RIGHTWARD :.set-width 0 STROKE
|
include : HBarTop SB ezhRight top
|
||||||
:.line-to ezhRight top :.heads-to RIGHTWARD :.to-outline
|
|
||||||
|
|
||||||
start-from ezhLeft yMidBar
|
start-from ezhLeft yMidBar
|
||||||
line-to [ezhLeft + STROKE * cor] [yMidBar - HALFSTROKE]
|
line-to [ezhLeft + STROKE * cor] [yMidBar - HALFSTROKE]
|
||||||
|
@ -314,14 +311,42 @@ define [EzhShape top bot pleft] : glyph-construction {
|
||||||
line-to [ezhRight - STROKE * cor] [top - STROKE]
|
line-to [ezhRight - STROKE * cor] [top - STROKE]
|
||||||
reverse-last
|
reverse-last
|
||||||
|
|
||||||
include : create-stroke
|
local s : create-stroke
|
||||||
:.start-from ezhLeft yMidBar
|
:.start-from ezhLeft yMidBar
|
||||||
:.heads-to RIGHTWARD
|
:.heads-to RIGHTWARD
|
||||||
:.set-width 0 STROKE
|
:.set-width 0 STROKE
|
||||||
:.line-to MIDDLE yMidBar
|
:.line-to MIDDLE yMidBar
|
||||||
:.arc-hv-to RIGHTSB [mix yMidBar bot 0.5]
|
:.arc-hv-to RIGHTSB [mix yMidBar bot 0.5]
|
||||||
:.to-outline
|
if flat {
|
||||||
include : XSHookLower bot SB [mix SB RIGHTSB 0.465] RIGHTSB [[yMidBar - bot] / 2] SHOOK
|
then : s.heads-to DOWNWARD
|
||||||
|
else : include : XSHookLower bot SB [mix SB RIGHTSB 0.465] RIGHTSB [[yMidBar - bot] / 2] SHOOK
|
||||||
|
}
|
||||||
|
include s
|
||||||
|
}
|
||||||
|
define [RevEzhShape top bot pleft flat] : glyph-construction {
|
||||||
|
local cor 1.2
|
||||||
|
local yMidBar : mix bot top 0.6
|
||||||
|
local ezhRight : mix RIGHTSB SB [fallback pleft 0.2]
|
||||||
|
local ezhLeft : mix RIGHTSB SB 0.925
|
||||||
|
include : HBarTop ezhLeft RIGHTSB top
|
||||||
|
|
||||||
|
start-from ezhRight yMidBar
|
||||||
|
line-to [ezhRight - STROKE * cor] [yMidBar - HALFSTROKE]
|
||||||
|
line-to [ezhRight - STROKE * cor] yMidBar
|
||||||
|
line-to ezhLeft [top - STROKE]
|
||||||
|
line-to [ezhLeft + STROKE * cor] [top - STROKE]
|
||||||
|
|
||||||
|
local s : create-stroke
|
||||||
|
:.start-from ezhRight yMidBar
|
||||||
|
:.heads-to LEFTWARD
|
||||||
|
:.set-width STROKE 0
|
||||||
|
:.line-to MIDDLE yMidBar
|
||||||
|
:.arc-hv-to SB [mix yMidBar bot 0.5]
|
||||||
|
if flat {
|
||||||
|
then : s.heads-to DOWNWARD
|
||||||
|
else : include : XSHookLower bot RIGHTSB [mix RIGHTSB SB 0.465] SB [[yMidBar - bot] / 2] SHOOK
|
||||||
|
}
|
||||||
|
include s
|
||||||
}
|
}
|
||||||
create-glyph 'Ezh' : glyph-construction {
|
create-glyph 'Ezh' : glyph-construction {
|
||||||
set-width WIDTH
|
set-width WIDTH
|
||||||
|
@ -335,6 +360,14 @@ create-glyph 'ezh' : glyph-construction {
|
||||||
include pMarks
|
include pMarks
|
||||||
include : EzhShape XH DESCENDER
|
include : EzhShape XH DESCENDER
|
||||||
}
|
}
|
||||||
|
create-glyph 'revEzh' : glyph-construction {
|
||||||
|
assign-unicode 0x1B8
|
||||||
|
include : RevEzhShape CAP 0
|
||||||
|
}
|
||||||
|
create-glyph 'revezh' : glyph-construction {
|
||||||
|
assign-unicode 0x1B9
|
||||||
|
include : RevEzhShape XH DESCENDER
|
||||||
|
}
|
||||||
create-glyph 'esh' : glyph-construction {
|
create-glyph 'esh' : glyph-construction {
|
||||||
assign-unicode 0x283
|
assign-unicode 0x283
|
||||||
include glyphs.'longs.italic' AS_BASE
|
include glyphs.'longs.italic' AS_BASE
|
||||||
|
@ -397,10 +430,11 @@ create-glyph 'scripta' : glyph-construction {
|
||||||
line-to [RIGHTSB - STROKE * ITALICCOR] [XH - STROKE / 2]
|
line-to [RIGHTSB - STROKE * ITALICCOR] [XH - STROKE / 2]
|
||||||
line-to RIGHTSB [XH - O]
|
line-to RIGHTSB [XH - O]
|
||||||
}
|
}
|
||||||
create-glyph 'ftail' : glyph-construction {
|
create-glyph 'turnSmallE' : glyph-construction {
|
||||||
assign-unicode 0x192
|
assign-unicode 0x18F
|
||||||
include glyphs.'longs.italic' AS_BASE
|
include capitalMarks
|
||||||
include : fBar
|
include : SmallEShape CAP STROKE
|
||||||
|
include : FlipAround MIDDLE [CAP / 2]
|
||||||
}
|
}
|
||||||
create-glyph 'iogonek.dotless' : glyph-construction {
|
create-glyph 'iogonek.dotless' : glyph-construction {
|
||||||
include glyphs.dotlessi AS_BASE
|
include glyphs.dotlessi AS_BASE
|
||||||
|
@ -481,11 +515,26 @@ create-glyph 'latingamma' : glyph-construction {
|
||||||
include pMarks
|
include pMarks
|
||||||
include : RamsHornShape DESCENDER XH
|
include : RamsHornShape DESCENDER XH
|
||||||
}
|
}
|
||||||
|
create-glyph 'latinGamma' : glyph-construction {
|
||||||
|
assign-unicode 0x194
|
||||||
|
include ifMarks
|
||||||
|
include : RamsHornShape DESCENDER CAP
|
||||||
|
}
|
||||||
create-glyph 'ramshorn' : glyph-construction {
|
create-glyph 'ramshorn' : glyph-construction {
|
||||||
assign-unicode 0x264
|
assign-unicode 0x264
|
||||||
include eMarks
|
include eMarks
|
||||||
include : RamsHornShape 0 XH
|
include : RamsHornShape 0 XH
|
||||||
}
|
}
|
||||||
|
create-glyph 'latinEpsilon' : glyph-construction {
|
||||||
|
assign-unicode 0x190
|
||||||
|
include capitalMarks
|
||||||
|
include : SmallEpsilonShape CAP
|
||||||
|
}
|
||||||
|
create-glyph 'latinIota' : glyph-construction {
|
||||||
|
assign-unicode 0x196
|
||||||
|
include capitalMarks
|
||||||
|
include : IotaShape CAP
|
||||||
|
}
|
||||||
define [RevSmallEShape top stroke barpos] : glyph-construction {
|
define [RevSmallEShape top stroke barpos] : glyph-construction {
|
||||||
local barbottom [top * [fallback barpos EBARPOS]]
|
local barbottom [top * [fallback barpos EBARPOS]]
|
||||||
local hookx SB
|
local hookx SB
|
||||||
|
@ -655,11 +704,12 @@ alias 'dentalclick' 0x1C0 'bar'
|
||||||
dual 'alveolarlateralclick' 0x1C1 'bar' [WIDTH * 0.35]
|
dual 'alveolarlateralclick' 0x1C1 'bar' [WIDTH * 0.35]
|
||||||
alias 'alveolarclick' 0x1C3 'exclam'
|
alias 'alveolarclick' 0x1C3 'exclam'
|
||||||
alias 'smcpH' 0x29C 'cyren'
|
alias 'smcpH' 0x29C 'cyren'
|
||||||
alias 'latiniota' 0x269 'dotlessi.italic'
|
alias 'latiniota' 0x269 'iota'
|
||||||
alias 'revlatinepsilon' 0x25C 'cyrze'
|
alias 'revlatinepsilon' 0x25C 'cyrze'
|
||||||
# Turned glyphs
|
# Turned glyphs
|
||||||
turned nothing 0x250 'a' MIDDLE [XH / 2]
|
turned nothing 0x250 'a' MIDDLE [XH / 2]
|
||||||
turned nothing 0x252 'scripta' MIDDLE [XH / 2]
|
turned nothing 0x252 'scripta' MIDDLE [XH / 2]
|
||||||
|
turned nothing 0x186 'C' MIDDLE [CAP / 2]
|
||||||
turned nothing 0x254 'c' MIDDLE [XH / 2]
|
turned nothing 0x254 'c' MIDDLE [XH / 2]
|
||||||
turned nothing 0x18E 'E' MIDDLE [CAP / 2]
|
turned nothing 0x18E 'E' MIDDLE [CAP / 2]
|
||||||
turned nothing 0x1DD 'e' MIDDLE [XH / 2]
|
turned nothing 0x1DD 'e' MIDDLE [XH / 2]
|
||||||
|
|
|
@ -122,6 +122,11 @@ create-glyph 'revglottalstopbar' : glyph-construction {
|
||||||
include glyphs.revglottalstop AS_BASE
|
include glyphs.revglottalstop AS_BASE
|
||||||
include : HOverlayBar [MIDDLE - LONGJUT * 0.6] [MIDDLE + LONGJUT * 0.6] [CAP * 0.25]
|
include : HOverlayBar [MIDDLE - LONGJUT * 0.6] [MIDDLE + LONGJUT * 0.6] [CAP * 0.25]
|
||||||
}
|
}
|
||||||
|
create-glyph 'eshbar' : glyph-construction {
|
||||||
|
assign-unicode 0x284
|
||||||
|
include glyphs.esh AS_BASE
|
||||||
|
include : HOverlayBar [MIDDLE - LONGJUT * 0.6] [MIDDLE + LONGJUT * 0.6] [XH * 0.25]
|
||||||
|
}
|
||||||
# bdot and ddot 's dots are closer to the glyph
|
# bdot and ddot 's dots are closer to the glyph
|
||||||
create-glyph 'bdot' : glyph-construction {
|
create-glyph 'bdot' : glyph-construction {
|
||||||
include glyphs.dotAbove
|
include glyphs.dotAbove
|
||||||
|
@ -159,20 +164,50 @@ define [HooktopLeftBar stroke] : glyph-construction {
|
||||||
:.line-to SB 0
|
:.line-to SB 0
|
||||||
:.heads-to DOWNWARD
|
:.heads-to DOWNWARD
|
||||||
}
|
}
|
||||||
create-glyph 'hooktoph' : glyph-construction {
|
create-glyph 'hhooktop' : glyph-construction {
|
||||||
assign-unicode 0x266
|
assign-unicode 0x266
|
||||||
include bMarks
|
include bMarks
|
||||||
include : nShoulder [SB + STROKE * ITALICCOR] MIDDLE RIGHTSB [STROKE * 0.4]
|
include : nShoulder [SB + STROKE * ITALICCOR] MIDDLE RIGHTSB [STROKE * 0.4]
|
||||||
include : HooktopLeftBar
|
include : HooktopLeftBar
|
||||||
}
|
}
|
||||||
create-glyph 'hooktopb' : glyph-construction {
|
create-glyph 'bhooktop' : glyph-construction {
|
||||||
assign-unicode 0x253
|
assign-unicode 0x253
|
||||||
include bMarks
|
include bMarks
|
||||||
include : oLeft
|
include : oLeft
|
||||||
include : HooktopLeftBar
|
include : HooktopLeftBar
|
||||||
}
|
}
|
||||||
|
create-glyph 'dhooktop' : glyph-construction {
|
||||||
|
assign-unicode 0x260
|
||||||
|
include glyphs.scriptg AS_BASE
|
||||||
|
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] XH HOOKX [-HOOK]
|
||||||
|
}
|
||||||
|
create-glyph 'scriptghooktop' : glyph-construction {
|
||||||
|
assign-unicode 0x257
|
||||||
|
include bMarks
|
||||||
|
include glyphs.'a.italic'
|
||||||
|
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] XH HOOKX [-HOOK]
|
||||||
|
}
|
||||||
|
create-glyph 'Chooktop' : glyph-construction {
|
||||||
|
assign-unicode 0x187
|
||||||
|
include glyphs.C AS_BASE
|
||||||
|
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] [CAP - HOOK] HOOKX [-HOOK * 1.5]
|
||||||
|
}
|
||||||
|
create-glyph 'chooktop' : glyph-construction {
|
||||||
|
assign-unicode 0x188
|
||||||
|
include glyphs.c AS_BASE
|
||||||
|
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] [XH - HOOK] HOOKX [-HOOK * 1.5]
|
||||||
|
}
|
||||||
# Left-tail
|
# Left-tail
|
||||||
|
create-glyph 'fltail' : glyph-construction {
|
||||||
|
assign-unicode 0x192
|
||||||
|
include glyphs.'longs.italic' AS_BASE
|
||||||
|
include : fBar
|
||||||
|
}
|
||||||
|
create-glyph 'Fltail' : glyph-construction {
|
||||||
|
assign-unicode 0x191
|
||||||
|
include glyphs.F AS_BASE
|
||||||
|
include : VerticalHook [SB * 1.5 + HALFSTROKE * ITALICCOR] 0 [-HOOKX] HOOK
|
||||||
|
}
|
||||||
create-glyph 'nltail' : glyph-construction {
|
create-glyph 'nltail' : glyph-construction {
|
||||||
assign-unicode 0x272
|
assign-unicode 0x272
|
||||||
include glyphs.n AS_BASE
|
include glyphs.n AS_BASE
|
||||||
|
@ -185,10 +220,10 @@ create-glyph 'mltail' : glyph-construction {
|
||||||
local fine : adviceBlackness 3.5
|
local fine : adviceBlackness 3.5
|
||||||
include : VerticalHook [RIGHTSB - O - fine / 2 * ITALICCOR] 0 [-HOOKX] HOOK fine
|
include : VerticalHook [RIGHTSB - O - fine / 2 * ITALICCOR] 0 [-HOOKX] HOOK fine
|
||||||
}
|
}
|
||||||
create-glyph 'hooktophltail' : glyph-construction {
|
create-glyph 'hhooktopltail' : glyph-construction {
|
||||||
assign-unicode 0x267
|
assign-unicode 0x267
|
||||||
include pMarks
|
include pMarks
|
||||||
include glyphs.hooktoph
|
include glyphs.hhooktop
|
||||||
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] 0 [-HOOKX] HOOK
|
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] 0 [-HOOKX] HOOK
|
||||||
}
|
}
|
||||||
# Right-tail
|
# Right-tail
|
||||||
|
@ -237,7 +272,21 @@ create-glyph 'trtail' : glyph-construction {
|
||||||
include ifMarks
|
include ifMarks
|
||||||
include : SmallTShape CAP DESCENDER
|
include : SmallTShape CAP DESCENDER
|
||||||
}
|
}
|
||||||
|
create-glyph 'ezhtail' : glyph-construction {
|
||||||
|
assign-unicode 0x1BA
|
||||||
|
local b : mix DESCENDER XH 0.25
|
||||||
|
include : EzhShape XH b nothing true
|
||||||
|
local y : mix [mix b XH 0.6] b 0.5
|
||||||
|
include : create-stroke
|
||||||
|
:.start-from RIGHTSB y
|
||||||
|
:.heads-to DOWNWARD
|
||||||
|
:.set-width 0 STROKE
|
||||||
|
:.arc-vh-to [mix SB RIGHTSB 0.45] b
|
||||||
|
:.line-to [mix SB RIGHTSB 0.4] b
|
||||||
|
:.arc-hv-to [SB + STROKE * ITALICCOR] [mix [DESCENDER + STROKE] b 0.5]
|
||||||
|
:.arc-vh-to [mix SB RIGHTSB 0.4] [DESCENDER + STROKE]
|
||||||
|
:.line-to RIGHTSB [DESCENDER + STROKE]
|
||||||
|
}
|
||||||
# Curly tail
|
# Curly tail
|
||||||
define [CurlyTail fine wide rinner m1 y1 bottom _right x1 x2 y2] : glyph-construction {
|
define [CurlyTail fine wide rinner m1 y1 bottom _right x1 x2 y2] : glyph-construction {
|
||||||
local right : _right - fine * [if [_right > m1] 1 [-1]]
|
local right : _right - fine * [if [_right > m1] 1 [-1]]
|
||||||
|
@ -355,12 +404,10 @@ create-glyph 'ccurlytail' : glyph-construction {
|
||||||
assign-unicode 0x255
|
assign-unicode 0x255
|
||||||
include eMarks
|
include eMarks
|
||||||
local rinner : [[XH * 0.425] - STROKE * 1.5] / 2
|
local rinner : [[XH * 0.425] - STROKE * 1.5] / 2
|
||||||
|
include : XSHookUpper XH [SB + O] nothing RIGHTSB SMALLSMOOTHA [HOOK - TAILADJY * globalTransform.yx]
|
||||||
include : create-stroke
|
include : create-stroke
|
||||||
:.start-from [RIGHTSB - OXHOOK] [XH - HOOK]
|
:.start-from [SB + O] [XH - SMALLSMOOTHA]
|
||||||
:.set-width STROKE 0
|
:.set-width STROKE 0
|
||||||
:.curve-to [MIDDLE + KAPPA_HOOK * [MIDDLE - para.sb]] XO [MIDDLE - OMIDCOR_S] XO
|
|
||||||
:.arc-hv-to [SB + O] [XH - SMALLSMOOTHA]
|
|
||||||
:.line-to [SB + O] SMALLSMOOTHB
|
:.line-to [SB + O] SMALLSMOOTHB
|
||||||
:.heads-to DOWNWARD
|
:.heads-to DOWNWARD
|
||||||
|
|
||||||
|
@ -375,9 +422,7 @@ create-glyph 'ezhcurlytail' : glyph-construction {
|
||||||
include eMarks
|
include eMarks
|
||||||
local rinner : [[XH * 0.425] - STROKE * 1.5] / 2
|
local rinner : [[XH * 0.425] - STROKE * 1.5] / 2
|
||||||
|
|
||||||
include : EzhShape XH DESCENDER
|
include : EzhShape XH DESCENDER nothing true
|
||||||
this.contours.pop
|
|
||||||
this.contours.pop
|
|
||||||
|
|
||||||
local m1 : RIGHTSB - STROKE * ITALICCOR
|
local m1 : RIGHTSB - STROKE * ITALICCOR
|
||||||
local x1 : mix RIGHTSB SB 0.25
|
local x1 : mix RIGHTSB SB 0.25
|
||||||
|
@ -406,6 +451,28 @@ create-glyph 'zcurlytail' : glyph-construction {
|
||||||
line-to [RIGHTSB - STROKE * cor] [XH - STROKE]
|
line-to [RIGHTSB - STROKE * cor] [XH - STROKE]
|
||||||
reverse-last
|
reverse-last
|
||||||
}
|
}
|
||||||
|
# Er tail
|
||||||
|
define [ErTail] : glyph-construction {
|
||||||
|
local left : WIDTH * 0.85 - SB
|
||||||
|
include : HBarTop [left - markFine * 2] [left + markFine] [XH * 0.6]
|
||||||
|
include : create-stroke
|
||||||
|
:.start-from left [XH * 0.6]
|
||||||
|
:.set-width [markFine * 2] 0
|
||||||
|
:.arc-vh-to WIDTH [XH * 0.3]
|
||||||
|
:.heads-to RIGHTWARD
|
||||||
|
}
|
||||||
|
create-glyph 'er' : glyph-construction {
|
||||||
|
assign-unicode 0x25A
|
||||||
|
local f : Thinner ('schwa') 0.85
|
||||||
|
include f.schwa
|
||||||
|
include : ErTail
|
||||||
|
}
|
||||||
|
create-glyph 'revlatinepsiloner' : glyph-construction {
|
||||||
|
assign-unicode 0x25D
|
||||||
|
local f : Thinner ('revlatinepsilon') 0.85
|
||||||
|
include f.revlatinepsilon
|
||||||
|
include : ErTail
|
||||||
|
}
|
||||||
# Belted
|
# Belted
|
||||||
define [Belt] : glyph-construction {
|
define [Belt] : glyph-construction {
|
||||||
local fine : adviceBlackness 4.5
|
local fine : adviceBlackness 4.5
|
||||||
|
|
|
@ -11,6 +11,7 @@ define regular (
|
||||||
.descender [-194]
|
.descender [-194]
|
||||||
.xheight 570
|
.xheight 570
|
||||||
.barpos 0.52
|
.barpos 0.52
|
||||||
|
.ebarpos 0.45
|
||||||
.gbarpos 0.35
|
.gbarpos 0.35
|
||||||
.fivebarpos 0.49
|
.fivebarpos 0.49
|
||||||
|
|
||||||
|
@ -55,6 +56,7 @@ bold.sb = 50
|
||||||
bold.stroke = 120
|
bold.stroke = 120
|
||||||
bold.dotsize = 160
|
bold.dotsize = 160
|
||||||
bold.periodsize = 180
|
bold.periodsize = 180
|
||||||
|
bold.barpos = 0.51
|
||||||
bold.ebarpos = 0.4
|
bold.ebarpos = 0.4
|
||||||
bold.oxhook = 0
|
bold.oxhook = 0
|
||||||
bold.ahook = 120
|
bold.ahook = 120
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue