diff --git a/changes/3.0.0-alpha.1.md b/changes/3.0.0-alpha.1.md deleted file mode 100644 index 5a979eb06..000000000 --- a/changes/3.0.0-alpha.1.md +++ /dev/null @@ -1,4 +0,0 @@ -* The letters `k`, `x`, `v`, `A`, etc. will now use straight legs by default. The “curly” families will keep the old shape. -* Note this is a parameter difference rather than variant. So there won’t be a `cv##` or `ss##` variant selector. -* Introduced a curly italic `k` with untagged variant `v-k-italic`. -* Introduced `ss12` OpenType tag for Ubuntu-Mono style as well as a prebuilt `SS12` family. diff --git a/changes/3.0.0-alpha.2.md b/changes/3.0.0-alpha.2.md deleted file mode 100644 index 2ffee9359..000000000 --- a/changes/3.0.0-alpha.2.md +++ /dev/null @@ -1,10 +0,0 @@ -* Extended width will be built automatically and integrate into existing families. -* Added more letter-like symbols: `⅋`, `ℂ`, `ℍ`, `ℙ`, `ℕ`, `ℚ`, `ℝ`, `ℤ`, `ℵ`, `ℶ`. -* Refine the height of brackets and symbols. -* Renamed various variant selectors: - * `v-m-longleg` → `v-m-normal` - * `v-one-hooky` → `v-one-nobase` - * `v-one-serifed` → `v-one-base` - * `v-seven-normal` → `v-seven-noserif` - * `v-seven-force-serifed` → `v-seven-serifed` -* Added `v-lig-ltgteq-flat` (`cv66`) and `v-lig-ltgteq-slanted` (`cv67`) to change the shape of `<=` and `>=` ligation. diff --git a/changes/3.0.0-alpha.3.md b/changes/3.0.0-alpha.3.md deleted file mode 100644 index 28759ce80..000000000 --- a/changes/3.0.0-alpha.3.md +++ /dev/null @@ -1,3 +0,0 @@ -* Added ligation for `~>`, `<~`, `~~>`, etc. -* Further refined the shapes of APL symbols. -* Added old-style numbers. Feature `onum` and `lnum` are enabled. diff --git a/changes/3.0.0-alpha.4.md b/changes/3.0.0-alpha.4.md deleted file mode 100644 index c9d1ada83..000000000 --- a/changes/3.0.0-alpha.4.md +++ /dev/null @@ -1,7 +0,0 @@ -* Added three-line ligation of `===` and `!==` for JavaScript, PHP, etc. - * Default ligature set selector: `ligset-javascript` and `ligset-php`. - * Cherry-picking configuration selector: `eqeqeq` and `exeqeq`. - * OpenType tags: `XJS0`, `XPHP`. -* Exposed curly-vs-straight letterform selectors. - * OpenType tags are from `cv70` to `cv83`. -* Fixed style linking for extended variants. diff --git a/changes/3.0.0-alpha.5.md b/changes/3.0.0-alpha.5.md deleted file mode 100644 index 28abc9863..000000000 --- a/changes/3.0.0-alpha.5.md +++ /dev/null @@ -1,8 +0,0 @@ -* Made hooks' terminal flat, which applies to `a`, `c`, `e`, etc. -* Add variant selector for `f`: `v-f-serifed`. -* Add variant selectors for `r`: `v-r-standard`, `v-r-serifed`, `v-r-top-serifed`. -* Fix various `r`-related glyphs' shape. -* Fix shape of cursive `k` under Slab shape. -* Fix Bulgarian Tse shape. -* Add `fwid` and `hwid` for Powerline. -* Default `g` to single-storey. diff --git a/changes/3.0.0-beta.1.md b/changes/3.0.0-beta.1.md deleted file mode 100644 index fe194e5e6..000000000 --- a/changes/3.0.0-beta.1.md +++ /dev/null @@ -1,5 +0,0 @@ -* Fix the shape of `Rrotunda` (U+A75A) and `rrotunda` (U+A75B). -* Make curly `k` under Slab variants look more different than the straight ones. -* Fixed minor stroke overflow on `A`. -* Fix O-hook connection. -* Add more math symbols (`≺`, `≻`, `⊏`, `⊐`, etc.) for Agda. diff --git a/changes/3.0.0-beta.2.md b/changes/3.0.0-beta.2.md deleted file mode 100644 index c73eb5558..000000000 --- a/changes/3.0.0-beta.2.md +++ /dev/null @@ -1,2 +0,0 @@ -* Fix horn connection on O-horn with tone marks: `Ờ ờ Ớ ớ Ở ở Ỡ ỡ Ợ ợ`. -* Optimize the anchor position of `R` and `ɏ` (U+024F). \ No newline at end of file diff --git a/changes/3.0.0-beta.3.md b/changes/3.0.0-beta.3.md deleted file mode 100644 index ea87cb4df..000000000 --- a/changes/3.0.0-beta.3.md +++ /dev/null @@ -1,5 +0,0 @@ -* Made the curly-bar variant via OpenType tag `ss20`. -* Alias U+2B95 to U+27A1. -* Add symbol U+22DA, U+22DB, U+23B0, U+23B1, etc. -* Finished the unicode block that supports retro computer characters. -* Building: The shape weight is now a continuous space. diff --git a/changes/3.0.0-rc.1.md b/changes/3.0.0-rc.1.md deleted file mode 100644 index 5aa46ab05..000000000 --- a/changes/3.0.0-rc.1.md +++ /dev/null @@ -1,14 +0,0 @@ -* The packaging and spacing is significantly changed: - * `Iosevka` → Kept, but made arrows and geometric symbols wide. - * `Iosevka Term` → `Iosevka Fixed`. - * `Iosevka TermLig` → `Iosevka Term`. - * `Iosevka Type` → Removed. - * `Iosevka CC` → Removed. -* Fix “Lucida” style's `one` character. -* Added weight “Book”. -* Fix broken shape of heavy curly V, etc. -* Improve double-line arrow ligations. -* Add diamond-shaped `<>` ligation, and enabled that for Haskell. -* Added bar-less `u` variants, and JetBrains Mono: - * Assigned `cv90` to this variant. - * Assigned `ss14` to the stylistic set. \ No newline at end of file diff --git a/changes/3.0.0-rc.2.md b/changes/3.0.0-rc.2.md deleted file mode 100644 index 1963d8946..000000000 --- a/changes/3.0.0-rc.2.md +++ /dev/null @@ -1,3 +0,0 @@ -* Change the glyph shape for U+1E10 “Ḑ” and U+1E11 “ḑ” to D-comma rather than D-cedilla. -* Add toothless `G`. -* Rename private feature tags to follow [OTSpec’s vendor-specific tag guide](https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags). diff --git a/changes/3.0.0-rc.3.md b/changes/3.0.0-rc.3.md deleted file mode 100644 index 5bb40acd6..000000000 --- a/changes/3.0.0-rc.3.md +++ /dev/null @@ -1,6 +0,0 @@ - * Fix shape of `smcpGhooktop` (U+029B) and `uogonek.withoutBar`. - * Make the dotless `i` and `j` CCMP feature work for more related characters and stylized forms. - * Fix substitution of i-ogonek and upper combining marks. - * Fix broken shape of tildes. - * Fix broken degree-C and degree-F ligature. - * Fix broken cup (`∪`) and cap (`∩`) symbol. diff --git a/changes/3.0.0-rc.4.md b/changes/3.0.0-rc.4.md deleted file mode 100644 index e05f19d1b..000000000 --- a/changes/3.0.0-rc.4.md +++ /dev/null @@ -1,7 +0,0 @@ - * Fix OTL script tag of default script (`dflt` -> `DFLT`). Though most shaping engine would not be impacted by the incorrect tag in earlier versions. - * Add large brackets (U+239B ... U+23AD) and extensible integral symbols (U+2320, U+2321, U+23AE). - * Add arrow U+21DE, U+21DF, U+2908, U+2909. - * Add logical symbol U+22A9, U+22AA, U+22AB, U+22AE, U+22AF. - * Cancelled ligation around regex look-around. - * Implement thousand-digit grouping under `THND` feature. - * Shape refinements of digit `1` and `6`. \ No newline at end of file diff --git a/changes/3.0.0-rc.5.md b/changes/3.0.0-rc.5.md deleted file mode 100644 index 445531e9a..000000000 --- a/changes/3.0.0-rc.5.md +++ /dev/null @@ -1,7 +0,0 @@ - * Add reverse-slashed zero (#438). - * Add U+1F8B0 and U+1F8B1 (#459). - * Fixed broken shape around `srtail`, `Sswash` and `sswash`. - * Fix `no-cv-ss` building (#460). - * Retrocomputing symbols are now defaults to half-width. - * Made variant selectors work for turned letters. - * Make `ligset-dlig` usable from custom build (#463). \ No newline at end of file diff --git a/changes/3.0.0-rc.6.md b/changes/3.0.0-rc.6.md deleted file mode 100644 index 5d7f009fb..000000000 --- a/changes/3.0.0-rc.6.md +++ /dev/null @@ -1,13 +0,0 @@ - * Add IEC power symbol. - * Add straight lambda (`λ`) shape, and corresponded variant selector `cv94`. Old shape is placed under `cv95` (#467). - * Add U+2423 `OPEN BOX` (`␣`) (#469). - * Add Bashkir Ka (U+04A0, U+04A1) (#441). - * Fixed mapping for U+028C, U+034D. - * Fixed the thickness of thick arrows under full width. - * Fixed missing `TM` and `SM` symbol. - * Fixed weight of dotted numbers. - * Fix APL symbols' metric under Aile. - * Make `m.shortleg` more distinctive (#471). - * Add ligation for waved double-headed-arrow (#475). - * Expand the ligation set for colons to all dotty operators (#476). - * Added variants for `9` like a turned `6` (#363). \ No newline at end of file diff --git a/changes/3.0.0-rc.7.md b/changes/3.0.0-rc.7.md deleted file mode 100644 index 41a1706c4..000000000 --- a/changes/3.0.0-rc.7.md +++ /dev/null @@ -1,6 +0,0 @@ - * Fixed phonetic ligatures' shape. Now they are connected more closely (#488). - * Fix shape of U+AB30, U+AB64 and U+1DE7 (#489). - * Fix export of U+478 and U+479. - * Fix shape of U+029A, U+1D08, U+1D4C (#491). - * Add U+AB66 and U+AB67 (#488). - * Fix shape of U+1DF0 (#497). diff --git a/changes/3.0.0-rc.8.md b/changes/3.0.0-rc.8.md deleted file mode 100644 index a0e83adf7..000000000 --- a/changes/3.0.0-rc.8.md +++ /dev/null @@ -1,8 +0,0 @@ - * Fix shape of combining small capitals (U+1DDB, U+1DDE, U+1DDF, U+1DE1, and U+1DE2; #500). - * Fix shape of H-cedilla (U+1E28 and U+1E29; #499). - * Fix incorrect mapping of U+228D (was U+228E) (#501). - * Fix shape of U+0478 and U+0479 (#503). - * Fix broken shape of R-stroke (#504). - * Fix shape of U+21B9 (#505). - * Change feature name `fwid` → `WWID`, `hwid` → `NWID`. - * Fix Iosevka Curly's default mapping of `@` (#509). \ No newline at end of file diff --git a/changes/3.0.0.md b/changes/3.0.0.md index 25fa5ce91..d553658de 100644 --- a/changes/3.0.0.md +++ b/changes/3.0.0.md @@ -2,4 +2,129 @@ * Fix dot removal on various derived glyphs (#513). * Fix styling features for Bulgarian, Macedonian, or Serbian (#514). * Fix seam on certain Cyrillic letters with descender shape (#517). - * Fix compatibility ligature building (#524). Also moved metric override configuration, compatibility ligature configuration and character removal configuration into build plans. \ No newline at end of file + * Fix compatibility ligature building (#524). Also moved metric override configuration, compatibility ligature configuration and character removal configuration into build plans. + * **Prerelease changes** + * **3.0.0-rc.8** + * Fix shape of combining small capitals (U+1DDB, U+1DDE, U+1DDF, U+1DE1, and U+1DE2; #500). + * Fix shape of H-cedilla (U+1E28 and U+1E29; #499). + * Fix incorrect mapping of U+228D (was U+228E) (#501). + * Fix shape of U+0478 and U+0479 (#503). + * Fix broken shape of R-stroke (#504). + * Fix shape of U+21B9 (#505). + * Change feature name `fwid` → `WWID`, `hwid` → `NWID`. + * Fix Iosevka Curly's default mapping of `@` (#509). + * **3.0.0-rc.7** + * Fixed phonetic ligatures' shape. Now they are connected more closely (#488). + * Fix shape of U+AB30, U+AB64 and U+1DE7 (#489). + * Fix export of U+478 and U+479. + * Fix shape of U+029A, U+1D08, U+1D4C (#491). + * Add U+AB66 and U+AB67 (#488). + * Fix shape of U+1DF0 (#497). + * **3.0.0-rc.6** + * Add IEC power symbol. + * Add straight lambda (`λ`) shape, and corresponded variant selector `cv94`. Old shape is placed under `cv95` (#467). + * Add U+2423 `OPEN BOX` (`␣`) (#469). + * Add Bashkir Ka (U+04A0, U+04A1) (#441). + * Fixed mapping for U+028C, U+034D. + * Fixed the thickness of thick arrows under full width. + * Fixed missing `TM` and `SM` symbol. + * Fixed weight of dotted numbers. + * Fix APL symbols' metric under Aile. + * Make `m.shortleg` more distinctive (#471). + * Add ligation for waved double-headed-arrow (#475). + * Expand the ligation set for colons to all dotty operators (#476). + * Added variants for `9` like a turned `6` (#363). + * **3.0.0-rc.5** + * Add reverse-slashed zero (#438). + * Add U+1F8B0 and U+1F8B1 (#459). + * Fixed broken shape around `srtail`, `Sswash` and `sswash`. + * Fix `no-cv-ss` building (#460). + * Retrocomputing symbols are now defaults to half-width. + * Made variant selectors work for turned letters. + * Make `ligset-dlig` usable from custom build (#463). + * **3.0.0-rc.4** + * Fix OTL script tag of default script (`dflt` -> `DFLT`). Though most shaping engine would not be impacted by the incorrect tag in earlier versions. + * Add large brackets (U+239B ... U+23AD) and extensible integral symbols (U+2320, U+2321, U+23AE). + * Add arrow U+21DE, U+21DF, U+2908, U+2909. + * Add logical symbol U+22A9, U+22AA, U+22AB, U+22AE, U+22AF. + * Cancelled ligation around regex look-around. + * Implement thousand-digit grouping under `THND` feature. + * Shape refinements of digit `1` and `6`. + * **3.0.0-rc.3** + * Fix shape of `smcpGhooktop` (U+029B) and `uogonek.withoutBar`. + * Make the dotless `i` and `j` CCMP feature work for more related characters and stylized forms. + * Fix substitution of i-ogonek and upper combining marks. + * Fix broken shape of tildes. + * Fix broken degree-C and degree-F ligature. + * Fix broken cup (`∪`) and cap (`∩`) symbol. + * **3.0.0-rc.2** + * Change the glyph shape for U+1E10 “Ḑ” and U+1E11 “ḑ” to D-comma rather than D-cedilla. + * Add toothless `G`. + * Rename private feature tags to follow [OTSpec’s vendor-specific tag guide](https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags). + * **3.0.0-rc.1** + * The packaging and spacing is significantly changed: + * `Iosevka` → Kept, but made arrows and geometric symbols wide. + * `Iosevka Term` → `Iosevka Fixed`. + * `Iosevka TermLig` → `Iosevka Term`. + * `Iosevka Type` → Removed. + * `Iosevka CC` → Removed. + * Fix “Lucida” style's `one` character. + * Added weight “Book”. + * Fix broken shape of heavy curly V, etc. + * Improve double-line arrow ligations. + * Add diamond-shaped `<>` ligation, and enabled that for Haskell. + * Added bar-less `u` variants, and JetBrains Mono: + * Assigned `cv90` to this variant. + * Assigned `ss14` to the stylistic set. + * **3.0.0-beta.3** + * Made the curly-bar variant via OpenType tag `ss20`. + * Alias U+2B95 to U+27A1. + * Add symbol U+22DA, U+22DB, U+23B0, U+23B1, etc. + * Finished the unicode block that supports retro computer characters. + * Building: The shape weight is now a continuous space. + * **3.0.0-beta.2** + * Fix horn connection on O-horn with tone marks: `Ờ ờ Ớ ớ Ở ở Ỡ ỡ Ợ ợ`. + * Optimize the anchor position of `R` and `ɏ` (U+024F). + * **3.0.0-beta.1** + * Fix the shape of `Rrotunda` (U+A75A) and `rrotunda` (U+A75B). + * Make curly `k` under Slab variants look more different than the straight ones. + * Fixed minor stroke overflow on `A`. + * Fix O-hook connection. + * Add more math symbols (`≺`, `≻`, `⊏`, `⊐`, etc.) for Agda. + * **3.0.0-alpha.5** + * Made hooks' terminal flat, which applies to `a`, `c`, `e`, etc. + * Add variant selector for `f`: `v-f-serifed`. + * Add variant selectors for `r`: `v-r-standard`, `v-r-serifed`, `v-r-top-serifed`. + * Fix various `r`-related glyphs' shape. + * Fix shape of cursive `k` under Slab shape. + * Fix Bulgarian Tse shape. + * Add `fwid` and `hwid` for Powerline. + * Default `g` to single-storey. + * **3.0.0-alpha.4** + * Added three-line ligation of `===` and `!==` for JavaScript, PHP, etc. + * Default ligature set selector: `ligset-javascript` and `ligset-php`. + * Cherry-picking configuration selector: `eqeqeq` and `exeqeq`. + * OpenType tags: `XJS0`, `XPHP`. + * Exposed curly-vs-straight letterform selectors. + * OpenType tags are from `cv70` to `cv83`. + * Fixed style linking for extended variants. + * **3.0.0-alpha.3** + * Added ligation for `~>`, `<~`, `~~>`, etc. + * Further refined the shapes of APL symbols. + * Added old-style numbers. Feature `onum` and `lnum` are enabled. + * **3.0.0-alpha.2** + * Extended width will be built automatically and integrate into existing families. + * Added more letter-like symbols: `⅋`, `ℂ`, `ℍ`, `ℙ`, `ℕ`, `ℚ`, `ℝ`, `ℤ`, `ℵ`, `ℶ`. + * Refine the height of brackets and symbols. + * Renamed various variant selectors: + * `v-m-longleg` → `v-m-normal` + * `v-one-hooky` → `v-one-nobase` + * `v-one-serifed` → `v-one-base` + * `v-seven-normal` → `v-seven-noserif` + * `v-seven-force-serifed` → `v-seven-serifed` + * Added `v-lig-ltgteq-flat` (`cv66`) and `v-lig-ltgteq-slanted` (`cv67`) to change the shape of `<=` and `>=` ligation. + * **3.0.0-alpha.1** + * The letters `k`, `x`, `v`, `A`, etc. will now use straight legs by default. The “curly” families will keep the old shape. + * Note this is a parameter difference rather than variant. So there won’t be a `cv##` or `ss##` variant selector. + * Introduced a curly italic `k` with untagged variant `v-k-italic`. + * Introduced `ss12` OpenType tag for Ubuntu-Mono style as well as a prebuilt `SS12` family. diff --git a/changes/3.4.0.md b/changes/3.4.0.md index e35de47a2..6ba08a340 100644 --- a/changes/3.4.0.md +++ b/changes/3.4.0.md @@ -1 +1,2 @@ * Add tailed two-story `a` (#637). + * Add turned five-pointing asterisk `*` (#638). \ No newline at end of file diff --git a/font-src/glyphs/symbol-punctuation.ptl b/font-src/glyphs/symbol-punctuation.ptl index 9ab2de0ac..1d4e50d69 100644 --- a/font-src/glyphs/symbol-punctuation.ptl +++ b/font-src/glyphs/symbol-punctuation.ptl @@ -928,19 +928,20 @@ glyph-block Symbol-Punctuation-Asterisk : begin local asteriskCenterY : parenTop - LongJut * 1.5 local asteriskKinds : list - list 5 1.2 Stroke 'asterisk' 'high' 'low' 'midXH' - list 5 0.85 Stroke 'smallasterisk' 'high' 'low' '' - list 5 1 GeometryStroke 'opAsterisk' 'high' 'low' '' - list 6 1.2 Stroke 'asterisk' 'hexhigh' 'hexlow' '' - foreach [{sides size stroke name high low midXH} : items-of asteriskKinds] : begin + list 5 1.2 0 Stroke 'asterisk' 'high' 'low' 'midXH' + list 5 0.85 0 Stroke 'smallasterisk' 'high' 'low' '' + list 5 1 0 GeometryStroke 'opAsterisk' 'high' 'low' '' + list 6 1.2 0 Stroke 'asterisk' 'hexhigh' 'hexlow' '' + list 5 1.2 1 Stroke 'asterisk' 'turnPentaHigh' 'turnPentaLow' '' + foreach [{sides size rot stroke name high low midXH} : items-of asteriskKinds] : begin sketch local radius : LongJut * size local fine : stroke * 0.4 local final : 0.5 * [Math.min stroke (radius * Math.PI / sides)] foreach j [range 0 sides] : begin - local s : Math.sin (j / sides * Math.PI * 2) - local c : Math.cos (j / sides * Math.PI * 2) + local s : Math.sin ((2 * j / sides + rot) * Math.PI) + local c : Math.cos ((2 * j / sides + rot) * Math.PI) include : dispiro flat Middle asteriskCenterY [widths fine fine] curl (Middle + radius * s) (asteriskCenterY + radius * c) [widths final final] @@ -959,7 +960,7 @@ glyph-block Symbol-Punctuation-Asterisk : begin select-variant 'asterisk' '*' select-variant 'asterisk' nothing to-name -- 'asterisk.dfltlow' - transform -- {.high 'low' .hexhigh 'hexlow'} + transform -- { .high 'low' .hexhigh 'hexlow' .turnPentaHigh 'turnPentaLow' } glyph-block Symbol-Punctuation-Slashes-And-Number-Sign : begin glyph-block-import CommonShapes diff --git a/params/variants.toml b/params/variants.toml index 8d3afc650..0947e348e 100644 --- a/params/variants.toml +++ b/params/variants.toml @@ -707,6 +707,18 @@ sampler = "*" description = 'Lower six-pointed asterisk `*`' variant.asterisk = "hexlow" +[simple.v-asterisk-flip-penta-high] +tag = 'VXBV' +sampler = '*' +description = 'Higher five-pointed and turned asterisk `*`' +variant.asterisk = 'turnPentaHigh' + +[simple.v-asterisk-flip-penta-low] +tag = 'VXBW' +sampler = '*' +description = 'Lower five-pointed and turned asterisk `*`' +variant.asterisk = 'turnPentaLow' + [simple.v-underscore-high] tag = 'cv20' sampler = '_'