Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
4cd908c
Add diagonal-tailed variant of `i`, `l` (#795).
be5invis Jan 18, 2021
64985f9
Add diagonal-tailed variant of `k` (#795).
be5invis Jan 18, 2021
2aef01a
Add diagonal tailed variant for `j` and `t` (#795).
be5invis Jan 19, 2021
892aaf6
Fix broken geometry of `K` under ultra-wide (#800).
be5invis Jan 19, 2021
aa825ce
Add straight-bar AE (`Æ`), follows variant selector for `A` (#800).
be5invis Jan 19, 2021
95fbf45
Refine the shape of Slab `S` and `s` to add serifs at both terminals …
be5invis Jan 19, 2021
3bca9bf
Fix broken geometry of `%` under ultra-wide (#800).
be5invis Jan 19, 2021
b8c11f5
* Add diagonal-tailed variant of `f` (#795).
be5invis Jan 19, 2021
7284792
Add diagonal-tailed variant of `q` (#795).
be5invis Jan 19, 2021
4486da0
Add IBM Plex Mono style set (#796).
be5invis Jan 19, 2021
7de63cf
Update variants.toml (#801)
alexeyten Jan 20, 2021
93c435d
Update images and SS fixup
be5invis Jan 20, 2021
93bcaca
Fix typo (#802)
alexeyten Jan 20, 2021
971be9c
Fix broken shape of tailed Cyrillic DJE (`U+0452`, #803).
be5invis Jan 21, 2021
d1e0423
Slightly increase size of `⊂`, `⊃`, `⊏` and `⊐` for better distinctio…
be5invis Jan 22, 2021
70af813
Add motion-serifed variant of `B`, `D`, `E` and `F` (#806).
be5invis Jan 22, 2021
c156e7e
* Spilt out variant selector for `A`, `V`, `W` (#806).
be5invis Jan 22, 2021
5bb2e4f
Add motion serifed variants for `Z`, `z`, `y` (#806)
be5invis Jan 22, 2021
1a598bf
Add open-contour and motion-serifed variants of `P` and `R` (#810).
be5invis Jan 22, 2021
10bfe14
Add standing variants of `R` (#810).
be5invis Jan 22, 2021
0b11270
Add symmetric-legged variants of `K` and `k` (#807).
be5invis Jan 22, 2021
bbb4c83
The changes are large enough to target a new major release. Rename v4…
be5invis Jan 23, 2021
a144647
Fix broken motion-serifed z (#814).
be5invis Jan 23, 2021
1b3157b
* Add toothed and motion-serifed `U` (#811).
be5invis Jan 23, 2021
f6b53f8
Add motion-serifed variants of `T` (#815).
be5invis Jan 23, 2021
92973ce
Add horizontal-tailed and detach-tailed `Q` (#808).
be5invis Jan 23, 2021
0748db8
Add hookless and capped variants of `G` (#809).
be5invis Jan 23, 2021
bc5523f
Add double-v and asymmetric variants of `W` and `w` (#812).
be5invis Jan 23, 2021
109a734
Split unilateral and bilateral motion serifed variants of toothless/t…
be5invis Jan 24, 2021
c02aa74
Fix broken leg shape of `R` (#816).
be5invis Jan 24, 2021
721f39a
Add motion-serifed variants for H, K, M, N, X, x, Y (#818).
be5invis Jan 24, 2021
a33a1bf
Slightly reduce width of lowercase `s`
be5invis Jan 24, 2021
894a6ce
Fix shapes of sswash and srtail
be5invis Jan 24, 2021
cc39d47
Fix missing SW
be5invis Jan 24, 2021
1f53cff
Update images
be5invis Jan 24, 2021
e63c098
Fix Aile mosaic size
be5invis Jan 24, 2021
8767dad
r5.0.0-beta.1
be5invis Jan 24, 2021
2596c89
Merge branch 'dev'
be5invis Jan 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
## Modifications since version 2.x

### 5.0.0-beta.1

* **Breaking** Iosevka Aile and Iosevka Etoile now support `cv##` and `ss##` features.
* **Breaking** Iosevka Sparkle is removed from prebuilt packages.
* **Breaking** Reorder `cv##` features and variant assignments for better organization.
* **Breaking** Spilt out variant selector for `A`, `V`, `W`, `Z` (#806).
* Add diagonal-tailed variants of `f`, `i`, `j`, `k`, `l`, `q`, `t` (#795).
* Add motion-serifed variants of `A`, `B`, `D`, `E`, `F`, `H`, `K`, `M`, `N`, `P`, `R`, `T`, `V`, `W`, `X`, `Y`, `Z`, `v`, `w`, `x`, `y`, `z` (#806, #815, #818).
* Add symmetric-legged variants of `K` and `k` (#807).
* Add horizontal-tailed and detach-tailed variants of `Q` (#808).
* Add hookless and capped variants of `G` (#809).
* Add open-contour variants of `P` and `R` (#810).
* Add standing variants of `R` (#810).
* Add toothed and motion-serifed variants of `U` (#811).
* Add motion-serifed toothless variants of `u` (#813).
* Add double-v and asymmetric variants of `W` and `w` (#812).
* Add IBM Plex Mono style set (#796).
* Fix broken geometry of `K` and `%` under ultra-wide (#800).
* Add straight-bar AE (`Æ`), follows variant selector for `A` (#800).
* Refine the shape of Slab `S` and `s` to add serifs at both terminals (#800).
* Fix broken shape of tailed Cyrillic DJE (`U+0452`, #803).
* Slightly increase size of `⊂`, `⊃`, `⊏` and `⊐` for better distinction (#804).


### 4.5.0

* Fix broken shape of `LCaron` (`U+013D`, #791).
Expand Down Expand Up @@ -373,7 +397,7 @@
* Fixed missing `TM` and `SM` symbol.
* Fixed weight of dotted numbers.
* Fix APL symbols' metric under Aile.
* Make `m.shortleg` more distinctive (#471).
* Make `m.short-leg` more distinctive (#471).
* Add ligation for waved double-headed-arrow (#475).
* Expand the ligation set for colons to all dotty operators (#476).
* Added variants for `9` like a turned `6` (#363).
Expand Down
749 changes: 448 additions & 301 deletions README.md

Large diffs are not rendered by default.

110 changes: 44 additions & 66 deletions build-plans.toml
Original file line number Diff line number Diff line change
Expand Up @@ -448,25 +448,48 @@ snapshotFeature = '"NWID" on, "ss14" on'
inherits = "ss14"


[buildPlans.iosevka-ss15]
family = "Iosevka SS15"
desc = "IBM Plex Mono Style"
snapshotFamily = 'iosevka'
snapshotFeature = '"ss15" on'
[buildPlans.iosevka-ss15.variants]
inherits = "ss15"

[buildPlans.iosevka-term-ss15]
family = "Iosevka Term SS15"
spacing = "term"
snapshotFamily = 'iosevka'
snapshotFeature = '"NWID" on, "ss15" on'
[buildPlans.iosevka-term-ss15.variants]
inherits = "ss15"

[buildPlans.iosevka-fixed-ss15]
family = "Iosevka Fixed SS15"
spacing = "fixed"
snapshotFamily = 'iosevka'
snapshotFeature = '"NWID" on, "ss15" on'
[buildPlans.iosevka-fixed-ss15.variants]
inherits = "ss15"


###################################################################################################
# Proportional families

[buildPlans.iosevka-aile]
family = "Iosevka Aile"
desc = "Sans-serif"
spacing = "quasi-proportional"
no-cv-ss = true
no-ligation = true
snapshotFamily = 'iosevka-aile'

[buildPlans.iosevka-aile.variants.design]
at = 'fourfold'
j = 'flat-hook-serifless'
capital-i = 'serifless'
capital-j = 'serifless'
g = 'singlestorey'
g = 'single-storey'
r = 'compact'
a = 'doublestorey'
a = 'double-storey'
d = 'toothed'
u = 'toothed'
i = 'serifless'
Expand All @@ -480,9 +503,9 @@ at = 'threefold'
j = 'flat-hook-serifed'
capital-i = 'serifed'
capital-j = 'serifed'
g = 'singlestorey'
g = 'single-storey'
r = 'serifless'
a = 'doublestorey'
a = 'double-storey'
d = 'toothed'
u = 'toothed'
t = 'flat-hook'
Expand Down Expand Up @@ -514,8 +537,6 @@ family = "Iosevka Etoile"
desc = "Slab-serif"
spacing = "quasi-proportional"
serifs = 'slab'
no-cv-ss = true
no-ligation = true
snapshotFamily = 'iosevka-etoile'

[buildPlans.iosevka-etoile.variants.design]
Expand All @@ -534,63 +555,16 @@ css = "normal"



[buildPlans.iosevka-sparkle]
family = "Iosevka Sparkle"
desc = "Hybrid, like iA Writer’s Duo"
[buildPlans.iosevka-QP]
family = "Iosevka QP"
desc = "Customizer Preview Only Quasi-prioirtional Sans"
spacing = "quasi-proportional"
no-cv-ss = true
no-ligation = true
snapshotFamily = 'iosevka-sparkle'

[buildPlans.iosevka-sparkle.variants.design]
at = 'fourfold'
j = 'flat-hook-serifed'

[buildPlans.iosevka-sparkle.variants.upright]
i = 'serifed'
l = 'serifed'
f = 'serifed'
r = 'serifed'

[buildPlans.iosevka-sparkle.variants.oblique]
i = 'serifed'
l = 'serifed'
f = 'serifed'
r = 'serifed'

[buildPlans.iosevka-sparkle.variants.italic]
i = 'serifed-tailed'
l = 'serifed-tailed'
f = 'flat-hook-tailed'
r = 'top-serifed'

# Letterform control for U+1D670 ... U+1D6A3
[buildPlans.iosevka-sparkle.derivingVariants.mathtt.design]
at = 'threefold'
j = 'flat-hook-serifed'

[buildPlans.iosevka-sparkle.derivingVariants.mathtt.upright]
i = 'serifed'
l = 'serifed'
f = 'serifed'
r = 'serifed'

[buildPlans.iosevka-sparkle.derivingVariants.mathtt.oblique]
i = 'serifed'
l = 'serifed'
f = 'serifed'
r = 'serifed'

[buildPlans.iosevka-sparkle.derivingVariants.mathtt.italic]
i = 'serifed-tailed'
l = 'serifed-tailed'
f = 'flat-hook-tailed'
r = 'top-serifed'

[buildPlans.iosevka-sparkle.widths.normal]
shape = 576
menu = 5
css = "normal"
[buildPlans.iosevka-QP-slab]
family = "Iosevka QP Slab"
desc = "Customizer Preview Only Quasi-prioirtional Slab"
serifs = 'slab'
spacing = "quasi-proportional"


###################################################################################################
Expand Down Expand Up @@ -722,15 +696,19 @@ from = [
"iosevka-fixed-ss14"
]

[collectPlans.iosevka-ss15]
from = [
"iosevka-ss15",
"iosevka-term-ss15",
"iosevka-fixed-ss15"
]

[collectPlans.iosevka-aile]
from = ["iosevka-aile"]

[collectPlans.iosevka-etoile]
from = ["iosevka-etoile"]

[collectPlans.iosevka-sparkle]
from = ["iosevka-sparkle"]

[collectConfig]
distinguishWeights = true
distinguishWidths = false
Expand Down
2 changes: 1 addition & 1 deletion changes/3.0.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* Fixed missing `TM` and `SM` symbol.
* Fixed weight of dotted numbers.
* Fix APL symbols' metric under Aile.
* Make `m.shortleg` more distinctive (#471).
* Make `m.short-leg` more distinctive (#471).
* Add ligation for waved double-headed-arrow (#475).
* Expand the ligation set for colons to all dotty operators (#476).
* Added variants for `9` like a turned `6` (#363).
Expand Down
20 changes: 20 additions & 0 deletions changes/5.0.0-beta.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
* **Breaking** Iosevka Aile and Iosevka Etoile now support `cv##` and `ss##` features.
* **Breaking** Iosevka Sparkle is removed from prebuilt packages.
* **Breaking** Reorder `cv##` features and variant assignments for better organization.
* **Breaking** Spilt out variant selector for `A`, `V`, `W`, `Z` (#806).
* Add diagonal-tailed variants of `f`, `i`, `j`, `k`, `l`, `q`, `t` (#795).
* Add motion-serifed variants of `A`, `B`, `D`, `E`, `F`, `H`, `K`, `M`, `N`, `P`, `R`, `T`, `V`, `W`, `X`, `Y`, `Z`, `v`, `w`, `x`, `y`, `z` (#806, #815, #818).
* Add symmetric-legged variants of `K` and `k` (#807).
* Add horizontal-tailed and detach-tailed variants of `Q` (#808).
* Add hookless and capped variants of `G` (#809).
* Add open-contour variants of `P` and `R` (#810).
* Add standing variants of `R` (#810).
* Add toothed and motion-serifed variants of `U` (#811).
* Add motion-serifed toothless variants of `u` (#813).
* Add double-v and asymmetric variants of `W` and `w` (#812).
* Add IBM Plex Mono style set (#796).
* Fix broken geometry of `K` and `%` under ultra-wide (#800).
* Add straight-bar AE (`Æ`), follows variant selector for `A` (#800).
* Refine the shape of Slab `S` and `s` to add serifs at both terminals (#800).
* Fix broken shape of tailed Cyrillic DJE (`U+0452`, #803).
* Slightly increase size of `⊂`, `⊃`, `⊏` and `⊐` for better distinction (#804).
6 changes: 3 additions & 3 deletions font-src/glyphs/auto-build/composite.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -635,9 +635,9 @@ glyph-block AutoBuild-Enclosure : begin

if [not recursive] : do "inset mosaic"
local compositions {}
compositions.push { 0x1FBB1 { [[glyphStore.queryNameOfUnicode (0x2714)].replace [regex '.WWID$'] ".NWID"] } WideWidth2 }
compositions.push { 0x1FBB4 { [[glyphStore.queryNameOfUnicode (0x21B2)].replace [regex '.WWID$'] ".NWID"] } WideWidth2 }
compositions.push { 0x1FBC4 { [[glyphStore.queryNameOfUnicode (0x003F)].replace [regex '.WWID$'] ".NWID"] } WideWidth2 }
compositions.push { 0x1FBB1 { [[glyphStore.queryNameOfUnicode (0x2714)].replace [regex '.WWID$'] ".NWID"] } WideWidth4 }
compositions.push { 0x1FBB4 { [[glyphStore.queryNameOfUnicode (0x21B2)].replace [regex '.WWID$'] ".NWID"] } WideWidth4 }
compositions.push { 0x1FBC4 { [[glyphStore.queryNameOfUnicode (0x003F)].replace [regex '.WWID$'] ".NWID"] } WideWidth4 }
createInsetMosaicGlyphs 1 compositions

if [not recursive] : do "Single-digit double circled"
Expand Down
12 changes: 9 additions & 3 deletions font-src/glyphs/common/derivatives.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,16 @@ glyph-block Common-Derivatives : begin
local glyphDst : create-glyph dstGid dstUnicode : glyph-proc
include : Fn sourceGid null

local derivedGlyphIdMap : new Map
if glyphDst : foreach [gr : items-of : AnyDerivingCv.query glyphSrc] : begin
gr.set glyphDst [gr.amendName dstGid]
create-glyph [gr.amendName dstGid] : glyph-proc
include : Fn [gr.get glyphSrc] gr.tag
local relGidSrc : gr.get glyphSrc
if [derivedGlyphIdMap.get relGidSrc]
: then : gr.set glyphDst : derivedGlyphIdMap.get relGidSrc
: else : begin
local relGidDst : gr.amendName dstGid
create-glyph relGidDst : glyph-proc : include : Fn [gr.get glyphSrc] gr.tag
gr.set glyphDst relGidDst
derivedGlyphIdMap.set relGidSrc relGidDst

define [alias dstGid dstUnicode sourceGid] : begin
if [not dstGid] : throw : new Error "Target ID not specified"
Expand Down
12 changes: 1 addition & 11 deletions font-src/glyphs/common/shapes.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -372,16 +372,6 @@ glyph-block CommonShapes : begin
CenterBottomSerifAsymmetric (left + Stroke * sideSerifK * HVContrast) 0 Jut jutIn
include : tagged 'serifRB'
CenterBottomSerifAsymmetric (right - Stroke * sideSerifK * HVContrast) 0 jutIn Jut
define [AINSerifs top _left _right sw xn] : glyph-proc
local left : fallback _left SB
local right : fallback _right RightSB
local jut : Jut * [fallback xn 1]
if SLAB : begin
include : LeftwardTopSerif (left + sw * (sideSerifK - 0.5) * HVContrast) top (jut - sw / 2 * HVContrast)
include : tagged 'serifRB'
CenterTopSerif (right - sw * sideSerifK * HVContrast) top jut
include : tagged 'serifLB'
CenterBottomSerif (left + sw * sideSerifK * HVContrast) 0 jut
define [AICyrISerifs top _left _right] : glyph-proc
local left : fallback _left SB
local right : fallback _right RightSB
Expand Down Expand Up @@ -686,4 +676,4 @@ glyph-block CommonShapes : begin
corner [mix x1 x2 (-k)] [mix y1 y2 (-k)]
corner [mix x1 x2 (1+k)] [mix y1 y2 (1+k)]

glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AINSerifs AICyrISerifs AIMSerifs HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender CyrLeftDescender FlipAround ScaleAround Realign ForceUpright DiagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AICyrISerifs AIMSerifs HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender CyrLeftDescender FlipAround ScaleAround Realign ForceUpright DiagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask WithTransform clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical ExtLineCenter DiagCorDs HCrossBar VERY-FAR MaskAbove MaskBelow MaskLeft MaskRight
9 changes: 4 additions & 5 deletions font-src/glyphs/letter/cyrillic/dje.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ glyph-block Letter-Cyrillic-Dje : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
glyph-block-import Letter-Shared-Shapes : nShoulder
glyph-block-import Letter-Latin-Lower-H : HBarOverlay

create-glyph 'cyrl/Dje' 0x402 : glyph-proc
include : MarkSet.capital
Expand All @@ -34,8 +35,6 @@ glyph-block Letter-Cyrillic-Dje : begin
if SLAB : begin
include : LeftwardBottomSerif left 0 SideJut

create-glyph 'cyrl/dje' 0x452 : glyph-proc
include : MarkSet.if
include : refer-glyph 'cyrl/tshe'
eject-contour 'serifRB'
include : VerticalHook (RightSB - HalfStroke * HVContrast) 0 (-Hook * 1.2) Hook
with-related-glyphs 'cyrl/dje' 0x452 'heng' : lambda [src sel] : glyph-proc
include [refer-glyph src] AS_BASE
include : HBarOverlay
2 changes: 1 addition & 1 deletion font-src/glyphs/letter/greek/lower-mu.ptl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ glyph-module
glyph-block Letter-Greek-Lower-Mu : begin
glyph-block-import CommonShapes
glyph-block-import Common-Derivatives
glyph-block-import Letter-Latin-Lower-U
glyph-block-import Letter-Latin-U

with-related-glyphs 'grek/mu' 0x3BC 'u' : lambda [src sel] : glyph-proc
include : MarkSet.p
Expand Down
Loading