Provided by: unifont-bin_16.0.04-1_amd64 

NAME
unifont-johab631 - Unifont Johab 6/3/1 file format
SYNOPSIS
hangul-base.hex
DESCRIPTION
This document describes the structure of the Unifont Johab 6/3/1 file format used as input to Hangul
syllable generation programs. Currently, three programs in the Unifont package utilize files in this
format: unigen-hangul(1), johab2html(1), and johab2syllabes(1). The easiest way to visualize the two-
dimensional organization of all these Hangul letter variations is by examining the HTML output of
johab2html(1) in a web browser.
The "hangul-base.hex" file distributed with Unifont begins at hexadecimal code point 0xE000, which is the
start of the Uniocde Plane 0 Private Use Area (PUA).
The Johab 6/3/1 file format is divided into these ranges, in hexadecimal:
Range Hangul
E000 Blank (filler) glyph.
E001-E2FA Initial consonants (choseong), 6 variations each for the Unicode Hangul Jamo choseong
range of U+1100..U+115E and then the Unicode Jamo Extended-A choseong range of
U+A960..U+A97C.
E2FB-E420 Vowels and diphthongs (jungseong), 3 variations each for the Unicode Hangul Jamo
jungseong range of U+1161..U+11A7 and then the Unicode Jamo Extended-B jungseong range
of U+D7B0..U+D7C6.
E421-E479 Final consonants (jongseong), 1 variation each for the Unicode Hangul Jamo jongseong
range of U+11A8..U+11FF and then the Unicode Jamo Extended-B jongseong range of
U+D7CB..U+D7FB.
E500-E5FF Individual Hangul Jamo letters, 1 variation each for the Unicode Hangul Jamo range of
U+1100..U+11FF.
E600-E61F Individual Hangul Jamo Extended-A letters, 1 variation each for the Unicode Hangul
Jamo Extended-A range of U+A960..U+A97F.
E620-E66F Individual Hangul Jamo Extended-B letters, 1 variation each for the Unicode Hangul
Jamo Extended-B range of U+D7B0..D7FF.
This johab scheme is much easier to use than the original Unifont 10/3 or 4/4 johab encoding. That
original format was adopted from Hanterm.
FILLER GLYPH
The first glyph in the file is a filler, with hexadecimal values of 64 zeroes. This is used as a filler
for Hangul syllable combinations that do not contain one or two of the three parts of a Hangul syllable.
CHOSEONG
These are the initial consonants in a syllable. Each choseong has six variations:
• Combination with a vertical vowel
• Combination with a horizontal vowel
• Combination with a vertical plus horizontal diphthong
• Combination with a vertical vowel and final consonant
• Combination with a horizontal vowel and final consonant
• Combination with a vertical plus horizontal diphthong, and a final consonant.
All six variations are created in order for the first consonant (U+1100, HANGUL CHOSEONG KIYEOK) in the
file entries E001-E006, then all six for the second consonant (U+1101, HANGUL CHOSEONG SSANGKIYEOK) in
the file entries E007-E00C, etc.
JUNGSEONG
These are the medial vowels and diphthongs in a syllable. Each jungseong has three variations:
• With initial consonant but no final consonant
• With initial consonant and final consonant, except final consonant neiun
• With intial consonant, and with final consonant nieun.
Similarly as with choseong, all three variations are created in order for the first vowel (U+1161, HANGUL
JUNGSEONG A) in the file entries E2FB-E2FD, then all three for the second vowel (U+1162, HANGUL JUNGSEONG
AE), etc.
JONGSEONG
These are the final consonants. Each has only one variation. The program unigen-hangul(1) additionally
shifts these final consonants one column to the right when the vowel in the syllable has two long
vertical strokes along the right edge, as in U+1162 (HANGUL JUNGSEONG AE). The other two programs in the
Unifont package that form syllables, johab2syllables(1) and unijohab2html(1), overlay all jongseong
exactly as they are encoded, with no shifting or extending.
HANGUL JAMO
The entire Unicode Hangul Jamo range, U+1100..U+11FF, appears in entries E500-E5FF.
HANGUL EXTENDED-A JAMO
The Hangul Jamo Extended-A range, U+A960..U+A97F in E600-E61F.
HANGUL EXTENDED-B JAMO
The Hangul Jamo Extended-B range, U+D7B0..U+D7FF in E620-E66F.
FILES
Unifont .hex files in Johab 6/3/1 encoding. Programs wishing to interact with this johab encoding can
use functions contained in the file unihangul-support.c. The programs johab2syllables(1), unigen-
hangul(1), and unijohab2html(1) all use various functions in unihangul-support.c to generate their
output.
SEE ALSO
bdfimplode(1), hex2bdf(1), hex2otf(1), hex2sfd(1), hexbraille(1), hexdraw(1), hexkinya(1), hexmerge(1),
johab2syllables(1), johab2ucs2(1), unibdf2hex(1), unibmp2hex(1), unibmpbump(1), unicoverage(1),
unidup(1), unifont(5), unifont-viewer(1), unifont1per(1), unifontchojung(1), unifontksx(1),
unifontpic(1), unigen-hangul(1), unigencircles(1), unigenwidth(1), unihex2bmp(1), unihex2png(1),
unihexfill(1), unihexgen(1), unihexpose(1), unihexrotate(1), unijohab2html(1), unipagecount(1),
unipng2hex(1)
AUTHOR
Ho-Seok Ee created the original Johab 6/2/1 format and drew the modern Hangul letters. Paul Hardy drew
the ancient vowels and suggested adding a third vowel variation, for combining with final consonant
(jongseong) niuen, resulting in a Johab 6/3/1 encoding. Ho-Seok Ee suggested shifting final consonants
one position to the right for combination with vowels having two long vertical strokes on the right edge
of a syllable. Minseo Lee provided feedback on letter design details.
LICENSE
The hangul-base.hex johab glyphs are Copyright © 2023 Ho-Seok Ee and Paul Hardy. Some Hangul Jamo
ancient glyphs are Copyright © 2023 Minseo Lee.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
BUGS
No known bugs exist.
30 July 2023 UNIFONT-JOHAB631(5)