posted by 내.맘.대.로 2017. 4. 24. 12:49

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

EPUBGUIDE.NET의 핵심만 모았다. 전자책 편집자를 위한 필독서!

책표지

클릭 편집 탬플릿 제공,

왕초보를 위한
클릭으로 EPUB 만들기

정가 : 9,900원 할인: 8,910원

책표지

기초부터 전자책 제작 실습까지

Sigil 완벽 가이드

정가: 18,000원 할인: 16,200 원

300x250

모 출판사의 요청으로 오류가 있는 EPUB을 수정을 했습니다.

유통사에 등록을 하는데 오류가 생긴 콘텐츠 20여종을 봐달라고 하더라고요.

대부분 구글 플레이북 등록시 오류가 나는 콘텐츠였고, 일부는 리디북스 같은 국내 유통사에서도 문제가 됐다고 합니다. 


구글은 EPUB2, EPUB3 모두 등록 가능한데 IDPF에서 제공하는 EPUBCheck에 오류(Error, Warning)가 없어야합니다. 오류가 하나라도 있으면 등록이 되지 않습니다. 반면 국내 유통사는 오류가 나도 뷰어에서 보는데 문제가 없다면 받아주기 때문에 EPUBCheck에서 오류가 있어도 정상등록되는 파일이 많습니다. 그래서 국내 유통사에 정상 등록 됐는데 구글에 등록하면서 오류가 발생한 파일들이 대부분 수정 대상이었습니다.


구글과 국내 유통사의 정책 중 어느게 옳다고 단정지을 수는 없어요. 까다롭게 표준을 지키느냐(구글), 표준에 벗어나더라도 일정 부분은 허용을 하느냐(국내 유통사)의 문제인데 양쪽 모두 수긍할 만한 이유가 있습니다.


구글은 표준에 위배되면 등록 자체를 막습니다. 구글 뷰어에서 아무 이상이 없어도 등록을 할 수 없습니다. 표준을 우선으로 하는 건데, 필요에 의해 표준에서 벗어난 편집을 하면 구글에는 등록할 수 없습니다. 예를 들어 국내 유통사 중 EPUB3 파일을 받아주지 않는 유통사가 많습니다. 그래서 ruby, mark, epub:type 같은 EPUB2에서 허용하지 않는 태그나 속성을 EPUB2에 쓰는 경우가 있습니다. 이렇게 만든 EPUB2 파일은 구글에 등록할 수 없는 것이지요. 국내 뷰어가 EPUB3를 지원하면 문제가 해결된다고 볼 수 있지만, 그리 쉬운 얘기가 아닙니다. 구글도 EPUB3를 제대로 지원하지 않는 반쪽짜리인데 EPUB3 파일을 받아주고 있어요. 복잡한 스크립트, mathML, SVG 등을 포함한 EPUB3 파일을 구글 플레이북 뷰어에서 열면 제대로 구현되지 않는 경우가 많습니다. EPUB3를 제대로 지원하지 못하면서 EPUB3 파일을 받아들이는 것도 EPUB2 표준에서 허용하지 않지만 필요에 의해 뷰어에서 허용하는 것과 별 차이가 없습니다. 

양쪽 모두 필요에 의해 양쪽 모두 필요에 의해 기능을 제한한 EPUB3를 받거나, EPUB2의 기능에 일부 EPUB3를 허용하는 등의 반쪽짜리 뷰어입니다.


얘기가 딴 방향으로 벗어났는데, 구글은 받아주지 않는데 국내 뷰어는 받아준다고 해서 어느쪽이 더 좋다고 말할 수 없다는 거예요.


어째든, 오류가 나는 콘텐츠는 수정을 해야합니다. 

빈번하게 발견되면서 간단히 수정 가능한 오류를 몇가지 알려드릴게요.


1. <br/> <img...>


이 두 태그는 단독으로 사용할 수 없습니다. 반드시 다른 태그 안에 포함이 되야하는 태그예요. 그런데 많은 편집자들이 이 태그를 단독으로 사용합니다. 


<p>본문 내용</p>

<br/>

<p>본문 내용</p>

<img src="sample.jpg" alt="sample" />


위 코드는 문법에 어긋나있습니다. 이 코드가 아무 문제 없다고 생각하는 분들이 생각 외로 많아요. 심지어 HTML 을 공부했다는 분들조차 저게 문제가 아니라고 얘기하는 경우가 있습니다. 뷰어에서 보면 아무 문제 없는 코드예요. 



*** Col: 57: ERROR(RSC-005): Error while parsing file 'element "img" not allowed here; expected element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg")'.


*** Col: 6: ERROR(RSC-005): Error while parsing file 'element "br" not allowed here; expected the element end-tag or element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg")'.


EPUBCheck로 오류 검사를 하면 이런 오류가 나옵니다.

오류 메시지 내용은 '여기에는 허용되지 않는 태그'라는 것인데, p, h1~h6, blockquote, address, div 등의 태그 사이에만 허용되기 때문이에요. 저 코드는 이렇게 고칠 수 있습니다.



<p>본문 내용</p>

<p><br/></p>

<p>본문 내용</p>

<p><img src="sample.jpg" alt="sample" /></p>

<div><img src="sample.jpg" alt="sample" /></div>


img 태그는 p나 div로 묶어줄 수 있고, br 태그도 div를 사용해도 오류는 나지 않지만 div를 사용해야 하는 이유가 없다면 문단 태그인 p 태그로 묶어주는걸 권합니다.


이 외에도 비슷한 오류가 나는 태그가 있어요. 단독으로 사용할 수 없고 다른 태그 안에 반드시 포함되야 하는 태그입니다.


* 짝이 있는 태그

<li> - 반드시 <ol> 태그 안에 붂여야 함

<tr> <td> - 반드시 <table> 태그 안에 묶여야 함


* 잘못된 코드

<div>

<li>리스트1</li>

<li>리스트2</li>

</div>


* 수정된 코드

<ol>

<li>리스트1</li>

<li>리스트2</li>

</ol>



* 텍스트 편집 태그

<i>, <em>, <strong> 등 - 반드시 p, div, blockquote 등 단독으로 사용 가능한 태그 안에 포함되야 함.


*잘못된 코드

<em>제목1</em>

<p>본문 내용</p>


*수정된 코드

<p><em>제목1</em></p>

<p>본문 내용</p>



2. 필수 메타데이터


국내 유통사 뷰어는 메타데이터를 필수로 요구하지 않습니다. 그래서 EPUB2 표준에서 '필수(must, should)'로 추가하라고 나와있는 메타데이터가 없어도 받아줍니다. 편집자들이 메타데이터를 입력하지 않아서이기도 하고, 책을 등록할 때 서지정보를 별도로 받아서이기도 합니다. 메타데이터만 제대로 입력되어 있어도 책을 등록할 때 책 제목, 저자명, 출간일, ISBN 등의 정보는 자동으로 서지에 입력할 수 있을텐데, 유통사가 요구를 하지 않으니 출판사는 메타정보를 신경쓰지 않고, 유통사도 메타정보에 대해 까다롭게 굴면 출판사에서 귀찮아 하고 서지정보를 별도로 받으니 필요를 느끼지 못해 제대로 관리를 안하는 것 같아요.


필수 메타데이터를 제대로 입력하지 않으면 이런 오류가 나옵니다. 이 정보 없어도 책 보는데 아무 문제 없습니다. 하지만 이 정보는 책의 '판권면' 같은 역할을 합니다. 판권면 관심 갖는 독자가 없어도 판권면을 넣는 것처럼 책 보는데 아무 지장 없어도 메타데이터는 꼭 입력을 해야되요.


*** Col: 14: ERROR(RSC-005): Error while parsing file 'element "metadata" incomplete; missing required elements "dc:language" and "dc:title"'.


메타데이터 오류는 입력을 하지 않아 생기는 문제, 잘못 입력해 생기는 문제 두가지로 나옵니다. Sigil 같은 편집 프로그램은 오류를 막기 위해 언어 설정과 제목을 무조건 추가합니다. 그런데 '설정'에서 한국어(ko)가 아닌 영어(en)로 두는 경우가 있어요. 


전자책 만든 후 테스트를 하려고 iBooks에 넣었는데 책 제목이 [No data]로 보였다면 책 제목을 수정하지 않은거예요.

그리고 일부 뷰어(외국에서 만든)에서 한글이 깨진다면 언어설정 문제일 수 있습니다. 


언어, 책 제목에 추가로 ISBN이 들어가야 합니다. 대부분의 편집 프로그램에서 UUID라는 identifier를 강제로 추가하기 때문에 오류는 나지 않지만, ISBN도 반드시 들어가야 하는 정보입니다.


3. img 태그에 alt는 필수 항목


img 태그는 2가지 속성이 반드시 포함되야 합니다. src는 이미지의 위치를 지정하는 속성이기 때문에 이 속성이 없으면 이미지가 보이지 않습니다. 그래서 이 속성을 빼먹을 일은 없지요. 하지만 alt 속성은 빼먹는 분들이 많더라구요. alt 속성이 없어도 문제는 없지만 표준에 어긋나기 때문에 반드시 포함시켜야 합니다.



*** Col: 79: ERROR(RSC-005): Error while parsing file 'element "img" missing required attribute "alt"'.


alt 속성이 없다면 이런 오류가 납니다. alt의 값은 이미지에 대한 설명입니다. 이 이미지가 어떤 내용을 담고 있는지를 구체적으로 적어야 합니다. alt는 첫째, 이미지에 문제가 생겨 표시되지 않았을 때 alt의 설명이 이미지 위치에 표시돼 이미지가 없더라도 어떤 내용인지 알 수 있게 해주고, 두번째는 장애인 등 이미지를 볼 수 없는 사람이 TTS등을 통해 이미지 내용을 확인할 수 있게 해주는 역할을 합니다. 하지만 열악한 제작비용(?)으로 이미지에 대한 설명을 담기는 힘들지요. 그래서 Sigil은 이미지를 삽입할 때 이미지 파일명을 alt 값으로 추가합니다. 장애인 접근성을 고려한다면 이 값을 이미지가 담고 있는 의미를 풀어 수정해 주는게 좋습니다....만 저도 현실과 타협을 하게 되네요 ㅜ.ㅜ


* 잘못된 코드

<p><img src="../Images/img5.jpg"/></p>


* 수정된 코드

<p><img src="../Images/img5.jpg"/ alt="광화문 사거리에서 경복궁 방향으로 찍은 세종대왕 동상 사진"></p>



4. p 태그 대신 div 태그 사용


이건 엄밀히 말해 오류라고 할 수 없고, 오류로 표시되지도 않습니다. 하지만 문단 태그<p>대신 그룹 태그<div>를 쓰는건 웹 표준에 위배됩니다. Sigil에서 이런 오류를 종종 볼 수 있어요. 아래 이미지처럼 Sigil에서 body 태그 사이에 아무 것도 넣지 않은 상태에서 '책보기' 창에 텍스트를 입력하면 <p>태그 대신 <div>태그로 내용이 들어갑니다.



1. body 태그 사이를 공백으로 둔다.


2. 책보기 화면에서 내용을 입력한다.


3. 코드보기 화면을 보면 p태그 대신 div 태그로 문단이 추가된 것을 볼 수 있다.


이런 책이 생각보다 많습니다. 텍스트 중심의 로맨스, 판타지, 무협 같은 편집이 간단한 책에서 이런 오류를 자주 보게 됩니다. 텍스트 원고를 복사 > 붙여넣기하고 코드를 확인하지 않고 저장해서 이런 문제가 생긴다고 짐작이 되요. 이게 왜 문제가 되냐고 되묻는 분들도 계시더라구요. 뷰어에서 아무 문제 없이 보이고 EPUBCheck로도 오류가 없습니다. 독자들이 책을 보는데 아무 지장이 없습니다. 그러면 문제 없는거 아니냐... 하면 할 말은 없는데, HTML의 규칙이 그렇습니다. 문단 태그는 <p> <div>태그는 그룹이나. 특정 영역을 분할(division)할 때 사용하도록 되어 있습니다. 

Sigil에서 복사 > 붙여넣기로 작업을 하는 분들은 p태그 대신 div태그가 사용되지 않았는지 꼭 확인을 해보세요.


5. <p>본문 <p>본문 </p>본문 </p>

모 유통사 뷰어에서 주석을 처리하는데 p태그 안에 다시 p태그를 쓰는 변형된 규칙을 사용하도록 했습니다. 개발자가 HTML을 모르지는 않았을 테고, IDPF에서 제안하는 <aside epub:type="footnote">를 쓰자니 EPUB2에서는 오류가 나서 그러지 않았을까 하는 생각이 들더라구요. 


똑같이 표준을 위반하지만 허용 가능한게 있고 허용하면 안되는게 있습니다. 


예를 들어 EPUB2에서 ruby 태그를 썼다면 이건 EPUBCheck에서 오류가 나도 이해할 수 있습니다. 웹 표준은 지켰지만 EPUB2에서 허용하지 않기 때문에 발생한 오류, 그리고 ruby가 아니면 표현할 수 없는 편집의 충돌이니까요. 


EPUB2는 네트워크에 연결되지 않은 흑백 화면에서 텍스트 콘텐츠를 보는데 아무 문제 없도록 표준을 만들었기 때문에 항상 네트워크에 연결된 스마트폰에서 볼 수 있는 콘텐츠를 만드는데 제약이 아주 심합니다. 그래서 저도 상위 표준을 지키면서 일부 EPUB2의 표준을 어길 때가 있어요. ruby 태그나 주석 처리를 위한 epub:type 속성이 그렇습니다. 


EPUB2의 제한으로 생긴 오류는 EPUB3에서는 허용하기 때문에 파일 형식만 EPUB3로 바꾸면 아무 문제가 생기지 않아요. 


하지만 <p>태그 안에 다시 <p>태그를 쓰는건 웹 표준 자체를 위반합니다. p태그 안에 p태그를 쓰면 EPUB2 뿐 아니라 EPUB3에서도 오류가 발생해요. 그래서 이런 위반은 반드시 피해야 합니다. 


*** Col: 7: ERROR(RSC-005): Error while parsing file 'element "p" not allowed here; expected the element end-tag, text or element "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" or "var" (with xmlns:ns="http://www.w3.org/2000/svg")'.


* 잘못된 코드

<p>본문 내용<p>본문 내용</p>본문 내용</p>

<p>본문 내용<div>본문 내용</div>본문 내용</p>


p태그 안에 P태그를 사용하면 이런 오류가 발생해요. 위에 예로 들었던 주석 처리가 아니더라도 이런 오류가 있는 콘텐츠가 종종 보입니다. <p>태그 얘기를 했는데 div태그 역시 p태그 안에 들어갈 수 없습니다. div 안에 p가 들어갈 수 있어도 p 안에 div는 들어갈 수 없습니다. 업데이트 된 Sigil에서는 이런 오류 자체를 허용하지 않기 때문에 문제가 생기진 않겠지만 혹시라도 이런 코드를 썼다면 꼭 수정을 해주세요.



편집하면서 종종 봤던 오류를 몇개 정리해 봤습니다. 

전자책 편집하면서 오류가 생겼는데 해결이 안되신다면 오류 메시지와 함께 코드를 알려주세요. 오류 원인과 해결 방법을 알려드릴게요 ^^




300x250
posted by 내.맘.대.로 2017. 4. 17. 07:00

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

EPUBGUIDE.NET의 핵심만 모았다. 전자책 편집자를 위한 필독서!

책표지

클릭 편집 탬플릿 제공,

왕초보를 위한
클릭으로 EPUB 만들기

정가 : 9,900원 할인: 8,910원

책표지

기초부터 전자책 제작 실습까지

Sigil 완벽 가이드

정가: 18,000원 할인: 16,200 원

300x250

한글epubcheck.zip

EPUBcheck 한글화 파일입니다.

Sigil 플러그인 사용법은 압축파일 안에 포함되어 있습니다.

자세한 사용법은 아래 내용을 참고하세요.


플러그인이란?

Sigil에 없지만 있으면 유용할 만한 기능을 Sigil개발자가 아닌 제3자가 개발하고 제공해 Sigil에 추가할 수 있도록 하는 기능입니다. 물론 Sigil 개발자도 플러그인을 개발하긴 하지만 공식적인 Sigil 개발이 아닌, 개인 자격으로 만드는거예요. 플러그인은 편리한 기능을 제공하지만, 개발자는 공식적인 Sigil 개발자가 아니기 때문에 플러그인을 사용할 때 문제가 생길 수도 있습니다. 그렇기 때문에 사용자가 플러그인 설치와 사용 여부를 직접 판단해야 하고, 만약 문제가 생기더라도 Sigil 개발팀이나 이 글을 쓰는 저도 책임을 지지 않습니다^^ 그래도 여기서는 제가 검증한 플러그인을 소개해 드려요. 책임은 지지 않지만, 써보고 문제가 없는 것들을 소개해 드린다는....


[Note About Plugins 원문]Plugins are developed and provided by third parties. Some Sigil developers are also plugin developers but this is separate from Sigil itself. Plugins can be open source as well as proprietary. No vetting by a Sigil developer (unless a Sigil developer wrote the plugin) is performed. Use your judgment if you install and use a plugin. We cannot be held responsible for what a third party plugin that you the user actively installed and ran.  from https://sigil-ebook.com/plugins/



1. @font-face를 자동으로 추가하자 



 전자책을 만들 때 항상 폰트를 추가합니다. Sigil에서는 폰트 파일을 추가한 후 CSS 파일에 @font-face를 매번 입력해야되요. 폰트가 추가되면 자동으로 스타일도 들아가면 좋겠지만, 편집자마다 선호하는 방식이 있으니 기능을 넣어 달라고 요구도 할 수 없습니다. 

저처럼 폰트가 추가되면 스타일이 자동으로 들어갔으면 좋겠다고 생각하는 사람이 있었나봐요. CSSFromFonts라는 제가 원하는 기능의 플러그인이 있습니다. 이 플러그인은 CSS에 폰트를 선언하는 CSS 코드를 추가해 줍니다. 특별히 설명할 내용도 없어요. 그냥 폰트를 추가하고, 플러그인을 실행하면 끝입니다. 그래도 몇가지 주의사항을 알려드릴게요.

1.1 실행 전에 폰트를 추가해 주세요. 

폰트 파일이 없으면 폰트 스타일을 만들 수 없다는건 너무 당연한거예요. 그런데 저도 가끔씩 폰트를 추가하지 않고 버튼을 누를 때가 있습니다. 폰트 폴더에 폰트를 추가한 후 실행을 시키세요. 


1.2 스타일 파일이 없으면 fonts.css 파일이 생성됩니다. 

폰트 스타일은 CSS 편집시 가장 먼저 이루어집니다. 그래서 CSS스타일 파일을 만들지 않고 버튼을 누를 때가 있어요. 그럼 자동으로 fonts.css파일이 생성됩니다. 폰트 스타일을 별도로 관리하고 싶다면 이 방법도 나쁘지 않아요. 하지만 CSS스타일에 넣고 싶다면 CSS파일을 먼저 만드세요.

   

 

1.3 생성된 코드 

플러그인을 실행하면 작업하던 내용이 있더라도 제일 상단에 폰트 코드가 추가됩니다. 

코드는 이렇게 되어 있어요. 


 @font-face { 

 font-family: 'KoPubBatang Bold'; 

 font-weight: normal; 

 font-style: normal; 

 src: url('../Fonts/KoPubBatangBold.ttf'); } 


 그대로 사용해도 되지만, 폰트 이름(font-family)은 사용하기 편한 이름으로 수정할 수 있습니다. 저는 제가 기억하기 쉬운 '기본글꼴' '제목글꼴' '강조용' 등으로 수정해서 사용합니다. font-weight와 font-style도 수정이 가능하고요.  


2. FlightCrew 대신 epubcheck를 사용하자. 



플러그인을 사용하려면 JAVA 1.6 혹은 상위 버전이 설치 되어 있어야 합니다. 대부분의 컴퓨터에 설치되어 있을거예요. 설치가 됐는지는 커맨드 창에서 java 를 치거나 java 다운로드 페이지에 들어가서 확인이 가능합니다. 


 java 다운로드 : https://java.com/ko/download/


 


epubcheck는 IDPF에서 제공하는 공식 EPUB 검증 프로그램입니다. EPUB2, EPUB3 파일을 자동으로 확인해서 버전에 맞는 검사를 실행합니다. 2017년 4월 15일자 기준으로 4.0.2 버전이 나와있고, epubcheck plugin 역시 이 버전의 epubcheck가 포함되어 있어요.


EPUBcheck 공식 다운로드 페이지 : https://github.com/IDPF/epubcheck 


 epubcheck 플러그인을 실행하면 오류가 있을 경우 아래처럼 메시지가 표시되요. epubcheck 결과를 볼 줄 모르는 분들이 많은 것 같은데, 이 부분은 나중에 정리를 할게요. 결과만 잘 읽어도 어디에 무슨 오류가 있는지를 파악할 수 있고, 이 내용을 인터넷으로 검색해 보면 어떻게 수정하는지 쉽게 찾을 수 있습니다. 


 아래 샘플 이미지의 오류를 보면 11번째줄에 있는 strong이라는 태그가 address, blockquote, del, div, p....등의 태그 안에 들어가 있어야 한다고 되어 있습니다. 쓸 수는 있지만 위치가 잘못 됐다(not allowed here)는 의미예요. 


12번째 줄에 있는 aside라는 태그는 EPUB2.0에서 쓸 수 없는(not allowed anywhere) 태그입니다. epub:type, aside 등은 epub2에서 사용할 경우 오류 메시지가 표시되는데 국내 뷰어에서는 허용을 하고 있어요. 이 외에도 ruby, mark 같이 epub3에서는 허용하지만 epub2에서는 사용할 수 없는 태그를 쓰면 오류가 납니다. 국내 유통용이면 오류를 무시해도 되는데 구글 등에 올리려면 이 파일을 epub3로 변경해야 오류를 없애고 등록할 수 있어요.  

EPUBCheck 오류 메시지를 한글로 보자~


1. 첨부 파일을 다운맏은 후 압축을 풀어 한글화 epubcheck.jar를 준비합니다.


2. Sigil 설정 폴더로 이동합니다.

1) Sigil 실행 > 설정 > Open Preferences Location 을 누르면 설정 폴더로 이동합니다.


3. 설정 폴더의 \plugins\EpubCheck 폴더로 이동합니다.

* 여기에도 epubcheck.jar 파일이 있습니다.


4. 한글화 epubcheck.jar 파일을 Sigil의 EpubCheck 플러그인 폴더에 덮어씁니다.


5. Sigil에서 EPUBCheck 플러그인을 실행해 오류 메시지가 한글로 표시되는지 확인합니다.


* EpubCheck 플러그인 한글화는 내맘대로의 EPUBGUIDE.NET에서 작업했습니다.

* 이 파일은 EPUBGUIDE.NET에서만 배포합니다.

* 한글화 파일 사용은 자유지만 무단 배포는 엄격히 금지합니다. 

* EPUBCheck 한글화 그룹 : https://www.transifex.com/idpf/epubcheck/language/ko_KR/



3. EPUB을 PDF로 저장하자. 



 **PrincePDF는 개인이 비 상업적인 목적으로 쓸 경우 무료지만 상업적인 목적으로 사용하려면 유료로 구입을 해야합니다. PrincePDF는 웹 페이지를 PDF로 출력해 주는 프로그램입니다. 커맨드라인으로 명령을 넣어야 하지만 놀라울정도로 강력한 기능을 갖고 있어요. 웹페이지를 그대로 PDF로 출력할 수도 있고, 사용자가 원하는 형태로 출력도 가능합니다. EPUB은 파일 기술적으로 '하나로 만든 홈페이지'입니다. 그래서 PrincePDF를 이용해 PDF로 출력이 가능해요. 먼저 PrincePDF를 설치합니다. 다운로드 : https://www.princexml.com/ 파일을 다운로드 받아 기본설치를 하면 PrincePDF 플러그인을 사용할 수 있습니다. 설치가 잘 됐는지 확인하고 싶다면 java처럼 커맨드 창에서 prince를 입력해 보세요.  


PrincePDF플러그인을 사용하는 이유는 카카오페이지 때문이에요. 

네이버, 교보문고, 리디북스 등에 콘텐츠를 올릴 때는 EPUB을 쓰지만 카카오에는 이미지 파일을 올리는데 카카오에서 전달 받은 제작 가이드는 시간이 오래 걸리고 오류도 많이 나더라구요. 카카오에서 받은 가이드는 HWP에서 카카오페이지 비율(720*1098) 이미지로 저장하고, 이를 포토샵에서 자동 변환 스크립트를 사용해 PNG로 변환하는 방식입니다. 제 컴퓨터에서는 한장 변환하는데 3초 정도 시간이 걸리더라고요. 20~30페이지짜리 연재물이라면 금방 끝나지만 같은 장르라도 단행본을 변환하면 3000~6000페이지 정도 나오는데 페이지당 3초면 몇시간을 작업해야 합니다. 그리고 EPUB으로 제작한걸 다시 HWP로 옮기는 불편함도 크고요. 그래서 Sigil에서 바로 이미지로 변환하는 방법을 찾다 보니 PrincePDF를 쓰게 됐습니다. 




300x250
posted by 내.맘.대.로 2017. 4. 14. 09:00

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

EPUBGUIDE.NET의 핵심만 모았다. 전자책 편집자를 위한 필독서!

책표지

클릭 편집 탬플릿 제공,

왕초보를 위한
클릭으로 EPUB 만들기

정가 : 9,900원 할인: 8,910원

책표지

기초부터 전자책 제작 실습까지

Sigil 완벽 가이드

정가: 18,000원 할인: 16,200 원

300x250

플러그인이란?

Sigil에 없지만 있으면 유용할 만한 기능을 Sigil개발자가 아닌 제3자가 개발하고 제공해 Sigil에 추가할 수 있도록 하는 기능입니다. 물론 Sigil 개발자도 플러그인을 개발하긴 하지만 공식적인 Sigil 개발이 아닌, 개인 자격으로 만드는거예요. 플러그인은 편리한 기능을 제공하지만, 개발자는 공식적인 Sigil 개발자가 아니기 때문에 플러그인을 사용할 때 문제가 생길 수도 있습니다. 그렇기 때문에 사용자가 플러그인 설치와 사용 여부를 직접 판단해야 하고, 만약 문제가 생기더라도 Sigil 개발팀이나 이 글을 쓰는 저도 책임을 지지 않습니다^^ 그래도 여기서는 제가 검증한 플러그인을 소개해 드려요. 책임은 지지 않지만, 써보고 문제가 없는 것들을 소개해 드린다는....


[Note About Plugins 원문]Plugins are developed and provided by third parties. Some Sigil developers are also plugin developers but this is separate from Sigil itself. Plugins can be open source as well as proprietary. No vetting by a Sigil developer (unless a Sigil developer wrote the plugin) is performed. Use your judgment if you install and use a plugin. We cannot be held responsible for what a third party plugin that you the user actively installed and ran.  from https://sigil-ebook.com/plugins/




1. 플러그인을 위한 Python설치

파이썬(Python)은 플러그인을 실행하기 위한 프로그램이에요. 정확히는 컴파일러인데 이런건 몰라도 되요. '플래시 플레이어' 같은거라고 생각하시면 됩니다. 브라우저에서 플래시 파일을 실행시키기 위해 '플래시 플레이어'가 설치되듯, Sigil 플러그인을 실행하려면 파이썬을 설치해야되요.


'이런거 설치 안해도 잘 되던데?'


네. Sigil은 파이썬을 번들로 포함하고 있습니다. 메뉴에서 [Plugins > Manage Plugins]에 들어가면 [Use Bundled Python]을 체크해 Sigil에 내장되어 있는 파이썬을 사용할 수 있어요. 파이썬을 설치하지 않았는데 플러그인이 실행된다면 이 옵션을 체크했거나, 자신도 모르는 사이에 파이썬이 설치됐을거예요.



번들을 써도 플러그인은 잘 작동합니다. 그러니 파이썬을 설치할 필요는 없어요. 그런데 간혹 파이썬 버전이 달라 실행이 안된다거나 하는 경우가 있습니다. 이럴 때는 버전에 맞는 파이썬을 설치해 줘야되요. 파이썬 설치는 간단합니다. 설치파일을 다운받아 실행시키고 [다음] 버튼만 눌러주면 되요. 개발자가 아니라면 복잡한 옵션을 설정할 필요가 없습니다.


파이썬 다운로드 https://www.python.org/downloads/


파이썬은 여러 버전을 다운로드 할 수 있게 되어 있어요. 파이썬 홈페이지에는 3.6.1 버전이 가장 최신이고, 2.7.13버전도 함께 있는데 둘 중 어떤걸 받아도 괜찮아요. 구 버전에서 작동하지 않거나 최신 버전에서 오류가 나는 문제 때문인데 Sigil 플러그인을 사용할 때는 큰 이슈가 없어보이네요. 


파이썬을 설치했으면 Sigil을 실행합니다. Sigil 메뉴에서 [Plugins > Manage Plugins]를 선택하거나 [파일 > Preferences > Plugins]를 선택해 플러그인 관리 화면을 열어주세요. 그리고 [자동] 버튼을 눌러줍니다. 그러면 플러그인이 설치된 경로가 자동으로 등록될거예요. 만약 자동으로 설정되지 않는다면 [Set]을 눌러 파이썬이 설치된 폴더를 찾아주면 됩니다. 


설정이 잘 됐는지 확인하고 싶다면 testplugin으로 테스트를 해보세요. 사용 방법은 아래 내용을 참고하세요.

오류 없이 실행되면 파이썬 연결이 잘 된거예요.


파이썬 설치는 끝!




2. 플러그인 불러오기, 도구 버튼 설정


플러그인을 실행하려면 플러그인 파일을 Sigil에 불러와야합니다. 필요한 플러그인을 다운받은 후 [Add Plugin] 버튼을 눌러 추가시켜 주세요. 


testplugin으로 설명드려볼게요. [Add Plugin]을 누르면 아래처럼 플러그인을 선택할 수 있는 창이 열립니다. 윈도우용도 크게 다르지 않을거예요. 이 창에서 사용할 플러그인을 선택하면 플러그인 등록이 끝납니다.




플러그인이 등록되면 목록에서 확인을 할 수 있어요. 잘못된 파일이면 등록 전에 오류메시지가 표시되며 등록이 되지 않습니다. 




플러그인을 등록하면 설정창을 닫고 [Plugins] 메뉴를 눌러보세요.

플러그인이 종류별로 정렬된 것을 볼 수 있을거예요. [편집] 항목은 전자책을 편집하는데 도움을 주는 플러그인입니다. testplugin은 편집 항목으로 분류가 되네요. Validation은 FlightCrew나 epubcheck plugin처럼 적합성 검사를 해주는 플러그인이 포함됩니다. Outupt은 EPUB3 Output Plugin이나 PrincePDF처럼 결과물을 컴퓨터에 저장해 주는 플러그인이 등록되고요.




자주 사용하는 플러그인이 있다면 단축 버튼으로 등록할 수 있어요. 적합성 검사를 할 때 [Plugins > Validation > EPUB Check]를 눌러주기 귀찮다면 단축아이콘으로 등록해 사용하면 되요. 단축 아이콘은 3개까지만 지원이 됩니다. Assign as Plugin1 ~ 3까지 있고 오른쪽 끝에 있는 플러그 모양의 아이콘으로 실행할 수 있습니다. 왼쪽부터 1번이에요.

플러그인 아이콘은 바꿀 수 없어요. 그리고 이름을 추가할 수도 없어서 본인이 어떤 플러그인을 지정했는지 기억애햐 하는 불편함이 있습니다. 언젠가 개선되리라 기대해 봅니다 ^^






테스트 플러그인을 실행해 보세요. 단축아이콘으로 지정을 했다면 아이콘을 클릭하고, 그렇지 않다면 [Plugins > 편집 > testplugin]을 실행하면 되요. 저도 실행해 봤는데... 이런... 오류가 뜨네요. 코드 중에 PyQt5를 패키지 관련 오류인데, 파이썬 기본만 설치하고 PyQt5 설정을 안해놔서 그런 것 같아요.

Sigil 최신 버전이 PyQt5라는 것을 지원하면서 생긴 오류인 것 같아요. 제가 쓰는 플러그인에서는 PyQt5 가 필요 없으니 이 신경쓰지 않아도 됩니다. 번들 플러그인으로 실행을 하니 문제 없이 작동을 하네요.



여기까지가 플러그인 사용을 위한 준비과정이었습니다.

다음편에서는 제가 잘 써먹고 있는 플러그인 3개를 설명해 드릴게요.

300x250
posted by 내.맘.대.로 2017. 4. 13. 11:36

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

EPUBGUIDE.NET의 핵심만 모았다. 전자책 편집자를 위한 필독서!

책표지

클릭 편집 탬플릿 제공,

왕초보를 위한
클릭으로 EPUB 만들기

정가 : 9,900원 할인: 8,910원

책표지

기초부터 전자책 제작 실습까지

Sigil 완벽 가이드

정가: 18,000원 할인: 16,200 원

300x250

플러그인이란?

Sigil에 없지만 있으면 유용할 만한 기능을 Sigil개발자가 아닌 제3자가 개발하고 제공해 Sigil에 추가할 수 있도록 하는 기능입니다. 물론 Sigil 개발자도 플러그인을 개발하긴 하지만 공식적인 Sigil 개발이 아닌, 개인 자격으로 만드는거예요. 플러그인은 편리한 기능을 제공하지만, 개발자는 공식적인 Sigil 개발자가 아니기 때문에 플러그인을 사용할 때 문제가 생길 수도 있습니다. 그렇기 때문에 사용자가 플러그인 설치와 사용 여부를 직접 판단해야 하고, 만약 문제가 생기더라도 Sigil 개발팀이나 이 글을 쓰는 저도 책임을 지지 않습니다^^ 그래도 여기서는 제가 검증한 플러그인을 소개해 드려요. 책임은 지지 않지만, 써보고 문제가 없는 것들을 소개해 드린다는....


[Note About Plugins 원문]Plugins are developed and provided by third parties. Some Sigil developers are also plugin developers but this is separate from Sigil itself. Plugins can be open source as well as proprietary. No vetting by a Sigil developer (unless a Sigil developer wrote the plugin) is performed. Use your judgment if you install and use a plugin. We cannot be held responsible for what a third party plugin that you the user actively installed and ran.  from https://sigil-ebook.com/plugins/



1. 플러그인(Plugin)이란?

플러그인은 말 그대로 필요한 기능을 플러그에 꼽듯이 해서 사용하는 부가기능이에요. 스마트폰에 메모리가 부족하면 추가 메모리를 꼽는 것과 비슷하다고 생각하시면 됩니다. 플러그인을 잘 활용하면 복잡하게 해야 하는 작업이 아주 편해져요. 그런데 스마트폰에 추가 메모리를 설치하려면 메모리 슬롯이라는게 필요하잖아요. 컴퓨터 프로그램도 비슷해요. 플러그인을 지원하는 프로그램만 플러그인을 쓸 수 있습니다. Sigil은 플러그인을 지원하고 있어요.


2. 어떤 기능을 추가할 수 있지?

Sigil은 34개의 공개(공식이 아니에요) 플러그인이 있습니다. 개인이 사용하는 것까지 찾아보면 더 많겠지만, Sigil 플러그인 페이지에서 정리한 목록에 나와있는게 32개예요. Sigil에서 추천을 한다고 이 플러그인이 공식 지원한다는 얘기는 아닙니다. Sigil에서 공식 지원하는 플러그인은 2개예요.


FlightCrew Plugin

Verify Spec-compliance of EPUB2s

https://github.com/Sigil-Ebook/fligh...eleases/latest

(Make sure to download the correct zip file for your platform: win, osx, unx)


Sigil v0.7.x 에 포함되어 있던 EPUB 검사기가 v0.9.x버전으로 넘어오면서 사라졌습니다.  그 자리에 [Well Formed Check EPUB]이 들어갔는데 이건 EPUB에 문제가 있는지를 확인해 주는게 아니고, EPUB이 잘 만들어 졌는지를 확인하는 프로그램이에요. '잘 만들어 진 것'과 '문제가 없는 것'은 다릅니다. 코드가 엉망이어도 문제가 없을 수 있거든요. 

어째든, EPUB에 오류가 있는지를 검사하는 프로그램을 빼면서 FlightCrew로 검사기를 대체합니다. Sigil을 설치하면 반드시 설치해야 하는 플러그인이지요.

하지만, FlightCrew는 EPUB2만 지원합니다. Sigil로 만든 EPUB3는 FlightCrew로는 검사를 할 수 없어요. 그래서 저는 이 플러그인 대신 epubcheck plugin(뒤에 설명할거예요)을 사용합니다. 


testplugin

Verify Python environment is ready to run Sigil plugins

https://www.mobileread.com/forums/sh...d.php?t=267539


이건 플러그인을 사용할 수 있는지를 확인할 때 사용합니다. 다른 기능은 없어요.

플러그인도 프로그램이에요. 개발자가 컴퓨터 언어로 개발을 해서 만들어요. 컴퓨터 언어는 사람의 언어라 기계가 알아들으려면 컴파일이란걸 해야하고 일부 프로그램은 컴파일을 해서 공개하지만 일부는 컴파일 없이..... 이런 기술적인 얘기는 몰라도 되요. 중요한건, Sigil플러그인을 사용하려면 파이썬(Python)이라는 컴파일러가 설치돼 있어야 한다는 거예요. 파이썬이니 컴파일러니 하는게 뭔지 몰라도 됩니다. 이 플러그인은 컴퓨터에 파이썬이 설치되어 있고 Sigil과 연결됐는지를 확인해 주는 플러그인이에요. 설치만 확인하고 삭제해도 됩니다.


이 두개의 공식 플러그인 외에 32개가 더 있어요. Sigil이 공식 지원을 하는건 아니지만 많은 사람들이 사용하고, 지속적인 업데이트가 이루어 지거나 업데이트는 없지만 더 이상 수정할 필요도 없는 완성도 높은 플러그인을 Sigil 사이트를 통해 정리해 놨습니다. 목록을 보려면 아래 링크를 클릭해 보세요.




이 중 제가 쓰는 플러그인은 3개예요.


CSSFromFonts

Inserts the required CSS entries from Embedded Font Files

https://www.mobileread.com/forums/sh...0&postcount=17


글꼴 파일을 Sigil로 불러온 후 실행시키면 CSS 시트에 폰트 속성이 자동으로 추가됩니다. 매번 @font-face를 넣어야 하는데 이 플러그인을 사용하면 편해요.


epubcheck plugin

Simple epubcheck wrapper

https://www.mobileread.com/forums/sh...25#post2950625


FlightCrew는 EPUB2만 지원합니다. 종종 EPUB3를 검사할 일도 있고, IDPF에서 제공하는 공식 EPUB Checker를 사용하기 때문에 FlightCrew 대신 이 플러그인을 사용해요.


PrincePDF

Export epubs as .pdf files (requires Prince)

https://www.mobileread.com/forums/sh...d.php?t=274972


EPUB파일을 PDF로 저장해 줍니다. EPUB 파일을 카카오페이지용 이미지로 만들 때 이 플러그인을 사용해요.


다른 플러그인들은 영문(문법 플러그인)만 지원하거나 업데이트가 안돼 Sigil v0.9.x 이후 버전에서 오류가 나는게 많아요. 그리고 EPUB3 output plugin, cssRemoveUnusedSelector 같은 일부 플러그인은 Sigil이 업데이트 되면서 필요 없어졌습니다.


다음 글에서는 플러그인을 사용하는 방법을 알려드릴게요.

플러그인 파일을 다운받아 Sigil에서 불러오면 사용할 수 있어요... 라고 간단히 설명할 수 있으면 좋겠지만, Sigil은 파이썬(Python)이라는 언어를 사용하기 때문에 파이썬을 먼저 설치하고, Sigil에 파이썬을 연결해 줘야하거든요. 


'Sigil에 Python이 내장돼 있는데.'라고 딴지걸고 싶은 분이 계시겠지만, 제대로 쓰려면 이번 기회에 확실히 배우는게 좋지 않겠어요^^?

300x250
posted by 내.맘.대.로 2017. 3. 29. 13:21

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

EPUBGUIDE.NET의 핵심만 모았다. 전자책 편집자를 위한 필독서!

책표지

클릭 편집 탬플릿 제공,

왕초보를 위한
클릭으로 EPUB 만들기

정가 : 9,900원 할인: 8,910원

책표지

기초부터 전자책 제작 실습까지

Sigil 완벽 가이드

정가: 18,000원 할인: 16,200 원

300x250

오랜만에 글을 올리네요.

한달 좀 넘게 여행을 다녀와서 현실 적응을 하느라 한참 제정신이 아니었어요.


오늘은 고난도 기술을 소개하려고 합니다.  


만약 이 잡지 표지를 한장의 이미지가 아닌, 이미지 위에 텍스트를 얹어 편집해야 한다면?

가운데 인물이 있고, 좌우에 텍스트를 배치해야 되요. 그런데 글자가 인물 안으로 들어가면 안되고 인물 주위에 자연스럽게 배치되야 합니다. 그리고 가장 중요한거. 글자 크기가 변경되도 편집이 틀어지면 안되고요. 어깨 아랫쪽으로 글자가 내려가는것 까지는 막을 수 없지만, 글자 크기가 커져도 얼굴 쪽으로 글자가 넘어가면 안됩니다. 가능할까요?



div 태그와 display : box; display :table; 등의 속성을 이용하면 비슷한 위치에 글자 배치는 가능해요. 그런데 글자를 키우면 틀어질거예요. 글자 크기가 변경 가능하면서 얼굴 선을 따라 곡선형으로 글자 배치하는건 정말 어렵고요. 이럴 때 쓸 수 있는 CSS속성이 있습니다. 예전에 한번 소개한 적이 있는 속성(http://epubguide.net/207)인데 어렵긴 하지만 활용도는 아주 높아요.


shape-outside

-webkit-shape-outside


The shape-outside CSS property uses shape values to define the float area for a float and will cause inline content to wrap around the shape instead of the float's bounding box.


자세한 내용은 여기로 https://developer.mozilla.org/ko/docs/Web/CSS/shape-outside


이 속성이 어떤건지 바로 이해를 하고 싶다면 아래 사이트에 들어가 보세요.


http://galjot.si/css-exclusions#examples-print


아랫쪽으로 쭉 내려가면 텍스트를 네모, 세모, 동그라미 모양으로 배치한걸 볼 수 있습니다. 텍스트를 이렇게 배치할 수 있게 해주는 속성이 shape-outside예요.


속성에 대한 설명은 모질라 재단 홈페이지에 나와있는걸 그대로 보여드릴게요. 속성에 대한 값이 너무 많아 다시 설명드리는건 낭비입니다!라는 핑계를 대며... ^^;;


/* Keyword values */
shape-outside: none;
shape-outside: margin-box;
shape-outside: content-box;
shape-outside: border-box;
shape-outside: padding-box;

/* Function values */
shape-outside: circle();
shape-outside: ellipse();
shape-outside: inset(10px 10px 10px 10px);
shape-outside: polygon(10px 10px, 20px 20px, 30px 30px);

/* <url> value */
shape-outside: url(image.png);

/* Gradient value */
shape-outside: linear-gradient(45deg, rgba(255, 255, 255, 0) 150px, red 150px);

/* Global values */
shape-outside: initial;
shape-outside: inherit;
shape-outside: unset;

여러가지 속성이 있는데 오늘 설명드릴건 polygon이라는 값이에요.

이 값을 잘 활용하면 전자책 편집하다 난감했던 문제들을 풀 수 있습니다.


오늘 예제는 '이상한 나라의 앨리스'예요. 

아래 이미지를 보세요.


이 이미지가 있는 부분을 제대로 편집한 전자책은 보기 힘들어요. 저도 예전에 한참을 고민하다가 앨리스와 체셔고양이 부분을 나눠서 편집한 적이 있습니다. 독자들은 별로 신경쓰지 않겠지만(ㅡ.ㅡ;) 그래도 전자책 제작 전문가라는 자부심이 있는데 이것 하나 해결 못하나 하는 자괴감이 들기도 하고...


왜 예전에는 shape-outside를 안썼냐고 하시면, 변명으로 들리시겠지만(^^;;) 안드로이드 구형 버전에서는 이 속성이 제대로 구현하지 못했어요. 안드로이드 4.4 이후 버전부터 구현이 되다가 5.0 버전 이후부터는 아무 문제 없이 적용이 됩니다. 그러다 보니 몇년 전에는 이 속성을 편집에서 쓸 생각조차 하지 않았습니다.


잡담은 그만 하고, 이제 본론으로 들어가서...


앞에서도 말했지만 오늘 소개할 속성은 이거예요.


shape-outside: polygon(10px 10px, 20px 20px, 30px 30px);


polygon 속성을 사용하면 다각형을 그릴 수 있습니다. 3각, 4각, 5각, 6각형 등을 표현할 수 있고, 별처럼 복잡한 도형도 그릴 수 있어요.


shape-outside : polygon(X좌표 X좌표 Y좌표, X좌표 Y좌표, X좌표 Y좌표);


이 스타일을 보면 좌표값이 3개 있습니다. polygon은 최소 3개의 좌표가 필요해요. 도형은 최소한 3개의 좌표를 필요로 하기 때문에 그래요. 사각형이라면 4개, 5각형이라면 5개의 좌표를 추가해 주면 됩니다. 좌표는 X축과 Y축이 한 쌍이에요. 그래서 2개가 한 쌍으로 콤마로 구분을 합니다. 화면 크기에 따라 변경되게 하고 싶다면 %단위를 쓸 수 있어요.


설명은 아무리 들어도 어렵지요^^?

이 속성은 직접 사용해 보기 전까지는 이해하기 어려워요. 저도 아직 X좌표가 가로축인지 세로축인지 자주 헛갈려요.


그럼 좀 더 이해하기 쉽게 예제로 설명을 드릴게요. 조금 많이 복잡하니 잘 따라오세요.



체셔고양이가 나오는 이미지는 오른쪽 중간부터 텍스트가 나옵니다. 이미지는 사각형이기 때문에 이미지를 넣고 float을 쓰면 오른쪽 중간 부분은 흰색으로 나와요. 이 부분을 채우려면 어떻게 해야 할까요? 컴퓨터가 이미지를 텍스트가 들어간 부분이 비어있는 다각형이라고 생각하도록 만들면 됩니다.



컴퓨터가 이미지를 이런 다각형이라고 생각하면 이미지가 들어간 영역을 제외한 나머지 부분에 텍스트를 채울거예요. 텍스트 크기가 변경되도 상관 없어요. 이미지 모양에 맞춰 텍스트가 알아서 채워지거든요.


이 이미지는 6각형이에요. 그러니 좌표가 6개여야 합니다. 좌표값은 이미지에 표시해 뒀으니 참고하세요.


이미지를 저렇게 만들기 위해 shape-outside 속성과 polygon 값을 아래같이 설정했어요.

.img_polygon_b_r {

width : 100%;

margin : 0;

padding : 0;

float : left;

shape-outside : polygon(0 0, 100% 0, 100% 45%, 45% 45%, 45% 100%, 0 100%);

-webkit-shape-outside : polygon(0 0, 100% 0, 100% 45%, 45% 45%, 45% 100%, 0 100%);

}

<p class="img_polygon_b_r"><img style="width :100%;" alt="img023" src="../Images/img023.png"/></p>

<p>“그건 네가 어디로 가고 싶은가에 달렸지.”</p>

<p>앨리스가 말했다.</p>

<p>“난 어디건 별로 상관없는데.”</p>

....


좌표를 찾는게 어려워요. 한번에 찾을 수는 없고 눈대중으로 이쯤 되겠다 싶은 좌표를 찍은 다음 조정을 해줘야 되요. 정확한 이미지의 가로/세로 길이를 알면 계산을 해서 값을 잡아도 되지만, 그렇게 하는게 시간이 더 걸리더라고요.


참고로, Sigil에서는 shape-outside 속성이 표현되지 않습니다. Sigil에서 작업하기는 어렵습니다. 저는 텍스트 편집기와 브라우저를 열어놓고 작업했어요.


제가 설명을 건더뛰며 했기 때문에 설명만으로는 이해하기 어려울거예요. 모질라 사이트에 나와있는 예제와 이상한 나라의 앨리스 샘플을 직접 적용해 보면서 좌표가 바뀌면 도형이 어떻게 변하는지 확인해 보세요.


이 속성을 잘 활용하면 이미지와 텍스트가 복잡하게 얽힌 책도 편집을 할 수 있습니다. 시간이 많이 걸리긴 하겠지만요 ^^;







300x250
posted by 내.맘.대.로 2017. 3. 22. 15:50

내맘대로의 EPUBGUIDE.NET에서 편집자의 의도를 그대로 살려 전자책을 제작해 드립니다.

종이책의 편집 스타일을 최대한 유지하며, 팝업 주석 처리, 이미지 확대 축소 등 전자책의 장점을 반영하여 전자책을 제작합니다. 탬플릿을 사용하지 않고, 책 한권 한권 고유 스타일을 살리기 때문에 전자책에서도 종이책 디자인을 느낄 수 있습니다.

한국출판문화진흥원의 [텍스트형 전자책 제작 지원 사업] 선정 도서는 ‘제작 난이도별 제작비 산정 기준에 근거하여’ 제작 단가를 산정하고, 일정에 맞춰 제작을 해 드리니 많은 문의 바랍니다.

자세한 내용은 여기로: https://www.epubguide.net/notice/309

오래 전 작성된 글은 현재의 Sigil 버전과 차이가 날 수 있습니다. 등록 일자를 확인 하고 1년 이상 지난 글은 변경된 내용이 있는지 확인하시기 바랍니다.

EPUBGUIDE.NET의 핵심만 모았다. 전자책 편집자를 위한 필독서!

책표지

클릭 편집 탬플릿 제공,

왕초보를 위한
클릭으로 EPUB 만들기

정가 : 9,900원 할인: 8,910원

책표지

기초부터 전자책 제작 실습까지

Sigil 완벽 가이드

정가: 18,000원 할인: 16,200 원

300x250

https://github.com/Sigil-Ebook/Sigil/releases


Sigil이 오랜만에 업데이트를 했네요.

사용자들이 느끼기엔 큰 변화가 없지만 몇가지 중요한 기능이 업데이트 되었습니다.


1. PyQt5 적용 : 플러그인을 제작하는 분들께는 중요한 업데이트인데, 일반 사용자에게는 중요하지 않습니다. 플러그인을 만들 때 사용하는 파이선이라는 프로그램이 있어요. 이걸로 플러그인을 만들 때 PyQt5라는 GUI방식의 프로그램을 쓸 수 있게 됐습니다. 


2. 설정 > 모양 에서 [Menus]라는 탭이 추가됐습니다.

이 탭은 메뉴 아이콘의 크기를 조절하는 기능입니다. 아래 이미지를 참고하세요.


<아이콘을 작은 크기로>


<아이콘을 큰 크기로>


3. 윈도우에서 발생하는 몇가지 이슈(템프 폴더, 중복 파일 등)를 수정했습니다.


EPUB3 기능이 조금 개선되었습니다. 며칠 전에 EPUB2를 EPUB3로 바꿀 일이 있어 편집을 하는데 문제가 좀 있었거든요. 잠깐 작업하는데도 발생한 문제여서 누구나 느꼈을텐데 이 부분이 개선되었다네요. 여전히 EPUB3는 베타 버전 느낌이지만 Sigil로도 EPUB3 파일을 만드는게 가능해졌어요.


아래는 세부적인 오류 수정, 새로운 기능 목록이에요. 자세한 내용은 Sigil 폼페이지에서 확인하세요~


Bug Fixes

  • Make sure when new empty epub3's are created that the toc does not use a doctype (Issue #250)
  • Make GetUniqueFilenameVersion work even on Case-Insensitive filesystems (Issue #247)
  • Properly urlencode/decode all hrefs in plugin's ResultXML in launcher/PluginRunner to prevent parse errors
  • Enable Basic Cut Copy Paste Icons/Actions in OPF, NCX, XML, SVG, and other Misc Text Tabs
  • Add proper detection for minimum service pack requirements in Windows installer
  • Include workaround for bug in KDE Qt5 plugin on Linux that keep plugins from launching from menu
  • Prevent splitting Section0001.xhtml (Split at Cursor) needlessly rewrite the file's manifest id with a uuid
  • Fix issue where merging files when non-xhtml tabs were open was causing Python errors or crashes
  • Fix segfault in Image Reports when deleting unused image files
  • Fix bug in prettyprint_xhtml in sigil_bs4 (put back inadvertently dropped is_void_tag routine)
  • Fix gumbo serialize to better handle injected newlines
  • Harden bundled Python isolation on Windows and add subset of PyQt5 to bundled modules
  • Harden plugin interface code to properly unquote/quote hrefs
  • Stop Sigil from nagging about unsupported mimetypes when epubs with Adobe xpgt page-templates are opened
  • Fix Book Browser highlighting issue when editable XML files from the "Misc" folder are opened
  • Pull upstream bug fixes from google's gumbo parser for Sigil
  • Force formatting buttons in BookView to generate inline-styled spans instead of "strike", "b", etc
  • Fix bug from deprecated use of jquery $.browser.msie introduced when jQuery was updated
  • Fix temp folder specification on Windows systems that delete the system temp folder for every login (Issue #285)
  • Fix typos in metadata descriptions to allow better translations

New Features

  • New preference setting (Appearance section) which allows user to adjust the size of the main menu icons
  • Add manifest properties to Book Browser tooltips and to All Files Reports Widget for epub3
  • Make Sigil's UI and spellchecker language settings available to plugins
  • Add support for PyQt5 for plugin gui widgets
  • Internal builds now use Qt 5.6.2 with Webkit added back
  • Windows structural changes to eliminate file duplication and to accommodate PyQt5 requirements
  • Update all build it yourself from source documentation for new requirements


300x250