* Add modifier letters stress and high/low tone. (#2405)
* Improve glyph visual for `mdfUnaspirated`. * Fix side bearings for `mdfSecondaryStress`.
This commit is contained in:
parent
7a8f18f3b0
commit
f45eab7759
5 changed files with 32 additions and 9 deletions
5
changes/30.3.2.md
Normal file
5
changes/30.3.2.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
* Fix side bearings of `U+02CC` under Quasi-Proportional.
|
||||
* Improve glyph shape for `U+02ED`.
|
||||
* Add characters:
|
||||
- MODIFIER LETTER STRESS AND HIGH TONE (`U+A720`).
|
||||
- MODIFIER LETTER STRESS AND LOW TONE (`U+A721`).
|
|
@ -79,7 +79,6 @@ export : define decompOverrides : object
|
|||
0x2DD { 'markBaseSpace' 'doubleAcuteAbove' }
|
||||
0x2DF { 'markBaseSpace' 'crossAbove' }
|
||||
0x2EC { 'markBaseSpace' 'caronBelow' }
|
||||
0x2ED { 'markBaseSpace' 'dblOverlineAbove' }
|
||||
0x2EF { 'markBaseSpace' 'downArrowHeadBelow' }
|
||||
0x2F0 { 'markBaseSpace' 'upArrowHeadBelow' }
|
||||
0x2F1 { 'markBaseSpace' 'lessBelow' }
|
||||
|
|
|
@ -11,8 +11,9 @@ glyph-block Symbol-Punctuation-Dashes : begin
|
|||
glyph-block-import Common-Derivatives
|
||||
glyph-block-import Symbol-Math-Relation-Common : EqualHalfSpace
|
||||
|
||||
define openBoxGap : Math.max (Stroke * 1.25) (XH / 4)
|
||||
|
||||
do 'underscore'
|
||||
define openBoxGap : Math.max (Stroke * 1.25) (XH / 4)
|
||||
define [OpenBoxSide y] : union
|
||||
VBar.l SB y (y + openBoxGap) OperatorStroke
|
||||
VBar.r RightSB y (y + openBoxGap) OperatorStroke
|
||||
|
@ -57,6 +58,9 @@ glyph-block Symbol-Punctuation-Dashes : begin
|
|||
|
||||
create-glyph 'figureDash' 0x2012 : HBar.m SB RightSB SymbolMid
|
||||
create-glyph 'overline' 0x203E : HBar.t SB RightSB CAP
|
||||
create-glyph 'mdfUnaspirated' 0x2ED : composite-proc
|
||||
HBar.t SB RightSB CAP
|
||||
HBar.t SB RightSB (CAP - openBoxGap)
|
||||
|
||||
create-glyph 'enDash' 0x2013 : glyph-proc
|
||||
set-width Width
|
||||
|
@ -74,11 +78,11 @@ glyph-block Symbol-Punctuation-Dashes : begin
|
|||
set-width emDashWidth
|
||||
include : dispiro
|
||||
widths.center
|
||||
flat (SB + [HSwToV HalfStroke]) (SymbolMid + [Math.max ((RightSB - SB) * 0.55) (XH * 0.5)]) [heading Downward]
|
||||
curl (SB + [HSwToV HalfStroke]) (SymbolMid + SmallArchDepthB)
|
||||
flat (SB + [HSwToV HalfStroke] + OX) (SymbolMid + [Math.max ((RightSB - SB) * 0.55) (XH * 0.5)]) [heading Downward]
|
||||
curl (SB + [HSwToV HalfStroke] + OX) (SymbolMid + SmallArchDepthB)
|
||||
arcvh
|
||||
flat Middle SymbolMid
|
||||
curl (emDashWidth - SB) SymbolMid [heading Rightward]
|
||||
curl (emDashWidth - SB - OX) SymbolMid [heading Rightward]
|
||||
|
||||
derive-multi-part-glyphs 'hyphenDieresis' 0x2E1A { 'figureDash' 'dieresisAbove'}
|
||||
function [src sel] : composite-proc
|
||||
|
|
|
@ -14,6 +14,10 @@ glyph-block Symbol-Other-Phonetic : begin
|
|||
local toneMarkLeft : mix SB RightSB 0.1
|
||||
local toneMarkRight : Width - toneMarkLeft
|
||||
|
||||
define [dblToneMarkLeft df] : mix df.leftSB df.rightSB 0.1
|
||||
define [dblToneMarkRight df] : mix df.leftSB df.rightSB 0.9
|
||||
define [dblToneMarkMiddle df] : mix [dblToneMarkLeft df] [dblToneMarkRight df] 0.5
|
||||
|
||||
create-glyph 'triangleColon' 0x2D0 : glyph-proc
|
||||
include : MarkSet.e
|
||||
include : union
|
||||
|
@ -35,7 +39,7 @@ glyph-block Symbol-Other-Phonetic : begin
|
|||
|
||||
define [yOfTone tone] : mix (OperatorStroke / 2) (CAP - OperatorStroke / 2) (tone / 4)
|
||||
define [yOfToneNeutral tone] : mix DotRadius (CAP - DotRadius) (tone / 4)
|
||||
define [yOfToneDepart a b p] : mix (CAP * a + OperatorStroke / 2) (CAP * b - OperatorStroke / 2) p
|
||||
define [yOfToneDepart a b p] : mix (CAP * a + OperatorStroke / 2) (CAP * b - OperatorStroke / 2) p
|
||||
|
||||
foreach tone [range 4 downtill 0] : begin
|
||||
create-glyph ('tone' + tone) (0x2E5 + 4 - tone) : glyph-proc
|
||||
|
@ -122,7 +126,7 @@ glyph-block Symbol-Other-Phonetic : begin
|
|||
list 'departingToneYin' 0x2EA 0 0.5 0
|
||||
list 'departingToneYang' 0x2EB 0 0.5 0.5
|
||||
list 'beginHighTone' 0x2F9 0.6 1 1.0
|
||||
list 'beginLowTone' 0x2FB 0 0.4 0
|
||||
list 'beginLowTone' 0x2FB 0 0.4 0
|
||||
foreach { name code a b pos } [items-of DepartingToneConfig] : begin
|
||||
create-glyph name code : glyph-proc
|
||||
include : VBar.l toneMarkLeft (CAP * a) (CAP * b) OperatorStroke
|
||||
|
@ -135,3 +139,14 @@ glyph-block Symbol-Other-Phonetic : begin
|
|||
create-glyph name code : glyph-proc
|
||||
include : VBar.r toneMarkRight (CAP * a) (CAP * b) OperatorStroke
|
||||
include : HBar.m toneMarkLeft (toneMarkRight - TINY) [yOfToneDepart a b pos] OperatorStroke
|
||||
|
||||
local DblToneConfig : list
|
||||
list 'stressAndHighTone' 0xA720 0.6 1 1.0
|
||||
list 'stressAndLowTone' 0xA721 0 0.4 0
|
||||
foreach { name code a b pos } [items-of DblToneConfig] : begin
|
||||
create-glyph name code : glyph-proc
|
||||
local df : include : DivFrame 1 3.75
|
||||
local fine : OperatorStroke * df.mvs / Stroke
|
||||
include : VBar.l [dblToneMarkLeft df] (CAP * a) (CAP * b) fine
|
||||
include : VBar.m [dblToneMarkMiddle df] (CAP * a) (CAP * b) fine
|
||||
include : HBar.m ([dblToneMarkLeft df] + TINY) [dblToneMarkRight df] [yOfToneDepart a b pos] OperatorStroke
|
||||
|
|
|
@ -160,7 +160,7 @@ glyph-block Symbol-Punctuation-Quotes-And-Primes : begin
|
|||
alias 'grek/numberSign' 0x374 'prime'
|
||||
alias 'mdfDoublePrime' 0x2BA 'doubleprime'
|
||||
|
||||
derive-composites 'grek/lowNumberSign' 0x375 'prime'
|
||||
derive-composites 'grek/lowNumberSign' 0x375 'grek/numberSign'
|
||||
ApparentTranslate 0 ([mix [mix [mix PeriodSize commaLow 0.5] yCurlyQuotes 0.5] quoteBottom (-1)] - quoteTop)
|
||||
|
||||
create-glyph 'doubleSuspensionMark' 0x2E44 : composite-proc
|
||||
|
@ -217,7 +217,7 @@ glyph-block Symbol-Punctuation-Quotes-And-Primes : begin
|
|||
'raisedComma' 'closeSingleQuote'
|
||||
|
||||
alias 'mdfStress' 0x2C8 'asciiSingleQuote/body/straight'
|
||||
turned 'mdfSecondaryStress' 0x2CC 'asciiSingleQuote/body/straight' Middle (XH / 2)
|
||||
turned 'mdfSecondaryStress' 0x2CC 'asciiSingleQuote/body/straight' [DivFrame para.diversityF].middle (XH / 2)
|
||||
|
||||
create-glyph 'asciiDoubleQuote' 0x22 : glyph-proc
|
||||
local dfSingle : DivFrame para.diversityF
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue