- Joined
- May 26, 2007
- Messages
- 5,545
- Reaction score
- 1,315
Korean Text in Every Locale
Before I begin, if you natively speak Vietnamese you may find the following link easier to follow. Seems someone there liked the idea. They use Notepad ++ for preference.
[ame="http://clbgamesvn.com/forums/showthread.php?t=45799"]Khắc phục lỗi font chữ trong các file cấu hình trên server[/ame]
Thanks for the complement Naughty_boy9x.
![Wink :wink: :wink:](/data/assets/smilies/wink.gif)
Introduction
The configuration files for the PT game client are written in Korean... they use the ANSI codepage which is default on a Korean Windows 9X PC, since international formats where not widely available when the game was developed, and markets outside Korea where not considered.
This presents problems when reading, and more importantly copying and pasting config files to, and from web pages... the reason for this is that the ANSI character set is localised to each installation of Windows... so unless you are on a Korean Windows PC, the characters will not display properly in most plain text editors... and when you copy them, and paste them on the web, unless the recipient is using the same locale Windows installation, the characters will become corrupted.
There are a number of text editors which can read the files and either recognise, or with some little coaxing represent them in their native Korean language. This document is going to describe some methods I have found to work.
MadEdit
I usually use
You must be registered to see links
. It acts as a plain text editor, and as a Hex Editor, and supports many lexers for syntax highlighting. It also has a plain text columnur mode, which allows you to cut, copy, paste columns in plain text tabular information formatted with spaces or tabs for a fixed width display such as a terminal console, command line or DOS box. It automagically detects that there are Korean, or Japanese characters in PT config files and uses the ANSI codepage which fits the largest number of characters in the file... which is a great no-nonsense method of working.![bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums](http://i.imagehost.org/0746/MadEdit.png)
Notepad2
In
You must be registered to see links
it is actually possible to set the default font to GulimChe (Or Gulim for proportional spaced text) and the language "Hangul" without doing anything else. Notepad2 cannot make any sense of the files with it's lexers, though it does really well with C / C++, PHP, Python, Perl, bash, Batch files, Windows ini files and inf files among others.![bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums](http://i.imagehost.org/0695/Notepad2.png)
You must be registered to see links
in conjunction with
You must be registered to see links
setting it's default language to /L0412 or "한국어" from the GUI.Syntax highlighting is possible on all but the Korean commands and parameters.
![bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums](http://i.imagehost.org/0868/Notepad.png)
Code:
<NotepadPlus>
<UserLang name="Priston" ext=".txt|.ini|.npc">
<Settings>
<Global caseIgnored="yes" />
<TreatAsSymbol comment="no" commentLine="yes" />
<Prefix words1="no" words2="no" words3="no" words4="no" />
</Settings>
<KeywordLists>
<Keywords name="Delimiters">"00"00</Keywords>
<Keywords name="Folder+"></Keywords>
<Keywords name="Folder-"></Keywords>
<Keywords name="Operators"></Keywords>
<Keywords name="Comment">1 2 0/ 0#</Keywords>
<Keywords name="Words1">* *NAME *A_NAME *J_NAME *P_NAME *MONSTER_KEY *PLAYERSKIN *COLORMODE *SCREENSIZE *MODE *TT_DATA_SERVER *AREA_SERVER *SERVER_LINK_IP *REC_ADMIN_CMD *NOTICE_URL *CRAZY_PACKET *DISABLE_THROWITEM *START_FIELD *DISABLE_QUEST *DISABLE_DEC_SKILLPOINT *BACKUP_PATH *SERVER_INVENTORY *LOGIN_SERVER_IP *SYSTEM_IP *ADMINISTRATOR_IP *ENABLE_IP *DISABLE_IP *CHECK_PLAYFIELD *ENABLE_PARTYITEM *PRESENT_LEVEL *FREE_LEVEL *DISABLE_CHECK_LOGOUT *DISABLE_LOGQUE *DISABLE_LOGIN *DISP_BILLING_TIME *BLOCK_USER_PATH *ENABLE_SERVER_EXP *CHECK_POTION_COUNT *CLIENT_PROCESS_TIME_OUT *CLIENT_CHECK_PROCESS_TIME *PERMIT_MONEY *PERMIT_EXP *ENABLE_BLOCK_FOREVER *RECORD_JOBCHANGER *DEFAULT_ITEM_USER *EVENT_BITMASK *EVENT_SIEGE_TIME *EVENT_BLESSCASTLE *EVENT_EXPUP *EVENT_SUMMER_CHICKEN *EVENT_SANTAGOBLIN *EVENT_GHOST *EVENT_MOLLYWOLF *EVENT_MORIFSHELTOM *EVENT_WHITEDAY *EVENT_VALENTINEDAY *EVENT_NINEFOX *EVENT_BABELHORN *EVENT_PUZZLE *EVENT_BIRTHDAY *EVENT_STARPOINT *EVENT_POTION *EVENT_CRISTAL *EVENT_CHILD *EVENT_DAMAGEOFF *EVENT_HARDCORE *EVENT_MANDOO *CLIENT_CHECK_FUNC *DISCONNECT_ITEM_ERROR *BLOCK_LOGOUT *BLOCK_LEVEL *DEBUG_ID *DEBUG_IP *REMOVE_PROTECT_TIME *GAME_GUARD *CL_PROTECT *POTION_MONITOR *PK_FIELD *ENABLE_PK *SERVER_NAME *ADMIN_LOGIN *ADMIN_IP *ADMIN_NAME *ADMIN_COMMAND *VERSION *DISCONNECT_CLSAFE_CODE *CLSAFE_CODE *DISCONNECT_CLIENT_BADCODE *CONNECT_CLIENT_CODE *TEST_SERVER *MAX_USERS *SERVER_RECORD_MEM *SERVER_AUTOPLAY *SERVER_CODE *LOGIN_TESTER *ODBC_TABLE_PLAY *ODBC_TABLE_PASSWORD *ODBC_TABLE_IDNAME *ODBC_TABLE *ODBC_PASSWORD *ODBC_ACCOUNT *ODBC_NAME CLAN_SERVER *GAME_SERVER Server3 Server2 Server1 Sound ScreenSize CameraSight MotionBlur CameraInvert Network ColorBPP Graphic *MAX_ACTOR *DELAY *MAX_ACTOR_POS *BOSS_ACTOR *ACTOR *BELATRA_MONSTER *BELATRA_DIVSCORE *BELATRA_TEXT *BELATRA_TAX *CRACK *BACKUP_FOLDER_NAME *SERVER_AUTOSTART</Keywords>
<Keywords name="Words2">SERVER WINDOW FULLSCREEN PureBody Priest Magician Knight Atalanta Pikeman Archer Mechanician Fighter off evil good neutral</Keywords>
<Keywords name="Words3"></Keywords>
<Keywords name="Words4"></Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="GulimChe" fontStyle="0" fontSize="10" />
<WordsStyle name="FOLDEROPEN" styleID="12" fgColor="8080C0" bgColor="FFFFFF" fontName="GulimChe" fontStyle="0" fontSize="10" />
<WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="8080C0" bgColor="FFFFFF" fontName="GungsuhChe" fontStyle="1" fontSize="10" />
<WordsStyle name="KEYWORD1" styleID="5" fgColor="0000A0" bgColor="FFFFFF" fontName="GulimChe" fontStyle="1" />
<WordsStyle name="KEYWORD2" styleID="6" fgColor="0000FF" bgColor="FFFFFF" fontName="GulimChe" fontStyle="1" />
<WordsStyle name="KEYWORD3" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD4" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="COMMENT" styleID="1" fgColor="008000" bgColor="FFFFFF" fontName="GulimChe" fontStyle="2" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="008000" bgColor="FFFFFF" fontName="GulimChe" fontStyle="2" />
<WordsStyle name="NUMBER" styleID="4" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER1" styleID="14" fgColor="000080" bgColor="FFFFFF" fontName="GulimChe" fontStyle="0" />
<WordsStyle name="DELIMINER2" styleID="15" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
</Styles>
</UserLang>
</NotepadPlus>
[highlight]Recent versions seem to fail without AppLocale... which kinda makes the options pointless.
You must be registered to see links
will display correctly in Hangul by selecting Tools -> Options from the menu, and then from the Tree View General -> Default and setting Codepage = Korean Unified Hangul, and Character Set = Hangul.![bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums](http://i.imagehost.org/0487/PNP.png)
Code:
<?xml version="1.0" encoding="UTF-8"?>
<Scheme>
<keyword-classes><keyword-class name="priston">
NAME A_NAME J_NAME P_NAME MONSTER_KEY PLAYERSKIN COLORMODE SCREENSIZE
MODE TT_DATA_SERVER AREA_SERVER SERVER_LINK_IP REC_ADMIN_CMD NOTICE_URL
CRAZY_PACKET DISABLE_THROWITEM START_FIELD DISABLE_QUEST
DISABLE_DEC_SKILLPOINT BACKUP_PATH SERVER_INVENTORY LOGIN_SERVER_IP
SYSTEM_IP ADMINISTRATOR_IP ENABLE_IP DISABLE_IP CHECK_PLAYFIELD
ENABLE_PARTYITEM PRESENT_LEVEL FREE_LEVEL DISABLE_CHECK_LOGOUT
DISABLE_LOGQUE DISABLE_LOGIN DISP_BILLING_TIME BLOCK_USER_PATH
ENABLE_SERVER_EXP CHECK_POTION_COUNT CLIENT_PROCESS_TIME_OUT
CLIENT_CHECK_PROCESS_TIME PERMIT_MONEY PERMIT_EXP ENABLE_BLOCK_FOREVER
RECORD_JOBCHANGER DEFAULT_ITEM_USER EVENT_BITMASK EVENT_SIEGE_TIME
EVENT_BLESSCASTLE EVENT_EXPUP EVENT_SUMMER_CHICKEN EVENT_SANTAGOBLIN
EVENT_GHOST EVENT_MOLLYWOLF EVENT_MORIFSHELTOM EVENT_WHITEDAY
EVENT_VALENTINEDAY EVENT_NINEFOX EVENT_BABELHORN EVENT_PUZZLE EVENT_BIRTHDAY
EVENT_STARPOINT EVENT_POTION EVENT_CRISTAL EVENT_CHILD EVENT_DAMAGEOFF
EVENT_HARDCORE EVENT_MANDOO CLIENT_CHECK_FUNC DISCONNECT_ITEM_ERROR
BLOCK_LOGOUT BLOCK_LEVEL DEBUG_ID DEBUG_IP REMOVE_PROTECT_TIME GAME_GUARD
CL_PROTECT POTION_MONITOR PK_FIELD ENABLE_PK SERVER_NAME ADMIN_LOGIN
ADMIN_IP ADMIN_NAME ADMIN_COMMAND VERSION DISCONNECT_CLSAFE_CODE
CLSAFE_CODE DISCONNECT_CLIENT_BADCODE CONNECT_CLIENT_CODE TEST_SERVER
MAX_USERS SERVER_RECORD_MEM SERVER_AUTOPLAY SERVER_CODE LOGIN_TESTER
ODBC_TABLE_PLAY ODBC_TABLE_PASSWORD ODBC_TABLE_IDNAME ODBC_TABLE
ODBC_PASSWORD ODBC_ACCOUNT ODBC_NAME CLAN_SERVER GAME_SERVER Server3 Server2
Server1 Sound ScreenSize CameraSight MotionBlur CameraInvert Network ColorBPP
Graphic MAX_ACTOR DELAY MAX_ACTOR_POS BOSS_ACTOR ACTOR BELATRA_MONSTER
BELATRA_DIVSCORE BELATRA_TEXT BELATRA_TAX CRACK BACKUP_FOLDER_NAME
SERVER_AUTOSTART *</keyword-class>
<keyword-class name="priston-args">
SERVER WINDOW FULLSCREEN PureBody Priest Magician Knight Atalanta Pikeman Archer
Mechanician Fighter off evil good neutral
</keyword-class></keyword-classes>
<language name="Priston Tale" title="Priston">
<lexer name="verilog" />
<comments line="//" />
<comments line="#" />
<use-keywords>
<keyword key="0" name="Keywords" class="priston" />
<keyword key="2" name="Keywords 2" class="priston-args" />
</use-keywords>
<use-styles>
<style name="Default" key="32" />
<style name="Whitespace" key="0" />
<style name="Comment" key="1" class="commentbox"/>
<style name="Comment Line" key="2" class="commentline"/>
<style name="Bang Comment" key="3" class="comment" fore="3F7F3F" back="E0F0FF" eolfilled="true"/>
<style name="Number" key="4" class="number"/>
<style name="Keyword" key="5" class="keyword"/>
<style name="String" key="6" class="string"/>
<style name="Keyword 2" key="7" class="string"/>
<style name="System Tasks" key="8" fore="804020"/>
<style name="Preprocessor" key="9" class="preprocessor"/>
<style name="Operator" key="10" class="operator"/>
<style name="Identifier" key="11" />
<style name="End of line string" key="12" class="unclosedstring" eolfilled="true"/>
<style name="User defined identifiers and tasks" key="19" fore="804020" />
</use-styles>
</language>
</Scheme>
Others?
If you have a text editor you really like that doesn't support Unicode at-all, then use in conjunction with
You must be registered to see links
may well work for that as well... unfortunately, Notepad DOES support Unicode, but not Korean ANSI, so it doesn't work for standard Notepad.Maybe it would if you found an old Win 98 version it might, as they will still run, even on Vista x64, and the Windows 3.0 Notepad still works on XP x86. Aside from a change in icon file, and the addition of Save as UTF-16 not much has changed with that, or many other Windows "Utilities" of such an age.
The AppLocale method may well work with many non-unicode plain text editors, and I'm sure there are other text editors which work, and which don't. Some have said they use Microsoft Word... I wouldn't recommend this, as Word likes to save files in Word format, regardless of how it read them, and only plain ANSI files will be read by the client or the server. PT won't read the text if EUC-KR ANSI code-page is translated to Unicode, and you can't see that in a Word processor. In fact, it's a Word document, not ANSI or Unicode while you edit, and the text encoding is only set when you save.
But they are correct, you can "save as" MS-DOS text file from Word, or from Wordpad... which can also set Hangul script while you edit.
--- EDIT ---
GetDiz
Just recently, and by pure chance I opened a Hotuk.ini with
You must be registered to see links
, (miss-click from "Open With") a tool I often install for reading FileID.diz or BBSHost.nfo files which are usually in OEM/DOS code-page, and expect that font, (not Windows Western European) mono-spaced, and in a light colour on dark background. (like a text mode console, which is where they where originally read) It's a perfectly capable text editor, as well as viewer though, and very lightweight.With the following settings it displayed Hotuk.ini quite readably.
Special case - OllyDebug
I've also just realised another one, which is outside "configuration files" but often crops up when people are trying to translate PT or work out what configuration does what.
People frequently complain they can't read the Korean in Olly... It's never really bothered me, because I just read it as Hex. But actually, Olly is quite capable of displaying Korean in it's dump, it just doesn't recognise non-Western text strings in it's disassembler. (so it doesn't see pointers to Korean strings and such)
![bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums bobsobol - [Guide] Reading and editing Korean config files in their native language. - RaGEZONE Forums](https://forum.ragezone.com/images/404_image.png)
![Wink :wink: :wink:](/data/assets/smilies/wink.gif)
Oh yes... remember ANSI Hangul is a MBCS script (multi-byte character set) so the text corrupts when Olly forces a line break at 16 byte intervals... you can see more in ASCII mode, and you can use Ctrl + Up or Ctrl + Down to shift the dump display one byte forward or backward.
---/EDIT ---
I'd love to hear your recommendations and experiences.
Attachments
You must be registered for see attachments list
Last edited: