All latin glyphs between U+0000 and U+02c0 are covered. Release 0.1.12.
This commit is contained in:
parent
ba2834ce5d
commit
cd33785f09
|
@ -252,7 +252,6 @@ define [buildFont para recursive] : begin {
|
|||
define [create-glyph name actions] : piecewise {
|
||||
[name && actions] : begin {
|
||||
if [pickHash && [not pickHash.(name)]] : return nothing
|
||||
# process.stderr.write : "Building /" + name + [if recursive " (recursive)" ""] + " for " + para.family + ' ' + para.style + "\n"
|
||||
set dependencyProfile`name ()
|
||||
define glyphObject [new Glyph name]
|
||||
glyphObject.set-width WIDTH
|
||||
|
|
|
@ -26,6 +26,8 @@ define customDecompositions (
|
|||
."\u0248" "J\u0335"
|
||||
."\u0249" "j\u0335"
|
||||
."\u0268" "i\u0335"
|
||||
."\u024C" "R\u0335"
|
||||
."\u024D" "r\u0335"
|
||||
."\u01B5" "Z\u0335"
|
||||
."\u01B6" "z\u0335"
|
||||
."\u1D7B" "\u026A\u0335"
|
||||
|
|
|
@ -385,38 +385,34 @@ define [hookend y p f dontextend] : return (.type 'interpolate' .af [lambda [bef
|
|||
}])
|
||||
|
||||
# Derived subfonts
|
||||
define [Miniature glyphs fold scale] : begin {
|
||||
local forkedPara : Object.create para
|
||||
forkedPara.upmscale = 1
|
||||
forkedPara.stroke = [adviceBlackness fold] / scale
|
||||
forkedPara.sb = SB / 2
|
||||
define [Fork glyphs params] : begin {
|
||||
local p : Object.create params
|
||||
p.upmscale = 1
|
||||
local shouldBuildList ()
|
||||
foreach glyphid [items-of glyphs] : set shouldBuildList : shouldBuildList.concat (glyphid :: dependencyProfile.(glyphid))
|
||||
local forkFont : buildFont forkedPara shouldBuildList
|
||||
local forkFont : buildFont p shouldBuildList
|
||||
return forkFont.glyfMap
|
||||
}
|
||||
define [Miniature glyphs fold scale] : begin {
|
||||
local forkedPara : Object.create para
|
||||
forkedPara.stroke = [adviceBlackness fold] / scale
|
||||
forkedPara.sb = SB / 2
|
||||
return : Fork glyphs forkedPara
|
||||
}
|
||||
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
|
||||
return : Fork glyphs forkedPara
|
||||
}
|
||||
define [Widen glyphs p psb] : begin {
|
||||
local forkedPara : Object.create para
|
||||
forkedPara.upmscale = 1
|
||||
forkedPara.width = WIDTH * p
|
||||
forkedPara.sb = SB * [fallback psb p]
|
||||
forkedPara.accentx = ACCENTX * p
|
||||
forkedPara.jut = JUT * p
|
||||
forkedPara.longjut = LONGJUT * p
|
||||
forkedPara.hookx = HOOKX * p
|
||||
local shouldBuildList ()
|
||||
foreach glyphid [items-of glyphs] : set shouldBuildList : shouldBuildList.concat (glyphid :: dependencyProfile.(glyphid))
|
||||
local forkFont : buildFont forkedPara shouldBuildList
|
||||
return forkFont.glyfMap
|
||||
return : Fork glyphs forkedPara
|
||||
}
|
||||
define [turned newid unicode id x y mark] : create-glyph [fallback newid : 'turn' + id] : glyph-construction {
|
||||
if unicode : assign-unicode unicode
|
||||
|
|
|
@ -275,6 +275,7 @@ create-glyph 'R' : glyph-construction {
|
|||
assign-unicode 'R'
|
||||
include capitalMarks
|
||||
include : RShape CAP
|
||||
set-anchor 'overlay' BASE [SB + STROKE * CORRECTION_HX] [CAP * 0.55 - HALFSTROKE]
|
||||
}
|
||||
|
||||
### C G O zero Q U
|
||||
|
|
|
@ -8,25 +8,26 @@ create-glyph 'o' : glyph-construction {
|
|||
|
||||
include : smallo XH 0 SB RIGHTSB
|
||||
}
|
||||
define [oLeft] : glyph-construction {
|
||||
define [oLeft _top] : glyph-construction {
|
||||
local top : fallback _top XH
|
||||
include : spiro {
|
||||
widths.lhs
|
||||
g4 [MIDDLE - CORRECTION_OMIDS + HALFSTROKE / 4] XO
|
||||
g4 [MIDDLE - CORRECTION_OMIDS + HALFSTROKE / 4] [top - O]
|
||||
archv
|
||||
flat [SB + HALFSTROKE * CORRECTION_HX] [XH - SMALLSMOOTHA] [widths HALFSTROKE 0]
|
||||
flat [SB + HALFSTROKE * CORRECTION_HX] [top - SMALLSMOOTHA] [widths HALFSTROKE 0]
|
||||
curl [SB + HALFSTROKE * CORRECTION_HX] [0 + SMALLSMOOTHB] [widths HALFSTROKE 0]
|
||||
arcvh
|
||||
g4 [MIDDLE + CORRECTION_OMIDS + HALFSTROKE / 4] O [widths STROKE 0]
|
||||
archv
|
||||
flat [RIGHTSB - O] [0 + SMALLSMOOTHA]
|
||||
curl [RIGHTSB - O] [XH - SMALLSMOOTHB]
|
||||
curl [RIGHTSB - O] [top - SMALLSMOOTHB]
|
||||
arcvh
|
||||
close
|
||||
}
|
||||
}
|
||||
define [oRight] : glyph-construction {
|
||||
include : create-glyph [oLeft]
|
||||
include : FlipAround MIDDLE [XH / 2]
|
||||
define [oRight top] : glyph-construction {
|
||||
include : create-glyph [oLeft top]
|
||||
include : FlipAround MIDDLE [[fallback top XH] / 2]
|
||||
}
|
||||
create-glyph 'p' : glyph-construction {
|
||||
set-width WIDTH
|
||||
|
@ -658,12 +659,8 @@ create-glyph 'r' : glyph-construction {
|
|||
flat barright [XH - SMALLSMOOTHA] [widths 0 [STROKE * 0.3]]
|
||||
curl barright [XH - SMALLSMOOTHA - 1]
|
||||
}
|
||||
include : create-stroke
|
||||
:.start-from [SB + RBALANCE] 0
|
||||
:.heads-to UPWARD
|
||||
:.set-width 0 STROKE
|
||||
:.line-to [SB + RBALANCE] XH
|
||||
:.heads-to UPWARD
|
||||
include : VBarLeft [SB + RBALANCE] 0 XH
|
||||
set-anchor 'overlay' BASE [SB + RBALANCE + STROKE * CORRECTION_HX] [XH * 0.5]
|
||||
}
|
||||
|
||||
### f
|
||||
|
|
|
@ -152,6 +152,37 @@ create-glyph 'pq' : glyph-construction {
|
|||
include : VBar MIDDLE DESCENDER [XH / 2] MVERTSTROKE
|
||||
}
|
||||
|
||||
create-glyph 'OU' : glyph-construction {
|
||||
assign-unicode 0x222
|
||||
include capitalMarks
|
||||
include : smallo [CAP * BARPOS + HALFSTROKE] 0 SB RIGHTSB nothing SMOOTHA SMOOTHB
|
||||
include : spiro {
|
||||
widths.lhs
|
||||
flat SB CAP [heading DOWNWARD]
|
||||
curl SB [CAP * BARPOS - O - HALFSTROKE + SMOOTHB]
|
||||
arcvh
|
||||
g4 [MIDDLE + CORRECTION_OMIDS] [CAP * BARPOS - O - HALFSTROKE]
|
||||
archv
|
||||
flat RIGHTSB [CAP * BARPOS - O - HALFSTROKE + SMOOTHA]
|
||||
curl RIGHTSB CAP [heading UPWARD]
|
||||
}
|
||||
}
|
||||
create-glyph 'ou' : glyph-construction {
|
||||
assign-unicode 0x223
|
||||
include bMarks
|
||||
include : smallo XH 0 SB RIGHTSB
|
||||
include : spiro {
|
||||
widths.lhs
|
||||
flat SB CAP [heading DOWNWARD]
|
||||
curl SB [XH - O - STROKE + SMOOTHB]
|
||||
arcvh
|
||||
g4 [MIDDLE + CORRECTION_OMIDS] [XH - O - STROKE]
|
||||
archv
|
||||
flat RIGHTSB [XH - O - STROKE + SMOOTHA]
|
||||
curl RIGHTSB CAP [heading UPWARD]
|
||||
}
|
||||
}
|
||||
|
||||
create-glyph 'Eth' : glyph-construction {
|
||||
assign-unicode 0xD0
|
||||
|
||||
|
@ -565,6 +596,35 @@ create-glyph 'wynn' : glyph-construction {
|
|||
include pMarks
|
||||
include : WynnShape DESCENDER XH
|
||||
}
|
||||
|
||||
define [YoghShape top bot] : glyph-construction {
|
||||
include : spiro {
|
||||
widths.rhs
|
||||
g4 SB [top - HOOK]
|
||||
hookstart top
|
||||
g4 RIGHTSB [top - SMOOTHB]
|
||||
alsothruthem ((0.5 0.75)) important
|
||||
g4 [mix SB RIGHTSB 0.1] [mix bot top 0.4]
|
||||
}
|
||||
include : spiro {
|
||||
widths.rhs
|
||||
g4 [mix SB RIGHTSB 0.75] [mix bot [top - SMOOTHB] 0.75] [widths.heading 0 [STROKE * 1.25] DOWNWARD]
|
||||
g4 RIGHTSB [[mix bot [top - SMOOTHB] 0.475] + 1] [widths 0 STROKE]
|
||||
g4 RIGHTSB [[mix bot [top - SMOOTHB] 0.475] - 1]
|
||||
alsothruthem ((0.25 0.6) (0.5 0.81))
|
||||
g4 SB [bot + O]
|
||||
}
|
||||
}
|
||||
create-glyph 'Yogh' : glyph-construction {
|
||||
assign-unicode 0x21C
|
||||
include capitalMarks
|
||||
include : YoghShape CAP 0
|
||||
}
|
||||
create-glyph 'yogh' : glyph-construction {
|
||||
assign-unicode 0x21D
|
||||
include pMarks
|
||||
include : YoghShape XH DESCENDER
|
||||
}
|
||||
# Latinified greek letters
|
||||
create-glyph 'latinupsilon1' : glyph-construction {
|
||||
assign-unicode 0x28A
|
||||
|
|
|
@ -468,6 +468,19 @@ create-glyph 'hltail' : glyph-construction {
|
|||
include glyphs.h
|
||||
include : VerticalHook [RIGHTSB - HALFSTROKE * CORRECTION_HX] 0 [-HOOKX] HOOK
|
||||
}
|
||||
create-glyph 'hookturnh' : glyph-construction {
|
||||
assign-unicode 0x2AE
|
||||
include : nShoulder [SB + STROKE * CORRECTION_HX] [mix SB RIGHTSB 0.5] RIGHTSB [STROKE * 0.4] XH [HOOK + HALFSTROKE + 1] SMOOTHA SMOOTHB
|
||||
include : VBarLeft SB 0 CAP
|
||||
include : create-glyph : glyph-construction {
|
||||
include glyphs.rtailBR
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate RIGHTSB [HOOK + HALFSTROKE]
|
||||
apply-transform : Italify
|
||||
}
|
||||
include : FlipAround MIDDLE [XH / 2]
|
||||
include pMarks
|
||||
}
|
||||
# Right-tail
|
||||
create-glyph 'srtail' : glyph-construction {
|
||||
assign-unicode 0x282
|
||||
|
@ -529,6 +542,49 @@ create-glyph 'ezhtail' : glyph-construction {
|
|||
:.arc-vh-to [mix SB RIGHTSB 0.4] [DESCENDER + STROKE]
|
||||
:.line-to RIGHTSB [DESCENDER + STROKE]
|
||||
}
|
||||
create-glyph 'Qrtail' : glyph-construction {
|
||||
assign-unicode 0x24A
|
||||
include capitalMarks
|
||||
include : oRight CAP
|
||||
include : VBarRight RIGHTSB 0 CAP
|
||||
include : create-glyph : glyph-construction {
|
||||
include glyphs.rtailBR
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate RIGHTSB 0
|
||||
apply-transform : Italify
|
||||
}
|
||||
}
|
||||
create-glyph 'qrtail' : glyph-construction {
|
||||
assign-unicode 0x24B
|
||||
include eMarks
|
||||
include : oRight
|
||||
include : VBarRight RIGHTSB 0 XH
|
||||
include : create-glyph : glyph-construction {
|
||||
include glyphs.rtailBR
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate RIGHTSB 0
|
||||
apply-transform : Italify
|
||||
}
|
||||
}
|
||||
create-glyph 'hookturnhrtail' : glyph-construction {
|
||||
assign-unicode 0x2AF
|
||||
include : nShoulder [SB + STROKE * CORRECTION_HX] [mix SB RIGHTSB 0.5] RIGHTSB [STROKE * 0.4] XH [HOOK + HALFSTROKE + 1] SMOOTHA SMOOTHB
|
||||
include : VBarLeft SB 0 [XH - 1]
|
||||
include : create-glyph : glyph-construction {
|
||||
include glyphs.rtailBR
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate RIGHTSB [HOOK + HALFSTROKE]
|
||||
apply-transform : Italify
|
||||
}
|
||||
include : FlipAround MIDDLE [XH / 2]
|
||||
include : create-glyph : glyph-construction {
|
||||
include glyphs.rtailBR
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate RIGHTSB 0
|
||||
apply-transform : Italify
|
||||
}
|
||||
include pMarks
|
||||
}
|
||||
# Downtail
|
||||
create-glyph 'Zdtail' : glyph-construction {
|
||||
assign-unicode 0x224
|
||||
|
@ -876,6 +932,30 @@ create-glyph 'ltildeover' : glyph-construction {
|
|||
apply-transform : Italify
|
||||
}
|
||||
}
|
||||
|
||||
# Double stack
|
||||
if [not recursive]: create-glyph 'ww' : glyph-construction {
|
||||
assign-unicode 0x2AC
|
||||
local p : Object.create para
|
||||
p.xheight = CAP / 2
|
||||
local forked : Fork ('w') p
|
||||
include forked.w
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate 0 [CAP / 2]
|
||||
apply-transform : Italify
|
||||
include forked.w
|
||||
}
|
||||
create-glyph 'bidentalpercussive' : glyph-construction {
|
||||
assign-unicode 0x2AD
|
||||
local g : create-glyph : glyph-construction {
|
||||
include : HBarTop SB RIGHTSB [CAP * 0.4]
|
||||
include : VBarLeft SB [CAP * 0.1] [CAP * 0.4]
|
||||
include : VBarRight RIGHTSB [CAP * 0.1] [CAP * 0.4]
|
||||
}
|
||||
include g
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate 0 [CAP / 2]
|
||||
apply-transform : Italify
|
||||
include g
|
||||
}
|
||||
# Turned glyphs
|
||||
turned nothing 0x27A 'rlongleg' MIDDLE [XH / 2] [anchorDeriv bMarks (.anchors (.bottomright (.type BASE .x RIGHTSB - RBALANCE .y 0)))]
|
|
@ -815,16 +815,28 @@ create-glyph 'rtailBR' : glyph-construction {
|
|||
assign-unicode 0x322
|
||||
|
||||
set-anchor 'bottomright' MARK 0 0 0 belowMarkBot
|
||||
include : VBarRight 0 0 [-O]
|
||||
include : VerticalHook [- HALFSTROKE * CORRECTION_HX] 0 HOOKX HOOK
|
||||
include : spiro {
|
||||
widths.rhs
|
||||
flat 0 [-O]
|
||||
curl 0 0
|
||||
arcvh
|
||||
flat [HOOKX - HALFSTROKE * CORRECTION_HX - 0.1] [-HOOK + HALFSTROKE]
|
||||
curl [HOOKX - HALFSTROKE * CORRECTION_HX] [-HOOK + HALFSTROKE]
|
||||
}
|
||||
}
|
||||
create-glyph 'ltailBR' : glyph-construction {
|
||||
set-width 0
|
||||
assign-unicode 0x321
|
||||
|
||||
set-anchor 'bottomright' MARK 0 0 0 belowMarkBot
|
||||
include : VBarRight 0 0 [-O]
|
||||
include : VerticalHook [- HALFSTROKE * CORRECTION_HX] 0 [-HOOKX] HOOK
|
||||
include : spiro {
|
||||
widths.rhs
|
||||
flat 0 [-O]
|
||||
curl 0 0
|
||||
arcvh
|
||||
flat [-HOOKX - HALFSTROKE * CORRECTION_HX + 0.1] [-HOOK - HALFSTROKE]
|
||||
curl [-HOOKX - HALFSTROKE * CORRECTION_HX] [-HOOK - HALFSTROKE]
|
||||
}
|
||||
}
|
||||
# Overlay Marks
|
||||
create-glyph 'tildeOver' : glyph-construction {
|
||||
|
|
|
@ -45,7 +45,7 @@ define regular (
|
|||
.family 'Iosevka'
|
||||
.style 'Regular'
|
||||
.weight 400
|
||||
.version 'r0.1.11'
|
||||
.version 'r0.1.12'
|
||||
.variantSelector (.)
|
||||
.copyright 'Copyright (c) 2015 Belleve Invis.'
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue
Block a user