fixed /alpha, /de and /partial. 1.0 will be soon.

This commit is contained in:
be5invis 2015-11-22 18:29:03 +08:00
parent c45943546e
commit 56d28e82fc
10 changed files with 96 additions and 60 deletions

View File

@ -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
![](https://cloud.githubusercontent.com/assets/240091/10895370/cc80f088-81ee-11e5-919b-a6daefdbc3f0.png)
![Styles Preview](https://cloud.githubusercontent.com/assets/240091/10895370/cc80f088-81ee-11e5-919b-a6daefdbc3f0.png)
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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)] }

View File

@ -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]

View File

@ -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

View File

@ -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'

View File

@ -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]

View File

@ -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]