Fix regression of diacritic placement of over-the-tie marks (#1092).

This commit is contained in:
be5invis 2021-05-29 16:49:33 -07:00
parent 8f4c5e7ae3
commit 3e615f4329
5 changed files with 7 additions and 11 deletions

View file

@ -7,3 +7,4 @@
* Fix missing serif of Italic Latin Phi (#1087). * Fix missing serif of Italic Latin Phi (#1087).
* Remove `U+1FB93` ("Left Half Block and Right Half Inverse Medium Shade") since it is a reserved code point for now (#1088). * Remove `U+1FB93` ("Left Half Block and Right Half Inverse Medium Shade") since it is a reserved code point for now (#1088).
* Add Black Rightwards Arrowhead (`U+27A4`) (#1090). * Add Black Rightwards Arrowhead (`U+27A4`) (#1090).
* Fix regression of diacritic placement of over-the-tie marks (#1092).

View file

@ -710,7 +710,6 @@ glyph-block AutoBuild-Enclosure : begin
do "triple-digit dashed-boxed" do "triple-digit dashed-boxed"
createDashedBoxedGlyphs 3 : list createDashedBoxedGlyphs 3 : list
list 0x034F {'C.serifless' 'G.toothedSeriflessHooked' 'J.serifless'} WideWidth1
list 0xFFFC {'O' 'B.standardSerifless' 'J.serifless'} WideWidth1 list 0xFFFC {'O' 'B.standardSerifless' 'J.serifless'} WideWidth1
do "inset boxed" do "inset boxed"

View file

@ -41,6 +41,7 @@ glyph-block Symbol-Mosaic-NotDef : begin
set currentGlyph.autoRefPriority (-9999) set currentGlyph.autoRefPriority (-9999)
alias 'nonmarkingreturn' 0x000D 'zwsp' alias 'nonmarkingreturn' 0x000D 'zwsp'
alias 'cgj' 0x34F 'zwsp'
alias 'nbsp' 0xA0 'space' alias 'nbsp' 0xA0 'space'
alias 'enquad' 0x2000 'sp1' alias 'enquad' 0x2000 'sp1'

View file

@ -138,21 +138,16 @@ export : define [buildCCMP sink glyphStore markGlyphs] : begin
object [from {'revCommaAbove' 'perispomeniAbove'}] [to 'dasiaperispomeni'] object [from {'revCommaAbove' 'perispomeniAbove'}] [to 'dasiaperispomeni']
object [from {'cyrlPsiliAbove' 'cyrlPokrytieAbove'}] [to 'cyrlPsiliPokrytieAbove'] object [from {'cyrlPsiliAbove' 'cyrlPokrytieAbove'}] [to 'cyrlPsiliPokrytieAbove']
define gnCgjNwid 'dashed-boxed3{847}{C}{G}{J}.NWID'
define gnCgjWwid 'dashed-boxed3{847}{C}{G}{J}.WWID'
define lookupCcmp-TieMarkLigature : add-lookup sink : object define lookupCcmp-TieMarkLigature : add-lookup sink : object
.type 'gsub_ligature' .type 'gsub_ligature'
.substitutions : {}.concat .substitutions : {}.concat
TieMarkFrom.map : lambda [gnFrom idx] TieMarkFrom.map : lambda [gnFrom idx]
object [from {gnCgjNwid gnFrom}] [to TieMarkTo.(idx)] object [from {'cgj' gnFrom}] [to TieMarkTo.(idx)]
TieMarkFrom.map : lambda [gnFrom idx]
object [from {gnCgjWwid gnFrom}] [to TieMarkTo.(idx)]
define lookupCcmp-TieMarkContextual : add-lookup sink : object define lookupCcmp-TieMarkContextual : add-lookup sink : object
.type 'gsub_chaining' .type 'gsub_chaining'
.rules : list : object .rules : list : object
match {[TieGlyphs.concat TieMarkTo] {gnCgjNwid gnCgjWwid} TieMarkFrom} match {[TieGlyphs.concat TieMarkTo] {'cgj'} TieMarkFrom}
inputBegins 1 inputBegins 1
inputEnds 3 inputEnds 3
apply {{.at 1 .lookup lookupCcmp-TieMarkLigature}} apply {{.at 1 .lookup lookupCcmp-TieMarkLigature}}

View file

@ -77,12 +77,12 @@ const TieMark = {
const TieGlyph = { const TieGlyph = {
get(glyph) { get(glyph) {
if (glyph && glyph.related) return glyph.related.TieMark; if (glyph && glyph.related) return glyph.related.TieGlyph;
else return null; else return null;
}, },
set(glyph) { set(glyph) {
if (!glyph.related) glyph.related = {}; if (!glyph.related) glyph.related = {};
glyph.related.TieMark = true; glyph.related.TieGlyph = true;
} }
}; };