diff --git a/changes/22.0.2.md b/changes/22.0.2.md index bd2b348ca..f3f714bff 100644 --- a/changes/22.0.2.md +++ b/changes/22.0.2.md @@ -1,5 +1,6 @@ * Add characters: - SHOULDERED OPEN BOX (`U+237D`) (#1657). + - HEXAGRAM FOR THE CREATIVE HEAVEN (`U+4DC0`) ... HEXAGRAM FOR BEFORE COMPLETION (`U+4DFF`) (#1653). - MODIFIER LETTER SHORT EQUALS SIGN (`U+A78A`) (#1658). - CYRILLIC CAPITAL LETTER YERU WITH BACK YER (`U+A650`). - CYRILLIC SMALL LETTER YERU WITH BACK YER (`U+A651`). diff --git a/font-src/glyphs/symbol/pictograph/i-ching.ptl b/font-src/glyphs/symbol/pictograph/i-ching.ptl index f30f16af9..53acf4762 100644 --- a/font-src/glyphs/symbol/pictograph/i-ching.ptl +++ b/font-src/glyphs/symbol/pictograph/i-ching.ptl @@ -20,13 +20,22 @@ glyph-block Symbol-Pictograph-I-Ching : begin include : HBar.m SB RightSB 0 bar define [patterns n su] : foreach [offset: range 0 [Math.pow 2 n]] : begin - create-glyph ('iChing/Patterrn/' + n + '/' + offset) (su + offset) : glyph-proc + create-glyph ('iChing/Pattern/' + n + '/' + offset) (su + offset) : glyph-proc foreach [bit : range 0 n] : begin local offsetY : (2 / 3) * (OperBot - PictTop) / n local startY : SymbolMid - offsetY * (n - 1) / 2 include : WithTransform [ApparentTranslate 0 (startY + offsetY * bit)] refer-glyph : if [not : maskBit offset bit] 'iChing/barYang' 'iChing/barYin' + define [hexagramPatterns su order] : foreach [offset: range 0 64] : begin + create-glyph ('iChing/Pattern/6/' + offset) (su + offset) : glyph-proc + foreach [bit : range 0 6] : begin + local offsetY : (PictBot - PictTop) / 6 + local startY : SymbolMid - offsetY * (6 - 1) / 2 + include : WithTransform [ApparentTranslate 0 (startY + offsetY * bit)] + refer-glyph : if [not : maskBit order.(offset) bit] 'iChing/barYang' 'iChing/barYin' + patterns 1 0x268A patterns 2 0x268C patterns 3 0x2630 + hexagramPatterns 0x4DC0 : list 0 63 29 46 5 40 47 61 4 8 7 56 16 2 55 59 25 38 15 60 26 22 62 31 24 6 30 33 45 18 49 35 48 3 58 23 20 10 53 43 14 28 1 32 57 39 41 37 17 34 27 54 52 11 19 50 36 9 44 13 12 51 21 42