Symbols: Further Agda high-frequency symbol support
This commit is contained in:
parent
df3bf928ac
commit
3103278e23
13 changed files with 758 additions and 263 deletions
|
@ -2,4 +2,4 @@
|
|||
* Make curly `k` under Slab variants look more different than the straight ones.
|
||||
* Fixed minor stroke overflow on `A`.
|
||||
* Fix O-hook connection.
|
||||
* Add symbols for `≺`, `≻`, `⊏`, `⊐`, etc.
|
||||
* Add more math symbols (`≺`, `≻`, `⊏`, `⊐`, etc.) for Agda.
|
||||
|
|
|
@ -179,21 +179,6 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
assignFontNames para metrics font
|
||||
setFontMetrics para metrics font
|
||||
|
||||
# Necessary notdef, .null and nonmarkingreturn glyph
|
||||
sketch # .notdef
|
||||
start-from SB 0
|
||||
line-to SB CAP
|
||||
line-to RIGHTSB CAP
|
||||
line-to RIGHTSB 0
|
||||
|
||||
start-from (SB + STROKE) STROKE
|
||||
line-to (RIGHTSB - STROKE) STROKE
|
||||
line-to (RIGHTSB - STROKE) (CAP - STROKE)
|
||||
line-to (SB + STROKE) (CAP - STROKE)
|
||||
|
||||
set currentGlyph.cmpPriority (9999)
|
||||
save '.notdef'
|
||||
|
||||
sketch # .null
|
||||
set-width 0
|
||||
set currentGlyph.cmpPriority (9998)
|
||||
|
@ -204,7 +189,6 @@ export as build : define [buildFont para recursive recursiveCodes] : begin
|
|||
set currentGlyph.cmpPriority (-1)
|
||||
save 'nonmarkingreturn' 0x000D
|
||||
|
||||
# Space
|
||||
sketch # space
|
||||
local df : DivFrame para.diversityF
|
||||
set-width df.width
|
||||
|
|
|
@ -48,7 +48,7 @@ export : define [apply] : begin
|
|||
set-width 0
|
||||
return lg
|
||||
|
||||
define [CircCrowd digits width] : 5 + [AdjustDigitCount digits width]
|
||||
define [CircCrowd digits width] : 2 + 2 * [AdjustDigitCount digits width]
|
||||
define [CircScale digits width] : 0.65 / [Math.pow [AdjustDigitCount digits width] 0.5]
|
||||
|
||||
define [circleDimens digits dscale w m] : begin
|
||||
|
@ -74,10 +74,11 @@ export : define [apply] : begin
|
|||
define [CircledMiniatureFont digits width records] : begin
|
||||
local pendingGlyphs : records.map : [record] => record.1
|
||||
return : Miniature
|
||||
glyphs -- [pendingGlyphs.reduce : [a b] => [a.concat b]]
|
||||
crowd -- [CircCrowd digits width]
|
||||
scale -- [CircScale digits width]
|
||||
unfair -- true
|
||||
glyphs -- [pendingGlyphs.reduce : [a b] => [a.concat b]]
|
||||
crowd -- [CircCrowd digits width]
|
||||
scale -- [CircScale digits width]
|
||||
unfair -- true
|
||||
sbscale -- 1
|
||||
|
||||
define [CircName prefix digits parts suffix] : suggestName : prefix + '-' + digits + '-' + [parts.join '_'] + '.' + suffix
|
||||
|
||||
|
@ -183,20 +184,41 @@ export : define [apply] : begin
|
|||
define pscale : linreg WIDTH 0.6 UPM 0.75 width
|
||||
define sw0 : [EnclosureStrokeScale dscale digits width] * [adviceBlackness [BraceCrowd digits width]] / [BraceScale digits width]
|
||||
define sw : Math.min STROKE sw0
|
||||
define l : [Math.max (SB + O * 3) (width / 2 - CAP / 2 * dscale - sw0 * 2.5)] + OX
|
||||
define l : Math.max (SB + O * 3) (width / 2 - [Math.max (WIDTH * digits) CAP] / 2)
|
||||
define r : width - l
|
||||
return : object width sw dscale pscale l r
|
||||
|
||||
define [createBracedGlyphs digits records] : begin
|
||||
foreach {suffix ww} [items-of circleWidthClasses] : do
|
||||
local pendingGlyphs : records.map : [record] => record.1
|
||||
local miniatureFont : Miniature
|
||||
define pendingGlyphs : records.map : [record] => record.1
|
||||
define miniatureFont : Miniature
|
||||
glyphs -- [pendingGlyphs.reduce : [a b] => [a.concat b]]
|
||||
crowd -- [BraceCrowd digits ww]
|
||||
scale -- [BraceScale digits ww]
|
||||
sbscale -- 1
|
||||
unfair -- true
|
||||
|
||||
define gnb : CircName '.braced-brace' digits {} suffix
|
||||
define braceGlyph : create-glyph gnb : glyph-construction
|
||||
define [object width dscale pscale sw l r] : bracedDottdeDimens digits ww
|
||||
local s : TANSLANT * symbolMid / 2
|
||||
set-width width
|
||||
include : dispiro
|
||||
widths.lhs sw
|
||||
g4 ([mix l r 0.15] - s) (parenTop * pscale)
|
||||
g4.down.mid (l - s + O) (symbolMid * pscale)
|
||||
g4 ([mix l r 0.15] - s) (parenBot * pscale)
|
||||
|
||||
include : dispiro
|
||||
widths.rhs sw
|
||||
g4 ([mix r l 0.15] + s) (parenTop * pscale)
|
||||
g4.down.mid (r + s - O) (symbolMid * pscale)
|
||||
g4 ([mix r l 0.15] + s) (parenBot * pscale)
|
||||
|
||||
include : Upright
|
||||
include : Translate 0 (symbolMid - symbolMid * pscale)
|
||||
include : Italify
|
||||
|
||||
foreach {unicode parts w bal baly} [items-of records] : do
|
||||
define [object width dscale pscale sw l r] : bracedDottdeDimens digits ww
|
||||
local gn : CircName 'braced' digits parts suffix
|
||||
|
@ -227,31 +249,16 @@ export : define [apply] : begin
|
|||
if bal : set shift : CAP / 2 - [mix baly gMiddleY bal]
|
||||
: else : set shift : CAP / 2 - gMiddleY
|
||||
|
||||
apply-transform : Translate (width / 2) (symbolMid * pscale - (CAP / 2 - shift) * dscale)
|
||||
apply-transform : Translate (width / 2) (symbolMid - (CAP / 2 - shift) * dscale)
|
||||
apply-transform : Italify
|
||||
set currentGlyph.cmpPriority 11
|
||||
refair currentGlyph
|
||||
set-width 0
|
||||
|
||||
sketch
|
||||
local s : TANSLANT * symbolMid
|
||||
set-width width
|
||||
include lg
|
||||
include : dispiro
|
||||
widths.lhs sw
|
||||
g4 ([mix l r 0.15] - s) (parenTop * pscale)
|
||||
g4.down.mid (l - s + O) (symbolMid * pscale)
|
||||
g4 ([mix l r 0.15] - s) (parenBot * pscale)
|
||||
|
||||
include : dispiro
|
||||
widths.rhs sw
|
||||
g4 ([mix r l 0.15] + s) (parenTop * pscale)
|
||||
g4.down.mid (r + s - O) (symbolMid * pscale)
|
||||
g4 ([mix r l 0.15] + s) (parenBot * pscale)
|
||||
|
||||
include : Upright
|
||||
include : Translate 0 (symbolMid - symbolMid * pscale)
|
||||
include : Italify
|
||||
include braceGlyph
|
||||
|
||||
if (w == ww) : save gn unicode
|
||||
: else : save gn
|
||||
|
@ -381,7 +388,6 @@ export : define [apply] : begin
|
|||
|
||||
if [not recursive] : do "Single-digit braced"
|
||||
local compositions {}
|
||||
compositions.push { null {'space'} FULLWIDTH1 }
|
||||
foreach [j : range 1 till 9] : compositions.push : list
|
||||
0x2474 + j - 1
|
||||
digitGlyphNames j
|
||||
|
@ -392,7 +398,6 @@ export : define [apply] : begin
|
|||
|
||||
if [not recursive] : do "Double-digit braced"
|
||||
local compositions {}
|
||||
compositions.push { null {'space'} FULLWIDTH1 }
|
||||
foreach [j : range 10 till 20] : compositions.push : list
|
||||
0x2474 + j - 1
|
||||
digitGlyphNames j
|
||||
|
|
|
@ -124,7 +124,7 @@ export : define [apply] : begin
|
|||
local halfBarWidth : headLen / 3
|
||||
local headWidth : halfBarWidth * 2
|
||||
|
||||
local fine : Math.min [adviceBlackness 5] (halfBarWidth * 0.4)
|
||||
local fine : Math.min [adviceBlackness 5] (halfBarWidth * 0.6)
|
||||
local mag : Math.hypot (y2 - y1) (x2 - x1)
|
||||
local p : (mag - fine) / mag
|
||||
local p2 : (mag - fine * [Math.sqrt 13] / 2) / mag
|
||||
|
@ -751,13 +751,13 @@ export : define [apply] : begin
|
|||
save [MangleName 'bigblackcircle'] [MangleUnicode 0x2B24]
|
||||
|
||||
let
|
||||
: configurations : list
|
||||
: cfg : list
|
||||
* {.sides 5 .skip 2 .name 'blackstar' .unicode 0x2605 .overflow 1.1 .phase 0}
|
||||
* {.sides 5 .skip 1 .name 'blackpentagon' .unicode 0x2B1F .overflow 1.05 .phase 0}
|
||||
* {.sides 6 .skip 1 .name 'blackhexagon' .unicode 0x2B22 .overflow 1.05 .phase 0}
|
||||
* {.sides 5 .skip 1 .name 'rhblackpentagon' .unicode 0x2B53 .overflow 1.05 .phase (-Math.PI / 2)}
|
||||
* {.sides 6 .skip 1 .name 'hblackhexagon' .unicode 0x2B23 .overflow 1.05 .phase (Math.PI / 2)}
|
||||
: foreach [{.sides sides .skip skip .name name .unicode unicode .overflow overflow .phase phase} : items-of configurations] : sketch
|
||||
: foreach [[object sides skip name unicode overflow phase] : items-of cfg] : sketch
|
||||
include markset.plus
|
||||
foreach [j : range 0 sides] : begin
|
||||
local angle : 2 * Math.PI * j * skip / sides + phase
|
||||
|
@ -768,6 +768,21 @@ export : define [apply] : begin
|
|||
include FullWidthify
|
||||
save [MangleName name] [MangleUnicode unicode]
|
||||
|
||||
let
|
||||
: cfg : list
|
||||
* {.sides 6 .skip 1 .name 'SixPointedBlackStar' .unicode 0x2736 .overflow 1.05 .phase 0}
|
||||
: foreach [[object sides skip name unicode overflow phase] : items-of cfg] : sketch
|
||||
include markset.plus
|
||||
foreach [j : range 0 (2 * sides)] : begin
|
||||
local angle : Math.PI * j * skip / sides + phase
|
||||
local mag : [if (j % 2) 0.5 1.0] * overflow
|
||||
currentGlyph.([if j 'line-to' 'start-from'])
|
||||
mix left right (0.5 - 0.5 * mag * [Math.sin angle])
|
||||
symbolMid + squareRadius * mag * [Math.cos angle]
|
||||
save [MangleName "hw\(name)"]
|
||||
include FullWidthify
|
||||
save [MangleName name] [MangleUnicode unicode]
|
||||
|
||||
sketch # dottedcircle
|
||||
local n 12
|
||||
local fine : adviceBlackness 10
|
||||
|
|
|
@ -278,8 +278,8 @@ export : define [apply] : begin
|
|||
save 'mathBeth' 0x2136
|
||||
|
||||
do "Blackboard Bolds ========================================================================"
|
||||
define bbs : adviceBlackness 8
|
||||
define bbd : WIDTH / 5.5
|
||||
define bbs : adviceBlackness 6
|
||||
define bbd : clamp (WIDTH / 5.5) (WIDTH / 4) (bbs * 2.5)
|
||||
|
||||
sketch # bbN
|
||||
include : VBarLeft SB 0 CAP bbs
|
||||
|
@ -311,6 +311,17 @@ export : define [apply] : begin
|
|||
widths.center bbs
|
||||
corner (SB + bbd) (bbs / 2)
|
||||
corner RIGHTSB (CAP - (bbs / 2))
|
||||
|
||||
include : intersection
|
||||
union
|
||||
VBarRight RIGHTSB (CAP - bbs * 2) CAP bbs
|
||||
VBarLeft SB 0 (bbs * 2) bbs
|
||||
spiro-outline
|
||||
corner SB (bbs / 2)
|
||||
corner (RIGHTSB - bbd) (CAP - bbs / 2)
|
||||
corner RIGHTSB (CAP - (bbs / 2))
|
||||
corner (SB + bbd) (bbs / 2)
|
||||
|
||||
save 'bbZ' 0x2124
|
||||
|
||||
sketch # bbC
|
||||
|
@ -372,7 +383,7 @@ export : define [apply] : begin
|
|||
VBar (RIGHTSB - bbd) 0 CAP bbs
|
||||
|
||||
define terminalX : MIDDLE + HOOKX
|
||||
define tailDeltaX : bbd / 2 + bbs / 4 * HVCONTRAST
|
||||
define tailDeltaX : bbd / 2 - bbs / 8 * HVCONTRAST
|
||||
define qTerminalY : bbs - HOOK - bbd / 4
|
||||
define [QTail x] : dispiro
|
||||
widths.center bbs
|
||||
|
|
|
@ -6,6 +6,9 @@ import [designParameters] from '../meta/aesthetics'
|
|||
|
||||
export : define [apply] : begin
|
||||
glyph-module-entry commonShapes overmarks letterBasic letterExt
|
||||
|
||||
# Equation parameters
|
||||
|
||||
do "Letter-like"
|
||||
sketch # micro
|
||||
include glyphs.mu AS_BASE
|
||||
|
@ -95,54 +98,109 @@ export : define [apply] : begin
|
|||
|
||||
do "Frames"
|
||||
local sw GEOMETRYSTROKE
|
||||
local k : 2 / 3
|
||||
local top : symbolMid + (RIGHTSB - SB) * 0.5 + sw * k
|
||||
local bottom : symbolMid - (RIGHTSB - SB) * 0.5 - sw * k
|
||||
local left : SB - sw * k
|
||||
local right : RIGHTSB + sw * k
|
||||
local kBox : 2 / 3
|
||||
local leftBox : SB * kBox
|
||||
local rightBox : WIDTH - SB * kBox
|
||||
local radiusBox : (rightBox - leftBox) / 2
|
||||
local topBox : symbolMid + radiusBox
|
||||
local bottomBox : symbolMid - radiusBox
|
||||
|
||||
|
||||
local kCircle : 2 / 3
|
||||
local leftCircle : SB * kCircle
|
||||
local rightCircle : WIDTH - SB * kCircle
|
||||
local radiusCircle : (rightCircle - leftCircle) / 2
|
||||
|
||||
local radiusBig : (tackTop - tackBot) / 2
|
||||
local leftBig : MIDDLE - radiusBig
|
||||
local rightBig : MIDDLE + radiusBig
|
||||
|
||||
sketch # mathO
|
||||
include glyphs.'whitecircle.hwid'
|
||||
include : dispiro
|
||||
widths.lhs GEOMETRYSTROKE
|
||||
g4 MIDDLE (symbolMid + radiusCircle - O)
|
||||
archv nothing 2
|
||||
g4 (leftCircle + O) symbolMid
|
||||
arcvh nothing 2
|
||||
g4 MIDDLE (symbolMid - radiusCircle + O)
|
||||
archv nothing 2
|
||||
g4 (rightCircle - O) symbolMid
|
||||
arcvh nothing 2
|
||||
close
|
||||
save 'mathO'
|
||||
sketch # mathO-outline
|
||||
include glyphs.'blackcircleO.hwid'
|
||||
include : spiro-outline
|
||||
g4 MIDDLE (symbolMid + radiusCircle)
|
||||
archv nothing 2
|
||||
g4 (leftCircle) symbolMid
|
||||
arcvh nothing 2
|
||||
g4 MIDDLE (symbolMid - radiusCircle)
|
||||
archv nothing 2
|
||||
g4 (rightCircle) symbolMid
|
||||
arcvh nothing 2
|
||||
close
|
||||
save 'mathOOutline'
|
||||
sketch # mathOBig
|
||||
include : dispiro
|
||||
widths.lhs GEOMETRYSTROKE
|
||||
g4 MIDDLE (symbolMid + radiusBig - O)
|
||||
archv nothing 2
|
||||
g4 (leftBig + O) symbolMid
|
||||
arcvh nothing 2
|
||||
g4 MIDDLE (symbolMid - radiusBig + O)
|
||||
archv nothing 2
|
||||
g4 (rightBig - O) symbolMid
|
||||
arcvh nothing 2
|
||||
close
|
||||
save 'mathOBig'
|
||||
sketch # mathO-outline
|
||||
include : spiro-outline
|
||||
g4 MIDDLE (symbolMid + radiusBig)
|
||||
archv nothing 2
|
||||
g4 (leftBig) symbolMid
|
||||
arcvh nothing 2
|
||||
g4 MIDDLE (symbolMid - radiusBig)
|
||||
archv nothing 2
|
||||
g4 (rightBig) symbolMid
|
||||
arcvh nothing 2
|
||||
close
|
||||
save 'mathOOutlineBig'
|
||||
sketch # mathBoxOutline
|
||||
include : spiro-outline
|
||||
corner left top
|
||||
corner left bottom
|
||||
corner right bottom
|
||||
corner right top
|
||||
corner leftBox topBox
|
||||
corner leftBox bottomBox
|
||||
corner rightBox bottomBox
|
||||
corner rightBox topBox
|
||||
save 'mathBoxOutline'
|
||||
sketch # mathBox
|
||||
include : intersection glyphs.mathBoxOutline : union
|
||||
dispiro [widths.lhs sw] [flat left top] [curl left bottom]
|
||||
dispiro [widths.lhs sw] [flat left bottom] [curl right bottom]
|
||||
dispiro [widths.lhs sw] [flat right bottom] [curl right top]
|
||||
dispiro [widths.lhs sw] [flat right top] [curl left top]
|
||||
dispiro [widths.lhs sw] [flat leftBox topBox] [curl leftBox bottomBox]
|
||||
dispiro [widths.lhs sw] [flat leftBox bottomBox] [curl rightBox bottomBox]
|
||||
dispiro [widths.lhs sw] [flat rightBox bottomBox] [curl rightBox topBox]
|
||||
dispiro [widths.lhs sw] [flat rightBox topBox] [curl leftBox topBox]
|
||||
save 'mathBox'
|
||||
|
||||
do "Geometry"
|
||||
sketch
|
||||
include : intersection
|
||||
spiro-outline
|
||||
corner left bottom
|
||||
corner right bottom
|
||||
corner right top
|
||||
corner leftBox bottomBox
|
||||
corner rightBox bottomBox
|
||||
corner rightBox topBox
|
||||
union
|
||||
dispiro [widths.lhs sw] [flat left bottom] [curl right bottom]
|
||||
dispiro [widths.lhs sw] [flat right bottom] [curl right top]
|
||||
dispiro [widths.lhs sw] [flat right top] [curl left bottom]
|
||||
dispiro [widths.lhs sw] [flat leftBox bottomBox] [curl rightBox bottomBox]
|
||||
dispiro [widths.lhs sw] [flat rightBox bottomBox] [curl rightBox topBox]
|
||||
dispiro [widths.lhs sw] [flat rightBox topBox] [curl leftBox bottomBox]
|
||||
save 'mathRightTriangle' 0x22BF
|
||||
sketch
|
||||
include : intersection
|
||||
spiro-outline
|
||||
corner left bottom
|
||||
corner right bottom
|
||||
corner right top
|
||||
corner leftBox bottomBox
|
||||
corner rightBox bottomBox
|
||||
corner rightBox topBox
|
||||
union
|
||||
dispiro [widths.lhs sw] [flat left bottom] [curl right bottom]
|
||||
dispiro [widths.lhs sw] [flat right top] [curl left bottom]
|
||||
dispiro [widths.lhs sw] [flat leftBox bottomBox] [curl rightBox bottomBox]
|
||||
dispiro [widths.lhs sw] [flat rightBox topBox] [curl leftBox bottomBox]
|
||||
save 'angle' 0x2220
|
||||
|
||||
do "Arith"
|
||||
|
@ -194,6 +252,20 @@ export : define [apply] : begin
|
|||
include : DotAt MIDDLE plusTop DOTRADIUS
|
||||
save 'minusDot' 0x2238
|
||||
|
||||
sketch # colon-equal
|
||||
include glyphs.'baselineDot'
|
||||
include glyphs.'xhDot'
|
||||
|
||||
local sbSquash 0.5
|
||||
|
||||
local delta : Math.max 0 : WIDTH / 2 - DOTRADIUS - SB * sbSquash
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate (+delta) (symbolMid - XH / 2)
|
||||
apply-transform : Italify
|
||||
|
||||
include : HBar (SB * sbSquash) (RIGHTSB - DOTSIZE) symbolMid OPERATORSTROKE
|
||||
save 'minusColon' 0x2239
|
||||
|
||||
sketch # innerMinus
|
||||
include markset.plus
|
||||
include : HBar SB RIGHTSB symbolMid GEOMETRYSTROKE
|
||||
|
@ -259,105 +331,38 @@ export : define [apply] : begin
|
|||
|
||||
save 'divide' 0xF7
|
||||
|
||||
local equalHalfSpace : (operTop - operBot) * 2 * designParameters.equal_wideness
|
||||
do "Equality"
|
||||
do
|
||||
define fine : adviceBlackness 5.5
|
||||
define radius : Math.max ((RIGHTSB - SB) / 12) (fine / 2)
|
||||
define barOffset : fine * 1.5 + radius * 2
|
||||
define dotCenterOffset : OX + fine + radius
|
||||
sketch
|
||||
include markset.plus
|
||||
include : union
|
||||
HBar (SB + barOffset) (RIGHTSB - barOffset) symbolMid OPERATORSTROKE
|
||||
DotAt (RIGHTSB - dotCenterOffset) symbolMid (radius + fine)
|
||||
difference
|
||||
DotAt (SB + dotCenterOffset) symbolMid (radius + fine)
|
||||
DotAt (SB + dotCenterOffset) symbolMid radius
|
||||
save 'originalOf' 0x22b6
|
||||
sketch
|
||||
include markset.plus
|
||||
include : union
|
||||
HBar (SB + barOffset) (RIGHTSB - barOffset) symbolMid OPERATORSTROKE
|
||||
DotAt (SB + dotCenterOffset) symbolMid (radius + fine)
|
||||
difference
|
||||
DotAt (RIGHTSB - dotCenterOffset) symbolMid (radius + fine)
|
||||
DotAt (RIGHTSB - dotCenterOffset) symbolMid radius
|
||||
save 'imageOf' 0x22b7
|
||||
sketch
|
||||
include markset.plus
|
||||
include : union
|
||||
HBar SB (RIGHTSB - barOffset) symbolMid OPERATORSTROKE
|
||||
difference
|
||||
DotAt (RIGHTSB - dotCenterOffset) symbolMid (radius + fine)
|
||||
DotAt (RIGHTSB - dotCenterOffset) symbolMid radius
|
||||
save 'multimap' 0x22b8
|
||||
|
||||
define [EqualShape left right] : union
|
||||
HBar left right (symbolMid + equalHalfSpace) OPERATORSTROKE
|
||||
HBar left right (symbolMid - equalHalfSpace) OPERATORSTROKE
|
||||
|
||||
define [EqualHole x] : VBar x (symbolMid - equalHalfSpace) (symbolMid + equalHalfSpace) [adviceBlackness 6]
|
||||
|
||||
define [IdentShape left right] : union
|
||||
HBar left right (symbolMid + equalHalfSpace * 1.5) OPERATORSTROKE
|
||||
HBar left right symbolMid OPERATORSTROKE
|
||||
HBar left right (symbolMid - equalHalfSpace * 1.5) OPERATORSTROKE
|
||||
define [IdentHole x] : VBar x (symbolMid - equalHalfSpace * 1.5) (symbolMid + equalHalfSpace * 1.5) [adviceBlackness 6]
|
||||
|
||||
sketch # equal
|
||||
include markset.plus
|
||||
include : EqualShape SB RIGHTSB
|
||||
save 'equal' '='
|
||||
|
||||
branch
|
||||
include : DotAt [mix SB RIGHTSB (1/6)] (symbolMid + equalHalfSpace * 2.5) DOTRADIUS
|
||||
include : DotAt [mix SB RIGHTSB (5/6)] (symbolMid - equalHalfSpace * 2.5) DOTRADIUS
|
||||
save 'twodotapproxeq' 0x2252
|
||||
|
||||
sketch # colon-equal
|
||||
include glyphs.'baselineDot'
|
||||
include glyphs.'xhDot'
|
||||
|
||||
local sbSquash 0.5
|
||||
|
||||
local delta : Math.max 0 : WIDTH / 2 - DOTRADIUS - SB * sbSquash
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate (-delta) (symbolMid - XH / 2)
|
||||
apply-transform : Italify
|
||||
|
||||
include : EqualShape (SB + PERIODSIZE) (WIDTH - SB * sbSquash)
|
||||
save 'colonEq' 0x2254
|
||||
|
||||
# Ligation glyphs
|
||||
sketch # equal.fc
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape SB (WIDTH - O)
|
||||
EqualHole WIDTH
|
||||
save 'equal.fc'
|
||||
|
||||
sketch # equal.cf
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape O RIGHTSB
|
||||
EqualHole 0
|
||||
save 'equal.cf'
|
||||
|
||||
sketch # equal.jf
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape (RIGHTSB - WIDTH + O) RIGHTSB
|
||||
EqualHole 0
|
||||
save 'equal.jf'
|
||||
|
||||
sketch # equal.cc
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape O (WIDTH - O)
|
||||
union
|
||||
EqualHole 0
|
||||
EqualHole WIDTH
|
||||
save 'equal.cc'
|
||||
|
||||
sketch # ident.fc
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape SB (WIDTH - O)
|
||||
IdentHole WIDTH
|
||||
save 'ident.fc'
|
||||
|
||||
sketch # ident.cf
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape O RIGHTSB
|
||||
IdentHole 0
|
||||
save 'ident.cf'
|
||||
|
||||
sketch # ident.jf
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape (RIGHTSB - WIDTH + O) RIGHTSB
|
||||
IdentHole 0
|
||||
save 'ident.jf'
|
||||
|
||||
sketch # ident.cc
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape O (WIDTH - O)
|
||||
union
|
||||
IdentHole 0
|
||||
IdentHole WIDTH
|
||||
save 'ident.cc'
|
||||
|
||||
do "Dots and Colon-likes"
|
||||
local radius1 PERIODRADIUS
|
||||
|
@ -402,6 +407,9 @@ export : define [apply] : begin
|
|||
composite glyphs.mathO [intersection glyphs.mathOOutline glyphs.innerMultiply] [into-unicode 0x2297]
|
||||
composite glyphs.mathO [intersection glyphs.mathOOutline glyphs.innerMultiplyStroke1] [into-unicode 0x2298]
|
||||
composite glyphs.mathO [intersection glyphs.mathOOutline glyphs.mathcdot] [into-unicode 0x2299]
|
||||
composite glyphs.mathOBig [intersection glyphs.mathOOutlineBig glyphs.mathcdot] [into-unicode 0x2A00]
|
||||
composite glyphs.mathOBig [intersection glyphs.mathOOutlineBig glyphs.innerPlus] [into-unicode 0x2A01]
|
||||
composite glyphs.mathOBig [intersection glyphs.mathOOutlineBig glyphs.innerMultiply] [into-unicode 0x2A02]
|
||||
composite glyphs.mathO [intersection glyphs.mathOOutline glyphs.'smallwhitecircle.hwid'] [into-unicode 0x229A]
|
||||
composite glyphs.mathO [intersection glyphs.mathOOutline glyphs.mathAsterisk] [into-unicode 0x229B]
|
||||
composite
|
||||
|
@ -439,6 +447,19 @@ export : define [apply] : begin
|
|||
save 'vee' 0x2228
|
||||
turned 'wedge' 0x2227 'vee' MIDDLE symbolMid
|
||||
|
||||
sketch # curlyVee
|
||||
local fine : CTHIN * OPERATORSTROKE
|
||||
include : dispiro
|
||||
g4 SB operTop [widths.center OPERATORSTROKE]
|
||||
straight.down.end (MIDDLE - OPERATORSTROKE / 2 * HVCONTRAST) operBot [widths.heading fine 0 DOWNWARD]
|
||||
|
||||
include : dispiro
|
||||
widths.center OPERATORSTROKE
|
||||
g4 RIGHTSB operTop [widths.center OPERATORSTROKE]
|
||||
straight.down.end (MIDDLE + OPERATORSTROKE / 2 * HVCONTRAST) operBot [widths.heading 0 fine DOWNWARD]
|
||||
save 'curlyVee' 0x22CE
|
||||
turned 'curlyWedge' 0x22CF 'curlyVee' MIDDLE symbolMid
|
||||
|
||||
sketch # doubleVee
|
||||
define sw : adviceBlackness 6
|
||||
include : dispiro
|
||||
|
@ -489,7 +510,6 @@ export : define [apply] : begin
|
|||
save 'squareCap' 0x2293
|
||||
turned 'squareCup' 0x2294 'squareCap' MIDDLE symbolMid
|
||||
|
||||
### Logicals
|
||||
do "Logicals"
|
||||
sketch # negate
|
||||
include glyphs.minus
|
||||
|
@ -558,12 +578,125 @@ export : define [apply] : begin
|
|||
include : Rect tackTop tackBot SB RIGHTSB
|
||||
save 'endOfProof' 0x220E
|
||||
|
||||
do "Comparison"
|
||||
# Less and Greater
|
||||
|
||||
|
||||
do "Relation"
|
||||
define equalHalfSpace : (operTop - operBot) * 2 * designParameters.equal_wideness
|
||||
define lessSlantness : (4 / 13) * (operTop - operBot) / (RIGHTSB - SB)
|
||||
define dH : lessSlantness * (RIGHTSB - SB)
|
||||
define lessEqDist : Math.max [adviceBlackness 4] (XH * 0.16)
|
||||
|
||||
define [EqualShape left right] : union
|
||||
HBar left right (symbolMid + equalHalfSpace) OPERATORSTROKE
|
||||
HBar left right (symbolMid - equalHalfSpace) OPERATORSTROKE
|
||||
|
||||
define [EqualHole x] : VBar x (symbolMid - equalHalfSpace) (symbolMid + equalHalfSpace) [adviceBlackness 6]
|
||||
|
||||
define [IdentShape left right] : union
|
||||
HBar left right (symbolMid + equalHalfSpace * 1.5) OPERATORSTROKE
|
||||
HBar left right symbolMid OPERATORSTROKE
|
||||
HBar left right (symbolMid - equalHalfSpace * 1.5) OPERATORSTROKE
|
||||
define [IdentHole x] : VBar x (symbolMid - equalHalfSpace * 1.5) (symbolMid + equalHalfSpace * 1.5) [adviceBlackness 6]
|
||||
|
||||
|
||||
sketch # equal
|
||||
include markset.plus
|
||||
include : EqualShape SB RIGHTSB
|
||||
save 'equal' '='
|
||||
|
||||
branch
|
||||
include : DotAt [mix SB RIGHTSB (1/6)] (symbolMid + equalHalfSpace * 2.5) DOTRADIUS
|
||||
include : DotAt [mix SB RIGHTSB (5/6)] (symbolMid - equalHalfSpace * 2.5) DOTRADIUS
|
||||
save 'twodotapproxeq' 0x2252
|
||||
|
||||
sketch # colon-equal
|
||||
include glyphs.'baselineDot'
|
||||
include glyphs.'xhDot'
|
||||
|
||||
local sbSquash 0.5
|
||||
|
||||
local delta : Math.max 0 : WIDTH / 2 - DOTRADIUS - SB * sbSquash
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate (-delta) (symbolMid - XH / 2)
|
||||
apply-transform : Italify
|
||||
|
||||
include : EqualShape (SB + DOTSIZE) (WIDTH - SB * sbSquash)
|
||||
save 'colonEq' 0x2254
|
||||
|
||||
# Ligation glyphs
|
||||
sketch # equal.fc
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape SB (WIDTH - O)
|
||||
EqualHole WIDTH
|
||||
save 'equal.fc'
|
||||
|
||||
sketch # equal.cf
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape O RIGHTSB
|
||||
EqualHole 0
|
||||
save 'equal.cf'
|
||||
|
||||
sketch # equal.jf
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape (RIGHTSB - WIDTH + O) RIGHTSB
|
||||
EqualHole 0
|
||||
save 'equal.jf'
|
||||
|
||||
sketch # equal.cc
|
||||
include markset.plus
|
||||
include : difference
|
||||
EqualShape O (WIDTH - O)
|
||||
union
|
||||
EqualHole 0
|
||||
EqualHole WIDTH
|
||||
save 'equal.cc'
|
||||
|
||||
sketch # ident
|
||||
include markset.plus
|
||||
include : IdentShape SB RIGHTSB
|
||||
save 'ident' 0x2261
|
||||
|
||||
sketch # iiiident
|
||||
include markset.plus
|
||||
include : HBar SB RIGHTSB (symbolMid + equalHalfSpace * 2.25) OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB (symbolMid + equalHalfSpace * 0.75) OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB (symbolMid - equalHalfSpace * 0.75) OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB (symbolMid - equalHalfSpace * 2.25) OPERATORSTROKE
|
||||
save 'iiiident' 0x2263
|
||||
|
||||
sketch # ident.fc
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape SB (WIDTH - O)
|
||||
IdentHole WIDTH
|
||||
save 'ident.fc'
|
||||
|
||||
sketch # ident.cf
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape O RIGHTSB
|
||||
IdentHole 0
|
||||
save 'ident.cf'
|
||||
|
||||
sketch # ident.jf
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape (RIGHTSB - WIDTH + O) RIGHTSB
|
||||
IdentHole 0
|
||||
save 'ident.jf'
|
||||
|
||||
sketch # ident.cc
|
||||
include markset.plus
|
||||
include : difference
|
||||
IdentShape O (WIDTH - O)
|
||||
union
|
||||
IdentHole 0
|
||||
IdentHole WIDTH
|
||||
save 'ident.cc'
|
||||
|
||||
define [LessShapeA top bot l r s] : begin
|
||||
local exp : Math.sqrt : 1 + (top - bot) / (2 * (r - l)) * (top - bot) / (2 * (r - l))
|
||||
return : dispiro
|
||||
|
@ -856,22 +989,8 @@ export : define [apply] : begin
|
|||
include : symWave symbolMid (-1)
|
||||
save 'flipsym' 0x223D
|
||||
|
||||
sketch # ident
|
||||
include markset.plus
|
||||
include : HBar SB RIGHTSB (symbolMid + equalHalfSpace * 1.5) OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB symbolMid OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB (symbolMid - equalHalfSpace * 1.5) OPERATORSTROKE
|
||||
save 'ident' 0x2261
|
||||
|
||||
sketch # iiiident
|
||||
include markset.plus
|
||||
include : HBar SB RIGHTSB (symbolMid + equalHalfSpace * 2.25) OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB (symbolMid + equalHalfSpace * 0.75) OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB (symbolMid - equalHalfSpace * 0.75) OPERATORSTROKE
|
||||
include : HBar SB RIGHTSB (symbolMid - equalHalfSpace * 2.25) OPERATORSTROKE
|
||||
save 'iiiident' 0x2263
|
||||
|
||||
vdual 'approx' 0x2248 'sym' approxDist
|
||||
|
||||
sketch # aapprox
|
||||
include markset.plus
|
||||
include : symWave (symbolMid + approxDist) 1
|
||||
|
@ -882,6 +1001,7 @@ export : define [apply] : begin
|
|||
branch
|
||||
include : HBar SB RIGHTSB (symbolMid - approxDist) OPERATORSTROKE
|
||||
save 'approxBar' 0x224A
|
||||
|
||||
sketch # symbar
|
||||
include glyphs.sym AS_BASE
|
||||
include : Upright
|
||||
|
@ -1251,7 +1371,6 @@ export : define [apply] : begin
|
|||
alias 'mathbullet' 0x2219 'bullet'
|
||||
alias 'mathbar' 0x2223 'bar'
|
||||
notGlyph 0x2224 'mathbar' [mix symbolMid bgopTop 0.5] [mix symbolMid bgopBot 0.5] 0.1
|
||||
dual 'parallel' 0x2225 'bar' (WIDTH * 0.35)
|
||||
notGlyph 0x2226 'parallel' [mix symbolMid bgopTop 0.5] [mix symbolMid bgopBot 0.5] 0
|
||||
alias 'mathsmallcircle' 0x2218 'smallwhitecircle.hwid'
|
||||
alias 'whiteDiamondOperator' 0x22C4 'whitediamond.hwid'
|
||||
|
|
|
@ -295,7 +295,7 @@ export : define [apply] : begin
|
|||
include : Shade 8 FillMedium : PatternPolygon22 bits
|
||||
save [BEGlyphName unicode] [MangleUnicode unicode]
|
||||
|
||||
define [InverseMediumShade unicode bits coBits] : sketch
|
||||
define [InverseMediumShade unicode bits] : sketch
|
||||
set-width MosaicWidth
|
||||
include : Shade (-8) (1 - FillMedium) : PatternPolygon22 bits
|
||||
include : difference
|
||||
|
@ -744,3 +744,14 @@ export : define [apply] : begin
|
|||
include glyphs.[MangleName 'pwlSlashBottomLeft']
|
||||
include : FlipAround (MosaicWidth / 2) pwlMid
|
||||
save [MangleName 'pwlSlashTopRight'] [MangleUnicode 0xE0BF]
|
||||
|
||||
sketch # .notdef
|
||||
include : union
|
||||
intersection
|
||||
glyph-construction : include glyphs.'be2592.hwid'
|
||||
Rect CAP 0 SB RIGHTSB
|
||||
difference
|
||||
Rect CAP 0 SB RIGHTSB
|
||||
Rect (CAP - STROKE) (0 + STROKE) (SB + STROKE) (RIGHTSB - STROKE)
|
||||
set currentGlyph.cmpPriority (9999)
|
||||
save '.notdef'
|
||||
|
|
|
@ -216,8 +216,8 @@ export : define [apply] : begin
|
|||
local nsBot pictBot
|
||||
local fine : adviceBlackness 3.5
|
||||
local fine2 : adviceBlackness 4
|
||||
local l : SB - fine / 2
|
||||
local r : RIGHTSB + fine / 2
|
||||
local l : SB - fine * 0
|
||||
local r : RIGHTSB + fine * 0
|
||||
local hsp : ((r - l) - (fine * 2 * HVCONTRAST)) * 0.3
|
||||
local skew 0.2
|
||||
save-glyph 'sharpTone' 0x266F : sketch
|
||||
|
|
|
@ -113,13 +113,12 @@ export : define [apply] : begin
|
|||
sketch # bracketBarLeft
|
||||
local l : mix SB RIGHTSB designParameters.bracketOutside
|
||||
local r : mix SB RIGHTSB designParameters.bracketInside
|
||||
local sw : Math.min ((r - l) / 5) [adviceBlackness 4]
|
||||
|
||||
include : union
|
||||
HBarBottom l r parenBot
|
||||
HBarTop l r parenTop
|
||||
HBar l r [mix parenBot parenTop 0.5]
|
||||
VBarLeft l parenBot parenTop sw
|
||||
VBarLeft l parenBot parenTop
|
||||
save 'bracketBarLeft' 0x2045
|
||||
|
||||
sketch # bracketBarRight
|
||||
|
@ -150,34 +149,38 @@ export : define [apply] : begin
|
|||
straight.left.end [mix SB RIGHTSB designParameters.braceOutside] symbolMid [heading LEFTWARD]
|
||||
save 'braceLeft.straight'
|
||||
|
||||
sketch # braceLeft.curly
|
||||
local xIns : mix SB RIGHTSB [mix designParameters.braceOutside designParameters.braceInside 1]
|
||||
local xOus : mix SB RIGHTSB [mix designParameters.braceInside designParameters.braceOutside 1]
|
||||
define [CurlyBraceShape sw] : glyph-construction
|
||||
local hs : sw / 2
|
||||
local xIns : mix SB RIGHTSB designParameters.braceInside
|
||||
local xOus : mix SB RIGHTSB designParameters.braceOutside
|
||||
local m1 : mix SB RIGHTSB [mix designParameters.braceInside designParameters.braceOutside designParameters.braceCurlyM1]
|
||||
local m2 : mix SB RIGHTSB [mix designParameters.braceInside designParameters.braceOutside designParameters.braceCurlyM2]
|
||||
local braceRadiusLowLimit : (parenTop - symbolMid - STROKE) * (1 / 3) + HALFSTROKE
|
||||
local braceRadiusLowLimit : (parenTop - symbolMid - sw) * (1 / 3) + hs
|
||||
local radius1 : Math.min (xIns - m1) braceRadiusLowLimit
|
||||
local radius2 : [Math.min (m2 - xOus) braceRadiusLowLimit] - HALFSTROKE
|
||||
local ess : mix STROKE ESS 0.25
|
||||
local radius2 : [Math.min (m2 - xOus) braceRadiusLowLimit] - hs
|
||||
local ess : mix sw (ESS * sw / STROKE) 0.25
|
||||
local top : mix symbolMid parenTop (1 + designParameters.braceOvershoot)
|
||||
local bot : mix symbolMid parenBot (1 + designParameters.braceOvershoot)
|
||||
include : dispiro
|
||||
straight.left.start xIns (top - HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
|
||||
straight.left.start xIns (top - hs) [widths.heading hs hs 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 HALFSTROKE HALFSTROKE DOWNWARD]
|
||||
g4.down.mid m2 (symbolMid + radius2) [widths.heading hs hs DOWNWARD]
|
||||
arcvh
|
||||
straight.left.end xOus symbolMid [heading LEFTWARD]
|
||||
|
||||
include : dispiro
|
||||
straight.left.start xIns (bot + HALFSTROKE) [widths.heading HALFSTROKE HALFSTROKE LEFTWARD]
|
||||
straight.left.start xIns (bot + hs) [widths.heading hs hs 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 HALFSTROKE HALFSTROKE UPWARD]
|
||||
g4.up.mid m2 (symbolMid - radius2) [widths.heading hs hs UPWARD]
|
||||
arcvh
|
||||
straight.left.end xOus symbolMid [heading LEFTWARD]
|
||||
|
||||
sketch # braceLeft.curly
|
||||
include : CurlyBraceShape STROKE
|
||||
save 'braceLeft.curly'
|
||||
|
||||
composite 'braceRight.straight' glyphs.'braceLeft.straight' [FlipAround MIDDLE symbolMid]
|
||||
|
@ -186,24 +189,51 @@ export : define [apply] : begin
|
|||
select-variant 'braceLeft' '{'
|
||||
select-variant 'braceRight' '}'
|
||||
|
||||
sketch # whiteBraceLeft
|
||||
local fine : adviceBlackness 4
|
||||
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 : VBarRight xIns (bot + fine / 2) (top - fine / 2) fine
|
||||
save 'whiteBraceLeft' 0x2983
|
||||
|
||||
sketch # whiteBraceRight
|
||||
include glyphs.whiteBraceLeft
|
||||
include : FlipAround MIDDLE symbolMid
|
||||
save 'whiteBraceRight' 0x2984
|
||||
|
||||
define [AngleLeftShape outside inside sw] : begin
|
||||
local fatten : Math.hypot 1 ((inside - outside - O) / (parenTop - symbolMid))
|
||||
return : union
|
||||
dispiro
|
||||
widths.lhs sw
|
||||
flat inside parenTop
|
||||
curl (outside + O) symbolMid [widths.heading (sw * fatten) 0 DOWNWARD]
|
||||
dispiro
|
||||
widths.rhs sw
|
||||
flat inside parenBot
|
||||
curl (outside + O) symbolMid [widths.heading 0 (sw * fatten) UPWARD]
|
||||
|
||||
sketch # angleLeft
|
||||
local fatten : Math.hypot 1 (([mix SB RIGHTSB : designParameters.parenInside - designParameters.parenOutside] - O) / (parenTop - symbolMid))
|
||||
include : dispiro
|
||||
widths.lhs OPERATORSTROKE
|
||||
flat [mix SB RIGHTSB designParameters.parenInside] parenTop
|
||||
curl ([mix SB RIGHTSB designParameters.parenOutside] + O) symbolMid [widths.heading (OPERATORSTROKE * fatten) 0 DOWNWARD]
|
||||
include : dispiro
|
||||
widths.rhs OPERATORSTROKE
|
||||
flat [mix SB RIGHTSB designParameters.parenInside] parenBot
|
||||
curl ([mix SB RIGHTSB designParameters.parenOutside] + O) symbolMid [widths.heading 0 (OPERATORSTROKE * fatten) UPWARD]
|
||||
define dim : ParenDim 0
|
||||
include : AngleLeftShape dim.outside dim.inside OPERATORSTROKE
|
||||
save 'angleLeft' 0x2329
|
||||
alias 'mangleLeft' 0x27E8 'angleLeft'
|
||||
save 'mathAngleLeft' 0x27E8
|
||||
|
||||
sketch # dblAngleLeft
|
||||
define dim : ParenDim 0
|
||||
define fine : Math.min OPERATORSTROKE [adviceBlackness 3]
|
||||
define farOutside : dim.outside / 2
|
||||
define middle : mix farOutside dim.inside 0.5
|
||||
include : AngleLeftShape farOutside middle fine
|
||||
include : AngleLeftShape middle dim.inside fine
|
||||
save 'dblAngleLeft' 0x27EA
|
||||
|
||||
turned 'angleRight' 0x232A 'angleLeft' MIDDLE symbolMid
|
||||
alias 'mangleRight' 0x27E9 'angleRight'
|
||||
alias 'mathAngleRight' 0x27E9 'angleRight'
|
||||
|
||||
dual 'dblangleLeft' 0x27EA 'angleLeft' (WIDTH * 0.35)
|
||||
dual 'dblangleRight' 0x27EB 'angleRight' (WIDTH * 0.35)
|
||||
turned 'dblAngleRight' 0x27EB 'dblAngleLeft' MIDDLE symbolMid
|
||||
|
||||
sketch # ceilingLeft
|
||||
include : HBarTop [mix SB RIGHTSB designParameters.bracketOutside] [mix SB RIGHTSB designParameters.bracketInside] parenTop
|
||||
|
@ -220,22 +250,22 @@ export : define [apply] : begin
|
|||
do 'Small Punctuations'
|
||||
sketch # period
|
||||
set-width WIDTH
|
||||
include : Ring (PERIODSIZE - O) O (MIDDLE - PERIODRADIUS + O) (MIDDLE + PERIODRADIUS - O) true
|
||||
include : DotAt MIDDLE PERIODRADIUS (PERIODRADIUS - O)
|
||||
save 'period' '.'
|
||||
|
||||
sketch # baselineDot
|
||||
set-width WIDTH
|
||||
include : Ring (DOTSIZE - O) O (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true
|
||||
include : DotAt MIDDLE DOTRADIUS (DOTRADIUS - O)
|
||||
save 'baselineDot'
|
||||
|
||||
sketch # xhPeriod
|
||||
set-width WIDTH
|
||||
include : Ring (XH - O) (XH - PERIODSIZE + O) (MIDDLE - PERIODRADIUS + O) (MIDDLE + PERIODRADIUS - O) true
|
||||
include : DotAt MIDDLE (XH - PERIODRADIUS) (PERIODRADIUS - O)
|
||||
save 'xhPeriod'
|
||||
|
||||
sketch # xhPeriod
|
||||
set-width WIDTH
|
||||
include : Ring (XH - O) (XH - DOTSIZE + O) (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true
|
||||
include : DotAt MIDDLE (XH - DOTRADIUS) (DOTRADIUS - O)
|
||||
save 'xhDot'
|
||||
|
||||
sketch # comma
|
||||
|
@ -292,18 +322,19 @@ export : define [apply] : begin
|
|||
local questionBottom : Math.max (CAP * 0.3) (DOTSIZE * 1.5)
|
||||
|
||||
define [QuestionShape top questionBottom left right] : glyph-construction
|
||||
define strokeEndCor : Math.hypot 1 TANSLANT
|
||||
include : dispiro
|
||||
widths.rhs
|
||||
g4 left (top - HOOK)
|
||||
hookstart (top - O)
|
||||
g4 right (top - SMOOTHB * 0.9)
|
||||
alsothru 0.5 0.45 [widths.center ESSQUESTION]
|
||||
straight.down.end ([mix left right 0.5] - HALFSTROKE * HVCONTRAST) questionBottom [widths STROKE 0]
|
||||
straight.down.end ([mix left right 0.5] - HALFSTROKE * HVCONTRAST * strokeEndCor) questionBottom [widths.heading (STROKE * strokeEndCor) 0 DOWNWARD]
|
||||
|
||||
sketch # question
|
||||
set-width WIDTH
|
||||
include : QuestionShape CAP questionBottom SB RIGHTSB
|
||||
include : Ring (DOTSIZE - O) O (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true
|
||||
include : DotAt MIDDLE DOTRADIUS (DOTRADIUS - O)
|
||||
save 'question' '?'
|
||||
|
||||
sketch # interrobang
|
||||
|
@ -317,7 +348,7 @@ export : define [apply] : begin
|
|||
include : Translate (-MIDDLE) (-DOTRADIUS)
|
||||
include : Rotate (1.2 * angle)
|
||||
include : Translate MIDDLE DOTRADIUS
|
||||
include : Ring (DOTSIZE - O) O (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true
|
||||
include : DotAt MIDDLE DOTRADIUS (DOTRADIUS - O)
|
||||
save 'interrobang' 0x203D
|
||||
|
||||
sketch # gnaborretni
|
||||
|
@ -336,8 +367,9 @@ export : define [apply] : begin
|
|||
set-width WIDTH
|
||||
include markset.capital
|
||||
include : VBar MIDDLE [clamp 0 (CAP * 0.4) (questionBottom * 1.18)] CAP
|
||||
include : Ring (DOTSIZE - O) O (MIDDLE - DOTRADIUS + O) (MIDDLE + DOTRADIUS - O) true
|
||||
include : DotAt MIDDLE DOTRADIUS (DOTRADIUS - O)
|
||||
save 'exclam' '!'
|
||||
save 'alveolarclick' 0x1C3
|
||||
|
||||
sketch # exclamDown
|
||||
set-width WIDTH
|
||||
|
@ -360,17 +392,23 @@ export : define [apply] : begin
|
|||
include : VBar MIDDLE parenBot parenTop
|
||||
save 'bar' '|'
|
||||
|
||||
sketch # parallel
|
||||
set-width WIDTH
|
||||
set currentGlyph.anchors.above {.type BASE .x MIDDLE .y parenTop}
|
||||
set currentGlyph.anchors.below {.type BASE .x MIDDLE .y parenBot}
|
||||
local sw : adviceBlackness 3.5
|
||||
include : VBar (MIDDLE - WIDTH * 0.175) parenBot parenTop sw
|
||||
include : VBar (MIDDLE + WIDTH * 0.175) parenBot parenTop sw
|
||||
save 'parallel' 0x2225
|
||||
save 'dentalclick' 0x1C0
|
||||
save 'alveolarlateralclick' 0x1C1
|
||||
|
||||
sketch # brokenbar
|
||||
local breakDist : Math.max STROKE (CAP / 8)
|
||||
include : VBar MIDDLE (symbolMid + breakDist / 2) parenTop
|
||||
include : VBar MIDDLE parenBot (symbolMid - breakDist / 2)
|
||||
save 'brokenbar' 0xA6
|
||||
|
||||
# Click symbols
|
||||
alias 'dentalclick' 0x1C0 'bar'
|
||||
dual 'alveolarlateralclick' 0x1C1 'bar' (WIDTH * 0.35)
|
||||
alias 'alveolarclick' 0x1C3 'exclam'
|
||||
|
||||
sketch # palatoalveolarclick
|
||||
include glyphs.bar AS_BASE
|
||||
include : HBarBottom SB RIGHTSB (symbolMid + XH * 0.1) OPERATORSTROKE
|
||||
|
@ -750,7 +788,7 @@ export : define [apply] : begin
|
|||
do 'Interpuncts'
|
||||
sketch # interpunct
|
||||
set-width FULLWIDTH3
|
||||
include : Ring (symbolMid + PERIODRADIUS - O) (symbolMid - PERIODRADIUS + O) (FULLWIDTH3 / 2 - PERIODRADIUS + O) (FULLWIDTH3 / 2 + PERIODRADIUS - O) true
|
||||
include : DotAt (FULLWIDTH3 / 2) symbolMid (PERIODRADIUS - O)
|
||||
save 'period.center'
|
||||
save 'interpunct' 0xB7
|
||||
save 'greekbullet' 0x387
|
||||
|
@ -760,12 +798,11 @@ export : define [apply] : begin
|
|||
sketch # whitebullet
|
||||
set-width FULLWIDTH
|
||||
local s : [adviceBlackness 5] * 0.75
|
||||
include : Ring (symbolMid + PERIODRADIUS - O) (symbolMid - PERIODRADIUS + O) (FWMIDDLE - PERIODRADIUS + O) (FWMIDDLE + PERIODRADIUS - O) true
|
||||
include : Ring (symbolMid + PERIODRADIUS - O - s) (symbolMid - PERIODRADIUS + O + s) (FWMIDDLE - PERIODRADIUS + O + s) (FWMIDDLE + PERIODRADIUS - O - s) true
|
||||
reverse-last
|
||||
include : difference
|
||||
DotAt FWMIDDLE symbolMid (PERIODRADIUS - O)
|
||||
DotAt FWMIDDLE symbolMid (PERIODRADIUS - O - s)
|
||||
save 'whitebullet' 0x25E6
|
||||
|
||||
|
||||
do 'Quotes and Primes'
|
||||
local quoteTop (CAP * 1.05)
|
||||
local quoteBottom (XH * 0.85)
|
||||
|
@ -972,34 +1009,60 @@ export : define [apply] : begin
|
|||
include : HBar SB RIGHTSB [mix parenTop parenBot 0.67]
|
||||
save 'doubledagger' 0x2021
|
||||
|
||||
do 'Ellipsis'
|
||||
define WidthKinds {{'.hwid' WIDTH WIDTH} {'.fwid' FULLWIDTH0 (FULLWIDTH0 / 2)}}
|
||||
|
||||
foreach {suffix MosaicWidth MosaicUnitWidth} [items-of WidthKinds] : do 'Ellipsis'
|
||||
define [MangleUnicode unicode] : if (MosaicWidth == FULLWIDTH) unicode nothing
|
||||
define [MangleName name] : name + suffix
|
||||
define [DotRadius darkness space] : begin
|
||||
return : 0.5 * [adviceBlackness darkness (space / WIDTH)] * PERIODSIZE / STROKE
|
||||
|
||||
sketch # onedotLeader
|
||||
set-width FULLWIDTH
|
||||
local radius : Math.min PERIODRADIUS
|
||||
linreg WIDTH (0.5 * [adviceBlackness 3.5] * PERIODSIZE / STROKE) UPM PERIODRADIUS FULLWIDTH
|
||||
include : Ring (radius * 2 - O) O (FULLWIDTH / 2 - radius + O) (FULLWIDTH / 2 + radius - O) true
|
||||
save 'onedotLeader' 0x2024
|
||||
set-width MosaicWidth
|
||||
local radius : DotRadius 3.5 MosaicWidth
|
||||
include : DotAt (MosaicWidth / 2) radius (radius - O)
|
||||
save [MangleName 'onedotLeader'] [MangleUnicode 0x2024]
|
||||
|
||||
sketch # twodotsLEader
|
||||
set-width FULLWIDTH
|
||||
local radius : Math.min PERIODRADIUS
|
||||
linreg WIDTH (0.5 * [adviceBlackness 3.5] * PERIODSIZE / STROKE) UPM PERIODRADIUS FULLWIDTH
|
||||
local left : mix 0 FULLWIDTH (1 / 4)
|
||||
local right : mix 0 FULLWIDTH (3 / 4)
|
||||
include : Ring (radius * 2 - O) O (left - radius + O) (left + radius - O) true
|
||||
include : Ring (radius * 2 - O) O (right - radius + O) (right + radius - O) true
|
||||
save 'twodotsLEader' 0x2025
|
||||
set-width MosaicWidth
|
||||
local radius : DotRadius 3.5 MosaicWidth
|
||||
local left : mix 0 MosaicWidth (1 / 4)
|
||||
local right : mix 0 MosaicWidth (3 / 4)
|
||||
include : DotAt left radius (radius - O)
|
||||
include : DotAt right radius (radius - O)
|
||||
save [MangleName 'twodotsLEader'] [MangleUnicode 0x2025]
|
||||
|
||||
sketch # ellipsis
|
||||
set-width FULLWIDTH
|
||||
local radius : Math.min PERIODRADIUS
|
||||
linreg WIDTH (0.5 * [adviceBlackness 5] * PERIODSIZE / STROKE) UPM PERIODRADIUS FULLWIDTH
|
||||
local left : mix 0 FULLWIDTH (1 / 6)
|
||||
local right : mix 0 FULLWIDTH (5 / 6)
|
||||
include : Ring (radius * 2 - O) O (left - radius + O) (left + radius - O) true
|
||||
include : Ring (radius * 2 - O) O (FULLWIDTH / 2 - radius + O) (FULLWIDTH / 2 + radius - O) true
|
||||
include : Ring (radius * 2 - O) O (right - radius + O) (right + radius - O) true
|
||||
save 'ellipsis' 0x2026
|
||||
set-width MosaicWidth
|
||||
local radius : DotRadius 5 MosaicWidth
|
||||
local left : mix 0 MosaicWidth (1 / 6)
|
||||
local right : mix 0 MosaicWidth (5 / 6)
|
||||
include : DotAt left radius (radius - O)
|
||||
include : DotAt (MosaicWidth / 2) radius (radius - O)
|
||||
include : DotAt right radius (radius - O)
|
||||
save [MangleName 'ellipsis'] [MangleUnicode 0x2026]
|
||||
|
||||
apply-transform : Upright
|
||||
apply-transform : Translate 0 (symbolMid - radius)
|
||||
apply-transform : Italify
|
||||
save [MangleName 'mathCDots'] [MangleUnicode 0x22EF]
|
||||
|
||||
define [TriColonShape x bottom top] : glyph-construction
|
||||
local radius : DotRadius 5 (top - bottom)
|
||||
local mid : mix bottom top 0.5
|
||||
include : DotAt x (bottom + radius) (radius - O)
|
||||
include : DotAt x mid (radius - O)
|
||||
include : DotAt x (top - radius) (radius - O)
|
||||
|
||||
sketch # tricolon
|
||||
set-width MosaicWidth
|
||||
include : TriColonShape (MosaicWidth / 2) 0 XH
|
||||
save [MangleName 'tricolon'] [MangleUnicode 0x205D]
|
||||
|
||||
sketch # mathCVDots
|
||||
set-width MosaicWidth
|
||||
include : TriColonShape (MosaicWidth / 2) operBot operTop
|
||||
save [MangleName 'mathCVDots'] [MangleUnicode 0x22EE]
|
||||
|
||||
do 'Percentages'
|
||||
sketch # percent.dots
|
||||
|
@ -1156,3 +1219,14 @@ export : define [apply] : begin
|
|||
alias 'mdfRevComma' 0x2BD 'revertSingleQuote'
|
||||
alias 'mdfStress' 0x2C8 'singleQuote'
|
||||
turned 'mdfSecondaryStress' 0x2CC 'singleQuote' MIDDLE (XH / 2)
|
||||
|
||||
do "Ties"
|
||||
sketch
|
||||
include : dispiro
|
||||
widths.lhs OPERATORSTROKE
|
||||
g4 (SB + OX) 0
|
||||
quadcontrols 0.5 1
|
||||
g4.right.mid MIDDLE (DESCENDER / 3) [heading RIGHTWARD]
|
||||
quadcontrols 0.5 0
|
||||
g4 (RIGHTSB - OX) 0
|
||||
save "undertie" 0x203F
|
||||
|
|
|
@ -207,7 +207,7 @@ export : define designParameters : object
|
|||
equal_wideness 0.075
|
||||
logic_narrow_shrink 0.75
|
||||
geometric_large_x (1 + 2 / 3)
|
||||
geometric_small_x (3 / 5)
|
||||
geometric_small_x (4 / 7)
|
||||
arrow_size (3 / 8)
|
||||
# ()
|
||||
parenOutside 0.2
|
||||
|
|
6
sample-text/agda-stdlib-symbols-matrix.txt
Normal file
6
sample-text/agda-stdlib-symbols-matrix.txt
Normal file
|
@ -0,0 +1,6 @@
|
|||
→₂₁≤≡≈∀∷ℓℕ⟩⟨′ʳ⁺⇒∼∣∘λˡ∈∧⊔∨⊆∙ρ≟⁻⟧⟦≢⊎⊥↔ℤ∎⊓⊤∸₃↭τ≋⟶ₚ≅
|
||||
∃ₙ₋↧ℚ⊕↑∩ε↥ₕ≥⇔ᵘᵇ∪″⊖≗⊛β≮◃≃⋆ᵢ≉◅≳δ⇓σ♭Σ✶ₗ•⇨∞˘≰ᵣ↠⊢⊙∅⌋⌊
|
||||
∉◦ₛπ⊂≺♯◇↣₄ⁿ≯‿Γ⋎□ₜ∁↞≲⊑─₀⊸γ⟫⟪≔Πᴸ∋Δ∹∑▻⊗⋯ᵤ⇉←≼—⨀⌉⌈∶₅‴
|
||||
◌̇≱↦⁆⁅▷│ᵒᵐʸ⇑⤖⨆↓₆ᵈʰ║ⱼ⊈⋐⊇◂ƛ⦈⦇ϕ⟆⟅⋃↪↩↢⋂↾↝𝕊≠ₖ₇₊∄⇐ι⊜⊉⊄∤
|
||||
φη⊴⊃ₑᵀᴿˢ…◈═⊒⊅μ⨅└≻≬₉₈}{╲╱┘‼ᵥν𝔽⋢⋊⋉⊘≇⇛ₘᶜᴹψ⟵▸▴├┐┌⍮≵ᵖ
|
||||
ᴾ⦄⦃┼┴┬┤⑵⑴⋮ᵗωΘ̀
|
269
sample-text/agda-stdlib-symbols.txt
Normal file
269
sample-text/agda-stdlib-symbols.txt
Normal file
|
@ -0,0 +1,269 @@
|
|||
→ (U+2192): 16357
|
||||
₂ (U+2082): 7828
|
||||
₁ (U+2081): 7658
|
||||
≤ (U+2264): 6568
|
||||
≡ (U+2261): 6281
|
||||
≈ (U+2248): 5785
|
||||
∀ (U+2200): 5297
|
||||
∷ (U+2237): 4534
|
||||
ℓ (U+2113): 3817
|
||||
ℕ (U+2115): 3190
|
||||
⟩ (U+27E9): 3037
|
||||
⟨ (U+27E8): 3037
|
||||
′ (U+2032): 2974
|
||||
ʳ (U+02B3): 2578
|
||||
⁺ (U+207A): 2408
|
||||
⇒ (U+21D2): 2319
|
||||
∼ (U+223C): 2279
|
||||
∣ (U+2223): 2265
|
||||
∘ (U+2218): 2105
|
||||
λ (U+03BB): 2044
|
||||
ˡ (U+02E1): 2018
|
||||
∈ (U+2208): 1668
|
||||
∧ (U+2227): 1569
|
||||
⊔ (U+2294): 1520
|
||||
× (U+00D7): 1433
|
||||
∨ (U+2228): 1422
|
||||
¬ (U+00AC): 1414
|
||||
⊆ (U+2286): 1389
|
||||
∙ (U+2219): 1233
|
||||
ρ (U+03C1): 1106
|
||||
≟ (U+225F): 1013
|
||||
⁻ (U+207B): 1006
|
||||
⟧ (U+27E7): 904
|
||||
⟦ (U+27E6): 904
|
||||
≢ (U+2262): 898
|
||||
⊎ (U+228E): 872
|
||||
⊥ (U+22A5): 836
|
||||
↔ (U+2194): 770
|
||||
ℤ (U+2124): 735
|
||||
∎ (U+220E): 718
|
||||
⊓ (U+2293): 708
|
||||
⊤ (U+22A4): 620
|
||||
∸ (U+2238): 604
|
||||
₃ (U+2083): 595
|
||||
↭ (U+21AD): 594
|
||||
τ (U+03C4): 554
|
||||
≋ (U+224B): 507
|
||||
⟶ (U+27F6): 504
|
||||
ₚ (U+209A): 475
|
||||
≅ (U+2245): 452
|
||||
∃ (U+2203): 418
|
||||
ₙ (U+2099): 393
|
||||
₋ (U+208B): 381
|
||||
↧ (U+21A7): 365
|
||||
ℚ (U+211A): 343
|
||||
⊕ (U+2295): 339
|
||||
↑ (U+2191): 327
|
||||
∩ (U+2229): 323
|
||||
ε (U+03B5): 311
|
||||
↥ (U+21A5): 303
|
||||
ₕ (U+2095): 302
|
||||
¹ (U+00B9): 302
|
||||
≥ (U+2265): 288
|
||||
⇔ (U+21D4): 283
|
||||
ᵘ (U+1D58): 282
|
||||
ᵇ (U+1D47): 282
|
||||
∪ (U+222A): 272
|
||||
″ (U+2033): 268
|
||||
⊖ (U+2296): 263
|
||||
± (U+00B1): 243
|
||||
≗ (U+2257): 236
|
||||
⊛ (U+229B): 232
|
||||
β (U+03B2): 230
|
||||
≮ (U+226E): 225
|
||||
◃ (U+25C3): 223
|
||||
≃ (U+2243): 220
|
||||
⋆ (U+22C6): 216
|
||||
ᵢ (U+1D62): 214
|
||||
≉ (U+2249): 207
|
||||
◅ (U+25C5): 206
|
||||
≳ (U+2273): 202
|
||||
δ (U+03B4): 199
|
||||
⇓ (U+21D3): 198
|
||||
σ (U+03C3): 194
|
||||
♭ (U+266D): 186
|
||||
Σ (U+03A3): 184
|
||||
✶ (U+2736): 182
|
||||
ₗ (U+2097): 179
|
||||
• (U+2022): 177
|
||||
⇨ (U+21E8): 176
|
||||
∞ (U+221E): 172
|
||||
˘ (U+02D8): 172
|
||||
≰ (U+2270): 162
|
||||
ᵣ (U+1D63): 160
|
||||
↠ (U+21A0): 156
|
||||
⊢ (U+22A2): 152
|
||||
⊙ (U+2299): 149
|
||||
∅ (U+2205): 148
|
||||
⌋ (U+230B): 147
|
||||
⌊ (U+230A): 147
|
||||
∉ (U+2209): 144
|
||||
◦ (U+25E6): 140
|
||||
ₛ (U+209B): 137
|
||||
π (U+03C0): 135
|
||||
⊂ (U+2282): 126
|
||||
≺ (U+227A): 124
|
||||
♯ (U+266F): 123
|
||||
◇ (U+25C7): 123
|
||||
↣ (U+21A3): 123
|
||||
₄ (U+2084): 121
|
||||
ⁿ (U+207F): 112
|
||||
≯ (U+226F): 110
|
||||
‿ (U+203F): 104
|
||||
Γ (U+0393): 104
|
||||
⋎ (U+22CE): 97
|
||||
□ (U+25A1): 95
|
||||
ₜ (U+209C): 93
|
||||
∁ (U+2201): 91
|
||||
↞ (U+219E): 91
|
||||
(U+00A0): 88
|
||||
≲ (U+2272): 86
|
||||
² (U+00B2): 79
|
||||
⊑ (U+2291): 73
|
||||
─ (U+2500): 68
|
||||
₀ (U+2080): 68
|
||||
⊸ (U+22B8): 67
|
||||
γ (U+03B3): 67
|
||||
⟫ (U+27EB): 66
|
||||
⟪ (U+27EA): 66
|
||||
≔ (U+2254): 64
|
||||
Π (U+03A0): 63
|
||||
ᴸ (U+1D38): 58
|
||||
∋ (U+220B): 54
|
||||
³ (U+00B3): 54
|
||||
Δ (U+0394): 52
|
||||
∹ (U+2239): 51
|
||||
∑ (U+2211): 51
|
||||
▻ (U+25BB): 50
|
||||
⊗ (U+2297): 49
|
||||
⋯ (U+22EF): 47
|
||||
ᵤ (U+1D64): 47
|
||||
⇉ (U+21C9): 46
|
||||
← (U+2190): 46
|
||||
≼ (U+227C): 45
|
||||
— (U+2014): 44
|
||||
⨀ (U+2A00): 43
|
||||
⌉ (U+2309): 43
|
||||
⌈ (U+2308): 43
|
||||
∶ (U+2236): 41
|
||||
₅ (U+2085): 39
|
||||
‴ (U+2034): 39
|
||||
̇ (U+0307): 38
|
||||
≱ (U+2271): 37
|
||||
↦ (U+21A6): 37
|
||||
⁆ (U+2046): 37
|
||||
⁅ (U+2045): 37
|
||||
· (U+00B7): 34
|
||||
▷ (U+25B7): 33
|
||||
│ (U+2502): 30
|
||||
ᵒ (U+1D52): 30
|
||||
ᵐ (U+1D50): 29
|
||||
é (U+00E9): 29
|
||||
ʸ (U+02B8): 28
|
||||
⇑ (U+21D1): 27
|
||||
⤖ (U+2916): 25
|
||||
⨆ (U+2A06): 23
|
||||
↓ (U+2193): 22
|
||||
₆ (U+2086): 22
|
||||
ᵈ (U+1D48): 22
|
||||
ʰ (U+02B0): 21
|
||||
║ (U+2551): 20
|
||||
ⱼ (U+2C7C): 19
|
||||
⊈ (U+2288): 19
|
||||
⋐ (U+22D0): 18
|
||||
⊇ (U+2287): 18
|
||||
◂ (U+25C2): 17
|
||||
ƛ (U+019B): 17
|
||||
⦈ (U+2988): 16
|
||||
⦇ (U+2987): 16
|
||||
ϕ (U+03D5): 16
|
||||
⟆ (U+27C6): 15
|
||||
⟅ (U+27C5): 15
|
||||
⋃ (U+22C3): 15
|
||||
↪ (U+21AA): 15
|
||||
↩ (U+21A9): 15
|
||||
↢ (U+21A2): 15
|
||||
⋂ (U+22C2): 14
|
||||
↾ (U+21BE): 14
|
||||
↝ (U+219D): 14
|
||||
𝕊 (U+1d54a): 13
|
||||
≠ (U+2260): 12
|
||||
ₖ (U+2096): 12
|
||||
₇ (U+2087): 12
|
||||
₊ (U+208A): 11
|
||||
∄ (U+2204): 10
|
||||
⇐ (U+21D0): 10
|
||||
ι (U+03B9): 10
|
||||
½ (U+00BD): 10
|
||||
⊜ (U+229C): 9
|
||||
⊉ (U+2289): 9
|
||||
⊄ (U+2284): 9
|
||||
∤ (U+2224): 9
|
||||
φ (U+03C6): 9
|
||||
η (U+03B7): 9
|
||||
⊴ (U+22B4): 8
|
||||
⊃ (U+2283): 8
|
||||
ₑ (U+2091): 8
|
||||
ᵀ (U+1D40): 8
|
||||
ᴿ (U+1D3F): 8
|
||||
ˢ (U+02E2): 8
|
||||
… (U+2026): 7
|
||||
÷ (U+00F7): 7
|
||||
◈ (U+25C8): 6
|
||||
═ (U+2550): 6
|
||||
⊒ (U+2292): 6
|
||||
⊅ (U+2285): 6
|
||||
μ (U+03BC): 6
|
||||
⨅ (U+2A05): 5
|
||||
└ (U+2514): 5
|
||||
≻ (U+227B): 5
|
||||
≬ (U+226C): 5
|
||||
₉ (U+2089): 5
|
||||
₈ (U+2088): 5
|
||||
} (U+FF5D): 4
|
||||
{ (U+FF5B): 4
|
||||
╲ (U+2572): 4
|
||||
╱ (U+2571): 4
|
||||
┘ (U+2518): 4
|
||||
‼ (U+203C): 4
|
||||
ᵥ (U+1D65): 4
|
||||
ν (U+03BD): 4
|
||||
𝔽 (U+1d53d): 3
|
||||
⋢ (U+22E2): 3
|
||||
⋊ (U+22CA): 3
|
||||
⋉ (U+22C9): 3
|
||||
⊘ (U+2298): 3
|
||||
≇ (U+2247): 3
|
||||
⇛ (U+21DB): 3
|
||||
ₘ (U+2098): 3
|
||||
ᶜ (U+1D9C): 3
|
||||
ᴹ (U+1D39): 3
|
||||
ψ (U+03C8): 3
|
||||
⟵ (U+27F5): 2
|
||||
▸ (U+25B8): 2
|
||||
▴ (U+25B4): 2
|
||||
├ (U+251C): 2
|
||||
┐ (U+2510): 2
|
||||
┌ (U+250C): 2
|
||||
⍮ (U+236E): 2
|
||||
≵ (U+2275): 2
|
||||
ᵖ (U+1D56): 2
|
||||
ᴾ (U+1D3E): 2
|
||||
⦄ (U+2984): 1
|
||||
⦃ (U+2983): 1
|
||||
┼ (U+253C): 1
|
||||
┴ (U+2534): 1
|
||||
┬ (U+252C): 1
|
||||
┤ (U+2524): 1
|
||||
⑵ (U+2475): 1
|
||||
⑴ (U+2474): 1
|
||||
⋮ (U+22EE): 1
|
||||
ᵗ (U+1D57): 1
|
||||
ω (U+03C9): 1
|
||||
Θ (U+0398): 1
|
||||
̀ (U+0300): 1
|
||||
ö (U+00F6): 1
|
||||
ó (U+00F3): 1
|
||||
ï (U+00EF): 1
|
||||
à (U+00E0): 1
|
|
@ -479,6 +479,7 @@ const TTCArchiveFile = file.make(
|
|||
// Note: this target does NOT depend on the font files.
|
||||
await target.need(de`${dir}`);
|
||||
await target.need(CollectionFontsOf(cid));
|
||||
await rm(full);
|
||||
await cd(`${DIST}/collections/${cid}`).run(
|
||||
["7z", "a"],
|
||||
["-tzip", "-r", "-mx=9"],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue