오늘 발표된 애플의 iBooks 2.0과 Textbooks의 기반이 되고 있는 파일 포맷에 대한 분석 글이 눈에 띄어 급하게 번역해봤다. (원문: The iBooks 2.0 textbook format) 애플의 iBooks 2.0이 ePub3에 기반하고 있는 듯 하지만 사실은 ePub 레이아웃 표현의 한계를 벗어나기 위해 독자적으로 정의한 포맷이라는 분석이다. 사실 iBooks의 Fixed Layout 자체가 이미 ePub 레이아웃 포맷을 확장한 형태였으니 별로 놀랄만한 일은 아니다. 다만 애플도 ePub 포맷만으로는 한계가 명확하다는 사실을 인식하고 있다는 점을 다시 한 번 확인한 셈이다.
* * * * *
애플이 오늘(현지시각 1월 19일) iBooks 2.0과 iBooks Author라고 불리는 저작도구 앱을 함께 발표했다. 새로운 iBooks와 저작도구 앱, 그리고 애플의 새로운 텍스트북(textbook) 카테고리는 모두 애플이 새롭게 개발한 전자책 포맷을 기반으로 하고 있다.
나는 오늘 몇 시간에 걸쳐 iBooks Author가 생성하는 파일의 내용을 들여다보았다. 그 파일 포맷의 역할 중 일부만을 알아낼 수 밖에 없었지만, 그래도 내가 발견한 내용을 공유할 만한 정도는 된다고 본다.
좋은 소식 (The good)
애플의 새로운 포맷은 거의 ePub3이라 할 수 있다. 이 포맷은 유효한(valid) NCX와 OPF 파일들을 포함하고 있다. XHTML 파일은 모두 XHTML5였다. 또한 SVG를 매우 많이 사용하고 있다.
시시한 소식 (The meh)
XHTML 파일은 CSS 파일을 링크하기 위해 일반적인 링크 요소(HTML5 doctype을 사용하기 때문에 훨씬 표준적인 방식) 대신 다음과 같은 선언을 사용하였다.
<?xml-stylesheet href='*' type='text/css' media='*'?>
iBooks의 mimetype은 application/x-ibooks+zip 이다. 이런 사실이 그렇게 나쁜 소식은 아니지만, 이 포맷이 ePub 포맷으로 다뤄지는 것을 원하지 않는다는 애플의 분명한 신호라고 할 수 있다. 달리 말해 iBooks Author로 만들어낸 파일이 다른 ePub 전자책 시스템에서 호환되는지는 별로 신경쓰고 싶지 않다는 말이다.
그렇다. 이는 불길한 신호다.
나쁜 소식 (The bad)
iBooks 2.0의 CSS 파일은 문서화되지 않은 확장규약으로 가득차 있다. 그 중 어떤 것도 W3.org 웹사이트의 스펙문서에서 찾을 수 없었다. 예를 들면 다음과 같은 것들이다.
-ibooks-layout-hint: inline;
-ibooks-list-text-indent: 0.0000pt;
-ibooks-strikethru-type: none;
-ibooks-strikethru-width: 1.0000px;
-ibooks-underline-type: none;
-ibooks-underline-width: 1.0000px;
-ibooks-strikethru-type: none;
-ibooks-strikethru-width: 1.0000px;
-ibooks-underline-type: none;
-ibooks-underline-width: 1.0000px;
-ibooks-gutter-margin-left: 50.0pt;
-ibooks-gutter-margin-right: 25.0pt;
-ibooks-head-height: 660.0pt;
-ibooks-gutter-margin-right: 25.0pt;
-ibooks-head-height: 660.0pt;
-ibooks-line-hints: textShape-0 p url(../hints/content1-landscape.plist) 13 7;
애플은 다양한 상황에서의 강조선(strikethroughs), 밑줄(underlines), 여백(margins), 그리고 높이(height) 등을 정의하기 위해 커스텀 속성(custom properties)를 사용하기로 결정했다.
이는 표준 CSS로는 표현가능하지 않은 수준의 비주얼 디자인(visual design)을 고려한 것이다.
더러운 소식 (The ugly)
iBooks 2.0 파일의 수많은 레이아웃과 텍스트 래핑(wrapping) 요소는 비표준적인 방식으로 정의되었다.
XHTML 파일은 application/x-ibooks+flowhead나 application/x-ibooks+shape 등과 같은 비표준적인 오브젝트 요소들을 포함하고 있다. 또한 iBooks의 CSS는 -ibooks-layout-hints 등의 속성을 갖고 있는 .plist 파일을 링크하고 있다. 이게 무엇을 뜻하는지는 누구나 예상하는 바 그대로이다.
애플은 텍스트 래핑(wrapping)과 레이아웃 영역을 정의하기 위해 다음과 같은 CSS를 사용하였다.
@page ::nth-instance
{
height: 748.0pt;
width: 1024.0pt;
::slot(textShape-122)
{
height: 668.000pt;
left: 512.000pt;
top: 40.000pt;
width: 0.000pt;
z-index: 1;
}
::slot(media-7)
{
-ibooks-box-wrap-exterior-path: directional contour both 12.0pt 0.500000 false;
height: 668.000pt;
left: 535.000pt;
top: 40.000pt;
width: 440.000pt;
z-index: 2;
}
::slot(textShape-1)
{
height: 334.000pt;
left: 50.000pt;
top: 40.000pt;
width: 440.000pt;
z-index: 3;
}
::slot(textShape-0)
{
height: 300.000pt;
left: 50.000pt;
top: 408.000pt;
width: 440.000pt;
z-index: 4;
}
-ibooks-positioned-slots: textShape-122, media-7, textShape-1, textShape-0;
}
{
height: 748.0pt;
width: 1024.0pt;
::slot(textShape-122)
{
height: 668.000pt;
left: 512.000pt;
top: 40.000pt;
width: 0.000pt;
z-index: 1;
}
::slot(media-7)
{
-ibooks-box-wrap-exterior-path: directional contour both 12.0pt 0.500000 false;
height: 668.000pt;
left: 535.000pt;
top: 40.000pt;
width: 440.000pt;
z-index: 2;
}
::slot(textShape-1)
{
height: 334.000pt;
left: 50.000pt;
top: 40.000pt;
width: 440.000pt;
z-index: 3;
}
::slot(textShape-0)
{
height: 300.000pt;
left: 50.000pt;
top: 408.000pt;
width: 440.000pt;
z-index: 4;
}
-ibooks-positioned-slots: textShape-122, media-7, textShape-1, textShape-0;
}
여기서 확실하게 말할 수 있는 것은 이 CSS가 표준이 아니라는 사실이다. 이 비표준 CSS에 대한 유일한 공개문서는 애플 직원이 W3.org에 보낸 메일 뿐이다. (http://lists.w3.org/Archives/Public/www-style/2011Mar/0189.html)
모든 종류의 웹브라우저와 ePub 뷰어는 이 CSS 코드 조각을 결코 이해할 수 없을 것이다. 다른 앱들이 이해할 수 있도록 이 코드 조각을 변환하는 쉽고 직관적인 방법은 결코 찾을 수가 없다.
이는 이름뿐인 ePub3이다. iBooks 2.0 포맷과 ePub3 포맷의 차이점은 명확하다. iBooks 2.0 포맷이 CSS 렌더링 모델에 대한 비표준적인 확장으로 구성되고, 모든 XHTML과 CSS가 이 확장 모델에 기반한다면, 이 파일은 다른 전자책 시스템에서 영영 읽을 수 없고, 아예 쓸모없게 될 것이다.
iBooks 2.0 파일을 표준의 ePub3 파일로 변환시키는 작업에 참여하는 일은 쉬운 일일 것이다.
그러나 iBooks 2.0 CSS를 ePub3 전자책 시스템이나 브라우저에 맞게 변환시키는 작업에 뛰어드는 일은 너무 소모적인 일이다. (It is likely to be too great to be worthwhile)
복잡한 디자인의 책에 대한 레이아웃 모델을 다른 레이아웃 모델로 변환하기 위해 CSS를 재작성하는 것은 거의 불가능하다. 애플이 비표준적인 레이아웃 모델을 선택한 이유는 아마도 W3에서 제안하고 표준화한 것들이 애플이 원하는 디자인을 충족시키지 못했기 때문일 것이다.
'전자책 동향' 카테고리의 다른 글
| iBooks 2.0 파일 포맷에 대한 분석글 (번역본) (0) | 2012/01/20 |
|---|

