본문 바로가기

쓰기

유니코드 사용 게임에서


번역시 (대사)(문장부호 , . ? !)(공백문자)(대사)로 번역될 때


대사 번역의 공백문자를 제외한 문장부호 다음의 공백문자만 제거하는 방법을 알고 싶습니다.



보통 포인터 바꿔치기나 스마트 방식의 AT코드를 쓰는 게임에서는 공백문자가 반각으로 출력되므로 문제가 없습니다만


메모리 덮어쓰기를 써야할 경우에는 텍스트 출력 과정에서 공백문자가 전각으로 출력되어서 조금 문제가 있습니다.


특히 문장부호 다음에 공백이 오는 것은 상당히 간격이 커져서 어색합니다.



이미 시도해 본 방법은


1) 코필터로 문장부호+공백문자+{T} : 안 됨

2) 커스텀딕으로 문장부호+공백문자 ->문장부호 : 안 됨



최선으로는 포인터 바꿔치기나 스마트 문자열이 먹히는 위치를 찾는 것이지만


(줄단위로 분리된 스크립트 대사) -> (줄단위의 대사가 모인 고정된 스텍) -> (제어문자를 붙여 줄단위로 분리된 스텍)


이런 방식의 경우 제대로 된 번역을 위해서는 가운데의 고정 스텍을 메모리 덮어쓰기로 하는 방법 말고는 딱히 좋은 방법이 없네요.


공백문자 제거방법이 있다면 알려주셨으면 합니다.

조회 수 :
1712
등록일 :
2012.08.15
00:00:21
엮인글 :
https://arallab.hided.net/64927/de0/trackback
게시글 주소 :
https://arallab.hided.net/board_qna/64927

EroGame

2012.08.15
08:13:47


요는 아스키가 아닌 유니코드에서
반각특수 문자가 아닌 전각 특수 문자 사용시
번역 후의 상태에서 그 뒤에 붙은 공백문자 제거 말씀이시군요?

메모리 덮어쓰기 일때만 그렇게 동작한다는 소리는 처음 듣습니다만...
(아마 스마트나 포인터도 그리 동작하지 않을 까 싶기도 합니다)

일단 위에 제가 말한 것이 맞다면

필터하나 만들면 해결됩니다.
제가 만들면 되긴하므로

우선 위에 제가 말한바가 맞는지 확인 부탁드립니다

cos

2012.08.15
17:14:20

유니코드 공백문자는 0020 3000을 쓰는데 한국어에서는 보통 0020 반각을 쓰는데 일본어에서는 3000의 전각을 쓰죠.


게임에 따라 텍스트 처리 과정에서 이미 메모리 덮어쓰기로 번역된 0020의 공백문자라도 강제로 3000으로 복사하기도 하는 것 같습니다.


요약하자면 제가 있었으면 하는 공백문자 처리기능은


유니코드 사용시 '문장부호 뒤의 공백문자 제거'입니다.


코필터로는 유니코드 특수문자 처리가 조금 어려운 것 같네요.

EroGame

2012.08.15
18:22:58


....요약말고 예문을 들어 자세한 설명 부탁드립니다.

토끼도 이해할 수 있도록 정중히 부탁드립니다.
그냥 그 기능이 필요한 자세한 예제를 들어주시면
다른처리에서 가능할지도 모르고
다른 원인이 있어서 그렇게 되는지 제가 모르니까요..

유니코드 선처리는 코필터 선에서 거의 불가능이기에

어떤 형태인지에 따라
코필터에서도 가능한건지 아닌지의 판단할 것이 필요합니다
좀더 범용성으로 생각할수 있을수도 있으니까 말이지요

cos

2012.08.15
20:03:39

-_- 제가 제 정신이 아닌지 위에 코필터라고 썼군요. 위에 코필터라고 쓴 것들은 다 fixline입니다;


예문을 들자면


원문 : そこは、魔物が徘徊する危険地帯。

원문 HEX : 305D 3053 306F 3001 9B54 7269 304C 5F98 5F8A 3059 308B 5371 967A 5730 5E2F 3002

번역문 : 거기는, 마물이 배회하는 위험지대.

번역문 HEX : AC70 AE30 B294 002C 0020 B9C8 BB3C C774 0020 BC30 D68C D558 B294 0020 C704 D5D8 C9C0 B300 002E

여기서 번역문의 002C(,) 다음에 나타나는 0020의 제거입니다.

cos

2012.08.15
20:53:16

그리고 제가 위에 쓴 후킹방식에 대해서는 제가 봐도 헷갈리기만 하는 내용이네요-_-;



참고로 해당 게임에 대해 조금 더 설명하자면


진행 순서대로


줄 단위로 스크립트를 읽어서 A지점의 고정 스텍에 복사

(A지점) : 화면 단위의 대사가 모이는 지점. 메모리 덮어쓰기로 후킹가능. 공백문자의 hex값은 0020이지만 번역 결과는 전각 공백문자.

(B지점) : A지점의 대사를 줄 단위로 읽어 제어문자를 붙여 다른 스텍에 복사. 포인터 바꿔치기로 후킹가능. 공백문자의 hex값은 0020이지만 번역 결과는 전각 공백문자.

(C지점) : 한 글자 단위로 읽어와서 다른 스텍에 복사. 아랄로는 후킹이 안 되고 AGTH나 ITH 등에서 후킹가능. A지점이나 B지점의 번역 과정에서 0020으로 번역된 코드도 3000으로 읽어옴.


B->C 과정에서 0020->3000으로 바뀌기 때문에 반각 공백문자로 번역하는 건 어려울 것 같아서 생각한 차선책이 문장부호 다음의 공백문자만 제거하는 거였습니다;


B와 C 사이에서 반각 공백문자로 번역되는 위치를 찾더라도 줄 단위로 잘린 문장이기 때문에 제대로 된 번역이 어렵기 때문입니다. 

EroGame

2012.08.16
17:31:00


정리하면
게임내에 강제2바이트 변환출력탓에 띄어쓰기를 포함하면 문장부호랑 겹칠때는 2번의 공백과 같으니 글이잘리거나 보기 안좋다.
그러므로 번역후 문장부호 뒤에 붙은 공백문자에 한해서 제거하는 옵션이나 필터의 추가기능으로써 필요하다
가 결론이군요?

물론 픽스로 해결되진 않지요.
픽스는 번역전에 특화된 기능이니까요.

wales

2012.08.16
20:06:31

현재로선 번역된 글이나 문자 수정할수 있는게 커스텀딕v4밖에 없으니 따로 필터가 안나오면 힘들듯 합니다.

공백문자라 커스텀딕v4로 번역문->번역문 처리 해도 안될듯...

EroGame

2012.08.16
20:15:49

픽스라인을 좀 기능개선해서
번역후 처리 픽스를 추가하면 되려나요?

cos

2012.08.16
22:00:03

픽스라인에서 후처리가 가능하다면 커스텀딕과 같은 방식으로 동작하되 문장부호를 대상으로 뒤에 오는 공백문자를 처리할 수 있다면 될 것 같습니다.

어지간한 후처리는 커스텀딕으로 처리 가능한데 wales님 말씀대로 커스텀딕은 공백문자를 처리할 수 없는 것 같아서요.

List of Articles
주제 최종 글 댓글sort 조회 수
공지 아랄트랜스가 정상 동작하지 않는다면 꼭 읽어주세요. by Hide_D file 2020-05-14 14:28 ppqq 177 291544
첫글자만 해석이안돼요;;; by Erien file 2013-12-20 20:35 Erien 9 197
대마인 유키카제 AT관련으로 질문드립니다 by 스이 file 2013-10-25 11:17 비밀을준수하는자 9 1128
휘광익전기 은각의 코로나 1.0.1.0버전 한윈구동패치 다시 올려주실분 안계신가요? by 하늘의거점 2013-08-30 06:55 Admin 9 754
스크립트 오류나네요. ㅠㅠ by 라이하인 file 2013-08-08 15:20 비밀을준수하는자 9 539
파스챠 3 에러가 뜨면서 설치가 안 됩니다. by st_bulgujah file 2013-04-29 10:57 굴러가는시간 9 370
마도교각이 하고 싶어요.. by sya01 file 2013-04-30 20:42 비밀을준수하는자 9 1649
모험가의 마을을 만들자 at코드점 알려주세요~ by 쿠오옹 2013-04-17 21:48 쿠오옹 9 1196
코드찾는다고 찾아봤는데 한글자씩 출력되면 어떻게 해야하나요? by Drear file 2013-07-05 22:29 Drear 9 532
신영웅전설4 AT코드는 알수없나요? by 미첼드라프 2013-04-19 17:59 미첼드라프 9 1306
도와주세요 ㅠㅠㅠ리라이트아랄 by martospark 2019-11-25 11:12 martospark 9 1570
문장부호 뒤의 공백문자 제거방법 by cos 2012-08-16 22:00 cos 9 1712
아랄트랜스 관련 이외의 개발 질문도 괜찮을런지요? by 프시쵸 2011-01-08 01:24 프시쵸 9 5573
식상한 질문이지만 전 미치겠습니다 by 하리냥 file 2010-08-15 04:46 Hide_D 9 11750
검색엔진이 또 이상해졌네요... by erect85 2017-03-19 23:20 erect85 8 1792
Rewrite at코드 질문해봅니다 by narae 2016-10-03 15:13 두조각 8 431
플러그인 카테고리에서 ATcode를 클릭해서 AT코드 입력하려고 하는데.... by Seinbach 2016-06-10 13:47 4283901 8 204
카미도리 오프닝 스킵 오류 by drroo 2016-05-21 16:12 미래도 8 265
야매코드 파인딩 무슨엔진 무슨엔진 먹히나요? by 미래도 2016-06-04 23:34 미래도 8 198
시글러스 엔진 관련 질문드립니다.(루비문자관련) by 크로키북 file 2014-03-14 15:53 두통 8 612
유메미라이는 by kina1 2014-08-03 09:04 rtwc 8 2858