diff --git a/CHANGELOG.md b/CHANGELOG.md index 961bf5c9c8..9b7efaa618 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ ## Modifications since last major version +### 31.6.1 + +- Fix broken accent stacking behavior for partially precomposed characters with leaning anchors (#2492). + + ### 31.6.0 * Add Latin localization forms for Polish and Romanian. diff --git a/changes/31.6.1.md b/changes/31.6.1.md new file mode 100644 index 0000000000..b52fd06635 --- /dev/null +++ b/changes/31.6.1.md @@ -0,0 +1 @@ +- Fix broken accent stacking behavior for partially precomposed characters with leaning anchors (#2492). diff --git a/doc/PACKAGE-LIST.md b/doc/PACKAGE-LIST.md index 4696c83033..d23482c475 100644 --- a/doc/PACKAGE-LIST.md +++ b/doc/PACKAGE-LIST.md @@ -1,7 +1,7 @@ -# Package list of Release 31.6.0 +# Package list of Release 31.6.1 ## Prebuilt Packages Iosevka provides a large variety of variants. Prebuilt variants are listed below. For all Monospace variants' packages, it will contain three _spacing variants_. You can either download the package containing all the spacing variants (recommended), or cherry-pick the variant with specific spacing. @@ -22,146 +22,146 @@ Iosevka provides various packaging formats, here is the list of them: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + +
📦 IosevkaMonospace, DefaultSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ IosevkaDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka TermTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka FixedFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SlabMonospace, Slab-serifSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SlabDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SlabTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SlabFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka CurlyMonospace, Curly StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka CurlyDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term CurlyTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed CurlyFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka Curly SlabMonospace, Curly Style, Slab-serifSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka Curly SlabDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term Curly SlabTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed Curly SlabFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS01Monospace, Andale Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS01DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS01TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS01FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS02Monospace, Anonymous Pro StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS02DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS02TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS02FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS03Monospace, Consolas StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS03DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS03TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS03FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS04Monospace, Menlo StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS04DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS04TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS04FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS05Monospace, Fira Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS05DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS05TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS05FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS06Monospace, Liberation Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS06DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS06TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS06FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS07Monospace, Monaco StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS07DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS07TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS07FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS08Monospace, Pragmata Pro StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS08DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS08TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS08FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS09Monospace, Source Code Pro StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS09DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS09TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS09FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS10Monospace, Envy Code R StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS10DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS10TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS10FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS11Monospace, X Windows Fixed StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS11DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS11TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS11FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS12Monospace, Ubuntu Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS12DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS12TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS12FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS13Monospace, Lucida StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS13DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS13TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS13FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS14Monospace, JetBrains Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS14DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS14TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS14FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS15Monospace, IBM Plex Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS15DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS15TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS15FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS16Monospace, PT Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS16DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS16TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS16FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS17Monospace, Recursive Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS17DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS17TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS17FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS18Monospace, Input Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS18DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS18TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS18FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 IosevkaMonospace, DefaultSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ IosevkaDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka TermTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka FixedFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SlabMonospace, Slab-serifSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SlabDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SlabTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SlabFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka CurlyMonospace, Curly StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka CurlyDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term CurlyTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed CurlyFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka Curly SlabMonospace, Curly Style, Slab-serifSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka Curly SlabDefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term Curly SlabTerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed Curly SlabFixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS01Monospace, Andale Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS01DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS01TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS01FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS02Monospace, Anonymous Pro StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS02DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS02TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS02FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS03Monospace, Consolas StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS03DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS03TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS03FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS04Monospace, Menlo StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS04DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS04TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS04FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS05Monospace, Fira Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS05DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS05TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS05FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS06Monospace, Liberation Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS06DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS06TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS06FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS07Monospace, Monaco StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS07DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS07TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS07FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS08Monospace, Pragmata Pro StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS08DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS08TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS08FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS09Monospace, Source Code Pro StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS09DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS09TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS09FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS10Monospace, Envy Code R StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS10DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS10TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS10FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS11Monospace, X Windows Fixed StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS11DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS11TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS11FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS12Monospace, Ubuntu Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS12DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS12TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS12FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS13Monospace, Lucida StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS13DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS13TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS13FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS14Monospace, JetBrains Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS14DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS14TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS14FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS15Monospace, IBM Plex Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS15DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS15TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS15FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS16Monospace, PT Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS16DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS16TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS16FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS17Monospace, Recursive Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS17DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS17TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS17FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka SS18Monospace, Input Mono StyleSuper TTCTTC 
  └ Sub-packagesSpacingLigaturesDownloads
    ├ Iosevka SS18DefaultYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    ├ Iosevka Term SS18TerminalYesSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka Fixed SS18FixedNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka AileQuasi-proportional, Sans-serif 
  └ Sub-packagesSpacingLigaturesDownloads
    └ Iosevka AileDefaultNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka AileDefaultNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
