def _load_jamo_short_names():
filename = "<STR_LIT>"<EOL>current_dir = os.path.abspath(os.path.dirname(__file__))<EOL>with codecs.open(os.path.join(current_dir, filename), mode="<STR_LIT:r>", encoding="<STR_LIT:utf-8>") as fp:<EOL><INDENT>for line in fp:<EOL><INDENT>if not line.strip() or line.startswith("<STR_LIT:#>"):<EOL><INDENT>continue  <EOL><DEDENT>data = line.strip().split("<STR_LIT:;>")<EOL>code = int(data[<NUM_LIT:0>].strip(), <NUM_LIT:16>)<EOL>char_info = data[<NUM_LIT:1>].split("<STR_LIT:#>")<EOL>short_name = char_info[<NUM_LIT:0>].strip()<EOL>_jamo_short_names[code] = short_name<EOL><DEDENT><DEDENT>
Function for parsing the Jamo short names from the Unicode Character Database (UCD) and generating a lookup table
For more info on how this is used, see the Unicode Standard, ch. 03, section 3.12, "Conjoining Jamo Behavior" and
ch. 04, section 4.8, "Name".

https://www.unicode.org/versions/latest/ch03.pdf
https://www.unicode.org/versions/latest/ch04.pdf