KR20140040833A - 고정 레이아웃 전자 출판 - Google Patents

고정 레이아웃 전자 출판 Download PDF

Info

Publication number
KR20140040833A
KR20140040833A KR1020147002060A KR20147002060A KR20140040833A KR 20140040833 A KR20140040833 A KR 20140040833A KR 1020147002060 A KR1020147002060 A KR 1020147002060A KR 20147002060 A KR20147002060 A KR 20147002060A KR 20140040833 A KR20140040833 A KR 20140040833A
Authority
KR
South Korea
Prior art keywords
electronic publication
page
fixed layout
publication
layout
Prior art date
Application number
KR1020147002060A
Other languages
English (en)
Inventor
케이시 엠. 도허티
데이비드 매코워
크레이그 밀리토
앨런 씨. 카니스트라로
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20140040833A publication Critical patent/KR20140040833A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/114Pagination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

일부 실시예들에 따라, 출판인이 전자 출판물의 고정 레이아웃 페이지들을 생성하는 것을 돕기 위한 기술들이 본 명세서에 기술된다. 본 기술들은 전자 출판물의 페이지들의 적어도 일부에 대한 고정 레이아웃이 바람직한 요리 서적, 여행 서적, 사진 책들, 어린이용 책들, 다른 "삽화 책들", 또는 임의의 다른 전자 출판물을 생성하는데 유용하다. 본 기술들에 따라, 출판인은 폰트들을 내장하고, 특정 폰트들 및 폰트 크기들을 선택하며, 비주얼 콘텐츠를 고정 레이아웃 페이지들에 할당하고, 고정 레이아웃 페이지들에서 고정 위치들에 비주얼 콘텐츠를 정확하게 배치할 수 있다. 출판인에 의해 지정된 고정 레이아웃 페이지들에 대해 비주얼 콘텐츠의 화면 비율 및 할당을 유지하면서, 리더 장치의 디스플레이 스크린의 크기에 맞도록 고정 레이아웃 페이지들을 스케일링하기 위한 전자 리더 장치의 스케일링 메커니즘이 또한 기술된다.

Description

고정 레이아웃 전자 출판{FIXED LAYOUT ELECTRONIC PUBLICATIONS}
본 발명은 일반적으로 전자 출판에 관한 것으로, 특히, 고정 레이아웃으로 전자 출판물(electronic publication)을 발행 및 렌더링하는 것에 관한 것이다.
오늘날, 전자 출판의 세계는, 애플(Apple), 반스 앤 노블(Barnes and Noble), 및 소니(Sony) 등의 널리 알려진 회사들로부터 시판중인 것들과 같은 소비자 전자 리더 장치들 또는 이-리더 장치들의 최근 유효성으로 인해 증가하는 소비자 인지도를 즐긴다. 상이한 이-리더 장치 플랫폼들을 위한 전자 출판물들을 발행하기 위한 규칙들 및 명령어들의 표준화된 집합을 출판인들에게 제공하기 위해 전자 출판 데이터 포맷 표준들이 개발되어 왔으며, 또한, 개발중이다. 이러한 표준의 일례는 IDPF(International Digital Publishing Forum)에 의해 개발된 EPUB(Electronic Publication) 표준이다. ePub 표준의 현재 릴리즈, 2.0.1이 www.idpf.org에서 온라인으로 구할 수 있다.
현재 전자 출판 데이터 포맷 표준들은 리플로 가능 콘텐츠(re-flowable content)를 위해 설계된 것이며, 고정 레이아웃들을 본질적으로 지원하지 않는다. 이는, 이 표준들을 따르는 이-리더 장치들이 이-리더 장치 디스플레이 스크린의 크기에 비주얼 콘텐츠를 맞추기 위해 필요에 따라 또한 사용자 선호들에 따라 비주얼 콘텐츠(예를 들어, 텍스트 및 이미지들)를 한 페이지로부터 다른 페이지로 이동시킴을 의미한다. 예를 들어, 현재 표준들은, 사용자들이 자신의 선호들에 적합하도록 텍스트의 폰트 또는 폰트 크기를 변경할 수 있게 한다. 폰트 또는 폰트 크기가 변경됨에 따라, 이-리더 장치는 텍스트의 라인의 폭이 스크린의 폭보다 더 길지 않도록 필요에 따라 텍스트를 리플로할 수 있어서, 사용자가 책의 라인들을 판독하기 위해 수평으로 스크롤 또는 팬해야만 하는 것을 방지한다. 이는 또한 한 페이지의 비주얼 콘텐츠가 이전 또는 다음 페이지로 리플로하게 야기하거나, 또는 이전 또는 다음 페이지들의 비주얼 콘텐츠가 현재 디스플레이되는 페이지로 리플로하게 야기할 수 있다. 또한, 실제 물리적인 책들의 행태를 흉내내기 위해, 사용자가 읽을 때 수직으로 스크롤 또는 팬할 필요가 없도록, 다수의 이-리더 장치들은 이-리더 장치의 스크린에서 전체적으로 디스플레이되는 페이지들에서 비주얼 콘텐츠를 제시한다. 그 결과, 폰트 또는 폰트 크기가 사용자에 의해 변경되면, 처음에 한 페이지에 있는 비주얼 콘텐츠는 다른 페이지로 리플로할 수 있다.
현재 표준들 및 현재 이-리더 장치들의 리플로 가능 행태는, 전자 출판물이 이미지들이 거의 없거나 또는 전혀 없는 텍스트 또는 텍스트 내에서 인라인으로 제시될 이미지들로 주로 구성될 때, 출판인들에게 일반적으로 용인될 수 있다. 그러나, 일부 출판인들은 비주얼 콘텐츠의 레이아웃이 페이지들에서 고정되고 페이지 간에 리플로하지 않는 전자 출판물을 발행하기를 희망할 수 있다. 요리 서적, 여행 서적, 사진 책들, 어린이용 책들, 및 다른 이미지 집중 책들은 고정 레이아웃이 바람직할 수 있는 전자 출판물들의 타입들의 일례들이다.
고정 레이아웃 전자 출판물을 생성하는 한 가지 가능한 해결책은, 각각의 전체 페이지의 디지털 이미지를 캡처 또는 생성하는 것이다. 이-리더 장치는 그 후 리더에게 각각의 이미지를 디스플레이할 수 있다. 그러나, 이 해결책은 최선이 아인데, 그 이유는 이미지에서 캡처된 페이지의 텍스트는 통상 탐색, 북마킹, 하이라이팅 및 구절 공유 등의 다수의 이-리더 장치들의 유용한 텍스트 기반 기능들에 대해 텍스트 데이터로서 유효하지 않기 때문이다. 또한, 이미지의 치수들이 이-리더 장치 디스플레이의 치수와 비례하지 않으면, 이-리더 장치는 이미지를 다수의 페이지들에 분할해서, 출판물의 매력 없는 프리젠테이션을 야기할 수 있다.
상술된 바로부터, 비주얼 콘텐츠와 페이지들 간의 고정된 관계가 이-리더 장치 디스플레이들에서 유지될 수 있고, 텍스트 콘텐츠가 이-리더 장치들에게 텍스트 데이터로서 유효한 고정 레이아웃 전자 출판물들을 출판인들이 생성하는 것을 돕는 것이 명백히 바람직하다. 본 발명은 이들 및 기타 요구 사항들을 충족한다.
도 1은 본 발명의 일부 실시예들이 구현될 수 있는 샘플 이-리더 장치의 블록도를 도시한다.
도 2는 본 발명의 일부 실시예들에 따른 일례의 전자 출판물의 계층적 파일 시스템을 도시한다.
도 3은 본 발명의 일부 실시예들에 따른 샘플 렌더링 동작의 흐름도를 도시한다.
도 4는 본 발명의 일부 실시예들에 따른 샘플 스케일링 동작의 흐름도를 도시한다.
용어 해설
본 명세서에서 사용된 바와 같이, 용어 "전자 리더 장치(electronic reader device)", 또는 단지 "이-리더 장치(e-reader device)"는 전자 출판물들이 렌더링되는 물리적 플랫폼(하드웨어 및 소프트웨어)를 말한다. 이-리더 장치들의 비제한적인 일례들은 데스크탑 컴퓨터들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 모바일/스마트 폰들, 전용 이-리더 장치들, 또는 전자 출판물들을 렌더링할 수 있는 또는 렌더링하도록 구성된 임의의 다른 컴퓨팅 장치를 포함한다.
본 명세서에서 사용된 바와 같이, 용어 "출판인(publisher)"은, 달리 지시되지 않는 한, 전자 출판물의 임의의 사람 생산자(creator)를 말한다. 예를 들어, 출판인은 출판물의 콘텐츠의 저작권 소유자이거나 또는 저작권 소유자를 대신하여 출판물을 생성하는 대리인일 수 있다.
본 명세서에서 사용된 바와 같이, 용어 "독자(reader)"는, 달리 지시되지 않는 한, 이-리더 장치의 사람 사용자를 의미한다.
이하의 설명에서, 용어 "비주얼 콘텐츠(visual content)"는, 텍스트 및 이미지들을 포함하지만 이들로만 제한되지 않는, 이-리더 장치의 디스플레이 스크린에 전자 출판물의 일부로서 디스플레이될 수 있는 임의의 타입의 콘텐츠를 광범위하게 말한다.
개요
일부 실시예들에 따라, 출판인이 전자 출판물의 고정 레이아웃 페이지들을 생성하는 것을 돕기 위한 기술들이 본 명세서에 기술된다. 본 기술들은 전자 출판물의 페이지들의 적어도 일부에 대한 고정 레이아웃이 바람직한 요리 서적, 여행 서적, 사진 책들, 어린이용 책들, 다른 "삽화 책들", 또는 임의의 다른 전자 출판물을 생성하는데 유용하다. 본 기술들에 따라, 출판인은 폰트들을 내장하고, 특정 폰트들 및 폰트 크기들을 선택하며, 비주얼 콘텐츠를 고정 레이아웃 페이지들에 할당하고, 고정 레이아웃 페이지들에서 고정 위치들에 비주얼 콘텐츠를 정확하게 배치할 수 있다.
본 명세서에서 사용된 바와 같이, 용어 "고정 레이아웃 전자 출판물(fixed layout electronic publication)"은 적어도 하나의 고정 레이아웃 페이지를 가진 전자 출판물을 의미한다.
본 명세서에서 사용된 바와 같이, 용어 "고정 레이아웃 페이지(fixed layout page)"는 단일 페이지 또는 2-페이지 펼침(two-page spread)에 할당된 비주얼 콘텐츠가 페이지들 간에 리플로하지 않는 전자 출판물의 단일 페이지 또는 2-페이지 펼침을 의미한다. 2-페이지 펼침은 나란히 디스플레이된 전자 출판물의 2 연속 대면 페이지들이다. 달리 지시되거나 문맥으로부터 명백하지 않은 한, "고정 레이아웃 페이지(fixed layout page)"가 이하의 설명에서 언급되는 경우, "단일 페이지 고정 레이아웃 페이지(single page fixed layout page)" 또는 "2-페이지 펼침 고정 레이아웃 페이지(two-page spread fixed layout page)"가 대신 대체될 수 있다. 따라서, 이하의 설명에서, 달리 지시되거나 문맥으로부터 명백하지 않은 한, 고정 레이아웃 페이지와 관련된 설명은 단일 페이지 고정 레이아웃 페이지 및 2-페이지 펼침 고정 레이아웃 페이지 둘 다에 적용된다.
일부 실시예들에 따라, 이-리더 장치는 독자가 독자에게 제시된 고정 레이아웃 페이지의 텍스트의 폰트 또는 폰트 크기를 변경하는 것을 방지하여서, 출판인의 폰트 및 폰트 크기 선택 사항들을 보존한다. 일부 실시예들에서, 독자가 고정 레이아웃 페이지를 줌 또는 확대하면, 이-리더 장치는 출판인에 의해 고정 레이아웃 페이지에 할당된 비주얼 콘텐츠를 리플로하지 않아서, 출판인의 고정 레이아웃 선택 사항들을 보존한다.
본 발명의 일부 실시예들에 따라, 고정 레이아웃 페이지와 연관된 페이지 크기 정보에 적어도 부분적으로 기초하여 이-리더 장치 디스플레이 스크린 크기에 맞도록 고정 레이아웃 페이지를 자동으로 스케일링 및 렌더링하는, 이-리더 장치들을 위한 렌더링 메커니즘이 제공된다. 일부 실시예들에서, 페이지 크기 정보는 전자 출판물을 작성할 때 출판인에 의해 지정된다. 일부 실시예들에서, 페이지 크기 정보는 페이지 화면 비율(page aspect ratio) 및 페이지 치수들(예를 들어, 픽셀 단위의 폭 및 높이)을 포함한다. 페이지 화면 비율 및 페이지 치수들만이 지정된 이러한 경우에, 페이지 치수들의 화면 비율은 페이지 화면 비율과 동일하거나 또는 거의 동일해야만 한다. 다른 실시예들에서, 페이지 크기 정보는 단지 페이지 치수들만을 포함하고, 페이지 화면 비율은 페이지 치수들로부터 계산된다. 이 렌더링 메커니즘은 출판인이 상이한 디스플레이 장치 크기들을 가진 상이한 이-리더 장치들을 위해 다수의 고정 레이아웃 페이지들을 생성해야만 할 필요성을 제거해준다. 본 기술들에 따라, 출판인은, 예를 들어, 데스크탑 컴퓨터, 태블릿 컴퓨터, 및 모바일 폰 모두에서 고정 레이아웃으로 간주될 수 있는 단일 고정 레이아웃 페이지를 생성할 수 있다.
일부 실시예들에서, 연관된 페이지 크기 정보에 따른 고정 레이아웃 페이지의 페이지 크기가 이-리더 장치의 디스플레이 스크린보다 적어도 하나의 치수(예를 들어, 폭 또는 높이)가 더 클 때, 렌더링 메커니즘은, 고정 레이아웃 페이지 및 할당된 비주얼 콘텐츠가 디스플레이 스크린에 전체적으로 맞도록, 출판인에 의해 페이지에 할당된 비주얼 콘텐츠를 포함하는, 고정 레이아웃 페이지를 스케일링한다. 스케일링할 때, 렌더링 메커니즘은 출판인에 의해 지정된 고정 레이아웃 페이지의 페이지 화면 비율 및 고정 레이아웃을 유지하거나 또는 실질적으로 유지한다. 따라서, 본 기술들은 출판인이 고정 레이아웃 페이지의 비주얼 콘텐츠에 가장 적합하다고 생각하는 고정 레이아웃 페이지의 페이지 화면 비율 및 고정 레이아웃을 출판인이 선택할 수 있게 해주며, 페이지 화면 비율 및 고정 레이아웃은 고정 레이아웃 페이지가 이-리더 장치에 의해 디스플레이될 때 렌더링 메커니즘에 의해 유지되거나 또는 실질적으로 유지될 것이다.
예를 들어, 본 기술들에 따라, 출판인은 고정 레이아웃 페이지가 길이보다 폭이 더 크고 이미지로 채워지며, 고정 레이아웃 페이지의 텍스트가 고정 레이아웃 페이지에 대하여 고정 로케이션에서 이미지 위에 레이어되는(layered) 책을 생성할 수 있다. 일부 실시예들에 따라, 이 렌더링 메커니즘은, 스케일링된 고정 레이아웃 페이지에 대하여 텍스트의 페이지 화면 비율 및 고정 위치를 유지하거나 또는 실질적으로 유지하면서, 이-리더 디스플레이 스크린의 크기에 맞도록 필요에 따라 고정 레이아웃 페이지의 크기, 이미지의 크기, 및 텍스트의 크기 및 위치를 스케일링할 것이다.
일부 실시예들에 따라, 이 렌더링 메커니즘은 이하의 방식으로 전자 출판물의 고정 레이아웃 페이지를 자동으로 스케일링한다. 초기에, 렌더링 메커니즘은 고정 레이아웃 페이지를 나타내는 출판인에 의해 작성된 콘텐츠 문서를 획득한다. 콘텐츠 문서는 페이지 크기 정보와 연관되거나 포함한다. 이 콘텐츠 문서는 고정 레이아웃 페이지에 디스플레이될 비주얼 콘텐츠를 포함 또는 참조한다. 일부 실시예들에서, 이 콘텐츠 문서는 하이퍼텍스트 마크업 언어(HTML) 포맷 또는 확장성 하이퍼텍스트 마크업 언어(XHTML) 포맷 문서이다. 선택적으로, 이 콘텐츠 문서는 고정 레이아웃 페이지의 고정된 로케이션들에 비주얼 콘텐츠를 정확하게 배치하기 위한 명령어들을 포함 또는 참조한다. 일부 실시예들에서, 캐스케이딩 스타일 시트(CSS)가 정확한 배치를 위해 사용된다. CSS는 콘텐츠 문서에 내부적 또는 외부적일 수 있다.
페이지 크기 정보를 획득한 후에, 이 렌더링 메커니즘은 이-리더 장치 디스플레이 스크린의 페이지 화면 비율 및 치수들에 적어도 부분적으로 기초하여 제1 페이지 치수 및 제1 페이지 치수의 목표 크기를 선택한다. 제1 페이지 치수는, 고정 레이아웃 페이지가, 디스플레이 스크린에 전체적으로 맞도록 스케일링될 때, 페이지 화면 비율을 유지하거나 또는 실질적으로 유지하도록, 폭 또는 높이로서 렌더링 메커니즘에 의해 선택된다.
일부 실시예들에서, 제1 페이지 치수는 페이지 화면 비율 및 디스플레이 스크린의 화면 비율 간의 차이(만약 있으면)에 좌우되므로, 폭 및 높이 치수들 중 어느 하나가 렌더링 메커니즘에 의해 선택된다. 예를 들어, 페이지 화면 비율이 스크린 화면 비율보다 더 크고 페이지 폭이 디스플레이 스크린의 폭보다 더 크면, 고정 레이아웃 페이지가, 렌더링 메커니즘에 의한 디스플레이를 위해 스케일링될 때, 페이지 화면 비율을 유지하거나 또는 실질적으로 유지하면서 디스플레이 스크린에 전체적으로 맞도록, 렌더링 메커니즘은 고정 레이아웃 페이지의 목표 폭을 선택할 수 있다. 한편, 페이지 화면 비율이 스크린 화면 비율보다 더 작고 페이지 높이가 디스플레이 스크린의 높이보다 더 크면, 고정 레이아웃 페이지가, 디스플레이를 위해 스케일링될 때, 디스플레이 스크린에 전체적으로 디스플레이될 수 있도록, 렌더링 메커니즘은 목표 높이를 선택한다. 페이지 치수들이 페이지 크기가 폭 및 높이 둘 다에서 디스플레이 스크린의 크기보다 더 작은 경우이면, 렌더링 메커니즘은 고정 레이아웃 페이지의 어떠한 스케일링도 실행하지 않을 수 있다.
일부 실시예들에서, 렌더링 메커니즘은 디스플레이 스크린의 크기 제한을 고려하여 그리고, 예를 들어, 고정 레이아웃 페이지가 2-페이지 펼침의 일부로서 디스플레이되는 단일 페이지 고정 레이아웃 페이지인 경우, 다른 고정 레이아웃 페이지; 툴바들, 거짓 제본들(fake bindings) 및 거짓 페이지들의 경계들; 거짓 페이지의 작은 슬라이스 등의 스크린 리얼 에스테이트(screen real estate)를 소비할 수 있는 다른 요소들을 위한 공간을 남겨두면서 고정 레이아웃 페이지가 디스플레이 스크린에 전체적으로 디스플레이되도록 가능한 한 큰 또는 거의 큰 제1 페이지 치수의 목표 크기를 선택한다.
일부 실시예들에서, 렌더링 메커니즘은 또한 고정 레이아웃 페이지에 할당된 비주얼 콘텐츠를 스케일링할 수 있다. 비주얼 콘텐츠가 출판인에 의해 할당된 고정 레이아웃 페이지에 남도록 비주얼 콘텐츠는 스케일링된다. 다시 말해서, 렌더링 메커니즘은 페이지들 간에 비주얼 콘텐츠를 리플로하지 않는다. 이를 위해, 일부 실시예들에서, 렌더링 메커니즘은 연관된 페이지 크기 정보에 의해 표시된 페이지 치수들 및 렌더링 메커니즘에 의한 디스플레이를 위해 스케일링된 고정 레이아웃 페이지의 치수들에 기초하여 폭 스케일링 인자 및 높이 스케일링 인자를 계산한다. 고정 레이아웃 페이지에 할당된 비주얼 콘텐츠의 위치들 및 크기들은 스케일링된 고정 레이아웃 페이지의 치수들에 비례해서 맞도록 계산된 스케일링 인자들에 기초하여 렌더링 메커니즘에 의해 스케일링될 수 있다.
스케일링 일례
전자 출판물의 고정 레이아웃 페이지를 스케일링하는 일례로서, 출판인이 고정 레이아웃 페이지의 치수들을 2000 픽셀 폭 및 2800 픽셀 높이로 지정했다고 가정하라. 따라서, 페이지 화면 비율은 2000 픽셀/2800 픽셀이다. 또한, 출판인이 1000 픽셀 폭 및 1400 픽셀 높이의 이미지의 상부 좌측 코너를 고정 레이아웃 페이지의 좌측 경계로부터 200 픽셀만큼 높게 또한 고정 레이아웃 페이지의 상부 경계로부터 400 픽셀만큼 아래로 배치했다고 가정하라. 이제 렌더링 메커니즘이 핸드헬드 태블릿 컴퓨터들의 전형적인 스크린 크기인, 768 픽셀 폭 및 1024 픽셀 높이인 스크린 크기에 기초하여 670 픽셀의 스케일링된 페이지 폭을 선택한다고 가정하라.
일부 실시예들에 따라, 본 발명의 렌더링 메커니즘에 의해 생산된 스케일링된 고정 레이아웃 페이지는 670 픽셀 폭 및 938 픽셀 높이일 수 있다. 이미지는 335 픽셀 폭 및 469 픽셀 높이로 축소되고, 이미지의 상부 좌측 코너가 좌측 경계로부터 67 픽셀들 또한 스케일링된 페이지의 상부 경계로부터 134 픽셀들이에 있도록, 스케일링된 고정 레이아웃 페이지에 배치될 수 있다.
본 일례에서, 스케일링된 고정 레이아웃 페이지의 화면 비율(670/938)은 출판인-지정 페이지 화면 비율(2000/2800)과 동일함을 주지하라. 또한, 스케일링된 이미지가 출판인-지정 페이지 크기로 소비된 원래 크기 이미지와 스케일링된 고정 레이아웃 페이지의 동일한 퍼센트 영역을 소비함을 주지하라. 또한, 스케일링된 고정 레이아웃 페이지의 스케일링된 이미지의 위치는 출판인-지정 고정 레이아웃 페이지의 원래의 이미지의 위치와 비례함을 주지하라. 따라서, 본 일례에서, 페이지 화면 비율 및 출판인에 의해 지정된 고정 레이아웃 페이지의 고정 레이아웃은 디스플레이 스크린의 크기에 맞도록 고정 레이아웃 페이지를 스케일링할 때 렌더링 메커니즘에 의해 유지된다.
샘플 이-리더 장치
도 1을 참조하면, 본 발명의 일부 실시예들이 구현될 수 있는 샘플 이-리더 장치(100)의 블록도가 도시되어 있다. 장치(100)는 데스크탑 컴퓨팅 장치, 랩탑 컴퓨팅 장치, 태블릿 컴퓨팅 장치, 스마트 폰, 전용 전자 리딩 장치 등일 수 있다. 도시된 바와 같이, 장치(100)는 정보 교환을 용이하게 하기 위한 버스(102), 및 명령어들을 실행하고 정보를 처리하기 위한, 버스(102)에 연결된 하나 이상의 프로세서들(104)을 포함한다. 장치(100)는 버스(102)에 연결된 하나 이상의 기억 장치(들)(106)(본 명세서에서 컴퓨터 판독 가능 기억 매체라고도 함)을 또한 포함한다. 기억 장치(들)(106)는 실행 가능한 프로그램들, 영구 데이터, 프로그램 실행중에 생성된 임시 데이터, 및 컴퓨터 프로세싱을 실행하는데 필요한 임의의 다른 정보를 저장하는데 사용될 수 있다.
기억 장치(들)(106)는 컴퓨터 프로세싱을 실행하는데 사용될 수 있는 임의의 및 모든 타입들의 기억 장치들을 포함할 수 있다. 예를 들어, 기억 장치(들)(106)는 메인 메모리(예를 들어, 랜덤 액세스 메모리(RAM) 또는 다른 동적 기억 장치), 캐시 메모리, 판독 전용 메모리(ROM), 영구 기억 장치(예를 들어, 하나 이상의 자기 디스크들 또는 광 디스크들, 플래시 기억 장치 등), 뿐만 아니라 다른 타입들의 기억 장치를 포함할 수 있다. 각종 기억 장치들(106)은 휘발성 또는 비휘발성일 수 있다. 컴퓨터 판독 가능 기억 매체의 일반적인 형태들은, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, DVD, 또는 임의의 다른 광 기억 매체, 펀치카드, 종이테이프, 또는 구멍 패턴들을 가진 임의의 다른 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM 또는 임의의 다른 타입의 플래시 메모리, 또는 임의의 메모리 칩 또는 카트리지, 및 컴퓨터가 판독할 수 있는 임의의 다른 기억 매체를 포함한다.
도 1에 도시된 바와 같이, 기억 장치(들)(106)는, 운영 체제(114) 및 애플리케이션(112)을 포함하는, 적어도 수개의 실행 가능 명령어 집합들을 저장한다. 프로세서(들)(104)는 소프트웨어의 다른 집합들이 동작할 수 있는 플랫폼을 제공하기 위해 운영 체제(114)를 실행하고, 추가 특정 기능을 제공하기 위해 애플리케이션(112)을 실행한다. 본 발명을 위해, 애플리케이션(112)은 디스플레이 장치(116)의 스크린에서 전자 출판물들을 렌더링하는 임의의 타입의 애플리케이션일 수 있다.
일부 실시예들에서, 본 명세서에 기술된 기능은 애플리케이션(112)에 의해 적어도 부분적으로 제공된다. 애플리케이션(112)은 기능의 일부를 제공하기 위해 운영 체제(114)의 서비스들을 호출할 수 있다. 예를 들어, 애플리케이션(112)이 스케일링 및 렌더링을 위해 전자 출판물의 고정 레이아웃 페이지를 가질 때, 애플리케이션(112)은 디스플레이 장치(116)의 스크린의 현재 화면 비율, 크기, 치수들, 방향 등의 장치-특정 정보를 결정하기 위해 운영 체제(114)의 서비스들을 호출할 수 있다. 애플리케이션(112)은 그 후 장치-특정 정보를 사용해서 고정 레이아웃 페이지 및 그에 할당된 비주얼 콘텐츠를 스케일링할 수 있다. 애플리케이션(112)은 디스플레이 장치(116)의 스크린에서 스케일링된 고정 레이아웃 페이지 및 스케일링된 비주얼 콘텐츠를 실제로 렌더링하기 위해 운영 체제(114)의 다른 서비스를 호출할 수 있다. 대안으로서, 애플리케이션(112)은 고정 레이아웃 페이지 및 비주얼 콘텐츠를 운영 체제(114)에 제공하고, 운영 체제(114)에 의해 결정된 파라미터들에 따라 고정 레이아웃 페이지 및 비주얼 콘텐츠를 스케일링 및 렌더링할 것을 운영 체제(114)에 요청할 수 있다. 운영 체제(114)가 스케일링 및 렌더링 기능을 제공하게 하는 대안으로서, 기능은 대신 애플리케이션(112) 자체에 의해 제공될 수 있다. 다른 대안으로서, 기능은 운영 체제(114) 및 하나 이상의 다른 애플리케이션들(도시되지 않음) 간의 협동 또는 조합에 의해 제공될 수 있다. 기능의 이러한 모든 가능한 분할들은 본 발명의 범위 내에 있다.
장치(100)는 버스(102)에 연결된 하나 이상의 사용자 인터페이스 컴포넌트들(108)을 더 포함한다. 이 컴포넌트들(108)은 장치(100)가 사용자로부터 입력을 수신하고 사용자에게 출력을 제공할 수 있게 한다. 입력 측에서, 사용자 인터페이스 컴포넌트들(108)은, 예를 들어, 영숫자 키들을 가진 키보드/키패드, 커서 제어 장치(예를 들어, 마우스, 트랙볼, 터치패드 등), 터치 센서티브 스크린, 오디오 입력을 수신하기 위한 마이크로폰 등을 포함할 수 있다. 출력 측에서, 컴포넌트들(108)은 비주얼 및 오디오 콘텐츠를 제공하기 위한 그래픽 인터페이스(예를 들어, 그래픽 카드) 및 오디오 인터페이스(예를 들어, 사운드 카드)를 포함할 수 있다. 사용자 인터페이스 컴포넌트들(108)은 오디오 및 비주얼 콘텐츠를 사용자에게 제시하기 위한 디스플레이 장치(116), 스피커 세트 등을 더 포함할 수 있다. 일 실시예에서, 프로세서(들)(104)에 의해 실행되는 운영 체제(114) 및 애플리케이션(112)은 사용자로부터 입력을 수신하고 사용자에게 출력을 제공하기 위해 사용자 인터페이스 컴포넌트들(108)을 이용하고 사용자 인터페이스 컴포넌트들(108)과 상호 작용하는 소프트웨어 사용자 인터페이스를 제공할 수 있다. 이 소프트웨어 사용자 인터페이스는, 예를 들어, 상술된 사용자 입력 장치들 중 하나를 사용해서 사용자가 내비게이트할 수 있는 메뉴를 제공할 수 있다.
상이한 장치들(100)은 상이한 크기의 디스플레이 장치들(116)을 가질 수 있다. 따라서, 디스플레이 장치(116)에서 전자 출판물들을 렌더링하기 위한 유효한 스크린 공간은 장치(100)마다 다를 수 있다. 또한, 디스플레이 장치(116)의 스크린의 화면 비율 및 치수들은 장치(100)마다 다를 수 있다. 또한, 디스플레이 장치(116)의 물리적 방향에 따라 스크린의 방향을 회전하는 휴대형 장치들(100)에서, 디스플레이 장치(116)의 스크린의 화면 비율 및 치수들은, 스크린이 현재 가로 방향인지(길이보다 폭이 더 넓음) 또는 현재 세로 방향인지(폭보다 길이가 더 김)에 따라 변할 수 있다.
상술된 컴포넌트들 외에, 장치(100)는 버스(102)에 연결된 하나 이상의 통신 인터페이스들(110)을 더 포함한다. 이 인터페이스들(110)은 장치(100)가 다른 컴포넌트들과 통신할 수 있게 한다. 통신 인터페이스들(110)은, 예를 들어, 장치(100)가 메시지들을 송신하고 네트워크로부터 메시지들을 수신할 수 있게 하기 위한 네트워크 인터페이스(유선 또는 무선)를 포함할 수 있다. 통신 인터페이스들(110)은 근접 장치들과 무선으로 통신하기 위한 무선 인터페이스(예를 들어, 블루투스) 및 호환되는 로컬 장치와의 직접 연결을 위한 유선 인터페이스를 더 포함할 수 있다. 또한, 통신 인터페이스들(110)은 장치가 로컬 네트워크를 사용하지 않고 인터넷에 액세스할 수 있게 하기 위한 3G 인터페이스를 포함할 수 있다. 이들 및 기타 인터페이스들이 장치(100)에 포함될 수 있다.
고정 레이아웃 전자 출판물
일부 실시예들에서, 고정 레이아웃 전자 출판물은 특별히 구성된 압축 파일 아카이브이다. 파일 아카이브는, 예를 들어, 널리 사용되는 .zip 포맷 또는 당면한 요구 사항들에 적합한 다른 포맷 등의 임의의 적합한 압축 파일 아카이브 포맷일 수 있다. 고정 레이아웃 출판물은, 여러 구성 파일들 중에서, 출판인에 의해 생성된 다수의 콘텐츠 문서들을 포함할 수 있다.
일부 실시예들에서, 고정 레이아웃 전자 출판물은, 본 발명의 고정 레이아웃 특징들을 지원하지 않지만 리플로 가능 표준을 지원하는 불가능(non-capable) 이-리더 장치가 여전히 (리플로 가능 형태로) 전자 출판물을 제시할 수 있도록 리플로 가능 전자 출판 표준과 백워드 호환 가능하다. 고정 레이아웃 전자 출판물은 출판인에 의해 의도된 대로 고정 레이아웃으로 이 불가능 이-리더 장치들에 의해 제시되지 않을 수 있다. 그렇더라도, 리플로 가능 표준과 백워드 호환됨으로써, 고정 레이아웃 출판물은 판독 가능한 형태로 불가능 이-리더 장치들에 의해 여전히 제시될 수 있다. 일부 실시예들에서, 백워드 호환성이 제공되는 리플로 가능 표준은 IDPF(International Digital Publishing Forum)에 의해 기술된 EPUB(the Electronic Publication) 표준의 현재 버전이다. 백워드 호환성은 EPUB 표준의 드래프트 및 차후 버전들과 유지될 수 있으며, 이 버전들은 본 발명의 범위 내에 속한다고 생각된다.
콘텐츠 문서들
일부 실시예들에서, 고정 레이아웃 전자 출판물의 콘텐츠 문서는: (1) 고정 레이아웃 페이지(즉, 단일 페이지 고정 레이아웃 페이지 또는 2-페이지 펼침 고정 레이아웃 페이지) 및 (2) 리플로 가능 콘텐츠 중 하나를 나타낸다. 고정 레이아웃 전자 출판물의 각각의 콘텐츠 문서는 전자 출판물의 비주얼 콘텐츠(예를 들어, 텍스트 및 이미지들)를 포함 또는 참조한다. 콘텐츠 문서가 고정 레이아웃 페이지를 나타내면, 콘텐츠 문서의 비주얼 콘텐츠는 페이지들 간에 리플로하지 않는다. 콘텐츠 문서가 리플로 가능 콘텐츠를 나타내면, 콘텐츠 문서의 비주얼 콘텐츠의 일부 또는 전부가 단일 페이지에 디스플레이될 수 있으며, 페이지들 간에 리플로할 수 있다. 따라서, 일부 실시예들에서, 본 발명의 전자 출판물 포맷은 고정 레이아웃 페이지들 및 리플로 가능 콘텐츠의 혼합을 나타내는 전자 출판물을 생성하기 위해 출판인들에 의해 유연하게 사용될 수 있다. 전자 출판물 포맷은 모든 고정 레이아웃 페이지들을 나타내는 전자 출판물을 생성하는데 사용될 수 있다. 일부 실시예들에서, 각각의 콘텐츠 문서는 하이퍼텍스트 마크업 언어(HTML) 또는 확장성 하이퍼텍스트 마크업 언어(XHTML) 등의 웹 프리젠테이션 언어에 따라 포맷된다.
일부 실시예들에 따라, 콘텐츠 문서의 비주얼 콘텐츠는 고정 레이아웃 페이지의 고정된 로케이션들에 출판인에 의해 정확하게 배치될 수 있다. 일부 실시예들에서, 비주얼 콘텐츠는 캐스케이딩 스타일 시트(CSS)를 사용해서 정확하게 배치된다. CSS는 콘텐츠 문서 내에서 참조된 개별 파일일 수 있으며, 또는 CSS는 콘텐츠 문서에 직접 포함될 수 있다. 따라서, CSS는 콘텐츠 문서의 일부라고 생각될 수 있다. 일례의 콘텐츠 문서들 및 고정 레이아웃 페이지들에 비주얼 콘텐츠를 정확하게 배치하기 위해 CSS를 사용하는 일례들이 후술된다.
일례의 전자 출판물
도 2는 본 발명의 일부 실시예들에 따른 일례의 전자 출판물의 계층적 파일 시스템을 제공한다. 일례의 출판물은 2개의 상위 레벨 폴더들 "META-INF" 및 "OEBPS" 및 "mimetype" 파일을 포함한다. META-INF 폴더는 "display-options.xml" 및 "container.xml" 구성 파일들을 포함한다. OEBPS 폴더는 CSS 데이터, 폰트 데이터, 및 이미지 데이터를 각각 포함하는 서브-폴더들 "css", "fonts", 및 "images"를 포함한다. OEBPS 폴더는 콘텐츠 문서들 "001.xhtml" 내지 "008.xhtml" 및 구성 파일들 "package.opf" 및 "toc.ncx"를 또한 포함한다.
도 2의 일례의 출판물의 파일 및 폴더 레이아웃은 IDPF(International Digital Publishing Forum)에 의해 기술된 바와 같은 그러나 본 명세서에 기술된 고정 레이아웃 전자 출판물들 및 다른 구성 옵션들을 지원하기 위한 확장들을 가진 OCF(Open Container Format)의 현재 버전에 기초한다. 따라서, 이하의 설명은 주로 확장들 및 구성 옵션들에 맞춰진다. OCF의 드래프트 및 차후 버전들뿐만 아니라 OEBPS(Open eBook Publication Structure)에 기초한 다른 유사한 전자 출판 컨테이너 포맷들은 본 발명의 범위 내에 속한 것으로 생각되며, 본 명세서에 기술된 확장들 및 구성 옵션들의 기초로서 작용할 수 있다.
또한, 도 2에 열거된 모든 파일들 및 폴더가 본 발명에 필요한 것은 아니다. 예를 들어, 임의의 폰트들을 내장하지 않은 전자 출판물은 "fonts" 서브-폴더를 포함하지 않을 수 있다. 또한, 파일들 및 폴더들의 이름들은 대체로 임의적이며 당면한 요구 사항들에 따라 구현마다 다를 수 있다. 예를 들어, OEBPS 폴더는 도 2의 일례의 레이아웃에서 임의대로 명명된다. 그러나, 일부 경우들에서, 파일 또는 폴더의 특정 이름이 리플로 가능 전자 출판 표준과의 백워드 호환성을 유지하는데 사용될 수 있다. 또한, 개별 폴더들이 도 2에 도시되어 있지만, 이러한 분리가 요구되지 않을 수 있다. 예를 들어, 이미지들 및 폰트 데이터는 동일한 폴더에 저장될 수 있다. 또한, 도 2에 열거되지 않은 다른 파일들이 전자 출판물에 포함될 수 있다. 예를 들어, META-INF 폴더는 콘텐츠, 구성, 메타데이터, 서명들, 암호, 저작권, 및 전자 출판물에 대한 다른 정보를 기술하는 다른 구성 파일들을 포함할 수 있다.
DISPLAY-OPTIONS.XML 구성 파일
일부 실시예들에서, 전자 출판물은 "display-options.xml" 구성 파일을 포함한다. 일부 실시예들에서, display-options.xml 구성 파일은 "display-options.xml"의 파일 이름을 가진다. 그러나, 이 파일 이름은 본 발명에서 필수가 아니며 다른 이름들이 사용될 수 있다.
일부 실시예들에서, 전자 출판물을 획득할 때, 장치(100) 등의 이-리더 장치는 특정 구성 파라미터들에 액세스하기 위해 display-options.xml을 판독 및 파싱할 수 있다. 이-리더 장치는 구성에 따라 독자에게 전자 출판물을 제시할 수 있다. 일부 실시예들에서, 구성 데이터는 확장성 마크업 언어(XML)로 포맷된다.
일부 실시예들에서, display-options.xml 구성 파일은 포함된 전자 출판물을 구성하기 위한 다수의 구성 옵션들을 출판인에게 제공한다. 일부 실시예들에서, display-options.xml 구성 파일은 전자 출판물이 고정 레이아웃 전자 출판물로서 취급될지 또는 리플로 가능 전자 출판물로서 취급될지를 지정한다. 다른 옵션들은, 전자 출판물이 상이한 장치들에서 또한 상이한 상황들에서 디스플레이되는 방법을 출판인이 미세 조정할 수 있게 한다.
일례의 display-options.xml 파일은 다음과 같다:
0: <?xml version="1.0" encoding="UTF-8"?>
1: <display_options>
2: <platform name="*">
3: <option name="fixed-layout">true</option>
4: <option name="open-to-spread">true</option>
5: </platform>
6: <platform name= "phone">
7: <option name="orientation- lock">landscape-only</option>
8: </platform>
9: </display_options>
예를 들어, 상기 일례의 display-options.xml 구성 파일의 라인 3에서, "fixed-layout" 이름 및 "true" 값을 가진 "option" 태그는 포함된 전자 출판물이 고정 레이아웃 전자 출판물로서 취급될 것임을 나타내기 위해 지정된다. 이는, 이-리더 장치가, 전자 출판물을 디스플레이할 때, 폰트들 또는 폰트 크기들을 변경하는 기능 등의 고정 레이아웃 전자 출판물에 적합하지 않을 수 있는 특정 이-리더 장치 구성 옵션들을 디스에이블할 수 있음을 의미한다. 이는, 또한, 이-리더 장치가, 전자 출판물의 콘텐츠 문서를 렌더링할 때, 콘텐츠 문서가 고정 레이아웃 페이지로서 렌더링되어야만 하는지 또는 리플로 가능 문서로서 렌더링되어야만 하는지를 결정할 것임을 의미한다. 일부 실시예들에서, 이 결정은 콘텐츠 문서와 연관된 페이지 크기 정보에 기초하여 이루어진다. "fixed-layout" 옵션이 손실되거나 또는 값이 "true"가 아니면, 콘텐츠 문서가 페이지 크기 정보와 연관되더라도, 이-리더 장치는 포함된 출판물의 각각의 콘텐츠 문서를 리플로 가능 문서로서 렌더링한다.
스크린 방향 로킹
다수의 현재 이-리더 장치들은 직사각형 디스플레이 장치를 포함하는 사람이 휴대할 수 있는 핸드헬드 컴퓨터 장치들이다. 이-리더 장치들은 디스플레이 장치의 물리적 방향이 디스플레이 장치의 스크린의 현재 방향으로 더 이상 정렬되지 않을 때를 검출하기 위한 가속도계를 통상 포함한다. 이 오정렬의 검출에 응답해서, 스크린 방향이 디스플레이 장치의 물리적 방향에 맞춰 재정렬되도록, 이-리더 장치들은 스크린을 회전할 수 있다. 소정의 시간에, 스크린은 2개의 방향 모드들, 가로 및 세로 중 하나일 수 있다. 가로 방향 모드에서, 스크린의 하부 및 상부는, 디스플레이 장치의 물리적 방향과 무관하게, 디스플레이 장치의 더 긴 에지들과 평행하다. 세로 방향 모드에서, 스크린의 하부 및 상부는, 디스플레이 장치의 물리적 방향과 무관하게, 디스플레이 장치의 더 짧은 에지들과 평행하다.
현재 이-리더 장치들에 따라, 이-리더의 디스플레이 장치의 물리적 방향의 변경은 스크린 방향의 가로로부터 세로로의 또는 세로로부터 가로로의 변경을 야기할 수 있다. 리플로 가능 비주얼 콘텐츠의 경우, 이-리더 장치가 새로운 스크린 방향으로 조정하기 위해 필요에 따라 비주얼 콘텐츠를 리플로할 수 있기 때문에, 스크린 방향의 이러한 변경은 대개는 프리젠테이션 문제들을 야기하지 않는다. 그러나, 고정 레이아웃 전자 출판물의 경우, 콘텐츠 문서의 비주얼 콘텐츠는 리플로하지 않을 수 있으며, 따라서, 하나의 스크린 방향으로 판독 가능한 고정 레이아웃 페이지는 판독 불가능하거나, 또는 다른 스크린 방향으로 독자에게 제시될 때 판독가능할 수 있다. 예를 들어, 고정 레이아웃 페이지의 텍스트는, 특별히 디스플레이 장치가 폭보다 길이가 훨씬 더 긴 경우에, 고정 레이아웃 페이지가 가로 방향으로 디스플레이될 때보다 세로 방향으로 디스플레이될 때 더 판독 가능할 수 있다. 그 결과, 출판인은 고정 레이아웃 페이지가 가로 방향으로 디스플레이되는 것을 방지하기를 희망할 수 있다.
따라서, 일부 실시예들에서, display-options.xml 구성 파일은 이-리더 장치의 디스플레이 장치의 물리적 방향과 무관하게 출판인이 특정 방향으로 스크린을 로킹하는 방법을 제공한다. 예를 들어, 상기 일례의 display-options.xml 구성 파일의 라인 7에서, 이름 "orientation-lock" 및 값 "landscape-only"를 가진 "option" 태그는 디스플레이 스크린이 명시된 이-리더 장치 플랫폼들에서 가로 방향으로 항상 디스플레이될 것임을 나타내도록 지정된다. 따라서, 명시된 이-리더 장치가 제1 물리적 방향 모드로부터 이-리더 장치가 스크린 디스플레이를 제1 방향(예를 들어, 가로)으로부터 제2 방향(예를 들어, 세로)으로 회전하게 야기하는 제2 물리적 방향 모드로 들어갈 때, 이-리더 장치는 제1 방향(예를 들어, 가로)으로 스크린 디스플레이를 유지한다.
일부 실시예들에서, "landscape-only" 값 대신, "orientation-lock" 옵션은 디스플레이 스크린이 항상 세로 방향으로 디스플레이될 것임을 나타내기 위해 값 "portrait-only"를 지정할 수 있다. 일부 실시예들에서, "orientation-lock" 옵션이 생략되거나 또는 "none" 값으로 지정되면, 이-리더 장치는 장치의 물리적 방향에 따라 가로 방향 및 세로 방향 사이에서 스크린을 회전할 수 있다.
초기 디스플레이 제어
일부 실시예들에서, display-options.xml 파일은, 독자가 이-리더 장치의 출판물을 열 때, 포함된 고정 레이아웃 전자 출판물이 초기에 디스플레이되어야만 하는 방법을 출판인이 지정할 수 있게 한다. 일부 실시예들에서, 2개의 초기 디스플레이 옵션들이 유효하다: 단일 페이지 펼침 및 2-페이지 펼침. 단일 페이지 펼침에서, 이-리더의 스크린은 대체로 단일 페이지(대면 페이지의 작은 슬라이스 및/또는 다른 경계 요소들이 가시적일 수 있음)를 포함한다. 2-페이지 펼침에서, 스크린은 2 연속 대면 페이지들을 나란히 제시한다. 예를 들어, 상기 일례의 display-options.xml 구성 파일의 라인 4에서, 이름 open-to-spread" 및 값 "true"를 가진 "option" 태그는, 포함된 전자 출판물이 명시된 이-리더 장치 플랫폼들에서 2-페이지 펼침으로 초기에 디스플레이될 것임을 나타내도록 지정된다. 일부 실시예들에서, "open-to-spread" 옵션이 생략되면, "true" 외의 값은, 포함된 출판물이 명시된 이-리더 장치 플랫폼들에서 단일-페이지 펼침으로 초기에 디스플레이될 것임을 나타낸다.
2-페이지 펼침은, 2 연속 대면 페이지들이 동시에 독자에게 제시되도록 출판인에 의해 종종 의도되는 어린이용 책들, 사진 책들 등의 특정 타입들의 고정 레이아웃 책들에 더 최적인 디스플레이일 수 있다. 일부 실시예들에서, "open-to-spread" 및 "orientation-lock" 옵션들의 조합이 2-페이지 펼침 가로 방향으로 고정 레이아웃 출판물의 디스플레이를 유지하는데 사용된다. 이 조합은 실제 물리적인 책들을 읽는 것과 유사한 읽기 경험을 제공하는데 사용될 수 있다.
"open-to-spread" 옵션은 콘텐츠 문서들이 고정 레이아웃 페이지들로서 취급되는지 또는 리플로 가능 콘텐츠로서 취급되는지와 무관함을 주지하라. 예를 들어, "option-to-spread" 옵션이 "true"인 경우에, 출판물의 2 연속 콘텐츠 문서들에 대응하는 2 연속 단일 페이지 고정 레이아웃 페이지들이 초기에 디스플레이되거나, 단일 콘텐츠 문서에 대응하는 2-페이지 펼침 고정 레이아웃 페이지가 초기에 디스플레이되거나, 또는 하나 이상의 리플로 가능 콘텐츠 문서들로부터의 비주얼 콘텐츠를 제시하는 2 연속 페이지들이 초기에 디스플레이될 수 있다.
상이한 이-리더 장치 플랫폼들의 제어
일부 실시예들에서, display-options.xml 구성 파일은, 출판인이 모든 이-리더 장치 플랫폼들에 적용될 수 있는 옵션들을 지정하는 것 외에 또는 그 대신 이-리더 플랫폼마다 구성 옵션들을 지정할 수 있게 한다. 예를 들어, 상기 일례의 display-options.xml은, 포함된 출판물이 "phone" 플랫폼 태그 내에 포함된 "orientation-lock" 옵션 태그에 의해 표시된 "phone" 이-리더 장치 플랫폼들에서만 가로 방향으로 로킹될 것임을 지정한다. 또한, 포함된 출판물이 이름 "*"을 지정하는 플랫폼 태그 내에 포함된 "fixed-layout" 및 "orientation-lock" 옵션 태그들에 의해 표시된 모든 이-리더 장치 플랫폼들에서 2-페이지 펼침으로 초기에 열린 고정 레이아웃 출판물로서 취급될 것임을 지정한다. *는 포함된 옵션들이 모든 이-리더 장치 플랫폼들에 적용됨을 나타내는데 사용된다.
특정 이-리더 장치 플랫폼들은 임의의 편리한 표기를 사용하는 플랫폼 태그로 식별될 수 있다. 이-리더 장치가 포함된 전자 출판물을 구성하기 위해 display-options.xml 파일을 판독할 때, 이-리더 장치는 플랫폼 태그 내에 포함된 옵션들이 적용될 것인 지를 결정하기 위해 display-options.xml 파일의 임의의 "platform" 태그의 "name" 속성의 값을 평가한다. 그 값은 특정 이-리더 장치, 이-리더 장치들의 그룹, 또는 이-리더 장치들의 클래스를 식별할 수 있다. 그 값의 특정 구문 및 가능한 값들의 범위는 당면한 요구 사항들에 따라 구현마다 다를 수 있다. 예를 들어, 상기 일례의 display-options.xml의 값 "phone"은 이-리더 장치들의 클래스를 식별하는데 사용되고, 클래스의 각각의 이-리더 장치는 클래스에 속하는지, 따라서, "phone" 플랫폼 태그 내에 포함된 구성 옵션들이 적용될지를 결정하기 위한 로직을 포함할 수 있다. 따라서, 본 발명의 실시예들은 "platform" 태그의 "name" 속성의 임의의 특정 값들로 제한되지 않는다.
레이아웃 뷰포트
상술된 바와 같이, 일부 실시예들에서, 출판인은 콘텐츠 문서의 비주얼 콘텐츠가 고정 레이아웃 페이지에서 고정 레이아웃을 가진 전자 출판물의 콘텐츠 문서를 작성할 수 있다. 고정 레이아웃 페이지는 출판물 내의 콘텐츠 문서와 연관된 크기 정보에 의해 설정된 화면 비율 및 초기 치수들(예를 들어, 픽셀 단위의 폭 및 높이)을 가진다. 이 크기 정보는 콘텐츠 문서를 작성할 때 출판인에 의해 지정될 수 있다. 콘텐츠 문서와 연관된 크기 정보에 의해 설정된 화면 비율 및 초기 치수들은 본 명세서에서 콘텐츠 문서의 "레이아웃 뷰포트"라고 한다.
일부 실시예들에서, 콘텐츠 문서가 고정 레이아웃 페이지로서 이-리더 장치에 의해 디스플레이될 때, 콘텐츠 문서의 레이아웃 뷰포트는, 스케일링된 고정 레이아웃 페이지의 화면 비율 및 스케일링된 고정 레이아웃 페이지에 디스플레이된 비주얼 콘텐츠의 비례적 크기를 기술한다. 예를 들어, 본 발명의 일부 실시예들에 따라, 출판인에 의해 설정된 콘텐츠 문서의 레이아웃 뷰포트가 1000 픽셀 폭 × 1400 픽셀 높이이고 콘텐츠 문서가 1000 픽셀 폭 × 1400 픽셀 높이인 이미지를 참조하면, 이미지는 전체 스케일링된 고정 레이아웃 페이지를 채울 것이다. 그러나, 레이아웃 뷰포트가 2000 픽셀 폭 × 2800 픽셀 높이로 출판인에 의해 설정되면, 동일한 이미지는 스케일링된 고정 레이아웃 페이지의 절반만을 채울 것이다.
다수의 인자들이, 예를 들어, 대응 고정 레이아웃 페이지의 이상적인 방향이 가로 방향인지 또는 세로 방향인지, 스크린 리얼 에스테이트(툴바들, 경계들 등)를 소비하는 다른 비주얼 요소들, 이상적인 뷰 펼침이 단일 페이지인지 또는 2-페이지인지 등을 포함하는 레이아웃 뷰포트의 화면 비율 및 치수들의 출판인의 선택에 영향을 줄 수 있다.
레이아웃 뷰포트의 화면 비율 및 치수들의 지정
화면 비율:
일부 실시예들에서, 출판인은, 전자 출판물에서, 레이아웃 뷰포트의 화면 비율을 지정하거나 또는 그것으로부터 화면 비율이 이-리더 장치에 의해 결정될 수 있는 메타데이터를 포함함으로써 콘텐츠 문서의 레이아웃 뷰포트의 화면 비율을 지정한다. 일부 실시예들에 따라, 레이아웃 뷰포트의 화면 비율은 콘텐츠 문서 내의 HTML 또는 XHTML "<meta>" 요소를 사용해서 출판인에 의해 지정된다.
일부 실시예들에서, "<meta>" 요소는 값 "viewport"를 가진 "name" 속성 및 형태 "width=X, height=Y"의 값을 가진 "content" 속성과 함께 사용되며, X 및 Y는 화면 비율을 나타내는 단위가 없는 수치 값들이다. 화면 비율을 나타내기 위한 다른 변형들이 "<meta>"를 사용해서 가능하며, 이러한 모든 변형들은 본 발명의 범위 내에 속한다. 예를 들어, "content" 속성의 값은 레이아웃 뷰포트의 수, 분수, 또는 대각선 길이로서 화면 비율을 나타내는 단일 값일 수 있다. 이하는 레이아웃 뷰포트의 화면 비율 792/612를 나타내는 XHTML "<meta>" 뷰포트 요소의 일례이다:
<meta name="viewport" content="width=792, height=612"/>
치수들:
일부 실시예들에서, 출판인은, 전자 출판물에서, 레이아웃 뷰포트의 치수들을 지정하거나 또는 그것으로부터 치수들이 이-리더 장치에 의해 결정될 수 있는 메타데이터를 포함함으로써 콘텐츠 문서의 레이아웃 뷰포트의 치수들(예를 들어, 픽셀 단위의 폭 및 높이)을 지정한다. 일부 실시예들에 따라, 출판인이 HTML 또는 XHTML 포맷 콘텐츠 문서의 "<body>" 요소에 대해 지정하는 치수들은 또한 콘텐츠 문서의 레이아웃 뷰포트의 치수들을 지정한다. 예를 들어, 이하의 CSS 선언은 792 픽셀 폭 및 612 픽셀 높이의 "<body>" 요소의 치수들을 지정한다. 이 일례의 CSS 선언은 콘텐츠 문서의 792 픽셀 폭 및 612 픽셀 높이로 레이아웃 뷰포트의 치수들을 지정하기 위해 고정 전자 출판물의 각각의 콘텐츠 문서에 의해 포함 또는 참조될 수 있다.
1: body {
2: width: 792px;
3: height: 612px;
4: }
콘텐츠 문서의 레이아웃 뷰포트의 화면 비율 및 치수들은 상기 일례들에서와 같이 전자 출판물 내에서 개별적으로 지정될 수 있다. 다른 실시예들에서, 동일한 메타데이터는 화면 비율 및 치수들을 둘 다 지정한다. 예를 들어, 일부 실시예들에서, HTML 또는 XHTML "<meta>" 태그는 화면 비율 및 치수들을 둘 다 지정하는데 사용될 수 있다. 예를 들어, "<meta>" 뷰포트 요소의 "content" 속성의 값은 레이아웃 뷰포트의 화면 비율 및 폭 및 높이를 둘 다 나타낼 수 있다. 다른 일례로서, 다른 실시예들에서, HTML 또는 XHTML "<body>" 요소에 대해 지정된 치수들은 레이아웃 뷰포트의 화면 비율 및 치수들을 둘 다 지정하는데 사용된다. 레이아웃 뷰포트의 화면 비율 및 치수들이 콘텐츠 문서에 대해 개별적으로 지정되는 경우에, 레이아웃 뷰포트의 지정된 치수들의 화면 비율은 통상 레이아웃 뷰포트의 지정된 화면 비율과 동일하거나 또는 실질적으로 동일하다.
콘텐츠 문서 일례들
상술된 바와 같이, 일부 실시예들에서, 전자 출판물의 콘텐츠 문서는 고정 레이아웃 페이지로서 이-리더 장치에 의해 취급된다. 또한, 콘텐츠 문서는 고정 레이아웃 페이지의 고정된 위치들에 콘텐츠 문서의 비주얼 콘텐츠를 정확하게 배치하기 위해 출판인에 의해 작성될 수 있다. 이를 위해, 출판인은 배치 기준으로서 레이아웃 뷰포트를 사용할 수 있다.
일부 실시예들에서, 각각의 콘텐츠 문서는 HTML 또는 XHTML 포맷되고, CSS는 비주얼 콘텐츠를 정확하게 배치하는데 사용된다. CSS는 콘텐츠 문서 내에 포함될 수 있다. 대안으로, 콘텐츠 문서는 다른 파일에 저장된 CSS를 참조할 수 있다. 양 경우들에서, CSS는 콘텐츠 문서의 일부라고 생각된다.
이하는 XHTML 포맷 콘텐츠 문서의 일례이다. 본 일례에서, 레이아웃 뷰포트의 화면 비율은 라인 5에 지정된다. 레이아웃 뷰포트의 치수들은 라인 8에서 참조된 개별 CSS로 지정된다. 고정 레이아웃 페이지에 할당된 비주얼 콘텐츠는 이미지(라인 12) 및 텍스트(라인들 13 및 14)를 포함한다. 레이아웃 뷰포트에 비주얼 콘텐츠를 정확하게 배치하기 위한 스타일시트는 라인 8에서 참조된다.
1: <?xml version="1.0" encoding="UTF-8"?>
2: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3: <html xmlns="http://www.w3.org/1999/xhtml">
4: <head>
5: <meta name= "viewport" content="width=792, height=612" />
6: <meta content="text/html; charset=UTF-8"/>
7: <title>Fixed Layout Example</title>
8: <link href="css/stylesheet.css" type="text/css" rel="stylesheet"/>
9: </head>
10: <body>
11: <div class="page001">
12: <img src="images/page001.jpg" alt="alternating images of waves "/>
13: <h1>Lorem<br/>Ipsum</h1>
14: <h2>Consectetur Adipiscing Elit</h2>
15: </div>
16: </body>
17: </html>
이하는 상기 일례의 콘텐츠 문서의 라인 8에서 참조된 스타일시트의 관련 부분들을 보여준다. 본 일례에서, 고정 레이아웃 페이지의 body는 상기 라인 5의 레이아웃 뷰포트의 지정된 화면 비율과 동일한 화면 비율을 가진 치수들을 갖도록 지정된다. 이미지의 상부 좌측 코너는 레이아웃 뷰포트의 상부 경계로부터 100 픽셀들 및 레이아웃 뷰포트의 좌측 경계로부터 100 픽셀들에 절대적으로 배치된다. 텍스트는 레이아웃 뷰포트의 상부 경계로부터 400 픽셀들 및 레이아웃 뷰포트의 좌측 경계로부터 200 픽셀들에서 시작된다.
1: body {
2: width: 792px;
3: height: 612px;
4: margin: 0;
5: }
6: img {
7: position: absolute;
8: top: 100px;
9: left: 100px;
10: }
12: h1, h2 {
13: position: relative;
14: padding: 0;
15: top: 400px;
16: left: 200px;
17: }
출판인이 배치 기준으로서 레이아웃 뷰포트를 사용해서 고정 레이아웃 페이지에서 콘텐츠 문서의 비주얼 콘텐츠를 정확하게 배치하기 위해 HTML/XHTML 및 CSS를 사용할 수 있는 방법을 설명하는 일례들이 이제 기술될 것이다.
고정 레이아웃 페이지에서의 텍스트 배치:
일부 실시예들에서, 텍스트는 상기 일례의 XHTML 포맷 콘텐츠 문서 및 연관된 CSS 명령어들에서와 같이 레이아웃 뷰포트에서의 <body> 요소의 위치와 관련하여 레이아웃 뷰포트에서 절대적인 위치에 텍스트를 배치함으로써 고정 레이아웃 페이지에서 정확하게 배치된다. 상기 일례에서, body 요소가 마진 0을 갖는 것으로 지정되고 h1 및 h2 텍스트 요소들이 패딩 0을 갖는 것으로 지정되므로, 텍스트는 레이아웃 뷰포트의 상부 경계로부터 400 픽셀들 및 레이아웃 뷰포트의 좌측 경계로부터 200 픽셀들에서 시작된다.
고정 레이아웃 페이지에서의 이미지 배치:
일부 실시예들에서, 이미지는 "position:absolute" CSS 명령어를 사용해서 고정 레이아웃 페이지에서 정확하게 배치된다. 이미지는 그 후 픽셀 오프셋들로 레이아웃 뷰포트에 배치된다. 예를 들어, "top" 및 "left" CSS 속성들은 레이아웃 뷰포트에서 이미지의 상부 좌측 코너를 설정하는데 사용될 수 있다. 이하의 일례에서, 이미지의 상부 좌측 코너는 레이아웃 뷰포트의 상부 경계로부터 100 픽셀들 및 레이아웃 뷰포트의 좌측 경계로부터 100 픽셀들에 절대적으로 배치된다.
1: img {
2: position: absolute;
3: top: 100px;
4: left: 100px;
5: }
고정 레이아웃 페이지를 이미지로 채움
일부 실시예들에서, 고정 레이아웃 페이지를 이미지로 채우기 위해, 출판인은 레이아웃 뷰포트의 지정된 치수들로서 동일한 픽셀 치수들을 가진 이미지를 생성한다. 그 후, 출판인은 레이아웃 뷰포트의 상부-좌측 코너에 이미지의 상부-좌측 코너를 배치하기 위해 CSS 명령어들을 사용한다. 예를 들어, 치수들 792 픽셀 폭 및 612 픽셀 높이를 가진 레이아웃 뷰포트를 생각해보라. 이하의 CSS 명령어들은 강제로 동일한 크기의 이미지가 페이지를 채우게 하는데 사용될 수 있다:
1: img {
2: position: absolute;
3: height: 612px;
4: }
이미지 위에 텍스트를 레이어함:
일부 실시예들에서, "z-index" CSS 명령어는 고정 레이아웃 페이지에 배치된 이미지가 이미지의 상부에 레이어된 텍스트 뒤에 있음을 보장하기 위해 출판인에 의해 사용된다. 예를 들어, 0이라는 디폴트 z-index 값을 가진 텍스트의 경우, 이하의 CSS 명령어들은, 이미지가 텍스트 뒤에 디스플레이될 것임을 보장한다:
1: img {
2: position: absolute;
3: height: 612px;
4: z-index: -1;
5: }
이미지를 2-페이지 펼침에 걸쳐 놓음:
일부 실시예들에서, 단일 이미지가 2-페이지 펼침에 걸쳐 있는 것으로 보이는 고정 레이아웃 페이지가 생성될 수 있다.
일부 실시예들에서, 이는 다음과 같이 달성될 수 있다: 출판인은 2개의 콘텐츠 문서들을 생성한다: 하나는 2-페이지 펼침의 좌측의 단일 페이지 고정 레이아웃 페이지를 위한 것이고, 하나는 2-페이지 펼침의 우측의 단일 페이지 고정 레이아웃 페이지를 위한 것이다. 이미지가 2개의 콘텐츠 문서들(동일하거나 또는 대략 동일한 크기이어야만 함)에 대해 레이아웃 뷰포트들과 동일한 높이지만 폭은 2배 이도록, 출판인은 이미지의 크기를 정한다. 출판인은 이미지의 좌측 절반을 디스플레이하도록 좌측 콘텐츠 문서를 작성하고, 이미지의 우측 절반을 디스플레이하도록 좌측 콘텐츠 문서를 작성한다. 구체적으로, 좌측 콘텐츠 문서는 좌측 콘텐츠 문서에 대한 레이아웃 뷰포트의 상부 좌측 코너에 이미지의 제1 복사본의 상부 좌측 코너를 배치하도록 작성되고, 우측 콘텐츠 문서는 우측 콘텐츠 문서에 대한 레이아웃 뷰포트의 상부 우측 코너에 이미지의 제2 복사본의 상부 우측 코너를 배치하도록 작성된다. "hidden" 값을 가진 CSS "overflow" 속성은 좌측 단일 페이지 고정 레이아웃 페이지 이미지의 우측 절반 및 우측 단일 페이지 고정 레이아웃 페이지 이미지의 좌측 절반을 숨기는데 사용될 수 있다. 결과는 단일 이미지가 양 고정 레이아웃 페이지들에 걸쳐 있는 것처럼 보이는 2-페이지 펼침이다.
다른 실시예들에서, 단일 콘텐츠 문서를 작성하고 콘텐츠 문서에 대한 레이아웃 뷰포트의 크기와 동일하도록 이미지의 크기를 정함으로써 단일 이미지가 2-페이지 펼침에 걸쳐 있는 것처럼 보이는 2-페이지 펼침 고정 레이아웃 페이지가 생성될 수 있다. 콘텐츠 문서가 2-페이지 펼침 고정 레이아웃 페이지에 디스플레이될 때, 이미지는 2-페이지 펼침에 걸쳐 있는 것처럼 보일 것이다.
이 2-페이지 펼침 걸침 기술들은 대면 페이지들이 함께 보여지도록 출판인에 의해 의도된 "삽화" 또는 "사진" 책에 유용할 수 있다.
폰트 내장
일부 실시예들에서, 고정 레이아웃 페이지에 대해, 이-리더 장치는 출판인의 폰트 및 폰트 크기 선택 사항들을 보존하기 위해 고정 레이아웃 페이지에 디스플레이된 텍스트의 폰트 또는 폰트 크기를 독자가 변경하는 것을 허용하지 않을 수 있다. 따라서, 출판인이, 고정 레이아웃 페이지를 생성할 때, 출판인의 취향에 따라 고정 레이아웃 페이지에 디스플레이되는 텍스트의 폰트들 및 폰트 크기들을 선택할 수 있다.
통상, 이-리더 장치는 공통 폰트들의 집합을 미리 설치했을 것이다. 이는, 공통 폰트들을 렌더링하기 위한 데이터가 (예를 들어, 운영 체제(114)의 일부로서) 이-리더 장치에 의해 제공되고 고정 레이아웃 출판물 자체에 포함될 필요가 없음을 의미한다. 고정 레이아웃 출판물에서 이 공통 폰트들 중 하나를 사용하기 위해, 출판인은 출판물의 콘텐츠 문서들에서 간단히 이름으로 폰트를 참조한다.
그러나, 일부 경우들에서, 출판인은 폰트 렌더링 데이터가 이-리더 장치에 미리 설치되어 있지 않은 폰트를 사용하기를 원할 수 있다. 일부 실시예들에서, 출판인은 고정 레이아웃 출판물에 커스텀 폰트를 내장하고 출판물의 텍스트에 내장된 폰트를 적용할 수 있다. 이를 위해, 출판인은 전자 출판물의 폰트용 폰트 파일을 포함하며, 콘텐츠 문서에서 폰트의 이름 및 폰트 파일의 로케이션을 선언하고, 선언에 따라 폰트를 텍스트에 적용한다.
일부 실시예들에서, 폰트 파일은 임의의 OFT(OpenType) 또는 TTF(TrueType) 폰트 파일일 수 있다. 그러나, 실시예들은 임의의 특정 타입의 폰트 파일로 제한되지 않는다. 일부 실시예들에서, 폰트 이름 및 폰트 파일 로케이션은 CSS "@font-face" 규칙을 사용해서 선언되고, 내장된 폰트는 선언된 이름으로 폰트를 참조함으로써 텍스트에 적용된다.
샘플 렌더링 동작
상기 설명을 염두에 두고, 장치(100)의 샘플 렌더링 동작이 도 3을 참조해서 이제 기술될 것이다. 이하의 일례에서, 동작은 장치(100)에 의해 실행되는 것으로 기술된다. 장치(100)는 동작을 실행하기 위한 하나 이상의 논리 요소들을 포함할 수 있다. 논리 요소들은 전적으로 소프트웨어로, 전적으로 하드웨어로, 또는 소프트웨어 및 하드웨어의 조합으로 구현될 수 있다. 일 특정 실시예에서, 동작은 장치(100)의 운영 체제(114)와 협력하여 장치(100)의 애플리케이션(112)에 의해 실행된다.
처음에, 장치(100)는 하나 이상의 콘텐츠 문서들을 포함하는 전자 출판물을 획득한다(블록 301). 장치(100)는 다수의 상이한 방법들로 전자 출판물을 획득할 수 있으며, 본 발명의 실시예들은 전자 출판물을 획득하는 임의의 특정 방식으로 제한되지 않는다. 일 실시예에서, 장치(100)는 인터넷 등의 데이터 네트워크를 통해 웹 서버 등의 원격 리소스로부터 전자 출판물을 획득한다. 예를 들어, 장치(100)는 독자가 온라인 서점으로부터 전자 출판물을 구매 및 다운로드한 후에 전자 출판물을 획득할 수 있다. 다른 일례로서, 장치(100)는 장치(100)에 동작상 연결된 이동식 데이터 기억 장치로부터 전자 출판물을 획득할 수 있다.
일부 실시예들에서, 획득된 전자 출판물은 파일 아카이브이다. 예를 들어, 전자 출판물은 .ZIP 파일 또는 다른 파일 아카이브 파일 타입일 수 있다. 전자 출판물을 획득함에 응답해서, 장치(100)는 기억 장치(106)에 전자 출판물을 추출한다. 그 결과, 전자 출판물의 콘텐츠 문서들 및 임의의 구성 파일들은, 전자 출판물의 각각의 콘텐츠 문서를 포함하는 각각의 파일이 장치(100)에 개별적으로 액세스될 수 있는 도 2의 파일 시스템 계층 등의 파일 시스템 계층으로 배열되어, 기억 장치(106)에 배치된다.
다른 실시예들에서, 전자 출판물은 기억 장치(106)에 장치(100)에 의해 저장되고 전자 출판물의 각각의 콘텐츠 문서를 포함하는 각각의 파일이 장치(100)에 개별적으로 액세스될 수 있는 도 2의 파일 시스템 계층 등의 파일 시스템 계층으로 장치(100)에 의해 배열된 일련의 파일들 또는 파일들의 집합으로서 획득된다.
일부 실시예들에서, 전자 출판물을 획득한 후에, 장치(100)는 전자 출판물을 취급하는 방법(즉, 고정 레이아웃 또는 리플로 가능) 및 다른 구성 옵션들을 결정한다. 예를 들어, 장치(100)는, 전자 출판물이 고정 레이아웃 출판물로 취급될 것인지 또는 리플로 가능 출판물로 취급될 것인지, 스크린 방향이 로킹될 것인지의 여부, 또는 출판물이 처음에 단일-페이지 펼침으로 열릴 것인지 또는 2-페이지 펼침으로 열릴 것인지를 결정하기 위해 display-option.xml 구성 파일 또는 출판물의 다른 구성 파일을 판독 및 파싱할 수 있다. 본 일례의 나머지는, 전자 출판물이 고정 레이아웃 전자 출판물로 취급될 것이라고 가정한다.
일부 실시예들에서, 전자 출판물이 고정 레이아웃 전자 출판물로 취급될 것이라는 결정은 다음 중 하나 또는 둘 다를 의미한다:
(1) 전자 출판물의 각각의 콘텐츠 문서에 대해, 장치(100)는 콘텐츠 문서가 (a) 고정 레이아웃 페이지로서 취급될 것인지 또는 (b) 리플로 가능 문서로 취급될 것인지를 결정할 것이다;
(2) 적어도 고정 레이아웃 페이지들이 디스플레이될 때, 장치(100)는 독자가 디스플레이된 텍스트의 폰트 또는 폰트 크기를 변경하는 능력을 디스에이블한다.
상술된 바와 같이, 일부 실시예들에서, 고정 레이아웃 출판물의 콘텐츠 문서는 고정 레이아웃 페이지 또는 리플로 가능 문서로서 렌더링될 수 있다. 콘텐츠 문서를 렌더링하기 전에, 장치(100)는 콘텐츠 문서가 고정 레이아웃 페이지로서 취급될 것인지 또는 리플로 가능 문서로 취급될 것인지를 결정한다(블록 303). 이 결정 전에, 장치(100)는 렌더링 이벤트에 응답해서 콘텐츠 문서를 획득한다(블록 302). 렌더링 이벤트는 콘텐츠 문서가 렌더링되게 야기하는 장치(100) 내의 임의의 이벤트일 수 있다. 항상이 아니라, 통상, 렌더링 이벤트는 장치(100)의 독자(사용자)로부터의 입력에 의해 트리거된다. 장치(100)가 콘텐츠 문서를 획득하게 야기할 수 있는 렌더링 이벤트의 비제한적인 일례들은 독자가 전자 출판물을 여는 것, 독자가 출판물의 페이지를 넘기는 것, 독자가, 예를 들어, 장치(100) 디스플레이(116)의 물리적 방향을 변경함으로써, 가로로부터 세로로 또는 세로로부터 가로로 스크린 방향이 변경되게 야기하는 것, 및 독자가, 예를 들어, 그래픽 사용자 인터페이스를 통해 액세스될 수 있는 구성 동작을 조정함으로써, 단일-페이지 펼침으로부터 2-페이지 펼침으로 또는 2-페이지 펼침으로부터 단일-페이지 펼침으로 출판물의 디스플레이가 전환하게 야기하는 것을 포함한다.
콘텐츠 문서를 획득한 후에, 장치(100)는 콘텐츠 문서가 (a) 고정 레이아웃 페이지로서 취급될 것인지 또는 (b) 리플로 가능 문서로 취급될 것인지를 결정한다(블록 303). 이 결정은 분명한 구성에 기초하여 이루어지거나, 장치(100)에 의해 추론되거나, 또는 분명한 구성 및 추론의 조합에 기초하여 이루어질 수 있다. 예를 들어, 구성 파일 내의 또는 콘텐츠 문서 자체 내의, 콘텐츠 문서와 연관된 구성 데이터는 콘텐츠 문서가 취급되는 방법을 나타낼 수 있다. 대안으로, 장치(100)는 콘텐츠 문서와 연관된 메타데이터로부터 콘텐츠 문서가 취급되는 방법을 추론할 수 있다. 예를 들어, 장치(100)는, 콘텐츠 문서가 콘텐츠 문서에서의 "<meta>" 뷰포트 요소의 존재에 의해 고정 레이아웃 페이지로서 취급될 것이라고 결정할 수 있다. 역으로, 장치(100)는, 콘텐츠 문서가 콘텐츠 문서에서의 "<meta>" 뷰포트 요소의 부재시 리플로 가능 문서로서 취급될 것이라고 결정할 수 있다.
일부 실시예들에서, 콘텐츠 문서가 고정 레이아웃 페이지로서 취급될 것이라고 장치(100)가 결정하는 경우에, 장치(100)는 콘텐츠 문서가 단일 페이지 고정 레이아웃 페이지로서 취급될 것인지 또는 2-페이지 펼침 고정 레이아웃 페이지로서 취급될 것인지를 또한 결정한다. 다시 말해서, 이 결정은 콘텐츠 문서와 연관된 분명한 구성에 기초하여 이루어지거나, 콘텐츠 문서 자체로부터 추론되거나, 또는 구성 및 추론의 조합에 기초하여 이루어질 수 있다.
콘텐츠 문서가 고정 레이아웃 페이지로서 취급될 것이면, 콘텐츠 문서는 디스플레이(116)의 스크린에 전체적으로 디스플레이되는 고정 레이아웃 페이지로서 렌더링된다(블록 305). 특히, 콘텐츠 문서가 단일 페이지 고정 레이아웃 페이지로서 취급될 것이면, 콘텐츠 문서는 디스플레이(116)의 스크린에 전체적으로 디스플레이되는 단일 페이지 고정 레이아웃 페이지로서 렌더링된다(블록 305). 한편, 콘텐츠 문서가 2-페이지 펼침 고정 레이아웃 페이지로서 취급될 것이면, 콘텐츠 문서는 디스플레이(116)의 스크린에 전체적으로 디스플레이되는 2-페이지 펼침 고정 레이아웃 페이지로서 렌더링된다(블록 305).
콘텐츠 문서가 고정 레이아웃 페이지로서 렌더링될 때, 콘텐츠 문서의 비주얼 콘텐츠가 고정 레이아웃 페이지에 디스플레이되고(블록 306), 장치(100)는 콘텐츠 문서의 비주얼 콘텐츠가 다른 페이지로 리플로하는 것을 허용하지 않는다(블록 307).
고정 레이아웃 페이지를 디스플레이할 때(블록 305), 고정 레이아웃 페이지는 디스플레이(116) 스크린의 현재 크기에 맞도록 장치(100)의 스케일링 메커니즘에 의해 스케일링될 수 있다. 또한, 콘텐츠 문서의 비주얼 콘텐츠를 고정 레이아웃 페이지에 디스플레이할 때(블록 306), 비주얼 콘텐츠는 스케일링된 고정 레이아웃 페이지 크기에 맞도록 장치(100)의 스케일링 메커니즘에 의해 재배치되고 다시 크기 조정될 수 있다. 일례의 스케일링 동작은 도 4와 관련하여 후술된다.
한편, 콘텐츠 문서가 리플로 가능 문서로서 취급될 것이면, 콘텐츠 문서의 비주얼 콘텐츠의 일부 또는 전부가 한 페이지에 디스플레이되고(블록 308), 장치(100)는 콘텐츠 문서의 비주얼 콘텐츠가 페이지들 간에 리플로하는 것을 허용한다(블록 309).
흐름도(300)의 단계들이 특정 순서로 기술 및 제시되었지만, 다른 실시예들에서, 단계들은 도시 및 기술된 순서와 상이한 순서로 실행될 수 있고, 일부 단계들은 동시에 실행될 수 있다.
샘플 스케일링 동작
도 3을 참조해서 상술된 바와 같이, 콘텐츠 문서에 대응하는 고정 레이아웃 페이지를 디스플레이할 때(블록 305), 고정 레이아웃 페이지는 디스플레이(116) 스크린의 현재 크기에 맞도록 장치(100)의 스케일링 메커니즘에 의해 스케일링될 수 있다. 또한, 콘텐츠 문서의 비주얼 콘텐츠는 스케일링된 고정 레이아웃 페이지 크기에 맞도록 스케일링 메커니즘에 의해 재배치되고 다시 크기 조정될 수 있다. 장치(100)의 샘플 스케일링 동작이 도 4를 참조해서 이제 기술될 것이다. 이하의 일례에서, 스케일링 동작은 장치(100)에 의해 실행되는 것으로 기술된다. 장치(100)는 스케일링 동작을 실행하기 위한 하나 이상의 논리 요소들을 포함할 수 있다. 논리 요소들은 전적으로 소프트웨어로, 전적으로 하드웨어로, 또는 소프트웨어 및 하드웨어의 조합으로 구현될 수 있다. 일 특정 실시예에서, 스케일링 동작은 장치(100)의 운영 체제(114)와 협력하여 장치(100)의 애플리케이션(112)에 의해 실행된다.
이하의 일례의 스케일링 동작에서, 콘텐츠 문서의 레이아웃 뷰포트는 디스플레이(116)의 스크린의 현재 크기보다 적어도 하나의 치수가 더 크고, 따라서, 고정 레이아웃 페이지는 스크린의 현재 크기에 맞도록 축소되어야만 한다고 가정된다. 그러나, 유사한 스케일링 동작이 스크린의 크기에 맞도록 페이지를 확대하도록 실행될 수 있음이 당업자에게 명백할 것이다. 또한, 다른 실시예들에서, 장치(100)는, 예를 들어, 레이아웃 뷰포트의 크기가 고정 레이아웃 페이지가 스케일링 없이 스크린에 전적으로 맞을 수 있도록 된 경우이면, 렌더링 이벤트에 응답해서 고정 레이아웃 페이지를 스케일링하지 않을 수 있다.
도 4의 흐름도(400)를 이제 참조하면, 흐름도(400)는 본 발명의 일 실시예에 따른 축소 프로세스의 단계들을 도시한다. 장치(100)는 콘텐츠 문서가 고정 레이아웃 페이지로서 취급될 것이라고 결정한 후에 전자 출판물의 콘텐츠 문서에 대한 단계들을 실행한다. 예를 들어, 장치(100)는 도 3의 흐름도(300)의 단계들(305 및 306)에 관련하여 흐름도(400)의 단계들을 실행할 수 있다. 콘텐츠 문서는 출판인에 의해 고정 레이아웃 페이지에 할당된 하나 이상의 비주얼 콘텐츠 요소들을 포함 또는 참조한다. 비주얼 콘텐츠 요소는, 예를 들어, 텍스트 또는 이미지일 수 있다.
단계(401)에서, 장치(100)는 콘텐츠 문서에 대한 레이아웃 뷰포트의 화면 비율 및 치수들을 획득한다. 일부 실시예들에서, 화면 비율은 콘텐츠 문서의 "<meta>" 뷰포트 요소로부터 획득된다. 일부 실시예들에서, 레이아웃 뷰포트의 치수들(예를 들어, 픽셀 폭 및 높이)은 콘텐츠 문서에 의해 포함 또는 참조된 스타일시트로부터 획득된다. 특히, 레이아웃 뷰포트의 치수들은 HTML/XHTML "<body>" 요소에 대한 스타일시트의 선언된 치수들로부터 획득될 수 있다. 일부 실시예들에서, 레이아웃 뷰포트의 화면 비율 및 치수들 둘 다는 콘텐츠 문서의 "<meta>" 뷰포트 요소로부터 획득된다. 일부 실시예들에서, 둘 다 콘텐츠 문서에 의해 포함 또는 참조된 스타일시트로부터 획득된다. 일부 실시예들에서, 화면 비율은 콘텐츠 문서에 의해 포함 또는 참조된 스타일시트로부터 획득되고, 치수들은 콘텐츠 문서의 "<meta>" 뷰포트 요소로부터 획득된다.
단계(402)에서, 장치(100)는 디스플레이(116)의 스크린의 현재 크기를 반영하는 데이터를 획득한다. 데이터는 픽셀 단위의 스크린의 현재 폭 및 픽셀 단위의 스크린의 현재 높이를 나타낸다. 스크린의 현재 폭 및 높이는 스크린의 현재 방향에 따라 변할 수 있다. 특히, 데이터가 획득될 때 스크린이 현재 가로 방향이면, 스크린의 현재 폭은 현재 높이보다 더 클 것이다. 한편, 스크린이 현재 세로 방향이면, 현재 높이는 현재 폭보다 더 클 것이다. 일부 실시예들에서, 디스플레이(116)의 스크린의 현재 크기를 반영하는 데이터는 운영 체제(114)로부터 획득된다. 운영 체제(114)는 그 데이터를 디스플레이(116)에 대한 정보를 제공하는데 전용인 함수, 서브-루틴 또는 API(Application Programming Interface)로부터의 반환 또는 출력 값 및 디스플레이(116)의 스크린의 현재 상태로서 제공한다.
단계(403)에서, 장치(100)는 고정 레이아웃 페이지의 제1 치수에 대한 초기 크기를 선택한다. 제1 치수는 폭 또는 높이이다. 초기 크기는, 전체 고정 레이아웃 페이지가 디스플레이(116)의 스크린에 디스플레이될 수 있도록 선택된다. 또한, 초기 크기는, 고정 레이아웃 페이지가 레이아웃 뷰포트의 화면 비율과 동일하거나 또는 실질적으로 동일한 화면 비율을 갖도록 선택된다.
일부 실시예들에서, 레이아웃 뷰포트 화면 비율이 스크린 화면 비율보다 더 크면 제1 치수로서 폭이 선택된다. 다른 실시예들에서, 레이아웃 뷰포트 화면 비율이 스크린 화면 비율보다 더 작으면 제1 치수로서 높이가 선택된다. 예를 들어, 레이아웃 뷰포트가 1000 픽셀 폭 × 1400 픽셀 높이이고 디스플레이 스크린의 현재 크기가 768 픽셀 폭 × 1024 픽셀 높이이면, 높이가 제1 치수로서 선택된다.
제1 치수가 선택되면, 장치(100)는 제1 치수의 고정 레이아웃 페이지에 대한 초기 크기를 선택한다(블록 403). 일부 실시예들에서, 장치(100)는 제1 치수의 스크린의 크기와 동일하거나 또는 실질적으로 동일한 초기 크기를 선택한다. 이전 단락의 일례로 돌아가서, 높이가 제1 치수로서 선택되면, 일부 실시예들에 따라, 장치(100)는 1024 픽셀의 고정 레이아웃 페이지의 높이에 대한 초기 크기를 선택할 것이다.
고정 레이아웃 페이지의 제1 치수의 초기 크기가 선택되면, 고정 레이아웃 페이지가 레이아웃 뷰포트 화면 비율을 유지 또는 실질적으로 유지하도록, 다른 치수의 초기 크기는 장치(100)에 의해 계산된다. 제1 치수가 높이이면, 고정 레이아웃 페이지의 폭에 대한 초기 크기는 레이아웃 뷰포트 화면 비율을 스크린의 현재 폭과 곱함으로써 계산될 수 있다. 제1 치수가 폭이면, 고정 레이아웃 페이지의 높이에 대한 초기 크기는 스크린의 현재 높이를 레이아웃 뷰포트 화면 비율로 나눔으로써 계산될 수 있다. 이전 일례로 다시 돌아가서, 높이가 제1 치수로서 선택되면, 고정 레이아웃 페이지의 초기 폭은 라운딩에 따라 대략 731 또는 732 픽셀(1024 픽셀 * (1000 픽셀/1400 픽셀))이다.
일부 실시예들에서, 고정 레이아웃 페이지는 유용한 스크린 리얼 에스테이트를 완전히 채우지 않으며, 고정 레이아웃 페이지의 경계 주위의 일부 영역은 툴바들, 거짓 책 제본 및 페이지들, 작은 슬라이스의 대면 페이지 등의 다른 비주얼 요소들에 사용된다. 단계(404)에서, 장치(100)는 스크린 리얼 에스테이트를 소비하는 다른 경계 요소들을 위한 공간을 스크린에서 만들기 위해 고정 레이아웃 페이지의 초기 크기를 조정한다. 장치(100)는, 레이아웃 뷰포트 화면 비율이 유지 또는 실질적으로 유지되도록, 초기 고정 레이아웃 페이지 크기를 조정한다. 조정의 결과는 초기 고정 레이아웃 페이지 크기보다 더 작지만, 초기 고정 레이아웃 페이지 크기와 동일한 또는 실질적으로 동일한 화면 비율을 가진 최종 고정 레이아웃 페이지 크기이다.
일부 실시예들에서, 조정(블록 404)은 장치(100)가 상부, 하부, 좌측 및 우측 경계들에 대한 크기를 결정하는 것을 수반한다. 경계 크기들은 어떤 비주얼 요소들이 고정 레이아웃 페이지 주위의 경계 영역들에 디스플레이되는지와 요소들의 크기들에 따라 변할 수 있다. 예를 들어, 상부 경계 영역은 툴바 또는 다른 그래픽 사용자 인터페이스 제어들을 디스플레이할 수 있다. 고정 레이아웃 페이지가 단일-페이지 펼침으로 디스플레이되는 출판물의 우측-대면 페이지이면, 스크린의 좌측 경계는, 예를 들어, 좌측-대면 페이지의 작은 수직 슬라이스, 거짓 제본 등을 포함할 수 있고, 우측 경계는 실제 물리적인 책 또는 잡지를 읽을 경우 독자에게 보이게 되는 바와 같이 고정 레이아웃 페이지 아래에 쌓인 것처럼 보이는 거짓 페이지들을 포함할 수 있다. 유사하게, 고정 레이아웃 페이지가 좌측-대면 페이지이면, 스크린의 우측 경계는, 예를 들어, 우측-대면 페이지의 슬라이스, 거짓 제본 등을 포함할 수 있고, 스크린의 좌측 경계는 거짓 페이지들을 포함할 수 있다. 단일-페이지 또는 2-페이지 펼침에서, 스크린의 경계들 중 하나 이상의 경계들은 거짓 커버를 위한 공간을 가질 수 있다. 경계들의 크기들이 결정되면, 장치(100)는 초기 고정 레이아웃 페이지 크기를 조정하여 최종 고정 레이아웃 페이지 크기를 산출한다. 장치(100)는 동시에 경계 요소들을 위한 공간을 만들면서 레이아웃 뷰포트의 화면 비율을 유지 또는 실질적으로 유지하는 초기 고정 레이아웃 페이지 크기를 조정한다.
일례로서, 스크린 768 픽셀 폭 및 1024 픽셀 높이에서 단일 페이지 고정 레이아웃 페이지로서 렌더링되는 1000 픽셀 폭 및 1400 픽셀 높이의 레이아웃 뷰포트 크기를 가진 콘텐츠 문서는 731 픽셀 폭 × 1024 픽셀 높이의 초기 고정 레이아웃 페이지 크기를 가질 수 있다. 초기 고정 레이아웃 페이지 크기는 스크린에서 경계 요소들을 위한 공간을 만들기 위해 686 픽셀 폭 및 968 픽셀 높이의 최종 고정 레이아웃 페이지 크기로 축소되게 조정될 수 있다. 레이아웃 뷰포트의 화면 비율, 초기 고정 레이아웃 페이지, 및 최종 고정 레이아웃 페이지가 동일하거나 또는 실질적으로 유사함을 주지하라.
다른 일례로서, 2-페이지 펼침의 일부로서 단일 페이지 고정 레이아웃 페이지로서 가로 방향으로 스크린에서 렌더링되는 동일한 레이아웃 뷰포트 크기를 가진 콘텐츠 문서는 548 픽셀 폭 × 768 픽셀 높이의 초기 고정 레이아웃 페이지 크기를 가질 수 있다(다른 콘텐츠 문서도 2-페이지 펼침의 대면 페이지를 나타내는 다른 단일 페이지 고정 레이아웃 페이지로서 렌더링됨). 초기 고정 레이아웃 페이지 크기는 스크린에서 경계 요소들을 위한 공간을 만들기 위해 500 픽셀 폭 및 711 픽셀 높이의 최종 고정 레이아웃 페이지 크기로 축소되게 조정될 수 있다. 다시 말해서, 레이아웃 뷰포트의 화면 비율, 초기 고정 레이아웃 페이지, 및 최종 고정 레이아웃 페이지는 동일하거나 또는 실질적으로 유사하다.
단계(405)에서, 폭 스케일링 인자 및 높이 스케일링 인자는 레이아웃 뷰포트 치수들 및 최종 고정 레이아웃 페이지 크기에 기초하여 장치(100)에 의해 결정된다. 이 스케일링 인자들은 최종 고정 레이아웃 페이지 크기에 맞도록 고정 레이아웃 페이지에 할당된 비주얼 요소들을 재배치하고 다시 크기 조정하기 위해 장치(100)에 의해 사용된다. 비주얼 요소들은 출판인에 의해 지정된 고정 레이아웃을 보유하면서 장치(100)에 의해 재배치되고 다시 크기 조정된다. 폭 스케일링 인자 및 높이 스케일링 인자는 백분율 위치들을 나타내고, 비주얼 요소들의 크기들은 최종 고정 레이아웃 페이지 크기에 맞도록 폭 및 높이에 대해 조정되어야만 한다. 폭 스케일링 인자(width-wise scaling factor)는 최종 고정 레이아웃 페이지의 폭을 레이아웃 뷰포트의 지정된 폭으로 나눔으로써 결정될 수 있다. 높이 스케일링 인자(height-wise scaling factor)는 최종 고정 레이아웃 페이지의 높이를 레이아웃 뷰포트의 높이로 나눔으로써 결정될 수 있다. 일례로서, 레이아웃 뷰포트 크기가 1000 픽셀 폭 × 1400 픽셀 높이이고 최종 고정 레이아웃 페이지 크기가 500 픽셀 폭 및 711 픽셀 높이이면, 폭 스케일링 인자는 50%이고, 높이 스케일링 인자는 대략 51%이다.
단계(406)에서, 출판인에 의해 고정 레이아웃 페이지에 할당된 비주얼 콘텐츠 요소들의 위치 및 크기는 폭 스케일링 인자 및 높이 스케일링 인자에 기초하여 최종 고정 레이아웃 페이지 크기에 맞도록 장치(100)에 의해 축소된다. 이 축소는 장치(100)가 최종 고정 레이아웃 페이지에서 비주얼 콘텐츠 요소들을 렌더링함에 따라 발생할 수 있다. 예를 들어, 장치(100)가 고정 레이아웃 페이지에서 렌더링될 비주얼 콘텐츠 요소를 나타내는 일련의 바이트들과 마주침에 따라, 장치(100)는 바이트들의 스트림으로서 콘텐츠 문서를 판독 및 파싱할 수 있으며, 장치(100)는 축소를 실행할 수 있다.
일부 실시예들에서, 출판인에 의해 레이아웃 뷰포트에 정확하게 배치된 비주얼 콘텐츠 요소의 경우, 위치는 최종 고정 레이아웃 페이지 크기에 맞도록 장치(100)에 의해 축소된다. 예를 들어, 텍스트 블록 또는 이미지가 레이아웃 뷰포트 1000 픽셀 폭 및 1400 픽셀 높이의 좌측 경계로부터 100 픽셀 및 상부 경계로부터 400 픽셀 아래에서 시작하도록 출판인에 의해 배치되면, 최종 고정 레이아웃 페이지 500 픽셀 폭 및 711 픽셀 높이에서 텍스트 블록을 렌더링하기 시작하는 위치는 최종 고정 레이아웃 페이지의 좌측 경계로부터 50 픽셀(500/100*100) 및 최종 고정 레이아웃 페이지의 상부 경계로부터 203 픽셀(711/1400*400)이다.
일부 실시예들에서, 이미지의 크기(폭 및 높이)도 폭 스케일링 인자 및 높이 스케일링 인자에 기초하여 축소된다. 예를 들어, 레이아웃 뷰포트 2000 픽셀 폭 및 2800 픽셀 높이에 배치된 이미지 1000 픽셀 폭 및 1400 픽셀 높이는, 500 픽셀 폭 및 711 픽셀 높이의 최종 고정 레이아웃 페이지 크기에 제시될 때, 250 픽셀 폭(500/2000*1000) 및 355 픽셀 높이(711/2800*1400)로 축소될 것이다. 최종 고정 레이아웃 페이지 크기에 맞도록 축소된 이미지는 레이아웃 뷰포트에서 소비된 원래 이미지 크기와 대략 동일한 최종 고정 레이아웃 페이지의 백분율 영역을 소비함을 주지하라.
일부 실시예들에서, 고정 레이아웃 페이지에서 디스플레이될 텍스트에 대한 폰트 글리프들은, 그 폰트 글리프들이 고정 레이아웃 페이지에서 그려질 준비가 될 때까지 래스터화되지 않는다. 그려질 픽셀들은 글리프 폰트의 벡터 경로들을 사용해서 결정된다. 래스터화된 글리프들은 폭 및/또는 높이 스케일링 인자들에 기초하여 스케일링된다.
흐름도(400)의 단계들이 특정 순서로 기술 및 제시되었지만, 다른 실시예들에서, 단계들은 도시 및 기술된 순서와 상이한 순서로 실행될 수 있고, 일부 단계들은 동시에 실행될 수 있다.
페이지 이미지들에 따른 비주얼 효과
일부 실시예들에서, 장치(100)는 고정 레이아웃 출판물의 렌더링된 고정 레이아웃 페이지들의 디지털 이미지들을 생성한다. 디지털 이미지들은 3개의 상이한 비주얼 효과들을 제공하는데 사용된다. 한 효과에서, 고정 레이아웃 출판물의 콘텐츠의 테이블은, 임의의 텍스트 정보 외에, 콘텐츠의 테이블에서 참조된 각각의 고정 레이아웃 페이지의 섬네일 이미지를 제공한다. 제2 효과에서, 독자가 출판물의 고정 레이아웃 페이지를 넘기기 위해 입력을 제공할 때, 렌더링된 고정 레이아웃 페이지는 고정 레이아웃 페이지의 생성된 디지털 이미지로 대체되고, 고정 레이아웃 페이지가 실제 물리적 종이 페이지를 넘기는 것처럼 보이도록 애니메이션 비주얼 컬링 효과가 이미지에 적용된다. 제3 효과에서, 독자가 장치(100)의 "스크러버(scrubber)" 그래픽 사용자 인터페이스 컴포넌트에 입력을 제공함에 따라, 고정 레이아웃 페이지들의 섬네일 이미지들이 제공된다.
디지털 이미지들의 생성
일부 실시예들에서, 장치(100)는 고정 레이아웃 페이지를 가상 스크린 버퍼에 렌더링하고, 예를 들어, JPEG 또는 PNP 이미지 파일 등의 이미지 파일로서 스크린 버퍼로부터 고정 레이아웃 페이지의 이미지를 캡처함으로써 고정 레이아웃 페이지의 디지털 이미지를 생성한다. 이미지 파일은 장치(100)의 기억 장치(106)에 저장될 수 있다. 일부 실시예들에서, 고정 레이아웃 페이지의 디지털 이미지를 생성하기 위해, 장치(100)는 레이아웃 뷰포트의 크기에 대응하는 가상 스크린 크기를 가진 가상 스크린 버퍼를 인스턴스화한다. 장치(100)는 가상 스크린을 채우기 위해 스크린 버퍼에 고정 레이아웃 페이지를 렌더링하고 스크린 버퍼로부터 이미지를 캡처한다. 예를 들어, 레이아웃 뷰포트 1000 픽셀 폭 × 1400 픽셀 높이는 이미지 1000 픽셀 × 1400 픽셀을 생성한다.
가상 스크린 버퍼로부터 캡처된 이미지의 축소된 버전들이 또한 생성되어 이미지 파일들로서 저장될 수 있다. 예를 들어, 장치(100)는 콘텐츠 비주얼 효과 및/또는 스크러버 비주얼 효과의 테이블에 대한 캡처된 스크린 버퍼 이미지의 섬네일 버전을 생성할 수 있다. 장치(100)는 페이지 넘김 효과에 대한 캡처된 스크린 버퍼 이미지의 2개의 축소 버전들을 생성할 수 있다: 하나는 단일-페이지 펼침으로 디스플레이될 때의 대응 고정 레이아웃 페이지에 대한 것이고, 다른 하나는 2-페이지 펼침으로 디스플레이될 때의 대응 고정 레이아웃 페이지에 대한 것이다.
장치(100)는 디스플레이(116)에서 출판물의 렌더링에 대한 영향을 최소화하는 스크린 버퍼 이미지 및 섬네일 및 축소된 이미지들을 때때로 생성할 수 있다. 예를 들어, 스크린 버퍼 이미지들 및 섬네일 이미지들은 콘텐츠의 테이블에서 참조된 고정 레이아웃 페이지들에 대해서만 생성될 수 있다. 그 후, 독자가 고정 레이아웃 페이지를 보거나 또는 고정 레이아웃 페이지를 스크러버로 프리뷰할 때 적기에 다른 페이지들에 대해 스크린 버퍼 이미지들, 섬네일 이미지들, 및 축소 이미지들이 생성될 수 있다. 또한, 생성되면, 생성된 이미지 파일들은 동일한 이미지 파일을 반복해서 생성하는 것을 방지하기 위해 기억 장치(106)에 캐싱될 수 있다.
본 기술 분야에 공지된 기술들은 가상 스크린 버퍼로부터 이미지를 캡처하고 스크린 버퍼 이미지를 섬네일 크기 또는 다른 크기로 축소하는데 사용될 수 있다.
상술된 설명에서, 본 발명의 실시예들은 구현마다 변할 수 있는 다수의 특정 세부 사항들을 참조해서 기술되었다. 따라서, 무엇이 본 발명이고 출원인에 의해 본 발명이라고 의도된 것인지를 나타내는 유일한 독점적인 지표는, 임의의 차후 보정을 포함해서, 청구항들이 발행되는 특정 형태의, 본 출원으로부터 발행되는 청구항들의 집합이다. 이러한 청구항들에 포함된 용어들에 대해 본 명세서에 명확히 기재된 임의의 정의들은 청구항들에서 사용되는 그러한 용어들의 의미를 좌우한다. 따라서, 청구항에서 명확히 인용되지 않은 어떠한 제한, 요소, 속성, 특징, 장점 또는 속성도 어떤 식으로든 청구항의 범위를 제한하지 않는다. 따라서, 명세서 및 도면들은 제한적이기보다는 예시적인 의미에서 간주될 것이다.

Claims (22)

  1. 컴퓨터 구현 방법으로서,
    디스플레이 스크린을 가진 또는 상기 디스플레이 스크린에 동작상 연결된 장치에서:
    전자 출판물(electronic publication)을 (a) 고정 레이아웃 전자 출판물 또는 (b) 리플로 가능(re-flowable) 전자 출판물 중 하나로 취급할지를 결정하는 단계;
    상기 전자 출판물의 비주얼 콘텐츠가 상기 디스플레이 스크린에서 제1 디스플레이 페이지에 디스플레이되게 야기하는 단계;
    상기 전자 출판물이 고정 레이아웃 전자 출판물로서 취급될 것이면, 상기 제1 디스플레이 페이지에 디스플레이된 비주얼 콘텐츠의 적어도 일부분이 상기 디스플레이 스크린에 더 이상 디스플레이되지 않는 정도까지 상기 제1 디스플레이 페이지를 줌 또는 확대하라는 명령어를 수신함에 응답해서 상기 제1 디스플레이 페이지에 디스플레이된 비주얼 콘텐츠가 제2 디스플레이 페이지로 리플로(re-flow)하는 것을 허용하지 않는 단계; 및
    상기 전자 출판물이 리플로 가능 전자 출판물로서 취급될 것이면, 상기 제1 디스플레이 페이지를 줌 또는 확대하라는 명령어를 수신함에 응답해서 상기 제1 디스플레이 페이지에 디스플레이된 비주얼 콘텐츠가 상기 제2 디스플레이 페이지로 리플로하는 것을 허용하는 단계
    를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 전자 출판물을 (a) 고정 레이아웃 전자 출판물 또는 (b) 리플로 가능 전자 출판물 중 하나로 취급할지를 결정하는 단계는 상기 전자 출판물이 (a) 고정 레이아웃 전자 출판물로서 취급될지 또는 (b) 리플로 가능 전자 출판물로서 취급될지를 지정하는 상기 전자 출판물의 메타데이터를 판독하는 단계를 포함하는 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 전자 출판물을 (a) 고정 레이아웃 전자 출판물 또는 (b) 리플로 가능 전자 출판물 중 하나로 취급할지를 결정하는 단계는 상기 전자 출판물이 (a) 고정 레이아웃 전자 출판물로서 취급될지 또는 (b) 리플로 가능 전자 출판물로서 취급될지를 지정하는 불 값(Boolean value)을 결정하기 위해 상기 전자 출판물의 파일의 마크업 언어 요소(markup language element)를 파싱(parsing)하는 단계를 포함하고; 상기 마크업 언어 요소는 상기 불 값을 포함하는 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 장치는, 상기 장치가 2개의 디스플레이 스크린 방향(orientation) 모드에 대응하는 2개의 물리적 방향 모드 중 하나의 물리적 방향 모드에 있는지를 검출하기 위한 메커니즘을 포함하고, 상기 방법은:
    상기 2개의 디스플레이 스크린 방향 모드 중 하나의 디스플레이 스크린 방향 모드를 나타내는 상기 전자 출판물의 메타데이터를 판독하는 단계; 및
    상기 디스플레이 스크린에 상기 전자 출판물의 비주얼 콘텐츠를 디스플레이하면서, 상기 2개의 물리적 방향 모드 중 하나의 물리적 방향 모드로부터 상기 2개의 물리적 방향 모드 중 다른 물리적 방향 모드로의 변경을 나타내는 통지를 상기 메커니즘으로부터 수신함에 응답해서 상기 메타데이터에 의해 표시된 디스플레이 스크린 방향 모드로 상기 디스플레이 스크린을 유지하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 전자 출판물의 고정 레이아웃 페이지들의 화면 비율(aspect ratio)을 나타내는 상기 전자 출판물의 메타데이터를 판독하는 단계를 더 포함하고;
    상기 전자 출판물의 비주얼 콘텐츠가 상기 디스플레이 스크린에서 상기 제1 디스플레이 페이지에 디스플레이되게 야기하는 단계는 상기 메타데이터에 의해 표시된 화면 비율에 비례해서 이미지 콘텐츠의 크기를 조절(resizing)하는 단계를 포함하는 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 전자 출판물의 고정 레이아웃 페이지들의 페이지 치수들을 지정하는 상기 전자 출판물의 메타데이터를 판독하는 단계를 더 포함하고;
    상기 전자 출판물의 비주얼 콘텐츠가 상기 디스플레이 스크린에서 상기 제1 디스플레이 페이지에 디스플레이되게 야기하는 단계는 상기 메타데이터에 의해 지정된 페이지 치수들에 비례해서 이미지 콘텐츠의 크기를 조절하는 단계를 포함하는 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 전자 출판물의 비주얼 콘텐츠가 상기 디스플레이 스크린에서 상기 제1 디스플레이 페이지에 디스플레이되게 야기하는 단계는 텍스트 콘텐츠의 디스플레이가 상기 제1 디스플레이 페이지에서 이미지 콘텐츠의 디스플레이와 오버랩하도록 야기하는 단계를 포함하는 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    상기 전자 출판물의 비주얼 콘텐츠가 상기 디스플레이 스크린에서 상기 제1 디스플레이 페이지에 디스플레이되게 야기하는 단계는 텍스트 콘텐츠가 상기 전자 출판물의 스타일 시트에 의해 지정된 위치에서 이미지 콘텐츠의 위(top)에 디스플레이되도록 야기하는 단계를 포함하는 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 전자 출판물을 고정 레이아웃 전자 출판물로서 취급하기로 결정함에 응답해서, 상기 전자 출판물의 텍스트 콘텐츠의 폰트들의 크기를 조절할 수 있는 사용자의 능력을 디스에이블하는 단계를 더 포함하는 컴퓨터 구현 방법.
  10. 제1항에 있어서,
    상기 전자 출판물을 (a) 고정 레이아웃 전자 출판물 또는 (b) 리플로 가능 전자 출판물 중 하나로 취급할지를 결정하는 단계는 상기 전자 출판물이 (a) 고정 레이아웃 전자 출판물로서 취급될지 또는 (b) 리플로 가능 전자 출판물로서 취급될지를 결정하기 위해 상기 전자 출판물의 파일의 마크업 언어 메타 요소를 파싱하는 단계를 포함하는 컴퓨터 구현 방법.
  11. 제1항에 있어서,
    상기 전자 출판물을 (a) 고정 레이아웃 전자 출판물 또는 (b) 리플로 가능 전자 출판물 중 하나로 취급할지를 결정하는 단계는
    상기 전자 출판물의 제1 파일에 포함된 제1 마크업 언어 요소의 값에 대해 상기 제1 파일을 파싱하는 단계 - 상기 제1 마크업 언어 요소의 값은 상기 전자 출판물이 고정 레이아웃 출판물로서 취급될지를 지정함 - ; 및
    상기 제1 마크업 언어 요소의 값에 기초하여 상기 전자 출판물을 (a) 고정 레이아웃 전자 출판물로서 취급할지 또는 (b) 리플로 가능 전자 출판물로서 취급할지를 결정하는 단계
    를 포함하는 컴퓨터 구현 방법.
  12. 제11항에 있어서,
    상기 마크업 언어는 확장성 하이퍼텍스트 마크업 언어(XHTML)인 컴퓨터 구현 방법.
  13. 제11항에 있어서,
    상기 제1 마크업 언어 요소의 값은 참 및 거짓으로 이루어진 그룹에서 선택되는 컴퓨터 구현 방법.
  14. 제11항에 있어서,
    상기 파일은 상기 전자 출판물의 콘텐츠 문서가 아닌 컴퓨터 구현 방법.
  15. 제11항에 있어서,
    상기 제1 마크업 언어 요소는 마크업 언어 메타 요소인 컴퓨터 구현 방법.
  16. 제11항에 있어서,
    상기 제1 마크업 언어 메타 요소의 값은 상기 제1 마크업 언어 메타 요소의 속성의 값인 컴퓨터 구현 방법.
  17. 제11항에 있어서,
    상기 제1 파일에 포함된 제2 마크업 언어 요소의 값에 대해 상기 제1 파일을 파싱하는 단계 - 상기 제2 마크업 언어 요소의 값은 상기 전자 출판물이 가로(landscape) 및 세로(portrait)로 이루어진 그룹에서 선택된 디스플레이 스크린 방향으로 제한(constrain)되어 있는지를 지정함 - ; 및
    상기 제2 마크업 언어 요소의 값에 기초하여, 상기 제2 마크업 언어 요소의 값에 의해 지정된 상기 디스플레이 스크린 방향으로 상기 전자 출판물의 디스플레이를 로킹(locking)하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  18. 제11항에 있어서,
    상기 전자 출판물의 제2 파일을 파싱하여 레이아웃 뷰포트(layout viewport)의 치수들을 결정하는 단계; 및
    상기 레이아웃 뷰포트의 결정된 치수들에 기초하여, 디스플레이 스크린의 치수들에 맞도록 상기 전자 출판물의 비주얼 콘텐츠를 스케일링하는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  19. 제11항에 있어서,
    상기 제2 파일은, 상기 제1 파일이 아닌 상기 전자 출판물의 콘텐츠 문서인 컴퓨터 구현 방법.
  20. 제11항에 있어서,
    상기 레이아웃 뷰포트의 치수들은 상기 제2 파일에서 픽셀-폭 및 픽셀-높이에 관하여 표현되는 컴퓨터 구현 방법.
  21. 디스플레이 스크린을 가진 또는 상기 디스플레이 스크린에 동작상 연결된 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금 제1항 내지 제20항 중 어느 한 항의 방법을 실행하게 하는 명령어들을 저장한 하나 이상의 비일시적 컴퓨터 판독 가능 매체.
  22. 컴퓨팅 장치로서,
    디스플레이 스크린;
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 의해 실행될 때, 제1항 내지 제20항 중 어느 한 항의 방법의 실행을 야기하는 명령어들을 저장한 하나 이상의 비일시적 컴퓨터 판독 가능 매체
    를 포함하는 컴퓨팅 장치.
KR1020147002060A 2011-06-29 2012-05-22 고정 레이아웃 전자 출판 KR20140040833A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/172,479 2011-06-29
US13/172,479 US20130007602A1 (en) 2011-06-29 2011-06-29 Fixed layout electronic publications
PCT/US2012/038978 WO2013002918A1 (en) 2011-06-29 2012-05-22 Fixed layout electronic publications

Publications (1)

Publication Number Publication Date
KR20140040833A true KR20140040833A (ko) 2014-04-03

Family

ID=46208820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147002060A KR20140040833A (ko) 2011-06-29 2012-05-22 고정 레이아웃 전자 출판

Country Status (8)

Country Link
US (3) US20130007602A1 (ko)
EP (1) EP2727084A1 (ko)
JP (1) JP2014524075A (ko)
KR (1) KR20140040833A (ko)
CN (1) CN103930930A (ko)
AU (1) AU2012275984A1 (ko)
BR (1) BR112013034061A2 (ko)
WO (1) WO2013002918A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190037598A (ko) * 2017-09-29 2019-04-08 이정민 풀 사이즈 웹 페이지 출력을 위한 콘텐츠 크기 제어 방법, 이를 이용한 장치 및 컴퓨터-판독가능 매체
KR102117169B1 (ko) * 2018-12-10 2020-06-04 주식회사 에스프레소북 사용자 단말을 이용한 종이책 제작 방법 및 서버

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330069B2 (en) * 2009-10-14 2016-05-03 Chi Fai Ho Layout of E-book content in screens of varying sizes
US10831982B2 (en) 2009-10-14 2020-11-10 Iplcontent, Llc Hands-free presenting device
MX339341B (es) 2010-01-11 2016-05-20 Apple Inc Manipulacion y visualizacion de texto electronico.
US20130007602A1 (en) 2011-06-29 2013-01-03 Apple Inc. Fixed layout electronic publications
US10630751B2 (en) 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
US10956485B2 (en) 2011-08-31 2021-03-23 Google Llc Retargeting in a search environment
US8650188B1 (en) 2011-08-31 2014-02-11 Google Inc. Retargeting in a search environment
US20130104027A1 (en) * 2011-10-21 2013-04-25 Daniel Bennett Systems, methods, and interfaces for display of inline content and block level content on an access device
US9489121B2 (en) 2011-11-02 2016-11-08 Microsoft Technology Licensing, Llc Optimal display and zoom of objects and text in a document
CN103186505B (zh) * 2011-12-30 2015-12-02 北大方正集团有限公司 一种确定电子文档显示模式的方法和装置
US9418068B2 (en) * 2012-01-27 2016-08-16 Microsoft Technology Licensing, Llc Dimensional conversion in presentations
JP5974685B2 (ja) * 2012-07-04 2016-08-23 富士ゼロックス株式会社 表示装置およびプログラム
US9390473B2 (en) * 2012-09-21 2016-07-12 Google Inc. Displaying applications on a fixed orientation display
US9516271B2 (en) * 2012-10-31 2016-12-06 Microsoft Technology Licensing, Llc Auto-adjusting content size rendered on a display
US10394932B2 (en) * 2012-11-30 2019-08-27 Adobe Inc. Methods and systems for combining a digital publication shell with custom feature code to create a digital publication
JP6099961B2 (ja) * 2012-12-18 2017-03-22 キヤノン株式会社 画像表示装置、画像表示装置の制御方法およびコンピュータプログラム
US9411549B2 (en) * 2012-12-21 2016-08-09 Calgary Scientific Inc. Dynamic generation of test images for ambient light testing
JP2014146128A (ja) * 2013-01-28 2014-08-14 Canon Inc 情報処理装置、情報処理システム、情報処理方法及びプログラム
US20140258841A1 (en) * 2013-03-07 2014-09-11 Smugmug, Inc. Method of building a customizable website
US9400549B2 (en) 2013-03-08 2016-07-26 Chi Fai Ho Method and system for a new-era electronic book
US9483445B1 (en) * 2013-05-14 2016-11-01 Amazon Technologies, Inc. Providing fonts for electronic publications
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US20150103092A1 (en) * 2013-10-16 2015-04-16 Microsoft Corporation Continuous Image Optimization for Responsive Pages
US9940646B2 (en) 2013-11-13 2018-04-10 Google Llc Dynamic insertion of content items into resources
US9412187B2 (en) * 2013-12-20 2016-08-09 Documill Oy Delayed rendering of content
KR102205754B1 (ko) * 2014-02-21 2021-01-21 삼성전자주식회사 디스플레이를 제어하는 전자 장치 및 방법
US10698591B2 (en) 2014-03-31 2020-06-30 Microsoft Technology Licensing, Llc Immersive document interaction with device-aware scaling
US20150278234A1 (en) * 2014-03-31 2015-10-01 Microsoft Corporation Inline web previews with dynamic aspect ratios
US10804153B2 (en) * 2014-06-16 2020-10-13 STATS ChipPAC Pte. Ltd. Semiconductor device and method to minimize stress on stack via
US10147212B2 (en) * 2014-08-29 2018-12-04 Carrier Corporation Method to create display screens for a controller used in a building automation system
US10319073B2 (en) * 2014-09-12 2019-06-11 Barnes & Noble College Booksellers, Llc Universal digital content zooming techniques
US20160321222A1 (en) * 2014-10-09 2016-11-03 Wrap Media, LLC Card based package for distributing electronic media and services
US20160342935A1 (en) * 2014-10-09 2016-11-24 Wrap Media, LLC Generating and delivering a wrap package of cards including custom content and/or services in response to a triggered event
US9600594B2 (en) 2014-10-09 2017-03-21 Wrap Media, LLC Card based package for distributing electronic media and services
US9489684B2 (en) 2014-10-09 2016-11-08 Wrap Media, LLC Delivering wrapped packages in response to the selection of advertisements
US9448972B2 (en) * 2014-10-09 2016-09-20 Wrap Media, LLC Wrap package of cards supporting transactional advertising
WO2016057188A1 (en) 2014-10-09 2016-04-14 Wrap Media, LLC Active receipt wrapped packages accompanying the sale of products and/or services
US9817795B2 (en) * 2014-10-30 2017-11-14 Konica Minolta Laboratory U.S.A., Inc. Document layout for electronic displays
US9779068B2 (en) * 2015-02-27 2017-10-03 Konica Minolta Laboratory U.S.A., Inc. Method for associating fixed and flexible layout modes for reading documents
US9600803B2 (en) 2015-03-26 2017-03-21 Wrap Media, LLC Mobile-first authoring tool for the authoring of wrap packages
JP6645311B2 (ja) * 2016-03-29 2020-02-14 コニカミノルタ株式会社 画像処理装置およびプログラム
US10235348B2 (en) 2016-04-12 2019-03-19 Microsoft Technology Licensing, Llc Assistive graphical user interface for preserving document layout while improving the document readability
JP6812141B2 (ja) * 2016-05-31 2021-01-13 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
CN107680028B (zh) * 2016-08-01 2020-04-21 北京百度网讯科技有限公司 用于缩放图像的处理器和方法
JP7177775B2 (ja) * 2016-09-14 2022-11-24 ピーティーアイ マーケティング テクノロジーズ インコーポレイテッド 出版物を自動的にリフォーマットするためのシステムおよび方法
US10671798B2 (en) * 2018-02-01 2020-06-02 Google Llc Digital component backdrop rendering
CN109783181B (zh) * 2019-01-31 2019-12-20 掌阅科技股份有限公司 屏幕适配显示方法、电子设备及计算机存储介质
WO2020245635A1 (en) * 2019-06-06 2020-12-10 Mak Chung Leung Bubble metaphor for paper paradigm in a computing device
US11397519B2 (en) * 2019-11-27 2022-07-26 Sap Se Interface controller and overlay
CN111179164A (zh) * 2019-11-28 2020-05-19 泰康保险集团股份有限公司 一种生成缩略图的方法和装置
CN114003319B (zh) * 2020-07-28 2024-04-23 华为技术有限公司 一种灭屏显示的方法和电子设备
US11914943B1 (en) * 2022-08-22 2024-02-27 Oracle International Corporation Generating an electronic document with a consistent text ordering

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2154951C (en) 1994-09-12 2004-05-25 John E. Warnock Method and apparatus for viewing electronic documents
US5781785A (en) 1995-09-26 1998-07-14 Adobe Systems Inc Method and apparatus for providing an optimized document file of multiple pages
EP0870246B1 (en) 1995-09-25 2007-06-06 Adobe Systems Incorporated Optimum access to electronic documents
US5737599A (en) 1995-09-25 1998-04-07 Rowe; Edward R. Method and apparatus for downloading multi-page electronic documents with hint information
US6289364B1 (en) 1997-12-22 2001-09-11 Adobe Systems, Inc. Transparency processing in a page description language
US6028583A (en) 1998-01-16 2000-02-22 Adobe Systems, Inc. Compound layers for composited image manipulation
US6421460B1 (en) 1999-05-06 2002-07-16 Adobe Systems Incorporated Blending colors in the presence of transparency
US7185274B1 (en) 1999-12-07 2007-02-27 Microsoft Corporation Computer user interface architecture wherein users interact with both content and user interface by activating links
US7458014B1 (en) 1999-12-07 2008-11-25 Microsoft Corporation Computer user interface architecture wherein both content and user interface are composed of documents with links
US6992687B1 (en) 1999-12-07 2006-01-31 Microsoft Corporation Bookmarking and placemarking a displayed document in a computer system
US6820111B1 (en) 1999-12-07 2004-11-16 Microsoft Corporation Computer user interface architecture that saves a user's non-linear navigation history and intelligently maintains that history
US7243299B1 (en) 2000-04-21 2007-07-10 Microsoft Corporation Methods and apparatus for displaying multiple contexts in electronic documents
US7234108B1 (en) 2000-06-29 2007-06-19 Microsoft Corporation Ink thickness rendering for electronic annotations
WO2002003189A1 (en) * 2000-06-30 2002-01-10 Zinio Systems, Inc. System and method for encrypting, distributing and viewing electronic documents
US7747941B2 (en) 2002-12-18 2010-06-29 International Business Machines Corporation Webpage generation tool and method
BR0307046A (pt) 2003-05-17 2005-03-08 Microsoft Corp Sistema e método para a provisão de múltiplas interpretações de conteúdo de documento
US7426734B2 (en) 2003-10-24 2008-09-16 Microsoft Corporation Facilitating presentation functionality through a programming interface media namespace
US20060031760A1 (en) * 2004-08-05 2006-02-09 Microsoft Corporation Adaptive document layout server/client system and process
EP1821215B1 (en) * 2004-10-22 2011-11-30 Access Co., Ltd. Parameter setting and storage method
US7412647B2 (en) 2005-03-04 2008-08-12 Microsoft Corporation Method and system for laying out paginated content for viewing
US8185820B1 (en) 2005-04-06 2012-05-22 Adobe Systems Incorporated System and/or method for document generation
US20060227153A1 (en) 2005-04-08 2006-10-12 Picsel Research Limited System and method for dynamically zooming and rearranging display items
US7487447B1 (en) 2005-05-25 2009-02-03 Google Inc. Web page zoom feature
US8522142B2 (en) * 2005-12-08 2013-08-27 Google Inc. Adaptive media player size
US7433548B2 (en) 2006-03-28 2008-10-07 Amazon Technologies, Inc. Efficient processing of non-reflow content in a digital image
US7848951B2 (en) 2006-04-04 2010-12-07 Wowio, Inc. Method and apparatus for providing specifically targeted advertising and preventing various forms of advertising fraud in electronic books
US7716460B2 (en) 2006-09-29 2010-05-11 Qualcomm Incorporated Effective use of a BHT in processor having variable length instruction set execution modes
US7886226B1 (en) 2006-10-03 2011-02-08 Adobe Systems Incorporated Content based Ad display control
US20080082911A1 (en) 2006-10-03 2008-04-03 Adobe Systems Incorporated Environment-Constrained Dynamic Page Layout
JP4870601B2 (ja) 2007-03-17 2012-02-08 株式会社リコー 画面データ生成装置、画像処理装置、画面データ生成方法及びプログラム
US20090094537A1 (en) 2007-10-05 2009-04-09 Travis Alber Method for allowing users of a document to pass messages to each other in a context-specific manner
US20100042915A1 (en) * 2008-08-12 2010-02-18 Setsuo Ohara Personalized Document Creation
US8411956B2 (en) * 2008-09-29 2013-04-02 Microsoft Corporation Associating optical character recognition text data with source images
US8539342B1 (en) * 2008-10-16 2013-09-17 Adobe Systems Incorporated Read-order inference via content sorting
US8405623B2 (en) * 2009-03-25 2013-03-26 International Business Machines Corporation Directional audio viewport for the sight impaired in virtual worlds
US20100287188A1 (en) 2009-05-04 2010-11-11 Samir Kakar Method and system for publishing a document, method and system for verifying a citation, and method and system for managing a project
US20100312780A1 (en) 2009-06-09 2010-12-09 Le Chevalier Vincent System and method for delivering publication content to reader devices using mixed mode transmission
US20110035274A1 (en) * 2009-08-04 2011-02-10 Google Inc. Determining Impressions for Mobile Devices
US8832548B2 (en) 2009-09-21 2014-09-09 Google Inc. System and method for selective control of zoom adjustments in an electronic publication
US9383916B2 (en) * 2009-09-30 2016-07-05 Microsoft Technology Licensing, Llc Dynamic image presentation
US8683377B2 (en) * 2010-05-12 2014-03-25 Adobe Systems Incorporated Method for dynamically modifying zoom level to facilitate navigation on a graphical user interface
US8677263B2 (en) * 2010-12-08 2014-03-18 Tobias Gregor Oberstein Pan grip controls
US8847991B1 (en) * 2011-04-19 2014-09-30 Google Inc. Display with square root of two aspect ratio
US20120297335A1 (en) * 2011-05-17 2012-11-22 Microsoft Corporation Document glancing and navigation
US20130007602A1 (en) * 2011-06-29 2013-01-03 Apple Inc. Fixed layout electronic publications
US9269323B2 (en) * 2011-10-28 2016-02-23 Microsoft Technology Licensing, Llc Image layout for a display

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190037598A (ko) * 2017-09-29 2019-04-08 이정민 풀 사이즈 웹 페이지 출력을 위한 콘텐츠 크기 제어 방법, 이를 이용한 장치 및 컴퓨터-판독가능 매체
KR102117169B1 (ko) * 2018-12-10 2020-06-04 주식회사 에스프레소북 사용자 단말을 이용한 종이책 제작 방법 및 서버

