From 35ffbc11de273ea7cfbdcc6ba1dd739f2fbb9aed Mon Sep 17 00:00:00 2001 From: be5invis Date: Sun, 4 Jun 2023 15:04:30 -0700 Subject: [PATCH] Fix alignment in various APL characters (#1771). --- changes/24.1.2.md | 1 + font-src/glyphs/symbol/math/apl.ptl | 34 +++++++++++-------- font-src/glyphs/symbol/punctuation/dashes.ptl | 5 ++- .../symbol/punctuation/quotes-and-primes.ptl | 3 ++ 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/changes/24.1.2.md b/changes/24.1.2.md index 0813e0276..d6b823d0b 100644 --- a/changes/24.1.2.md +++ b/changes/24.1.2.md @@ -1,2 +1,3 @@ * Fix broken geometry of CYRILLIC CAPITAL LETTER ZHWE (`U+A684`) and CYRILLIC SMALL LETTER ZHWE (`U+A685`) under some settings of `cv63` and `cv64` (#1769). * Improve glyphs of PITCHFORK WITH TEE TOP (`U+2ADA`) ... NONFORKING (`U+2ADD`) such that their terminals are of consistent height with each other. +* Fix alignment in various APL characters (#1771). diff --git a/font-src/glyphs/symbol/math/apl.ptl b/font-src/glyphs/symbol/math/apl.ptl index 55aa90880..23ba4e682 100644 --- a/font-src/glyphs/symbol/math/apl.ptl +++ b/font-src/glyphs/symbol/math/apl.ptl @@ -174,7 +174,9 @@ glyph-block Symbol-Math-APL : begin create-glyph 0x2366 : composite-proc [refer-glyph 'cup'] [refer-glyph 'apl/bar'] create-glyph 0x236D : composite-proc [refer-glyph 'overlayTildeOperator'] [refer-glyph 'bar'] - derive-composites 'apl/barComma' 0x236A 'comma' 'minus' + define CenterSmallPunctuations : ApparentTranslate (Middle - [DivFrame para.diversityF].middle) 0 + + derive-composites 'apl/barComma' 0x236A 'markDemoBaseSpace' 'comma' CenterSmallPunctuations 'minus' derive-composites 'apl/zeroTilde' 0x236C 'zero.lnum/forceUnslashed' 'overlayTildeOperator' # Dieresis & underscore @@ -185,19 +187,19 @@ glyph-block Symbol-Math-APL : begin refer-glyph srcs.1 clear-anchors - AplAccented 0x2362 'nabla.aplForm' 'dieresisAbove' [MarkSet.tack] - AplAccented 0x2361 'top' 'dieresisAbove' [MarkSet.tack] - AplAccented 0x2363 'asterisk.pentaSMid' 'dieresisAbove' [MarkSet.plus] - AplAccented 0x2364 'mathSmallCircle' 'dieresisAbove' [MarkSet.plus] - AplAccented 0x2365 'whiteCircle.NWID' 'dieresisAbove' [MarkSet.plus] - AplAccented 0x2368 'asciiTilde.low' 'dieresisAbove' [MarkSet.plus] - AplAccented 0x2369 'greater.narrow' 'dieresisAbove' [MarkSet.plus] - AplAccented 0x234A 'bot' 'underlineBelow' [MarkSet.tack] - AplAccented 0x2358 'asciiSingleQuote/body/straight' 'underlineBelow' [MarkSet.plus] - AplAccented 0x235A 'whiteDiamondOperator' 'underlineBelow' [MarkSet.plus] - AplAccented 0x235B 'mathSmallCircle' 'underlineBelow' [MarkSet.plus] - AplAccented 0x235C 'whiteCircle.NWID' 'underlineBelow' [MarkSet.plus] - AplAccented 0x2377 'aplElement' 'underlineBelow' [MarkSet.plus] + AplAccented 0x2362 'nabla.aplForm' 'dieresisAbove' [MarkSet.tack] + AplAccented 0x2361 'top' 'dieresisAbove' [MarkSet.tack] + AplAccented 0x2363 'asterisk.pentaSMid' 'dieresisAbove' [MarkSet.plus] + AplAccented 0x2364 'mathSmallCircle' 'dieresisAbove' [MarkSet.plus] + AplAccented 0x2365 'whiteCircle.NWID' 'dieresisAbove' [MarkSet.plus] + AplAccented 0x2368 'asciiTilde.low' 'dieresisAbove' [MarkSet.plus] + AplAccented 0x2369 'greater.narrow' 'dieresisAbove' [MarkSet.plus] + AplAccented 0x234A 'bot' 'underlineBelow' [MarkSet.tack] + AplAccented 0x2358 'asciiSingleQuote/body/straight/HW' 'underlineBelow' [MarkSet.plus] + AplAccented 0x235A 'whiteDiamondOperator' 'underlineBelow' [MarkSet.plus] + AplAccented 0x235B 'mathSmallCircle' 'underlineBelow' [MarkSet.plus] + AplAccented 0x235C 'whiteCircle.NWID' 'underlineBelow' [MarkSet.plus] + AplAccented 0x2377 'aplElement' 'underlineBelow' [MarkSet.plus] derive-composites 'apl/alphaBar' 0x2376 'grek/alpha' [refer-glyph 'underlineBelow'] [clear-anchors] derive-composites 'apl/iotaBar' 0x2378 'grek/iota' [refer-glyph 'underlineBelow'] [clear-anchors] @@ -211,7 +213,9 @@ glyph-block Symbol-Math-APL : begin create-glyph 0x2346 : composite-proc : Overlay [refer-glyph 'arrowRight.NWID'] [refer-glyph 'apl/bar'] create-glyph 0x235F : composite-proc [intersection [refer-glyph 'mathOOutline'] [refer-glyph 'opAsterisk.low']] [refer-glyph 'mathO'] - derive-glyphs 'apl/barSemicolon' 0x236E 'semicolon' : function [src gr] : Overlay [refer-glyph src] [refer-glyph 'underscore.high'] + derive-glyphs 'apl/barSemicolon' 0x236E 'semicolon' : function [src gr] : Overlay + WithTransform CenterSmallPunctuations [refer-glyph src] + refer-glyph 'underscore.high' # Complex Composition create-glyph 0x2367 : composite-proc [refer-glyph 'apl/bar'] : union diff --git a/font-src/glyphs/symbol/punctuation/dashes.ptl b/font-src/glyphs/symbol/punctuation/dashes.ptl index 8fc46a8b5..4dbb2db80 100644 --- a/font-src/glyphs/symbol/punctuation/dashes.ptl +++ b/font-src/glyphs/symbol/punctuation/dashes.ptl @@ -56,6 +56,9 @@ glyph-block Symbol-Punctuation-Dashes : begin alias 'nbHyphen' 0x2011 'hyphen' alias 'hyphenBullet' 0x2043 'hyphen' + create-glyph 'hyphenHW' : glyph-proc + include : HBar.m SB RightSB SymbolMid + create-glyph 'figureDash' 0x2012 : HBar.m SB RightSB SymbolMid create-glyph 'overline' 0x203E : HBar.t SB RightSB CAP @@ -71,7 +74,7 @@ glyph-block Symbol-Punctuation-Dashes : begin alias [MangleName 'horizontalBar'] [MangleUnicode 0x2015] [MangleName 'emDash'] - derive-multi-part-glyphs 'hyphenDieresis' 0x2E1A { 'hyphen' 'dieresisAbove'} + derive-multi-part-glyphs 'hyphenDieresis' 0x2E1A { 'hyphenHW' 'dieresisAbove'} function [src sel] : composite-proc refer-glyph src.0 MarkSet.plus diff --git a/font-src/glyphs/symbol/punctuation/quotes-and-primes.ptl b/font-src/glyphs/symbol/punctuation/quotes-and-primes.ptl index e0722f1ba..9df98266e 100644 --- a/font-src/glyphs/symbol/punctuation/quotes-and-primes.ptl +++ b/font-src/glyphs/symbol/punctuation/quotes-and-primes.ptl @@ -184,6 +184,9 @@ glyph-block Symbol-Punctuation-Quotes-And-Primes : begin set-width df.width include : StraightQuoteShape df quoteTop quoteBottom + create-glyph 'asciiSingleQuote/body/straight/HW' : glyph-proc + include : StraightQuoteShape [DivFrame 1] quoteTop quoteBottom + create-glyph 'Saltillo' 0xA78B : glyph-proc local df : DivFrame para.diversityF set-width df.width