summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--GNUmakefile12
-rw-r--r--README.md2
-rw-r--r--gallant.bdf1654
-rw-r--r--gallant.fntbin172564 -> 173500 bytes
-rw-r--r--gallant.hex60
-rw-r--r--gallant.src1392
-rw-r--r--lscp.c46
-rw-r--r--srctohex.c191
9 files changed, 3182 insertions, 176 deletions
diff --git a/.gitignore b/.gitignore
index 0cc8d45..ba418c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,5 @@ lint.lnt
lscp
output.png
predef-c.h
+srctohex
txttopng
diff --git a/GNUmakefile b/GNUmakefile
index 93e8654..9b9f2de 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -9,20 +9,22 @@ unexport C_INCLUDE_PATH # Remove from shell environment; confuses gcc.
export LANG = C
export LC_ALL = C
-TOP_LEVEL_TARGETS = lscp tsttopng gallant.bdf gallant.fnt
+TOP_LEVEL_TARGETS = lscp tsttopng gallant.bdf gallant.fnt srctohex
.PHONY: all
all: $(TOP_LEVEL_TARGETS)
lscp: lscp.o
+srctohex: srctohex.o
+
tsttopng: tsttopng.o
gallant.bdf: gallant.hex
./hex2bdf.pl $^ > $@
gallant.hex: gallant.src
- ./src2hex.pl < $^ > $@
+ ./srctohex < $^ > $@
gallant.fnt: gallant.hex
vtfontcvt -v -o $@ $^
@@ -44,10 +46,11 @@ APP_WARNS += -Wcast-align
APP_WARNS += -Wcast-qual
APP_WARNS += -Wfloat-equal
APP_WARNS += -Wformat=2
+APP_WARNS += -Wno-format-nonliteral
APP_WARNS += -Winline
APP_WARNS += -Wstrict-prototypes
APP_WARNS += -Wmissing-prototypes
-APP_WARNS += -Wunused
+APP_WARNS += -Wno-unused
APP_WARNS += -Wold-style-definition
APP_WARNS += -Wpedantic
APP_WARNS += -Wpointer-arith
@@ -67,6 +70,9 @@ APP_LIBDIRS = -L /usr/local/lib
lscp: lscp.o
$(CC) -o $@ $(APP_LIBDIRS) -luninameslist -lunistring $^
+srctohex: srctohex.o
+ $(CC) -o $@ $^
+
txttopng: txttopng.o
$(CC) -o $@ $(APP_LIBDIRS) -lpng $^
diff --git a/README.md b/README.md
index c2c7dbb..5fabcfa 100644
--- a/README.md
+++ b/README.md
@@ -89,7 +89,7 @@ none are present.
|U+AB70 - U+FAFF|[...Many foreign alphabets...](https://www.unicode.org/charts/PDF/UAB70.pdf) |TODO |
|U+FB00 - U+FB4F|[Alphabetic Presentation Forms](https://www.unicode.org/charts/PDF/UFB00.pdf) |Partial |
|U+FB50 - U+FFEF|[...Many foreign alphabets...](https://www.unicode.org/charts/PDF/UFB50.pdf) |TODO |
-|U+FFF0 - U+FFFF|[Specials](https://www.unicode.org/charts/PDF/UFFF0.pdf) |Partial |
+|U+FFF0 - U+FFFF|[Specials](https://www.unicode.org/charts/PDF/UFFF0.pdf) |Complete |
Codepoints >= U+10000 can be part of a BDF file, but cannot be used by
core X11 since it internally restricts glyph encoding numbers to 16 bit.
diff --git a/gallant.bdf b/gallant.bdf
index dc9619d..4213c59 100644
--- a/gallant.bdf
+++ b/gallant.bdf
@@ -6,7 +6,7 @@ STARTPROPERTIES 2
FONT_ASCENT 17
FONT_DESCENT 5
ENDPROPERTIES
-CHARS 4030
+CHARS 4082
STARTCHAR U+0000
ENCODING 0
SWIDTH 500 0
@@ -43855,6 +43855,122 @@ BITMAP
0000
0000
ENDCHAR
+STARTCHAR U+1f1a
+ENCODING 7962
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+e200
+1300
+6100
+7fc0
+3040
+3040
+3000
+3000
+3080
+3f80
+3080
+3000
+3000
+3000
+3020
+3020
+7fe0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f1b
+ENCODING 7963
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+7200
+8300
+6100
+7fc0
+3040
+3040
+3000
+3000
+3080
+3f80
+3080
+3000
+3000
+3000
+3020
+3020
+7fe0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f1c
+ENCODING 7964
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+e100
+1300
+6200
+7fc0
+3040
+3040
+3000
+3000
+3080
+3f80
+3080
+3000
+3000
+3000
+3020
+3020
+7fe0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f1d
+ENCODING 7965
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+7100
+8300
+6200
+7fc0
+3040
+3040
+3000
+3000
+3080
+3f80
+3080
+3000
+3000
+3000
+3020
+3020
+7fe0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
STARTCHAR U+1f20
ENCODING 7968
SWIDTH 500 0
@@ -43971,6 +44087,64 @@ BITMAP
00c0
01e0
ENDCHAR
+STARTCHAR U+1f24
+ENCODING 7972
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+2780
+79c0
+30c0
+30c0
+30c0
+30c0
+30c0
+30c0
+30c0
+78c0
+00c0
+00c0
+00c0
+00c0
+01e0
+ENDCHAR
+STARTCHAR U+1f25
+ENCODING 7973
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+2780
+79c0
+30c0
+30c0
+30c0
+30c0
+30c0
+30c0
+30c0
+78c0
+00c0
+00c0
+00c0
+00c0
+01e0
+ENDCHAR
STARTCHAR U+1f26
ENCODING 7974
SWIDTH 500 0
@@ -44029,116 +44203,232 @@ BITMAP
00c0
01e0
ENDCHAR
-STARTCHAR U+1f1a
-ENCODING 7962
+STARTCHAR U+1f28
+ENCODING 7976
SWIDTH 500 0
DWIDTH 12 0
BBX 12 22 0 -5
BITMAP
-e200
-1300
-6100
-7fc0
-3040
-3040
-3000
-3000
-3080
-3f80
-3080
-3000
-3000
-3000
-3020
-3020
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
0000
0000
0000
0000
0000
ENDCHAR
-STARTCHAR U+1f1b
-ENCODING 7963
+STARTCHAR U+1f29
+ENCODING 7977
SWIDTH 500 0
DWIDTH 12 0
BBX 12 22 0 -5
BITMAP
-7200
-8300
-6100
-7fc0
-3040
-3040
-3000
-3000
-3080
-3f80
-3080
-3000
-3000
-3000
-3020
-3020
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
0000
0000
0000
0000
0000
ENDCHAR
-STARTCHAR U+1f1c
-ENCODING 7964
+STARTCHAR U+1f2a
+ENCODING 7978
SWIDTH 500 0
DWIDTH 12 0
BBX 12 22 0 -5
BITMAP
-e100
-1300
-6200
-7fc0
-3040
-3040
-3000
-3000
-3080
-3f80
-3080
-3000
-3000
-3000
-3020
-3020
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
0000
0000
0000
0000
0000
ENDCHAR
-STARTCHAR U+1f1d
-ENCODING 7965
+STARTCHAR U+1f2b
+ENCODING 7979
SWIDTH 500 0
DWIDTH 12 0
BBX 12 22 0 -5
BITMAP
-7100
-8300
-6200
-7fc0
-3040
-3040
-3000
-3000
-3080
-3f80
-3080
-3000
-3000
-3000
-3020
-3020
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
+7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f2c
+ENCODING 7980
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
+7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f2d
+ENCODING 7981
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
+7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f2e
+ENCODING 7982
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
+7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f2f
+ENCODING 7983
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f0f0
+6060
+6060
+6060
+6060
+6060
7fe0
+6060
+6060
+6060
+6060
+6060
+6060
+f0f0
0000
0000
0000
@@ -44261,6 +44551,64 @@ BITMAP
0000
0000
ENDCHAR
+STARTCHAR U+1f34
+ENCODING 7988
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1e00
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f35
+ENCODING 7989
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0000
+0000
+0000
+0000
+1e00
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
STARTCHAR U+1f36
ENCODING 7990
SWIDTH 500 0
@@ -44319,6 +44667,238 @@ BITMAP
0000
0000
ENDCHAR
+STARTCHAR U+1f38
+ENCODING 7992
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f39
+ENCODING 7993
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f3a
+ENCODING 7994
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f3b
+ENCODING 7995
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f3c
+ENCODING 7996
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f3d
+ENCODING 7997
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f3e
+ENCODING 7998
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f3f
+ENCODING 7999
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+1f80
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+1f80
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
STARTCHAR U+1f40
ENCODING 8000
SWIDTH 500 0
@@ -44493,6 +45073,180 @@ BITMAP
0000
0000
ENDCHAR
+STARTCHAR U+1f48
+ENCODING 8008
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f49
+ENCODING 8009
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f4a
+ENCODING 8010
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f4b
+ENCODING 8011
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f4c
+ENCODING 8012
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f4d
+ENCODING 8013
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
STARTCHAR U+1f50
ENCODING 8016
SWIDTH 500 0
@@ -44725,6 +45479,122 @@ BITMAP
0000
0000
ENDCHAR
+STARTCHAR U+1f59
+ENCODING 8025
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f070
+6020
+3040
+1880
+1880
+0d00
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f5b
+ENCODING 8027
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f070
+6020
+3040
+1880
+1880
+0d00
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f5d
+ENCODING 8029
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f070
+6020
+3040
+1880
+1880
+0d00
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f5f
+ENCODING 8031
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+f070
+6020
+3040
+1880
+1880
+0d00
+0600
+0600
+0600
+0600
+0600
+0600
+0600
+0f00
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
STARTCHAR U+1f60
ENCODING 8032
SWIDTH 500 0
@@ -44957,6 +45827,238 @@ c630
0000
0000
ENDCHAR
+STARTCHAR U+1f68
+ENCODING 8040
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f69
+ENCODING 8041
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f6a
+ENCODING 8042
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f6b
+ENCODING 8043
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f6c
+ENCODING 8044
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f6d
+ENCODING 8045
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f6e
+ENCODING 8046
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
+STARTCHAR U+1f6f
+ENCODING 8047
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+0000
+0f00
+11c0
+20c0
+2060
+6060
+6060
+6060
+6060
+2040
+3040
+1880
+0900
+4920
+79e0
+0000
+0000
+0000
+0000
+0000
+ENDCHAR
STARTCHAR U+1f70
ENCODING 8048
SWIDTH 500 0
@@ -45363,6 +46465,238 @@ c630
0000
0000
ENDCHAR
+STARTCHAR U+1f88
+ENCODING 8072
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+e000
+1600
+6600
+0b00
+0b00
+0900
+1180
+1180
+1080
+3fc0
+20c0
+2040
+4060
+4060
+e0f0
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
+STARTCHAR U+1f89
+ENCODING 8073
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+0000
+7000
+8600
+6600
+0b00
+0b00
+0900
+1180
+1180
+1080
+3fc0
+20c0
+2040
+4060
+4060
+e0f0
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
+STARTCHAR U+1f8a
+ENCODING 8074
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+1000
+1800
+1800
+0b00
+7300
+8580
+6580
+0480
+08c0
+08c0
+0840
+1fe0
+1060
+1020
+2030
+2030
+7070
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
+STARTCHAR U+1f8b
+ENCODING 8075
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+1000
+1800
+1800
+0b00
+e300
+1580
+6580
+0480
+08c0
+08c0
+0840
+1fe0
+1060
+1020
+2030
+2030
+7070
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
+STARTCHAR U+1f8c
+ENCODING 8076
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0800
+1800
+1800
+1300
+7300
+8580
+6580
+0480
+08c0
+08c0
+0840
+1fe0
+1060
+1020
+2030
+2030
+7070
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
+STARTCHAR U+1f8d
+ENCODING 8077
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0800
+1800
+1800
+1300
+e300
+1580
+6580
+0480
+08c0
+08c0
+0840
+1fe0
+1060
+1020
+2030
+2030
+7070
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
+STARTCHAR U+1f8e
+ENCODING 8078
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+7100
+8e00
+0300
+7300
+8580
+6580
+0480
+08c0
+08c0
+0840
+1fe0
+1060
+1020
+2030
+2030
+7070
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
+STARTCHAR U+1f8f
+ENCODING 8079
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+7100
+8e00
+0300
+e300
+1580
+6580
+0480
+08c0
+08c0
+0840
+1fe0
+1060
+1020
+2030
+2030
+7070
+0000
+0040
+0040
+0060
+0000
+ENDCHAR
STARTCHAR U+1fbd
ENCODING 8125
SWIDTH 500 0
@@ -116848,6 +118182,122 @@ fc70
0000
0000
ENDCHAR
+STARTCHAR U+fff9
+ENCODING 65529
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+aaa0
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+8200
+0000
+0000
+fbe0
+8220
+8220
+f3e0
+8020
+8020
+83e0
+0000
+aaa0
+0000
+ENDCHAR
+STARTCHAR U+fffa
+ENCODING 65530
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+aaa0
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+8200
+0000
+0000
+f9c0
+8220
+8220
+f3e0
+8220
+8220
+8220
+0000
+aaa0
+0000
+ENDCHAR
+STARTCHAR U+fffb
+ENCODING 65531
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+aaa0
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+8200
+0000
+0000
+fbc0
+8220
+8220
+f3c0
+8220
+8220
+83c0
+0000
+aaa0
+0000
+ENDCHAR
+STARTCHAR U+fffc
+ENCODING 65532
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+aaa0
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+8200
+0000
+0000
+f9e0
+8200
+8200
+f200
+8200
+8200
+81e0
+0000
+aaa0
+0000
+ENDCHAR
STARTCHAR U+fffd
ENCODING 65533
SWIDTH 500 0
@@ -116877,4 +118327,62 @@ c630
0000
0000
ENDCHAR
+STARTCHAR U+fffe
+ENCODING 65534
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+aaa0
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+8200
+0000
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+83e0
+0000
+aaa0
+0000
+ENDCHAR
+STARTCHAR U+ffff
+ENCODING 65535
+SWIDTH 500 0
+DWIDTH 12 0
+BBX 12 22 0 -5
+BITMAP
+0000
+aaa0
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+8200
+0000
+0000
+fbe0
+8200
+8200
+f3c0
+8200
+8200
+8200
+0000
+aaa0
+0000
+ENDCHAR
ENDFONT
diff --git a/gallant.fnt b/gallant.fnt
index 03f0f95..90ff245 100644
--- a/gallant.fnt
+++ b/gallant.fnt
Binary files differ
diff --git a/gallant.hex b/gallant.hex
index 9f8fd9a..f0c1b45 100644
--- a/gallant.hex
+++ b/gallant.hex
@@ -1512,28 +1512,54 @@
1f15:00000000384040c040c0308000000f801fc0206060003f003f00600060203fc01f0000000000000000000000
1f18:e000100060007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
1f19:7000800060007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
+1f1a:e200130061007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
+1f1b:7200830061007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
+1f1c:e100130062007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
+1f1d:7100830062007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
1f20:0000000000000e00010006000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
1f21:0000000000000700080006000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
1f22:00000000000070c0098033000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
1f23:0000000000003b00418030c00000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
+1f24:0000000000000000000000000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
+1f25:0000000000000000000000000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
1f26:1c40238000000e00010006000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
1f27:1c40238000000700080006000000278079c030c030c030c030c030c030c030c078c000c000c000c000c001e0
-1f1a:e200130061007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
-1f1b:7200830061007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
-1f1c:e100130062007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
-1f1d:7100830062007fc0304030403000300030803f803080300030003000302030207fe000000000000000000000
+1f28:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
+1f29:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
+1f2a:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
+1f2b:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
+1f2c:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
+1f2d:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
+1f2e:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
+1f2f:000000000000f0f0606060606060606060607fe0606060606060606060606060f0f000000000000000000000
1f30:0000000000000e000100060000001e00060006000600060006000600060006001f8000000000000000000000
1f31:0000000000000e0010000c0000001e00060006000600060006000600060006001f8000000000000000000000
1f32:0000000000007300098030c000001e00060006000600060006000600060006001f8000000000000000000000
1f33:0000000000003b00418030c000001e00060006000600060006000600060006001f8000000000000000000000
+1f34:00000000000000000000000000001e00060006000600060006000600060006001f8000000000000000000000
+1f35:00000000000000000000000000001e00060006000600060006000600060006001f8000000000000000000000
1f36:1c60638000000e0010000c0000001e00060006000600060006000600060006001f8000000000000000000000
1f37:1c60638000001c0002000c0000001e00060006000600060006000600060006001f8000000000000000000000
+1f38:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
+1f39:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
+1f3a:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
+1f3b:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
+1f3c:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
+1f3d:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
+1f3e:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
+1f3f:0000000000001f800600060006000600060006000600060006000600060006001f8000000000000000000000
1f40:0000000000000e000100060000000f8011c020e06060606060606060704038801f0000000000000000000000
1f41:0000000000000e000800060000000f8011c020e06060606060606060704038801f0000000000000000000000
1f42:000000000000388004c0184000000f8011c020e06060606060606060704038801f0000000000000000000000
1f43:000000000000388020c0184000000f8011c020e06060606060606060704038801f0000000000000000000000
1f44:000000000000384004c0188000000f8011c020e06060606060606060704038801f0000000000000000000000
1f45:000000000000384020c0188000000f8011c020e06060606060606060704038801f0000000000000000000000
+1f48:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000
+1f49:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000
+1f4a:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000
+1f4b:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000
+1f4c:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000
+1f4d:0000000000000f0011c020c020606060606060606060606060602040304018800f0000000000000000000000
1f50:000000000e00010001000600000079e030c030c030c030c030c030c030c038800f0000000000000000000000
1f51:000000000700080008000600000079e030c030c030c030c030c030c030c038800f0000000000000000000000
1f52:00000000388004c004c01840000079e030c030c030c030c030c030c030c038800f0000000000000000000000
@@ -1542,6 +1568,10 @@
1f55:000000001c4020c020c01880000079e030c030c030c030c030c030c030c038800f0000000000000000000000
1f56:1c40238000000e0001000600000079e030c030c030c030c030c030c030c038800f0000000000000000000000
1f57:1c4023800000070008000600000079e030c030c030c030c030c030c030c038800f0000000000000000000000
+1f59:000000000000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000
+1f5b:000000000000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000
+1f5d:000000000000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000
+1f5f:000000000000f07060203040188018800d0006000600060006000600060006000f0000000000000000000000
1f60:0000000000000e000100060000006060c030c630c630c630c630c63066207fc0198000000000000000000000
1f61:00000000000007000800060000006060c030c630c630c630c630c63066207fc0198000000000000000000000
1f62:00000000008038c004c0184000006060c030c630c630c630c630c63066207fc0198000000000000000000000
@@ -1550,6 +1580,14 @@
1f65:0000000000401cc020c0188000006060c030c630c630c630c630c63066207fc0198000000000000000000000
1f66:1c40238000000e000100060000006060c030c630c630c630c630c63066207fc0198000000000000000000000
1f67:1c402380000007000800060000006060c030c630c630c630c630c63066207fc0198000000000000000000000
+1f68:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
+1f69:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
+1f6a:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
+1f6b:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
+1f6c:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
+1f6d:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
+1f6e:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
+1f6f:0000000000000f0011c020c0206060606060606060602040304018800900492079e000000000000000000000
1f70:000000000c0006000300000000001f9031d060e060e060c060c060c061e072603c3000000000000000000000
1f71:00000000030006000c00000000001f9031d060e060e060c060c060c061e072603c3000000000000000000000
1f72:0000000000000c000600030000000f801fc0206060003f003f00600060203fc01f0000000000000000000000
@@ -1564,6 +1602,14 @@
1f7b:00000000030006000c000000000079e030c030c030c030c030c030c030c038800f0000000000000000000000
1f7c:000000000c0006000300000000006060c030c630c630c630c630c63066207fc0198000000000000000000000
1f7d:00000000030006000c00000000006060c030c630c630c630c630c63066207fc0198000000000000000000000
+1f88:00000000e000160066000b000b0009001180118010803fc020c0204040604060e0f000000040004000600000
+1f89:000000007000860066000b000b0009001180118010803fc020c0204040604060e0f000000040004000600000
+1f8a:1000180018000b00730085806580048008c008c008401fe01060102020302030707000000040004000600000
+1f8b:1000180018000b00e30015806580048008c008c008401fe01060102020302030707000000040004000600000
+1f8c:0800180018001300730085806580048008c008c008401fe01060102020302030707000000040004000600000
+1f8d:0800180018001300e30015806580048008c008c008401fe01060102020302030707000000040004000600000
+1f8e:000071008e000300730085806580048008c008c008401fe01060102020302030707000000040004000600000
+1f8f:000071008e000300e30015806580048008c008c008401fe01060102020302030707000000040004000600000
1fbd:000000000e000100010006000000000000000000000000000000000000000000000000000000000000000000
1fd2:000000000400060066c062c000001e00060006000600060006000600060006001f8000000000000000000000
1fd3:000000000200060066c064c000001e00060006000600060006000600060006001f8000000000000000000000
@@ -4029,4 +4075,10 @@ fb03:0000000019c0266026606660666066006600fff0666066606660666066606660f7f00000000
fb04:0000000019a026e026e066e0666066606660ffe0666066606660666066606660f7f000000000000000000000
fb05:000000000f00198018c030c030c030c030c073f030c030c030c030c030c030c079e000000000000000000000
fb06:000000000000038007c00cc00cc07ec0c6c0c2f0e0c070c01cc00ec086c0c6c0fc7000000000000000000000
+fff9:0000aaa00000fbe082008200f3c082008200820000000000fbe082208220f3e08020802083e00000aaa00000
+fffa:0000aaa00000fbe082008200f3c082008200820000000000f9c082208220f3e08220822082200000aaa00000
+fffb:0000aaa00000fbe082008200f3c082008200820000000000fbc082208220f3c08220822083c00000aaa00000
+fffc:0000aaa00000fbe082008200f3c082008200820000000000f9e082008200f2008200820081e00000aaa00000
fffd:06000f001f803fc040204f20d9b0c1b0c1b0c330c630c030c630462040203fc01f800f000600000000000000
+fffe:0000aaa00000fbe082008200f3c082008200820000000000fbe082008200f3c08200820083e00000aaa00000
+ffff:0000aaa00000fbe082008200f3c082008200820000000000fbe082008200f3c08200820082000000aaa00000
diff --git a/gallant.src b/gallant.src
index e5cdbe8..17e38ca 100644
--- a/gallant.src
+++ b/gallant.src
@@ -36286,6 +36286,102 @@ STARTCHAR U+1f19 GREEK CAPITAL LETTER EPSILON WITH DASIA
02 | |
01 | |
ENDCHAR
+STARTCHAR U+1f1a GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+22 |███ █ |
+21 | █ ██ |
+20 | ██ █ |
+19 | █████████ |
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ |
+15 | ██ |
+14 | ██ █ |
+13 | ███████ |
+12 | ██ █ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ██████████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f1b GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+22 | ███ █ |
+21 |█ ██ |
+20 | ██ █ |
+19 | █████████ |
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ |
+15 | ██ |
+14 | ██ █ |
+13 | ███████ |
+12 | ██ █ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ██████████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f1c GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+22 |███ █ |
+21 | █ ██ |
+20 | ██ █ |
+19 | █████████ |
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ |
+15 | ██ |
+14 | ██ █ |
+13 | ███████ |
+12 | ██ █ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ██████████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f1d GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+22 | ███ █ |
+21 |█ ██ |
+20 | ██ █ |
+19 | █████████ |
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ |
+15 | ██ |
+14 | ██ █ |
+13 | ███████ |
+12 | ██ █ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ██████████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
STARTCHAR U+1f20 GREEK SMALL LETTER ETA WITH PSILI
22 | |
21 | |
@@ -36382,6 +36478,54 @@ STARTCHAR U+1f23 GREEK SMALL LETTER ETA WITH DASIA AND VARIA
02 | ██ |
01 | ████ |
ENDCHAR
+STARTCHAR U+1f24
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | █ ████ |
+14 | ████ ███ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 | ████ ██ |
+05 | ██ |
+04 | ██ |
+03 | ██ |
+02 | ██ |
+01 | ████ |
+ENDCHAR
+STARTCHAR U+1f25
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | █ ████ |
+14 | ████ ███ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 | ████ ██ |
+05 | ██ |
+04 | ██ |
+03 | ██ |
+02 | ██ |
+01 | ████ |
+ENDCHAR
STARTCHAR U+1f26 GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
22 | ███ █ |
21 | █ ███ |
@@ -36430,96 +36574,192 @@ STARTCHAR U+1f27 GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
02 | ██ |
01 | ████ |
ENDCHAR
-STARTCHAR U+1f1a GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
-22 |███ █ |
-21 | █ ██ |
-20 | ██ █ |
-19 | █████████ |
-18 | ██ █ |
-17 | ██ █ |
-16 | ██ |
-15 | ██ |
-14 | ██ █ |
-13 | ███████ |
-12 | ██ █ |
-11 | ██ |
-10 | ██ |
-09 | ██ |
-08 | ██ █ |
-07 | ██ █ |
-06 | ██████████ |
+STARTCHAR U+1f28
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
05 | |
04 | |
03 | |
02 | |
01 | |
ENDCHAR
-STARTCHAR U+1f1b GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
-22 | ███ █ |
-21 |█ ██ |
-20 | ██ █ |
-19 | █████████ |
-18 | ██ █ |
-17 | ██ █ |
-16 | ██ |
-15 | ██ |
-14 | ██ █ |
-13 | ███████ |
-12 | ██ █ |
-11 | ██ |
-10 | ██ |
-09 | ██ |
-08 | ██ █ |
-07 | ██ █ |
-06 | ██████████ |
+STARTCHAR U+1f29
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
05 | |
04 | |
03 | |
02 | |
01 | |
ENDCHAR
-STARTCHAR U+1f1c GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
-22 |███ █ |
-21 | █ ██ |
-20 | ██ █ |
-19 | █████████ |
-18 | ██ █ |
-17 | ██ █ |
-16 | ██ |
-15 | ██ |
-14 | ██ █ |
-13 | ███████ |
-12 | ██ █ |
-11 | ██ |
-10 | ██ |
-09 | ██ |
-08 | ██ █ |
-07 | ██ █ |
-06 | ██████████ |
+STARTCHAR U+1f2a
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
05 | |
04 | |
03 | |
02 | |
01 | |
ENDCHAR
-STARTCHAR U+1f1d GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
-22 | ███ █ |
-21 |█ ██ |
-20 | ██ █ |
-19 | █████████ |
-18 | ██ █ |
-17 | ██ █ |
-16 | ██ |
-15 | ██ |
-14 | ██ █ |
-13 | ███████ |
-12 | ██ █ |
-11 | ██ |
-10 | ██ |
-09 | ██ |
-08 | ██ █ |
-07 | ██ █ |
-06 | ██████████ |
+STARTCHAR U+1f2b
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f2c
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f2d
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f2e
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f2f
+22 | |
+21 | |
+20 | |
+19 |████ ████|
+18 | ██ ██ |
+17 | ██ ██ |
+16 | ██ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██████████ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | ██ ██ |
+08 | ██ ██ |
+07 | ██ ██ |
+06 |████ ████|
05 | |
04 | |
03 | |
@@ -36622,6 +36862,54 @@ STARTCHAR U+1f33 GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
02 | |
01 | |
ENDCHAR
+STARTCHAR U+1f34
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | ████ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f35
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | ████ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
STARTCHAR U+1f36 GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
22 | ███ ██ |
21 | ██ ███ |
@@ -36670,6 +36958,198 @@ STARTCHAR U+1f37 GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
02 | |
01 | |
ENDCHAR
+STARTCHAR U+1f38
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f39
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f3a
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f3b
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f3c
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f3d
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f3e
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f3f
+22 | |
+21 | |
+20 | |
+19 | ██████ |
+18 | ██ |
+17 | ██ |
+16 | ██ |
+15 | ██ |
+14 | ██ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ██████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
STARTCHAR U+1f40 GREEK SMALL LETTER OMICRON WITH PSILI
22 | |
21 | |
@@ -36814,6 +37294,150 @@ STARTCHAR U+1f45 GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
02 | |
01 | |
ENDCHAR
+STARTCHAR U+1f48
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | █ █ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f49
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | █ █ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f4a
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | █ █ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f4b
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | █ █ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f4c
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | █ █ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f4d
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | ██ ██ |
+10 | ██ ██ |
+09 | █ █ |
+08 | ██ █ |
+07 | ██ █ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
STARTCHAR U+1f50 GREEK SMALL LETTER UPSILON WITH PSILI
22 | |
21 | |
@@ -37006,6 +37630,102 @@ STARTCHAR U+1f57 GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
02 | |
01 | |
ENDCHAR
+STARTCHAR U+1f59
+22 | |
+21 | |
+20 | |
+19 |████ ███|
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ █ |
+15 | ██ █ |
+14 | ██ █ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f5b
+22 | |
+21 | |
+20 | |
+19 |████ ███|
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ █ |
+15 | ██ █ |
+14 | ██ █ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f5d
+22 | |
+21 | |
+20 | |
+19 |████ ███|
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ █ |
+15 | ██ █ |
+14 | ██ █ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f5f
+22 | |
+21 | |
+20 | |
+19 |████ ███|
+18 | ██ █ |
+17 | ██ █ |
+16 | ██ █ |
+15 | ██ █ |
+14 | ██ █ |
+13 | ██ |
+12 | ██ |
+11 | ██ |
+10 | ██ |
+09 | ██ |
+08 | ██ |
+07 | ██ |
+06 | ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
STARTCHAR U+1f60 GREEK SMALL LETTER OMEGA WITH PSILI
22 | |
21 | |
@@ -37198,6 +37918,198 @@ STARTCHAR U+1f67 GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
02 | |
01 | |
ENDCHAR
+STARTCHAR U+1f68
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f69
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f6a
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f6b
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f6c
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f6d
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f6e
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U+1f6f
+22 | |
+21 | |
+20 | |
+19 | ████ |
+18 | █ ███ |
+17 | █ ██ |
+16 | █ ██ |
+15 | ██ ██ |
+14 | ██ ██ |
+13 | ██ ██ |
+12 | ██ ██ |
+11 | █ █ |
+10 | ██ █ |
+09 | ██ █ |
+08 | █ █ |
+07 | █ █ █ █ |
+06 | ████ ████ |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
STARTCHAR U+1f70 GREEK SMALL LETTER ALPHA WITH VARIA
22 | |
21 | |
@@ -37534,6 +38446,198 @@ STARTCHAR U+1f7d GREEK SMALL LETTER OMEGA WITH OXIA
02 | |
01 | |
ENDCHAR
+STARTCHAR U+1f88 GREEK CAPITAL LETTER ALPHA WITH PSILI
+22 | |
+21 | |
+20 |███ |
+19 | █ ██ |
+18 | ██ ██ |
+17 | █ ██ |
+16 | █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██ |
+07 | █ ██ |
+06 |███ ████|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
+STARTCHAR U+1f89 GREEK CAPITAL LETTER ALPHA WITH DASIA
+22 | |
+21 | |
+20 | ███ |
+19 |█ ██ |
+18 | ██ ██ |
+17 | █ ██ |
+16 | █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██ |
+07 | █ ██ |
+06 |███ ████|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
+STARTCHAR U+1f8a GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+22 | █ |
+21 | ██ |
+20 | ██ |
+19 | █ ██ |
+18 | ███ ██ |
+17 |█ █ ██ |
+16 | ██ █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██|
+07 | █ ██|
+06 | ███ ███|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
+STARTCHAR U+1f8b GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+22 | █ |
+21 | ██ |
+20 | ██ |
+19 | █ ██ |
+18 |███ ██ |
+17 | █ █ ██ |
+16 | ██ █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██|
+07 | █ ██|
+06 | ███ ███|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
+STARTCHAR U+1f8c GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+22 | █ |
+21 | ██ |
+20 | ██ |
+19 | █ ██ |
+18 | ███ ██ |
+17 |█ █ ██ |
+16 | ██ █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██|
+07 | █ ██|
+06 | ███ ███|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
+STARTCHAR U+1f8d GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+22 | █ |
+21 | ██ |
+20 | ██ |
+19 | █ ██ |
+18 |███ ██ |
+17 | █ █ ██ |
+16 | ██ █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██|
+07 | █ ██|
+06 | ███ ███|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
+STARTCHAR U+1f8e GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+22 | |
+21 | ███ █ |
+20 |█ ███ |
+19 | ██ |
+18 | ███ ██ |
+17 |█ █ ██ |
+16 | ██ █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██|
+07 | █ ██|
+06 | ███ ███|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
+STARTCHAR U+1f8f GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+22 | |
+21 | ███ █ |
+20 |█ ███ |
+19 | ██ |
+18 |███ ██ |
+17 | █ █ ██ |
+16 | ██ █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██|
+07 | █ ██|
+06 | ███ ███|
+05 | |
+04 | █ |
+03 | █ |
+02 | ██ |
+01 | |
+ENDCHAR
STARTCHAR U+1fbd GREEK KORONIS
22 | |
21 | |
@@ -96694,6 +97798,102 @@ STARTCHAR U+fb06 LATIN SMALL LIGATURE ST
02 | |
01 | |
ENDCHAR
+STARTCHAR U+fff9
+22 | |
+21 |█ █ █ █ █ █ |
+20 | |
+19 |█████ █████ |
+18 |█ █ |
+17 |█ █ |
+16 |████ ████ |
+15 |█ █ |
+14 |█ █ |
+13 |█ █ |
+12 | |
+02 | |
+11 |█████ █████ |
+10 |█ █ █ |
+09 |█ █ █ |
+08 |████ █████ |
+07 |█ █ |
+06 |█ █ |
+05 |█ █████ |
+04 | |
+03 |█ █ █ █ █ █ |
+01 | |
+ENDCHAR
+STARTCHAR U+fffa
+22 | |
+21 |█ █ █ █ █ █ |
+20 | |
+19 |█████ █████ |
+18 |█ █ |
+17 |█ █ |
+16 |████ ████ |
+15 |█ █ |
+14 |█ █ |
+13 |█ █ |
+12 | |
+02 | |
+11 |█████ ███ |
+10 |█ █ █ |
+09 |█ █ █ |
+08 |████ █████ |
+07 |█ █ █ |
+06 |█ █ █ |
+05 |█ █ █ |
+04 | |
+03 |█ █ █ █ █ █ |
+01 | |
+ENDCHAR
+STARTCHAR U+fffb
+22 | |
+21 |█ █ █ █ █ █ |
+20 | |
+19 |█████ █████ |
+18 |█ █ |
+17 |█ █ |
+16 |████ ████ |
+15 |█ █ |
+14 |█ █ |
+13 |█ █ |
+12 | |
+02 | |
+11 |█████ ████ |
+10 |█ █ █ |
+09 |█ █ █ |
+08 |████ ████ |
+07 |█ █ █ |
+06 |█ █ █ |
+05 |█ ████ |
+04 | |
+03 |█ █ █ █ █ █ |
+01 | |
+ENDCHAR
+STARTCHAR U+fffc
+22 | |
+21 |█ █ █ █ █ █ |
+20 | |
+19 |█████ █████ |
+18 |█ █ |
+17 |█ █ |
+16 |████ ████ |
+15 |█ █ |
+14 |█ █ |
+13 |█ █ |
+12 | |
+02 | |
+11 |█████ ████ |
+10 |█ █ |
+09 |█ █ |
+08 |████ █ |
+07 |█ █ |
+06 |█ █ |
+05 |█ ████ |
+04 | |
+03 |█ █ █ █ █ █ |
+01 | |
+ENDCHAR
STARTCHAR U+fffd REPLACEMENT CHARACTER
22 | ██ |
21 | ████ |
@@ -96718,3 +97918,51 @@ STARTCHAR U+fffd REPLACEMENT CHARACTER
02 | |
01 | |
ENDCHAR
+STARTCHAR U+fffe
+22 | |
+21 |█ █ █ █ █ █ |
+20 | |
+19 |█████ █████ |
+18 |█ █ |
+17 |█ █ |
+16 |████ ████ |
+15 |█ █ |
+14 |█ █ |
+13 |█ █ |
+12 | |
+02 | |
+11 |█████ █████ |
+10 |█ █ |
+09 |█ █ |
+08 |████ ████ |
+07 |█ █ |
+06 |█ █ |
+05 |█ █████ |
+04 | |
+03 |█ █ █ █ █ █ |
+01 | |
+ENDCHAR
+STARTCHAR U+ffff
+22 | |
+21 |█ █ █ █ █ █ |
+20 | |
+19 |█████ █████ |
+18 |█ █ |
+17 |█ █ |
+16 |████ ████ |
+15 |█ █ |
+14 |█ █ |
+13 |█ █ |
+12 | |
+02 | |
+11 |█████ █████ |
+10 |█ █ |
+09 |█ █ |
+08 |████ ████ |
+07 |█ █ |
+06 |█ █ |
+05 |█ █ |
+04 | |
+03 |█ █ █ █ █ █ |
+01 | |
+ENDCHAR
diff --git a/lscp.c b/lscp.c
index ae2b9d9..d27e88a 100644
--- a/lscp.c
+++ b/lscp.c
@@ -1,25 +1,25 @@
/*
* NAME
- * lscp - list a range of codepoints with width and name
+ * lscp - list a range of codepoints with width and name
*
* EXAMPLE USAGE
- * $ ./lscp 0x2a00 0x2a10
- * U+2a00 1 a ⨀ b N-ARY CIRCLED DOT OPERATOR
- * U+2a01 1 a ⨁ b N-ARY CIRCLED PLUS OPERATOR
- * U+2a02 1 a ⨂ b N-ARY CIRCLED TIMES OPERATOR
- * U+2a03 1 a ⨃ b N-ARY UNION OPERATOR WITH DOT
- * U+2a04 1 a ⨄ b N-ARY UNION OPERATOR WITH PLUS
- * U+2a05 1 a ⨅ b N-ARY SQUARE INTERSECTION OPERATOR
- * U+2a06 1 a ⨆ b N-ARY SQUARE UNION OPERATOR
- * U+2a07 1 a ⨇ b TWO LOGICAL AND OPERATOR
- * U+2a08 1 a ⨈ b TWO LOGICAL OR OPERATOR
- * U+2a09 1 a ⨉ b N-ARY TIMES OPERATOR
- * U+2a0a 1 a ⨊ b MODULO TWO SUM
- * U+2a0b 1 a ⨋ b SUMMATION WITH INTEGRAL
- * U+2a0c 1 a ⨌ b QUADRUPLE INTEGRAL OPERATOR
- * U+2a0d 1 a ⨍ b FINITE PART INTEGRAL
- * U+2a0e 1 a ⨎ b INTEGRAL WITH DOUBLE STROKE
- * U+2a0f 1 a ⨏ b INTEGRAL AVERAGE WITH SLASH
+ * $ lscp 0x2a00 0x2a10
+ * U+2a00 1 a ⨀ b N-ARY CIRCLED DOT OPERATOR
+ * U+2a01 1 a ⨁ b N-ARY CIRCLED PLUS OPERATOR
+ * U+2a02 1 a ⨂ b N-ARY CIRCLED TIMES OPERATOR
+ * U+2a03 1 a ⨃ b N-ARY UNION OPERATOR WITH DOT
+ * U+2a04 1 a ⨄ b N-ARY UNION OPERATOR WITH PLUS
+ * U+2a05 1 a ⨅ b N-ARY SQUARE INTERSECTION OPERATOR
+ * U+2a06 1 a ⨆ b N-ARY SQUARE UNION OPERATOR
+ * U+2a07 1 a ⨇ b TWO LOGICAL AND OPERATOR
+ * U+2a08 1 a ⨈ b TWO LOGICAL OR OPERATOR
+ * U+2a09 1 a ⨉ b N-ARY TIMES OPERATOR
+ * U+2a0a 1 a ⨊ b MODULO TWO SUM
+ * U+2a0b 1 a ⨋ b SUMMATION WITH INTEGRAL
+ * U+2a0c 1 a ⨌ b QUADRUPLE INTEGRAL OPERATOR
+ * U+2a0d 1 a ⨍ b FINITE PART INTEGRAL
+ * U+2a0e 1 a ⨎ b INTEGRAL WITH DOUBLE STROKE
+ * U+2a0f 1 a ⨏ b INTEGRAL AVERAGE WITH SLASH
*/
#include <stdio.h>
#include <stdlib.h>
@@ -40,18 +40,18 @@ int main(int aArgc, char **aArgv) {
exit(EXIT_FAILURE);
}
errno = 0;
- const unsigned long start = strtoul(aArgv[1], NULL, 0);
- const unsigned long end = strtoul(aArgv[2], NULL, 0);
+ unsigned long start = strtoul(aArgv[1], NULL, 0);
+ unsigned long end = strtoul(aArgv[2], NULL, 0);
if (errno != 0) {
fprintf(stderr, "could not convert arguments to integers\n");
exit(EXIT_FAILURE);
}
for (unsigned long i = start; i < end; ++i) {
char name[UNINAME_MAX + 1];
- const char *const p = unicode_character_name((ucs4_t) i, name);
- printf("U+%04lx %2d a %lc b %s\n", i, wcwidth((wchar_t) i), (wint_t) i, p ? p : "<no name>");
+ const char *const p = unicode_character_name((ucs4_t)i, name);
+ printf("U+%04lx %2d a %lc b %s\n", i, wcwidth((wchar_t)i), (wint_t)i, p ? p : "<no name>");
}
return EXIT_SUCCESS;
}
-/* vim: set tabstop=4 shiftwidth=4 expandtab fileformat=unix: */
+/* vim: set syntax=c tabstop=4 shiftwidth=4 expandtab fileformat=unix: */
diff --git a/srctohex.c b/srctohex.c
new file mode 100644
index 0000000..1f3e5d3
--- /dev/null
+++ b/srctohex.c
@@ -0,0 +1,191 @@
+/*
+ * NAME
+ * srctohex - convert font from src to hex format
+ *
+ * EXAMPLE USAGE
+ * srctohex -w 12 -h 22 < gallant.src > gallant.hex
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <locale.h>
+#include <unistd.h>
+#include <wchar.h>
+#include <errno.h>
+
+#define PixelWidth 12
+#define PixelHeight 22
+#define PixelSet L'Y'
+#define PixelClear L' '
+#define LINE_MAX_WCHAR 1024
+#define FULL_BLOCK 0x2588
+
+#define STARTCHAR 1
+#define BITMAP 2
+#define ENDCHAR 3
+
+void parse_options(int aArgc, char **aArgv);
+void usage(int aStatus);
+void errx(const char *aFormat, ...);
+int parse_startchar(const wchar_t *aLine);
+void parse_bitmap(const wchar_t *aLine, int aWidth);
+void parse_endchar(const wchar_t *aLine);
+
+int gWidth = PixelWidth;
+int gHeight = PixelHeight;
+int gLineNr = 0;
+unsigned int gCodepoint = 0;
+
+int main(int aArgc, char **aArgv) {
+ if (!setlocale(LC_CTYPE, "")) {
+ fprintf(stderr, "Can't set the locale. Check LANG, LC_CTYPE, LC_ALL.\n");
+ exit(EXIT_FAILURE);
+ }
+ int expect = STARTCHAR;
+ int bitmaps = 0;
+ int glyphs = 0;
+ int width = 1;
+ parse_options(aArgc, aArgv);
+ printf("# Width: %d\n# Height: %d\n", gWidth, gHeight);
+ wchar_t wbuf[LINE_MAX_WCHAR];
+ while (fgetws(wbuf, LINE_MAX_WCHAR, stdin)) {
+ ++gLineNr;
+ switch (expect) {
+ case STARTCHAR:
+ width = parse_startchar(wbuf);
+ expect = BITMAP;
+ break;
+ case BITMAP:
+ parse_bitmap(wbuf, width);
+ ++bitmaps;
+ if (bitmaps == gHeight) {
+ putchar('\n');
+ expect = ENDCHAR;
+ }
+ break;
+ case ENDCHAR:
+ parse_endchar(wbuf);
+ expect = STARTCHAR;
+ bitmaps = 0;
+ ++glyphs;
+ break;
+ default:
+ break;
+ }
+ }
+ if (expect != STARTCHAR)
+ errx("line %d, glyph U+%04x: incomplete glyph due to early end-of-file\n", gLineNr, gCodepoint);
+ fprintf(stderr, "found %d glyphs\n", glyphs);
+ return EXIT_SUCCESS;
+}
+
+// Parse a STARTCHAR directive.
+//
+int parse_startchar(const wchar_t *aLine) {
+ if (swscanf(aLine, L"STARTCHAR U+%x", &gCodepoint) == 1) {
+ printf("%04x:", gCodepoint);
+ return wcwidth(gCodepoint);
+ }
+ errx("line %d: expected 'STARTCHAR U+xxxx', got %ls", gLineNr, aLine);
+ return 0;
+}
+
+// Parse a |BITMAP| directive.
+//
+void parse_bitmap(const wchar_t *aLine, int aWidth) {
+ const wchar_t *delim1 = wcschr(aLine, L'|');
+ if (delim1 == NULL)
+ errx("line %d: initial delimiter '|' not found in %ls; not enough pixel lines?\n", gLineNr, aLine);
+
+ const wchar_t *delim2 = wcschr(delim1 + 1, L'|');
+ if (delim2 == NULL)
+ errx("line %d: final delimiter '|' not found in %ls", gLineNr, aLine);
+
+ const int bits = (delim2 - delim1) - 1;
+ if (aWidth == 2) {
+ if (bits != (2 * gWidth))
+ errx("line %d, glyph U+%04x: expected %d pixels bewteen || delimiters for double width glyph, found %d\n", gLineNr,
+ gCodepoint, 2 * gWidth, bits);
+ }
+ else {
+ if (bits != gWidth)
+ errx("line %d, glyph U+%04x: expected %d pixels bewteen || delimiters for normal width glyph, found %d\n", gLineNr,
+ gCodepoint, gWidth, bits);
+ }
+
+ int hex = 0;
+ aLine = delim1 + 1;
+ for (int i = 0; i < bits; ++i) {
+ const int rem = i % 4;
+ if (aLine[i] == FULL_BLOCK)
+ hex += (8 >> rem);
+ else {
+ if (aLine[i] != L' ')
+ errx("line %d, glyph U+%04x: pixels must be SPACE or FULL BLOCK U+2588 '%lc', found '%lc'\n", gLineNr, gCodepoint,
+ FULL_BLOCK, aLine[i]);
+ }
+ if (rem == 3) {
+ putchar("0123456789abcdef"[hex]);
+ hex = 0;
+ }
+ }
+ /* Pad to octet with zero bits, if any. */
+ const int pad = 8 * ((bits + 7) / 8);
+ for (int i = bits; i < pad; ++i) {
+ if (i % 4 == 3) {
+ putchar("0123456789abcdef"[hex]);
+ hex = 0;
+ }
+ }
+}
+
+// Parse an ENDCHAR directive.
+//
+void parse_endchar(const wchar_t *aLine) {
+ if (wcscmp(aLine, L"ENDCHAR\n") != 0)
+ errx("line %d, glyph U+%04x: expected 'ENDCHAR', got %ls", gLineNr, gCodepoint, aLine);
+}
+
+// Parse the command line options.
+//
+void parse_options(int aArgc, char **aArgv) {
+ int ch;
+ while ((ch = getopt(aArgc, aArgv, "w:h:")) != -1) {
+ switch (ch) {
+ case 'h':
+ if (sscanf(optarg, "%d", &gHeight) != 1)
+ errx("can't convert '%s' to height integer\n", optarg);
+ break;
+ case 'w':
+ if (sscanf(optarg, "%d", &gWidth) != 1)
+ errx("can't convert '%s' to width integer\n", optarg);
+ break;
+ default:
+ usage(EXIT_FAILURE);
+ }
+ }
+}
+
+
+
+// Output usage message and exit with status.
+//
+void usage(int aStatus) {
+ fprintf(stderr, "usage: srctohex [options]\n");
+ fprintf(stderr, "Options [default]:\n");
+ fprintf(stderr, " -h height height in pixels [%d]\n", PixelHeight);
+ fprintf(stderr, " -w width width in pixels [%d]\n", PixelWidth);
+ exit(aStatus);
+}
+
+// Print formatted message on stderr and exit.
+//
+void errx(const char *aFormat, ...) {
+ va_list ap;
+ va_start(ap, aFormat);
+ vfprintf(stderr, aFormat, ap);
+ va_end(ap);
+ exit(EXIT_FAILURE);
+}
+
+/* vim: set tabstop=4 shiftwidth=4 expandtab fileformat=unix: */