Also Published As

Publication number Publication date
BR112013034061A2 (pt) 2017-02-07
EP2727084A1 (en) 2014-05-07
US20130007602A1 (en) 2013-01-03
CN103930930A (zh) 2014-07-16
AU2012275984A1 (en) 2014-01-09
US20130007603A1 (en) 2013-01-03
US20130007592A1 (en) 2013-01-03
US9460530B2 (en) 2016-10-04
WO2013002918A1 (en) 2013-01-03
JP2014524075A (ja) 2014-09-18

Similar Documents

Publication Publication Date Title
US9460530B2 (en) Fixed layout electronic publications
US7487447B1 (en) Web page zoom feature
EP2279473B1 (en) Method and device for dynamically wrapping text when displaying a selected region of an electronic document
US11216253B2 (en) Application prototyping tool
ES2866798T3 (es) Sistemas, métodos e interfaces para mostrar contenido en línea y contenido a nivel de bloque en un dispositivo de acceso
US7434174B2 (en) Method and system for zooming in and out of paginated content
US9600447B2 (en) Methods and systems for page layout using a virtual art director
US9489714B2 (en) Information processing apparatus, information processing system, information processing method, and program
US8397153B1 (en) Systems and methods for rich presentation overlays
US20110258535A1 (en) Integrated document viewer with automatic sharing of reading-related activities across external social networks
US20090313574A1 (en) Mobile document viewer
TW200935298A (en) System and method of automatically sizing and adapting a widget to available space
WO2006096209A1 (en) Method and system for displaying and interacting with paginated content
WO2008042977A2 (en) Environment-constrained dynamic page layout
WO2012170312A2 (en) Embedded web viewer for presentation applications
JP6975339B2 (ja) デジタルコンポーネントのバックドロップレンダリング
WO2016130236A1 (en) Responsive course design system and method
US9817795B2 (en) Document layout for electronic displays
JP2013522706A (ja) 電子出版物内の自動的な継続記号のためのシステムおよび方法
US10872201B1 (en) Generation and presentation of electronic books for consumption in skim mode
JP5712612B2 (ja) 電子文書変換装置及び電子文書変換方法
Collins et al. Embedded HTML Elements
Öchsner et al. Presentations
Sikos et al. Optimized Appearance
US20080320383A1 (en) Presentation of numerous and arbitrarily sized figures within a document

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application