본문 바로가기

쓰기

유니코드 사용 게임에서


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


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



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


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


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



이미 시도해 본 방법은


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

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



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


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


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


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

조회 수 :
1719
등록일 :
2012.08.15
00:00:21
엮인글 :
https://arallab.hided.net/64927/e62/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 291638
아랄 at코드 붙이면 오류떠요 ㅜㅜㅜㅜ by 흐흐흐흑 file 2009-07-28 21:36 Hide_D 1 5018
매뉴얼을 보고 그대로 따라했습니다만 by 프리즘아크 2009-07-29 17:07 Hide_D 1 4343
아랄트랜스 적용 전에 목록에 게임 이름이 안떠요 ㅜ by potarian 2009-08-01 14:56 Hide_D 3 5863
커스텀 스크립 오류 질문 by 휴휴훗 2009-08-01 23:44 휴휴훗 4 5393
AT코드로 클라나드 풀보이스판을 하는데 by CHA 2009-08-02 16:03 whoami 3 5581
리틀버스터즈ex 한글변역이안됩니다. 급해요!! by 흐흐흐흑 file 2009-08-04 07:56 Hide_D 1 5281
물음표로 나와요 by Cross file 2009-08-04 07:57 Hide_D 1 4960
플러그인 none 으로 다시 바꿀때 종료되는 현상 by melo 2009-08-06 11:03 melo 2 3938
업데이트을해도 by 평산 2009-08-06 12:38 Hide_D 1 3985
멀티플러그인이 안보여요 by 으갹 2009-08-08 22:54 Hide_D 2 3820
브라반한글패치 by 흐흐흐흑 file 2009-08-09 01:59 Hide_D 1 4732
kirikiri 를 쓰면 이상해져요 ㅠㅠ by HJ'st 2009-08-09 10:12 Hide_D 1 4595
번역플러그인에 MultiPlugin이 없어요 by 소월 2009-08-09 17:45 Hide_D 1 3981
필터 질문좀 드려요 by 흑의계약자 2009-08-11 02:19 Hide_D 1 4430
오류 뜨는데 어떻게 해야 되나요 by 래트렛 file 2009-08-11 02:52 Hide_D 1 4086
커스텀스크립트 질문입니다. by Ruka 2009-08-11 20:18 Ruka 2 3937
아랄 처음 쓰는데 번역이 안 되네요. by 티티카카 file 2009-08-12 13:52 티티카카 2 5214
한글을 덮어씌우는 방식인가요? by 궁궁궁 2009-08-13 17:40 Hide_D 1 3561
클립보드 후커 화면인데요. by 궁궁궁 file 2009-08-14 02:19 류제로 2 6200
컴퓨터만 재부팅만하면 변경되는 함수주소 by 세이린 file 2009-09-21 01:23 세이린 1 4342