한글입력 지원 관련입니다.

queenmedley의 이미지

아치리눅스에서 ibus나 나비를 설치해서 한글입력이 잘되는 상황입니다.

제가 Heroes of Newerth 라는 게임을 하는데 게임내 콘솔창에서 한글설정을 하면
메뉴가 한글로 전환되고 챗팅창에서 한글이 잘 보이는데
문제는 한글입력이 안되는거에요.

답답한 마음에 s2games 라는 회사에 질의메일을 보냈습니다.
리눅스에서는 scim 이나 ibus라는 툴을 이용해 한국이나 일본 문자입력을 하고 있는데
이 게임은 한글입력이 안되냐고 물었어요. (참고로 이 게임은 유니코드를 지원하는 게임이에요.)
답변이 왔는데 로케일설정을 해서 시도를 해보라고 하는데 당연이 그렇게해도 안되요..

게임설치는 컴파일이 다되어 있는 바이너리파일을 그대로 받아서 설치를 하는 방식이구요..
제작사가 코딩을 할때 한글입력을 위해서 주의해야될 게 있나요?
제작사에게 뭔가 정보를 주고 싶은데 한글입출력원리를 잘몰라서 ........

일반적으로 운영체제 내애서 한글입력이 되는 환경이면 다른 프로그램도 한글입력이 되잖아요?
유니코드지원이 안되서 한글입력시 글자가 깨지는 경우는 있는거같은데
이 게임은 한글은 잘 보이거덩요..그래서 입력도 잘만하면 되지 않을까하는 기대감이 있네요.

참고로 답변내용은 아래처럼왔는데 로케일설정을 바꺼서 해보라는 말 같애요..

====== Please reply above this line ======

Hello Kim,

Heroes of Newerth uses heavily modified K2 scripting engine, which at the time of creation was based on ASCII character encoding only, but then upgraded to UTF-8. UTF-8 is a variable-length character encoding, which in this instance means that it uses 1 to 4 bytes per symbol. So, the first UTF-8 byte is used for encoding ASCII, giving the character set full backwards compatibility with ASCII. UTF-8 means that ASCII and Latin characters are interchangeable with little increase in the size of the data, because only the first byte is used. However, Eastern alphabets such as Korean uses higher byte range and are not supported by default as an input. Therefore, for some languages, parts (or even all characters) will not be recognized.
Unfortunately this is the limitation of the engine and would require rewriting the engine from scratch. It has been noted for the future iteration of the engine, however present versions do not support characters outside UTF-8.

You can try to force to run Heroes of Newerth in you locale, but I am afraid I do not know the specifics for Korean.
To start Heroes of Newerth with your locale, first check which locales are supported by typing in a terminal:
"locale" (without quotes) or
"locale -a" (without quotes)
You should see a list with a lots of en_GB and so on, the last (or first) should be your locale. It should look something like "ko_KO.UTF8" or "EUC".

Then navigate to your Heroes of Newerth directory (by default "cd ~/HoN/" ) and start Heroes of Newerth from terminal with "LANG=" flag in front:
"LANG=ko_KO.utf8 sh hon.sh" (without quotes).

You can also try with:
"LANG=C" or
"LC_ALL=ko_KO.utf8" infront of "sh hon.sh".

This may enable partial or full language support, however I am not familiar with Korean encoding. If that doesn't work, I am afraid Heroes of Newerth do not support your character encoding (which is outside of UTF8).

I apologize for inconvenience and thank you for understanding.

Please let me know how it goes.

Best regards,

Tin "PanzerFury" P.
S2Games Technical Representative
S2Games, LLC

queenmedley의 이미지

답변 해주신 분이 로케일을 혼동해서 잘못 기입을 했늗네
당연히 로케일은 ko_KR.UTF-8로 설정되어 있습니다.

마잇의 이미지

답장 주신 분이 입력기에 대해서 잘 모르시는 것 같네요.

xim 프로토콜을 통해 입력기(Input Method)를 통한 문자열 입력을 지원 하냐고 물어 보세요.

ibus, nabi 모두 xim 프로토콜을 사용해서 입력되는 것으로 알고 있습니다.

CLUTTER_IM_MODULE=xim
GTK_IM_MODULE=ibus
QT4_IM_MODULE=xim
XMODIFIERS=@im=ibus

입력기용 환경 변수 셋팅 보여 주시고 이런거 지원 하냐고 물어 봐야 할 것 같습니다.


--
마잇

queenmedley의 이미지

xim은 xserver와 연관이 되는거죠??
게임도 x 와 연관이 되는지 모르겠네요..
x서버와는 별도로 독립적인 모드로 게임이 실행될수있지도 않나요?

게임자체내에서 별도의 입력방법을 만들어 져야되는건지...
아님 xserver와 연계해서 입력을 해야하는건지..
이런 문제는 프로그램을 짜기 나름이겠죠?

예전에 리눅스에서 한글97인가 2008인가를 설치한적이 있는데
xorg 에서 한글환경을 설정하지 않앗는데
한글프로그램내에 자체 입력방법이 있어서 인지
프로그램내에서는 한글입력이 되더라구요.

마잇의 이미지

XIM은 X에서 동작하는 프로그램들이 공통적으로 입력기와 상호작용 할 수 있게 도와주는 표준 규약 입니다.

물론 프로그램 개별적으로도 입력기 구현이 가능 합니다. 제가 아는 프로그램 중에는 vim, emacs가 한글이나 일어를 위한 자체적인 입력기를 몇 가지 지원 합니다. 지금은 잘 안쓰일 겁니다. 예전에 입력기가 없던 시절 사용하던 것으로 알고 있습니다.

예전에 XIM이란 규약이 없었을 때는 한글 출력은 가능해도 입력은 못해서 xterm에 한글 입력기를 구현한 한텀이라는 터미널을 사용하기도 했습니다.

설치하셨던 한글의 경우도 마찬가지로 입력기를 별도로 구현 했을 겁니다. 지금도 그런지 모르겠는데 한글은 윈도우즈에서도 자체 입력 방식을 썼었 습니다. 한글 고어 입력같은 건 윈도우즈 입력기에서 지원을 안해 줘서 그랬을 겁니다.

게임도 X를 기반으로 동작 합니다. 입력 부분은 말씀하신대로 프로그램 짜기 나름일 겁니다. 그래서 일단 XIM을 이용한 입력을 지원하는지 물어봐야 합니다.

제 생각에는 ibus를 언급하며 질문 하셨는데 저런 답변이 돌아 왔다면 큰 희망은 없을 겁니다. 차라리 포럼 같은데 가서 질문을 해보시는게 어떨까 합니다.


--
마잇

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.