📦 Iosevka EtoileQuasi-proportional, Slab-serif 
  └ Sub-packagesSpacingLigaturesDownloads
    └ Iosevka EtoileDefaultNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
    └ Iosevka EtoileDefaultNoSuper TTCTTCTTF (Unhinted)WebFont (Unhinted)
diff --git a/images/button-release.dark.svg b/images/button-release.dark.svg index ddf8d1dbad..b5afcbd71c 100644 --- a/images/button-release.dark.svg +++ b/images/button-release.dark.svg @@ -10,7 +10,6 @@ - @@ -22,13 +21,13 @@ - + - + \ No newline at end of file diff --git a/images/button-release.light.svg b/images/button-release.light.svg index 67add68f25..ba59b24448 100644 --- a/images/button-release.light.svg +++ b/images/button-release.light.svg @@ -10,7 +10,6 @@ - @@ -22,13 +21,13 @@ - + - + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 92d88781a2..95125a7c4f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@iosevka/monorepo", - "version": "31.6.0", + "version": "31.6.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@iosevka/monorepo", - "version": "31.6.0", + "version": "31.6.1", "workspaces": [ "packages/*", "tools/*" @@ -3671,16 +3671,16 @@ }, "packages/font": { "name": "@iosevka/font", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { "@iarna/toml": "^2.2.5", - "@iosevka/font-glyphs": "31.6.0", - "@iosevka/font-otl": "31.6.0", - "@iosevka/geometry": "31.6.0", - "@iosevka/geometry-cache": "31.6.0", - "@iosevka/glyph": "31.6.0", - "@iosevka/param": "31.6.0", - "@iosevka/util": "31.6.0", + "@iosevka/font-glyphs": "31.6.1", + "@iosevka/font-otl": "31.6.1", + "@iosevka/geometry": "31.6.1", + "@iosevka/geometry-cache": "31.6.1", + "@iosevka/glyph": "31.6.1", + "@iosevka/param": "31.6.1", + "@iosevka/util": "31.6.1", "harfbuzzjs": "^0.3.6", "ot-builder": "^1.7.4", "semver": "^7.6.3" @@ -3688,100 +3688,100 @@ }, "packages/font-glyphs": { "name": "@iosevka/font-glyphs", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/font-kits": "31.6.0", - "@iosevka/geometry": "31.6.0", - "@iosevka/geometry-cache": "31.6.0", - "@iosevka/glyph": "31.6.0", - "@iosevka/util": "31.6.0", + "@iosevka/font-kits": "31.6.1", + "@iosevka/geometry": "31.6.1", + "@iosevka/geometry-cache": "31.6.1", + "@iosevka/glyph": "31.6.1", + "@iosevka/util": "31.6.1", "typo-geom": "^0.16.1" } }, "packages/font-kits": { "name": "@iosevka/font-kits", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/geometry": "31.6.0", - "@iosevka/glyph": "31.6.0", - "@iosevka/util": "31.6.0" + "@iosevka/geometry": "31.6.1", + "@iosevka/glyph": "31.6.1", + "@iosevka/util": "31.6.1" } }, "packages/font-otl": { "name": "@iosevka/font-otl", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/font-glyphs": "31.6.0", - "@iosevka/glyph": "31.6.0", + "@iosevka/font-glyphs": "31.6.1", + "@iosevka/glyph": "31.6.1", "toposort": "^2.0.2" } }, "packages/geometry": { "name": "@iosevka/geometry", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/util": "31.6.0", + "@iosevka/util": "31.6.1", "spiro": "^3.0.1", "typo-geom": "^0.16.1" } }, "packages/geometry-cache": { "name": "@iosevka/geometry-cache", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/geometry": "31.6.0", + "@iosevka/geometry": "31.6.1", "@msgpack/msgpack": "^2.8.0" } }, "packages/glyph": { "name": "@iosevka/glyph", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/geometry": "31.6.0" + "@iosevka/geometry": "31.6.1" } }, "packages/param": { "name": "@iosevka/param", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/util": "31.6.0" + "@iosevka/util": "31.6.1" } }, "packages/util": { "name": "@iosevka/util", - "version": "31.6.0" + "version": "31.6.1" }, "tools/amend-readme": { "name": "@iosevka/amend-readme", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { "@iarna/toml": "^2.2.5", - "@iosevka/param": "31.6.0", + "@iosevka/param": "31.6.1", "@unicode/unicode-15.1.0": "^1.5.2" } }, "tools/data-export": { "name": "@iosevka/data-export", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { "@iarna/toml": "^2.2.5", - "@iosevka/param": "31.6.0", + "@iosevka/param": "31.6.1", "@unicode/unicode-15.1.0": "^1.5.2", "cldr": "^7.5.0" } }, "tools/generate-samples": { "name": "@iosevka/generate-samples", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/data-export": "31.6.0" + "@iosevka/data-export": "31.6.1" } }, "tools/misc": { "name": "@iosevka/misc", - "version": "31.6.0", + "version": "31.6.1", "dependencies": { - "@iosevka/util": "31.6.0", + "@iosevka/util": "31.6.1", "semver": "^7.6.3", "wawoff2": "^2.0.1" } diff --git a/package.json b/package.json index 5c178c2de7..205ef92f27 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/monorepo", - "version": "31.6.0", + "version": "31.6.1", "workspaces": [ "packages/*", "tools/*" diff --git a/packages/font-glyphs/package.json b/packages/font-glyphs/package.json index a66da472f0..b24622a668 100644 --- a/packages/font-glyphs/package.json +++ b/packages/font-glyphs/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/font-glyphs", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./lib/index.mjs", @@ -8,11 +8,11 @@ "./unicode-knowledge": "./lib/meta/unicode-knowledge.mjs" }, "dependencies": { - "@iosevka/font-kits": "31.6.0", - "@iosevka/geometry": "31.6.0", - "@iosevka/geometry-cache": "31.6.0", - "@iosevka/glyph": "31.6.0", - "@iosevka/util": "31.6.0", + "@iosevka/font-kits": "31.6.1", + "@iosevka/geometry": "31.6.1", + "@iosevka/geometry-cache": "31.6.1", + "@iosevka/glyph": "31.6.1", + "@iosevka/util": "31.6.1", "typo-geom": "^0.16.1" } } diff --git a/packages/font-glyphs/src/auto-build/accents.ptl b/packages/font-glyphs/src/auto-build/accents.ptl index d57cfa6dba..ed0ba29b75 100644 --- a/packages/font-glyphs/src/auto-build/accents.ptl +++ b/packages/font-glyphs/src/auto-build/accents.ptl @@ -28,15 +28,22 @@ glyph-block AutoBuild-Accents : begin return amended # Here, we build a simplified substitution builder that does the mark substitutions - define [substParts parts ignore backtrack input loookAhead production] : begin + # This is similar to GSUB lookup type 6 but with more flexibility + define flex-params [substParts] : begin + local-parameter : parts + local-parameter : ignore -- MatchUtil.never + local-parameter : backtrack -- {} + local-parameter : input + local-parameter : lookAhead -- {} + local-parameter : replace local igl 0 while (igl < parts.length) : begin - local m : substMatch parts igl ignore backtrack input loookAhead + local m : substMatch parts igl ignore backtrack input lookAhead if [not m] : then : inc igl : else : begin local inputGlyphs : ArrayUtil.mapIndexToItems parts m - local producedGlyphs : production.apply null inputGlyphs + local producedGlyphs : replace.apply null inputGlyphs foreach i [range (m.length - 1) downtill 0] : begin parts.splice m.(i) 1 ArrayUtil.insertSliceAt parts m.0 producedGlyphs @@ -78,24 +85,22 @@ glyph-block AutoBuild-Accents : begin return m + # Match/replace directives define [dotless g] : begin local gDotless : query-glyph : Dotless.get g if [not gDotless] : return null return {gDotless} - define [isMark k] : function [g] : begin return : g && g.markAnchors && g.markAnchors.(k) define [isMarkExcluding k] : function [g] : begin return : g && g.markAnchors && [Object.keys g.markAnchors].length && !g.markAnchors.(k) define [hasBaseAnchor k] : function [g] : begin return : g && g.baseAnchors && g.baseAnchors.(k) - define [isLeaningMark k] : function [g] : begin - return : g && g.markAnchors && g.markAnchors.(k) && [LeaningMark.get g] - define [leaningMarkSplit g] : begin + define [produceLeaningMark gnSuppressAnchor] : function [g] : begin local spacer : query-glyph : LeaningMarkSpacer.get g local alternative : query-glyph : LeaningMark.get g if (spacer && alternative) : return { spacer alternative } - return { g } + return { [query-glyph gnSuppressAnchor] g } define [markSubst uk] : begin local mapping : new Map @@ -165,23 +170,48 @@ glyph-block AutoBuild-Accents : begin ### Keep the semantics here synchronized with `ccmp` feature # Handle dotless form - substParts parts [isMarkExcluding 'above'] {} {dotless} {[isMark 'above']} dotless + substParts parts + ignore -- [isMarkExcluding 'above'] + input -- {dotless} + lookAhead -- {[isMark 'above']} + replace -- dotless # Handle iota subscript - substParts parts iotaLF.ignore {[hasBaseAnchor 'lf']} {iotaLF.matcher} {} iotaLF.production + substParts parts + ignore -- iotaLF.ignore + backtrack -- {[hasBaseAnchor 'lf']} + input -- {iotaLF.matcher} + replace -- iotaLF.production # Handle ogonek - substParts parts ogonek.ignore {[hasBaseAnchor 'trailing']} {ogonek.matcher} {} ogonek.production + substParts parts + ignore -- ogonek.ignore + backtrack -- {[hasBaseAnchor 'trailing']} + input -- {ogonek.matcher} + replace -- ogonek.production # Handle mark combinations (Greek) - substParts parts MatchUtil.never {} { markComposition.matchFirst markComposition.matchSecond } {} markComposition.production + substParts parts + input -- { markComposition.matchFirst markComposition.matchSecond } + replace -- markComposition.production # Handle upper Greek Tonos marks - substParts parts MatchUtil.never {[hasBaseAnchor 'grekUpperTonos']} {upperTonos.matcher} {} upperTonos.production + substParts parts + backtrack -- {[hasBaseAnchor 'grekUpperTonos']} + input -- {upperTonos.matcher} + replace -- upperTonos.production # Handle leaning marks - substParts parts [isMarkExcluding 'above'] {[MatchUtil.either [hasBaseAnchor 'leaningAbove'] [isMark 'leaningAbove']]} {[isLeaningMark 'above']} {} leaningMarkSplit - substParts parts [isMarkExcluding 'below'] {[MatchUtil.either [hasBaseAnchor 'leaningBelow'] [isMark 'leaningBelow']]} {[isLeaningMark 'below']} {} leaningMarkSplit + substParts parts + ignore -- [isMarkExcluding 'above'] + backtrack -- {[MatchUtil.either [hasBaseAnchor 'leaningAbove'] [isMark 'leaningAbove']]} + input -- {[isMark 'above']} + replace -- [produceLeaningMark 'mark/suppressLeaningAboveAnchor'] + substParts parts + ignore -- [isMarkExcluding 'below'] + backtrack -- {[MatchUtil.either [hasBaseAnchor 'leaningBelow'] [isMark 'leaningBelow']]} + input -- {[isMark 'below']} + replace -- [produceLeaningMark 'mark/suppressLeaningBelowAnchor'] define [pad _s n] : begin local s _s diff --git a/packages/font-glyphs/src/marks/adjust.ptl b/packages/font-glyphs/src/marks/adjust.ptl index 19da10c936..bc5fb0df66 100644 --- a/packages/font-glyphs/src/marks/adjust.ptl +++ b/packages/font-glyphs/src/marks/adjust.ptl @@ -88,3 +88,12 @@ glyph-block Mark-Adjustment : begin export : define Above : Impl 'above' 'leaningAbove' export : define Below : Impl 'below' 'leaningBelow' + + # "Technical" marks, used to suppress leaning anchors. + # Used in the build process of precomposed glyphs. + create-glyph "mark/suppressLeaningAboveAnchor" : glyph-proc + set-width 0 + set-mark-anchor 'leaningAbove' 0 0 + create-glyph "mark/suppressLeaningBelowAnchor" : glyph-proc + set-width 0 + set-mark-anchor 'leaningBelow' 0 0 diff --git a/packages/font-kits/package.json b/packages/font-kits/package.json index 854a8e7425..71b4b95355 100644 --- a/packages/font-kits/package.json +++ b/packages/font-kits/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/font-kits", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { "./derived-coordinates": "./src/derived-coordinates.mjs", @@ -8,8 +8,8 @@ "./spiro-kit": "./src/spiro-kit.mjs" }, "dependencies": { - "@iosevka/geometry": "31.6.0", - "@iosevka/glyph": "31.6.0", - "@iosevka/util": "31.6.0" + "@iosevka/geometry": "31.6.1", + "@iosevka/glyph": "31.6.1", + "@iosevka/util": "31.6.1" } } diff --git a/packages/font-otl/package.json b/packages/font-otl/package.json index 324d46f7d3..dd976a0775 100644 --- a/packages/font-otl/package.json +++ b/packages/font-otl/package.json @@ -1,13 +1,13 @@ { "name": "@iosevka/font-otl", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./lib/index.mjs" }, "dependencies": { - "@iosevka/font-glyphs": "31.6.0", - "@iosevka/glyph": "31.6.0", + "@iosevka/font-glyphs": "31.6.1", + "@iosevka/glyph": "31.6.1", "toposort": "^2.0.2" } } diff --git a/packages/font/package.json b/packages/font/package.json index 0b34530610..e3f657ccc3 100644 --- a/packages/font/package.json +++ b/packages/font/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/font", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs", @@ -10,13 +10,13 @@ }, "dependencies": { "@iarna/toml": "^2.2.5", - "@iosevka/font-glyphs": "31.6.0", - "@iosevka/font-otl": "31.6.0", - "@iosevka/geometry": "31.6.0", - "@iosevka/geometry-cache": "31.6.0", - "@iosevka/glyph": "31.6.0", - "@iosevka/param": "31.6.0", - "@iosevka/util": "31.6.0", + "@iosevka/font-glyphs": "31.6.1", + "@iosevka/font-otl": "31.6.1", + "@iosevka/geometry": "31.6.1", + "@iosevka/geometry-cache": "31.6.1", + "@iosevka/glyph": "31.6.1", + "@iosevka/param": "31.6.1", + "@iosevka/util": "31.6.1", "harfbuzzjs": "^0.3.6", "ot-builder": "^1.7.4", "semver": "^7.6.3" diff --git a/packages/geometry-cache/package.json b/packages/geometry-cache/package.json index 516faa3a59..bc08b1b3c3 100644 --- a/packages/geometry-cache/package.json +++ b/packages/geometry-cache/package.json @@ -1,12 +1,12 @@ { "name": "@iosevka/geometry-cache", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs" }, "dependencies": { - "@iosevka/geometry": "31.6.0", + "@iosevka/geometry": "31.6.1", "@msgpack/msgpack": "^2.8.0" } } diff --git a/packages/geometry/package.json b/packages/geometry/package.json index cdcaa3c9d9..6ee3ad3d15 100644 --- a/packages/geometry/package.json +++ b/packages/geometry/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/geometry", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs", @@ -15,7 +15,7 @@ "./spiro-pen-expand": "./src/spiro-pen-expand.mjs" }, "dependencies": { - "@iosevka/util": "31.6.0", + "@iosevka/util": "31.6.1", "spiro": "^3.0.1", "typo-geom": "^0.16.1" } diff --git a/packages/glyph/package.json b/packages/glyph/package.json index 5bbf733034..4f34d5d8ee 100644 --- a/packages/glyph/package.json +++ b/packages/glyph/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/glyph", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/glyph.mjs", @@ -9,6 +9,6 @@ "./relation": "./src/relation.mjs" }, "dependencies": { - "@iosevka/geometry": "31.6.0" + "@iosevka/geometry": "31.6.1" } } diff --git a/packages/param/package.json b/packages/param/package.json index da76b7fc2f..fb2aa51a1e 100644 --- a/packages/param/package.json +++ b/packages/param/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/param", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs", @@ -9,6 +9,6 @@ "./metric-override": "./src/metric-override.mjs" }, "dependencies": { - "@iosevka/util": "31.6.0" + "@iosevka/util": "31.6.1" } } diff --git a/packages/util/package.json b/packages/util/package.json index 4a0390006d..4b9b98f883 100644 --- a/packages/util/package.json +++ b/packages/util/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/util", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs", diff --git a/tools/amend-readme/package.json b/tools/amend-readme/package.json index 316b5a10d1..6e29ec18a0 100644 --- a/tools/amend-readme/package.json +++ b/tools/amend-readme/package.json @@ -1,13 +1,13 @@ { "name": "@iosevka/amend-readme", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs" }, "dependencies": { "@iarna/toml": "^2.2.5", - "@iosevka/param": "31.6.0", + "@iosevka/param": "31.6.1", "@unicode/unicode-15.1.0": "^1.5.2" } } diff --git a/tools/data-export/package.json b/tools/data-export/package.json index c3fb982255..7643c3dfe9 100644 --- a/tools/data-export/package.json +++ b/tools/data-export/package.json @@ -1,6 +1,6 @@ { "name": "@iosevka/data-export", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs", @@ -10,7 +10,7 @@ }, "dependencies": { "@iarna/toml": "^2.2.5", - "@iosevka/param": "31.6.0", + "@iosevka/param": "31.6.1", "@unicode/unicode-15.1.0": "^1.5.2", "cldr": "^7.5.0" } diff --git a/tools/generate-samples/package.json b/tools/generate-samples/package.json index 7820f260c5..500a17177a 100644 --- a/tools/generate-samples/package.json +++ b/tools/generate-samples/package.json @@ -1,11 +1,11 @@ { "name": "@iosevka/generate-samples", - "version": "31.6.0", + "version": "31.6.1", "private": true, "exports": { ".": "./src/index.mjs" }, "dependencies": { - "@iosevka/data-export": "31.6.0" + "@iosevka/data-export": "31.6.1" } } diff --git a/tools/misc/package.json b/tools/misc/package.json index 6e56915c19..de9f02503a 100644 --- a/tools/misc/package.json +++ b/tools/misc/package.json @@ -1,10 +1,10 @@ { "name": "@iosevka/misc", - "version": "31.6.0", + "version": "31.6.1", "private": true, "dependencies": { "semver": "^7.6.3", "wawoff2": "^2.0.1", - "@iosevka/util": "31.6.0" + "@iosevka/util": "31.6.1" } }