본문 바로가기
자작 프로그램/이지뷰어 PC버전

이지뷰어 3.3.0 beta3 - EPUB/소설/텍스트/후리가나 뷰어

by 채리 2020. 1. 20.

이지뷰어 모바일 버전을 토대로, PC버전을 새롭게 만들고 있는 중입니다.
아무래도 모바일 버전은 처음부터 새로 설계하여 만들다보니 모바일앱이 프로그램 구조라던지, 지원되는 기능면에서 PC버전보다 훨씬 나은 것 같더군요.

간만에 이지뷰어 PC버전 소스를 들여다 보고 있노라니, 제 얼굴이 화끈거리네요.
소스도 엉망이고, 미흡한 부분도 너무 많고.. ㅠ.ㅠ

Java로 만들어진 모바일앱을 C++로 조금씩 바꿔나가고 있습니다.

현재 이미지 뷰어 기능을 제외한 모든 기능을 Java에서 C++로 변환한 상태이고,
화면 인터페이스만 모바일앱과 비슷하게 새로 설계하면 될 것 같습니다.

이미지 뷰어 기능은 조금씩 추가해가고 있습니다.

다만, 한번에 파일 하나만 열 수 있는 모바일앱과는 달리, PC버전은 다중문서탭을 이용하여 여러개의 문서를 열 수 있기때문에, 이 부분에 대한 화면 설계를 어떻게 해야할지 고민중입니다.

다중 문서를 지원하는 현재의 이지뷰어 PC버전과, 아예 태블릿 PC에 최적화된 태블릿 버전을 따로 만들까 싶기도 합니다.

아마도 나중에는 개발 편의성을 위해서, 하나로 통합될지도 모르겠습니다. ^^

 


이지뷰어 3.3.0 beta버전은 화면구성만 빼고, 이전버전과 내부적으로 완전히 다르게 만들어진 프로그램입니다.
따라서 이전버전의 환경설정파일 및 히스토리/즐겨찾기등이 호환되지 않을 수도 있습니다.

또한 정식버전이 나오기전까지 계속해서 설정내용이 바뀔 수도 있습니다.

되도록 이전 설정값을 자동으로 변환하여 가져오도록 하긴했지만, 혹시 모르니 백업후 설치해주세요.


 

 

이지뷰어 3.3.0 beta3 - 2020.01.20

방금 올린 beta2에서 오류가 있는 실행파일로 잘못 올리는 바람에 beta3로 다시 올립니다.
불편을 드려서 죄송합니다.

상단의 아이콘메뉴의 오른쪽 빈 공간을 더블클릭하면 이미지 화질을 바꿀 수 있습니다.
아직 테스트 중이라서, 기능을 넣어봤습니다. ^^

 

☞ 추가된 기능

ㆍ이미지 뷰어 기능 추가

단순하게 보여주는 기능만 지원됩니다.
분할/이펙트/보기방향등은 조금씩 지원해나갈 생각입니다.

ㆍ이미지/텍스트가 혼합된 압축파일 지원
이미지 뷰어 지원으로, 텍스트와 이미지가 혼합된 압축파일도 볼 수 있습니다.

☞ 개선된 기능

ㆍ압축관리자 로직 개선
캐싱 알고리즘 개선
처리 속도 개선

ㆍEPUB 로직 개선

 

이지뷰어 3.3.0 beta1 - 2020.01.17

☞ 추가된 기능

ㆍEPUB 기능 확장

EPUB 전자책을 거의 완벽하게 지원합니다.
이지뷰어 모바일버전처럼 EPUB에서 이미지 출력 지원
목차 알고리즘 개선
후리가나 및 이미지 추출 로직 추가
처리 속도 향상

ㆍ다중 압축 파일 지원
단순한 이중압축파일이 아닌, 압축의... 압축의... 압축의... 무제한 다중압축파일을 지원합니다.

ㆍ후리가나 지원 (장동곰님 감사합니다. ^^)

EPUB 및 HWP덧말 형식의 후리가나가 지원됩니다.
사용자 정의 옵션은 나중에 지원할 예정입니다.

 

☞ 개선된 기능

ㆍ책갈피 로직 개선

ㆍ2페이지 보기모드 처리 로직 개선
워드랩 로직 수정
페이지 진행률 오류 수정

ㆍ언어 처리 로직 개선

 


  • 다운로드

EasyView-3.3.0.beta3.exe
2.90MB
EasyView-3.3.0.beta3.zip
3.86MB


 

* EPUB등 이미지가 포함된 문서를 열었을 때, 이전/다음으로 넘어가지 않는 경우 아래처럼 설정해주세요.
현재 이지뷰어 3.3.0 베타버전은, 이지뷰어 모바일버전의 기능을 구현하기 위한 테스트 성격의 버전입니다.

EPUB등 전자책을 비롯하여 압축파일의 경우, 이지뷰어 모바일버전에서는 외부파일과 내부파일 방식으로 나누어 처리합니다.

내부 파일이라 함은, T키 또는 제목리스트를 실행해서 나오는 목록을 말합니다.


압축파일내에서 이전다음으로 이동하는 경우, 압축파일속의 파일목록을 검색하여 이전/다음 파일을 열어주고,
더이상 파일이 존재하지 않는다면, 외부파일로 넘어가서 이전/다음파일을 찾아 문서를 열게 됩니다.

하지만, 이지뷰어 3.3.0 베타버전은 아직 외부/내부파일 구조를 인지하지 못하고, 무조건 외부파일로 간주하여 문서를 열게 되는데요...

이때 이지뷰어의 다음파일 열기 설정이 [아무것도 안함]으로 되어있는 경우, 이전/다음 파일을 열지 못하게 됩니다.

따라서 환경설정에서 아래와 같이 설정해주세요.

마지막 페이지에서 [아무것도 안함]으로 되어있는데, 다음 파일 열기(확인창) 또는 다음 파일 열기로 설정해주면,
이전 다음파일을 열 수 있게 됩니다.

댓글15

  • 2020.01.27 20:55

    비밀댓글입니다
    답글

    • 채리 2020.02.02 06:39 신고

      하고싶은건 많은데 프로그래밍 능력이 안따라주네요.
      ㅠㅠ

      요즘엔 모바일앱 프로그래밍을 배우고있는데 너무 재미있는것 같아요.
      프로그래밍도 편하구요.
      덕분에 pc용 프로그래밍엔 손이 잘 안가더라구요.

      응원해주셔서 감사합니다.
      헤르메스의날개님 항상 좋은 일만 가득하시고 새해 복많이 받으세요.

  • [Netple] 2020.02.15 14:43 신고

    15년째 잘 쓰고 있습니다. 감사합니다.

    3.3.0 beta3에서 epub을 불러와봤는데 첫페이지 겉표지만 나타날 뿐, 다음페이지로 넘어갈 수 없습니다.

    도움말 메뉴의 업데이트를 클릭하면 여전히 3.2.0 fix 버전 페이지로 연결되어 있습니다.

    beta는 업데이트 대상에서 제외이신건지 궁금합니다. ^^;
    답글

    • 채리 2020.02.15 15:04 신고

      3.3.0 베타버전은 이전 버전과 전혀 다른.. 아예 새로 만들고 있는 버전입니다.
      테스트중인 버전이라서 기능상 오류가 있거나 할 수 있어요.
      되도록 이전 버전인 3.2.10 정식버전을 사용하시는게 좋을 것 같습니다.

      텍스트 뷰어 기능만 지원했던 이전 버전과는 달리,
      3.3.0 베타버전은, Java로 제작된 이지뷰어 모바일 버전을 C++로 포팅하면서, 이지뷰어의 모바일 버전에서 지원하는 이미지 뷰어 기능등 다양한 기능들을 추가하고 있는 중입니다.

      3.3.0 베타3버전에서는 텍스트 뷰어인 이지뷰어에서도 이미지 뷰어를 지원할 수 있다는 가능성을 확인하기 위한 버전이었고,
      이후 버전부터는 안정화와 몇가기 기능추가와 함께, 화면 UI를 모바일및 태블릿에 맞춰 새롭게 설계할 생각입니다.

      아무래도 현재 이지뷰어의 화면 UI는 20여년전과 변함이 없었으니깐요. ㅠ.ㅠ

      텍스트+이미지 뷰어 구조로 변경되면서 너무 많은 부분을 수정하는 바람에 곳곳에 생각지도 못한 오류들이 많네요.


      말씀하신 EPUB문서의 이전/다음 이동 문제는

      외부파일과 내부파일간의 이전/다음 이동을 구분해야하는데, 현재 테스트 버전에서는 무조건 외부파일의 이전/다음 이동으로 간주하기때문에 문제가 발생된 것입니다.

      일단 설정에서 이전/다음 페이지 동작을 [열기] 또는 [확인후 열기]로 변경해주면 이전/다음 파일로 이동할 수 있습니다.

      감사합니다.

  • [Netple] 2020.02.15 16:08 신고

    적어주신 내용은 잘 보았습니다.

    제 글에 약간 오해가 있었나 봅니다.

    말씀드린 부분은 가령 10페이지 구성의 A라는 epub 파일을 불러왔을 때, epub 파일의 첫번째 겉표지 페이지만 보이고, 2번째, 3번째 페이지를 넘기려해도 A파일의 첫번째 겉표지 페이지에서 요지부동이라는 내용입니다.

    즉, A epub 파일의 책을 읽어보고 싶은데, 불러오면 첫페이지만 보일 뿐, 페이지 이동이 안된다는 부분입니다.

    일단 설정에서 이전/다음 페이지 동작을 [열기] 또는 [확인후 열기]로 변경해주면 이전/다음 파일로 이동할 수 있습니다. → 이 부분을 설정에서 하나하나 훓어봐도 어느 부분을 말씀하시는지 잘 모르겠습니다. ^^;
    답글

    • 채리 2020.02.17 17:58 신고

      제가 말주변이 없다보니.. ㅠ.ㅠ

      댓글에 이미지 파일 첨부가 되지 않아서,
      본문 마지막에 설정방법을 추가했습니다.

      엊그제 말씀드린 외부/내부파일 처리방식중, 내부파일이라함은 T키 혹은 제목리스트를 실행해서 나오는 목록을 말합니다.
      이지뷰어 모바일 버전의 경우, 자동으로 다음 목록으로 넘어가고, 더이상 없으면 외부파일의 다음 파일을 찾아서 파일을 열게 됩니다.

      하지만, 이지뷰어 PC버전의 경우 아직 내부/외부파일에 대한 처리가 되어있지 않아서, 무조건 외부파일을 열려고 시도하는데요...
      이때 이지뷰어에 설정된 파일 열기 방식을 가지고 문서를 열게 됩니다.
      하지만, 이지뷰어 파일열기 방식 기본값이 아무것도 안함이라서, 동작하지 않는 것입니다.

      감사합니다.

  • 플레이캠핑 2020.05.02 00:53 신고

    한 20년간 쓴듯하는데 항상 감사합니다
    답글

  • 2020.05.02 22:08

    비밀댓글입니다
    답글

    • 채리 2020.05.04 17:50 신고

      이지뷰어를 만들었을때가 98년으로, 도스 프로그래밍에서 윈도우 프로그래밍으로 넘어가던 때입니다.
      윈도우 프로그래밍 초보라서 공부하는 것만도 급급했던지라, 다른 라이브러리같은건 생각해볼수도 없었어요.

      이미 도스 프로그래밍때 만들었던 소스들을 윈도우용으로 포팅해서 이지뷰어를 만들었습니다.

  • influen 2020.05.06 01:38 신고

    그렇군요. 텍스트뷰어 조차도 쉽게 만들 수 있는게 아니였네요.
    로우레벨 수준의 프로그래밍을 해야 만들수가 있는거군요.
    구글에 소스검색을 아무리 해봐도 안나오던 이유가 있었네요.
    답변 감사합니다.
    답글

    • 채리 2020.05.22 20:07 신고

      윈도용 뷰어라고 해서 딱히 다른 점은 없습니다.

      도스시절에는 한페이지에 해당되는 텍스트 데이터를 화면이 직접 출력했다면,

      윈도우 프로그램에서는 출력속도 및 repaint 를 위해서
      임시 비트맵을 생성한다음 여기에 글자를 출력하는 차이뿐입니다.
      비트맵을 화면에 뿌려주는 함수야 기본 API인 BitBlt등을 사용해도 되구요.

      다만, 한글코드 및 한글 비트맵폰트 지원을 위해서 메모리상에서 글자들을 조합하고, 조합된 데이터를 비트단위로 쪼개서 비트맵 버퍼에 그려주는 로직만 도스프로그램과 다른 것 같습니다.

      그외에는 다른 여타 프로그램들이 그렇든 기본적인 알고리즘이나 구조설계등은 동일합니다.

      감사합니다.

  • 심심2 2020.05.10 15:30 신고

    너무 잘 쓰고 있습니다 ... 그런데, 문자열찾기(검색)을 하면, 분명히 '아래로'되어 있는데, 오히려 위로 올라가 검색되는 경우가 종종 있더라고요. 블록지정 후 검색하면 되는거 같기는 한데, 개선하면 더 좋을거 같아서요 ... 그리고, 단어검색 기능이 위로/아래로 뿐 아니라, TXT 전체에서 그 해당단어 부분을 모두 검색해서, 각 위치로 이동할 수 있는 기능도 있었으면 좋겠어요. (마루뷰어 텍스트검색 기능) ... 그냥 이랬으면 좋겠다는 생각이고요. 지금도 너무 잘 쓰고 있습니다. 너무 감사합니다.
    답글

    • 채리 2020.05.22 20:03 신고

      PC용 이지뷰어는 모바일버전 이지뷰어를 토대로 새로 만들고 있는 중입니다.
      워낙 게을러서 무지무지 늦어지고 있네요. ㅠ.ㅠ

      이지뷰어 모바일버전에서 말씀하신 검색기능이 지원됩니다.
      대신 처리속도 문제로 전체 검색후 목록으로 보여주고, 선택하면 찾아가는 기능은 지원하지 않고 있어요.

      감사합니다.

    • 채리 2020.05.29 23:08 신고

      이지뷰어 모바일버전의 경우,
      상단의 검색 탭에서 검색하면
      모든 파일에 대한 검색 결과를 보여줍니다.

      말씀하신대로, 동일한 파일에서 검색된 부분을 모두 보여주고, 터치하면 해당 위치로 이동됩니다.

      감사합니다.