Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

WOWAddOn: Difference between revisions

From ZeroWiki
imported>zeldababo
No edit summary
imported>zeldababo
No edit summary
Line 1: Line 1:
__TOC__
__TOC__


== 목적 ==
== 진행 ==
# Lua 설치 및 셋팅
# Lua 설치 및 셋팅


Line 26: Line 29:


설치된경로를 따라 Eclipse의 Profiler말고 Interpreter로 lua.exe로 path를 설정해주면 Eclipse에서 Project를 만든뒤 출력되는 Lua파일을 볼수 있다.
설치된경로를 따라 Eclipse의 Profiler말고 Interpreter로 lua.exe로 path를 설정해주면 Eclipse에서 Project를 만든뒤 출력되는 Lua파일을 볼수 있다.
WOW애드온 초성퀴즈를 만들기위함이기 때문에.
당연히 한글의 초성을 빼올수 있어야한다.
그래서 찾아봤더니 UTF-8방식으로 빼올수 있다고 한다.
근데 이상한데 UNICODE에서 계산해서 빼오더구만.
추가 : 알고보니 UNICODE를 포함하는 방식중 하나라고한다. 근데 더 모르겠는데... U-00000800 - U-0000FFFF 범위에 들어간다고 하는데??
아악 모르겠어!! 그래서 추가로 링크를 걸어본다.
http://blog.naver.com/declspec?Redirect=Log&logNo=10092640244
http://divestudy.tistory.com/8
링크가 안없어지길.
우선 자바 코드는 다음과 같다.
~java
package utfencoding;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class UtfEncoding {
final static char[] first = {
'ㄱ','ㄲ','ㄴ','ㄷ','ㄸ','ㄹ','ㅁ','ㅂ','ㅃ','ㅅ','ㅆ','o','ㅈ','ㅉ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'
};
final static char[] middle = {
'ㅏ','ㅐ','ㅑ','ㅒ','ㅓ','ㅔ','ㅕ','ㅖ','ㅗ','ㅠ','ㅘ','ㅛ','ㅙ','ㅚ','ㅜ','ㅝ','ㅞ','ㅟ','ㅡ','ㅢ','ㅣ'
};
final static char[] last = {
'\0','ㄱ','ㄲ','ㄳ','ㄴ','ㄵ','ㄶ','ㄷ','ㄹ','ㄺ','ㄻ','ㄽ','ㄾ','ㄿ','ㅀ','ㅁ','ㅂ','ㅄ','ㅅ','ㅆ','o','ㅈ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'
};
/**
* @param args
*/
public static void main(String[] args) {
String temp = "바";
char a = temp.charAt(0);
a = (char) (a - 0xAC00);
int cho = a/21/28;
int joong = ( (a %(21*28))/28);
int jong = (a%28);
System.out.println(""+ (char)first[cho] + (char)middle[joong] + (char)last[jong]);
      }
}
보면 알겠지만 자바에서 작성되는건 UNICoDE이다(아마도?)
현재 Eclipse개발환경중 문자 Encoding은 UTF-8방식이다.
거기서 한글을 빼온후 UTF-8에 따라 0xACC00 (<- UTF-8시작) 을 빼고 초성 중성 종성을 다음으로 빼온다
초성 = (원문자 /21 /28)
중성 = ( (원문자%(21*28))/28)
종성 = ( a%28)
이렇게 하고 문자 규칙에 따라 빼온다.
규칙은 위의 코드를 보면 알수 있다.



Revision as of 12:22, 6 July 2011

목적

진행

  1. Lua 설치 및 셋팅

WOW의 애드온은 Lua나 Ruby와 같은 스크립트 언어를 사용하는것으로 알고있다.

그래서 Programming in Lua라는 책을 도서관에서 빌려왔다. 아마 빌려온지 1주일은 됬겠지.

Lua 개발환경을 셋팅하는데 좀 걸렸다.

Lua-Eclipse를 받아서 깔고. (LunarEclipse라는 것도 있단다)

http://luaeclipse.luaforge.net/

Eclipse에서 Java외의 다른것을 돌리려면 당연 인터프리터나 컴파일러를 설치해주어야 한다. 그래서 Lua를 설치하려했다. LuaProfiler나 LuaInterpreter를 설치해야한다는데 도통 영어를 못읽겠다 나의 무식함이 들어났다.

여튼 어찌어찌해서

http://luaforge.net 에서 루아 Windows 인스톨러를 받아서 설치하게됬다.

5.1.4-35 2010-04-07 13:09 LuaForWindows_v5.1.4-35.exe

얏호. 설치.

설치된경로를 따라 Eclipse의 Profiler말고 Interpreter로 lua.exe로 path를 설정해주면 Eclipse에서 Project를 만든뒤 출력되는 Lua파일을 볼수 있다.

WOW애드온 초성퀴즈를 만들기위함이기 때문에.

당연히 한글의 초성을 빼올수 있어야한다.

그래서 찾아봤더니 UTF-8방식으로 빼올수 있다고 한다.

근데 이상한데 UNICODE에서 계산해서 빼오더구만. 추가 : 알고보니 UNICODE를 포함하는 방식중 하나라고한다. 근데 더 모르겠는데... U-00000800 - U-0000FFFF 범위에 들어간다고 하는데?? 아악 모르겠어!! 그래서 추가로 링크를 걸어본다.

http://blog.naver.com/declspec?Redirect=Log&logNo=10092640244 http://divestudy.tistory.com/8 링크가 안없어지길.

우선 자바 코드는 다음과 같다.

~java
package utfencoding;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class UtfEncoding {

	final static char[] first = {
			'ㄱ','ㄲ','ㄴ','ㄷ','ㄸ','ㄹ','ㅁ','ㅂ','ㅃ','ㅅ','ㅆ','o','ㅈ','ㅉ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'
	};
	final static char[] middle = {
		'ㅏ','ㅐ','ㅑ','ㅒ','ㅓ','ㅔ','ㅕ','ㅖ','ㅗ','ㅠ','ㅘ','ㅛ','ㅙ','ㅚ','ㅜ','ㅝ','ㅞ','ㅟ','ㅡ','ㅢ','ㅣ'
	};
	final static char[] last = {
		'\0','ㄱ','ㄲ','ㄳ','ㄴ','ㄵ','ㄶ','ㄷ','ㄹ','ㄺ','ㄻ','ㄽ','ㄾ','ㄿ','ㅀ','ㅁ','ㅂ','ㅄ','ㅅ','ㅆ','o','ㅈ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'
	};	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String temp = "바";

			char a = temp.charAt(0);
			a = (char) (a - 0xAC00);
			int cho = a/21/28;
			int joong = ( (a %(21*28))/28);
			int jong = (a%28);
			
			System.out.println(""+ (char)first[cho] + (char)middle[joong] + (char)last[jong]);
      }

}

보면 알겠지만 자바에서 작성되는건 UNICoDE이다(아마도?)

현재 Eclipse개발환경중 문자 Encoding은 UTF-8방식이다. 거기서 한글을 빼온후 UTF-8에 따라 0xACC00 (<- UTF-8시작) 을 빼고 초성 중성 종성을 다음으로 빼온다

초성 = (원문자 /21 /28) 중성 = ( (원문자%(21*28))/28) 종성 = ( a%28)

이렇게 하고 문자 규칙에 따라 빼온다. 규칙은 위의 코드를 보면 알수 있다.