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.
This commit is contained in:
Kartik K. Agaram 2021-08-31 22:52:51 -07:00
parent b8afd4becf
commit dca845877b
1 changed files with 727 additions and 727 deletions

1454
font.subx

File diff suppressed because it is too large Load Diff