UNIFONT-JOHAB631(5) File Formats Manual UNIFONT-JOHAB631(5)

# [NAME](#NAME)

unifont-johab631 - Unifont Johab 6/3/1 file format

# [SYNOPSIS](#SYNOPSIS)

**hangul-base.hex**

# [DESCRIPTION](#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)](/man/enterprise-packages/font-unifont/unigen-hangul.1), [**johab2html**(1)](/man/enterprise-packages/font-unifont/johab2html.1), and [**johab2syllabes**(1)](/man/enterprise-packages/font-unifont/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)](/man/enterprise-packages/font-unifont/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**](#Range)

**Hangul**

[**E000**](#E000)

Blank (filler) glyph.

[**E001-E2FA**](#E001)

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**](#E2FB)

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**](#E421)

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**](#E500)

Individual Hangul Jamo letters, 1 variation each for the Unicode Hangul Jamo range of U+1100..U+11FF.

[**E600-E61F**](#E600)

Individual Hangul Jamo Extended-A letters, 1 variation each for the Unicode Hangul Jamo Extended-A range of U+A960..U+A97F.

[**E620-E66F**](#E620)

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](#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](#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](#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](#JONGSEONG)

These are the final consonants. Each has only one variation. The program [**unigen-hangul**(1)](/man/enterprise-packages/font-unifont/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)](/man/enterprise-packages/font-unifont/johab2syllables.1) and [**unijohab2html**(1)](/man/enterprise-packages/font-unifont/unijohab2html.1), overlay all jongseong exactly as they are encoded, with no shifting or extending.

## [HANGUL JAMO](#HANGUL_JAMO)

The entire Unicode Hangul Jamo range, U+1100..U+11FF, appears in entries E500-E5FF.

## [HANGUL EXTENDED-A JAMO](#HANGUL_EXTENDED-A_JAMO)

The Hangul Jamo Extended-A range, U+A960..U+A97F in E600-E61F.

## [HANGUL EXTENDED-B JAMO](#HANGUL_EXTENDED-B_JAMO)

The Hangul Jamo Extended-B range, U+D7B0..U+D7FF in E620-E66F.

# [FILES](#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)](/man/enterprise-packages/font-unifont/johab2syllables.1), [**unigen-hangul**(1)](/man/enterprise-packages/font-unifont/unigen-hangul.1), and [**unijohab2html**(1)](/man/enterprise-packages/font-unifont/unijohab2html.1) all use various functions in unihangul-support.c to generate their output.

# [SEE ALSO](#SEE_ALSO)

[**bdfimplode**(1)](/man/enterprise-packages/font-unifont/bdfimplode.1), [**hex2bdf**(1)](/man/enterprise-packages/font-unifont/hex2bdf.1), [**hex2otf**(1)](/man/enterprise-packages/font-unifont/hex2otf.1), [**hex2sfd**(1)](/man/enterprise-packages/font-unifont/hex2sfd.1), [**hexbraille**(1)](/man/enterprise-packages/font-unifont/hexbraille.1), [**hexdraw**(1)](/man/enterprise-packages/font-unifont/hexdraw.1), [**hexkinya**(1)](/man/enterprise-packages/font-unifont/hexkinya.1), [**hexmerge**(1)](/man/enterprise-packages/font-unifont/hexmerge.1), [**johab2syllables**(1)](/man/enterprise-packages/font-unifont/johab2syllables.1), [**johab2ucs2**(1)](/man/enterprise-packages/font-unifont/johab2ucs2.1), [**unibdf2hex**(1)](/man/enterprise-packages/font-unifont/unibdf2hex.1), [**unibmp2hex**(1)](/man/enterprise-packages/font-unifont/unibmp2hex.1), [**unibmpbump**(1)](/man/enterprise-packages/font-unifont/unibmpbump.1), [**unicoverage**(1)](/man/enterprise-packages/font-unifont/unicoverage.1), [**unidup**(1)](/man/enterprise-packages/font-unifont/unidup.1), [**unifont**(5)](/man/enterprise-packages/font-unifont/unifont.5), [**unifont-viewer**(1)](/man/enterprise-packages/font-unifont/unifont-viewer.1), [**unifont1per**(1)](/man/enterprise-packages/font-unifont/unifont1per.1), [**unifontchojung**(1)](/man/enterprise-packages/font-unifont/unifontchojung.1), [**unifontksx**(1)](/man/enterprise-packages/font-unifont/unifontksx.1), [**unifontpic**(1)](/man/enterprise-packages/font-unifont/unifontpic.1), [**unigen-hangul**(1)](/man/enterprise-packages/font-unifont/unigen-hangul.1), [**unigencircles**(1)](/man/enterprise-packages/font-unifont/unigencircles.1), [**unigenwidth**(1)](/man/enterprise-packages/font-unifont/unigenwidth.1), [**unihex2bmp**(1)](/man/enterprise-packages/font-unifont/unihex2bmp.1), [**unihex2png**(1)](/man/enterprise-packages/font-unifont/unihex2png.1), [**unihexfill**(1)](/man/enterprise-packages/font-unifont/unihexfill.1), [**unihexgen**(1)](/man/enterprise-packages/font-unifont/unihexgen.1), [**unihexpose**(1)](/man/enterprise-packages/font-unifont/unihexpose.1), [**unihexrotate**(1)](/man/enterprise-packages/font-unifont/unihexrotate.1), [**unijohab2html**(1)](/man/enterprise-packages/font-unifont/unijohab2html.1), [**unipagecount**(1)](/man/enterprise-packages/font-unifont/unipagecount.1), [**unipng2hex**(1)](/man/enterprise-packages/font-unifont/unipng2hex.1)

# [AUTHOR](#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](#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](#BUGS)

No known bugs exist.

30 July 2023

---

Document: unifont-johab631(5) from font-unifont 17.0.04-r2 (Chainguard OS)
Source: https://unifoundry.com/pub/unifont/unifont-17.0.04/unifont-17.0.04.tar.gz
