Windows mobile 5.0 (혹은 그 이상) 용의 text viewer 입니다. 이 프로그램은 사용하는데 비용이 들지 않는 무료 프로그램입니다.
최신 버전은 http://blog.michgan.net/tag/bookworm 을 클릭하면 다운 받을 수 있습니다. 설치 방법은 간단합니다. 압축을 풀어서 PDA로 옮긴 후에 실행하면 됩니다.
실행시키면 아래의 왼쪽과 같은 초기화면이 뜹니다. 이 리스트는 ipod touch 스타일로, 스크롤을 하고 싶다면 화면을 터치하고 손가락을 위 아래로 움직이면 됩니다.
 초기 화면 |  파일 탐색 화면 |
초기화면은 왼쪽 화면과 같습니다. 주요 디렉토리와 최근에 방문한 디렉토리 1개, 최근에 본 파일 5개를 나열합니다. 어디까지 읽었는지 한 문장 정도 보여줍니다. 여기서 디렉토리를 클릭하면 오른쪽과 같은 파일 리스트가 나타납니다. 적절한 디렉토리로 이동해서 원하는 텍스트 파일을 클릭하면 읽을 수 있겠죠. "*.*" 버튼을 클릭하면 모든 파일을 볼 수 있습니다.
원하는 파일을 선택하면 경우에 따라 인코딩 다이얼로그가 뜹니다.
파일의 문자셋을 자동으로 인식해보고 판단이 안 서는 경우에만 묻습니다. 적절한 문자셋을 고르게 되면 파일을 마저 읽고 보기 화면으로 이동하게 됩니다.
현재 지원하는 인코딩은 왼쪽과 같습니다. 공개 소프트웨어인 iconv 라이브러리를 사용하였기 때문에 PDA에 다국어 설정을 하지 않았더라도 폰트만 있으면 잘 변환해서 보여줍니다.
단, 현재 중국어의 경우에는 테스트가 되어 있지 않습니다.
책 읽기 화면은 아래와 같습니다.
읽기 화면에서는 스크린의 위쪽을 눌러 주면 한 페이지 위로, 아래쪽을 눌러주면 한 페이지 아래로 이동합니다. 스크린의 가운데를 눌러주면 상단의 타이틀과 하단의 카운터가 제거 됩니다. <full> 버튼을 누르면 전체 화면 모드로 전환 가능합니다. 이 <full> 버튼은 경우에 따라 <next> 버튼으로 바뀝니다. 이것을 눌러주면 다음 text를 읽어 들이게 됩니다.
하단의 숫자 두 개는 현재 page 번호와 총 페이지 번호를 의미합니다. 동그라미 친 부분을 손가락(손톱)으로 위나 아래로 드래그 하면 숫자를 바꿀 수 있습니다. 이렇게 하면 원하는 페이지 번호로 이동 가능합니다. 숫자의 시작은 1부터 시작합니다.
하단 오른쪽의 메뉴 버튼을 누르면 메뉴가 뜹니다.
각각 다음과 같은 행동을 할 수 있습니다.
Select fonts: 폰트 변경
Parsing Options: 텍스트 읽어들이기 옵션 변경
Reading Options: 텍스트를 디스플레이하는 옵션을 변경
Show debuginfo: 디버그 정보를 본다.
Add bookmark: 북마크 설정.
북마크에 관해서는 조금 더 아래쪽에 더 설명이 있습니다.
아울러 메뉴에서는 폰트를 바꾸거나 텍스트 파싱 옵션을 바꿀 수 있습니다.
 폰트 바꾸기 |  파싱 옵션 바꾸기 |
폰트에서 각각의 항목이 어디에 쓰이는 가는 화살표로 표시하여 두었습니다.
파싱 옵션에서 concatenate with following lines 를 선택하시면, 줄 나눔 되어 있는 텍스트를 합칠 것인지 아니면 그대로 읽을 것인지를 바꿀 수 있습니다. 그 외에는 합치는 과정에서 여러 개의 공백을 하나로 합칠 것인지 그냥 둘 것인지 따위를 설정할 수 있습니다.
사용자 북마크는 초기화면에서 따라 들어가면 선택할 수 있습니다.(왼쪽 스크린샷)
상단의 remove 버튼을 누르면 북마크를 임의로 제거할 수 있습니다. 오른쪽 화면에서처럼 필요 없는 북마크를 선택하고, 하단의 remove 버튼을 눌러주면 삭제 됩니다.
bookworm 은 압축 파일에서 텍스트를 읽어 올 수 있습니다. 현재는 zip, 7z, gz, tar.gz, tar으로 압축된 파일을 지원합니다. 7z의 경우에는 압축 해제하는데 굉장히 많은 메모리가 필요하므로 잘 동작하지 않을 가능성이 높습니다. tar 계열의 경우에 어디에 무슨 파일이 있다는 정보를 알기 위해서 파일을 통째로 다 읽어야 하기 때문에, 용량이 크면 리스트 띄우거나 파일 읽는데 시간이 많이 걸립니다.
BookWorm 프로젝트는 다음과 같은 공개 소프트웨어를 사용합니다.
* boost (boost software license) from
http://www.boost.org/
* universalchardet (mozilla public license) from
http://www.mozilla.org
* libiconv (LGPL)
http://www.gnu.org/software/libiconv/
* independent implementation of MD5 (zlib libcense)
http://sourceforge.net/project/showfiles.php?group_id=42360
* 100% free public domain implementation of the SHA-1 algorithm
http://www.dominik-reichl.de/
* zlib (zlib license)
http://www.zlib.net/
* minizip
http://www.winimage.com/zLibDll/minizip.html
* unrar
http://www.rarlab.com/
* 7z (special exception)
http://www.7-zip.org/sdk.html
* mtar (zlib license)
http://wiki.michgan.net/moin.cgi/mtar
전 버전에서도 그랬지만 수동 인코딩 선택화면이 나왔을 때 잘못 선택하면 해 파일을 영원히 불러올 수 없게 되었고, 그래서 ini파일을 삭제하여 쓰곤 했습니다. 그런데 이번에 설정 정보가 다른곳에 저장되거나 exe 내부에 저장되나보네요? 설정 정보를 리셋할 수 없어 프로그램을 전혀 사용할 수 없습니다.
2009/10/21 13:14파일별로 인코딩 정보가 보존된다면 파일 별로 이를 선택할 수 있는 선택화면이나, 이미 존재하지 않는 불필요한 파일 정보를 지울 수 있도록 리셋을 제공해주셨음 하네요.
2009/10/21 13:16ㅇㅇ 인코딩 다이얼로그 만들 예정입니다.
2009/10/22 21:17엑스페리아에서 실행해 보았는데, 스크롤할 때마다 스크린 아래서 선이 그어져 올라옵니다. 기본적인 읽기 기능이 충족 된다면 메모리 누수 문제 등을 살피기 훨씬 수월할것 같습니다.
2009/10/21 15:31이번주 중에 새 릴리즈 낼려고 했는데 취직해버려서 시간 내기가 힘듭니다.
2009/10/22 21:18그래서 개발 방향을 수정해서 쓸만한 버전을 먼저 만들고 구현하는데 시간이 걸리는 기능들은 천천히 만드는 방향으로 하겠습니다.
감축드립니다. (/^_^)/
2009/10/23 01:27m4655사용자입니다.
2009/10/21 17:18테스트 도와드리겠습니다. :) 0.8.5랑 중복해도 괜찮나요.. (에잇모르겠다 저지르고 볼게요)
페이지구분을 회색선으로 하셨군요. 음음~ 녹색 테두리는 아마 이부분이 창경계인듯하네요.
2009/10/21 17:34중간중간에 라인수가 보이면서 흰색선도 제대로 나타나고 있습니다.(디버그시트)
엔터가 많이 쳐져있는 텍본경우 스크롤시 버벅거리네요. = ㅠ=* 아닌가...착각인가 ㅋ
2m짜리 텍본을 열어봤는데, euc-kr로 열어봤습니다.
로딩시간 0.1초.(순식간임)
방향키 (페이지넘김) 잘먹고요-
메모리는 4.98mb를 사용하고 cpu점유율은 80-95을 상회하네요.
+ 페이지를 넘길수록 회색줄이 3000라인을 넘었습니다.
메모리와 점유율이 올라갑니다. :) 그리고, 처음에 느꼈던 스크롤의 버벅거림을 체험하고 있고요.
에에- 4655는 그래도 cpu가 빨라서 버티는거 같아요ㅋ_ㅋ
아. 폰이 뜨거워지는군요. 역시 점유율인가.
기존버전 0.8.53으로 한번열어보겠습니다. :)
리포트 고맙습니다. :)
2009/10/22 21:20메모리 사용량이 증가하는건 .net framework 의 특징입니다. garbage collecting 에 시간 쏟지 않기 위해서 할당이 실패할 때까지 메모리를 잡습니다. 이걸 제가 어떻게 할 수는 없습니다.
엔터가 많이 쳐진 경우에 버벅이면 안 되는데요? 진짜 그런가요?
버벅이는게 아니고, 사용자 몰래 로딩하고 있어서 그런 겁니다.
2009/10/26 21:01계산하는 속도가 빨라져서 빨리 뜨는게 아니고, 일단 되는대로 보여주고 나머지 부분은 몰래 로딩하고 있는거거든요. 계산 속도 자체는 2배-4배 정도 느려졌어요.
몰래 로딩하는군요 :)
2009/10/28 21:18음 어디서 접점을 찾아야할텐데 말입니다. :D
화이팅이에요-
0.8.53버전 잘 사용하고 있습니다. 2버전도 얼른 나왔으면 좋겠네요..(재촉하는건 아니에요^^;)
2009/11/05 01:09취직하셨다고 들었는데 하시는 일 모두 잘 풀리시길
아 11월이 벌써 한주 지나가고 있네요... 11월에 써볼수 있는 버전 부탁드립니다. 나름 좋아보이는데요...이거 기능이요 부탁드립니다. 감사.
2009/11/06 11:06실력이 없으니까 몸이 고생한다고, 회사에서 맨날맨날 죽쑤고 있습니다. T_T
2009/11/10 20:49집에 들어가서 작업할 시간이 너무 없어요. 지금 건드려 놓은 것만 처리하면 하나 릴리즈 하지요.