diff --git a/README.md b/README.md index 917f184..eed0cdf 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Iosevka ![Version](https://img.shields.io/github/release/be5invis/Iosevka.svg) [![Donate](https://img.shields.io/badge/donate-alipay-orange.svg)](http://7xpe0v.com1.z0.glb.clouddn.com/aeqr9bewtqtvpkpl18.png) +# Iosevka ![Version](https://img.shields.io/github/release/be5invis/Iosevka.svg) [![Donate](https://img.shields.io/badge/donate-alipay-orange.svg)](http://7xpdnl.dl1.z0.glb.clouddn.com/T1v4huXnleXXXXXXXX.png) Coders' typeface, built from code. //[→ Inziu Iosevka for Chinese and Japanese.](http://be5invis.github.io/Iosevka/inziu.html) @@ -66,7 +66,7 @@ Iosevka comes with several visual styles, however they are inactive using the de * `STYLE_COMMON` for both uprights and italics, * `STYLE_UPRIGHT` for upright and oblique, and -* `STYLE_ITALICS` for itaics only. +* `STYLE_ITALIC` for itaics only. You can add arbitary styles for these variables, for example, `make STYLE_UPRIGHT='v-l-zshaped v-i-zshaped'` to create a variant with Z-shaped letter `l` and `i` for uprights. @@ -111,6 +111,9 @@ The current avaliable styles are: ## Release Notes +* **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** diff --git a/emptyfont.toml b/emptyfont.toml index 0abc432..bcb9c7d 100644 --- a/emptyfont.toml +++ b/emptyfont.toml @@ -5,7 +5,6 @@ glyf = [] [head] checkSumAdjustment = 369537602 -created = "2014-12-06T22:05:19.000Z" flags = 11 fontDirectionHint = 2 fontRevision = 1 @@ -14,7 +13,8 @@ indexToLocFormat = 0 lowestRecPPEM = 8 macStyle = 0 magickNumber = 1594834165 -modified = "2014-12-06T22:20:03.000Z" +created = 3562553439 +modified = 3562553439 unitsPerEm = 1000 version = 1 xMax = 306 diff --git a/glyphs/autobuilds.ptl b/glyphs/autobuilds.ptl index 4a4e228..9dabed6 100644 --- a/glyphs/autobuilds.ptl +++ b/glyphs/autobuilds.ptl @@ -3,6 +3,7 @@ $$include '../meta/macros.ptl' import 'unorm' as unorm import [mix linreg clamp fallback suggestGC] from '../support/utils' +import [designParameters] from '../meta/aesthetics' define customDecompositions : object # Latvians use comma instead of cedillas in several letters. @@ -748,8 +749,8 @@ export : define [apply] : begin define [createLigatures shrink1 shrink2 wadj1 wadj2 records] : if [not recursive] : begin local pendingGlyphs1 : records.map : [record] => record.1 local pendingGlyphs2 : records.map : [record] => record.2 - local df1 : Thinner pendingGlyphs1 shrink1 - local df2 : Thinner pendingGlyphs2 shrink2 + local df1 : Thinner pendingGlyphs1 [if (para.spacing == 3) 1 shrink1] + local df2 : Thinner pendingGlyphs2 [if (para.spacing == 3) 1 shrink2] foreach [{unicode c1 c2 mark} : items-of records] : begin local glyphName "\(c1)_\(c2)" @@ -757,22 +758,29 @@ export : define [apply] : begin local j 2 while glyphs.(glyphName + j) : inc j set glyphName (glyphName + j) - - local kern : SB * 7/8 * (shrink1 + shrink2) - local refw : WIDTH * (shrink1 * wadj1 + shrink2 * wadj2) - kern - sketch - include df2.(c2) - include : Translate (WIDTH * shrink1 * wadj1 - kern) 0 - include df1.(c1) - include : Translate (-WIDTH * shrink1 * (1 - wadj1) / 2) 0 - include : Upright - include : Translate (-refw / 2) 0 - include : Scale ((WIDTH - SB * 1.25) / (WIDTH - SB * 2) * WIDTH / refw) 1 - include : Translate (WIDTH / 2) 0 - include : Italify - - if mark : include mark - save glyphName unicode + if (para.spacing == 3) : begin + sketch + include df2.(c2) + include : Translate WIDTH 0 + include df1.(c1) + set-width FULLWIDTH + save glyphName unicode + : else + local kern : SB * 7/8 * (shrink1 + shrink2) + local refw : WIDTH * (shrink1 * wadj1 + shrink2 * wadj2) - kern + sketch + include df2.(c2) + include : Translate (WIDTH * shrink1 * wadj1 - kern) 0 + include df1.(c1) + include : Translate (-WIDTH * shrink1 * (1 - wadj1) / 2) 0 + include : Upright + include : Translate (-refw / 2) 0 + include : Scale ((WIDTH - SB * 1.25) / (WIDTH - SB * 2) * WIDTH / refw) 1 + include : Translate (WIDTH / 2) 0 + include : Italify + + if mark : include mark + save glyphName unicode createLigatures stdShrink stdShrink 1 1 : list list 0x1C4 'D' 'Zcaron' diff --git a/glyphs/common-shapes.ptl b/glyphs/common-shapes.ptl index c6be0c8..f3c0f75 100644 --- a/glyphs/common-shapes.ptl +++ b/glyphs/common-shapes.ptl @@ -4,6 +4,7 @@ import '../support/transform' as : Transform && [object [transformPoint tp] [unt import '../support/fairify' as fairify import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry diff --git a/glyphs/letters-unified-basic.ptl b/glyphs/letters-unified-basic.ptl index de49708..8bb3665 100644 --- a/glyphs/letters-unified-basic.ptl +++ b/glyphs/letters-unified-basic.ptl @@ -6,6 +6,7 @@ $$include '../meta/macros.ptl' import '../support/transform' as : Transform && [object [transformPoint tp] [untransform utp] inverse] import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks diff --git a/glyphs/letters-unified-extended.ptl b/glyphs/letters-unified-extended.ptl index fdba3e4..d998997 100644 --- a/glyphs/letters-unified-extended.ptl +++ b/glyphs/letters-unified-extended.ptl @@ -1,6 +1,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks letterBasic diff --git a/glyphs/numbers.ptl b/glyphs/numbers.ptl index 0a7458d..f920f83 100644 --- a/glyphs/numbers.ptl +++ b/glyphs/numbers.ptl @@ -1,6 +1,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' ###### NUMBERS export : define [apply] : begin diff --git a/glyphs/overmarks.ptl b/glyphs/overmarks.ptl index c4cfc97..6b5fa24 100644 --- a/glyphs/overmarks.ptl +++ b/glyphs/overmarks.ptl @@ -1,6 +1,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes diff --git a/glyphs/symbol-braille.ptl b/glyphs/symbol-braille.ptl index eb39134..9b785a1 100755 --- a/glyphs/symbol-braille.ptl +++ b/glyphs/symbol-braille.ptl @@ -2,6 +2,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks diff --git a/glyphs/symbol-geometric.ptl b/glyphs/symbol-geometric.ptl index 3209d85..808e8ea 100644 --- a/glyphs/symbol-geometric.ptl +++ b/glyphs/symbol-geometric.ptl @@ -3,6 +3,7 @@ $$include '../meta/macros.ptl' import '../support/transform' as : Transform && [object [transformPoint tp] [untransform utp] inverse] import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks diff --git a/glyphs/symbol-letter.ptl b/glyphs/symbol-letter.ptl index e319d93..e06c577 100644 --- a/glyphs/symbol-letter.ptl +++ b/glyphs/symbol-letter.ptl @@ -3,6 +3,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks letterBasic diff --git a/glyphs/symbol-math.ptl b/glyphs/symbol-math.ptl index c58866b..856c135 100644 --- a/glyphs/symbol-math.ptl +++ b/glyphs/symbol-math.ptl @@ -2,6 +2,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks letterBasic letterExt @@ -102,8 +103,8 @@ export : define [apply] : begin include glyphs.plus save 'plusminus' 0xB1 turned 'minusplus' 0x2213 'plusminus' MIDDLE parenMid - local equalHalfSpace : (parenTop - parenBot) * 0.11 - + + local equalHalfSpace : (parenTop - parenBot) * designParameters.equal_wideness sketch # equal include : HBar SB RIGHTSB (parenMid + equalHalfSpace) OPERATORSTROKE include : HBar SB RIGHTSB (parenMid - equalHalfSpace) OPERATORSTROKE diff --git a/glyphs/symbol-other.ptl b/glyphs/symbol-other.ptl index cafcfe0..7c1cff2 100644 --- a/glyphs/symbol-other.ptl +++ b/glyphs/symbol-other.ptl @@ -2,6 +2,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks geometricSymbols @@ -322,9 +323,11 @@ export : define [apply] : begin save ('lighyphen.' + subclass) # => - local dblarrowd : XH * [linreg 18 0.15 126 0.275 STROKE] - local sw : Math.min OPERATORSTROKE (dblarrowd * [clamp 0.45 0.75 ((1 - WHITENESS) * 1)]) - local dblextend [clamp 0 WIDTH (RIGHTSB - (dblarrowd - sw / 2) * arrowheadSlope)] + # local dblarrowd : XH * [linreg 18 0.15 126 0.275 STROKE] + # local sw : Math.min OPERATORSTROKE (dblarrowd * [clamp 0.45 0.75 ((1 - WHITENESS) * 1)]) + local sw OPERATORSTROKE + local dblarrowd ((parenTop - parenBot) * designParameters.equal_wideness + sw / 2) + local dblextend : clamp 0 WIDTH (RIGHTSB - (dblarrowd - sw / 2) * arrowheadSlope) local dblarrowj : clamp 0 WIDTH (SB + (dblarrowd - sw / 2) * arrowheadSlope) foreach [{subclass left right} : items-of [ArrowBarConfig dblextend arrowheadsKern dblarrowj]] : sketch include : HBarTop left right (parenMid + dblarrowd) sw diff --git a/glyphs/symbol-punctuation.ptl b/glyphs/symbol-punctuation.ptl index f463ea5..283ca92 100644 --- a/glyphs/symbol-punctuation.ptl +++ b/glyphs/symbol-punctuation.ptl @@ -2,6 +2,7 @@ $$include '../meta/macros.ptl' import [mix linreg clamp fallback] from '../support/utils' +import [designParameters] from '../meta/aesthetics' export : define [apply] : begin glyph-module-entry commonShapes overmarks letterBasic @@ -427,11 +428,12 @@ export : define [apply] : begin save 'slash' '/' sketch # backslash - local cor : HVCONTRAST / [Math.sqrt (1 - [Math.pow ((RIGHTSB - SB - STROKE) / (parenTop - parenBot)) 2])] - start-from SB parenTop - line-to (SB + STROKE * cor) parenTop - line-to RIGHTSB parenBot - line-to (RIGHTSB - STROKE * cor) parenBot + local width : (RIGHTSB - SB) * (1 + TANSLANT * 2) + local cor : HVCONTRAST / [Math.sqrt (1 - [Math.pow ((width - STROKE) / (parenTop - parenBot)) 2])] + start-from (MIDDLE - width / 2) parenTop + line-to (MIDDLE - width / 2 + STROKE * cor) parenTop + line-to (MIDDLE + width / 2) parenBot + line-to (MIDDLE + width / 2 - STROKE * cor) parenBot reverse-last save 'backslash' "\\" alias 'solidus' 0x2044 'slash' diff --git a/images/download-options.png b/images/download-options.png index 051e746..bcd91c8 100644 Binary files a/images/download-options.png and b/images/download-options.png differ diff --git a/images/family.png b/images/family.png index a591af2..847cafc 100644 Binary files a/images/family.png and b/images/family.png differ diff --git a/images/languages.png b/images/languages.png index 5836b2c..d710917 100644 Binary files a/images/languages.png and b/images/languages.png differ diff --git a/images/ligations.png b/images/ligations.png index a116989..3aa9457 100644 Binary files a/images/ligations.png and b/images/ligations.png differ diff --git a/images/matrix.png b/images/matrix.png index 9334224..9a48f90 100644 Binary files a/images/matrix.png and b/images/matrix.png differ diff --git a/images/opentype.png b/images/opentype.png index a9c9647..07c421d 100644 Binary files a/images/opentype.png and b/images/opentype.png differ diff --git a/images/preview-all.png b/images/preview-all.png index 88da70a..987199d 100644 Binary files a/images/preview-all.png and b/images/preview-all.png differ diff --git a/images/variants.png b/images/variants.png index a90da75..f4f0205 100644 Binary files a/images/variants.png and b/images/variants.png differ diff --git a/images/weights.png b/images/weights.png index 8155c8b..5201179 100644 Binary files a/images/weights.png and b/images/weights.png differ diff --git a/meta/aesthetics.ptl b/meta/aesthetics.ptl index df31b9e..8873d78 100644 --- a/meta/aesthetics.ptl +++ b/meta/aesthetics.ptl @@ -173,4 +173,7 @@ export : define [setFontMetrics para metrics font] : begin set font.OS_2.sxHeight XH set font.OS_2.sCapHeight CAP - set font.post.italicAngle (0 - para.slantAngle) \ No newline at end of file + set font.post.italicAngle (0 - para.slantAngle) + +export : define designParameters : object + equal_wideness 0.1 \ No newline at end of file diff --git a/parameters.toml b/parameters.toml index 4be8367..c8ca585 100644 --- a/parameters.toml +++ b/parameters.toml @@ -1,6 +1,6 @@ [iosevka] family = 'Iosevka' -version = '1.9.5' +version = '1.9.6' codename = 'Ingrid' 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.'''