Add Egyptological Alef (U+A722, U+A723), Ayin (U+A724, U+A725) and Glottal a, i and u (U+A7BA ... U+A7BF) (#695).
This commit is contained in:
parent
e19645da03
commit
4dba77abff
7 changed files with 155 additions and 82 deletions
|
|
@ -1,3 +1,4 @@
|
|||
* Add Gear symbol (`U+2699`).
|
||||
* Make motion-serif variants work for Cyrillic letters having same outline like Latin `u` (#692).
|
||||
* Fix the italic shape of Cyrillic GE (`U+0491`).
|
||||
* Fix the italic shape of Cyrillic GE (`U+0491`).
|
||||
* Add Egyptological Alef (`U+A722`, `U+A723`), Ayin (`U+A724`, `U+A725`) and Glottal `a`, `i` and `u` (`U+A7BA` ... `U+A7BF`) (#695).
|
||||
|
|
@ -174,19 +174,19 @@ define customDecompositions : object
|
|||
."\u1D7B" "\u026A\u0335"
|
||||
."\u1D7C" "\u0269\u0335"
|
||||
|
||||
."\u1D7F" "\u028A\uE091"
|
||||
."\u0289" "u\uE091"
|
||||
."\u0244" "U\uE091"
|
||||
."\u01E5" "g\uE091"
|
||||
."\u01BB" "2\uE091"
|
||||
."\u024E" "Y\uE091"
|
||||
."\u1D7F" "\u028A\uE001"
|
||||
."\u0289" "u\uE001"
|
||||
."\u0244" "U\uE001"
|
||||
."\u01E5" "g\uE001"
|
||||
."\u01BB" "2\uE001"
|
||||
."\u024E" "Y\uE001"
|
||||
."\u04B0" "\u04AE\u0335"
|
||||
."\u04B1" "\u04AF\u0335"
|
||||
."\u024F" "y\uE091"
|
||||
."\uAB30" "\uAB64\uE091"
|
||||
."\u1D7D" "p\uE091"
|
||||
."\u024F" "y\uE001"
|
||||
."\uAB30" "\uAB64\uE001"
|
||||
."\u1D7D" "p\uE001"
|
||||
|
||||
."\u0142" "l\uE090"
|
||||
."\u0142" "l\uE000"
|
||||
|
||||
."\u023A" "A\u0338"
|
||||
."\u023B" "C\u0338"
|
||||
|
|
@ -207,7 +207,7 @@ define customDecompositions : object
|
|||
."\u1E11" "d\u0326"
|
||||
|
||||
."\u1E9A" "a\u0357"
|
||||
."\u1E9C" "\u017F\uE090"
|
||||
."\u1E9C" "\u017F\uE000"
|
||||
|
||||
."\u1EDC" "\u01A0\u0300"
|
||||
."\u1EDD" "\u01A1\u0300"
|
||||
|
|
@ -227,59 +227,65 @@ define customDecompositions : object
|
|||
."\u04AB" "\u0441\u0327"
|
||||
|
||||
# Spacing modifers
|
||||
."\u02CB" "\uE09D\u0300"
|
||||
."\u02CA" "\uE09D\u0301"
|
||||
."\u02C6" "\uE09D\u0302"
|
||||
."\u02DC" "\uE09D\u0303"
|
||||
."\u00AF" "\uE09D\u0304"
|
||||
."\u02C9" "\uE09D\u0304"
|
||||
."\u02D8" "\uE09D\u0306"
|
||||
."\u02D9" "\uE09D\u0307"
|
||||
."\u00A8" "\uE09D\u0308"
|
||||
."\u02DA" "\uE09D\u030A"
|
||||
."\u02C7" "\uE09D\u030C"
|
||||
."\u00B8" "\uE09D\u0327"
|
||||
."\u02CD" "\uE09D\u0331"
|
||||
."\u02CE" "\uE09D\u0316"
|
||||
."\u02CF" "\uE09D\u0317"
|
||||
."\u02D2" "\uE09D\u0339"
|
||||
."\u02D3" "\uE09D\u031C"
|
||||
."\u02D4" "\uE09D\u031D"
|
||||
."\u02D5" "\uE09D\u031E"
|
||||
."\u02D6" "\uE09D\u031F"
|
||||
."\u02D7" "\uE09D\u0320"
|
||||
."\u02DB" "\uE09D\u0328"
|
||||
."\u02DD" "\uE09D\u030B"
|
||||
."\u02DF" "\uE09D\u033D"
|
||||
."\u02EC" "\uE09D\u032C"
|
||||
."\u02ED" "\uE09D\u033F"
|
||||
."\u02F3" "\uE09D\u0325"
|
||||
."\u02F7" "\uE09D\u0330"
|
||||
."\u02BE" "\uE09D\u0357"
|
||||
."\u02BF" "\uE09D\u0351"
|
||||
."\u02C2" "\uE09D\u1DFE"
|
||||
."\u02C3" "\uE09D\u0350"
|
||||
."\u02C4" "\uE09D\uE092"
|
||||
."\u02C5" "\uE09D\uE093"
|
||||
."\u02EF" "\uE09D\uE095"
|
||||
."\u02F0" "\uE09D\uE094"
|
||||
."\u02F1" "\uE09D\u0354"
|
||||
."\u02F2" "\uE09D\u0355"
|
||||
."\u02CB" "\uE00D\u0300"
|
||||
."\u02CA" "\uE00D\u0301"
|
||||
."\u02C6" "\uE00D\u0302"
|
||||
."\u02DC" "\uE00D\u0303"
|
||||
."\u00AF" "\uE00D\u0304"
|
||||
."\u02C9" "\uE00D\u0304"
|
||||
."\u02D8" "\uE00D\u0306"
|
||||
."\u02D9" "\uE00D\u0307"
|
||||
."\u00A8" "\uE00D\u0308"
|
||||
."\u02DA" "\uE00D\u030A"
|
||||
."\u02C7" "\uE00D\u030C"
|
||||
."\u00B8" "\uE00D\u0327"
|
||||
."\u02CD" "\uE00D\u0331"
|
||||
."\u02CE" "\uE00D\u0316"
|
||||
."\u02CF" "\uE00D\u0317"
|
||||
."\u02D2" "\uE00D\u0339"
|
||||
."\u02D3" "\uE00D\u031C"
|
||||
."\u02D4" "\uE00D\u031D"
|
||||
."\u02D5" "\uE00D\u031E"
|
||||
."\u02D6" "\uE00D\u031F"
|
||||
."\u02D7" "\uE00D\u0320"
|
||||
."\u02DB" "\uE00D\u0328"
|
||||
."\u02DD" "\uE00D\u030B"
|
||||
."\u02DF" "\uE00D\u033D"
|
||||
."\u02EC" "\uE00D\u032C"
|
||||
."\u02ED" "\uE00D\u033F"
|
||||
."\u02F3" "\uE00D\u0325"
|
||||
."\u02F7" "\uE00D\u0330"
|
||||
."\u02BE" "\uE00D\u0357"
|
||||
."\u02BF" "\uE00D\u0351"
|
||||
."\u02C2" "\uE00D\u1DFE"
|
||||
."\u02C3" "\uE00D\u0350"
|
||||
."\u02C4" "\uE00D\uE002"
|
||||
."\u02C5" "\uE00D\uE003"
|
||||
."\u02EF" "\uE00D\uE005"
|
||||
."\u02F0" "\uE00D\uE004"
|
||||
."\u02F1" "\uE00D\u0354"
|
||||
."\u02F2" "\uE00D\u0355"
|
||||
|
||||
."\u1FED" "\uE09D\u0308\u0300"
|
||||
."\u1FEE" "\uE09D\u0308\u0301"
|
||||
."\u1FEF" "\uE09D\u0300"
|
||||
."\u1FFD" "\uE09D\u0301"
|
||||
."\u1FFE" "\uE09D\u0314"
|
||||
."\u1FBD" "\uE09D\u0313"
|
||||
."\u1FBE" "\uE09D\u0345"
|
||||
."\u1FBF" "\uE09D\u0313"
|
||||
."\u1FC0" "\uE09D\u0342"
|
||||
."\u1FC1" "\uE09D\u0308\u0342"
|
||||
."\u0384" "\uE09D\u0301"
|
||||
."\u0385" "\uE09D\u0308\u0301"
|
||||
."\u037A" "\uE09D\u0345"
|
||||
."\uAB30" "\u0251\uE091"
|
||||
."\u1FED" "\uE00D\u0308\u0300"
|
||||
."\u1FEE" "\uE00D\u0308\u0301"
|
||||
."\u1FEF" "\uE00D\u0300"
|
||||
."\u1FFD" "\uE00D\u0301"
|
||||
."\u1FFE" "\uE00D\u0314"
|
||||
."\u1FBD" "\uE00D\u0313"
|
||||
."\u1FBE" "\uE00D\u0345"
|
||||
."\u1FBF" "\uE00D\u0313"
|
||||
."\u1FC0" "\uE00D\u0342"
|
||||
."\u1FC1" "\uE00D\u0308\u0342"
|
||||
."\u0384" "\uE00D\u0301"
|
||||
."\u0385" "\uE00D\u0308\u0301"
|
||||
."\u037A" "\uE00D\u0345"
|
||||
."\uAB30" "\u0251\uE001"
|
||||
."\uA7BA" "A\uE010" # Use above mark since Iosevka is narrow; follow Polytonic Greek
|
||||
."\uA7BB" "a\uE010"
|
||||
."\uA7BC" "I\uE010" # Use above mark since Iosevka is narrow; follow Polytonic Greek
|
||||
."\uA7BD" "i\uE010"
|
||||
."\uA7BE" "U\uE010" # Use above mark since Iosevka is narrow; follow Polytonic Greek
|
||||
."\uA7BF" "u\uE010"
|
||||
|
||||
# Suppress incorrect slashed arrows... so far
|
||||
."\u219A" ""
|
||||
|
|
|
|||
|
|
@ -6742,3 +6742,69 @@ glyph-block Letter-Latin-Bidental-Percussive : begin
|
|||
include : Translate 0 (CAP / 2)
|
||||
include : Italify
|
||||
include g
|
||||
|
||||
glyph-block Letter-Latin-Egyptological : begin
|
||||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
||||
define [EgyptologicalYodComponent sw x bot top] : glyph-proc
|
||||
local rad : (top - bot) / 2
|
||||
local wid : rad * 1.2
|
||||
local balance : wid * 0.55
|
||||
include : dispiro
|
||||
widths.rhs sw
|
||||
g4.right.start (x - balance) (top - O) [heading Rightward]
|
||||
archv
|
||||
g4.down.mid (x + wid - balance) [mix bot top 0.5] [heading Downward]
|
||||
arcvh
|
||||
g4.left.end (x - balance) (bot + O) [heading Leftward]
|
||||
|
||||
define [EgyptologicalAyinComponent sw x bot top] : glyph-proc
|
||||
local rad : (top - bot) / 2
|
||||
local wid : rad * 1.2
|
||||
local balance : wid * 0.55
|
||||
include : dispiro
|
||||
widths.rhs sw
|
||||
g4.left.start (x + balance) (top - O) [heading Leftward]
|
||||
archv
|
||||
g4.down.mid (x - wid + balance) [mix bot top 0.5] [heading Downward]
|
||||
arcvh
|
||||
g4.right.end (x + balance) (bot + O) [heading Rightward]
|
||||
|
||||
define [EgyptologicalAlefShape bot top] : glyph-proc
|
||||
local sw : adviceBlackness2 4 4 top
|
||||
local gap : Math.max (sw / 2) (top / 12)
|
||||
local rad : (top - gap) / 4
|
||||
include : EgyptologicalYodComponent sw Middle (top - rad * 2) top
|
||||
include : EgyptologicalYodComponent sw Middle bot (bot + rad * 2)
|
||||
|
||||
define [EgyptologicalAyinShape bot top] : glyph-proc
|
||||
local sw : adviceBlackness2 4 4 top
|
||||
local gap : Math.max (sw / 2) (top / 12)
|
||||
local rad : (top + gap) / 4
|
||||
include : EgyptologicalAyinComponent sw Middle (top - rad * 2) top
|
||||
|
||||
create-glyph 'EgyptologicalCapitalAlef' 0xA722 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : EgyptologicalAlefShape 0 CAP
|
||||
|
||||
create-glyph 'EgyptologicalSmallAlef' 0xA723 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : EgyptologicalAlefShape 0 XH # Per Unicode chart
|
||||
|
||||
create-glyph 'EgyptologicalCapitalAyin' 0xA724 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : EgyptologicalAyinShape 0 CAP
|
||||
|
||||
create-glyph 'EgyptologicalSmallAyin' 0xA725 : glyph-proc
|
||||
include : MarkSet.capital
|
||||
include : EgyptologicalAyinShape 0 XH # Per Unicode chart
|
||||
|
||||
glyph-block-import Marks : markMiddle aboveMarkTop aboveMarkBot aboveMarkMid
|
||||
|
||||
create-glyph 'EgyptologicalYodAbove' 0xE010 : glyph-proc
|
||||
set-width 0
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkTop
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
local fine : adviceBlackness 5
|
||||
include : EgyptologicalYodComponent fine markMiddle aboveMarkBot aboveMarkTop
|
||||
|
|
|
|||
|
|
@ -619,7 +619,7 @@ glyph-block Marks : begin
|
|||
|
||||
turned 'greaterAbove' 0x350 'lessAbove' markMiddle aboveMarkMid
|
||||
|
||||
create-glyph 'upArrowHeadAbove' 0xE092 : glyph-proc
|
||||
create-glyph 'upArrowHeadAbove' 0xE002 : glyph-proc
|
||||
set-width 0
|
||||
set-mark-anchor 'above' markMiddle XH markMiddle aboveMarkTop
|
||||
set-base-anchor 'aboveBrace' markMiddle aboveMarkMid
|
||||
|
|
@ -637,7 +637,7 @@ glyph-block Marks : begin
|
|||
flat (markMiddle + markExtend) bot
|
||||
curl markMiddle top [widths.center.heading (markFine * exp) Upward]
|
||||
|
||||
turned 'downArrowHeadAbove' 0xE093 'upArrowHeadAbove' markMiddle aboveMarkMid
|
||||
turned 'downArrowHeadAbove' 0xE003 'upArrowHeadAbove' markMiddle aboveMarkMid
|
||||
|
||||
define [ArrowheadForArrowMarkAbove-Up] : new-glyph : glyph-proc
|
||||
local fine : [adviceBlackness 6] / 2
|
||||
|
|
@ -995,8 +995,8 @@ glyph-block Marks : begin
|
|||
TurnAboveMarkToBelow 'crossBelow' 0x353 'crossAbove'
|
||||
TurnAboveMarkToBelow 'lessBelow' 0x354 'greaterAbove'
|
||||
TurnAboveMarkToBelow 'greaterBelow' 0x355 'lessAbove'
|
||||
TurnAboveMarkToBelow 'upArrowHeadBelow' 0xE094 'downArrowHeadAbove'
|
||||
TurnAboveMarkToBelow 'downArrowHeadBelow' 0xE095 'upArrowHeadAbove'
|
||||
TurnAboveMarkToBelow 'upArrowHeadBelow' 0xE004 'downArrowHeadAbove'
|
||||
TurnAboveMarkToBelow 'downArrowHeadBelow' 0xE005 'upArrowHeadAbove'
|
||||
TurnAboveMarkToBelow 'dblRingBelow' 0x35a 'dblRingAbove'
|
||||
TurnAboveMarkToBelow 'lrArrowBelow' 0x34D 'lrArrowAbove'
|
||||
TurnAboveMarkToBelow 'upArrowBelow' 0x34E 'downArrowAbove'
|
||||
|
|
@ -1129,7 +1129,7 @@ glyph-block Marks : begin
|
|||
set-mark-anchor 'overlay' markMiddle (XH / 2) markMiddle (XH / 2)
|
||||
include : HOverlayBar (markMiddle - LongJut * 0.75) (markMiddle + LongJut * 0.75) (XH / 2)
|
||||
|
||||
create-glyph 'longBarOver' 0xE091 : glyph-proc
|
||||
create-glyph 'longBarOver' 0xE001 : glyph-proc
|
||||
set-width 0
|
||||
set-mark-anchor 'overlay' markMiddle (XH / 2) markMiddle (XH / 2)
|
||||
include : HOverlayBar ([mix 0 SB 0.5] - Width) ([mix Width RightSB 0.5] - Width) (XH / 2)
|
||||
|
|
@ -1139,7 +1139,7 @@ glyph-block Marks : begin
|
|||
set-mark-anchor 'strike' markMiddle (XH / 2) markMiddle (XH / 2)
|
||||
include : HOverlayBar (0 - Width) (0) (XH / 2)
|
||||
|
||||
create-glyph 'shortSlashOver' 0xE090 : glyph-proc
|
||||
create-glyph 'shortSlashOver' 0xE000 : glyph-proc
|
||||
set-width 0
|
||||
set-mark-anchor 'overlay' markMiddle (XH / 2) markMiddle (XH / 2)
|
||||
include : FlatSlashShape markMiddle (XH / 2) (0.5 * OverlayStroke)
|
||||
|
|
|
|||
|
|
@ -23,12 +23,12 @@ glyph-block Symbol-Mosaic-NotDef : begin
|
|||
set-width df.width
|
||||
|
||||
|
||||
create-glyph 'markDemoBaseSpace' 0xE09E : glyph-proc
|
||||
create-glyph 'markDemoBaseSpace' 0xE00E : glyph-proc
|
||||
local df : DivFrame 1
|
||||
set-width df.width
|
||||
include : df.markSet.plus
|
||||
|
||||
create-glyph 'markBaseSpace' 0xE09D : glyph-proc
|
||||
create-glyph 'markBaseSpace' 0xE00D : glyph-proc
|
||||
local df : DivFrame para.diversityI
|
||||
set-width df.width
|
||||
include : df.markSet.e
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ glyph-block Symbol-Pictograph-Metric-Marks : begin
|
|||
glyph-block-import CommonShapes
|
||||
glyph-block-import Common-Derivatives
|
||||
|
||||
create-glyph 'metmark' 0xE09F : glyph-proc
|
||||
create-glyph 'metmark' 0xE00F : glyph-proc
|
||||
include : VBar Middle (-fontMetrics.OS_2.usWinDescent) (fontMetrics.OS_2.usWinAscent) ShoulderFine
|
||||
include : HBar Middle Width 0 ShoulderFine
|
||||
include : HBar Middle Width CAP ShoulderFine
|
||||
|
|
@ -328,7 +328,7 @@ glyph-block Symbol-Pictograph-Metric-Marks : begin
|
|||
define MarkerSize (UPM / 12)
|
||||
define MarkerBarWidth (UPM / 50)
|
||||
|
||||
create-glyph 'boxMarkLeft' 0xE096 : glyph-proc
|
||||
create-glyph 'boxMarkLeft' 0xE006 : glyph-proc
|
||||
set-width 0
|
||||
include : spiro-outline
|
||||
corner 0 ParenTop
|
||||
|
|
@ -339,7 +339,7 @@ glyph-block Symbol-Pictograph-Metric-Marks : begin
|
|||
corner 0 (ParenBot - MarkerSize * 1.5)
|
||||
corner (-MarkerSize * 1.5) ParenBot
|
||||
|
||||
create-glyph 'boxMarkRight' 0xE097 : glyph-proc
|
||||
create-glyph 'boxMarkRight' 0xE007 : glyph-proc
|
||||
set-width 0
|
||||
include : spiro-outline
|
||||
corner 0 ParenTop
|
||||
|
|
@ -350,7 +350,7 @@ glyph-block Symbol-Pictograph-Metric-Marks : begin
|
|||
corner 0 (ParenBot - MarkerSize * 1.5)
|
||||
corner (+MarkerSize * 1.5) ParenBot
|
||||
|
||||
create-glyph 'mosaicMarkLeft' 0xE098 : glyph-proc
|
||||
create-glyph 'mosaicMarkLeft' 0xE008 : glyph-proc
|
||||
set-width 0
|
||||
include : spiro-outline
|
||||
corner 0 MosaicTop
|
||||
|
|
@ -361,7 +361,7 @@ glyph-block Symbol-Pictograph-Metric-Marks : begin
|
|||
corner 0 (MosaicBottom - MarkerSize * 1.5)
|
||||
corner (-MarkerSize * 1.5) MosaicBottom
|
||||
|
||||
create-glyph 'mosaicMarkRight' 0xE099 : glyph-proc
|
||||
create-glyph 'mosaicMarkRight' 0xE009 : glyph-proc
|
||||
set-width 0
|
||||
include : spiro-outline
|
||||
corner 0 MosaicTop
|
||||
|
|
@ -372,18 +372,18 @@ glyph-block Symbol-Pictograph-Metric-Marks : begin
|
|||
corner 0 (MosaicBottom - MarkerSize * 1.5)
|
||||
corner (+MarkerSize * 1.5) MosaicBottom
|
||||
|
||||
create-glyph 'baselineMarkUnder' 0xE09A : glyph-proc
|
||||
create-glyph 'baselineMarkUnder' 0xE00A : glyph-proc
|
||||
set-width 0
|
||||
include : HBar (-Width * 2) (Width * 2) 0 MarkerBarWidth
|
||||
|
||||
create-glyph 'baselineMarkLeft' 0xE09B : glyph-proc
|
||||
create-glyph 'baselineMarkLeft' 0xE00B : glyph-proc
|
||||
set-width 0
|
||||
include : spiro-outline
|
||||
corner 0 0
|
||||
corner (-MarkerSize * 1.5) (+MarkerSize * 1.5)
|
||||
corner (-MarkerSize * 1.5) (-MarkerSize * 1.5)
|
||||
|
||||
create-glyph 'baselineMarkRight' 0xE09C : glyph-proc
|
||||
create-glyph 'baselineMarkRight' 0xE00C : glyph-proc
|
||||
set-width 0
|
||||
include : spiro-outline
|
||||
corner 0 0
|
||||
|
|
|
|||
|
|
@ -280,7 +280,7 @@ module.exports = [
|
|||
[[0x1ec70, 0x1ecbf], "Indic Siyaq Numbers"],
|
||||
[[0x1ed00, 0x1ed4f], "Ottoman Siyaq Numbers"],
|
||||
[[0x1ee00, 0x1eeff], "Arabic Mathematical Alphabetic Symbols"],
|
||||
[[0x1f000, 0x1f02f], "Mahjong Tiles"],
|
||||
[[0x1e000, 0x1f02f], "Mahjong Tiles"],
|
||||
[[0x1f030, 0x1f09f], "Domino Tiles"],
|
||||
[[0x1f0a0, 0x1f0ff], "Playing Cards"],
|
||||
[[0x1f100, 0x1f1ff], "Enclosed Alphanumeric Supplement"],
|
||||
|
|
@ -305,6 +305,6 @@ module.exports = [
|
|||
[[0x30000, 0x3134f], "CJK Unified Ideographs Extension G"],
|
||||
[[0xe0000, 0xe007f], "Tags"],
|
||||
[[0xe0100, 0xe01ef], "Variation Selectors Supplement"],
|
||||
[[0xf0000, 0xfffff], "Supplementary Private Use Area-A"],
|
||||
[[0xe0000, 0xfffff], "Supplementary Private Use Area-A"],
|
||||
[[0x100000, 0x10ffff], "Supplementary Private Use Area-B"]
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue