qunifont is the qunified fork of the unifont, a 8*16 bitmap font distributed by gnu with a near 100% unicode coverage. Pads are used to collectively draw post-binary ligatures.
Go to file
2024-11-17 12:29:59 +01:00
pad-en-grille .gitignore + @TODO bg en pseudo-element 2024-10-24 13:46:54 +02:00
.gitignore padascii2uniascii script and some notes in README 2024-10-28 17:03:38 +01:00
features_qunifont.fea somes fixes on mergehex.sh and firsts opentype features 2024-11-17 12:29:59 +01:00
mergehex.sh somes fixes on mergehex.sh and firsts opentype features 2024-11-17 12:29:59 +01:00
padascii2uniascii.sh remove space EOL and remove first empty line 2024-10-29 10:54:54 +01:00
README.md somes fixes on mergehex.sh and firsts opentype features 2024-11-17 12:29:59 +01:00
unifont-15.1.05.otf test de grille pour un fond de pad 2024-10-23 22:47:43 +02:00
unifont-black.hex Update 'unifont-black.hex' 2024-10-24 13:49:02 +02:00
unifont-black.otf .gitignore + @TODO bg en pseudo-element 2024-10-24 13:46:54 +02:00
unifont-number-sign-black.otf .gitignore + @TODO bg en pseudo-element 2024-10-24 13:46:54 +02:00

Qunifont

Qunifont is a qunified version of the Unifont

Drawing new Qunifont glyphs in a pad

Download, extract and rename the last Unifont tar.gz file (https://unifoundry.com/pub/unifont/?C=M;O=D) to get access to the Unifont utilities scripts

curl https://unifoundry.com/pub/unifont/unifont-16.0.01/unifont-16.0.01.tar.gz -o unifont.tar.gz
tar -xvf unifont.tar.gz
mv unifont-16.0.01 unifont

TODO: Change metadata in hex2otf.c

see unifont/src/hex2otf

Change the GLYPH_MAX_WIDTH variable in hex2otf.c to 64 and compile it with gcc unifont/src/hex2otf.c -o unifont/src/hex2otf

#define GLYPH_MAX_WIDTH 64	///< Maximum glyph width, in pixels.

Draw glyphs in a pad following this format (hexadecimal identifier):

F4910:
----------------
----------------
----------------
----------------
---#----######--
---#---#------#-
---#---#------#-
-##############-
---#------------
---#------------
---#------------
---#------------
---#------------
----##----------
----------------
----------------

Run padascii2uniascii.sh to download the pad's content and format it for the Unifont utilities (uniascii)

./padascii2uniascii.sh http://92.131.57.17:9001/p/qunifont > qunifont.txt

Run mergehex.sh to convert qunifont.txt (uniascii) to unihex and merge it with the unfont-base.hex file

./mergehex.sh

Convert unihex to otf, --help for format list

./unifont/src/hex2otf hex=merge.hex out=qunifont.otf format=truetype

Add OpenType features (in fontforge for the moment)

open qunifont.otf > file > merge feature info > select file > features_qunifont.fea

Other useful commands etc.

Convert uniascii to unihex

./unifont/src/hexdraw qunifont.txt  > qunifont.hex

Convert unihex to png preview table (-p for plage)

./unifont/src/unihex2png -i qunifont.hex -o qunifont.png -p 0

Convert unihex to bdf

./unifont/src/hex2bdf qunifont.hex > qunifont.bdf

Convert unihex to sfd

./unifont/src/hex2sfd < qunifont.hex > qunifont.sfd

Print specific glyph in terminal from hexcode

printf %b\\n \\UF1010
󱀐

printf %b\\n \\UFFE1
£

printf %b\\n \\U1F480
💀

Download .fea from BBB

curl -O https://gitlab.com/bye-bye-binary/typotheque/-/raw/master/features-samples/features_exemple_long.fea

Edit Fontforge Lookup table

Element > Font Info > Lookup

Import .fea file in Fontforge

File > Import merge features