* Add Characters
- REVERSED SEMICOLON (`U+204F`); - REVERSED QUESTION MARK (`U+2E2E`); - REVERSED COMMA (`U+2E41`); - DOUBLE LOW-REVERSED-9 QUOTATION MARK (`U+2E42`);
This commit is contained in:
parent
1933fe85f2
commit
0c6cd3993d
7 changed files with 162 additions and 129 deletions
5
changes/11.2.8.md
Normal file
5
changes/11.2.8.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
* Add Characters
|
||||
- REVERSED SEMICOLON (`U+204F`);
|
||||
- REVERSED QUESTION MARK (`U+2E2E`);
|
||||
- REVERSED COMMA (`U+2E41`);
|
||||
- DOUBLE LOW-REVERSED-9 QUOTATION MARK (`U+2E42`);
|
|
@ -33,14 +33,12 @@ glyph-block Mark-Above : begin
|
|||
### Above marks
|
||||
create-glyph 'dotAbove' 0x307 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'dot'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
include : DotAt markMiddle aboveMarkMid DotRadius
|
||||
|
||||
create-glyph 'dieresisAbove' 0x308 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'dieresis'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
include : DotAt (markMiddle - markExtend) aboveMarkMid markDotsRadius
|
||||
|
@ -53,7 +51,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'ringAbove' 0x30A : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'ring'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
local [object radiusIn radiusOut] : RingDims
|
||||
|
@ -72,7 +69,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'graveAbove' 0x300 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'grave'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -89,7 +85,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'acuteAbove' 0x301 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'acute'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -106,7 +101,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'circumflexAbove' 0x302 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'circum'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -153,7 +147,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'caronAbove' 0x30c : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'caron'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -222,7 +215,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'tildeAbove' 0x303 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'tilde'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -235,7 +227,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'tildeAboveOverlay' : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'tilde'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -351,7 +342,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'macronAbove' 0x304 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'macron'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -364,7 +354,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'sbOverlineAbove' : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'overline'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -374,7 +363,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'overlineAbove' 0x305 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'overline'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -384,7 +372,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'sbRsbOverlineAbove' : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'overline'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -411,7 +398,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'breveAbove' 0x306 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'breve'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -427,7 +413,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'archAbove' 0x311 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'arch'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -443,7 +428,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'hookAbove' 0x309 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'hook'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -463,7 +447,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'doubleGraveAbove' 0x30F : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'dblgrave'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -478,7 +461,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'doubleAcuteAbove' 0x30B : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'dblacute'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -493,7 +475,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'commaAbove' 0x313 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'comma'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -513,7 +494,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'turnCommaAbove' 0x312 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'turnComma'
|
||||
include : refer-glyph "commaAbove"
|
||||
include : FlipAround markMiddle ([mix aboveMarkTop (aboveMarkBot - commaAboveRadius) 0.5] + (DotRadius * 0.3) + commaOvershoot / 2)
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
|
@ -521,7 +501,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'revCommaAbove' 0x314 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'revComma'
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
||||
|
@ -631,7 +610,6 @@ glyph-block Mark-Above : begin
|
|||
|
||||
create-glyph 'perispomeniAbove' 0x342 : glyph-proc
|
||||
set-width 0
|
||||
currentGlyph.shortName = 'perisp'
|
||||
include : refer-glyph "archAbove"
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkStack
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
|
|
@ -57,7 +57,6 @@ glyph-block Mark-Below : begin
|
|||
|
||||
create-glyph 'iotaBelow' 0x345 : glyph-proc
|
||||
set-width 0
|
||||
set currentGlyph.shortName 'iota'
|
||||
set-mark-anchor 'below' markMiddle 0 markMiddle belowMarkStack
|
||||
set-base-anchor 'belowBrace' markMiddle belowMarkMid
|
||||
include : VBar markMiddle belowMarkBot belowMarkTop (markHalfStroke * 2)
|
||||
|
|
|
@ -10,16 +10,16 @@ glyph-block Symbol-Punctuation-Emotion : begin
|
|||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Shared-Symbol-Shapes : DotVariants
|
||||
|
||||
local questionBottom : Math.max (CAP * 0.3) (DotSize * 1.5)
|
||||
local [questionYConnectT top questionBottom] : mix questionBottom (top - HalfStroke) 0.375
|
||||
local emotionBottom : Math.max (CAP * 0.3) (DotSize * 1.5)
|
||||
|
||||
do "Exclamation"
|
||||
foreach { suffix { DrawAt kdr overshoot } } [Object.entries DotVariants] : do
|
||||
local dr : DotRadius * kdr
|
||||
create-glyph "exclam.\(suffix)" : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
include : MarkSet.capital
|
||||
include : VBar df.middle [clamp 0 (CAP * 0.4) (questionBottom * 1.18)] CAP
|
||||
include : VBar df.middle [clamp 0 (CAP * 0.4) (emotionBottom * 1.18)] CAP
|
||||
include : DrawAt df.middle dr (dr - overshoot)
|
||||
|
||||
create-glyph "question/dotPart.\(suffix)" : glyph-proc
|
||||
|
@ -39,7 +39,10 @@ glyph-block Symbol-Punctuation-Emotion : begin
|
|||
alias 'alveolarclick' 0x1C3 'exclam'
|
||||
turned 'exclamDown' 0xA1 'exclam' [DivFrame para.diversityF].middle (XH / 2)
|
||||
|
||||
define [QuestionSmoothShape top questionBottom left right] : glyph-proc
|
||||
do "Question"
|
||||
local [YConnectT top emotionBottom] : mix emotionBottom (top - HalfStroke) 0.375
|
||||
|
||||
define [SmoothShape top emotionBottom left right] : glyph-proc
|
||||
define strokeEndCor : Math.hypot 1 TanSlope
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
|
@ -47,10 +50,20 @@ glyph-block Symbol-Punctuation-Emotion : begin
|
|||
hookstart (top - O)
|
||||
g4 right (top - SmoothB * 0.9)
|
||||
alsoThru.g2 0.5 0.45 [widths.center EssQuestion]
|
||||
straight.down.end ([mix left right 0.5] - HalfStroke * HVContrast * strokeEndCor) questionBottom [widths.heading (Stroke * strokeEndCor) 0 Downward]
|
||||
straight.down.end ([mix left right 0.5] - HalfStroke * HVContrast * strokeEndCor) emotionBottom [widths.lhs.heading (Stroke * strokeEndCor) Downward]
|
||||
|
||||
define [QuestionCornerShape top questionBottom left right] : glyph-proc
|
||||
local questionYConnect : questionYConnectT top questionBottom
|
||||
define [RevSmoothShape top emotionBottom left right] : glyph-proc
|
||||
define strokeEndCor : Math.hypot 1 TanSlope
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
g4 right (top - Hook)
|
||||
hookstart (top - O)
|
||||
g4 left (top - SmoothA * 0.9)
|
||||
alsoThru.g2 0.5 0.45 [widths.center EssQuestion]
|
||||
straight.down.end ([mix left right 0.5] + HalfStroke * HVContrast * strokeEndCor) emotionBottom [widths.rhs.heading (Stroke * strokeEndCor) Downward]
|
||||
|
||||
define [CornerShape top emotionBottom left right] : glyph-proc
|
||||
local questionYConnect : YConnectT top emotionBottom
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
g4 left (top - Hook)
|
||||
|
@ -58,10 +71,21 @@ glyph-block Symbol-Punctuation-Emotion : begin
|
|||
g4 (right - OX) [YSmoothMidR top (questionYConnect - Stroke) SmoothA SmoothB]
|
||||
arcvh
|
||||
straight.left.end [mix left right 0.5] (questionYConnect - Stroke) [heading Leftward]
|
||||
include : VBar [mix left right 0.5] questionBottom questionYConnect
|
||||
include : VBar [mix left right 0.5] emotionBottom questionYConnect
|
||||
|
||||
define [QuestionCornerFlatShape top questionBottom left right] : glyph-proc
|
||||
local questionYConnect : questionYConnectT top questionBottom
|
||||
define [RevCornerShape top emotionBottom left right] : glyph-proc
|
||||
local questionYConnect : YConnectT top emotionBottom
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
g4 right (top - Hook)
|
||||
hookstart (top - O)
|
||||
g4 (left + OX) [YSmoothMidL top (questionYConnect - Stroke) SmoothA SmoothB]
|
||||
arcvh
|
||||
straight.right.end [mix left right 0.5] (questionYConnect - Stroke) [heading Rightward]
|
||||
include : VBar [mix left right 0.5] emotionBottom questionYConnect
|
||||
|
||||
define [CornerFlatShape top emotionBottom left right] : glyph-proc
|
||||
local questionYConnect : YConnectT top emotionBottom
|
||||
local depth : Math.max (Stroke * 1.5) ((right - left) * 0.5)
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
|
@ -71,30 +95,47 @@ glyph-block Symbol-Punctuation-Emotion : begin
|
|||
g4 (right - OX) [YSmoothMidR top (questionYConnect - Stroke) SmoothA SmoothB]
|
||||
arcvh
|
||||
straight.left.end [mix left right 0.5] (questionYConnect - Stroke) [heading Leftward]
|
||||
include : VBar [mix left right 0.5] questionBottom questionYConnect
|
||||
include : VBar [mix left right 0.5] emotionBottom questionYConnect
|
||||
|
||||
define QuestionConfig : object
|
||||
smooth { QuestionSmoothShape }
|
||||
corner { QuestionCornerShape }
|
||||
cornerFlatHooked { QuestionCornerFlatShape }
|
||||
define [RevCornerFlatShape top emotionBottom left right] : glyph-proc
|
||||
local questionYConnect : YConnectT top emotionBottom
|
||||
local depth : Math.max (Stroke * 1.5) ((right - left) * 0.5)
|
||||
include : dispiro
|
||||
widths.lhs
|
||||
flat [mix right left 0.125] top [heading Leftward]
|
||||
curl (left + depth + CorrectionOMidS) top
|
||||
archv
|
||||
g4 (left + OX) [YSmoothMidL top (questionYConnect - Stroke) SmoothA SmoothB]
|
||||
arcvh
|
||||
straight.right.end [mix left right 0.5] (questionYConnect - Stroke) [heading Rightward]
|
||||
include : VBar [mix left right 0.5] emotionBottom questionYConnect
|
||||
|
||||
foreach { suffix { Body } } [Object.entries QuestionConfig] : do
|
||||
define Config : object
|
||||
smooth { SmoothShape RevSmoothShape }
|
||||
corner { CornerShape RevCornerShape }
|
||||
cornerFlatHooked { CornerFlatShape RevCornerFlatShape }
|
||||
|
||||
foreach { suffix { Body RevBody } } [Object.entries Config] : do
|
||||
create-glyph "question/hookPart.\(suffix)" : glyph-proc
|
||||
include : Body CAP questionBottom SB RightSB
|
||||
include : Body CAP emotionBottom SB RightSB
|
||||
set-base-anchor 'cvDecompose' 0 0
|
||||
|
||||
create-glyph "questionDown/hookPart.\(suffix)" : glyph-proc
|
||||
include : Body CAP questionBottom SB RightSB
|
||||
include : Body CAP emotionBottom SB RightSB
|
||||
include : FlipAround Middle (XH / 2)
|
||||
set-base-anchor 'cvDecompose' 0 0
|
||||
|
||||
create-glyph "revQuestion/hookPart.\(suffix)" : glyph-proc
|
||||
include : RevBody CAP emotionBottom SB RightSB
|
||||
set-base-anchor 'cvDecompose' 0 0
|
||||
|
||||
define [InterroBangBodyImpl] : glyph-proc
|
||||
local angle : 12 / 180 * Math.PI
|
||||
include : Body CAP questionBottom [mix Middle SB 0.75] RightSB
|
||||
include : Body CAP emotionBottom [mix Middle SB 0.75] RightSB
|
||||
include : Translate (-Middle) (-DotRadius)
|
||||
include : Rotate (-2 * angle)
|
||||
include : Translate Middle DotRadius
|
||||
include : VBar Middle questionBottom CAP
|
||||
include : VBar Middle emotionBottom CAP
|
||||
include : Translate (-Middle) (-DotRadius)
|
||||
include : Rotate (1.2 * angle)
|
||||
include : Translate Middle DotRadius
|
||||
|
@ -114,6 +155,9 @@ glyph-block Symbol-Punctuation-Emotion : begin
|
|||
select-variant 'questionDown/hookPart' (follow -- 'question')
|
||||
create-two-part-glyph 'questionDown' 0xBF 'questionDown/hookPart' 'questionDown/dotPart'
|
||||
|
||||
select-variant 'revQuestion/hookPart' (follow -- 'question')
|
||||
create-two-part-glyph 'revQuestion' 0x2E2E 'revQuestion/hookPart' 'question/dotPart'
|
||||
|
||||
select-variant 'interrobang/bodyPart' (follow -- 'question')
|
||||
create-two-part-glyph 'interrobang' 0x203D 'interrobang/bodyPart' 'question/dotPart'
|
||||
|
||||
|
|
|
@ -23,6 +23,12 @@ glyph-block Symbol-Punctuation-Quotes-And-Primes : begin
|
|||
include : refer-glyph src
|
||||
include : FlipAround df.middle 0 ratio ratio
|
||||
|
||||
derive-glyphs 'revLowSingleQuote' null 'revComma' : function [src sel] : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
include : refer-glyph src
|
||||
include : FlipAround df.middle 0 ratio ratio
|
||||
|
||||
derive-glyphs 'openSingleQuote' 0x2018 'lowSingleQuote' : function [src sel] : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
|
@ -35,7 +41,7 @@ glyph-block Symbol-Punctuation-Quotes-And-Primes : begin
|
|||
include : refer-glyph src
|
||||
include : FlipAround df.middle yCurlyQuotes
|
||||
|
||||
derive-glyphs 'revertSingleQuote' 0x201B 'invertComma' : function [src sel] : glyph-proc
|
||||
derive-glyphs 'revSingleQuote' 0x201B 'revComma' : function [src sel] : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
include : refer-glyph src
|
||||
|
@ -51,18 +57,15 @@ glyph-block Symbol-Punctuation-Quotes-And-Primes : begin
|
|||
include : refer-glyph gn
|
||||
include : Translate (dist + Middle - dfSingle.middle) 0
|
||||
|
||||
derive-glyphs 'lowDoubleQuote' 0x201E 'lowSingleQuote'
|
||||
function [src sel] : DoubleQuoteProc src
|
||||
derive-glyphs 'openDoubleQuote' 0x201C 'openSingleQuote'
|
||||
function [src sel] : DoubleQuoteProc src
|
||||
derive-glyphs 'closeDoubleQuote' 0x201D 'closeSingleQuote'
|
||||
function [src sel] : DoubleQuoteProc src
|
||||
derive-glyphs 'revertDoubleQuote' 0x201F 'revertSingleQuote'
|
||||
function [src sel] : DoubleQuoteProc src
|
||||
derive-glyphs 'lowDoubleQuote' 0x201E 'lowSingleQuote' DoubleQuoteProc
|
||||
derive-glyphs 'openDoubleQuote' 0x201C 'openSingleQuote' DoubleQuoteProc
|
||||
derive-glyphs 'closeDoubleQuote' 0x201D 'closeSingleQuote' DoubleQuoteProc
|
||||
derive-glyphs 'revDoubleQuote' 0x201F 'revSingleQuote' DoubleQuoteProc
|
||||
derive-glyphs 'revLowDoubleQuote' 0x2E42 'revLowSingleQuote' DoubleQuoteProc
|
||||
|
||||
alias 'mdfTurncomma' 0x2BB 'openSingleQuote'
|
||||
alias 'mdfApostrophe' 0x2BC 'closeSingleQuote'
|
||||
alias 'mdfRevComma' 0x2BD 'revertSingleQuote'
|
||||
alias 'mdfRevComma' 0x2BD 'revSingleQuote'
|
||||
|
||||
# Primes
|
||||
create-glyph 'prime' 0x2032 : glyph-proc
|
||||
|
@ -154,7 +157,7 @@ glyph-block Symbol-Punctuation-Quotes-And-Primes : begin
|
|||
g4 df.middle quoteBottom [widths.heading (HalfStroke * 0.95) (HalfStroke * 0.95) Downward]
|
||||
|
||||
alias 'asciiSingleQuote.raisedComma' null 'closeSingleQuote'
|
||||
alias 'asciiGrave.raisedInverseComma' null 'revertSingleQuote'
|
||||
alias 'asciiGrave.raisedInverseComma' null 'revSingleQuote'
|
||||
alias 'asciiGrave.raisedTurnComma' null 'openSingleQuote'
|
||||
|
||||
select-variant 'asciiSingleQuote' 0x27
|
||||
|
|
|
@ -80,7 +80,7 @@ glyph-block Symbol-Punctuation-Small : begin
|
|||
g4 (-commaOverflow + Descender * TanSlope) Descender [widths.rhs swEnd]
|
||||
|
||||
|
||||
create-glyph 'invertComma.round' : glyph-proc
|
||||
create-glyph 'revComma.round' : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
include : CommaShapeT df.middle 0 : glyph-proc
|
||||
|
@ -114,7 +114,7 @@ glyph-block Symbol-Punctuation-Small : begin
|
|||
quadControls (0 - TanSlope / 2) (0.5 - TanSlope * r / Descender) 12
|
||||
g4 (commaOverflow + Descender * TanSlope) Descender [widths.lhs swEnd]
|
||||
|
||||
create-glyph 'invertComma.square' : glyph-proc
|
||||
create-glyph 'revComma.square' : glyph-proc
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
include : WithTransform [Translate df.middle 0] : glyph-proc
|
||||
|
@ -131,7 +131,7 @@ glyph-block Symbol-Punctuation-Small : begin
|
|||
g4 (commaOverflow + Descender * TanSlope) Descender [widths.lhs swEnd]
|
||||
|
||||
select-variant 'comma' ',' (follow -- 'punctuationDot')
|
||||
select-variant 'invertComma' (follow -- 'punctuationDot')
|
||||
select-variant 'revComma' 0x2E41 (follow -- 'punctuationDot')
|
||||
|
||||
foreach { suffix { DrawAt kDotRadius overshoot } } [Object.entries DotVariants] : do
|
||||
create-glyph "colon.\(suffix)" : glyph-proc
|
||||
|
@ -153,10 +153,15 @@ glyph-block Symbol-Punctuation-Small : begin
|
|||
include [refer-glyph "comma.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
include [refer-glyph "xhPeriod.\(suffix)"]
|
||||
|
||||
create-glyph "invertSemicolon.\(suffix)" : glyph-proc
|
||||
include [refer-glyph "revComma.\(suffix)"] AS_BASE ALSO_METRICS
|
||||
include [refer-glyph "xhPeriod.\(suffix)"]
|
||||
|
||||
select-variant 'colon' ':' (follow -- 'punctuationDot')
|
||||
select-variant 'colon/mid' (follow -- 'punctuationDot')
|
||||
select-variant 'modifierLetterColon' 0xA789 (follow -- 'punctuationDot')
|
||||
select-variant 'semicolon' ';' (follow -- 'punctuationDot')
|
||||
select-variant 'invertSemicolon' 0x204F (follow -- 'punctuationDot')
|
||||
alias 'greekquestion' 0x37E 'semicolon'
|
||||
|
||||
# Hollow (no CV)
|
||||
|
|
|
@ -94,7 +94,6 @@ exports.Glyph = class Glyph {
|
|||
this.cloneRankFromGlyph(g);
|
||||
}
|
||||
cloneRelationFromGlyph(g) {
|
||||
this.shortName = g.shortName;
|
||||
this.related = g.related;
|
||||
}
|
||||
cloneRankFromGlyph(g) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue