Optimize math symbols' footprint; Refine shape of angled arrows
This commit is contained in:
parent
8b937efbd8
commit
554a180e76
6 changed files with 159 additions and 163 deletions
|
@ -1,5 +1,7 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
const { Radical } = require("../../support/gr");
|
||||||
|
|
||||||
module.exports = function gcFont(gs, excludedChars, restFont, cfg) {
|
module.exports = function gcFont(gs, excludedChars, restFont, cfg) {
|
||||||
markSweepOtl(restFont.GSUB);
|
markSweepOtl(restFont.GSUB);
|
||||||
markSweepOtl(restFont.GPOS);
|
markSweepOtl(restFont.GPOS);
|
||||||
|
@ -64,9 +66,14 @@ function mark(gs, excludedChars, restFont, cfg) {
|
||||||
function markInitial(gs, excludedChars) {
|
function markInitial(gs, excludedChars) {
|
||||||
let sink = new Set();
|
let sink = new Set();
|
||||||
for (const g of gs) {
|
for (const g of gs) {
|
||||||
|
if (!g) continue;
|
||||||
if (g.glyphRank > 0) sink.add(g.name);
|
if (g.glyphRank > 0) sink.add(g.name);
|
||||||
if (!g || !g.unicode) continue;
|
if (Radical.get(g)) sink.add(g.name);
|
||||||
for (const u of g.unicode) if (!excludedChars.has(u)) sink.add(g.name);
|
if (g.unicode) {
|
||||||
|
for (const u of g.unicode) {
|
||||||
|
if (!excludedChars.has(u)) sink.add(g.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return sink;
|
return sink;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ $$include '../meta/macros.ptl'
|
||||||
import '../support/transform' as Transform
|
import '../support/transform' as Transform
|
||||||
|
|
||||||
import [mix linreg clamp fallback] from '../support/utils'
|
import [mix linreg clamp fallback] from '../support/utils'
|
||||||
import [Cv AnyDerivingCv] from '../support/gr'
|
import [Cv AnyDerivingCv Radical] from '../support/gr'
|
||||||
import [designParameters] from '../meta/aesthetics'
|
import [designParameters] from '../meta/aesthetics'
|
||||||
|
|
||||||
glyph-module
|
glyph-module
|
||||||
|
@ -642,9 +642,7 @@ glyph-block CommonShapes : begin
|
||||||
include giz
|
include giz
|
||||||
include g
|
include g
|
||||||
|
|
||||||
define [WithTransform tfm gr] : new-glyph : glyph-proc
|
define [WithTransform tfm gr] : glyph-proc : include : new-glyph : composite-proc gr tfm
|
||||||
include gr
|
|
||||||
include tfm
|
|
||||||
|
|
||||||
define [ReverseContours gr] : begin
|
define [ReverseContours gr] : begin
|
||||||
local g : new-glyph gr
|
local g : new-glyph gr
|
||||||
|
@ -656,4 +654,8 @@ glyph-block CommonShapes : begin
|
||||||
set currentGlyph.markAnchors {.}
|
set currentGlyph.markAnchors {.}
|
||||||
set currentGlyph.markBnchors {.}
|
set currentGlyph.markBnchors {.}
|
||||||
|
|
||||||
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AINSerifs AICyrISerifs AIMSerifs HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender FlipAround ScaleAround Realign ForceUpright diagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask WithTransform ReverseContours clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape
|
define [AsRadical gr] : glyph-proc
|
||||||
|
Radical.set currentGlyph
|
||||||
|
include gr true true
|
||||||
|
|
||||||
|
glyph-block-export Rect SquareAt Ring RingAt DotAt RingStroke RingStrokeAt DotStrokeAt CircleRing CircleRingAt CircleDotAt OShape OShapeOutline OBarLeftShape OBarRightShape LeftwardTopSerif LeftwardBottomSerif RightwardTopSerif RightwardBottomSerif CenterTopSerif CenterBottomSerif DownwardRightSerif UpwardRightSerif DownwardLeftSerif UpwardLeftSerif AIVSerifs AIHSerifs AINSerifs AICyrISerifs AIMSerifs HBar HBarTop HBarBottom HOverlayBar VBar VBarLeft VBarRight VerticalHook LegShape LeftHook HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender FlipAround ScaleAround Realign ForceUpright diagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask WithTransform ReverseContours clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape OBarRightToothlessShape OBarRightRoundedShape AsRadical
|
||||||
|
|
|
@ -210,10 +210,10 @@ glyph-block Symbol-Arrow : begin
|
||||||
include : shape xm ym x1 y1 arrowSize
|
include : shape xm ym x1 y1 arrowSize
|
||||||
include : shape xm ym x2 y2 arrowSize
|
include : shape xm ym x2 y2 arrowSize
|
||||||
|
|
||||||
define [anglearrow shape bar id unicode x1 y1 x2 y2 x3 y3]
|
define [anglearrow shape bar id unicode x1 y1 x2 y2 x3 y3 size]
|
||||||
create-glyph id unicode : glyph-proc
|
create-glyph id unicode : glyph-proc
|
||||||
set-width MosaicWidth
|
set-width MosaicWidth
|
||||||
include : shape x2 y2 x3 y3 arrowSize
|
include : shape x2 y2 x3 y3 size
|
||||||
include : bar x1 y1 x2 y2
|
include : bar x1 y1 x2 y2
|
||||||
|
|
||||||
arrow ArrowShape [MangleName 'arrowleft'] [MangleUnicode 0x2190] arrowRSB SymbolMid arrowSB SymbolMid
|
arrow ArrowShape [MangleName 'arrowleft'] [MangleUnicode 0x2190] arrowRSB SymbolMid arrowSB SymbolMid
|
||||||
|
@ -229,10 +229,19 @@ glyph-block Symbol-Arrow : begin
|
||||||
arrow [HookArrowShape 1] [MangleName 'hookarrowleft'] [MangleUnicode 0x21A9] arrowRSB SymbolMid arrowSB SymbolMid
|
arrow [HookArrowShape 1] [MangleName 'hookarrowleft'] [MangleUnicode 0x21A9] arrowRSB SymbolMid arrowSB SymbolMid
|
||||||
arrow [HookArrowShape (-1)] [MangleName 'hookarrowright'] [MangleUnicode 0x21AA] arrowSB SymbolMid arrowRSB SymbolMid
|
arrow [HookArrowShape (-1)] [MangleName 'hookarrowright'] [MangleUnicode 0x21AA] arrowSB SymbolMid arrowRSB SymbolMid
|
||||||
|
|
||||||
anglearrow ArrowShape [lambda [x1 y1 x2 y2] : VBarLeft x1 y1 y2] [MangleName 'arrow-up-angle-right'] [MangleUnicode 0x21b1] arrowSB arrowBot arrowSB (arrowTop - arrowSize) arrowRSB (arrowTop - arrowSize)
|
do "Bend and Angle arrows"
|
||||||
anglearrow ArrowShape [lambda [x1 y1 x2 y2] : VBarRight x1 y1 y2] [MangleName 'arrow-up-angle-left'] [MangleUnicode 0x21b0] arrowRSB arrowBot arrowRSB (arrowTop - arrowSize) arrowSB (arrowTop - arrowSize)
|
define bendSize : mix OperatorStroke arrowSize 0.75
|
||||||
anglearrow ArrowShape [lambda [x1 y1 x2 y2] : VBarLeft x1 y1 y2] [MangleName 'arrow-down-angle-right'] [MangleUnicode 0x21b3] arrowSB arrowTop arrowSB (arrowBot + arrowSize) arrowRSB (arrowBot + arrowSize)
|
define bendL : mix arrowMidX arrowSB [Math.max (bendSize / (arrowMidX - arrowSB)) : Math.pow 0.6 (2 / MosaicWidthScalar)]
|
||||||
anglearrow ArrowShape [lambda [x1 y1 x2 y2] : VBarRight x1 y1 y2] [MangleName 'arrow-down-angle-left'] [MangleUnicode 0x21b2] arrowRSB arrowTop arrowRSB (arrowBot + arrowSize) arrowSB (arrowBot + arrowSize)
|
define bendR : mix arrowMidX arrowRSB [Math.max (bendSize / (arrowMidX - arrowSB)) : Math.pow 0.6 (2 / MosaicWidthScalar)]
|
||||||
|
define [VBR x1 y1 x2 y2] : VBarRight x1 y1 y2 OperatorStroke
|
||||||
|
define [VBL x1 y1 x2 y2] : VBarLeft x1 y1 y2 OperatorStroke
|
||||||
|
define [HBT x1 y1 x2 y2] : HBarTop x1 x2 y1 OperatorStroke
|
||||||
|
anglearrow ArrowShape VBR [MangleName 'arrow-up-angle-bend-left'] [MangleUnicode 0x21b0] bendR arrowBot bendR (arrowTop - bendSize) bendL (arrowTop - bendSize) bendSize
|
||||||
|
anglearrow ArrowShape VBL [MangleName 'arrow-up-angle-bend-right'] [MangleUnicode 0x21b1] bendL arrowBot bendL (arrowTop - bendSize) bendR (arrowTop - bendSize) bendSize
|
||||||
|
anglearrow ArrowShape VBR [MangleName 'arrow-down-angle-bend-left'] [MangleUnicode 0x21b2] bendR arrowTop bendR (arrowBot + bendSize) bendL (arrowBot + bendSize) bendSize
|
||||||
|
anglearrow ArrowShape VBL [MangleName 'arrow-down-angle-bend-right'] [MangleUnicode 0x21b3] bendL arrowTop bendL (arrowBot + bendSize) bendR (arrowBot + bendSize) bendSize
|
||||||
|
anglearrow ArrowShape HBT [MangleName 'arrow-right-angle-down'] [MangleUnicode 0x21b4] arrowSB arrowTop (arrowRSB - arrowSize) arrowTop (arrowRSB - arrowSize) arrowBot arrowSize
|
||||||
|
anglearrow ArrowShape VBR [MangleName 'arrow-down-angle-left'] [MangleUnicode 0x21b5] arrowRSB arrowTop arrowRSB (arrowBot + arrowSize) arrowSB (arrowBot + arrowSize) arrowSize
|
||||||
|
|
||||||
arrow ArrowShape [MangleName 'arrowupleft'] [MangleUnicode 0x2196] arrowDiagRSB arrowDiagBot arrowDiagSB arrowDiagTop
|
arrow ArrowShape [MangleName 'arrowupleft'] [MangleUnicode 0x2196] arrowDiagRSB arrowDiagBot arrowDiagSB arrowDiagTop
|
||||||
arrow ArrowShape [MangleName 'arrowupright'] [MangleUnicode 0x2197] arrowDiagSB arrowDiagBot arrowDiagRSB arrowDiagTop
|
arrow ArrowShape [MangleName 'arrowupright'] [MangleUnicode 0x2197] arrowDiagSB arrowDiagBot arrowDiagRSB arrowDiagTop
|
||||||
|
|
|
@ -12,22 +12,27 @@ glyph-block NotGlyphFn : begin
|
||||||
glyph-block-export notGlyph
|
glyph-block-export notGlyph
|
||||||
|
|
||||||
define [notGlyphGeneric newid unicode oldid top bot prop shift F] : begin
|
define [notGlyphGeneric newid unicode oldid top bot prop shift F] : begin
|
||||||
create-glyph (newid || 'not' + oldid) unicode : glyph-proc
|
local component : F
|
||||||
include : refer-glyph oldid
|
|
||||||
include : F
|
|
||||||
fallback top BgOpTop
|
fallback top BgOpTop
|
||||||
fallback bot BgOpBot
|
fallback bot BgOpBot
|
||||||
mix SB RightSB [fallback prop 0.25]
|
mix SB RightSB [fallback prop 0.25]
|
||||||
mix RightSB SB [fallback prop 0.25]
|
mix RightSB SB [fallback prop 0.25]
|
||||||
adviceBlackness 4
|
adviceBlackness 4
|
||||||
fallback shift 0
|
fallback shift 0
|
||||||
|
create-glyph (newid || 'not' + oldid) unicode : glyph-proc
|
||||||
|
include : refer-glyph oldid
|
||||||
|
include component
|
||||||
|
|
||||||
define [notGlyph] : params [newid unicode oldid top bot prop shift] : begin
|
define [notGlyph] : params [newid unicode oldid top bot prop shift] : begin
|
||||||
notGlyphGeneric newid unicode oldid top bot prop shift
|
notGlyphGeneric newid unicode oldid top bot prop shift
|
||||||
lambda [t b l r sw sh] : dispiro
|
lambda [t b l r sw sh] : begin
|
||||||
|
local slashBarName ".NotGlyphSlash{\(l),\(r),\(t),\(b),\(sw)}"
|
||||||
|
if [not : query-glyph slashBarName] : begin
|
||||||
|
create-glyph slashBarName : AsRadical : dispiro
|
||||||
widths.center sw
|
widths.center sw
|
||||||
flat (sh + l) b
|
flat l b
|
||||||
curl (sh + r) t
|
curl r t
|
||||||
|
return : WithTransform [Translate sh 0] [refer-glyph slashBarName]
|
||||||
|
|
||||||
define [notGlyph.right] : params [newid unicode oldid top bot prop shift] : begin
|
define [notGlyph.right] : params [newid unicode oldid top bot prop shift] : begin
|
||||||
notGlyph newid unicode oldid top bot prop (-OperatorStroke * 0.5)
|
notGlyph newid unicode oldid top bot prop (-OperatorStroke * 0.5)
|
||||||
|
@ -989,60 +994,49 @@ glyph-block Symbol-Math-Relation : begin
|
||||||
create-glyph 'normalSupersetOf' 0x22B3 : glyph-proc
|
create-glyph 'normalSupersetOf' 0x22B3 : glyph-proc
|
||||||
include : NormalSupersetShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
|
include : NormalSupersetShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
|
||||||
|
|
||||||
create-glyph : glyph-proc
|
create-glyph 'lessEqUpper' : AsRadical : LessShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
||||||
include : LessShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
create-glyph 'greaterEqUpper' : AsRadical : GreaterShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
||||||
create-derived 'less.narrow' : glyph-proc
|
create-glyph 'normalSubsetUpper' : AsRadical : NormalSubsetShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
||||||
include : Upright
|
create-glyph 'normalSupersetUpper' : AsRadical : NormalSupersetShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
||||||
include : Translate 0 (-lessEqDist)
|
create-glyph 'eqLower' : AsRadical : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
||||||
include : Italify
|
create-glyph 'eqBarNegatedLower' : AsRadical : union [refer-glyph 'eqLower'] [BarNegator (SymbolMid - dH) lessEqDist]
|
||||||
create-derived 'lessEq' 0x2264 : glyph-proc
|
create-glyph 'symLower' : AsRadical : symWave (SymbolMid - dH - lessEqDist) 1
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
create-glyph 'symBarNegatedLower' : AsRadical : union [refer-glyph 'symLower'] [BarNegator (SymbolMid - dH) lessEqDist]
|
||||||
create-derived 'lessEqBarNegated' 0x2A87 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'lessSym' 0x2272 : glyph-proc
|
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1
|
|
||||||
create-derived 'lessSymBarNegated' 0x22E6 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'lessEqslant' 0x2A7D : glyph-proc
|
|
||||||
include : LessShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke
|
|
||||||
|
|
||||||
create-glyph 'normalSubsetEq' 0x22B4 : glyph-proc
|
create-glyph 'less.narrow' : composite-proc [refer-glyph 'lessEqUpper'] [Upright] [Translate 0 (-lessEqDist)] [Italify]
|
||||||
include : NormalSubsetShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
create-glyph 'lessEq' 0x2264 : composite-proc [refer-glyph 'lessEqUpper'] [refer-glyph 'eqLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
create-glyph 'lessEqBarNegated' 0x2A87 : composite-proc [refer-glyph 'lessEqUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
|
create-glyph 'lessSym' 0x2272 : composite-proc [refer-glyph 'lessEqUpper'] [refer-glyph 'symLower']
|
||||||
|
create-glyph 'lessSymBarNegated' 0x22E6 : composite-proc [refer-glyph 'lessEqUpper'] [refer-glyph 'symBarNegatedLower']
|
||||||
|
create-glyph 'lessEqslant' 0x2A7D : composite-proc [refer-glyph 'lessEqUpper']
|
||||||
|
LessShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke
|
||||||
|
|
||||||
create-glyph : glyph-proc
|
create-glyph 'greater.narrow' : composite-proc [refer-glyph 'greaterEqUpper'] [Upright] [Translate 0 (-lessEqDist)] [Italify]
|
||||||
include : GreaterShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
create-glyph 'greaterEq' 0x2265 : composite-proc [refer-glyph 'greaterEqUpper'] [refer-glyph 'eqLower']
|
||||||
create-derived 'greater.narrow' : glyph-proc
|
create-glyph 'greaterEqBarNegated' 0x2A88 : composite-proc [refer-glyph 'greaterEqUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
include : Upright
|
create-glyph 'greaterSym' 0x2273 : composite-proc [refer-glyph 'greaterEqUpper'] [refer-glyph 'symLower']
|
||||||
include : Translate 0 (-lessEqDist)
|
create-glyph 'greaterSymBarNegated' 0x22E7 : composite-proc [refer-glyph 'greaterEqUpper'] [refer-glyph 'symBarNegatedLower']
|
||||||
include : Italify
|
create-glyph 'greaterEqslant' 0x2A7E : composite-proc [refer-glyph 'greaterEqUpper']
|
||||||
create-derived 'greaterEq' 0x2265 : glyph-proc
|
GreaterShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
|
||||||
create-derived 'greaterEqBarNegated' 0x2A88 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'greaterSym' 0x2273 : glyph-proc
|
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1
|
|
||||||
create-derived 'greaterSymBarNegated' 0x22E7 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'greaterEqslant' 0x2A7E : glyph-proc
|
|
||||||
include : GreaterShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke
|
|
||||||
|
|
||||||
create-glyph 'normalSupersetEq' 0x22B5 : glyph-proc
|
create-glyph 'normalSubsetEq' 0x22B4 : composite-proc [refer-glyph 'normalSubsetUpper'] [refer-glyph 'eqLower']
|
||||||
include : NormalSupersetShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
create-glyph 'normalSupersetEq' 0x22B5 : composite-proc [refer-glyph 'normalSupersetUpper'] [refer-glyph 'eqLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
|
||||||
|
|
||||||
# Ligation
|
do "Ligation Glyphs"
|
||||||
create-glyph : glyph-proc
|
|
||||||
define l : 0.3 * Width
|
define l : 0.3 * Width
|
||||||
define r : 2 * Width - l
|
define r : 2 * Width - l
|
||||||
define l2 : l - Width
|
define l2 : l - Width
|
||||||
define r2 : r - Width
|
define r2 : r - Width
|
||||||
create-derived 'less.lig2' : glyph-proc
|
create-glyph 'less.lig2' : glyph-proc
|
||||||
include : LessShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) l r
|
include : LessShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) l r
|
||||||
create-derived 'greater.lig2' : glyph-proc
|
create-glyph 'greater.lig2' : glyph-proc
|
||||||
include : GreaterShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) l r
|
include : GreaterShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) l r
|
||||||
create-derived 'eq.at-lteq.lig2.flat' : glyph-proc
|
create-glyph 'eq.at-lteq.lig2.flat' : glyph-proc
|
||||||
include : HBar l2 r2 (SymbolMid - dH - lessEqDist) OperatorStroke
|
include : HBar l2 r2 (SymbolMid - dH - lessEqDist) OperatorStroke
|
||||||
create-aliased-glyph 'eq.at-gteq.lig2.flat'
|
create-aliased-glyph 'eq.at-gteq.lig2.flat'
|
||||||
create-derived 'eq.at-lteq.lig2.slanted' : glyph-proc
|
create-glyph 'eq.at-lteq.lig2.slanted' : glyph-proc
|
||||||
include : LessShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) l2 r2 OperatorStroke
|
include : LessShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) l2 r2 OperatorStroke
|
||||||
create-derived 'eq.at-gteq.lig2.slanted' : glyph-proc
|
create-glyph 'eq.at-gteq.lig2.slanted' : glyph-proc
|
||||||
include : GreaterShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) l2 r2 OperatorStroke
|
include : GreaterShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) l2 r2 OperatorStroke
|
||||||
|
|
||||||
select-variant 'eq.at-lteq.lig2'
|
select-variant 'eq.at-lteq.lig2'
|
||||||
|
@ -1061,26 +1055,25 @@ glyph-block Symbol-Math-Relation : begin
|
||||||
SymbolMid - dH + lessEqDist * 2 / 3
|
SymbolMid - dH + lessEqDist * 2 / 3
|
||||||
SymbolMid - dH - lessEqDist
|
SymbolMid - dH - lessEqDist
|
||||||
|
|
||||||
create-glyph 'lessEqEq' 0x2266 : glyph-proc
|
create-glyph 'lessEqEqUpper' : AsRadical : LessShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
||||||
include : LessShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
create-glyph 'greaterEqEqUpper' : AsRadical : GreaterShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
||||||
include : HBar SB RightSB (SymbolMid - dH + lessEqDist * 2 / 3) lesslessSW
|
create-glyph 'eqEqLower' : AsRadical : union
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) lesslessSW
|
HBar SB RightSB (SymbolMid - dH + lessEqDist * 2 / 3) lesslessSW
|
||||||
create-derived 'lessEqEqBarNegated' 0x2268 : EqEqBarNegation
|
HBar SB RightSB (SymbolMid - dH - lessEqDist) lesslessSW
|
||||||
create-glyph 'lessSymSym' 0x2A85 : glyph-proc
|
create-glyph 'symSymLower' : AsRadical : union
|
||||||
include : LessShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
symWave (SymbolMid - dH + lessEqDist * 2 / 3) 1 lesslessSW
|
||||||
include : symWave (SymbolMid - dH + lessEqDist * 2 / 3) 1 lesslessSW
|
symWave (SymbolMid - dH - lessEqDist) 1 lesslessSW
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1 lesslessSW
|
create-glyph 'eqEqBarNegatedLower' : AsRadical : union [refer-glyph 'eqEqLower'] [EqEqBarNegation]
|
||||||
create-derived 'lessSymSymBarNegated' 0x2A89 : EqEqBarNegation
|
create-glyph 'symSymBarNegatedLower' : AsRadical : union [refer-glyph 'symSymLower'] [EqEqBarNegation]
|
||||||
create-glyph 'greaterEqEq' 0x2267 : glyph-proc
|
|
||||||
include : GreaterShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
create-glyph 'lessEqEq' 0x2266 : composite-proc [refer-glyph 'lessEqEqUpper'] [refer-glyph 'eqEqLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH + lessEqDist * 2 / 3) lesslessSW
|
create-glyph 'lessEqEqBarNegated' 0x2268 : composite-proc [refer-glyph 'lessEqEqUpper'] [refer-glyph 'eqEqBarNegatedLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) lesslessSW
|
create-glyph 'lessSymSym' 0x2A85 : composite-proc [refer-glyph 'lessEqEqUpper'] [refer-glyph 'symSymLower']
|
||||||
create-derived 'greaterEqEqBarNegated' 0x2269 : EqEqBarNegation
|
create-glyph 'lessSymSymBarNegated' 0x2A89 : composite-proc [refer-glyph 'lessEqEqUpper'] [refer-glyph 'symSymBarNegatedLower']
|
||||||
create-glyph 'greaterSymSym' 0x2A86 : glyph-proc
|
create-glyph 'greaterEqEq' 0x2267 : composite-proc [refer-glyph 'greaterEqEqUpper'] [refer-glyph 'eqEqLower']
|
||||||
include : GreaterShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
create-glyph 'greaterEqEqBarNegated' 0x2269 : composite-proc [refer-glyph 'greaterEqEqUpper'] [refer-glyph 'eqEqBarNegatedLower']
|
||||||
include : symWave (SymbolMid - dH + lessEqDist * 2 / 3) 1 lesslessSW
|
create-glyph 'greaterSymSym' 0x2A86 : composite-proc [refer-glyph 'greaterEqEqUpper'] [refer-glyph 'symSymLower']
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1 lesslessSW
|
create-glyph 'greaterSymSymBarNegated' 0x2A8A : composite-proc [refer-glyph 'greaterEqEqUpper'] [refer-glyph 'symSymBarNegatedLower']
|
||||||
create-derived 'greaterSymSymBarNegated' 0x2A8A : EqEqBarNegation
|
|
||||||
|
|
||||||
create-glyph 'lessGreater' 0x2276 : glyph-proc
|
create-glyph 'lessGreater' 0x2276 : glyph-proc
|
||||||
include : LessShape (SymbolMid + llggHeight / 2) (SymbolMid - llggHeight / 6 + lessEqDist) SB RightSB lesslessSW
|
include : LessShape (SymbolMid + llggHeight / 2) (SymbolMid - llggHeight / 6 + lessEqDist) SB RightSB lesslessSW
|
||||||
|
@ -1136,64 +1129,39 @@ glyph-block Symbol-Math-Relation : begin
|
||||||
include : SucceedsShapeA top bot l r [fallback s OperatorStroke] CThin
|
include : SucceedsShapeA top bot l r [fallback s OperatorStroke] CThin
|
||||||
include : SucceedsShapeB top bot l r [fallback s OperatorStroke] CThin
|
include : SucceedsShapeB top bot l r [fallback s OperatorStroke] CThin
|
||||||
|
|
||||||
create-glyph 'precedes' 0x227a : glyph-proc
|
create-glyph 'precedes' 0x227a : AsRadical : PrecedesShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
|
||||||
include : PrecedesShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
|
create-glyph 'succeeds' 0x227b : AsRadical : SucceedsShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
|
||||||
|
create-glyph 'precedesEqUpper' : AsRadical : PrecedesShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
||||||
|
create-glyph 'precedesEqEqUpper' : AsRadical : PrecedesShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
||||||
|
create-glyph 'succeedsEqUpper' : AsRadical : SucceedsShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
||||||
|
create-glyph 'succeedsEqEqUpper' : AsRadical : SucceedsShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
||||||
|
|
||||||
create-glyph 'succeeds' 0x227b : glyph-proc
|
create-glyph 'precedes.narrow' : composite-proc [refer-glyph 'precedesEqUpper'] [Upright] [Translate 0 (-lessEqDist)] [Italify]
|
||||||
include : SucceedsShape (SymbolMid + dH) (SymbolMid - dH) SB RightSB
|
create-glyph 'precedesEq' 0x2AAF : composite-proc [refer-glyph 'precedesEqUpper'] [refer-glyph 'eqLower']
|
||||||
|
create-glyph 'precedesEqBarNegated' 0x2AB1 : composite-proc [refer-glyph 'precedesEqUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
|
create-glyph 'precedesSym' 0x227E : composite-proc [refer-glyph 'precedesEqUpper'] [refer-glyph 'symLower']
|
||||||
|
create-glyph 'precedesSymBarNegated' 0x22E8 : composite-proc [refer-glyph 'precedesEqUpper'] [refer-glyph 'symBarNegatedLower']
|
||||||
|
create-glyph 'precedesEqSlant' 0x227C : composite-proc [refer-glyph 'precedesEqUpper']
|
||||||
|
PrecedesShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke 1
|
||||||
|
|
||||||
create-glyph : glyph-proc
|
create-glyph 'precedesEqEq' 0x2AB3 : composite-proc [refer-glyph 'precedesEqEqUpper'] [refer-glyph 'eqEqLower']
|
||||||
include : PrecedesShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
create-glyph 'precedesEqEqBarNegated' 0x2AB5 : composite-proc [refer-glyph 'precedesEqEqUpper'] [refer-glyph 'eqEqBarNegatedLower']
|
||||||
create-derived 'precedes.narrow' : glyph-proc
|
create-glyph 'precedesSymSym' 0x2AB7 : composite-proc [refer-glyph 'precedesEqEqUpper'] [refer-glyph 'symSymLower']
|
||||||
include : Upright
|
create-glyph 'precedesSymSymBarNegated' 0x2AB9 : composite-proc [refer-glyph 'precedesEqEqUpper'] [refer-glyph 'symSymBarNegatedLower']
|
||||||
include : Translate 0 (-lessEqDist)
|
|
||||||
include : Italify
|
|
||||||
create-derived 'precedesEq' 0x2AAF : glyph-proc
|
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
|
||||||
create-derived 'precedesEqBarNegated' 0x2AB1 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'precedesSym' 0x227E : glyph-proc
|
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1
|
|
||||||
create-derived 'precedesSymBarNegated' 0x22E8 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'precedesEqSlant' 0x227C : glyph-proc
|
|
||||||
include : PrecedesShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke 1
|
|
||||||
|
|
||||||
create-glyph 'precedesEqEq' 0x2AB3 : glyph-proc
|
|
||||||
include : PrecedesShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
|
||||||
include : HBar SB RightSB (SymbolMid - dH + lessEqDist * 2 / 3) lesslessSW
|
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) lesslessSW
|
|
||||||
create-derived 'precedesEqEqBarNegated' 0x2AB5 : EqEqBarNegation
|
|
||||||
create-glyph 'precedesSymSym' 0x2AB7 : glyph-proc
|
|
||||||
include : PrecedesShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
|
||||||
include : symWave (SymbolMid - dH + lessEqDist * 2 / 3) 1 lesslessSW
|
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1 lesslessSW
|
|
||||||
create-derived 'precedesSymSymBarNegated' 0x2AB9 : EqEqBarNegation
|
|
||||||
|
|
||||||
|
|
||||||
create-glyph : glyph-proc
|
create-glyph 'succeeds.narrow' : composite-proc [refer-glyph 'succeedsEqUpper'] [Upright] [Translate 0 (-lessEqDist)] [Italify]
|
||||||
include : SucceedsShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist) SB RightSB
|
create-glyph 'succeedsEq' 0x2AB0 : composite-proc [refer-glyph 'succeedsEqUpper'] [refer-glyph 'eqLower']
|
||||||
create-derived 'succeeds.narrow' : glyph-proc
|
create-glyph 'sycceedseqBarNegated' 0x2AB2 : composite-proc [refer-glyph 'succeedsEqUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
include : Upright
|
create-glyph 'succeedsSym' 0x227F : composite-proc [refer-glyph 'succeedsEqUpper'] [refer-glyph 'symLower']
|
||||||
include : Translate 0 (-lessEqDist)
|
create-glyph 'succeedsSymBarNegated' 0x22E9 : composite-proc [refer-glyph 'succeedsEqUpper'] [refer-glyph 'symBarNegatedLower']
|
||||||
include : Italify
|
create-glyph 'succeedsEqSlant' 0x227D : composite-proc [refer-glyph 'succeedsEqUpper']
|
||||||
create-derived 'succeedsEq' 0x2AB0 : glyph-proc
|
SucceedsShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke 1
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
|
||||||
create-derived 'sycceedseqBarNegated' 0x2AB2 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'succeedsSym' 0x227F : glyph-proc
|
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1
|
|
||||||
create-derived 'succeedsSymBarNegated' 0x22E9 : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
create-derived 'succeedsEqSlant' 0x227D : glyph-proc
|
|
||||||
include : SucceedsShapeB (SymbolMid + dH - lessEqDist) (SymbolMid - dH - lessEqDist) SB RightSB OperatorStroke 1
|
|
||||||
|
|
||||||
create-glyph 'succeedsEqEq' 0x2AB4 : glyph-proc
|
create-glyph 'succeedsEqEq' 0x2AB4 : composite-proc [refer-glyph 'succeedsEqEqUpper'] [refer-glyph 'eqEqLower']
|
||||||
include : SucceedsShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
create-glyph 'succeedsEqEqBarNegated' 0x2AB6 : composite-proc [refer-glyph 'succeedsEqEqUpper'] [refer-glyph 'eqEqBarNegatedLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH + lessEqDist * 2 / 3) lesslessSW
|
create-glyph 'succeedsSymSym' 0x2AB8 : composite-proc [refer-glyph 'succeedsEqEqUpper'] [refer-glyph 'symSymLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) lesslessSW
|
create-glyph 'succeedsSymSymBarNegated' 0x2ABA : composite-proc [refer-glyph 'succeedsEqEqUpper'] [refer-glyph 'symSymBarNegatedLower']
|
||||||
create-derived 'succeedsEqEqBarNegated' 0x2AB6 : EqEqBarNegation
|
|
||||||
create-glyph 'succeedsSymSym' 0x2AB8 : glyph-proc
|
|
||||||
include : SucceedsShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist * 1.75) SB RightSB lesslessSW
|
|
||||||
include : symWave (SymbolMid - dH + lessEqDist * 2 / 3) 1 lesslessSW
|
|
||||||
include : symWave (SymbolMid - dH - lessEqDist) 1 lesslessSW
|
|
||||||
create-derived 'succeedsSymSymBarNegated' 0x2ABA : EqEqBarNegation
|
|
||||||
|
|
||||||
|
|
||||||
create-glyph 'sym' 0x223C : symWave SymbolMid 1
|
create-glyph 'sym' 0x223C : symWave SymbolMid 1
|
||||||
|
@ -1284,15 +1252,13 @@ glyph-block Symbol-Math-Relation : begin
|
||||||
turned 'supst' 0x2283 'subst' Middle SymbolMid
|
turned 'supst' 0x2283 'subst' Middle SymbolMid
|
||||||
turned 'doubleSupst' 0x22D1 'doubleSubst' Middle SymbolMid
|
turned 'doubleSupst' 0x22D1 'doubleSubst' Middle SymbolMid
|
||||||
|
|
||||||
create-glyph : glyph-proc
|
create-glyph 'substBarUpper' : AsRadical : SubsetShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist)
|
||||||
include : SubsetShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist)
|
create-glyph 'supstBarUpper' : AsRadical : SupsetShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist)
|
||||||
create-derived 'substBar' 0x2286 : glyph-proc
|
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
create-glyph 'substBar' 0x2286 : composite-proc [refer-glyph 'substBarUpper'] [refer-glyph 'eqLower']
|
||||||
create-derived 'substBarNegated' 0x228A : BarNegator (SymbolMid - dH) lessEqDist
|
create-glyph 'substBarNegated' 0x228A : composite-proc [refer-glyph 'substBarUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
create-derived 'supstBar' 0x2287 : glyph-proc
|
create-glyph 'supstBar' 0x2287 : composite-proc [refer-glyph 'supstBarUpper'] [refer-glyph 'eqLower']
|
||||||
include : FlipAround Middle (SymbolMid + lessEqDist)
|
create-glyph 'supstBarNegated' 0x228B : composite-proc [refer-glyph 'supstBarUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
|
||||||
create-derived 'supstBarNegated' 0x228B : BarNegator (SymbolMid - dH) lessEqDist
|
|
||||||
|
|
||||||
create-glyph 'element' 0x2208 : glyph-proc
|
create-glyph 'element' 0x2208 : glyph-proc
|
||||||
include : SubsetShape (SymbolMid + dH * 4 / 3) (SymbolMid - dH * 4 / 3)
|
include : SubsetShape (SymbolMid + dH * 4 / 3) (SymbolMid - dH * 4 / 3)
|
||||||
|
@ -1306,20 +1272,20 @@ glyph-block Symbol-Math-Relation : begin
|
||||||
|
|
||||||
turned nothing 0x220D 'smallElement' Middle SymbolMid
|
turned nothing 0x220D 'smallElement' Middle SymbolMid
|
||||||
|
|
||||||
create-glyph 'prefix' 0x228F : glyph-proc
|
create-glyph 'prefix' 0x228F : PrefixShape (SymbolMid + dH) (SymbolMid - dH)
|
||||||
include : PrefixShape (SymbolMid + dH) (SymbolMid - dH)
|
create-glyph 'suffix' 0x2290 : SuffixShape (SymbolMid + dH) (SymbolMid - dH)
|
||||||
create-glyph 'suffix' 0x2290 : glyph-proc
|
|
||||||
include : SuffixShape (SymbolMid + dH) (SymbolMid - dH)
|
|
||||||
|
|
||||||
create-glyph : glyph-proc
|
create-glyph 'prefixBarUpper' : AsRadical : PrefixShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist)
|
||||||
include : PrefixShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist)
|
create-glyph 'suffixBarUpper' : AsRadical : SuffixShape (SymbolMid + dH + lessEqDist) (SymbolMid - dH + lessEqDist)
|
||||||
create-derived 'prefixBar' 0x2291 : glyph-proc
|
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
create-glyph 'prefixBar' 0x2291 : composite-proc [refer-glyph 'prefixBarUpper'] [refer-glyph 'eqLower']
|
||||||
create-derived 'prefixBarNegated' 0x22E4 : BarNegator (SymbolMid - dH) lessEqDist
|
create-glyph 'prefixBarNegated' 0x22E4 : composite-proc [refer-glyph 'prefixBarUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
create-derived 'suffixBar' 0x2292 : glyph-proc
|
create-glyph 'suffixBar' 0x2292 : composite-proc [refer-glyph 'suffixBarUpper'] [refer-glyph 'eqLower']
|
||||||
include : FlipAround Middle (SymbolMid + lessEqDist)
|
create-glyph 'suffixBarNegated' 0x22E5 : composite-proc [refer-glyph 'suffixBarUpper'] [refer-glyph 'eqBarNegatedLower']
|
||||||
include : HBar SB RightSB (SymbolMid - dH - lessEqDist) OperatorStroke
|
|
||||||
create-derived 'suffixBarNegated' 0x22E5 : BarNegator (SymbolMid - dH) lessEqDist
|
create-glyph 'prefixElement' 0x22FF : glyph-proc
|
||||||
|
include : PrefixShape (SymbolMid + dH * 4 / 3) (SymbolMid - dH * 4 / 3)
|
||||||
|
include : HBar (SB + HalfStroke) RightSB SymbolMid
|
||||||
|
|
||||||
create-glyph 0x22F8 : composite-proc
|
create-glyph 0x22F8 : composite-proc
|
||||||
refer-glyph 'element'
|
refer-glyph 'element'
|
||||||
|
|
|
@ -143,7 +143,7 @@ define-macro glyph-block-import : syntax-rules
|
||||||
HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender FlipAround ScaleAround
|
HooktopLeftBar FlatSlashShape hookstart hookend CyrDescender FlipAround ScaleAround
|
||||||
Realign ForceUpright diagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask
|
Realign ForceUpright diagCor CreateWaveShape NameUni PointingTo WithAIHSerifsMask
|
||||||
WithTransform ReverseContours clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape
|
WithTransform ReverseContours clear-anchors OBarLeftToothlessShape OBarLeftRoundedShape
|
||||||
OBarRightToothlessShape OBarRightRoundedShape]
|
OBarRightToothlessShape OBarRightRoundedShape AsRadical]
|
||||||
|
|
||||||
Overmarks `[markExtend markHalfStroke markStress markFine markMiddle markDotsRadius
|
Overmarks `[markExtend markHalfStroke markStress markFine markMiddle markDotsRadius
|
||||||
aboveMarkTop aboveMarkBot aboveMarkMid belowMarkBot belowMarkTop commaOvershoot
|
aboveMarkTop aboveMarkBot aboveMarkMid belowMarkBot belowMarkTop commaOvershoot
|
||||||
|
|
|
@ -69,8 +69,8 @@ const TieGlyph = {
|
||||||
|
|
||||||
const DoNotDeriveVariants = {
|
const DoNotDeriveVariants = {
|
||||||
get(glyph) {
|
get(glyph) {
|
||||||
if (glyph && glyph.related) return glyph.related.DoNotDeriveVariants;
|
if (glyph && glyph.related) return !!glyph.related.DoNotDeriveVariants;
|
||||||
else return null;
|
else return false;
|
||||||
},
|
},
|
||||||
set(glyph) {
|
set(glyph) {
|
||||||
if (!glyph.related) glyph.related = {};
|
if (!glyph.related) glyph.related = {};
|
||||||
|
@ -78,6 +78,17 @@ const DoNotDeriveVariants = {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const Radical = {
|
||||||
|
get(glyph) {
|
||||||
|
if (glyph && glyph.related) return !!glyph.related.radical;
|
||||||
|
else return false;
|
||||||
|
},
|
||||||
|
set(glyph) {
|
||||||
|
if (!glyph.related) glyph.related = {};
|
||||||
|
glyph.related.radical = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const CvTagCache = new Map();
|
const CvTagCache = new Map();
|
||||||
function Cv(tag) {
|
function Cv(tag) {
|
||||||
if (CvTagCache.has(tag)) return CvTagCache.get(tag);
|
if (CvTagCache.has(tag)) return CvTagCache.get(tag);
|
||||||
|
@ -295,6 +306,7 @@ exports.getGrMesh = getGrMesh;
|
||||||
exports.TieMark = TieMark;
|
exports.TieMark = TieMark;
|
||||||
exports.TieGlyph = TieGlyph;
|
exports.TieGlyph = TieGlyph;
|
||||||
exports.DoNotDeriveVariants = DoNotDeriveVariants;
|
exports.DoNotDeriveVariants = DoNotDeriveVariants;
|
||||||
|
exports.Radical = Radical;
|
||||||
exports.AnyDerivingCv = AnyDerivingCv;
|
exports.AnyDerivingCv = AnyDerivingCv;
|
||||||
exports.CcmpDecompose = CcmpDecompose;
|
exports.CcmpDecompose = CcmpDecompose;
|
||||||
exports.CvDecompose = CvDecompose;
|
exports.CvDecompose = CvDecompose;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue