From 57ab00b6e190ff700ecca2edbbddfd5eb8c3f81b Mon Sep 17 00:00:00 2001 From: minjaesong Date: Sun, 30 Jan 2022 19:57:59 +0900 Subject: [PATCH] devanagari glyph improvements and new encoding scheme wip --- CONTRIBUTING.md | 1 + PUA_allocation_chart.xlsx | Bin 14362 -> 15860 bytes assets/devanagari_variable.tga | 2 +- work_files/devanagari_alt_encoding.psd | 3 +++ work_files/devanagari_variable.psd | 4 ++-- 5 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 work_files/devanagari_alt_encoding.psd diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9659eab..7840665 100755 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -120,6 +120,7 @@ Currently supported opcodes: Replacement characters are encoded vertically from X-zero, bit by bit (colour of the pixel doesn't matter) with LSB sitting on Y-zero. +*11111111: Tagging Used by the Subsystems. e.g. #FF0000 marks invalid combination. #### Stack Up/Down diff --git a/PUA_allocation_chart.xlsx b/PUA_allocation_chart.xlsx index 821abca6b0444fc38ea34af36ae9f643f51e6902..db6d3c0363d4112eb9286cbcf4f288c1d5a3475d 100755 GIT binary patch delta 12344 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