fixed /alpha, /de and /partial. 1.0 will be soon.
This commit is contained in:
parent
c45943546e
commit
56d28e82fc
|
@ -8,9 +8,9 @@ Coders' typeface, built from code.
|
|||
|
||||
Quit your editor/program. Unzip and open the folder.
|
||||
|
||||
* **Mac + Linux (with font-viewer)** : Select the .ttf files and double click → Follow the on-screen guide.
|
||||
* **Windows** : Right click the .ttf files → Install.
|
||||
* **Linux (manually)** : Copy the .ttf files to your fonts-directory → Run `sudo fc-cache`.
|
||||
* **Mac + Linux (with font-viewer)** : Select the .ttf files and double click → Follow the on-screen guide.
|
||||
* **Windows** : Right click the .ttf files → Install.
|
||||
* **Linux (manually)** : Copy the .ttf files to your fonts-directory → Run `sudo fc-cache`.
|
||||
|
||||
### Detailed Instructions
|
||||
* [How to](http://www.howtogeek.com/192980/how-to-install-remove-and-manage-fonts-on-windows-mac-and-linux/) Install, Remove, and Manage Fonts on Windows, Mac, and Linux.
|
||||
|
@ -29,7 +29,7 @@ You will find ttfs in the `build/` directory.
|
|||
|
||||
## Build your own style
|
||||
|
||||

|
||||

|
||||
|
||||
Iosevka comes with several visual styles, however they are inactive using the default build. To build these variants you should use style variables in the `make` procedure:
|
||||
|
||||
|
|
|
@ -465,19 +465,18 @@ define [buildFont para recursive] : begin
|
|||
libspiro.spiroToBezierOnContext knots closed s
|
||||
foreach af [items-of lastafs] : if af : af.call s
|
||||
local {.lhs lhs .rhs rhs} : s.expand CONTRAST
|
||||
if closed
|
||||
then
|
||||
local g : new Glyph
|
||||
libspiro.spiroToBezierOnContext [lhs.slice 0 (-1)] true g true
|
||||
local lhsContour g.contours.0
|
||||
set g.contours {}
|
||||
libspiro.spiroToBezierOnContext [rhs.reverse :.slice 0 (-1)] true g true
|
||||
local rhsContour g.contours.0
|
||||
set g.contours {[lhsContour.concat rhsContour]}
|
||||
else
|
||||
local g : new Glyph
|
||||
lhs.0.type = rhs.0.type = lhs.(lhs.length - 1).type = rhs.(rhs.length - 1).type = 'corner'
|
||||
libspiro.spiroToBezierOnContext [lhs.concat : rhs.reverse] true g true
|
||||
if closed : then
|
||||
local g : new Glyph
|
||||
libspiro.spiroToBezierOnContext [lhs.slice 0 (-1)] true g true
|
||||
local lhsContour g.contours.0
|
||||
set g.contours {}
|
||||
libspiro.spiroToBezierOnContext [rhs.reverse :.slice 0 (-1)] true g true
|
||||
local rhsContour g.contours.0
|
||||
set g.contours {[lhsContour.concat rhsContour]}
|
||||
: else
|
||||
local g : new Glyph
|
||||
lhs.0.type = rhs.0.type = lhs.(lhs.length - 1).type = rhs.(rhs.length - 1).type = 'corner'
|
||||
libspiro.spiroToBezierOnContext [lhs.concat : rhs.reverse] true g true
|
||||
local r g.contours
|
||||
r.knots = knots
|
||||
return r
|
||||
|
|
|
@ -106,13 +106,14 @@ define [AIHSerifs top _left _right] : glyph-construction
|
|||
include : AIVSerifs top _left _right
|
||||
include : CenterBottomSerif (left + STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
include : CenterBottomSerif (right - STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
define [AINSerifs top _left _right] : glyph-construction
|
||||
define [AINSerifs top _left _right sw xn] : glyph-construction
|
||||
local left : fallback _left SB
|
||||
local right : fallback _right RIGHTSB
|
||||
local jut : JUT * [fallback xn 1]
|
||||
if SLAB : begin
|
||||
include : LeftwardTopSerif (left + STROKE * (sideSerifK - 0.5) * CORRECTION_HX) top SIDEJUT
|
||||
include : CenterTopSerif (right - STROKE * sideSerifK * CORRECTION_HX) top JUT
|
||||
include : CenterBottomSerif (left + STROKE * sideSerifK * CORRECTION_HX) 0 JUT
|
||||
include : LeftwardTopSerif (left + sw * (sideSerifK - 0.5) * CORRECTION_HX) top (jut - sw / 2 * CORRECTION_HX)
|
||||
include : CenterTopSerif (right - sw * sideSerifK * CORRECTION_HX) top jut
|
||||
include : CenterBottomSerif (left + sw * sideSerifK * CORRECTION_HX) 0 jut
|
||||
tag-contour 'serifLB'
|
||||
#include : CenterdBottomSerif (right - STROKE * (sideSerifK - 0.5) * CORRECTION_HX) 0 (JUT / 2)
|
||||
define [AICyrISerifs top _left _right] : glyph-construction
|
||||
|
@ -447,6 +448,11 @@ define [vdual newid unicode id spacing] : create-glyph [fallback newid : 'double
|
|||
apply-transform : Translate 0 (spacing / 2)
|
||||
apply-transform : Italify
|
||||
|
||||
define [composite newid unicode parts] : create-glyph [fallback newid ('glyph' + [set nTemp (nTemp + 1)])] : glyph-construction
|
||||
if unicode : assign-unicode unicode
|
||||
include parts.0 AS_BASE
|
||||
foreach [part : items-of [parts.slice 1]] : include part
|
||||
|
||||
# Full-width derivatives
|
||||
define [fwl newid unicode id] : create-glyph [fallback newid : 'fwl' + id] : glyph-construction
|
||||
if unicode : assign-unicode unicode
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
###### Cyrillic glyphs
|
||||
|
||||
# Style parameters
|
||||
define [CyrDescender x shift] : glyph-construction
|
||||
local descenderOverflow : if SLAB SIDEJUT ((RIGHTSB - SB) * [fallback shift 0.1])
|
||||
include : VBarRight (x + descenderOverflow) (HALFSTROKE - LONGJUT) STROKE
|
||||
# Copy and turned characters
|
||||
alias 'cyrA' 0x410 'A'
|
||||
alias 'cyra' 0x430 'a'
|
||||
alias 'cyrVe' 0x412 'B'
|
||||
|
@ -237,18 +242,23 @@ create-glyph 'cyrghe.serbian' : glyph-construction
|
|||
|
||||
italic-variant 'cyrghe' 0x433
|
||||
define [CyrDeShape top] : glyph-construction
|
||||
local cutleft : mix SB RIGHTSB 0.2
|
||||
local cutright : mix SB RIGHTSB 0.92
|
||||
include : HBar (SB + O * 2) RIGHTSB HALFSTROKE
|
||||
include : VBar (cutright - HALFSTROKE * CORRECTION_HX) 0 top
|
||||
include : halfXStrand (cutleft + STROKE * CORRECTION_HX) top (SB + HALFSTROKE * CORRECTION_HX) HALFSTROKE 0.1 0.75 0.5
|
||||
include : VBar (SB + HALFSTROKE * CORRECTION_HX + O * 2) (-LONGJUT + HALFSTROKE) 0
|
||||
include : VBar (RIGHTSB - HALFSTROKE * CORRECTION_HX) (-LONGJUT + HALFSTROKE) 0
|
||||
local descenderOverflow : if SLAB SIDEJUT ((RIGHTSB - SB) * 0.05)
|
||||
local cutleft : if SLAB SB (SB + descenderOverflow)
|
||||
local cutright : if SLAB RIGHTSB (RIGHTSB - descenderOverflow)
|
||||
local topleft : mix cutleft cutright 0.15
|
||||
include : HBarBottom (cutleft - descenderOverflow) (cutright + descenderOverflow) 0
|
||||
include : VBarRight cutright 0 top
|
||||
include : halfXStrand (topleft + STROKE * CORRECTION_HX) top (cutleft + HALFSTROKE * CORRECTION_HX) HALFSTROKE 0.1 0.75 0.5
|
||||
include : VBarLeft (cutleft - descenderOverflow) (-LONGJUT + HALFSTROKE) 0
|
||||
include : VBarRight (cutright + descenderOverflow) (-LONGJUT + HALFSTROKE) 0
|
||||
|
||||
if SLAB : then
|
||||
include : HBarTop (cutleft - (RIGHTSB - cutright)) RIGHTSB top
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
flat (topleft - descenderOverflow) top
|
||||
curl (cutright + descenderOverflow) top
|
||||
: else
|
||||
include : HBarTop cutleft cutright top
|
||||
include : HBarTop topleft cutright top
|
||||
|
||||
create-glyph 'cyrDe' : glyph-construction
|
||||
assign-unicode 0x414
|
||||
|
@ -263,18 +273,18 @@ create-glyph 'cyrde.italic' : glyph-construction
|
|||
include bMarks
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
flat (RIGHTSB - O) SMALLSMOOTHA
|
||||
curl (RIGHTSB - O) (XH - SMALLSMOOTHB)
|
||||
flat (RIGHTSB - OX) SMALLSMOOTHA
|
||||
curl (RIGHTSB - OX) (XH - SMALLSMOOTHB)
|
||||
arcvh
|
||||
g4 (MIDDLE - CORRECTION_OMIDS) (CAP * 0.7 - O)
|
||||
archv
|
||||
flat.ai (SB + O) (XH - SMALLSMOOTHA)
|
||||
curl.ai (SB + O) SMALLSMOOTHB
|
||||
flat.ai (SB + OX) (XH - SMALLSMOOTHA)
|
||||
curl.ai (SB + OX) SMALLSMOOTHB
|
||||
arcvh
|
||||
g4 (MIDDLE + CORRECTION_OMIDS) O
|
||||
archv
|
||||
flat (RIGHTSB - O) SMALLSMOOTHA
|
||||
curl (RIGHTSB - O) (XH - SMALLSMOOTHB)
|
||||
flat (RIGHTSB - OX) SMALLSMOOTHA
|
||||
curl (RIGHTSB - OX) (XH - SMALLSMOOTHB)
|
||||
quadcontrols 0 0.8
|
||||
g4 (SB + STROKE * 1.1) CAP
|
||||
|
||||
|
@ -379,7 +389,7 @@ define [CyrTseShape top] : glyph-construction
|
|||
include : VBarLeft SB 0 top
|
||||
include : HBarBottom SB RIGHTSB 0
|
||||
include : VBarRight RIGHTSB 0 top
|
||||
include : VBarRight [mix SB RIGHTSB 1.05] (HALFSTROKE - LONGJUT) STROKE
|
||||
include : CyrDescender RIGHTSB 0.05
|
||||
if SLAB : begin
|
||||
include : AIVSerifs top
|
||||
include : LeftwardBottomSerif SB 0 SIDEJUT
|
||||
|
@ -396,7 +406,7 @@ create-glyph 'cyrtse.italic' : glyph-construction
|
|||
include eMarks
|
||||
include glyphs.u
|
||||
eject-contour 'serifLT'
|
||||
include : VBarRight [mix SB RIGHTSB 1.05] (HALFSTROKE - LONGJUT) STROKE
|
||||
include : CyrDescender RIGHTSB 0.05
|
||||
italic-variant 'cyrtse' 0x446
|
||||
|
||||
define [CyrCheShape top _barp] : glyph-construction
|
||||
|
@ -448,7 +458,7 @@ italic-variant 'cyrsha' 0x448
|
|||
define [CyrShchaShape top] : glyph-construction
|
||||
include : CyrShaShape top
|
||||
eject-contour 'serifRB'
|
||||
include : VBarRight [mix SB RIGHTSB 1.05] (HALFSTROKE - LONGJUT) STROKE
|
||||
include : CyrDescender RIGHTSB 0.05
|
||||
|
||||
create-glyph 'cyrShcha' : glyph-construction
|
||||
assign-unicode 0x429
|
||||
|
@ -462,7 +472,7 @@ create-glyph 'cyrshcha.italic' : glyph-construction
|
|||
include eMarks
|
||||
include glyphs.'cyrsha.italic'
|
||||
eject-contour 'serifLT'
|
||||
include : VBarRight [mix SB RIGHTSB 1.05] (HALFSTROKE - LONGJUT) STROKE
|
||||
include : CyrDescender RIGHTSB 0.05
|
||||
italic-variant 'cyrshcha' 0x449
|
||||
|
||||
define [CyrYerShape top] : glyph-construction
|
||||
|
|
|
@ -31,7 +31,7 @@ create-glyph 'cyrdzhe' : glyph-construction
|
|||
define [CyrLjeShape top] : glyph-construction
|
||||
local xlefttop : mix SB RIGHTSB 0.075
|
||||
local jut : JUT * 0.72
|
||||
include : LegShape xlefttop [mix SB RIGHTSB 0.025] [mix SB 0 [if SLAB 0.25 0.5]] top 0 MVERTSTROKE
|
||||
include : LegShape xlefttop [mix SB RIGHTSB 0.025] [mix SB 0 [if SLAB 0.75 0.5]] top 0 MVERTSTROKE
|
||||
include : CyrYeriShape top (MIDDLE - MVERTSTROKE / 2 * CORRECTION_HX) (RIGHTSB - O) MVERTSTROKE jut
|
||||
include : HBarTop xlefttop MIDDLE top
|
||||
if SLAB : begin
|
||||
|
@ -139,4 +139,18 @@ alias 'cyrUe' 0x4AE 'Y'
|
|||
alias 'cyrQa' 0x51A 'Q'
|
||||
alias 'cyrqa' 0x51B 'q'
|
||||
alias 'cyrWe' 0x51C 'W'
|
||||
alias 'cyrwe' 0x51D 'w'
|
||||
alias 'cyrwe' 0x51D 'w'
|
||||
|
||||
|
||||
composite nothing 0x4A2 { glyphs.cyrEn [CyrDescender RIGHTSB] }
|
||||
composite nothing 0x4A3 { glyphs.cyren [CyrDescender RIGHTSB] }
|
||||
composite nothing 0x4B2 { glyphs.cyrHa [CyrDescender RIGHTSB] }
|
||||
composite nothing 0x4B3 { glyphs.cyrha [CyrDescender RIGHTSB] }
|
||||
composite nothing 0x4B6 { glyphs.cyrChe [CyrDescender RIGHTSB] }
|
||||
composite nothing 0x4B7 { glyphs.cyrche [CyrDescender RIGHTSB] }
|
||||
composite nothing 0x49A { glyphs.cyrKa [CyrDescender (RIGHTSB - O)] }
|
||||
composite nothing 0x49B { glyphs.cyrka [CyrDescender (RIGHTSB - O)] }
|
||||
composite nothing 0x4AC { glyphs.cyrTe [CyrDescender (MIDDLE + HALFSTROKE * CORRECTION_HX)] ifMarks}
|
||||
composite nothing 0x4AD { glyphs.cyrte [CyrDescender (MIDDLE + HALFSTROKE * CORRECTION_HX)] pMarks}
|
||||
composite nothing 0x496 { glyphs.cyrZhe [CyrDescender (RIGHTSB - O * 4)] }
|
||||
composite nothing 0x497 { glyphs.cyrzhe [CyrDescender (RIGHTSB - O * 4)] }
|
|
@ -215,20 +215,21 @@ create-glyph 'alpha' : glyph-construction
|
|||
assign-unicode 0x3B1
|
||||
include eMarks
|
||||
|
||||
local middle : mix SB RIGHTSB 0.5
|
||||
local middle : mix SB RIGHTSB 0.42
|
||||
local fine : adviceBlackness 3.25
|
||||
local k1 0.25
|
||||
local k2 0.5
|
||||
local k3 0.35
|
||||
include : dispiro
|
||||
widths.rhs fine
|
||||
g4 (RIGHTSB - OX * 1.5) XH [heading DOWNWARD]
|
||||
g4 (RIGHTSB - OX * 1.75) XH [heading DOWNWARD]
|
||||
bezcontrols k1 k2 k3 1 6
|
||||
g4 (middle + CORRECTION_OMIDS) O [widths 0 STROKE]
|
||||
g4 (SB + OX) SMALLSMOOTHB unimportant
|
||||
g4 (SB + OX - (RIGHTSB - SB) * 0.006) [mix SMALLSMOOTHB (XH - SMALLSMOOTHA) 0.5]
|
||||
g4 (SB + OX) (XH - SMALLSMOOTHA) unimportant
|
||||
g4 (middle - CORRECTION_OMIDS) XO [widths 0 STROKE]
|
||||
g4.left.mid (middle + CORRECTION_OMIDS) O [widths 0 STROKE]
|
||||
archv
|
||||
flat.ai (SB + OX) SMALLSMOOTHB
|
||||
curl.ai (SB + OX) (XH - SMALLSMOOTHA)
|
||||
arcvh
|
||||
g4.right.mid (middle - CORRECTION_OMIDS) XO [widths 0 STROKE]
|
||||
bezcontrols (1 - k3) 0 (1 - k1) (1 - k2) 6
|
||||
g4 (RIGHTSB - OX * 2) 0 [widths.heading 0 fine DOWNWARD]
|
||||
|
||||
|
|
|
@ -427,8 +427,8 @@ select-variant 'I' 'I' 'serifed'
|
|||
|
||||
define [TShape top] : glyph-construction
|
||||
include : VBar MIDDLE 0 top
|
||||
local l : SB + OX
|
||||
local r : RIGHTSB - OX
|
||||
local l : SB + OXE
|
||||
local r : RIGHTSB - OXE
|
||||
include : HBarTop l r top
|
||||
if SLAB : begin
|
||||
include : DownwardRightSerif r top VJUT MVERTSTROKE
|
||||
|
@ -520,7 +520,7 @@ create-glyph 'J.serifed' : glyph-construction
|
|||
select-variant 'J' 'J' 'serifed'
|
||||
|
||||
### M N
|
||||
define [NShape top left right coward diagcoward] : glyph-construction
|
||||
define [NShape top left right coward diagcoward xn] : glyph-construction
|
||||
local topstroke : adviceBlackness [fallback diagcoward 4]
|
||||
local stroke : adviceBlackness [fallback coward 1]
|
||||
local halftopstroke : topstroke / 2
|
||||
|
@ -536,7 +536,7 @@ define [NShape top left right coward diagcoward] : glyph-construction
|
|||
include : dispiro
|
||||
flat (left + halftopstroke) top [widths.heading topstroke 0 DOWNWARD]
|
||||
curl (right - halftopstroke) 0 [widths.heading 0 topstroke DOWNWARD]
|
||||
include : AINSerifs top left right
|
||||
include : AINSerifs top left right stroke xn
|
||||
|
||||
create-glyph 'N' : glyph-construction
|
||||
set-width WIDTH
|
||||
|
|
|
@ -75,7 +75,7 @@ create-glyph 'numero' : glyph-construction
|
|||
assign-unicode 0x2116
|
||||
local fine : adviceBlackness 4.5
|
||||
include : smallo XH (fine * 2) (MIDDLE + fine / 2) [mix RIGHTSB WIDTH 0.5] fine (SMOOTHA * fine / STROKE) (SMOOTHB * fine / STROKE)
|
||||
include : NShape CAP (SB / 2) MIDDLE 4.5 5.5
|
||||
include : NShape CAP (SB / 2) MIDDLE 4.5 5.5 0.7
|
||||
include : HBarBottom (MIDDLE + fine / 2) [mix RIGHTSB WIDTH 0.5] 0 fine
|
||||
|
||||
alias 'Ohm' 0x2126 'Omega'
|
||||
|
|
|
@ -71,8 +71,8 @@ create-glyph 'partial' : glyph-construction
|
|||
include : smallo (CAP * 0.65) 0 SB RIGHTSB OPERATORSTROKE
|
||||
include : dispiro
|
||||
widths.lhs OPERATORSTROKE
|
||||
flat (RIGHTSB - O) SMALLSMOOTHA
|
||||
curl (RIGHTSB - O) (XH - SMALLSMOOTHB)
|
||||
flat (RIGHTSB - OX) SMALLSMOOTHA
|
||||
curl (RIGHTSB - OX) (XH - SMALLSMOOTHB)
|
||||
hookend CAPO 0.6
|
||||
g4 [mix SB RIGHTSB 0.075] [mix XH CAP 0.8]
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[iosevka]
|
||||
family = 'Iosevka'
|
||||
version = '1.0-beta9'
|
||||
codename = 'Tshai-Lieng'
|
||||
version = '1.0'
|
||||
codename = 'Tabris'
|
||||
copyright = 'Copyright (c) 2015 Belleve Invis.'
|
||||
licence = '''This font software is licenced under the SIL Open Font Licence, Version 1.1. This is licence is avaliable with a FAQ at: http://scripts.sil.org/OFL. This font software is distributes on an 'AS IS' basis, without warranties or conditions of any kind, either express or implied. See the SIL Open Font licence fot the specific language, premissions and limitations governing your use of this font software.'''
|
||||
|
||||
|
@ -143,19 +143,25 @@ sbalance = 0.53
|
|||
|
||||
[x-slab-regular]
|
||||
style = 'Regular'
|
||||
sb = 65
|
||||
sb = 70
|
||||
rbalance = 60
|
||||
|
||||
[x-slab-bold]
|
||||
style = 'Bold'
|
||||
sb = 55
|
||||
rbalance = 80
|
||||
|
||||
[x-slab-italic]
|
||||
style = 'Italic'
|
||||
sb = 65
|
||||
sb = 70
|
||||
rbalance = 60
|
||||
|
||||
[x-slab-bolditalic]
|
||||
style = 'Bold Italic'
|
||||
ebalance = 0.375
|
||||
sbalance = 0.53
|
||||
sb = 55
|
||||
rbalance = 80
|
||||
|
||||
# Variants
|
||||
[v-l-hooky.variantSelector]
|
||||
|
|
Loading…
Reference in New Issue
Block a user