* Add ligation group brack-bar
and brace-bar
, and enabled in dlig
(#767).
|
@ -406,6 +406,8 @@ Subsection `ligations` is used to customize the ligation set assigned to `calt`
|
|||
- `gteq-as-co-arrow`: Treat `>=` as co-arrow.
|
||||
- `html-comment`: Enable ligation for `<!--` and `<!---`.
|
||||
- `colon-greater-as-colon-arrow`: Transform `:>` into `:` and a narrow arrow..
|
||||
- `brace-bar`: Enable ligation for `{|` and `|}`.
|
||||
- `brack-bar`: Enable ligation for `[|` and `|]`.
|
||||
|
||||
<!-- END Section-Cherry-Picking-Ligation-Sets -->
|
||||
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
* Add characters
|
||||
* Add ligation group `brack-bar` and `brace-bar`, and enabled in `dlig` (#767).
|
||||
* Add characters:
|
||||
- Telephone Sign (`U+2121`) and Facsimile Sign (`U+213B`).
|
|
@ -98,16 +98,17 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
|
||||
define [BracketMask] : Rect MosaicTop MosaicBottom (-Width) (2 * Width)
|
||||
|
||||
define [BracketShape top bottom] : glyph-proc
|
||||
local l : mix SB RightSB DesignParameters.bracketOutside
|
||||
local r : mix SB RightSB DesignParameters.bracketInside
|
||||
define [BracketShape top bottom barLeft ext] : glyph-proc
|
||||
local l : fallback barLeft : mix SB RightSB DesignParameters.bracketOutside
|
||||
local r : [fallback ext 0] + [mix SB RightSB DesignParameters.bracketInside]
|
||||
|
||||
include : HBarBottom l r bottom
|
||||
include : HBarTop l r top
|
||||
include : VBarLeft l bottom top
|
||||
|
||||
create-glyph 'bracketLeft' '[' : glyph-proc
|
||||
include : BracketShape ParenTop ParenBot
|
||||
create-glyph 'bracketLeft' '[' : BracketShape ParenTop ParenBot
|
||||
|
||||
create-glyph 'ligExtBracketLeft' : BracketShape ParenTop ParenBot (Middle - HalfStroke * HVContrast) [mix SB RightSB DesignParameters.bracketInside]
|
||||
|
||||
create-glyph 'bracketLeftUpper' 0x23A1 : glyph-proc
|
||||
include : intersection [BracketMask]
|
||||
|
@ -143,6 +144,7 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
VBarLeft l ParenBot ParenTop
|
||||
|
||||
turned 'bracketRight' ']' 'bracketLeft' Middle SymbolMid
|
||||
turned 'ligExtBracketRight' null 'ligExtBracketLeft' Middle SymbolMid
|
||||
turned 'bracketRightLower' 0x23A6 'bracketLeftUpper' Middle SymbolMid
|
||||
turned 'bracketRightExtension' 0x23A5 'bracketLeftExtension' Middle SymbolMid
|
||||
turned 'bracketRightUpper' 0x23A4 'bracketLeftLower' Middle SymbolMid
|
||||
|
@ -156,31 +158,37 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
(ParenTop - SymbolMid - Stroke * 1.5) / 2
|
||||
return : object parenCenter radius
|
||||
|
||||
define [BraceUpperHalfShape top bottom] : glyph-proc
|
||||
define [BraceUpperHalfShape top bottom pExt] : glyph-proc
|
||||
define [object parenCenter radius] : BraceDim
|
||||
define xIns : mix SB RightSB DesignParameters.braceInside
|
||||
define xTip : mix SB RightSB DesignParameters.braceOutside
|
||||
include : dispiro
|
||||
straight.left.start [mix SB RightSB DesignParameters.braceInside] top [widths.heading HalfStroke HalfStroke Leftward]
|
||||
flat ((1 + [fallback pExt 0]) * xIns) top [widths.center.heading Stroke Leftward]
|
||||
curl (xIns - 0.1) top [heading Leftward]
|
||||
archv
|
||||
flat parenCenter (top - radius) [heading Downward]
|
||||
curl parenCenter (bottom + radius) [heading Downward]
|
||||
arcvh
|
||||
straight.left.end [mix SB RightSB DesignParameters.braceOutside] bottom [heading Leftward]
|
||||
straight.left.end xTip bottom [heading Leftward]
|
||||
|
||||
define [BraceLowerHalfShape top bottom pExt] : glyph-proc
|
||||
define [object parenCenter radius] : BraceDim
|
||||
define xIns : mix SB RightSB DesignParameters.braceInside
|
||||
define xTip : mix SB RightSB DesignParameters.braceOutside
|
||||
include : dispiro
|
||||
flat ((1 + [fallback pExt 0]) * xIns) bottom [widths.center.heading Stroke Leftward]
|
||||
curl (xIns - 0.1) bottom [heading Leftward]
|
||||
archv
|
||||
flat parenCenter (bottom + radius) [heading Upward]
|
||||
curl parenCenter (top - radius) [heading Upward]
|
||||
arcvh
|
||||
straight.left.end xTip top [heading Leftward]
|
||||
|
||||
define [BraceUpperThirdShape top bottom] : glyph-proc
|
||||
define [object parenCenter radius] : BraceDim
|
||||
include : intersection [BracketMask]
|
||||
BraceUpperHalfShape top (bottom - MosaicHeight)
|
||||
|
||||
define [BraceLowerHalfShape top bottom] : glyph-proc
|
||||
define [object parenCenter radius] : BraceDim
|
||||
include : dispiro
|
||||
straight.left.start [mix SB RightSB DesignParameters.braceInside] bottom [widths.heading HalfStroke HalfStroke Leftward]
|
||||
archv
|
||||
flat parenCenter (bottom + radius) [heading Upward]
|
||||
curl parenCenter (top - radius) [heading Upward]
|
||||
arcvh
|
||||
straight.left.end [mix SB RightSB DesignParameters.braceOutside] top [heading Leftward]
|
||||
|
||||
define [BraceLowerThirdShape top bottom] : glyph-proc
|
||||
define [object parenCenter radius] : BraceDim
|
||||
include : intersection [BracketMask]
|
||||
|
@ -207,6 +215,10 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
include : BraceUpperHalfShape top SymbolMid
|
||||
include : BraceLowerHalfShape SymbolMid bot
|
||||
|
||||
create-glyph 'ligExtBraceLeft.straight' : glyph-proc
|
||||
include : BraceUpperHalfShape top SymbolMid 1
|
||||
include : BraceLowerHalfShape SymbolMid bot 1
|
||||
|
||||
create-glyph 'braceLeftUpper' 0x23A7 : glyph-proc
|
||||
include : BraceUpperThirdShape top bot
|
||||
|
||||
|
@ -220,11 +232,12 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
include : BraceExtensionShape top bot
|
||||
|
||||
turned 'braceRight.straight' null 'braceLeft.straight' Middle SymbolMid
|
||||
turned 'ligExtBraceRight.straight' null 'ligExtBraceLeft.straight' Middle SymbolMid
|
||||
turned 'braceRightLower' 0x23AD 'braceLeftUpper' Middle SymbolMid
|
||||
turned 'braceRightUpper' 0x23AB 'braceLeftLower' Middle SymbolMid
|
||||
turned 'braceRightMiddle' 0x23AC 'braceLeftMiddle' Middle SymbolMid
|
||||
|
||||
define [CurlyBraceShape sw] : glyph-proc
|
||||
define [CurlyBraceShape sw pExt] : glyph-proc
|
||||
local hs : sw / 2
|
||||
local xIns : mix SB RightSB DesignParameters.braceInside
|
||||
local xOus : mix SB RightSB DesignParameters.braceOutside
|
||||
|
@ -237,30 +250,37 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
local top : mix SymbolMid ParenTop (1 + DesignParameters.braceOvershoot)
|
||||
local bot : mix SymbolMid ParenBot (1 + DesignParameters.braceOvershoot)
|
||||
include : dispiro
|
||||
straight.left.start xIns (top - hs) [widths.heading hs hs Leftward]
|
||||
flat (xIns * (1 + pExt)) (top - hs) [widths.center.heading sw Leftward]
|
||||
curl (xIns - 0.1) (top - hs) [heading Leftward]
|
||||
archv
|
||||
g4.down.mid m1 (top - radius1) [heading Downward]
|
||||
alsoThru 0.5 0.5 [widths (ess / 2) (ess / 2)]
|
||||
g4.down.mid m2 (SymbolMid + radius2) [widths.heading hs hs Downward]
|
||||
g4.down.mid m2 (SymbolMid + radius2) [widths.center.heading sw Downward]
|
||||
arcvh
|
||||
straight.left.end xOus SymbolMid [heading Leftward]
|
||||
|
||||
include : dispiro
|
||||
straight.left.start xIns (bot + hs) [widths.heading hs hs Leftward]
|
||||
flat (xIns * (1 + pExt)) (bot + hs) [widths.center.heading sw Leftward]
|
||||
curl (xIns - 0.1) (bot + hs) [heading Leftward]
|
||||
archv
|
||||
g4.up.mid m1 (bot + radius1) [heading Upward]
|
||||
alsoThru 0.5 0.5 [widths (ess / 2) (ess / 2)]
|
||||
g4.up.mid m2 (SymbolMid - radius2) [widths.heading hs hs Upward]
|
||||
g4.up.mid m2 (SymbolMid - radius2) [widths.center.heading sw Upward]
|
||||
arcvh
|
||||
straight.left.end xOus SymbolMid [heading Leftward]
|
||||
|
||||
create-glyph 'braceLeft.curly' : CurlyBraceShape Stroke
|
||||
create-glyph 'braceLeft.curly' : CurlyBraceShape Stroke 0
|
||||
create-glyph 'ligExtBraceLeft.curly' : CurlyBraceShape Stroke 1
|
||||
|
||||
turned 'braceRight.curly' null 'braceLeft.curly' Middle SymbolMid
|
||||
turned 'ligExtBraceRight.curly' null 'ligExtBraceLeft.curly' Middle SymbolMid
|
||||
|
||||
select-variant 'braceLeft' '{'
|
||||
select-variant 'braceRight' '}'
|
||||
|
||||
select-variant 'ligExtBraceLeft' (follow -- 'braceLeft')
|
||||
select-variant 'ligExtBraceRight' (follow -- 'braceRight')
|
||||
|
||||
do
|
||||
local top : mix SymbolMid ParenTop (1 + DesignParameters.braceOvershoot)
|
||||
local bot : mix SymbolMid ParenBot (1 + DesignParameters.braceOvershoot)
|
||||
|
@ -274,7 +294,7 @@ glyph-block Symbol-Punctuation-Brackets : begin
|
|||
local xIns : mix SB RightSB DesignParameters.braceInside
|
||||
local top : mix SymbolMid ParenTop (1 + DesignParameters.braceOvershoot)
|
||||
local bot : mix SymbolMid ParenBot (1 + DesignParameters.braceOvershoot)
|
||||
include : CurlyBraceShape fine
|
||||
include : CurlyBraceShape fine 0
|
||||
include : VBarRight xIns (bot + fine / 2) (top - fine / 2) fine
|
||||
|
||||
turned 'whiteBraceRight' 0x2984 'whiteBraceLeft' Middle SymbolMid
|
||||
|
@ -439,16 +459,24 @@ glyph-block Symbol-Punctuation-Bar : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
||||
define [BarShape] : glyph-proc
|
||||
set-base-anchor 'above' Middle ParenTop
|
||||
set-base-anchor 'below' Middle ParenBot
|
||||
include : VBar Middle ParenBot ParenTop
|
||||
define [BarShape x gap] : glyph-proc
|
||||
set-base-anchor 'above' x ParenTop
|
||||
set-base-anchor 'below' x ParenBot
|
||||
include : VBar x (ParenBot + gap) (ParenTop - gap)
|
||||
|
||||
create-glyph 'bar.upright' : BarShape
|
||||
create-glyph 'bar.italic.naturalSlope' : BarShape
|
||||
create-glyph 'bar.upright' : BarShape Middle 0
|
||||
create-glyph 'bar.italic.naturalSlope' : BarShape Middle 0
|
||||
create-glyph 'bar.italic.forceUpright' : glyph-proc
|
||||
include : ForceUpright
|
||||
include : BarShape
|
||||
include : BarShape Middle 0
|
||||
|
||||
create-glyph 'ligBarInsideBracketLeft' : BarShape
|
||||
[mix SB RightSB DesignParameters.bracketOutside] + HalfStroke * HVContrast
|
||||
Stroke + [Math.max [AdviceStroke 5] (XH / 12)]
|
||||
|
||||
create-glyph 'ligBarInsideBracketRight' : BarShape
|
||||
[mix RightSB SB DesignParameters.bracketOutside] - HalfStroke * HVContrast
|
||||
Stroke + [Math.max [AdviceStroke 5] (XH / 12)]
|
||||
|
||||
define [DoubleBarShape] : glyph-proc
|
||||
set-base-anchor 'above' Middle ParenTop
|
||||
|
|
|
@ -903,3 +903,20 @@ define [buildLigationsImpl sink para featureName mappedFeature rankedLookups] :
|
|||
chain-rule
|
||||
{'colon.mid'} ~> look-around
|
||||
{'greater'} ~> {'greaterArrow'}
|
||||
|
||||
# [| |] {| |}
|
||||
do "brack-brace-bar" : begin
|
||||
CreateLigationLookup : keep-if 'brack-bar' : list
|
||||
chain-rule
|
||||
{'bracketLeft'} ~> {'ligExtBracketLeft'}
|
||||
{'bar'} ~> {'ligBarInsideBracketLeft'}
|
||||
chain-rule
|
||||
{'bar'} ~> {'ligBarInsideBracketRight'}
|
||||
{'bracketRight'} ~> {'ligExtBracketRight'}
|
||||
CreateLigationLookup : keep-if 'brace-bar' : list
|
||||
chain-rule
|
||||
{'braceLeft'} ~> {'ligExtBraceLeft'}
|
||||
{'bar'} ~> {'ligBarInsideBracketLeft'}
|
||||
chain-rule
|
||||
{'bar'} ~> {'ligBarInsideBracketRight'}
|
||||
{'braceRight'} ~> {'ligExtBraceRight'}
|
||||
|
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 222 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 363 KiB After Width: | Height: | Size: 363 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 177 KiB |
Before Width: | Height: | Size: 311 KiB After Width: | Height: | Size: 311 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 322 KiB After Width: | Height: | Size: 322 KiB |