diff --git a/README.md b/README.md index eed0cdf..a45ff6d 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,10 @@ The current avaliable styles are: ## Release Notes +* **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. diff --git a/emptyfont.toml b/emptyfont.toml index bcb9c7d..0e6ffd2 100644 --- a/emptyfont.toml +++ b/emptyfont.toml @@ -42,7 +42,7 @@ version = 1 xMaxExtent = 306 ["OS_2"] -achVendID = "PfEd" +achVendID = "CYEL" panose = [2, 0, 5, 9, 0, 0, 0, 0, 0, 0] fsSelection = 192 fsType = 0 diff --git a/glyphs/overmarks.ptl b/glyphs/overmarks.ptl index 6b5fa24..0f4fa66 100644 --- a/glyphs/overmarks.ptl +++ b/glyphs/overmarks.ptl @@ -151,7 +151,7 @@ export : define [apply] : begin include : dispiro flat (MIDDLE + markExtend * asciiMarkZoom + HALFSTROKE) ([mix (XH + ACCENT) aboveMarkBot asciiMarkZoom] + HALFSTROKE * 0.1) [widths.center : STROKE * 1.05] curl MIDDLE ([mix (XH + ACCENT) aboveMarkTop asciiMarkZoom] + HALFSTROKE * 0.5) [heading UPWARD] - save 'asciicaret' '^' + save 'asciicaret.high' sketch # caronAbove set-width 0 diff --git a/glyphs/symbol-letter.ptl b/glyphs/symbol-letter.ptl index e06c577..10fd211 100644 --- a/glyphs/symbol-letter.ptl +++ b/glyphs/symbol-letter.ptl @@ -22,15 +22,27 @@ export : define [apply] : begin save 'currency' 0xA4 sketch # dollar - include glyphs.S AS_BASE + include markset.capital + define top : CAP * 0.95 + define bot : CAP * 0.05 + define smooth : adviceSSmooth (top - bot) (-1) + include : dispiro + widths.lhs + g4 RIGHTSB (top - HOOK) + hookstart (top - O) + g4 SB (top - smooth) + alsothru 0.5 0.5 [widths (ESS / 2) (ESS / 2)] + g4 RIGHTSB (bot + smooth) [widths 0 STROKE] + hookend (bot + O) + g4 SB (bot + HOOK) include : dispiro widths.center - flat MIDDLE (CAP - HALFSTROKE) + flat MIDDLE (top - HALFSTROKE) curl MIDDLE (CAP - DESCENDER / 2) [heading UPWARD] include : dispiro widths.center flat MIDDLE (DESCENDER / 2) [heading UPWARD] - curl MIDDLE HALFSTROKE + curl MIDDLE (bot + HALFSTROKE) save 'dollar' '$' sketch # euro diff --git a/glyphs/symbol-punctuation.ptl b/glyphs/symbol-punctuation.ptl index 283ca92..f185fd1 100644 --- a/glyphs/symbol-punctuation.ptl +++ b/glyphs/symbol-punctuation.ptl @@ -308,7 +308,7 @@ export : define [apply] : begin g4.down.end [mix SB RIGHTSB r] 0 [widths.heading 0 fine DOWNWARD] save 'ampersand' '&' - sketch # at + sketch # at.long set-width WIDTH local top parenTop @@ -343,7 +343,104 @@ export : define [apply] : begin arcvh flat (MIDDLE + CORRECTION_OMIDS) (bot + O) [widths STROKE 0 ] curl (RIGHTSB - HALFSTROKE + TANSLANT * sw) (bot + O) - save 'at' '@' + save 'at.long' + + sketch # at.tight + set-width WIDTH + + local top parenTop + local bot parenBot + local otop : mix bot top 0.75 + local obot : mix top bot 0.8 + + local sw : adviceBlackness 4 + local swh : adviceBlackness 3.75 + local left : SB - sw * HVCONTRAST / 3 + local right : RIGHTSB + sw * HVCONTRAST / 3 + + local m1 : [mix (left + sw / 2) (right - sw / 2) (1 / 3)] - sw * HVCONTRAST / 2 + local m2 : [mix (left + sw / 2) (right - sw / 2) (2 / 3)] + sw * HVCONTRAST / 2 + + local sma : SMOOTHA * ((m2 - m1) / (RIGHTSB - SB) * 1.1) + local smb : SMOOTHB * ((m2 - m1) / (RIGHTSB - SB) * 1.1) + + include : dispiro + widths.lhs sw + flat m2 (obot - O) [heading UPWARD] + curl m2 (otop - smb) + arcvh + g4 (MIDDLE - CORRECTION_OMIDX * sw) (otop - O) + archv + flat m1 (otop - sma) + curl m1 (obot + smb) + arcvh + flat MIDDLE obot + curl (right - (m2 - m1) / 2) obot + archv + flat right (obot + sma) + curl right (top - SMOOTHB) + arcvh + g4 (MIDDLE - CORRECTION_OMIDS) (top - O) [widths swh 0] + archv + flat left (top - SMOOTHA) [widths sw 0] + curl left (bot + SMOOTHB) + arcvh + flat (MIDDLE + CORRECTION_OMIDS) (bot + O) [widths swh 0 ] + curl (right - HALFSTROKE + TANSLANT * sw) (bot + O) + save 'at.fourfold' + + sketch # at.petite + set-width WIDTH + + local top operTop + local obot operBot + local otop [mix obot top 0.675] + + local sw : adviceBlackness 3.5 + local m1 : [mix (SB + sw) (RIGHTSB - sw) 0.53] + sw / 2 + local m2 : [mix SB m1 0.5] + TANSLANT * sw + + local sma : SMOOTHA * ((m1 - SB) / (RIGHTSB - SB) * 1.1) + local smb : SMOOTHB * ((m1 - SB) / (RIGHTSB - SB) * 1.1) + + local shrink 0.6 + + include : dispiro + straight.up.start (m1 - (sw * (1 - shrink) * HVCONTRAST)) (otop - smb) [widths.heading (sw * shrink) 0 UPWARD] + arcvh + g4 (m2 - sw * TANSLANT) (otop - O) [widths.heading sw 0 LEFTWARD] + archv + flat SB (otop - sma) + curl SB (obot + smb) + arcvh + g4 (m2 - sw * TANSLANT) (obot + O) [heading RIGHTWARD] + archv + straight.up.end (m1 - (sw * (1 - shrink) * HVCONTRAST)) (obot + sma) [widths.heading (sw * shrink) 0 UPWARD] + + include : dispiro + widths.lhs sw + corner m1 (obot + sma) [heading UPWARD] + corner m1 (otop - smb) [heading UPWARD] + corner m1 otop [widths.heading (sw * shrink) 0 UPWARD] + + include : dispiro + widths.lhs (sw * shrink) + straight.down.start (m1 - sw * shrink * HVCONTRAST) (obot + sma) [heading DOWNWARD] + arcvh + g4 ([mix (m1 - sw * HVCONTRAST) RIGHTSB 0.5] + CORRECTION_OMIDX * sw) (obot + O) [widths.lhs sw] + archv + flat RIGHTSB (obot + sma) + curl RIGHTSB (top - SMOOTHB) + hookend (top - O) + g4 SB (top - HOOK) + + save 'at.short' + + select-variant 'at' '@' 'short' { + .cv31 'at.long' + .cv32 'at.fourfold' + .cv33 'at.short' + } sketch # paragraph set-width WIDTH @@ -786,6 +883,11 @@ export : define [apply] : begin .cv16 'asciitilde.high' .cv17 'asciitilde.low' } + composite 'asciicaret.low' glyphs.'asciicaret.high' [Upright] [Translate 0 (parenMid - XH - ACCENT)] [Italify] + select-variant 'asciicaret' '^' 'high' { + .cv29 'asciicaret.high' + .cv30 'asciicaret.low' + } composite 'degree' glyphs.space glyphs.ringAbove MarkZoom [into-unicode 0xB0] diff --git a/images/download-options.png b/images/download-options.png index bcd91c8..27f6dc2 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 847cafc..bcbb243 100644 Binary files a/images/family.png and b/images/family.png differ diff --git a/images/languages.png b/images/languages.png index d710917..2798908 100644 Binary files a/images/languages.png and b/images/languages.png differ diff --git a/images/ligations.png b/images/ligations.png index 3aa9457..1d3ce4b 100644 Binary files a/images/ligations.png and b/images/ligations.png differ diff --git a/images/matrix.png b/images/matrix.png index 9a48f90..35ec03c 100644 Binary files a/images/matrix.png and b/images/matrix.png differ diff --git a/images/opentype.png b/images/opentype.png index 07c421d..4010ab2 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 987199d..6fcabd6 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 f4f0205..106c84d 100644 Binary files a/images/variants.png and b/images/variants.png differ diff --git a/images/weights.png b/images/weights.png index 5201179..b609181 100644 Binary files a/images/weights.png and b/images/weights.png differ diff --git a/meta/features.ptl b/meta/features.ptl index f3cff95..4b1a9be 100644 --- a/meta/features.ptl +++ b/meta/features.ptl @@ -191,19 +191,24 @@ export : define [apply para glyphList] : begin if [not lookups.(ligationLookupName)] : set lookups.(ligationLookupName) .type 'gsub_chaining' .subtables : list + chain-rule less (stick ~> [lsx 'lc'] ) (stick ~> [lsx 'cc'] ) (stick ~> [lsx 'cc'] ) (stick ~> [lsx 'cr']) greater # <----> <=-==> + chain-rule less (stick ~> [lsx 'lc'] ) (stick ~> [lsx 'cc'] ) (stick ~> [lsx 'cr']) greater # <---> <===> chain-rule less (stick ~> [lsx 'lc'] ) (stick ~> [lsx 'cr']) greater # <--> <==> chain-rule less (stick ~> [lsx 'lr']) greater # <->, <=> chain-rule less (stick ~> [lsx 'lj']) less # <-<, <=< + chain-rule less (stick ~> [lsx 'lc']) (stick ~> [lsx 'cc']) (stick ~> [lsx 'cf']) # <---, <=== chain-rule less (stick ~> [lsx 'lc']) (stick ~> [lsx 'cf']) # <--, <== chain-rule less (less ~> [lsx 'shift1']) (stick ~> [lsx 'l1f']) # <<-, <<= :> only {'hask'} chain-rule less (hyphen ~> [lsx 'lf']) # <- + chain-rule less (exclam ~> [lsx 'htmlcommentstart']) (hyphen ~> [lsx 'lxc']) (hyphen ~> [lsx 'cc']) (hyphen ~> [lsx 'cf']) # , ===> chain-rule (stick ~> [lsx 'fc']) (stick ~> [lsx 'cr']) greater # -->, ==> chain-rule (stick ~> [lsx 'fr1']) (greater ~> [lsx 'shift1']) greater # ->>, =>> :> only {'hask'} diff --git a/parameters.toml b/parameters.toml index c8ca585..3cceb23 100644 --- a/parameters.toml +++ b/parameters.toml @@ -1,7 +1,7 @@ [iosevka] family = 'Iosevka' -version = '1.9.6' -codename = 'Ingrid' +version = '1.10.0' +codename = 'Juno' 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' @@ -78,26 +78,26 @@ powerlineShiftX = 0 # Horizontal shift [iosevka.variantSelector] [iosevka.sscompose.upright] -ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18'] # Andale Mono Style -ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19'] # Anonymous Pro Style -ss03 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv13', 'cv18'] # Consolas Style -ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19'] # Menlo Style -ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18'] # Fira Mono Style -ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18'] # Liberation Mono Style -ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18'] # Monaco Style -ss08 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv14', 'cv19'] # Pragmata Pro Style -ss09 = ['cv01', 'cv11', 'cv05', 'cv08', 'cv14', 'cv19'] # Source Code Pro Style +ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Andale Mono Style +ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Anonymous Pro Style +ss03 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Consolas Style +ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Menlo Style +ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33'] # Fira Mono Style +ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Liberation Mono Style +ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Monaco Style +ss08 = ['cv01', 'cv11', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Pragmata Pro Style +ss09 = ['cv01', 'cv11', 'cv05', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31'] # Source Code Pro Style [iosevka.sscompose.italic] -ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18'] # Andale Mono Style -ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19'] # Anonymous Pro Style -ss03 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv13', 'cv18'] # Consolas Style -ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19'] # Menlo Style -ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18'] # Fira Mono Style -ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18'] # Liberation Mono Style -ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18'] # Monaco Style -ss08 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv19'] # Pragmata Pro Style -ss09 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv14', 'cv19'] # Source Code Pro Style +ss01 = ['cv01', 'cv11', 'cv05', 'cv10', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Andale Mono Style +ss02 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv13', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Anonymous Pro Style +ss03 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv13', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv32'] # Consolas Style +ss04 = ['cv01', 'cv12', 'cv03', 'cv08', 'cv13', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Menlo Style +ss05 = ['cv01', 'cv24', 'cv03', 'cv08', 'cv14', 'cv18', 'cv21', 'cv22', 'cv25', 'cv29', 'cv33'] # Fira Mono Style +ss06 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Liberation Mono Style +ss07 = ['cv02', 'cv12', 'cv06', 'cv10', 'cv13', 'cv18', 'cv20', 'cv22', 'cv25', 'cv29', 'cv32'] # Monaco Style +ss08 = ['cv01', 'cv12', 'cv03', 'cv07', 'cv14', 'cv19', 'cv21', 'cv22', 'cv25', 'cv29', 'cv31'] # Pragmata Pro Style +ss09 = ['cv02', 'cv12', 'cv04', 'cv08', 'cv14', 'cv19', 'cv20', 'cv22', 'cv25', 'cv29', 'cv31'] # Source Code Pro Style [verbose] verbose = true @@ -600,3 +600,13 @@ paragraph = 'low' m = 'longleg' [v-m-shortleg.variantSelector] m = 'shortleg' +[v-caret-high.variantSelector] +asciicaret = 'high' +[v-caret-low.variantSelector] +asciicaret = 'low' +[v-at-long.variantSelector] +at = 'long' +[v-at-fourfold.variantSelector] +at = 'fourfold' +[v-at-short.variantSelector] +at = 'short' \ No newline at end of file diff --git a/snapshot/index.html b/snapshot/index.html index 20cf213..ef20243 100644 --- a/snapshot/index.html +++ b/snapshot/index.html @@ -28,73 +28,73 @@
-float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } -float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } -float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } -float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } -float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } -float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } -float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } +float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } +float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } +float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } +float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } +float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } +float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); } +float Fox.quick(h){ is_brown && it_jumps_over(doges.lazy); }
Feature Tags | Designed For | Sample | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
No Ligation | -<< -< <-- <<- <- -> ->> --> >- >>- <-> <--> <!-- -=<< =< <== <<= <= => =>> ==> >= >>= <=> <==> + |