Added serifs for more glyphs; separated some greek and cyrillic glyphs.
This commit is contained in:
parent
bfdba9593b
commit
3a62f3aaff
9 changed files with 180 additions and 79 deletions
|
@ -11,4 +11,7 @@ var para = parameters.build(parametersData, argv._);
|
|||
|
||||
var ttfFont = buildGlyphs.build.call(emptyFont, para);
|
||||
|
||||
if(argv.o) fs.writeFileSync(argv.o, JSON.stringify(ttfFont));
|
||||
if(argv.o) {
|
||||
console.log(argv.o + " Successfully built.")
|
||||
fs.writeFileSync(argv.o, JSON.stringify(ttfFont));
|
||||
}
|
|
@ -33,45 +33,51 @@ define [ORing u d l r sma smb shift] : begin
|
|||
return s.points
|
||||
|
||||
define SERIF_SHIFT_X 0.6
|
||||
define [LeftwardTopSerif x y length] : glyph-construction
|
||||
define [LeftwardTopSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : create-stroke
|
||||
:.start-from (x + HALFSTROKE * CORRECTION_HX) y
|
||||
:.heads-to LEFTWARD
|
||||
:.set-width STROKE 0
|
||||
:.line-to (x - length - globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.set-width sw 0
|
||||
:.line-to (x - length - globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [LeftwardBottomSerif x y length] : glyph-construction
|
||||
define [LeftwardBottomSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : create-stroke
|
||||
:.start-from (x + HALFSTROKE * CORRECTION_HX) y
|
||||
:.heads-to LEFTWARD
|
||||
:.set-width 0 STROKE
|
||||
:.line-to (x - length + globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.set-width 0 sw
|
||||
:.line-to (x - length + globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [RightwardTopSerif x y length] : glyph-construction
|
||||
define [RightwardTopSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : create-stroke
|
||||
:.start-from (x - HALFSTROKE * CORRECTION_HX) y
|
||||
:.heads-to RIGHTWARD
|
||||
:.set-width 0 STROKE
|
||||
:.line-to (x + length - globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.set-width 0 sw
|
||||
:.line-to (x + length - globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [RightwardBottomSerif x y length] : glyph-construction
|
||||
define [RightwardBottomSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : create-stroke
|
||||
:.start-from (x - HALFSTROKE * CORRECTION_HX) y
|
||||
:.heads-to RIGHTWARD
|
||||
:.set-width STROKE 0
|
||||
:.line-to (x + length + globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.set-width sw 0
|
||||
:.line-to (x + length + globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [CenterTopSerif x y length] : glyph-construction
|
||||
define [CenterTopSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : create-stroke
|
||||
:.start-from (x + length - globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.set-width STROKE 0
|
||||
:.line-to (x - length - globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.start-from (x + length - globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
:.set-width sw 0
|
||||
:.line-to (x - length - globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [CenterBottomSerif x y length] : glyph-construction
|
||||
define [CenterBottomSerif x y length _sw] : glyph-construction
|
||||
local sw : fallback _sw STROKE
|
||||
include : create-stroke
|
||||
:.start-from (x + length + globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.set-width 0 STROKE
|
||||
:.line-to (x - length + globalTransform.yx * (STROKE * SERIF_SHIFT_X)) y
|
||||
:.start-from (x + length + globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
:.set-width 0 sw
|
||||
:.line-to (x - length + globalTransform.yx * (sw * SERIF_SHIFT_X)) y
|
||||
|
||||
define [DownwardRightSerif x y length sw] : glyph-construction
|
||||
include : dispiro
|
||||
|
|
|
@ -7,7 +7,6 @@ alias 'cyrGhe' 0x413 'Gamma'
|
|||
alias 'cyrIe' 0x415 'E'
|
||||
alias 'cyrie' 0x435 'e'
|
||||
alias 'cyrKa' 0x41A 'K'
|
||||
alias 'cyrka' 0x43A 'kappa'
|
||||
alias 'cyrEm' 0x41C 'M'
|
||||
alias 'cyrEn' 0x41D 'H'
|
||||
alias 'cyrO' 0x41E 'O'
|
||||
|
@ -92,6 +91,8 @@ create-glyph 'cyrBe' : glyph-construction
|
|||
assign-unicode 0x411
|
||||
include glyphs.cyrYeri AS_BASE
|
||||
include : HBar SB [mix SB RIGHTSB 0.9] (CAP - HALFSTROKE)
|
||||
if SLAB : begin
|
||||
include : DownwardRightSerif [mix SB RIGHTSB 0.9] CAP VJUT
|
||||
|
||||
define [CyrIShape top] : glyph-construction
|
||||
local topstroke : adviceBlackness 4
|
||||
|
@ -162,6 +163,16 @@ create-glyph 'cyrbe' : glyph-construction
|
|||
|
||||
alias 'cyrbe.serbian' null 'delta'
|
||||
|
||||
create-glyph 'cyrka' : glyph-construction
|
||||
set-width WIDTH
|
||||
assign-unicode 0x43A
|
||||
include eMarks
|
||||
include : VBarLeft SB 0 XH
|
||||
include : KShape XH
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterTopSerif (SB + HALFSTROKE * CORRECTION_HX) XH JUT
|
||||
|
||||
create-glyph 'cyrve.italic' : glyph-construction
|
||||
include eMarks
|
||||
|
||||
|
@ -376,7 +387,7 @@ create-glyph 'cyrtse.italic' : glyph-construction
|
|||
italic-variant 'cyrtse' 0x446
|
||||
|
||||
define [CyrCheShape top _barp] : glyph-construction
|
||||
local bar : top * [fallback _barp 0.4]
|
||||
local bar : top * [fallback _barp [if SLAB 0.45 0.4]]
|
||||
include : VBarRight RIGHTSB 0 top
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
|
@ -393,7 +404,7 @@ define [CyrCheShape top _barp] : glyph-construction
|
|||
create-glyph 'cyrChe' : glyph-construction
|
||||
assign-unicode 0x427
|
||||
include capitalMarks
|
||||
include : CyrCheShape CAP 0.35
|
||||
include : CyrCheShape CAP [if SLAB nothing 0.35]
|
||||
|
||||
create-glyph 'cyrche' : glyph-construction
|
||||
assign-unicode 0x447
|
||||
|
@ -502,30 +513,32 @@ create-glyph 'cyryu' : glyph-construction
|
|||
|
||||
define [CyrYaShape top] : glyph-construction
|
||||
local bowlTop (top * 1)
|
||||
local bowlBottom ((top - STROKE) * 0.55 - HALFSTROKE)
|
||||
|
||||
local turn : mix bowlTop bowlBottom 0.5
|
||||
local turnRadius : (bowlTop - bowlBottom) / 2
|
||||
|
||||
include : create-stroke
|
||||
:.start-from (WIDTH - SB * 1.25 - HALFSTROKE * 0.1) bowlTop
|
||||
:.heads-to LEFTWARD
|
||||
:.set-width STROKE 0
|
||||
:.line-to (SB + turnRadius) bowlTop
|
||||
:.arc-hv-to (SB + O) turn
|
||||
:.arc-vh-to (SB + turnRadius) bowlBottom
|
||||
:.line-to (WIDTH - SB * 1.25 - HALFSTROKE * 0.1) bowlBottom
|
||||
:.heads-to RIGHTWARD
|
||||
|
||||
local m : if SLAB (0.5 + HALFSTROKE / CAP) PBARPOS
|
||||
local bowlBottom ((top - STROKE) * m - HALFSTROKE)
|
||||
local turn : mix bowlTop bowlBottom (SMOOTHA / (SMOOTHA + SMOOTHB))
|
||||
local turnRadius : (bowlTop - bowlBottom) * 0.45
|
||||
local barright : WIDTH - SB * 1.25
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
flat (barright - HALFSTROKE * 0.1) bowlTop [heading LEFTWARD]
|
||||
curl (SB + turnRadius) bowlTop
|
||||
archv
|
||||
g4 (SB + O) turn
|
||||
arcvh
|
||||
flat (SB + turnRadius) bowlBottom
|
||||
curl (barright - HALFSTROKE * 0.1) bowlBottom [heading RIGHTWARD]
|
||||
include : VBarRight RIGHTSB 0 top
|
||||
local left (SB + O + [if SLAB (JUT / 4) 0])
|
||||
include : dispiro
|
||||
widths.center
|
||||
g4.up.start (left + HALFSTROKE) 0 [heading UPWARD]
|
||||
quadcontrols 0 0.4 8
|
||||
g4 MIDDLE ((top - STROKE) * m)
|
||||
|
||||
local turn (XH * 0.1)
|
||||
local left (SB + O)
|
||||
include : create-stroke
|
||||
:.start-from (left + HALFSTROKE) 0
|
||||
:.heads-to UPWARD
|
||||
:.set-width HALFSTROKE HALFSTROKE
|
||||
:.curve-to (left + HALFSTROKE) (turn + 0.2 * (XH - turn)) MIDDLE (bowlBottom + HALFSTROKE)
|
||||
if SLAB : begin
|
||||
include : RightwardTopSerif barright top SIDEJUT
|
||||
include : CenterBottomSerif (barright - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : LeftwardBottomSerif (SB + JUT / 4) 0 (SIDEJUT + JUT / 4)
|
||||
|
||||
create-glyph 'cyrYa' : glyph-construction
|
||||
assign-unicode 0x42F
|
||||
|
|
|
@ -67,7 +67,6 @@ create-glyph 'Gamma' : glyph-construction
|
|||
assign-unicode 0x393
|
||||
include capitalMarks
|
||||
include : GammaShape CAP
|
||||
include : FlipAround MIDDLE CAPMIDDLE 1 (-1)
|
||||
|
||||
define [SigmaShape top bottom _fine] : glyph-construction
|
||||
local cor 1.15
|
||||
|
@ -247,6 +246,9 @@ create-glyph 'eta' : glyph-construction
|
|||
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB (STROKE * 0.3) XH DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : VBarLeft SB 0 XH
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
|
||||
create-glyph 'kappa' : glyph-construction
|
||||
set-width WIDTH
|
||||
|
@ -256,9 +258,6 @@ create-glyph 'kappa' : glyph-construction
|
|||
include : KShape XH
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'lambda' : glyph-construction
|
||||
assign-unicode 0x3BB
|
||||
|
|
|
@ -239,7 +239,6 @@ define [PShape top _mul bp] : glyph-construction
|
|||
define [RShape top] : glyph-construction
|
||||
local m : if SLAB (0.5 + HALFSTROKE / CAP) PBARPOS
|
||||
include : PShape top 1 m
|
||||
local TURN (XH * 0.1)
|
||||
local right (RIGHTSB - O - [if SLAB (JUT / 4) 0])
|
||||
include : dispiro
|
||||
widths.center
|
||||
|
@ -449,7 +448,7 @@ create-glyph 'Z' : glyph-construction
|
|||
assign-unicode 'Z'
|
||||
include capitalMarks
|
||||
|
||||
local cor 1.15
|
||||
local cor : 1.15 * CORRECTION_HX
|
||||
|
||||
include : HBarTop SB RIGHTSB CAP
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ create-glyph 'p' : glyph-construction
|
|||
include : VBarLeft SB DESCENDER XH
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
|
||||
create-glyph 'b' : glyph-construction
|
||||
|
@ -55,6 +56,7 @@ create-glyph 'b' : glyph-construction
|
|||
include : LeftwardTopSerif SB CAP SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
include : LeftwardBottomSerif SB 0 SIDEJUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'q' : glyph-construction
|
||||
set-width WIDTH
|
||||
|
@ -118,6 +120,9 @@ create-glyph 'g.singlestorey' : glyph-construction
|
|||
curl RIGHTSB (DESCENDER + SMALLSMOOTHA)
|
||||
hookend (DESCENDER + O)
|
||||
g4 SB (DESCENDER + SHOOK)
|
||||
if SLAB : begin
|
||||
include : RightwardTopSerif RIGHTSB XH SIDEJUT
|
||||
tag-contour 'serifRT'
|
||||
|
||||
select-variant 'g' 'g' 'doublestorey'
|
||||
|
||||
|
@ -250,11 +255,11 @@ create-glyph 'n' : glyph-construction
|
|||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
if (para.italicangle > 0)
|
||||
: then : include : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
: else : include : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
tag-contour 'serifRB'
|
||||
if (para.italicangle === 0) : include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
: then : include : tagged 'serifRB' : RightwardBottomSerif RIGHTSB 0 SIDEJUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'u' : glyph-construction
|
||||
set-width WIDTH
|
||||
|
@ -481,7 +486,7 @@ create-glyph 'z' : glyph-construction
|
|||
assign-unicode 'z'
|
||||
include eMarks
|
||||
|
||||
local cor 1.2
|
||||
local cor : 1.2 * CORRECTION_HX
|
||||
|
||||
include : HBarTop SB RIGHTSB XH
|
||||
|
||||
|
|
|
@ -217,17 +217,24 @@ create-glyph 'Thorn' : glyph-construction
|
|||
curl (SB * 1.25 + 1) bowlBottom [heading LEFTWARD]
|
||||
|
||||
include : VBarLeft (SB * 1.25) 0 CAP
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB * 1.25 + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
include : CenterTopSerif (SB * 1.25 + HALFSTROKE * CORRECTION_HX) CAP JUT
|
||||
|
||||
create-glyph 'thorn' : glyph-construction
|
||||
assign-unicode 0xFE
|
||||
|
||||
include glyphs.b AS_BASE
|
||||
include glyphs.p
|
||||
include : create-glyph : glyph-construction
|
||||
include glyphs.b
|
||||
eject-contour 'serifLB'
|
||||
include : create-glyph : glyph-construction
|
||||
include glyphs.p
|
||||
eject-contour 'serifLT'
|
||||
include ifMarks
|
||||
|
||||
|
||||
define [EzhShape top bot pleft hookless] : glyph-construction
|
||||
local cor 1.2
|
||||
local cor : 1.2 * CORRECTION_HX
|
||||
local yMidBar : mix bot top 0.6
|
||||
local ezhLeft : mix SB RIGHTSB [fallback pleft 0.2]
|
||||
local ezhRight : mix SB RIGHTSB 0.925
|
||||
|
@ -254,7 +261,7 @@ define [EzhShape top bot pleft hookless] : glyph-construction
|
|||
include : DownwardLeftSerif SB top VJUT
|
||||
|
||||
define [RevEzhShape top bot pleft hookless] : glyph-construction
|
||||
local cor 1.2
|
||||
local cor : 1.2 * CORRECTION_HX
|
||||
local yMidBar : mix bot top 0.6
|
||||
local ezhRight : mix RIGHTSB SB [fallback pleft 0.2]
|
||||
local ezhLeft : mix RIGHTSB SB 0.925
|
||||
|
@ -275,6 +282,8 @@ define [RevEzhShape top bot pleft hookless] : glyph-construction
|
|||
if hookless {} : list
|
||||
hookend bot
|
||||
g4 RIGHTSB (bot + SHOOK)
|
||||
if SLAB : begin
|
||||
include : DownwardRightSerif RIGHTSB top VJUT
|
||||
|
||||
create-glyph 'Ezh' : glyph-construction
|
||||
set-width WIDTH
|
||||
|
@ -412,6 +421,11 @@ create-glyph 'Hwair' : glyph-construction
|
|||
archv
|
||||
flat (RIGHTSB - O) (SMALLSMOOTHA * 0.6)
|
||||
curl (RIGHTSB - O) XH [heading UPWARD]
|
||||
if SLAB : begin
|
||||
local jut : JUT * 0.75
|
||||
include : CenterTopSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) CAP jut
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) 0 jut
|
||||
include : CenterTopSerif MIDDLE CAP jut
|
||||
|
||||
create-glyph 'hwair' : glyph-construction
|
||||
assign-unicode 0x195
|
||||
|
@ -425,6 +439,12 @@ create-glyph 'hwair' : glyph-construction
|
|||
archv
|
||||
flat (RIGHTSB - O) (SMALLSMOOTHA * 0.6)
|
||||
curl (RIGHTSB - O) XH [heading UPWARD]
|
||||
if SLAB : begin
|
||||
local jut : JUT * 0.75
|
||||
include : LeftwardTopSerif (SB + O) CAP (jut - MVERTSTROKE / 2 * CORRECTION_HX)
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + O + MVERTSTROKE / 2 * CORRECTION_HX) 0 jut
|
||||
tag-contour 'serifLB'
|
||||
|
||||
|
||||
create-glyph 'Gha' : glyph-construction
|
||||
|
@ -710,6 +730,32 @@ create-glyph 'latinEta' : glyph-construction
|
|||
|
||||
include : nShoulder (SB + STROKE) RIGHTSB (STROKE * 0.3) CAP DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : VBar (SB + HALFSTROKE * CORRECTION_HX) 0 CAP
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB CAP SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
if (para.italicangle > 0)
|
||||
: then : include : tagged 'serifRB' : RightwardBottomSerif RIGHTSB DESCENDER SIDEJUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'latineta' : glyph-construction
|
||||
assign-unicode 0x19E
|
||||
include pMarks
|
||||
set-anchor 'lf' BASE (SB + HALFSTROKE) 0
|
||||
|
||||
include : nShoulder (SB + STROKE * CORRECTION_HX) RIGHTSB (STROKE * 0.3) XH DESCENDER SMALLSMOOTHA SMALLSMOOTHB
|
||||
include : VBarLeft SB 0 XH
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
if (para.italicangle > 0)
|
||||
: then : include : tagged 'serifRB' : RightwardBottomSerif RIGHTSB DESCENDER SIDEJUT
|
||||
: else : include : tagged 'serifRB' : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
#
|
||||
create-glyph 'strenchedC' : glyph-construction
|
||||
|
@ -771,6 +817,8 @@ create-glyph 'glottalstop' : glyph-construction
|
|||
alsothru 0.5 0.45 [widths (ESS / 2) (ESS / 2)]
|
||||
flat (MIDDLE - HALFSTROKE * CORRECTION_HX) (XH * 0.3) [widths STROKE 0]
|
||||
curl (MIDDLE - HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
create-glyph 'revglottalstop' : glyph-construction
|
||||
assign-unicode 0x295
|
||||
|
@ -783,6 +831,8 @@ create-glyph 'revglottalstop' : glyph-construction
|
|||
alsothru 0.5 0.45 [widths (ESS / 2) (ESS / 2)]
|
||||
flat (MIDDLE + HALFSTROKE * CORRECTION_HX) (XH * 0.3) [widths 0 STROKE]
|
||||
curl (MIDDLE + HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
create-glyph 'smallglottalstop' : glyph-construction
|
||||
assign-unicode 0x242
|
||||
|
@ -795,6 +845,8 @@ create-glyph 'smallglottalstop' : glyph-construction
|
|||
alsothru 0.5 0.45 [widths (ESS / 2) (ESS / 2)]
|
||||
flat (MIDDLE - HALFSTROKE * CORRECTION_HX) (XH * 0.15) [widths STROKE 0]
|
||||
curl (MIDDLE - HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT
|
||||
|
||||
create-glyph 'invglottalstopbar' : glyph-construction
|
||||
assign-unicode 0x1BE
|
||||
|
@ -812,25 +864,31 @@ create-glyph 'invglottalstopbar' : glyph-construction
|
|||
|
||||
create-glyph 'fineglottalstop' : glyph-construction
|
||||
include bMarks
|
||||
local fine : markHalfStroke * 2
|
||||
include : dispiro
|
||||
widths.rhs (markHalfStroke * 2)
|
||||
widths.rhs fine
|
||||
g4 SB (CAP - HOOK)
|
||||
hookstart CAPO
|
||||
g4 RIGHTSB (CAP - [adviceGlottalStopSmooth CAP 1])
|
||||
alsothru 0.5 0.45 [widths markHalfStroke markHalfStroke]
|
||||
flat (MIDDLE - HALFSTROKE * CORRECTION_HX) (XH * 0.3) [widths (markHalfStroke * 2) 0]
|
||||
curl (MIDDLE - HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE - fine / 2 * CORRECTION_HX) (XH * 0.3) [widths fine 0]
|
||||
curl (MIDDLE - fine / 2 * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT fine
|
||||
|
||||
create-glyph 'finerevglottalstop' : glyph-construction
|
||||
include bMarks
|
||||
local fine : markHalfStroke * 2
|
||||
include : dispiro
|
||||
widths.lhs (markHalfStroke * 2)
|
||||
widths.lhs fine
|
||||
g4 RIGHTSB (CAP - HOOK)
|
||||
hookstart CAPO
|
||||
g4 SB (CAP - [adviceGlottalStopSmooth CAP (-1)])
|
||||
alsothru 0.5 0.45 [widths markHalfStroke markHalfStroke]
|
||||
flat (MIDDLE + HALFSTROKE * CORRECTION_HX) (XH * 0.3) [widths 0 (markHalfStroke * 2)]
|
||||
curl (MIDDLE + HALFSTROKE * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
flat (MIDDLE + fine / 2 * CORRECTION_HX) (XH * 0.3) [widths 0 fine]
|
||||
curl (MIDDLE + fine / 2 * CORRECTION_HX) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE 0 JUT fine
|
||||
|
||||
# Clicks
|
||||
create-glyph 'palatoalveolarclick' : glyph-construction
|
||||
|
@ -851,6 +909,9 @@ create-glyph 'rflap' : glyph-construction
|
|||
hookstart XO
|
||||
flat (SB + RBALANCE) (XH - SMALLSMOOTHA)
|
||||
curl (SB + RBALANCE) 0 [heading DOWNWARD]
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + RBALANCE + STROKE * 0.75 * CORRECTION_HX) 0 (JUT + HALFSTROKE / 2)
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'ifishhook' : glyph-construction
|
||||
assign-unicode 0x27F
|
||||
|
@ -858,6 +919,8 @@ create-glyph 'ifishhook' : glyph-construction
|
|||
include : VBar MIDDLE DESCENDER (XH - HOOK)
|
||||
include : VerticalHook MIDDLE (XH - HOOK) (-LONGJUT + LBALANCE) (-HOOK + HALFSTROKE)
|
||||
apply-transform : Translate LBALANCE 0
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif MIDDLE DESCENDER JUT
|
||||
|
||||
create-glyph 'iviby' : glyph-construction
|
||||
assign-unicode 0x285
|
||||
|
@ -938,7 +1001,6 @@ alias 'dentalclick' 0x1C0 'bar'
|
|||
dual 'alveolarlateralclick' 0x1C1 'bar' (WIDTH * 0.35)
|
||||
alias 'alveolarclick' 0x1C3 'exclam'
|
||||
alias 'smcpH' 0x29C 'cyren'
|
||||
alias 'latineta' 0x19E 'eta'
|
||||
alias 'latiniota' 0x269 'iota'
|
||||
alias 'revlatinepsilon' 0x25C 'cyrze'
|
||||
alias 'lstinSigma' 0x1A9 'Sigma'
|
||||
|
|
|
@ -55,7 +55,7 @@ create-glyph 'Lslash' : glyph-construction
|
|||
|
||||
define [FlatSlashShape middlex middle fine] : glyph-construction
|
||||
include : dispiro
|
||||
flat (middlex - LONGJUT * 0.8) (middle - LONGJUT * 0.4)
|
||||
flat (middlex - LONGJUT * 0.8) (middle - LONGJUT * 0.4) [widths fine fine]
|
||||
curl (middlex + LONGJUT * 0.8) (middle + LONGJUT * 0.4)
|
||||
|
||||
create-glyph 'lslash' : glyph-construction
|
||||
|
@ -198,6 +198,9 @@ create-glyph 'rlongleg' : glyph-construction
|
|||
include pMarks
|
||||
include glyphs.r false {'serifLB'}
|
||||
include : VBarLeft (SB + RBALANCE) DESCENDER 0
|
||||
if SLAB : begin
|
||||
include : CenterBottomSerif (SB + RBALANCE + STROKE * 0.75 * CORRECTION_HX) DESCENDER (JUT + HALFSTROKE / 2)
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'turnmleg' : glyph-construction
|
||||
assign-unicode 0x270
|
||||
|
@ -282,6 +285,7 @@ create-glyph 'khooktop' : glyph-construction
|
|||
create-glyph 'scriptghooktop' : glyph-construction
|
||||
assign-unicode 0x260
|
||||
include glyphs.scriptg AS_BASE
|
||||
eject-contour 'serifRT'
|
||||
include : VerticalHook (RIGHTSB - HALFSTROKE * CORRECTION_HX) XH HOOKX (-HOOK)
|
||||
|
||||
create-glyph 'thooktop' : glyph-construction
|
||||
|
@ -467,6 +471,9 @@ create-glyph 'hookturnh' : glyph-construction
|
|||
apply-transform : Italify
|
||||
include : FlipAround MIDDLE (XH / 2)
|
||||
include pMarks
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * CORRECTION_HX) XH SIDEJUT
|
||||
include : CenterBottomSerif (RIGHTSB - HALFSTROKE * CORRECTION_HX) DESCENDER JUT
|
||||
|
||||
# Right-tail
|
||||
create-glyph 'srtail' : glyph-construction
|
||||
|
@ -567,6 +574,8 @@ create-glyph 'hookturnhrtail' : glyph-construction
|
|||
apply-transform : Translate RIGHTSB 0
|
||||
apply-transform : Italify
|
||||
include pMarks
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (RIGHTSB - STROKE * CORRECTION_HX) XH SIDEJUT
|
||||
|
||||
# Downtail
|
||||
create-glyph 'Zdtail' : glyph-construction
|
||||
|
@ -718,6 +727,13 @@ create-glyph 'ncurlytail' : glyph-construction
|
|||
nShoulderKnots (SB + wide * CORRECTION_HX) m1 SHOULDERFINE nothing (fine * 2) nothing nothing wide
|
||||
CurlyTail fine rinner m1 0 (m1 + rinner * 2 + fine) x2 y2
|
||||
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif SB XH SIDEJUT
|
||||
tag-contour 'serifLT'
|
||||
if (para.italicangle === 0) : begin
|
||||
include : CenterBottomSerif (SB + HALFSTROKE * CORRECTION_HX) 0 JUT
|
||||
tag-contour 'serifLB'
|
||||
|
||||
create-glyph 'dcurlytail' : glyph-construction
|
||||
assign-unicode 0x221
|
||||
local fine : adviceBlackness 4
|
||||
|
@ -737,6 +753,9 @@ create-glyph 'dcurlytail' : glyph-construction
|
|||
curl m1 (fine * 2)
|
||||
CurlyTail fine rinner m1 0 (m1 + rinner * 2 + fine) x2 y2
|
||||
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (m1 - STROKE * CORRECTION_HX) CAP SIDEJUT
|
||||
|
||||
create-glyph 'lcurlytail' : glyph-construction
|
||||
assign-unicode 0x234
|
||||
include bMarks
|
||||
|
@ -835,7 +854,6 @@ create-glyph 'zcurlytail' : glyph-construction
|
|||
assign-unicode 0x291
|
||||
include eMarks
|
||||
|
||||
local cor 1.2
|
||||
local fine : adviceBlackness 4
|
||||
local x1 : mix (SB + STROKE) RIGHTSB 0.55
|
||||
local x2 : mix (SB + STROKE) RIGHTSB 0.3
|
||||
|
@ -844,13 +862,9 @@ create-glyph 'zcurlytail' : glyph-construction
|
|||
local m1 : RIGHTSB - fine / 2 - rinner + O
|
||||
include : HCurlyTail fine STROKE rinner SB m1 (RIGHTSB + fine / 2) x1 x2 y2
|
||||
|
||||
include : HBarTop SB RIGHTSB XH
|
||||
|
||||
start-from SB STROKE
|
||||
line-to (SB + STROKE * cor) STROKE
|
||||
line-to RIGHTSB (XH - STROKE)
|
||||
line-to (RIGHTSB - STROKE * cor) (XH - STROKE)
|
||||
reverse-last
|
||||
include glyphs.z
|
||||
eject-contour 'strokeBottom'
|
||||
eject-contour 'serifRB'
|
||||
|
||||
# Rhotic hook
|
||||
define [ErTail left w dohook] : glyph-construction
|
||||
|
|
|
@ -150,7 +150,7 @@ create-glyph 'seven' : glyph-construction
|
|||
|
||||
include : HBarTop SB RIGHTSB CAP
|
||||
|
||||
local cor 1.15
|
||||
local cor : 1.15 * CORRECTION_HX
|
||||
local x : mix SB RIGHTSB 0.15
|
||||
|
||||
start-from x 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue