본문 바로가기

쓰기

유니코드 사용 게임에서


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


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



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


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


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



이미 시도해 본 방법은


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

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



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


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


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


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

조회 수 :
1719
등록일 :
2012.08.15
00:00:21
엮인글 :
https://arallab.hided.net/64927/fa8/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 291654
아랄트랜스 3 버전 스크립트 에러 해결 좀요..ㅠㅠ by 시작하는 file 0 545
란스6 system40plugin 누르면 튕기는데요 by 노가리 0 129
봉함의 그라세스타 오류문제요. by 시작하는 0 545
[190531][ユメミル] ガールズ・ブック・メイカー -幸せのリブレット- 아랄 적용시 2번째 대사에서 튕기네요 by 이별 file 0 119
최면유희 캐릭터 일러스트가 겹칩니다 by 오렌지 0 213
전국란스 번역문제 by 전체볶끼 file 0 474
프라이멀 하츠2를 아랄트랜스를 사용하여 번역했는데 글자가 깨져 나옵니다. by 목주동 file 0 218
자문 구합니다~ by 닉네임? 0 64
아랄트랜스 예전 버전 가지고 계신 분이나 다운가능한 곳 아시는분 계실까요? by 아로애료 0 254
윈10 언제부터 번역 중국어로 됬죠? by hanwall 0 210
런타임 오류 r6025  by oprose 0 117
元ヤン奥さんとギャル娘ちゃん~菜緒さんは硬派な元ヤン妻 투트랜스 by oprose 0 151
윈10이고 오랜만에 에우슈리 고전겜들 하려고 설치해봤는데.. by 팜핌 0 320
소레요리노 전주시 윈10 지원안되나요 by bizet 0 538
폴라리스 회원가입이 안되네요. by asddasdas 0 98
영어알만툴은 vnr 번역이 안되나요? 영어알만툴 번역기잇나요? by 연화히메 file 0 992
사랑의 캔버스 설치, 실행 오류 by dareae 0 59
앙상블 게임들 by 이웃집톳오로 file 0 65
기리기리 언팩된서 리팩하는법 알려주세요 by asdf3343 0 115
물음표랑 함수가 섞여 나옵니다. 제발 도와주세요. by gksdjfkd 0 75