This commit is contained in:
be5invis 2017-01-25 16:38:13 +08:00
parent ca4324449d
commit 24771216ad
14 changed files with 21 additions and 162 deletions

144
README.md
View File

@ -130,148 +130,4 @@ The current avaliable styles are:
* `v-brace-straight` : More straight braces.
* `v-brace-curly` : More curly braces (default).
## Release Notes
* **1.10.5**
- Added a Sulzbacher-style Eszet (`ß`), assigned to `cv35`/`v-eszet-sulzbacher`. The old, traditional Eszet is assigned to `cv34`/`v-eszet-traditional`.
- Made braces more curly. It is assigned to `cv37`/`v-brace-curly`. The old straight braces are assigned to `cv36`/`v-brace-straight`.
- Added several symbols.
- Fixed incorrect shapes of /capitalTurnm (`Ɯ`), /lrtail(`ɭ`) and /suplrtail (`ᶩ`).
* **1.10.4**
- Added feature tag for ML (`XML_`), Idris (`XIDR`), F# (`XFS_`), F\* (`XFST`), Elm (`XELM`), PureScript (`PURS`), Swift (`SWFT`) and Coq (`XV__`).
- Added ligation for `/\` and `\/`.
- Added arbitary-length ligations, like `***********>` or `<-------------`.
* **1.10.3**
- Improved ligations, including `<*>`, etc.
* **1.10.2**
- Complete APL Support.Optimize shape of overlay symbols.
* **1.10.1**
- Add APL symbols.
* **1.10.0**
- Added `cv29` and `cv30` for `^`.
- Added two new `@` glyphs, assigned to `cv32` and `cv33`, while the old `@` is assigned to `cv31`.
- Made `S` and `$` more distinctive.
* **1.9.6**
- Make the font conformal with MS FontVal.
- Make backslash less slant.
* **1.9.5**
- Fixed the bug that FireFox reject to display.
* **1.9.4**
- Add two styles of `l`.
* **1.9.3**
- Minor symbol additions.
* **1.9.2**
- Added short-legged `m` (assigned to `cv26`).
* **1.9.1**
- Added /latinayin.
- Added more symbols.
* **1.9.0**
- Added open double-storey `g` (assigned to `cv24`).
- Redesigned single-storey `a`.
- Reassigned the `ss**` styles. Now they are designed to simulate existing fonts.
* **1.8.6**
- Added Bulgarian and Macedonian Cyrillic variants
- Added ligations about colons
* **1.8.5**
- Added `XHS_` and `XPTL` feature tags for Language-Specific ligations.
- Added `/bolt`, `/blackflag`, `/circlestar` and `/heavyballotcross` symbols.
* **1.8.4**
- Added `opbd` feature for punctuation compression.
* **1.8.3**
- Added Kome symbol (`※`).
- Reorganized pre-built release packages. The “IosevkaNL” is renamed to “Iosevka Term”.
* **1.8.2**
- Iosevka now provides a new variant family “IosevkaNL”, with ligation disabled to avoid typesetting issues under some Linux environments.
* **1.8.1**
- Added more ligations.
- Fixed the incorrectly-sized symbol `∞` in the CC variants.
* **1.8.0**
- Added a lower paragraph symbol (`¶`) shape, and two OpenType features (`cv22` and `cv23`) to enable them.
- Most mathematical operators, like `≤`, will be full-width in the CC variants.
- Added experimental ligatures support. Currently the ligatures are assigned to feature “`calt`” and contains these figures only: `-> --> <- <-- <-> <!--` . Note that Iosevka does not contain "real" ligature glyphs, these figures are implemented using chained substitution and long dashes.
* **1.7.5**
- Reduced the weight of Bold, and increased the size of periods of Medium.
* **1.7.4**
- The lower tilde (`~`) is used by default.
- Added slanted inequality symbol (U+2A7D and U+2A7E) and corrected the shape of `≤` and `≥`.
* **1.7.3**
- Optimize the shapes of three-like glyphs, including `3`, `ε` and `з`.
* **1.7.2**
- Entallen upright letter `f`.
- Reverted shape of `π` to the 1.3.x.
- Added `Ѧ` and `Ѫ`.
* **1.7.1**
- Fixed incorrect outline of braced glyphs under heavy weights.
* **1.7.0**
- Added more tie marks and combining marks.
- Fixed the incorrect weights created by `[turned]` and `[composite]`.
* **1.6.3**
- Fixed the missing vertical stroke of `¬`.
- Fixed the dot position of `ij`.
- Added several combining marks : `o͐`, `o͚`, etc.
- Redesigned the tilde `~` for better consistency.
* **1.6.2**
- Added braced letters and numbers, like `⑴` and `⒜`.
- Added several Greek letterforms, including `Ϸ` and `ϸ`.
- Rebuild the script into [sketch]es.
* **1.6.1**
- Added `ꭤ` U+AB64, `Ɑ` U+2C6D, `Ɒ` U+2C70, `ꬰ` U+AB30, etc.
* **1.6.0**
- Fixed the broken `Æ` at thin weights.
- Increased the length of the bottom serif in `T`.
- Made `Ђ` and `Ћ` wider to balance Cyrillic letters.
* **1.5.5**
- Adjusted the outlines of `f`, `2` and `&`, as well as full-width symbol `~`.
* **1.5.4**
- Fixed the distortion of letter `s` under several situations, for example, full-width.
* **1.5.3**
- Fixed the slanted bottom tip of `y` in Slab oblique.
* **1.5.2**
- Told OS X not to increase line height for bold weights.
- Pushed the `i` and `l` undef hooky variants rightward slightly.
* **1.5.1**
- Added `cv20` and `cv21` for underscore variants (https://github.com/be5invis/Iosevka/pull/44)
- Reorganized `ss01`, `ss02` and `ss03`. The less-frequent style (`cv04` and `cv08`) is moved to `ss03`, while `ss01` is for hooky shapes.
* **1.5.0**
- The new "fairizer" now replaces FontForge's outline simplification. It will create smooth and fair outline curves now.
- Introduced centered asterisk (`*`) and tilde (`~`). They can be enabled by OpenType features `ss10`.
- `cv**` and `ss**` features introduced in 1.4.0 now supports accented letters.
* **1.4.3**
- Added the "oblique" variant.
- Corrected the stroke width in italic variants. It will reduce the file size of italics and improve its outline quality.
* **1.4.2**
- The shape of lowercase `y` is improved. Its slab version is redesigned.
- Rebalanced italic `l` and `i`.
- Enwiden `/t`.
* **1.4.1**
- Fixed the incorrectly-shaped `/nine` in the thin variant.
- Fixed the broken serif of `/yhooktop`.
* **1.4.0**
- Added five new weights: *thin*, *extralight*, *light*, *medium* and *heavy*.
- Shape optimizations for MANY letters, including `/s`, `/r`, `/a`, `/beta`, `/cyryeri` and their derived characters.
* **1.3.0**
- Shape optimizations: `/f`, `/r`, `/a`, `/s`, `/epsilon`, `/cyrze` and their derived glyphs.
- Narrowed slab-serif variants.
- Added `/overlineTieAbove`, `/underlineTieBelow` and `/turnTieAbove`.
* **1.2.0**
- Glyphs added: `/cyrGhayn`, `/cyrghayn`, `/cyrChevbar`, `/cyrchevbar`, `/turnoe`, `/voicedlaryngenalspirant`, `/oupperhalf`, `/olowerhalf` and their derived glyphs.
- Shape optimization: `/eight`, `/propto`, `/J`, `/j`, `/epsilon`, `/cyrze`, `/taillessphi`, `/smcpPsi` and their derived glyphs.
- Added the missing marks of `/longs`.
- Introduced a new SVG-based outline exporting mechanism. Now I am finally free from the rounding nightmare.
* **1.1.2**
- Improved the balancing of `/longs`, `/f` and `/eszet`.
- The strokes of `/A`, `/V` and `/v` in Iosevka Slab is straightened.
* **1.1.1**
- Added the missing serifs for `/cyrdzhe`.
- Balanced `/pi` in bold weights.
- Moved the descender lines of Cyrillic letters rightward a little in italics.
* **1.1.0**
- Enwiden the boldfaces. This will improve the consistency between regular and bold weights.
- The curves in `/xi` are optimized.
* **1.0.2**
- Fixed the incorrect `/yhooktop`.
- The digaphs defined in Unicode is now single-width.
- Reorganized subfamilies: Now the default Iosevka does not contain full-width glyphs any more.
![Family Matrix](https://raw.githubusercontent.com/be5invis/Iosevka/master/images/matrix.png)

View File

@ -81,33 +81,35 @@ export : define [apply] : begin
apply-transform : Translate 0 (spacing / 2)
apply-transform : Italify
# Full-width derivatives
define [fwl newid unicode id] : create-glyph [fallback newid : 'fwl' + id] : glyph-construction
define [fwl newid unicode id shift] : create-glyph [fallback newid : 'fwl' + id] : glyph-construction
if unicode : assign-unicode unicode
include glyphs.(id)
set-width FULLWIDTH
apply-transform : Translate [fallback shift 0] 0
define [fwr newid unicode id] : create-glyph [fallback newid : 'fwr' + id] : glyph-construction
define [fwr newid unicode id shift] : create-glyph [fallback newid : 'fwr' + id] : glyph-construction
if unicode : assign-unicode unicode
include glyphs.(id)
set-width FULLWIDTH
apply-transform : Translate (FULLWIDTH - WIDTH) 0
apply-transform : Translate (FULLWIDTH - WIDTH + [fallback shift 0]) 0
define [dwl newid unicode id] : create-glyph [fallback newid : 'dwl' + id] : glyph-construction
define [dwl newid unicode id shift] : create-glyph [fallback newid : 'dwl' + id] : glyph-construction
if unicode : assign-unicode unicode
include glyphs.(id)
set-width UPM
apply-transform : Translate [fallback shift 0] 0
define [dwr newid unicode id] : create-glyph [fallback newid : 'dwr' + id] : glyph-construction
define [dwr newid unicode id shift] : create-glyph [fallback newid : 'dwr' + id] : glyph-construction
if unicode : assign-unicode unicode
include glyphs.(id)
set-width UPM
apply-transform : Translate (UPM - WIDTH) 0
apply-transform : Translate (UPM - WIDTH + [fallback shift 0]) 0
define [dwc newid unicode id] : create-glyph [fallback newid : 'dwc' + id] : glyph-construction
define [dwc newid unicode id shift] : create-glyph [fallback newid : 'dwc' + id] : glyph-construction
if unicode : assign-unicode unicode
include glyphs.(id)
set-width UPM
apply-transform : Translate ((UPM - WIDTH) / 2) 0
apply-transform : Translate ((UPM - WIDTH) / 2 + [fallback shift 0]) 0

View File

@ -49,9 +49,12 @@ export : define [apply] : begin
save 'parenRight' ')'
sketch # bracketLeft
include : HBarBottom [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] parenBot
include : HBarTop [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] parenTop
include : VBarLeft [mix SB RIGHTSB designParameters.bracketOutside] parenBot parenTop
local l : mix SB RIGHTSB designParameters.bracketOutside
local r : mix SB RIGHTSB designParameters.bracketInside
include : HBarBottom l r parenBot
include : HBarTop l r parenTop
include : VBarLeft l parenBot parenTop
save 'bracketLeft' '['
sketch # bracketRight
@ -954,8 +957,8 @@ export : define [apply] : begin
dwc nothing 0xFF1B 'semicolon'
dwl nothing 0xFF0C 'comma'
dwl nothing 0xFF0E 'period'
dwr nothing 0xFF08 'parenLeft'
dwl nothing 0xFF09 'parenRight'
dwr nothing 0xFF08 'parenLeft' (-WIDTH * 0.15)
dwl nothing 0xFF09 'parenRight' (WIDTH * 0.15)
local r : Math.max PERIODRADIUS (WIDTH * 0.225)
local ry : r * 0.25
@ -981,8 +984,6 @@ export : define [apply] : begin
branch
save 'cjkcomma' 0xFF64
local designParameters.bracketOutside 0.05
local designParameters.bracketInside 0.95
local cjkqd 0.75
local cjkqd2 0.97
local ideotop : para.ideoMid + (parenTop - parenMid)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 KiB

After

Width:  |  Height:  |  Size: 417 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 KiB

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 765 KiB

After

Width:  |  Height:  |  Size: 765 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 KiB

After

Width:  |  Height:  |  Size: 355 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 KiB

After

Width:  |  Height:  |  Size: 267 KiB

View File

@ -65,7 +65,7 @@ function createMake(mapping) {
let buf = "";
if (!definedBuildSeqs[tfname]) {
buf += `
${tfname} : $(SCRIPTS) ${custom || ''} | $(BUILD) $(DIST)/${dir}/
${tfname} : scripts ${custom || ''} | $(BUILD) $(DIST)/${dir}/
@echo Building ${filename} with ${hives.join(' ')}
$(GENERATE) ${hives.join(' ')} -o $@ ${cm ? ('--charmap $(BUILD)/'+filename+'.charmap') :''}`;
definedBuildSeqs[tfname] = true;

View File

@ -1,7 +1,7 @@
[iosevka]
family = 'Iosevka'
version = '1.10.5'
codename = 'Juno'
version = '1.11.0'
codename = 'Klaes'
copyright = 'Copyright (c) 2015-2016 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.'''
manufacturer = 'Belleve Invis'