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 0x207E 'parenRight'
|
||||
list 0x02B0 'h'
|
||||
list 0x02B1 'hooktoph'
|
||||
list 0x02B1 'hhooktop'
|
||||
list 0x02B2 'j'
|
||||
list 0x02B3 'r'
|
||||
list 0x02B4 'turnr'
|
||||
|
|
|
@ -196,6 +196,7 @@ define [XSHookUpper top left _middle right smooth hook _stroke] : glyph-construc
|
|||
:.arc-hv-to left [top - smooth]
|
||||
}
|
||||
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 [XSHookLower bottom left _middle right smooth hook _stroke] : glyph-construction {
|
||||
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]
|
||||
}
|
||||
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 [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
|
||||
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 {
|
||||
if unicode : assign-unicode unicode
|
||||
include glyphs`id [if mark false AS_BASE]
|
||||
|
|
|
@ -187,14 +187,12 @@ create-glyph 'alpha' : glyph-construction {
|
|||
:.set-width fine 0
|
||||
:.heads-to DOWNWARD
|
||||
}
|
||||
create-glyph 'iota' : glyph-construction {
|
||||
assign-unicode 0x3B9
|
||||
include eMarks
|
||||
define [IotaShape top] : glyph-construction {
|
||||
local middle MIDDLE
|
||||
set-anchor 'above' BASE middle XH
|
||||
include : leftwardTopSerif middle XH LONGJUT
|
||||
set-anchor 'above' BASE middle top
|
||||
include : leftwardTopSerif middle top LONGJUT
|
||||
include : create-stroke
|
||||
:.start-from middle XH
|
||||
:.start-from middle top
|
||||
:.heads-to DOWNWARD
|
||||
:.set-width HALFSTROKE HALFSTROKE
|
||||
:.line-to middle HOOK
|
||||
|
@ -202,6 +200,11 @@ create-glyph 'iota' : glyph-construction {
|
|||
:.line-to [middle + LONGJUT * 1.05] HALFSTROKE
|
||||
:.heads-to RIGHTWARD
|
||||
}
|
||||
create-glyph 'iota' : glyph-construction {
|
||||
assign-unicode 0x3B9
|
||||
include eMarks
|
||||
include : IotaShape XH
|
||||
}
|
||||
create-glyph 'eta' : glyph-construction {
|
||||
assign-unicode 0x3B7
|
||||
include pMarks
|
||||
|
|
|
@ -107,8 +107,8 @@ create-glyph 'c' : glyph-construction {
|
|||
assign-unicode 'c'
|
||||
include eMarks
|
||||
|
||||
include : EHookLower 0 SMALLSMOOTHB HOOK
|
||||
include : XSHookUpper XH [SB + O] nothing RIGHTSB SMALLSMOOTHA [HOOK - TAILADJY * globalTransform.yx]
|
||||
include : CHookLower 0 SMALLSMOOTHB HOOK
|
||||
include : CHookUpper XH SMALLSMOOTHA HOOK
|
||||
include : create-stroke
|
||||
:.start-from [SB + O] [XH - SMALLSMOOTHA] :.set-width STROKE 0
|
||||
:.line-to [SB + O] SMALLSMOOTHB
|
||||
|
@ -126,7 +126,7 @@ define [SmallEShape top stroke barpos] : glyph-construction {
|
|||
:.arc-vh-to MIDDLE [top - O]
|
||||
:.arc-hv-to [SB + O] [top - SMALLSMOOTHA]
|
||||
:.line-to [SB + O] SMALLSMOOTHB
|
||||
include : EHookLower 0 SMALLSMOOTHB HOOK
|
||||
include : EHookLower 0 SMALLSMOOTHB SHOOK [mix SB RIGHTSB SBALANCE] stroke
|
||||
include : create-stroke
|
||||
:.start-from [SB + [stroke / 2]] barbottom
|
||||
:.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]
|
||||
:.heads-to RIGHTWARD
|
||||
}
|
||||
create-glyph 'Dcroat' : glyph-construction {
|
||||
assign-unicode 0x110
|
||||
include glyphs.Eth AS_BASE
|
||||
}
|
||||
alias 'DCroat' 0x110 'Eth'
|
||||
alias 'arficanD' 0x189 'Eth'
|
||||
|
||||
create-glyph 'eth' : glyph-construction {
|
||||
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 yMidBar : mix bot top 0.6
|
||||
local ezhLeft : mix SB RIGHTSB [fallback pleft 0.2]
|
||||
local ezhRight : mix SB RIGHTSB 0.925
|
||||
include : create-stroke :.start-from SB top :.heads-to RIGHTWARD :.set-width 0 STROKE
|
||||
:.line-to ezhRight top :.heads-to RIGHTWARD :.to-outline
|
||||
include : HBarTop SB ezhRight top
|
||||
|
||||
start-from ezhLeft yMidBar
|
||||
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]
|
||||
reverse-last
|
||||
|
||||
include : create-stroke
|
||||
local s : create-stroke
|
||||
:.start-from ezhLeft yMidBar
|
||||
:.heads-to RIGHTWARD
|
||||
:.set-width 0 STROKE
|
||||
:.line-to MIDDLE yMidBar
|
||||
:.arc-hv-to RIGHTSB [mix yMidBar bot 0.5]
|
||||
:.to-outline
|
||||
include : XSHookLower bot SB [mix SB RIGHTSB 0.465] RIGHTSB [[yMidBar - bot] / 2] SHOOK
|
||||
if flat {
|
||||
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 {
|
||||
set-width WIDTH
|
||||
|
@ -335,6 +360,14 @@ create-glyph 'ezh' : glyph-construction {
|
|||
include pMarks
|
||||
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 {
|
||||
assign-unicode 0x283
|
||||
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 [XH - O]
|
||||
}
|
||||
create-glyph 'ftail' : glyph-construction {
|
||||
assign-unicode 0x192
|
||||
include glyphs.'longs.italic' AS_BASE
|
||||
include : fBar
|
||||
create-glyph 'turnSmallE' : glyph-construction {
|
||||
assign-unicode 0x18F
|
||||
include capitalMarks
|
||||
include : SmallEShape CAP STROKE
|
||||
include : FlipAround MIDDLE [CAP / 2]
|
||||
}
|
||||
create-glyph 'iogonek.dotless' : glyph-construction {
|
||||
include glyphs.dotlessi AS_BASE
|
||||
|
@ -481,11 +515,26 @@ create-glyph 'latingamma' : glyph-construction {
|
|||
include pMarks
|
||||
include : RamsHornShape DESCENDER XH
|
||||
}
|
||||
create-glyph 'latinGamma' : glyph-construction {
|
||||
assign-unicode 0x194
|
||||
include ifMarks
|
||||
include : RamsHornShape DESCENDER CAP
|
||||
}
|
||||
create-glyph 'ramshorn' : glyph-construction {
|
||||
assign-unicode 0x264
|
||||
include eMarks
|
||||
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 {
|
||||
local barbottom [top * [fallback barpos EBARPOS]]
|
||||
local hookx SB
|
||||
|
@ -655,11 +704,12 @@ alias 'dentalclick' 0x1C0 'bar'
|
|||
dual 'alveolarlateralclick' 0x1C1 'bar' [WIDTH * 0.35]
|
||||
alias 'alveolarclick' 0x1C3 'exclam'
|
||||
alias 'smcpH' 0x29C 'cyren'
|
||||
alias 'latiniota' 0x269 'dotlessi.italic'
|
||||
alias 'latiniota' 0x269 'iota'
|
||||
alias 'revlatinepsilon' 0x25C 'cyrze'
|
||||
# Turned glyphs
|
||||
turned nothing 0x250 'a' 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 0x18E 'E' MIDDLE [CAP / 2]
|
||||
turned nothing 0x1DD 'e' MIDDLE [XH / 2]
|
||||
|
|
|
@ -122,6 +122,11 @@ create-glyph 'revglottalstopbar' : glyph-construction {
|
|||
include glyphs.revglottalstop AS_BASE
|
||||
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
|
||||
create-glyph 'bdot' : glyph-construction {
|
||||
include glyphs.dotAbove
|
||||
|
@ -159,20 +164,50 @@ define [HooktopLeftBar stroke] : glyph-construction {
|
|||
:.line-to SB 0
|
||||
:.heads-to DOWNWARD
|
||||
}
|
||||
create-glyph 'hooktoph' : glyph-construction {
|
||||
create-glyph 'hhooktop' : glyph-construction {
|
||||
assign-unicode 0x266
|
||||
include bMarks
|
||||
include : nShoulder [SB + STROKE * ITALICCOR] MIDDLE RIGHTSB [STROKE * 0.4]
|
||||
include : HooktopLeftBar
|
||||
}
|
||||
create-glyph 'hooktopb' : glyph-construction {
|
||||
create-glyph 'bhooktop' : glyph-construction {
|
||||
assign-unicode 0x253
|
||||
include bMarks
|
||||
include : oLeft
|
||||
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
|
||||
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 {
|
||||
assign-unicode 0x272
|
||||
include glyphs.n AS_BASE
|
||||
|
@ -185,10 +220,10 @@ create-glyph 'mltail' : glyph-construction {
|
|||
local fine : adviceBlackness 3.5
|
||||
include : VerticalHook [RIGHTSB - O - fine / 2 * ITALICCOR] 0 [-HOOKX] HOOK fine
|
||||
}
|
||||
create-glyph 'hooktophltail' : glyph-construction {
|
||||
create-glyph 'hhooktopltail' : glyph-construction {
|
||||
assign-unicode 0x267
|
||||
include pMarks
|
||||
include glyphs.hooktoph
|
||||
include glyphs.hhooktop
|
||||
include : VerticalHook [RIGHTSB - HALFSTROKE * ITALICCOR] 0 [-HOOKX] HOOK
|
||||
}
|
||||
# Right-tail
|
||||
|
@ -237,7 +272,21 @@ create-glyph 'trtail' : glyph-construction {
|
|||
include ifMarks
|
||||
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
|
||||
define [CurlyTail fine wide rinner m1 y1 bottom _right x1 x2 y2] : glyph-construction {
|
||||
local right : _right - fine * [if [_right > m1] 1 [-1]]
|
||||
|
@ -355,12 +404,10 @@ create-glyph 'ccurlytail' : glyph-construction {
|
|||
assign-unicode 0x255
|
||||
include eMarks
|
||||
local rinner : [[XH * 0.425] - STROKE * 1.5] / 2
|
||||
|
||||
include : XSHookUpper XH [SB + O] nothing RIGHTSB SMALLSMOOTHA [HOOK - TAILADJY * globalTransform.yx]
|
||||
include : create-stroke
|
||||
:.start-from [RIGHTSB - OXHOOK] [XH - HOOK]
|
||||
:.start-from [SB + O] [XH - SMALLSMOOTHA]
|
||||
:.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
|
||||
:.heads-to DOWNWARD
|
||||
|
||||
|
@ -375,9 +422,7 @@ create-glyph 'ezhcurlytail' : glyph-construction {
|
|||
include eMarks
|
||||
local rinner : [[XH * 0.425] - STROKE * 1.5] / 2
|
||||
|
||||
include : EzhShape XH DESCENDER
|
||||
this.contours.pop
|
||||
this.contours.pop
|
||||
include : EzhShape XH DESCENDER nothing true
|
||||
|
||||
local m1 : RIGHTSB - STROKE * ITALICCOR
|
||||
local x1 : mix RIGHTSB SB 0.25
|
||||
|
@ -406,6 +451,28 @@ create-glyph 'zcurlytail' : glyph-construction {
|
|||
line-to [RIGHTSB - STROKE * cor] [XH - STROKE]
|
||||
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
|
||||
define [Belt] : glyph-construction {
|
||||
local fine : adviceBlackness 4.5
|
||||
|
|
|
@ -11,6 +11,7 @@ define regular (
|
|||
.descender [-194]
|
||||
.xheight 570
|
||||
.barpos 0.52
|
||||
.ebarpos 0.45
|
||||
.gbarpos 0.35
|
||||
.fivebarpos 0.49
|
||||
|
||||
|
@ -55,6 +56,7 @@ bold.sb = 50
|
|||
bold.stroke = 120
|
||||
bold.dotsize = 160
|
||||
bold.periodsize = 180
|
||||
bold.barpos = 0.51
|
||||
bold.ebarpos = 0.4
|
||||
bold.oxhook = 0
|
||||
bold.ahook = 120
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue