Some CV application adjustments and fixes. (#2373)

* Make `cv56` apply to `U+A662`..`U+A667`.

* Fix `cv96` application to `U+2E48`.

* Make `cv96` apply to `U+A717`..`U+A719`.
This commit is contained in:
John McWilliams 2024-06-06 20:48:45 -04:00 committed by GitHub
parent 4a2551e48d
commit 48a2a71ff8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 127 additions and 81 deletions

View file

@ -1,7 +1,10 @@
* Improve glyph shape of INVERTED LOW KAVYKA WITH KAVYKA ABOVE (`U+2E46`). * Improve glyph shape of INVERTED LOW KAVYKA WITH KAVYKA ABOVE (`U+2E46`).
* Fix IPPH/APPH localization for superscript/subscript Greek Lower Beta and Chi (`U+1D5D`, `U+1D61`, `U+1D66`, `U+1D6A`). * Fix `cv96` application to LOW KAVYKA WITH DOT (`U+2E48`).
* Make MODIFIER LETTER DOT VERTICAL BAR (`U+A717`) ... MODIFIER LETTER DOT HORIZONTAL BAR (`U+A719`) follow variants of Diacritical Dot (`cv96`).
* Fix metrics of Cyrillie EnGhe and Abkhasian Che under Aile/Etoile (#2366). * Fix metrics of Cyrillie EnGhe and Abkhasian Che under Aile/Etoile (#2366).
* Make CYRILLIC CAPITAL LETTER SOFT DE (`U+A662`) ... CYRILLIC SMALL LETTER SOFT EM (`A667`) follow variants of Greek Capital Gamma (`cv56`).
* Fix CV/SS application of localized form of superscript/subscript letters (#2368). * Fix CV/SS application of localized form of superscript/subscript letters (#2368).
* Fix IPPH/APPH localization for superscript/subscript Greek Lower Beta and Chi (`U+1D5D`, `U+1D61`, `U+1D66`, `U+1D6A`).
* Improve glyph visual for `U+279D`, `U+27A2`, `U+27A3`, and `U+2B4D`. * Improve glyph visual for `U+279D`, `U+27A2`, `U+27A3`, and `U+2B4D`.
* Add characters: * Add characters:
- STAR OF DAVID (`U+2720`). - STAR OF DAVID (`U+2720`).

View file

@ -238,7 +238,7 @@ glyph-block Autobuild-Transformed : begin
list 0xA705 'supstBarNoRise' list 0xA705 'supstBarNoRise'
list 0xA717 'dotvbar' list 0xA717 'dotvbar'
list 0xA718 'dotslash' list 0xA718 'dotslash'
list 0xA719 'dotminus' list 0xA719 'dothbar'
list 0xA71A 'turnedRevNegate' list 0xA71A 'turnedRevNegate'
list 0xA71B 'arrowUp.NWID' list 0xA71B 'arrowUp.NWID'
list 0xA71C 'arrowDown.NWID' list 0xA71C 'arrowDown.NWID'

View file

@ -56,7 +56,7 @@ glyph-block Letter-Cyrillic-De : begin
return : object desc xTopLeft xTopRight return : object desc xTopLeft xTopRight
define [CyrSoftDeShape top left right _sw] : glyph-proc define [CyrSoftDeShape top left right _sw vSlab] : glyph-proc
local descenderOverflow : if SLAB SideJut ((right - left) * 0.075) local descenderOverflow : if SLAB SideJut ((right - left) * 0.075)
local sw : fallback _sw Stroke local sw : fallback _sw Stroke
local xm : if SLAB local xm : if SLAB
@ -65,11 +65,12 @@ glyph-block Letter-Cyrillic-De : begin
local xTopRight : mix left xm : StrokeWidthBlend 0.95 0.96 local xTopRight : mix left xm : StrokeWidthBlend 0.95 0.96
include : CyrDeShape top left xm _sw include : CyrDeShape top left xm _sw
if SLAB
: then : begin include : if SLAB
include : HBar.t (xTopRight + descenderOverflow) right top sw then : HBar.t (xTopRight + descenderOverflow) right top sw
include : VSerif.dr right top VJut (sw * VJutStroke / Stroke) else : HBar.t xTopRight right top sw
: else : include : HBar.t xTopRight right top sw
if vSlab : include : VSerif.dr right top VJut (sw * VJutStroke / Stroke)
create-glyph 'cyrl/De' 0x414 : glyph-proc create-glyph 'cyrl/De' 0x414 : glyph-proc
include : MarkSet.capital include : MarkSet.capital
@ -85,18 +86,33 @@ glyph-block Letter-Cyrillic-De : begin
include : MarkSet.p include : MarkSet.p
include : CyrDeShape XH SB RightSB Stroke Descender include : CyrDeShape XH SB RightSB Stroke Descender
create-glyph 'cyrl/DeSoft' 0xA662 : glyph-proc create-glyph 'cyrl/DeSoft.serifless' : glyph-proc
local df : include : DivFrame para.diversityM 3 local df : include : DivFrame para.diversityM 3
include : df.markSet.capital include : df.markSet.capital
include : ExtendBelowBaseAnchors BottomExtension include : ExtendBelowBaseAnchors BottomExtension
include : CyrSoftDeShape CAP df.leftSB df.rightSB df.mvs include : CyrSoftDeShape CAP df.leftSB df.rightSB df.mvs false
create-glyph 'cyrl/deSoft' 0xA663 : glyph-proc create-glyph 'cyrl/DeSoft.topRightSerifed' : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.capital
include : ExtendBelowBaseAnchors BottomExtension
include : CyrSoftDeShape CAP df.leftSB df.rightSB df.mvs true
select-variant 'cyrl/DeSoft' 0xA662 (follow -- 'cyrl/EnGhe/GhePart')
create-glyph 'cyrl/deSoft.serifless' : glyph-proc
local df : include : DivFrame para.diversityM 3 local df : include : DivFrame para.diversityM 3
include : df.markSet.e include : df.markSet.e
include : ExtendBelowBaseAnchors BottomExtension include : ExtendBelowBaseAnchors BottomExtension
include : CyrSoftDeShape XH df.leftSB df.rightSB df.mvs include : CyrSoftDeShape XH df.leftSB df.rightSB df.mvs false
create-glyph 'cyrl/deSoft.topRightSerifed' : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.e
include : ExtendBelowBaseAnchors BottomExtension
include : CyrSoftDeShape XH df.leftSB df.rightSB df.mvs true
select-variant 'cyrl/deSoft' 0xA663 (follow -- 'cyrl/enghe/ghePart')
foreach { suffix { st sb }} [Object.entries EpsilonConfig] : do foreach { suffix { st sb }} [Object.entries EpsilonConfig] : do
define [DzzeDescendershape de] : begin define [DzzeDescendershape de] : begin

View file

@ -2,12 +2,14 @@ $$include '../../meta/macros.ptl'
import [mix linreg clamp fallback] from "@iosevka/util" import [mix linreg clamp fallback] from "@iosevka/util"
import [Point] from "@iosevka/geometry/point" import [Point] from "@iosevka/geometry/point"
import [DependentSelector] from "@iosevka/glyph/relation"
glyph-module glyph-module
glyph-block Letter-Cyrillic-El : begin glyph-block Letter-Cyrillic-El : begin
glyph-block-import CommonShapes glyph-block-import CommonShapes
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
glyph-block-import Letter-Shared : CreateSelectorVariants DefineSelectorGlyph
glyph-block-import Letter-Shared-Shapes : SerifFrame LegShape RightwardTailedBar glyph-block-import Letter-Shared-Shapes : SerifFrame LegShape RightwardTailedBar
glyph-block-import Letter-Shared-Shapes : CyrDescender CyrTailDescender PalatalHook MidHook UpwardHookShape glyph-block-import Letter-Shared-Shapes : CyrDescender CyrTailDescender PalatalHook MidHook UpwardHookShape
@ -53,7 +55,7 @@ glyph-block Letter-Cyrillic-El : begin
[Just SLAB-LOWER] : HSerif.rb right 0 SideJut sw [Just SLAB-LOWER] : HSerif.rb right 0 SideJut sw
__ : glyph-proc __ : glyph-proc
define [CyrSoftElShape left right top bodyType slabType _sw] : glyph-proc define [CyrSoftElShape left right top bodyType slabType _sw vSlab] : glyph-proc
local sw : fallback _sw Stroke local sw : fallback _sw Stroke
local xm : if SLAB local xm : if SLAB
[mix left right 0.625] + [HSwToV : 0.25 * sw] [mix left right 0.625] + [HSwToV : 0.25 * sw]
@ -61,7 +63,7 @@ glyph-block Letter-Cyrillic-El : begin
include : CyrElShape left xm top bodyType slabType _sw include : CyrElShape left xm top bodyType slabType _sw
include : HBar.t xm right top sw include : HBar.t xm right top sw
if SLAB : include : VSerif.dr right top VJut (sw * VJutStroke / Stroke) if vSlab : include : VSerif.dr right top VJut (sw * VJutStroke / Stroke)
create-glyph 'cyrl/El' 0x41B : glyph-proc create-glyph 'cyrl/El' 0x41B : glyph-proc
include : MarkSet.capital include : MarkSet.capital
@ -71,28 +73,66 @@ glyph-block Letter-Cyrillic-El : begin
include : MarkSet.e include : MarkSet.e
include : CyrElShape SB RightSB XH BODY-STRAIGHT : if SLAB SLAB-ALL SLAB-NONE include : CyrElShape SB RightSB XH BODY-STRAIGHT : if SLAB SLAB-ALL SLAB-NONE
create-glyph 'cyrl/el.straight' : glyph-proc create-glyph 'cyrl/ElMidHook' 0x520 : glyph-proc
include : MarkSet.e local df : include : DivFrame para.diversityM 3
include : CyrElShape SB RightSB XH BODY-STRAIGHT : if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL] SLAB-NONE include : df.markSet.capDesc
create-glyph 'cyrl/el.tailed' : glyph-proc local xm : df.middle + [HSwToV : 0.5 * df.mvs]
include : MarkSet.e include : CyrElShape df.leftSB xm CAP BODY-STRAIGHT [if SLAB SLAB-ALL SLAB-NONE] df.mvs
include : CyrElShape SB RightSB XH BODY-TAILED : if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-U] SLAB-NONE include : MidHook.m df CAP
create-glyph 'cyrl/ElSoft' 0xA664 : glyph-proc create-glyph 'cyrl/ElSoft.serifless' : glyph-proc
local df : include : DivFrame para.diversityM 3 local df : include : DivFrame para.diversityM 3
include : df.markSet.capital include : df.markSet.capital
include : CyrSoftElShape df.leftSB df.rightSB CAP BODY-STRAIGHT [if SLAB SLAB-ALL SLAB-NONE] df.mvs include : CyrSoftElShape df.leftSB df.rightSB CAP BODY-STRAIGHT [if SLAB SLAB-ALL SLAB-NONE] df.mvs false
create-glyph 'cyrl/elSoft.straight' : glyph-proc create-glyph 'cyrl/ElSoft.topRightSerifed' : glyph-proc
local df : include : DivFrame para.diversityM 3 local df : include : DivFrame para.diversityM 3
include : df.markSet.e include : df.markSet.capital
include : CyrSoftElShape df.leftSB df.rightSB XH BODY-STRAIGHT [if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL] SLAB-NONE] df.mvs include : CyrSoftElShape df.leftSB df.rightSB CAP BODY-STRAIGHT [if SLAB SLAB-ALL SLAB-NONE] df.mvs true
create-glyph 'cyrl/elSoft.tailed' : glyph-proc select-variant 'cyrl/ElSoft' 0xA664 (follow -- 'cyrl/EnGhe/GhePart')
local df : include : DivFrame para.diversityM 3
include : df.markSet.e define ElConfig : object
include : CyrSoftElShape df.leftSB df.rightSB XH BODY-TAILED [if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-U] SLAB-NONE] df.mvs straight { BODY-STRAIGHT SLAB-ALL SLAB-LOWER }
tailed { BODY-TAILED SLAB-TAILED-U SLAB-TAILED-I }
define CyrlSoftElGheConfig : object
serifless false
topRightSerifed true
foreach { suffix { body slabUpright slabItalic } } [pairs-of ElConfig] : do
create-glyph "cyrl/el.\(suffix)" : glyph-proc
include : MarkSet.e
include : CyrElShape SB RightSB XH body : if SLAB [if para.isItalic slabItalic slabUpright] SLAB-NONE
create-glyph "cyrl/elMidHook.\(suffix)" : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.p
local xm : df.middle + [HSwToV : 0.5 * df.mvs]
include : CyrElShape df.leftSB xm XH body [if SLAB [if para.isItalic slabItalic slabUpright] SLAB-NONE] df.mvs
include : MidHook.m df XH
define cyrlSoftElDf : DivFrame para.diversityM 3
DefineSelectorGlyph "cyrl/elSoft" suffix cyrlSoftElDf 'e'
foreach { suffixGhe cyrlSoftElVSlab } [Object.entries CyrlSoftElGheConfig] : do
create-glyph "cyrl/elSoft.\(suffix).\(suffixGhe)" : glyph-proc
set-width 0
set-mark-anchor 'cvDecompose' 0 0
include : CyrSoftElShape cyrlSoftElDf.leftSB cyrlSoftElDf.rightSB XH body [if SLAB [if para.isItalic slabItalic slabUpright] SLAB-NONE] cyrlSoftElDf.mvs cyrlSoftElVSlab
select-variant "cyrl/elSoft.\(suffix)" (follow -- 'cyrl/enghe/ghePart')
select-variant 'cyrl/el' 0x43B
select-variant 'cyrl/elMidHook' 0x521 (follow -- 'cyrl/el')
CreateSelectorVariants 'cyrl/elSoft' 0xA665 [Object.keys ElConfig] (follow -- 'cyrl/el')
alias 'cyrl/El.BGR' null 'grek/Lambda'
alias 'cyrl/el.BGR' null 'turnv'
derive-composites 'cyrl/ElDescender' 0x52E 'cyrl/El' [CyrDescender.rSideJut RightSB 0] derive-composites 'cyrl/ElDescender' 0x52E 'cyrl/El' [CyrDescender.rSideJut RightSB 0]
derive-composites 'cyrl/elDescender' 0x52F 'cyrl/el.straight' [CyrDescender.rSideJut RightSB 0] derive-composites 'cyrl/elDescender' 0x52F 'cyrl/el.straight' [CyrDescender.rSideJut RightSB 0]
@ -103,30 +143,6 @@ glyph-block Letter-Cyrillic-El : begin
derive-composites 'cyrl/ElHook' 0x512 'cyrl/El' [PalatalHook.rSideJut RightSB 0] derive-composites 'cyrl/ElHook' 0x512 'cyrl/El' [PalatalHook.rSideJut RightSB 0]
derive-composites 'cyrl/elHook' 0x513 'cyrl/el.straight' [PalatalHook.rSideJut RightSB 0] derive-composites 'cyrl/elHook' 0x513 'cyrl/el.straight' [PalatalHook.rSideJut RightSB 0]
create-glyph 'cyrl/ElMidHook' 0x520 : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.capDesc
local xm : df.middle + [HSwToV : 0.5 * df.mvs]
include : CyrElShape df.leftSB xm CAP BODY-STRAIGHT [if SLAB SLAB-ALL SLAB-NONE] df.mvs
include : MidHook.m df CAP
create-glyph 'cyrl/elMidHook.straight' : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.p
local xm : df.middle + [HSwToV : 0.5 * df.mvs]
include : CyrElShape df.leftSB xm XH BODY-STRAIGHT [if SLAB [if para.isItalic SLAB-LOWER SLAB-ALL] SLAB-NONE] df.mvs
include : MidHook.m df XH
create-glyph 'cyrl/elMidHook.tailed' : glyph-proc
local df : include : DivFrame para.diversityM 3
include : df.markSet.p
local xm : df.middle + [HSwToV : 0.5 * df.mvs]
include : CyrElShape df.leftSB xm XH BODY-TAILED [if SLAB [if para.isItalic SLAB-TAILED-I SLAB-TAILED-U] SLAB-NONE] df.mvs
include : MidHook.m df XH
create-glyph 'cyrl/LjeKomi' 0x508 : glyph-proc create-glyph 'cyrl/LjeKomi' 0x508 : glyph-proc
local df : include : DivFrame para.diversityM 3 local df : include : DivFrame para.diversityM 3
include : df.markSet.capital include : df.markSet.capital
@ -160,9 +176,3 @@ glyph-block Letter-Cyrillic-El : begin
sw -- df.mvs sw -- df.mvs
local sf2 : [SerifFrame.fromDf df (XH / 2) 0].slice 1 2 local sf2 : [SerifFrame.fromDf df (XH / 2) 0].slice 1 2
if SLAB : include sf2.rt.full if SLAB : include sf2.rt.full
select-variant 'cyrl/el' 0x43B
select-variant 'cyrl/elSoft' 0xA665 (follow -- 'cyrl/el')
select-variant 'cyrl/elMidHook' 0x521 (follow -- 'cyrl/el')
alias 'cyrl/El.BGR' null 'grek/Lambda'
alias 'cyrl/el.BGR' null 'turnv'

View file

@ -1,7 +1,7 @@
$$include '../../meta/macros.ptl' $$include '../../meta/macros.ptl'
import [mix fallback SuffixCfg] from "@iosevka/util" import [mix fallback SuffixCfg] from "@iosevka/util"
import [MathSansSerif] from "@iosevka/glyph/relation" import [MathSansSerif DependentSelector] from "@iosevka/glyph/relation"
glyph-module glyph-module
@ -10,6 +10,7 @@ glyph-block Letter-Latin-Upper-M : begin
glyph-block-import Common-Derivatives glyph-block-import Common-Derivatives
glyph-block-import Mark-Adjustment : LeaningAnchor glyph-block-import Mark-Adjustment : LeaningAnchor
glyph-block-import Letter-Shared : CreateTurnedLetter glyph-block-import Letter-Shared : CreateTurnedLetter
glyph-block-import Letter-Shared : CreateSelectorVariants DefineSelectorGlyph
glyph-block-import Letter-Shared-Shapes : SerifFrame EngHook CyrTailDescender glyph-block-import Letter-Shared-Shapes : SerifFrame EngHook CyrTailDescender
define FORM-FLAT 0 define FORM-FLAT 0
@ -91,7 +92,7 @@ glyph-block Letter-Latin-Upper-M : begin
return : object [swSideBot] return : object [swSideBot]
define [CyrSoftEmShape] : with-params [top df form slabType slanted] : glyph-proc define [CyrSoftEmShape] : with-params [top df form slabType slanted vSlab] : glyph-proc
local subDf : df.slice 4 3 local subDf : df.slice 4 3
local sidesSlope : if slanted 0.04 0 local sidesSlope : if slanted 0.04 0
local xRightTop : subDf.rightSB - top * sidesSlope local xRightTop : subDf.rightSB - top * sidesSlope
@ -106,9 +107,7 @@ glyph-block Letter-Latin-Upper-M : begin
include : MShape top subDf form slabType slanted (kMidHang -- df.div) include : MShape top subDf form slabType slanted (kMidHang -- df.div)
include : HBar.t xRightTop df.rightSB top swSideBot include : HBar.t xRightTop df.rightSB top swSideBot
if SLAB : include : VSerif.dr df.rightSB top VJut (swSideBot * VJutStroke / Stroke) if vSlab : include : VSerif.dr df.rightSB top VJut (swSideBot * VJutStroke / Stroke)
define MConfig : SuffixCfg.combine define MConfig : SuffixCfg.combine
SuffixCfg.weave SuffixCfg.weave
@ -127,6 +126,10 @@ glyph-block Letter-Latin-Upper-M : begin
grekCapitalSan { false FORM-SAN SLAB-AUTO } grekCapitalSan { false FORM-SAN SLAB-AUTO }
grekSmallSan { false FORM-SAN-SMALL SLAB-NONE } grekSmallSan { false FORM-SAN-SMALL SLAB-NONE }
define CyrlSoftEmGheConfig : object
serifless false
topRightSerifed true
foreach { suffix { slanted form slab } } [Object.entries MConfig] : do foreach { suffix { slanted form slab } } [Object.entries MConfig] : do
create-glyph "M.\(suffix)" : glyph-proc create-glyph "M.\(suffix)" : glyph-proc
local df : include : DivFrame para.diversityM 3 local df : include : DivFrame para.diversityM 3
@ -151,15 +154,24 @@ glyph-block Letter-Latin-Upper-M : begin
include : LeaningAnchor.Below.VBar.l df.leftSB include : LeaningAnchor.Below.VBar.l df.leftSB
include : MShape XH df form slab slanted include : MShape XH df form slab slanted
create-glyph "cyrl/EmSoft.\(suffix)" : glyph-proc define cyrlSoftEmDf : DivFrame para.diversityM 4
local df : include : DivFrame para.diversityM 3
include : df.markSet.capital
include : CyrSoftEmShape CAP df form slab slanted
create-glyph "cyrl/emSoft.\(suffix)" : glyph-proc DefineSelectorGlyph "cyrl/EmSoft" suffix cyrlSoftEmDf 'capital'
local df : include : DivFrame para.diversityM 3 DefineSelectorGlyph "cyrl/emSoft" suffix cyrlSoftEmDf 'e'
include : df.markSet.e
include : CyrSoftEmShape XH df form slab slanted foreach { suffixGhe cyrlSoftEmVSlab } [Object.entries CyrlSoftEmGheConfig] : do
create-glyph "cyrl/EmSoft.\(suffix).\(suffixGhe)" : glyph-proc
set-width 0
set-mark-anchor 'cvDecompose' 0 0
include : CyrSoftEmShape CAP cyrlSoftEmDf form slab slanted cyrlSoftEmVSlab
create-glyph "cyrl/emSoft.\(suffix).\(suffixGhe)" : glyph-proc
set-width 0
set-mark-anchor 'cvDecompose' 0 0
include : CyrSoftEmShape XH cyrlSoftEmDf form slab slanted cyrlSoftEmVSlab
select-variant "cyrl/EmSoft.\(suffix)" (follow -- 'cyrl/EnGhe/GhePart')
select-variant "cyrl/emSoft.\(suffix)" (follow -- 'cyrl/enghe/ghePart')
select-variant 'M' 'M' select-variant 'M' 'M'
link-reduced-variant 'M/sansSerif' 'M' MathSansSerif link-reduced-variant 'M/sansSerif' 'M' MathSansSerif
@ -169,8 +181,9 @@ glyph-block Letter-Latin-Upper-M : begin
alias 'grek/Mu' 0x39C 'M' alias 'grek/Mu' 0x39C 'M'
alias-reduced-variant 'grek/Mu/sansSerif' 'grek/Mu' 'M/sansSerif' MathSansSerif alias-reduced-variant 'grek/Mu/sansSerif' 'grek/Mu' 'M/sansSerif' MathSansSerif
alias 'cyrl/Em' 0x41C 'M' alias 'cyrl/Em' 0x41C 'M'
select-variant 'cyrl/EmSoft' 0xA666 (follow -- 'M')
select-variant 'cyrl/emSoft' 0xA667 (follow -- 'cyrl/em') CreateSelectorVariants 'cyrl/EmSoft' 0xA666 [Object.keys MConfig] (follow -- 'M')
CreateSelectorVariants 'cyrl/emSoft' 0xA667 [Object.keys MConfig] (follow -- 'cyrl/em')
derive-composites 'cyrl/EmTail' 0x4CD 'cyrl/Em' : do derive-composites 'cyrl/EmTail' 0x4CD 'cyrl/Em' : do
local df : DivFrame para.diversityM 3 local df : DivFrame para.diversityM 3

View file

@ -416,12 +416,15 @@ glyph-block Mark-Overlay : begin
include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)] include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)]
refer-glyph 'cyrlKavykaAbove' refer-glyph 'cyrlKavykaAbove'
create-glyph 'cyrlKavykaWithDotOver' : glyph-proc foreach { suffix { DrawAt kdr } } [Object.entries DotVariants] : do
set-width 0 create-glyph "cyrlKavykaWithDotOver.\(suffix)" : glyph-proc
set-mark-anchor 'overlay' 0 0 0 0 set-width 0
set-mark-anchor 'overlay' 0 0 0 0
include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)] include : with-transform [ApparentTranslate (-markMiddle) (-aboveMarkMid)]
refer-glyph 'cyrlKavykaWithDotAbove' refer-glyph "cyrlKavykaWithDotAbove.\(suffix)"
select-variant 'cyrlKavykaWithDotOver' (follow -- 'diacriticDot')
do "Inner dots" do "Inner dots"
glyph-block-export InnerDot glyph-block-export InnerDot

View file

@ -336,8 +336,9 @@ glyph-block Symbol-Math-Arith : begin
select-variant 'dotminus' 0x2238 (follow -- 'punctuationDot') select-variant 'dotminus' 0x2238 (follow -- 'punctuationDot')
turned 'minusdot' 0x2A2A 'dotminus' Middle SymbolMid turned 'minusdot' 0x2A2A 'dotminus' Middle SymbolMid
select-variant 'dotslash' null (follow -- 'punctuationDot') select-variant 'dotvbar' (follow -- 'diacriticDot')
select-variant 'dotvbar' null (follow -- 'punctuationDot') select-variant 'dotslash' (follow -- 'diacriticDot')
select-variant 'dothbar' (shapeFrom -- 'dotminus') (follow -- 'diacriticDot')
select-variant 'dottimes' 0x2A30 (follow -- 'punctuationDot') select-variant 'dottimes' 0x2A30 (follow -- 'punctuationDot')