GENERATIVE FONT MAKER for Korean Alphabet, Hangul
Hoonminjeongeum (Left) and Statue of King Sejong in Seoul (Right)
Hangul The Korean alphabet, known as Hangul in South Korea or Chosŏn'gŭl in North Korea, has been used to write the Korean language since its creation in the 15th century by King Sejong the Great. It is the official writing system of Korea, both South and North. It is a co-official writing system in the Yanbian Korean Autonomous Prefecture and Changbai Korean Autonomous County in Jilin Province, China. It is also sometimes used to write the Cia-Cia language spoken near the town of Baubau, Indonesia. The Taiwanese linguists Xu Caode (1987) developed and used a modified Hangul alphabets to represent the spoken Taiwanese, and was later supported by Ang Ui-jin (see Taiwanese Hangul). The Hangul alphabet originally consisted of 28 letters with 17 consonant letters and 11 vowel letters when it was created. As four became obsolete, the modern Hangul consists of total 24 letters with 14 consonant letters and 10 vowel letters. In North Korea the total is counted 40. It consists of 19 consonant letters and 21 vowel letters as it additionally includes 5 tense consonants (ㄲ ㄸ ㅃ ㅉ ㅆ) and 20 compound and complex vowel letters as well as ㅐ. The Korean letters are written in syllabic blocks with the alphabetic letters arranged in two dimensions. For example, the Korean word for "honeybee" (kkulbeol) is written 꿀벌, not ㄲㅜㄹㅂㅓㄹ. As it combines the features of alphabetic and syllabic writing systems, it has been described as an "alphabetic syllabary" by some linguists. As in traditional Chinese writing, Korean texts were traditionally written top to bottom, right to left, and are occasionally still written this way for stylistic purposes. Today, it is typically written from left to right with spaces between words and western-style punctuation. Some linguists consider it among the most phonologically faithful writing systems in use today. One feature of Hangul is that the shapes of its consonants seemingly mimic the shapes of the speaker's mouth when pronouncing each consonant.
from https://en.wikipedia.org/wiki/Hangul
ㄷ ㅏ
달 달
ㄹ Compositive Character with Alphabet
Compositive Character with Alphabet The consonants and vowels of Korean alphabets composite a Korean character. The most distinctive features of this character is a boundary. Unlike English Alphabet, a character has a sqaure boundary and each alphabet constituting the character also has a distorted square, or rectangular boundary. Therefore location and way to define the boundary box of each alphabet is important constraints to build a character.
ㅡ ㅜ ㅗ ㅣ ㅏ ㅓ
Sky, Human, Earth Elements
Rules
Vowels
ㄱ
ㄴ
ㅁ
ㅅ
ㅇ
Consonant
Shape Principles Vowels consist of combinations and variations of three elements. There are a total of 10 vowels, which are combined to form another complex of vowels. There are 14 consonants in total. The principle of the formation of consonants is more closely related to pronunciation. In order to make the sound easier to see the shape of the consonants, the consonants were designed with the shape of the tongue, lips, and throat.
Initial Boundary
rectangle
Glyph
parameters
Dividing Glyphs
divided glyphs
Compositor
selected glyphs Alphabet
Consonant
Vowel1
Vowel2
Alphabets
Stroke
Library
Preset Stroke Style Thickness
Stroke Applicator
Strokes
Preview
Workflows The system consists of three parts: Glyph, Alphabet, and Stroke. Glyph part can generate divided glyphs of each alphabet within one standard glyph. These glyphs construct a Korean character. Alphabet part generates centerlines of alphabet based on the given glyphs. Stroke part is to apply stroke style to the centerlines. Users can add and edit their stroke style from stroke library.
Glyphs There are two components for creating glyphs: setGlyphs and Compositor. setGlyphs component creates all eligible combitions (G) of segemented glyphs based on input parameters from T0 to T12. Points in output pts are the guides of the main glyph controlled by parameter T0. Points in output P is inside points of segemented glyphs and output k is a standardized glyph for testing one consonant or vowel. pts
glyph_Crv
Genearted All Glyphs (Left) and setGlyphs Component (Right)
After generating all glyphs by controlling the 13 parameters, Composiotr component can return a type (paramter m) of divided glyphs combination. For example, m is 1, glyph has segmented small glyphs for one consonant and one vertical vowel. The case that m is 5, glyph has segmented small glyphs for two consonants and one horizontal vowel.
T0
T1
T2
T3
Compositor Component
T2
T1
T2
T12 T10 T9
T7
T5
T6
T4 T4
T3
T1Ă—1.4
T0
T8 m=0
m=1
m=2
m=3
m=4
m=5
All Eligible Combinations of Divided Glyphs
Alphabet There are three components: Consonant, Vowel1 and Vowel2. Consonant component creates a consonant based on given glyphs G from the result of Compositor component. By controlling 4 different paramters, users can change the style of consonant. Vowel 1 component creats a vertical vowel and Vowel 2 component creates a horizontal vowel.
c=0
c=1
c=2
c=3
c=4
c=5
c=6
c=7
c=8
c=9
c=10
c=11
c=12
c=13
0.000
0.100
0.200
0.300
0.400
1.000
0.900
0.800
0.700
0.600
0.000
0.100
0.200
0.300
0.400
2
3
4
5
6
v=0
v=1
v=2
v=3
v=4
v=0
v=1
v=2
v=3
v=4
cT0
cT0
cT0
cT1
cT1 cT2
cT2 div
cT3
Stroke There are three components: Consonant, Vowel1 and Vowel2. Consonant component creates a consonant based on given glyphs G from the result of Compositor component. By controlling 4 different paramters, users can change the style of consonant. Vowel 1 component creats a vertical vowel and Vowel 2 component creates a horizontal vowel.
CalliG
Solid
Marker
CalliS
Jinmo
Consonant Vowel
gC
sC
gV
sV
Example of Stroke Library
Users can create their own stroke by imputting new curves to parameter sC. Parametr gC and gV is guide curves to morph the stroke following the given alphabets. Selected stroke style from Library component can be applied to the generated alphabets through Flow component. Since some geometries from the results of Flow component are not planar, custom-made CurvePlanarize component can flatten all the curves onto xy plane.
GH Algorithm to Apply Stroke to Alphabet
Samples
JINMO RHEE Ph.D. Student in Computational Design, Carnegie Mellon University M.S. in Computational Design, Carnegie Mellon University B.Arch, Korea National University of Arts