about summary refs log tree commit diff stats
path: root/apps/ex9.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-08-31 22:52:51 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-08-31 23:03:34 -0700
commitdca845877ba2832144819e136ae7c3a0348ccda3 (patch)
treefb4c4e1a2396bdfd74d7450f997adfdb77bbfd0c /apps/ex9.mu
parentb8afd4becf993f5f868f05c4f9e5fcb87be9adb2 (diff)
downloadmu-dca845877ba2832144819e136ae7c3a0348ccda3.tar.gz
tag combining character code-points
Unfortunately the Unicode database doesn't actually provide obvious
metadata for combining characters. The process I followed is as follows.
I noticed that GNU Unifont provides the following files for download:

  - unifont-13.0.06.hex: All Plane 0 glyphs
  - unifont_sample-13.0.06.hex: The above .hex file with combining circles added

Downloading and diffing the two yields all code-points with combining
circles. I assume they are exactly the combining characters I care
about.

One mechanical difficulty is cross-correlating the above files that
include the code-point in each line with font.subx which does not. I got
things to work by modifying the above files in place until they have the
same format as font.subx, using the following Vim commands on each file:

  :%s|.\{64\}|10/size^M00/is-combine^M&|
  :%s|^.\{32\}$|08/size^M00/is-combine^M&00000000000000000000000000000000|
  :%s|..|& |g
  :%s|10 /s iz e|10/size|
  :%s|08 /s iz e|08/size|
  :%s|00 /i s- co mb in e|00/is-combine|

Now I can update the metadata with a Vim macro which jumps to the next
hunk and increments /is-combine on the previous line.
Diffstat (limited to 'apps/ex9.mu')
0 files changed, 0 insertions, 0 deletions