링보(Lingvo) 라는 사전 프로그램의 사전 데이터 파일인 DSL 파일을 스타딕 파일 형식, 더 엄밀히 말하면 BGL(바빌론) 파일 형식으로 변환해 주는 툴을 제작해 봤습니다. (DSL 파일도 더 정확히는 링보 사전 파일인 LSD 파일을 제작하기 위한 소스 데이터입니다.)
원본은 DSL2XDXF.PY 라는 툴인데, DSL 파일을 XML 형식의 XDXF 포맷으로 변환해주는 파이썬 소스입니다.
위의 사이트에서 받은 툴인데, 해당 소스를 바탕으로 몇가지를 수정/추가/삭제했습니다.
불필요한 인수들을 입력할 필요없이 DSL 파일명만 입력하면 바로 변환되게 수정했습니다.
XDXF 포맷이 아닌 BGL 포맷으로 변환되도록 수정했습니다.
XML 태그를 HTML 태그로 수정했습니다.
이미지 리소스에 대한 처리 루틴을 추가했습니다.
사운드 리소스에 대한 처리 루틴을 삭제했습니다.
그 외에 불필요한 모든 요소를 삭제하고 BGL 포맷으로 변환하는데 최적화 시켰습니다.
충분한 테스트를 거쳤기 때문에 거의 왠만한 DSL 파일은 완전히 변환된다고 자부할 수 있습니다.
단, 이미지 리소스(jpg 파일 등)는 DSL 파일과 같은 폴더에 넣은 후 변환을 실행하면, res 폴더로 이미지 리소스가 옮겨지는데, 일부 이미지 리소스의 경우 알파벳이 아닌 문자, 예를 들면, é 와 같은 글자가 파일명에 포함되면 에러가 나는 것을 확인했습니다. 이런 경우엔 파일명과 DSL 파일의 해당 부분을 e 등으로 수정해줄 필요가 있습니다.
최신 버전
bword 점프 기능 수정
사전
아이콘 관련 삭제
이전 버전
사용 방법은 간단합니다. ^^
1. 파이썬을 설치합니다.
2. 적절한 폴더에 위의 파이썬 스크립트의 압축을 풀면 dsl2bgl.py 파일이 나옵니다.
3. dsl2bgl.py 파일이 있는 폴더에 BGL 파일로 만들기 원하는 DSL 파일을 넣습니다.
4. DSL 파일을 끌어다가 dsl2bgl.py 파일 위에 포개어 놓으면 아래와 같은 화면이 나타나며 변환 작업이 이루어 집니다.
결과물로 생성된 텍스트 파일은 당연히 BGL 포맷이므로
스타딕 에디터를 이용해 아래와 같은 설정을 통해 스타딕 포맷으로 컴파일할 수 있습니다.
이 툴이 가진 강력함은 차차 소개해 드리도록 하겠습니다.
GPL이니 라이센스 규정에 맞게 사용하시고, 혹시 더 낫게 수정된다면 트랙백이나 코멘트 등을 사용해서 저에게도 알려 주신다면 감사하겠습니다. ^^
tags
BGL,
DSL,
DSL2BGL,
XDXF,
링보사전
posted at
2011/02/18 14:35