KR20100057089A - 큰 오브젝트를 작은 디스플레이 위에 표현 - Google Patents

큰 오브젝트를 작은 디스플레이 위에 표현 Download PDF

Info

Publication number
KR20100057089A
KR20100057089A KR1020107008514A KR20107008514A KR20100057089A KR 20100057089 A KR20100057089 A KR 20100057089A KR 1020107008514 A KR1020107008514 A KR 1020107008514A KR 20107008514 A KR20107008514 A KR 20107008514A KR 20100057089 A KR20100057089 A KR 20100057089A
Authority
KR
South Korea
Prior art keywords
scale factor
scaled
elements
displayed
text
Prior art date
Application number
KR1020107008514A
Other languages
English (en)
Other versions
KR101121070B1 (ko
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 KR20100057089A publication Critical patent/KR20100057089A/ko
Application granted granted Critical
Publication of KR101121070B1 publication Critical patent/KR101121070B1/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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • 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/106Display of layout of documents; Previewing
    • 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/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Abstract

본 발명은 포맷된 오브젝트를 얻기 위해 오브젝트를 포맷하는 방법, 컴퓨터로 읽을 수 있는 기록매체, 장치 및 시스템에 관한 것이며, 디스플레이될 복수의 요소 (element)들을 포함하는 오브젝트 (object)가 디스플레이될 영역의 크기 제한을 고려하여 상기 디스플레이될 요소별로 크기를 조절하기 위한 크기 조절 계수들을 얻고, 상기 요소들 중의 하나 이상을, 대응하는 상기 크기 조절 계수에 따라 크기 조절하여 크기 조절된 요소들을 얻으며, 상기 크기 조절된 요소들을 포함하는 복수의 요소들이 상기 디스플레이될 영역에서 디스플레이되는 레이아웃 (layout) 구조를, 상기 디스플레이될 영역의 크기 제한을 고려하여 생성하며 그리고 상기 레이아웃 구조를 크기 조절하여 상기 오브젝트가 최종 디스플레이될 모습을 얻는다.

Description

큰 오브젝트를 작은 디스플레이 위에 표현{Presentation of large objects on small displays}
본 발명은 디스플레이를 위해서 포맷된 오브젝트 (object)를 얻기 위해 오브젝트를 포맷하는 방법, 컴퓨터로 읽을 수 있는 기록 매체, 장치 및 시스템에 관한 것이며, 상기 오브젝트는 다수의 요소(element)들을 포함하며, 상기 포맷된 오브젝트는 하나 이상의 제한에 의해 영향을 받는다.
현대의 브라우저에서, HTML(Hypertext Markup Language) 또는 그로부터 파생된 것(예를 들면 XHTML(Extensible HTML))에 따라 포맷된 WWW(World Wide Web) 문서를 렌더링(redering)하는 것은 CSS(Cascading Style Sheets) 프로세싱 모델, 예를 들면 CSS 레벨 2(CSS2) 프로세싱 모델(참조: Cascading Style Sheets, level 2 revision 1 CSS 2.1 Specification, W3C Candidate Recommendation, 2004.2.25,, www.w3.org에서 이용 가능함)에 주로 기반한다. 스타일 시트는 문서를 표현하는 것을 특정하는 선언들의 한 셋트를 표현한다. 예를 들면, 스타일 시트는 HTML로 지정된 웹 문서의 모든 페이지들의 배경 색을 균일하게 정의한다. CSS 프로세싱 모델에서, 예를 들면 브라우저나 브라우저의 일부인, 사용자 에이전트는 디스플레이된 문서를 분석(parse)하고 상기 문서의 요소(element)들을 계층적으로 포함하는 문서 트리를 생성한다. 그러면 사용자 에이전트는 그 위에 문서가 렌더링되는 타겟 미디어의 유형(예를 들면 핸드헬드(hand-held) 멀티미디어 장치의 디스플레이)을 확인하고, 그 문서와 연관되고 대상 멀티미디어 장치를 위해 특정된 스타일 시트를 검색한다. 그러면 문서 트리 내의 각 요소들의 특성에 타겟 미디어 유형에 들어맞는 값을 부여하여 문서 트리 내의 요소들에 주석이 붙여진다. 포맷팅 모델(예들 들면 타겟 미디어 유형이 디스플레이인 경우에 시각 포맷팅 모델)에 따르는 포맷 과정에서, 주석이 붙여진 문서 트리로부터 포맷팅한 구조(formatting sturcture)가 생성된다. 거기에서, 문서 트리 내의 요소들을 위해, 0 또는 그 이상의 직사각형 박스들이 CSS 박스 모델에 따라서 생성되고, 그러면 이 박스들은 포맷팅한 구조를 얻기 위해 시각 포맷팅 모델에 따라서 배치된다.
상기 포맷팅 모델에 따라 포맷을 실행하는 시각 포맷팅 모델은 포맷 처리되는 문서의 구조와 스타일에 의해 부과되는 다양한 내부 제한과 브라우저 애플리케이션과 환경에 의해 부과되는 외부 제한을 입력으로 갖는다.
내부 제한들은 생성된 레이아웃(layout)을 구성하는 박스들의 최소 폭을 종종 제한한다. 예를 들면, 박스가 이미지를 포함하면 그 이미지보다 좁을 수는 없다. 유사하게, 문서가 테이블 열을 어떤 고정된 픽셀 폭으로 설정하면 그 특정된 값보다 더 넓어도 좁아도 안 된다. 이러한 제한들의 어떤 것이라도 무시하는 것은 포맷팅 모델에 반하는 위반이며 문서의 레이아웃을 왜곡하거나 망치게 된다.
현재, 포맷팅 기능을 위한 가장 중요한 외부 제한은 브라우저의 시야 포트(view port)이다 (데스크 탑 브라우저에서는 브라우저 윈도우의 폭; 모바일 브라우저에서는 이용 가능한 디스플레이 영역, 즉 디스플레이 폭에서 윈도우 경계와 같은 UI 요소를 뺀 것). 포맷팅 기능은, 내부 제한들을 만족시키면서도, 포맷팅한 구조 폭이 시야 포트 폭과 맞도록 시도한다. 만일 그런 것이 불가능하다면, 포맷팅한 구조는 시야 포트의 폭보다 넓게(또는 좁게)된다. 이런 경우 디스플레이 위에 문서의 모든 내용을 보여주려면 옆쪽의 스크롤링이 필요하게 될 수 있다.
박스의 텍스트 내용은 박스의 폭이 결정된 후에 포맷된다. 여전히 그 텍스트 내용이 박스의 폭에 대한 제한이 된다. 텍스트를 포함한 박스의 최소 폭은 그 박스 내에 있는 가장 긴 단어의 폭이다. 복사의 높이 그리고 결국은 포맷된 구조의 전체 높이는 텍스트 내용의 포맷된 높이에 의해 결정된다. 텍스트 각 조각의 폭과 높이는 사용되는 폰트에 달려있고, 각 조각의 폭과 높이는 포맷팅 과정 중에 알 수 있어야 한다.
결국은, 상기 포맷팅한 구조는 타겟 미디어들에 전송되며, 예를 들면 디스플레이 위에 그려진다. "캔버스(canvas)"는 (어떤 영역을 가진) 포맷팅한 구조가 그려지는 공간을 표시한다. 예를 들면 디스플레이된 포맷팅한 구조를 사용자가 스크롤한 결과 시야 위치가 바뀌더라도, 그리는 단계는 그 문서를 다시 포맷하지 않으면서 반복될 수 있다. 그러나, 시야 포트의 치수가 사용자에 의해 변경되면 다시 포맷팅하는 것이 필요할 수 있다.
모바일 폰이나 PDA(Personal Digital Assistant)와 같은 핸들헬드 멀티미디어 장치의 시야 포트는 문서들이 보통 디자인되는 컴퓨터나 텔레비전의 스크린의 시야 포트보다 필연적으로 아주 작다. 예를 들어, HTML이나 XHTML을 사용하여 웹 문서 포맷된, WWW(World Wide Web)의 내용은 손에 드는 장치의 디스플레이 상에 표시되면, 이 웹 문서들은 컴퓨터 모니터 상에 세로 방향으로 설계된 원래의 표시 크기를 보통은 가지고 있다고 간주되며, 때로는 그 치수는 모바일 폰과 같은 손에 드는 장치의 디스플레이보다 훨씬 크다. 예를 들면, 컴퓨터 모니터의 화면의 폭은 일반적으로 800 픽쳐 요소(픽셀) 또는 그 이상이며, 그 반면 (예를 들면 노키아 60 시리즈 장치의 하나와 같은) 전형적인 핸드헬드 멀티미디어 장치의 표시 영역은 단지 176 x 208 픽셀이다.
종래 기술로는, 작은 시야 포트의 폭에 더 잘 맞도록 웹 문서 내용을 다시 포맷하는 다양한 방법이 개발되어 왔다. 예를 들면, US 2004/0049737 A1은 작은 디스플레이 상에서 웹 문서의 내용물을 보기에 필요한 수평 방향의 스크롤링을 선택적으로 최소화하도록 그 웹 문서 내용을 재포맷하는 것을 제안한다. 프레임과 같은 원래 영역의 각 컴포넌트나 서브 컴포넌트, 테이블 열, 테이블 셀 또는 중첩된 테이블은 별개의 것으로 간주되어 보존되고, 크기가 다시 조절되고 대치되기도 한다. 문맥상 그 내용물이 디스플레이의 시야 포트 폭보다 넓어야할 것이 요청되면, 수평 스크롤링이 유지된다.
이 종래 기술의 접근 방법은 웹 문서의 전체 내용을 키가 큰 열로 재포맷팅하도록 이끌어서, 그 키가 큰 열은 실질적으로 시야 포트의 폭과 맞으며 그래서 수평 스크롤링이 더 작게 또는 아주 없도록 한다. 그 시야 포트 폭에 적절하게 맞출 수 없는 웹 문서의 컴포넌트들만이 상기 시야 포트 폭을 넘고 그러면 수평 스크롤링이 필요하다. 그러면 웹 문서의 원래 설계 의도는 파괴되고 사용자에게는 인식되지 않는다.
작은 디스플레이에 맞도록 큰 웹 문서들을 포맷하는 개선된 방법은, 작은 시야 포트에 더 잘 맞도록 원래의 레이아웃에 약간의 조정을 하더라도, 원래의 문서 레이 아웃을 유지해야만 한다. 특히, 텍스트 구절의 가독성이 개선되어야 한다. 거기에는 다음의 설계 규칙들의 일부 또는 전부가 고려될 수 있다:
- 작은 디스플레이 상에서 원래의 문서가 큰 디스플레이 상에서 보이는 것과 일반적으로 유사하도록 하도록 원래의 문서 레이아웃을 실질적으로 유지하여라. 이것은 사용자에게 페이지 상의 정보의 위치에 의해 탐색하는 것을 가능하게 하며, 이는 개인용 컴퓨터(PC)에게서도 필수적이다.
- 문서를 여기저기 찾아볼 때의 스크롤링이 작아지도록 문서의 크기를 줄여라.
- 큰 텍스트 문단을 읽을 때에 필요한 수평 스크롤링을 가능한 줄이도록 텍스트 문단을 포맷하라.
US 2004/0049737 A1
CSS 레벨 2(CSS2) 프로세싱 모델 (참조: Cascading Style Sheets, level 2 revision 1 CSS 2.1 Specification, W3C Candidate Recommendation, 2004.2.25,, www.w3.org에서 이용 가능함)
상기에 언급된 문제들에 비추어, 본 발명은 오브젝트를 포맷하는 개선된 방법, 컴퓨터 프로그램을 포함하는 컴퓨터로 읽을 수 있는 기록 매체, 장치 및 시스템을 제안한다.
포맷된 오브젝트를 얻기 위해 오브젝트를 포맷하는 방법이 제안되며, 이 방법은, 디스플레이될 복수의 요소 (element)들을 포함하는 오브젝트 (object)가 디스플레이될 영역의 크기 제한을 고려하여 상기 디스플레이될 요소별로 크기를 조절하기 위한 크기 조절 계수들을 얻는 단계; 상기 요소들 중의 하나 이상을, 대응하는 상기 크기 조절 계수에 따라 크기 조절하여 크기 조절된 요소들을 얻는 단계; 상기 크기 조절된 요소들을 포함하는 복수의 요소들이 상기 디스플레이될 영역에서 디스플레이되는 레이아웃 (layout) 구조를, 상기 디스플레이될 영역의 크기 제한을 고려하여 생성하는 단계; 및 상기 레이아웃 구조를 크기 조절하여 상기 오브젝트가 최종 디스플레이될 모습을 얻는 단계;를 포함한다.
상기 오브젝트는 예를 들면 자신을 디스플레이를 위한 렌더링(rendering)에 제공하는 어떤 엔티티(entity)라도 된다. 상기 오브젝트는 예를 들면 텍스트, 이미지 및/또는 비디오 또는 도시의 3D 지도와 같은 3D-오브젝트일 수 있다. 상기 오브젝트는 예를 들면 HTML(Hypertext Markup Language), XHTML(Extensible HTML), SGML(Standard Generalized Markup Language) 또는 기타 다른 마크업 언어(markup language)와 같은 마크업 언어로 정의될 수 있다. 그런 오브젝트는 복수의 요소들을 포함한다. 그런 요소의 예는 알파뉴메릭 심볼, 표시, 심볼이나 정보를 운반하는 어떤 다른 요소들로 구성된 텍스트 요소가다. 상기 텍스트 요소는 예를 들면 기사나 제목과 같은 텍스트의 블록, 예를 들면 목록의 단일 표제어와 같은 단어 또는 다른 유형의 텍스트일 수 있다. 상기 텍스트 요소는 어떤 폰트 크기 즉, 상기 텍스트의 (예를 들면 문자나 심볼과 같은) 요소들을 위한 절대적인 또는 상대적인 단위(예를 들면 포인트, 인치 또는 픽셀)의 크기 규격의 텍스트를 포함할 수 있다. 상기 폰트 크기는 상기 텍스트 요소를 위해 암시적으로 또는 명시적으로 정의될 수 있다. 예를 들면, 상기 폰트 크기는 상기 오브젝트가나 텍스트 요소를 위한 표준 폰트 크기일 수 있고, 또는 상기 오브젝트과 연관된 스타일 시트에 의해 상기 텍스트 요소에 적용될 수도 있고 또는 상기 텍스트 요소 내에서 정의될 수도 있다. 상기 텍스트 요소 내의 상기 텍스트는 포맷팅 절차에서 브라우저에 의해 포맷되는 인라인(inline) 텍스트일 수 있고, 상기 포맷팅 절차 중에는, 예를 들면 외부의 소스로부터, 치환되지 않는다. 상기 오브젝트에 포함된 요소들의 추가적인 예들은 역시 그 자체적으로 텍스트를 포함하는 이미지들이다.
상기 포맷된 오브젝트는 하나 이상의 제한에 의해 영향을 받는다. 상기 제한은 예를 들면 크기의 제한, 선명도 제한, 해상도 제한 또는 어떤 다른 제한일 수 있다. 크기의 제한으로, 상기 제한은 예를 들면 상기 포맷된 오브젝트의 최대 허용 가능한 치수, 예를 들면 최대 폭, 높이 또는 깊이에 관련될 수 있다. 마찬가지로, 상기 제한은, 상기 포맷된 오브젝트가 그 위에서 렌더링되는 미디어에 의해 상기 포맷된 오브젝트에 부과될 수도 있다. 예를 들면, 크기의 제한으로, 상기 제한은 디스플레이 상의 이용 가능한 표시 영역의 하나 이상의 치수, 즉 장치의 시야 포트의 폭 및/또는 높이에 관한 것일 수 있으며, 상기 시야 포트는 예를 들면 데스크 탑 컴퓨터에서의 브라우저 창의 웹 페이지 디스플레이 영역이거나 핸드헬드 멀티미디어 장치의 디스플레이 상의 영역일 수 있으며, 그 영역은 내용물을 디스플레이하기 위해 이용 가능하다.
상기 제한은 크기 조절된 제한을 얻기 위해 제1 축척계수(scaling factor)에 의해 크기 조절된다. 상기 크기 조절은 예를 들면 상기 제한을 나타내는 값을 상기 제1 축척계수와 곱하여 이루어진다. 거기에서 상기 제1 축척계수는 고정되고 사용자에 의해 적합하게 결정되거나 선택된다.
상기 오브젝트에 포함된 상기 하나 이상의 요소들은 크기 조절된 요소를 얻기 위해 제1 축척계수에 의해 크기 조절된다. 예를 들어, 상기 요소가 텍스트 요소가면, 상기 텍스트 요소에 포함된 텍트스의 폰트 크기는 상기 제2 축척계수에 의해 크기 조절될 것이다. 상기 요소가 이미지라면, 상기 이미지의 크기는 크기 조절될 것이다. 상기 크기 조절은 또한 상기 레이아웃 구조를 생성하는 상기 단계 내에서 실행될 것이다. 상기 요소들 중에서 어느 것이 크기 조절될 것인가에 대한 선택은 예를 들면 사용자에 의해 이루어지며, 예를 들면 상기 사용자는 어느 유형의 요소(예를 들면 텍스트 요소들만 또는 이미지 요소만)가 크기 조절되고 어떤 것이 크기 조절되지 않는가를 결정할 수 있을 것이다. 마찬가지로, 상기 사용자는 요소의 유형에 관계없이 크기 조절을 위해서 요소들을 선택할 수 있다.
상기 오브젝트의 상기 복수의 요소들을 위해, 즉, 상기 하나 이상의 크기 조절된 요소와 상기 다른 요소들을 위해, 레이아웃 구조(예를 들면, CSS2 콘텍스트(context)로 포맷한 구조)가 상기 크기 조절된 제한을 고려하여 생성된다. 상기 레이아웃 구조를 상기 생성한 것은 예를 들면 시각 포맷팅 모델에 따라 실행될 수 있으며, 상기 요소에 의한 내부 제한들과 시야 포트 크기와 같은 외부 제한들이 일치하도록 (가상의) 캔버스 위에 상기 오브젝트의 상기 요소들을 표현하는 (예를 들면 박스와 같은) 경계들을, 상기 오브젝트들을 위해 설계된 원래의 레이아웃을 가능한 유지하면서도, 배열하는 것을 시도할 수 있다.
상기 레이아웃 구조의 생성에서, 상기 크기 조절된 제한이 고려된다. 상기 제한이 크기 제한인 예시적인 경우에, 예를 들면 상기 레이아웃 구조가 상기 크기 조절된 제한에 의해 정의된 폭 및/또는 높이를 초과하지 않는 것이 목표일 수 있다; 그러나, 그럼에도 불구하고, 상기 제한에 의해 정의된 폭 및/또는 높이를 초과하는 것은 이런 초과가 상기 오브젝트의 개선된 포맷팅에 기여한다면 허용될 수 있다.
상기 포맷된 오브젝트를 얻기 위해, 상기 레이아웃 구조는 제1 축척계수에 의해 크기 조절된다. 상기 제3 축척계수에 의해 상기 레이아웃 구조를 크기 조절하는 이 단계는 예를 들면 상기 레이아웃 구조를 생성하는 상기 단계와 같이 실행될 수 있으며, 두 단계들은 동시에 실행될 수도 있다. 상기 포맷된 오브젝트는 예를 들면 디스플레이 상에 표시될 수 있고 또는 저장 매체에 저장될 수 있고 또는 장치들 간에 교환될 수도 있다.
본 발명에 따르면, 상기 오브젝트에 포함된 하나 이상의 요소는 상기 제2 축척계수에 의해 크기 조절되며, 상기 레이아웃 구조를 생성하는 상기 단계는 상기 오브젝트의 상기 크기 조절된 요소와 상기 다른 (크기 조절되지 않은) 요소들을 위해 실행된다. 상기 하나 이상의 요소를 크기 조절하는 것은 상기 하나 이상의 요소의, 예를 들면 크기, 선명도 또는 해상도 등의 특성을, 상기 오브젝트의 다른 요소들의 대응하는 특성에는 상대적으로, 변경하도록 허용한다. 상기 레이아웃 구조를 생성하는 단계에서, 상기 제한 대신에, 상기 크기 조절된 제한이 고려되며, 이는 상기 제1 축척계수에 의해 영향을 받을 수 있다. 이것은, 상기 레이아웃 구조를 생성하는 단계에서, 상기 제2 축척계수에 의한 상기 하나 이상의 요소를 크기 조절하는 것을 최소한 부분적으로 설명하도록 한다. 마지막으로, 상기 레이아웃 구조에 적용되는 제3 축척계수는 상기 제1 축척계수에 의해 상기 제한을 변경하는 것을 최소한 부분적으로 보상하는 것을 허용한다.
예로서, 상기 오브젝트의 상기 하나 이상의 요소가 페이지의 텍스트 요소가고, 상기 제한이 상기 페이지의 이용가능한 디스플레이 영역을 정의하는 크기 제한이며 그리고 상기 텍스트 요소의 크기가 상기 페이지에 포함된 다른 요소들에 비해 상대적으로 증가되어야 할 필요가 있다면 (다른 말로 하면, 상기 다른 요소들의 크기가 상기 텍스트 요소들에 비해 감소된다면), 상기 제1 및 제2 축척계수는 서로 같고 1보다는 크게 선택되며, 상기 제3 축척계수는 상기 제1 및 제2 축척 계수의 역수 값이 되도록 선택될 수 있다. 이 선택의 효과는 텍스트 요소는 상기 페이지 내의 다른 요소들에 비해서 더 큰 크기로 크기 조절된다는 것이다. 상기 페이지 내의 이 크기 조절된 텍스트 요소들과 다른 (크기 조절되지 않은) 요소들로부터, 커진 크기 제한을 고려하여 레이아웃 구조가 생성된다. 즉, 상기 레이아웃 구조를 생성하는 동안에 더 큰 디스플레이 영역이 이용 가능하다는 것이 가정되는 것이다. 실제로 레이아웃 구조를 디스플레이할 때에 이런 가정을 설명하기 위해, 레이아웃 구조는 디스플레이 전에 제3 축척계수에 의해 크기조절되며, 크기 조절된 레이아웃 구조를 산출한다. 제1 및 제2 축척계수의 역수 값으로 제3 축척 계수를 선택하여, 크기 조절된 레이아웃 구조에서 텍스트 요소의 크기는 변경되지 않는다는 것은 쉽사리 명백하나, 그 반면에, 제2 축척계수에 의해 크기 조절되지 않은 다른 요소들의 크기는 작아진다. 이는 레이아웃 구조의 영역을 크게 줄이고, 그래서 스크롤링의 필요성을 줄여준다. 반면에, 상기 페이지의 요소들의 대략적인 상대적인 위치는 영향을 받지 않으므로, 페이지의 텍스트 요소와 레이아웃의 크기(그리고 가독성)는 조금만 변경된다.
본 발명의 방법의 다른 실시예에 따르면, 상기 제1 및 제2 축척계수는 1보다 크며, 상기 제3 축척계수는 1보다 작다.
상기 제1 축척계수는 상기 오브젝트의 상기 요소들과 특히 상기 크기 조절된 요소들의 적절한 레이아웃을 허용하고, 스크롤링을 작게 하는 상기 제3 축척 계수는 상기 포맷된 오브젝트가 디스플레이 위에서 표시될 때에 필요할 것이다.
본 발명의 방법의 추가적인 실시예에 따르면, 상기 제1 및 제2 축척계수는 실질적으로 같으며, 상기 제3 축척계수는 상기 제1 축척 계수의 역수 값이다.
실제로, 상기 하나 이상의 요소는 계수에 의해 크기 조절되며, 상기 계수의 역수 값에 의해 다시 크기 조절되어, 상기 하나 이상의 요소는 크기 조절되지 않고 효과적으로 남으며, 반면 상기 오브젝트에 포함된 다른 요소들은 크기 조절된다. 제1 및 제2 축척계수를 실질적으로 동일하게 선택하는 것은 상기 제1 및 제2 축척계수가 1보다 크면 상기 크기 조절된 요소의 레이아웃을 위한 충분한 공간이 있다는 것을 가능하게 한다.
본 발명의 방법의 추가적인 실시예에 따르면, 상기 제1 축척계수는 제4 및 제5 축척계수의 곱이며, 상기 제4 축척계수는 실질적으로 상기 제3 축척계수의 역수 값이다.
상기 제1 축척 계수를 두 개의 축척계수로 나누면 본 발명의 포맷팅 기술에 추가적인 자유도를 더하는 것이며, 반면 상기 제4 축척 계수가 상기 제3 축척계수의 역수 값이라는 것은 상기 오브젝트의 다른 요소들을 (실제로 크기 조절되지 않은) 하나 이상의 요소에 대하여 크기 조절하는 상기에 설명된 포맷팅 기술을 허용한다. 그러나 제5 축척 계수는 상기 레이아웃 구조에서 고려되었던 제한을 완화키셔 상기 오브젝트의 요소들을 크기 조절하는 것에 무관하도록 한다. 이렇게 해서, 상기 포맷팅 기술에 의해 생산된 상기 포맷된 오브젝트의 크기는 독립적으로 조절될 수 있고, 이는 제한(아마도 크기에 대한 제한)이 상기 요소들에 대한 상기의 크기 조절이 적용되는 경우까지에도 디스플레이 상에 상기 오브젝트를 적절하게 표시하는 것을 너무 많이 한정하여 허용하는 경우에 특히 유용하다. 예를 들어, 상기 제한이 디스플레이 상에서의 표시 영역의 폭에 관련된 크기 한정이면, 1보다 큰 제5 축척계수를 선택하여, 상기 오브젝트를 포맷하는 것이 마치 상기 표시 영역의 상기 폭이 더 넓은 것처럼 실행되고, 따라서, 상기 포맷팅에 의해 생성된 포맷된 오브젝트는 상기 표시 영역에 더 이상 수평으로 맞지 않으며, 그래서 수평 스크롤링이 필요하게 된다. 그러나 상기 수평 스크롤링에 의해 사용자에게 끼치는 불편함은 상기 포맷된 오브젝트를 더 넓은 폭으로 개선되어 렌더링하는 것에 의해 능가될 것이다.
상기 제5 축척계수는 예를 들면 상기 제4 축척계수에 최소한 부분적으로 의존한다. 상기 제5 축척계수는 예를 들면 상기 제4 축척계수의 선형 또는 비선형 함수일 수 있다.
마찬가지로, 상기 제5 축척계수는 사용자에 의해 선택될 수 있다. 상기 사용자는 상기 제5 축척계수를 입력하거나 변경하기 위해 예를 들면 메뉴 아이템, 제어 버튼, 스피치 제어 인터페이스, 제어 휠 또는 유사한 사용자 인터페이스를 사용할 수 있다. 그러면 그의 선택에 대한 피드백이, 상기 선택된 제5 축척 계수에 따라 상기 포맷된 오브젝트를 표시하는 디스플레이의 표시 영역에 순간적으로 제공될 수 있으며, 그래서 사용자의 필요에 가장 적절하게 맞는 선택이 대화식으로 선택될 수 있다.
상기 제5 축척계수는 또한 상기 오브젝트를 위하여 적합하게 결정될 수 있다. 상기 제5 축척계수는 예를 들면 상기 오브젝트 및/또는 상기 제5 축척 계수를 위한 적합한 값을 결정하기 위하여 상기 포맷 단계에서 생성된 상기 포맷된 오브젝트를 적합하게 분석하는 몇몇 예에 의해 결정될 수 있다.
최소한, 상기 제1 축척계수에 의해 상기 제한을 크기 조절하는 단계와 상기 크기 조절된 제한을 고려하여 상기 레이아웃 구조를 생성하는 단계는 최소한 2번 반복해서 실행될 수 있고, 상기 반복에서 상기 제5 축척 계수를 위해 상이한 값들이 사용될 수 있다.
반복 후에, 상기 레이아웃 구조는 더 개선된 레이아웃 구조를 얻기 위해 추가의 반복이 필요한가 아닌가를 결정하기 위해 하나의 예나 사용자에 의해 조사될 수 있을 것이다.
상기의 반복은 예를 들면 상기 레이아웃 구조를 위해 미리 정의된 기준에 도달할 때까지 실행될 수 있으며, 하나 이상의 상기 반복에서 생성된 레이아웃 구조를 표현하는 것은 상기 디스플레이 상에서 상기 이용 가능한 영역에 최소한 부분적으로 표시된다.
한번의 반복에서 상기 제5 축척 계수를 변경하는 것은 감소의 선형 또는 비선형의 증가일 수 있으며, 상기 미리 정의된 기준과 링크될 수도 있고 아닐 수도 있다. 상기 제5 축척계수에 관련된 상기의 설명으로부터, 상기 하나 이상의 요소를 (상기 제2 축척 계수에 의해) 크기 조절하지 않고 상기 레이아웃 구조를 (상기 제3 레이아웃 계수에 의해) 크기 조절하는 것이 실행되지 않을 때에, 상기 포맷된 오브젝트에 영향을 미치는 제한을 완화시키기 위해 상기 제1 축척 계수를 사용하는 상기 오브젝트의 원래의 (크기 조절되지 않은) 요소들에 기반하여 생성되며, 상기 제3 축척계수에 의해 크기 조절되지 않으며, 그러면 그것은 포맷된 오브젝트를 나타낸다. 그러나, 상기 포맷된 오브젝트에 영향을 미치고 상기 레이아웃 구조를 생성하는 동안에 고려되는 그런 상기 제한을 완화하는 것 덕분에, 포맷된 오브젝트를 개선하는 것이 얻어진다.
본 발명의 방법의 추가적인 실시예에 따르면, 상기 레이아웃 구조를 생성하는 단계는, 상기 크기 조절된 요소를 위한 경계를 결정하는 단계; 상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 한계를 위반하는지를 검사하는 단계; 및 상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 상기 한계를 위반하면, 상기 크기 조절된 요소의 내용을 상기 정의된 한계에 맞추는 단계;를 포함한다.
상기 한계를 위반하는 것은 예를 들면 상기 한계가 상기 치수를 위한 상한의 한계인 경우는 상기 치수는 상기 상한 한계보다 크다는 것 때문에 상기 한계를 위반한다고 이해되며, 또한 상기의 한계가 하한의 한계인 경우에는 상기 치수는 상기 하한 한계보다 작다는 것 때문에 상기 한계를 위반한다고 이해된다. 상기 하나 이상의 요소는 예를 들면 내용물로 텍스트를 포함하는 텍스트 요소일 수 있고, 상기 경계는 예를 들면 박스일 수 있고, 상기 박스의 치수는 예를 들면 상기 박스의 폭일 수 있다. 그러면 이런 경우, 상기 크기 조절된 제한에 의해 정의된 상기 한계는 예를 들면 그 위에 상기 포맷된 오브젝트가 표시될 수 있는 표시 영역의 폭일 수 있다. 본 발명의 실시예에 따르면, 상기 박스의 사기 폭이 상기 크기 조절된 크기 제한에 의해 정의된 상기 폭을 초과하면 (즉, 상기 크기 조절된 제한에 의해 정의된 상기 제한을 위반하면), 상기 포맷된 오브젝트의 상기 박스를 표현하는 것은 상기 포맷된 오브젝트가 상기 디스플레이 상에 표시될 때에 상기 디스플레이의 표시 영역에 완전하게 맞지 않을 것이며, 그러면 상기 박스에서의 상기 표현을 완전하게 보려면 수평 스크롤링이 요구된다. 그러면 상기 텍스트 요소의 텍스트를 상기 박스의 폭에 맞추어 포맷하는 것은 상기 포맷된 오브젝트에 포함된 박스를 표현할 때에 상기 텍스트의 모든 줄에서 수평으로 스크롤링하는 것을 필요로 할 수 있으며, 이 때문에 상기 텍스트를 읽을 때에 사용자는 성가심을 경험하게 될 것이다. 대신에, 본 발명의 실시예는 상기 크기 조절된 제한에 의해 정의된, 상기 박스의 폭보다 작은, 상기 폭에 맞추어 상기 박스 내의 텍스트를 포맷하는 것을 제안한다. 상기 크기 조절된 제한에 의해 정의된 폭이 상기 디스플레이의 표시영역의 폭이면, 상기 박스에 표현되는 상기 텍스트는 상기 표시 영역의 폭에 맞추어 포맷되어 상기 표시 영역에 나타난다. 그러므로 비록 상기 박스의 표현은 상기 표시 영역의 폭을 넘었지만, 상기 박스에 표현되는 상기 텍스트는 수평 스크롤링을 요구하지 않고 읽혀질 수 있다.
상기 내용물이 텍스트라면 상기 내용물을 포맷하는 것은 텍스트를 상기 경계의 라인들에 단어 양식(word-wise)으로 삽입하여 실행되고, 추가의 단어를 라인에 삽입할 때에 상기 텍스트를 랩 어라운드(wrapping around)하는 것은 상기 라인이 상기 크기 조절된 제한에 의해 정의된 상기 한계를 초과하는 것을 초래한다.
읽기의 방향에 따라서, 상기 단어 양식의 삽입은 좌에서 우로 또는 우에서 좌로 실행될 수 있다.
상기 내용물은 상기 레이아웃 구조가 생성될 때에 대체되는 컴포넌트들을 더 포함할 수 있으며, 그러면 상기 소정 개수의 컴포넌트들보다 더 많은 개수가 상기 경계의 한 라인에 이미 삽입된 경우, 라인에 더 이상의 단어나 컴포넌트를 삽입하여 상기 경계의 상기 치수를 넘어서는 상기 라인의 길이가 초래될 때에, 상기 대응되는 라인을 위한 상기의 랩 어라운드가 실행될 수 있다.
상기 내용물이 상기 레이아웃 구조가 생성될 때에 대체되는 컴포넌트들을 추가로 포함하는 경우 그리고 상기 경계의 라인에 이미 삽입된 상기 컴포넌트들의 각 길이들의 합이 미리 정의된 길이 문턱값을 초과할 때의 경우에, 라인에 추가의 단어나 컴포넌트를 삽입하여 상기 라인의 길이가 상기 경계의 상기 치수를 넘어설 때에 상기 각 라인을 위한 랩 어라운드가 실행될 수 있는 면에서 역시 유리하다.
그러면, 상기 내용물을 상기 크기 조절된 제한에 의해 정의된 상기 한계에 맞추어 포맷하거나 상기 경계의 상기 치수를 상기 컴포넌트의 상기 미리 정의된 개수에 맞추어 포맷하는 것으로 얽매는 것 대신에, 상기 컴포넌트들의 길이 역시 고려될 수 있으며, 이는 상기 컴포넌트들이 상이한 길이를 가질 때에 특히 유용하다.
상기 오브젝트에 포함된 상기 복수의 요소들은 트리 구조로 배열될 수 있으며, (제2 축척계수에 의해 크기 조절된) 상기 하나 이상의 요소는 텍스트 요소가고 상기 트리 구조 내의 상기 텍스트 요소의 부모 요소는 텍스트 요소가 아닐 때에, 추가의 단어나 컴포넌트를 라인에 삽입하여 상기 라인의 길이가 상기 경계의 치수를 초과하면 상기 각 라인에 대한 랩 어라운드가 실행된다.
상기 제1 축척계수에 의해 상기 제한에 어떤 크기 조절이 실행되지 않고, 상기 제2 축척계수에 의한 하나 이상의 요소들을 크기 조절하는 것도 실행되지 않으며, 상기 제3 축척계수에 의한 상기 레이아웃 구조를 크기 조절하는 것도 실행되지 않는 경우라도 본 발명의 이 실시예가 기능을 하며 이점이 있다는 것은 쉽게 이해될 수 있다.
본 발명의 방법의 추가적인 실시예에 따르면, 상기 레이아웃 구조를 생성하는 상기 단계에서, 상기 제2 축척계수에 의해 크기 조절된 상기 하나 이상의 요소에 포함된 텍스트에 하이픈연결 알고리즘이 적용된다.
상기 하이픈연결은 상기 레이아웃 구조 내의 (상기 텍스트를 포함하는) 하나 이상의 요소의 높이를 줄이는데 특히 기여한다. 예를 들면, 상기 하나 이상의 요소가 상기 텍스트가 그 내부에 맞추어 포맷된 고정된 폭의 박스이며, 되고, 하이픈연결이 실행되지 않으면 상기 박스는 아주 길어지게 되고, 그러면 상기 박스의 많은 공간이 빈 상태로 남겨질 것이다. 또, 상기 텍스트 중에서 가장 긴 단어가 박스의 폭을 결정할 것이며, 이는 상기 레이아웃 구조를 생성하는 단계에서 자유도(degree of freedom)를 크게 감소시킬 것이다. 예를 들어 상기 하이픈연결은 상기 레이아웃 구조를 생성하는 것을 구현하는 동일한 장치, 예를 들면 핸드헬드 멀티미디어 장치 내에서 구현될 것이다. 상기 하이픈연결은 상기 하나 이상의 텍스트의 언어를 탐지하고, 상기 텍스트의 단어들에서 가능한 하이픈연결 포인트를 탐지하며, 상기 하이픈연결을 적용할 시점을 결정한다.
예를 들면, 하이픈연결은 상기 복수의 요소들을 위한 상기 레이아웃 구조를 생성하기 전에 상기 하나 이상의 요소의 텍스트에서 가능한 하이픈연결 포인트들을 표시함으로써 구현될 수 있을 것이며, 상기 레이아웃 구조를 생성하는 단계에서, 상기 표시된 하이픈연결 포인트들에서 언제 텍스트를 랩(wrap)하는가에 대한 것이 결정될 것이다.
상기 텍스트 단어들에서 가능한 하이픈연결 포인트들을 탐지하는 것은 상기 레이아웃 구조를 생성하는 단계를 실행하는 생성 인스턴스(instance)와는 다른 것이다. 상기 하이픈연결 인스턴스는 예를 들면 네트워크의 서버에 위치할 수도 있고, 상기 생성 인스턴스는 상기 네트워크의 클라이언트에 위치할 수도 있다.
상기 제1 축척계수에 의해 상기 제한에 어떤 크기 조절이 실행되지 않고, 상기 제2 축척계수에 의한 하나 이상의 요소들을 크기 조절하는 것도 실행되지 않으며, 상기 제3 축척계수에 의한 상기 레이아웃 구조를 크기 조절하는 것도 실행되지 않는 경우라도 본 발명의 이 실시예가 기능을 하며 이점이 있다는 것은 쉽게 이해될 수 있다.
본 발명의 방법의 추가적인 실시예에 따르면, 상기 복수의 요소를 위한 상기의 레이아웃 구조를 생성하는 것은 스타일 시트에 의해 최소한 부분적으로 정의된다. 상기 스타일 시트는 예를 들면 상기 오브젝트에 대한 표현을 특정하는 선언들의 한 셋트이다. 상기 스타일 시트는 예를 들면 CSS2 표준을 준수할 수 있다.
본 발명의 방법의 추가되는 실시예에 따르면, 상기 오브젝트는 문서이고, 상기 문서의 엘리멘트는 마크업 언어로 정의된다. 상기 마크업 언어는 예를 들면, HTML, XHTML, SGML 또는 다른 마크업 언어이다.
포맷된 오브젝트를 얻기 위해 오브젝트를 포맷하는 장치가 또한 제안되었으며, 상기 장치는, 디스플레이될 복수의 요소 (element)들을 포함하는 오브젝트 (object)가 디스플레이될 영역의 크기 제한을 고려하여 상기 디스플레이될 요소별로 크기를 조절하기 위한 크기 조절 계수들을 얻는 수단; 상기 요소들 중의 하나 이상을, 대응하는 상기 크기 조절 계수에 따라 크기 조절하여 크기 조절된 요소들을 얻는 수단; 상기 크기 조절된 요소들을 포함하는 복수의 요소들이 상기 디스플레이될 영역에서 디스플레이되는 레이아웃 (layout) 구조를, 상기 디스플레이될 영역의 크기 제한을 고려하여 생성하는 수단; 및 상기 레이아웃 구조를 크기 조절하여 상기 오브젝트가 최종 디스플레이될 모습을 얻는 수단;을 포함한다.
본 발명에의 장치를 구현하는 일 예에서, 상기 장치는 모바일 폰이거나 그 모바일 폰의 일부이다. 상기 장치는 또한 PDA, 유사한 핸드헬드 멀티미디어 장치, 컴퓨터 또는 다른 전자 장치이다.
본 발명의 장치의 일 실시예에 따르면, 상기 레이아웃 구조를 생성하는 수단은, 상기 크기 조절된 요소를 위한 경계를 결정하는 수단; 상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 한계를 위반하는지를 검사하는 수단; 및 상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 상기 한계를 위반하면, 상기 크기 조절된 요소의 내용을 상기 정의된 한계에 맞추는 수단;을 포함한다.
본 발명의 장치의 일 실시예에 따르면, 상기 레이아웃 구조를 생성하는 수단은, 상기 제2 축척계수에 의해 크기 조절된 상기 하나 이상의 요소에 포함된 텍스트에 하이픈연결 알고리즘을 적용하는 수단을 포함한다.
읽기 가능한 매체에 저장된 명령어를 수반하는 컴퓨터 프로그램을 포함하는 컴퓨터로 읽을 수 있는 기록매체가 추가로 제안되었으며, 상기 명령어는 프로세서가 상기에 설명된 방법 단계들을 실행하도록 동작 가능하다. 상기 컴퓨터 프로그램 생성물은 예를 들면 사용자와, 예를 들면 인터넷, 인트라넷 또는 엑스트라넷과 같은, 콘텐츠 네트워크 간의 인터페이스 역할을 하는 핸드헬드 멀티미디어 장치 또는 다른 전자 장치 내에 삽입될 수 있다.
본 발명의 기록매체의 일 실시예에 따르면, 상기 컴퓨터 프로그램은 브라우징 애플리케이션 또는 그 브라우징 애플리케이션의 일부와 관련된다.
포맷된 오브젝트를 얻기 위해 오브젝트를 포맷하는 시스템이 추가로 제안되며, 상기 시스템은 디스플레이될 복수의 요소 (element)들을 포함하는 오브젝트 (object)가 디스플레이될 영역의 크기 제한을 고려하여 상기 디스플레이될 요소별로 크기를 조절하기 위한 크기 조절 계수들을 얻는 수단; 상기 요소들 중의 하나 이상을, 대응하는 상기 크기 조절 계수에 따라 크기 조절하여 크기 조절된 요소들을 얻는 수단; 상기 크기 조절된 요소들을 포함하는 복수의 요소들이 상기 디스플레이될 영역에서 디스플레이되는 레이아웃 (layout) 구조를, 상기 디스플레이될 영역의 크기 제한을 고려하여 생성하는 수단; 및 상기 레이아웃 구조를 크기 조절하여 상기 오브젝트가 최종 디스플레이될 모습을 얻는 수단;을 포함한다.
본 발명의 시스템의 일 실시예에 따르면, 상기 수단들은 모바일 무선 통신 네트워크에서 네트워크 요소와 모바일 폰에 의해 공동으로 구현된다. 상기 네트워크 요소는 무선 액세스 네트워크 내에 또는 상기 모바일 무선 통신 네트워크의 코어 네트워크 내에 존재할 수 있다.
본 발명의 이런 그리고 다른 모습들은 이후에서 설명되는 구현 예를 참조하여 명백하고 명료할 것이다.
본 발명은 네트워트, 컴퓨터 특히 모마일 이동 통신, 이동 통신 서버 및 이동 통신 네트워크에서 사용되어, 휴대폰의 디스플레이와 같이 제한된 영역의 디스플레이 상에, 그 디스플레이보다 더 큰 영역을 가진 문서와 같은 오브젝트에 포함된 텍스트와 같은 요소들을 크기 조절하여 표시할 수 있는 효율적이며 진보된 방식을 제공한다.
도 1은 본 발명의 제1 실시예에 따른 흐름도이다.
도 2a는 크기 조절을 하지 않고 생성된 포맷팅한 구조를 도시한 예시도이다.
도 2b는 본 발명의 제1 실시예에 따라 크기 조절된 포맷팅한 구조를 도시한 예시도이다.
도 3a는 물리적인 크기 제한을 고려하여 포맷된 크기 조절된 포맷팅한 구조를 도시한 예시도이다.
도 3b는 본 발명의 제2 실시예에 따른 완화된 물리적인 크기 제한을 고려하나여 포맷된 크기 조절된 포맷팅 구조를 도시한 예시도이다.
도 4a는 텍스트 요소를 수반하는 크기 조절된 포맷팅한 구조를 도시한 예시도이다.
도 4b는 본 발명의 제3 실시예에 따른 포맷된 텍스트 요소를 수반하는 크기 조절된 포맷팅한 구조를 도시한 예시도이다.
도 5는 본 발명의 제3 실시예의 흐름도이다.
도 6a는 하이픈연결 없이 텍스트 박스에 맞추어 포맷된 영어 텍스트의 예시도이다.
도 6b는 본 발명의 제4 실시예에 따라 하이픈연결을 수반하여 텍스트 박스에 맞추어 포맷된 도 6a의 텍스트의 예시도이다.
도 7은 본 발명에 따라 문서를 디스플레이하는 시스템의 예시적인 셋업이다.
본 발명은 포맷된 오브젝트를 얻기 위해 오브젝트를 포맷하는 방법을 제안하며, 상기 오브젝트는 복수의 요소들을 포함하며, 상기 포맷된 오브젝트는 하나 이상의 제한에 의해 영향을 받을 때에, 상기 방법은, 크기 조절된 제한을 얻기 위해 제1 축척계수에 의해 상기 제한을 크기 조절하는 단계; 크기 조절된 요소를 얻기 위해 제2 축척계수에 의해 상기 요소들의 하나 이상을 크기 조절하는 단계; 상기 크기 조절된 제한을 고려하면서 상기 크기 조절된 요소를 포함하는 상기 복수의 요소들을 위한 레이아웃 구조를 생성하는 단계; 및 상기 포맷된 오브젝트를 얻기 위해 제3 축척계수에 의해 상기 레이아웃 구조를 크기 조절하는 단계;를 포함한다.
이하의 본 발명의 상세한 설명에서, 본 발명의 실시예가 제시되며, 핸드헬드 멀티미디어 장치 내의 브라우저의 콘텍스트 내에서 본 발명의 예시적인 전개가 선택되며, 상기 브라우저는 상기 오브젝트를 포맷하고 디스플레이하기 위해, 예를 들면 CSS2 (Cascading Style Sheet level 2) 프로세싱 모델 또는 그에서 비롯되는 기술의 모델과 같은 프로세싱 모델을 적용한다. 그러면, 상기 오브젝트는 웹 문서로 확인되고, 상기 제2 축척 계수에 의해 크기 조절되는 상기 하나 이상의 요소는 어떤 폰트 크기의 텍스트를 포함하는 상기 웹 페이지의 텍스트 요소로 예시적으로 선택되고, 상기 레이아웃 구조는 시각 포맷팅 모델에 의해 생성된 포맷팅 구조로 확인되며, 상기 포맷된 오브젝트는 상기 제3 축척계수에 의해 상기 포맷팅 구조를 크기 조절하여 얻어진 크기 조절된 포맷팅 구조로 확인되며, 상기 제한은 핸드헬드 멀티미디어 장치의 시야 포트의 외부 폭과 높이 제한 즉, 상기 장치의 디스플레이의 이용 가능한 표시 영역의 폭과 높이로 확인된다.
이 명세서를 시작하는 부분에서의 설명은 본 발명의 상세한 설명을 지지하기 위해 적합하며 따라서 참조로 이 상세한 설명에 통합된다.
도 1은 본 발명의 제1 실시예의 흐름도를 나타낸다. 이 흐름도의 단계들은 예를 들면 핸드헬드 멀티미디어 장치 (모바일 폰 또는 PDA) 내에서 상기 장치의 디스플레이 상에서 문서(예를 들면 HTML로 작성된 인터넷 문서)를 렌더링하기 위해 브라우저에 의해 실행될 수 있다.
첫 번째 단계(100)에서, 브라우저는 문서를 분석해서 문서 트리를 생성하며, 그 트리 내에는 문서의 요소, 즉 이미지, 텍스트 또는 유사한 요소들이 계층적으로 배열된다.
두 번째 단계(101)에서, 브라우저는 상기 문서가 렌더링 될 타겟 미디어 유형을 확인하고, 이 예시적인 경우에 그것은 핸드헬드 멀티미디어 장치의 디스플레이이다. 또한 브라우저는 상기 타겟 미디어 유형에 연관된 외부 제한들을 확인한다. 타겟 미디어 유형이 디스플레이인 경우, 상기 외부 제한들은 상기 장치 상에서 이용 가능한 디스플레이 영역(시야 포트라고도 표시된다)의 크기 제한이며, 특히 상기 이용 가능한 디스플레이 영역의 폭과 높이이다.
102 단계에서, 브라우저는 상기 문서와 연관된 스타일 시트를 검색한다. 상기 스타일 시트는 상기 문서에 임베드되거나 또는 별도로 저장될 수 있다.
103 단계에서, 브라우저는 상기 문서 트리 내의 요소들의 특성들에 타겟 미디어 유형에 적절한 값을 부여하여 문서 트리에 주석을 단다. 예를 들면, 텍스트 요소에는 색 및/또는 텍스트 폰트 및/또는 폰트 크기가 부여된다.
본 발명에 따르면, 104 단계에서, 상기 이용 가능한 디스플레이 영역에 관련된 외부의 폭과 높이 제한들이 제1 축척 계수에 의해 크기 조절되며, 예를 들면 그 계수는 2이다. 그러면, 폭과 높이 각각을 위해 서로 상이한 축척계수가 사용될 수 있다는 것에 또한 유의해야 한다.
유사하게, 105 단계에서, 주석이 붙인 문서 트리 내의 텍스트 요소의 폰트 크기는 제2 축척 계수에 의해 크기 조절되며, 이 계수는 이 실시예에서 상기 제1 축척 계수와 같다고 간주한다. 예를 들면 폰트 크기의 크기 조절은 텍스트 메트릭스(metrics), 즉, 텍스트 요소들 내의 텍스트 스트링들의 계산된 폭과 높이에 축척 계수를 곱하는 것에 의해 이루어질 수 있다. 이 단계는 포맷팅 처리 단계(106 단계 참조) 중에 또는 그 이전에 실행될 수 있다는 것에 유의해야 한다.
106 단계에서, 텍스트 요소들의 크기 조절된 폰트 크기들을 고려하고 크기 조절된 크기 제한들을 고려한 포맷팅 과정에서 주석이 붙은 문서 트리로부터 포맷팅 구조가 생성된다. 이 포맷팅 과정에서, 포맷팅 모델 (예를 들면 CSS2 포맷팅 모델)이 준수된다. 주석이 붙은 문서 트리의 요소를 위해서, 박스 모델 (예를 들면 CSS2 박스 모델)에 따라서 직사각형 박스가 생성되며, 상기 박스들은 캔버스 위해 상기 크기 제한들이 가능한 준수되는 방식으로 배열된다. 예를 들면, 포맷팅 구조가 크기 조절된 크기 제한들에 의해 정의된 영역을 넘어가지 않도록 박스들을 배열하는 것이 구상될 수 있다. 106 단계의 포맷 과정에서 폰트 크기에 의존하는 제한들이 크기 조절된 폰트 크기들을 사용하여 계산된다. 예를 들면, 상기 제2 축척계수가 2이고, (원래) 폭 150 px 그리고 높이가 12 px로 측정된 텍스트 스트링은 폭 300 px 그리고 높이 24 px로 취급된다 (px는 picture element(pixel)를 나타낸다).
단계 107에서, 포맷팅 구조는 제3 축척계수에 의해 크기 조절되며, 이 예시적인 실시예에서는 상기 제1 축척 계수의 역수값 즉, 0.5 이다. 상기 크기 조절에서, 106 단계의 상기 포맷팅 구조를 위해 계산된 좌표들과 크기들은 상기 제3 축척계수로 곱해진다.
이렇게 크기가 상기 포맷팅 구조의 작아진 좌표들과 크기들은 108 단계에서 디스플레이에 그리는데 사용된다. 예를 들면, 제3 축척 계수가 0.5이면, 포맷된 좌표 (0 px, 300 px)에서의 100 px x 100 px 크기의 이미지는 좌표 (0 px, 150 px)에서 50 px x 50 px의 이미지로 그려진다.
107 단계(포맷된 구조를 크기 조절하는 단계)는, 별개의 단계를 형성하는 것 대신에, 108 단계(크기 조절된 구조를 디스플레이에 그리는 단계)의 통합된 부분과 거의 일치한다. 이 경우 중간 과정의 크기 조절된 포맷팅 구조가 생성되지 않고, 그 대신 이 그리기 과정 내에서 상기 106 단계에서 생성된 포맷팅 구조가 바로 디스플레이에 그려지고, 그러면 제3 축척 계수를 사용하는 포맷팅 구조의 크기 조절이 실행된다. 마찬가지로, 상기 107 단계는 106 단계의 통합된 일부가 될 수 있다.
본 발명에 따르면, 폰트 크기가 첫 번째로 105 단계에서 크기가 커지고 107 단계에서 다시 크기가 작아지며, 상기 문서의 텍스트들은 (원래 문서나 스타일 시트에 의해 규정된) 원래의 폰트 크기를 사용하여 108 단계에서 실제로 표시된다. 상기 문서의 다른 요소들의 크기는 105 단계의 상기 제2 축척 계수에 의해 커지지 않는다. 포맷팅 구조는 107 단계에서 상기 문서의 텍스트 요소들과 다른 요소를 구분하지 않고 크기가 작아지므로, 상기 크기 조절된 포맷팅 구조 내의 텍스트의 크기는 다른 요소들의 크기에 비해서 커진 것이다. 그런 점에서, 104 단계에서 제1 축척 계수를 사용한 크기 제한들의 크기 조절은 증가된 폰트 크기에 의해 변화되지 않는 페이지의 실질적인 레이아웃을 보장한다.
104, 105 및 107 단계에서 실행되는 크기 조절 동작에 의해 크기 조절된 포맷팅 구조의 높이는 상기의 크기 조절 없이 생성될 포맷팅 구조의 높이에 비해 클 것이다. 이것은 크기 조절된 포맷팅 구조에서의 폰트 크기는 크기 조절된 포맷팅 구조에서의 다른 요소들보다 상대적으로 크기 때문이며, 그래서 하나의 라인에 다 작은 수의 텍스트가 맞게 된다.
크기 조절 과정에 의해 크기 조절된 구조의 폭은 크기 조절 없이 생성될 포맷팅 구조의 폭에 비해 축소된다. 이 축소는 일반적으로 제3 축척 계수가 의미하는 것보다 일반적으로 더 작으며, 이는 포맷 처리에서 크기 조절된 폰트 크기들에 의해 부과된 최소 제한들이 다른 제한들에 비해 실제로는 증가하기 때문이다.
또한 크기 조절된 포맷팅 구조의 영역은 크기 조절이 없으면 생성되었을 포맷팅 구조의 영역에 비해 축소된다. 이는 두 포맷팅 구조들에서, 텍스트는 실질적으로 원래 필요로 했던 공간만큼을 실질적으로 요구하지만, 상기 오브젝트의 다른 모든 요소들의 축소된 크기가 그 크기 조절된 포맷팅 구조의 전체 영역을 더 작게 만들기 때문이다.
그 결과, 본 발명의 제1 실시예는 상기 문서를 위해 원래 정의된 폰트 크기를 유지하면서도 핸드헬드 멀티미디어 장치의 디스플레이 상에 표시되는 크기 조절된 포맷팅 구조의 폭과 영역을 줄이도록 한다. 이것은 상기 크기 조절된 포맷팅 구조가 상기 디스플레이 상에 표시될 때에, 문서의 기본 레이아웃을 여전히 유지하면서도, 수평 및 수직의 양 방향의 스크롤링에 필요한 양을 막대하게 줄인다.
본 발명의 제1 실시예는 포맷팅 모델, 특히 CSS2 포맷팅 모델을 충분하게 중시한다는 것에 유의해야 한다. 포맷팅 모델의 관점에서, 본 발명의 제1 실시예는 특정된 것보다 더 큰 크기의 폰트를 사용하는 문제인 것이며, 그것은 CSS2 포맷팅 모델에 따라 적법한 것이다. 또한, 출력 시간 크기 조절은 포맷팅 모델에 영향을 미치지 않으며, 특히 문서는 원래의 모습과 느낌을 유지한다.
도 2a와 2b는 본 발명의 제1 실시예에 의해 얻어진 크기 조절된 포맷팅 구조 영역의 폭을 줄이는 예에 관한 것이다. 거기에서, 도 2a는 크기 조절을 하지 않고 생성되고 핸드헬드 멀티미디어 장치의 디스플레이(2) 상에 표시된 포맷팅 구조(3a)의 일부를 도시한 것이다. 도 2b는 도 2a의 포맷팅 구조(3a)와 동일한 문서를 위해 생성된, 그러나 본 발명의 제1 실시예에 따른 크기 조절이 수반된 (제1 및 제2 축척 계수는 1과 같으며, 제3 축척 계수는 0.5와 같음) 크기 조절된 포맷팅 구조의 일부를 도시한 것이다. 각각 도 2a와 도 2b에 있는 30a와 30b의 텍스트 요소들을 비교하면 알 수 있는 것과 같이, 두 텍스트 요소의 텍스트들이 같은 폰트 크기를 가지는 것은 명백하다. 또한 도 2a의 포맷팅 구조(3a)에 관하여, 도 2b의 크기 조절된 구조(3b)에서 텍스트(30b)의 크기는 포맷팅 구조(3b)의 다른 요소들에 비해서 증가된 것을 쉽게 알 수 있다. 이것은, 텍스트 요소(30b)의 텍스트의 크기는 영향을 받지 않으면서도, 포맷팅 구조(3a)에 의해 요구되는 영역에 비교되는 크기 조절된 포맷팅 구조(3b)에 의해 요청되는 영역의 전체적인 압축으로 이끈다. 거기에, 폰트 크기를 보존하는 것은 인라인 텍스트, 즉 브라우저에 의해 포맷되는 텍스트에 적용될 수 있고, 이미지들에 포함되는 텍스트에 필수적으로 적용되는 것은 아니다. 도 2a 및 2b에서, 텍스트 요소(30a, 30b)만이 그러한 인라인 텍스트를 표현하며, 반면 문서의 다른 모든 요소들, 예를 들면 "COMIC" 단어가 포함된 배너 또는 네비게이션 콘솔 필드들("Current Features", "Comic Archive", ..., "Shop")은 이미지들을 표현하며, 그 크기는 크기 조절 과정 동안에 보존되지 않는다.
본 발명의 두 번째 실시예는 상기 크기 제한을 크기 조절하는 상기 제1 축척 계수를 제4 및 제5 축척 계수의 곱으로 표현하는 것을 제안한다. 거기에서, 상기 제4 축척 계수는 상기 제3 축척 계수의 역수값으로 선택될 수 있으며, 그러면 본 발명의 제1 실시예에서의 문서를 포맷하는 것은 기본적으로는 영향을 받지 않으며, 포맷팅은 크기 조절된 크기 제한들을 고려하면서 실행되고 상기 제1 축척 계수(즉, 상기 제4 및 제5 축척 계수들)를 이용하여 상기 크기 제한들을 크기 조절하는 효과는 상기 제3 축척 계수에 의한 상기 포맷팅 구조를 크기 조절하는 것에 의해 무효로 되지 않는다는 사실과는 별개의 것이다. 실제, 그러면 상기 포맷팅 구조를 생성하는 단계 동안에 고려되는 크기 제한들은 상기 제5 축척 계수에 의해 독립적으로 조정될 수 있다.
이런 접근 배후의 근본적인 원리는 포맷팅 모델(즉, CSS2 포맷팅 모델)은 크기 조절된 포맷팅 구조를 이용 가능한 디스플레이 영역의 폭에 맞게 하려고 시도한다는 것이다. 그러므로 이용 가능한 디스플레이 영역의 물리적인 폭, 즉 디스플레이의 시야 포트의 폭은 포맷팅 과정에 대한 제한으로 동작한다. 작은 디스플레이 상에서 이런 제한은 어떤 렌더링된 문서가 너무 좁아서 그 내용물은 그 좁은 것을 견뎌야하고 페이지 저자의 설계 의도는 상실되게 만들기도 한다. 이것을 방지하게 위해, 포맷팅 과정에서, 1보다 큰 상기 제5 축척계수를 따라서 선택함으로써 상기 이용 가능한 디스플레이 영역의 물리적인 폭으로부터 크기 제한은 분리될 수 있다. 그러나, 그렇다면, 상기 포맷팅 모델에 의해 생성된 크기 조절된 포맷팅 구조는 그 디스플레이 영역의 물리적인 폭에는 물론 더 이상 맞지 않을 것이다.
상기 제5 축척 계수의 값은, 너무 작아서 대부분의 문서들에 대해 실험적으로 비-왜곡인 것으로 알려진 상수이거나 또는 적용된 제4 축척 계수에 의존하거나 또는 사용자에 의해 메뉴, 제어 버튼, 제어 휠 또는 유사한 대화식 기술을 통하여 선택될 수도 있을 것이다.
상기 핸드헬드 멀티미디어 장치의 브라우저 또는 다른 인스턴스(instance)가 각 문서를 기반으로 하여 상기 제5 축척계수를 적절하게 결정할 수 있다는 것 역시 가능하다. 적절한 값을 어떻게 결정하는 가에 대한 가능성은 예를 들면 다음과 같다:
- 포맷 과정 후에 상기 크기 조절된 포맷팅 구조 내에 수평으로 과다한 텍스트 박스들이 있으면, 상기 제5 축척 계수를 위해 더 큰 값을 선택하고(즉 크기 제한을 넒힌다) 다시 포맷하라.
- 크기 조절된 포맷팅 구조에서의 텍스트 내용물의 주요 블록이 포맷되어 이용 가능한 디스플레이 영역의 폭보다 (많이) 더 좁게되면, 상기 제5 축척 계수의 값을 증가시키고 다시 포맷하라.
- 문서가 로드되고 포맷된 후에 크기 조절된 포맷팅 구조에서 나란히 있는 박스들이 없다면 폭의 제한을 가정하고 스크린 폭에 맞추어 다시 포맷하라 (즉, 페이지를 더 좁게 만드는 것임).
웹 문서를 위한 최적의 포맷팅 제한들인 거의 변하지 않으므로, 제한 정보(즉, 상기 제5 축척계수)는 URL(Uniform Resource Locator) 단위를 기반으로 캐치되어 웹 문서를 로딩하는 동안에 다시 포맷하는 필요를 줄인다.
도 3a 및 3b는 본 발명의 제2 실시예에 따라 이용 가능한 디스플레이 영역의 물리적인 폭으로부터 크기 제한을 분리하여 크기 제한이 완화된 때에 얻을 수 있는 효과를 도시한 것이다. 거기에는, 제2 및 제4 축척 계수는 같으며, 상기 제3 축척계수는 상기 제2 및 제4 축척계수의 역수값인 것이 가정된다. 마찬가지로, 상기 제2, 제3 및 제4 축척 계수는 1과 같을 수 있다.
도 3a의 상단부에서, 크기 조절된 포맷팅 구조의 일부가 디스플레이(2)의 이용 가능한 디스플레이 영역에 표시되었다. 상기 크기 조절된 포맷팅 구조(4a)는 세 개의 열(4a-1. 4a-2 및 4a-3)을 포함하며, 중앙의 열(4a-2)만이 더 자세하게 도시되었다. 완전하게 크기 조절된 포맷팅 구조(4a)는 도 4a의 하단부에 작은 크기로 도시되어 있다. 거기에서, 디스플레이 영역(2)(도 3a의 상단부 참조)에서 디스플레이된 상기 크기 조절된 포맷팅 구조(4a)의 일부 역시 굵은 프레임(5)에 의해 가리켜진다. 도 3a에서 쉽게 볼 수 있는 것과 같이, 크기 조절된 포맷팅 구조는 이용 가능한 디스플레이 영역의 폭에 맞도록, 즉, 상기 제5 축척계수는 1로 선택되어, 렌더링되며, 그러면 포맷팅 과정 동안에 고려되는 크기 조절된 크기 제한은 이용 가능한 디스플레이 영역의 폭과 일치하며, 그 디스플레이 영역은 상기 제4 축척 계수만으로 크기 조절된 것이며, 상기 크기 조절의 영향은 상기 제4 축척 계수의 역수값인 제3 축척 계수를 이용해서 포맷팅 구조를 나중에 크기 조절함으로써 무효가 된다. 상기 중앙의 열(4a-2)로부터 볼 수 있는 것과 같이, 공간의 부족 때문에, 상기 중앙의 열(4a-2)은 열의 폭이 작게 렌더링되어야 하며 그래서 가독성은 빈약해진다.
도 3b의 상단부는 도 3a의 동일한 디스플레이(2)의 이용 가능한 디스플레이 영역에 표시된 크기 조절된 포맷팅 구조(4b)의 일부를 도시한 것이다. 그러나, 상기 제5 축척계수는 1로 선택되는, 도 3a의 크기 조절된 포맷팅 구조에 대비하면, 도 3b의 크기 조절된 포맷팅 구조(4b)의 생성에서, 포맷팅 과정에 부과된 크기 제한을 완화시키기 위해 1보다 큰 제5 축척 계수가 선택된다. 제5 축척계수를 이렇게 선택하는 것은 크기 조절된 포맷팅 구조(4b)는 이용가능한 디스플레이 영역(2)의 폭에 더 이상 맞지 않고, 그래서 스크롤링이 요구되며, 이는 도 3b의 하단부의 상기 크기 조절된 포맷팅 구조(4b)가 작은 크기로 표현된 것으로부터 알 수 있으며, 상기 굵은 프레임(5)은 이용 가능한 디스플레이 영역(2)에 디스플레이된 상기 크기 조절된 포맷팅 구조(4b)의 일부를 다시 가리킨다. 그러나, 도 3b의 상단부의 중간 열(4b-2)에서 볼 수 있는 것과 같이, 이제 상기 크기 조절된 포맷팅 구조(4b)의 포맷팅 과정에서 더 넓은 공간이 이용 가능하고, 그래서 상기 중간 열(4b-2)에 포함된 텍스트는 이제 더 잘 포맷되고 더 읽기 쉽다. 표현을 완벽하게 하기 위해, 도 3b에서 제5 축척계수로 선택된 값은 크기 조절된 포맷팅 구조(4b)(도 3b의 하단부 참조)의 폭을 크기 조절된 포맷팅 구조(4a)(도 3a의 하단부 참조)의 폭과 비교하여 결정될 수도 있다는 것을 유의하여야 한다.
상기에서 설명되고 도 3a 및 3b에서 도시된 본 발명의 제2 실시예에서, 이 제2 실시예는 상기 제1 실시예의 윗 부분에서 설정된다는 것이 가정된다. 즉, 크기 제한은 상기 제1 축척계수(제4 및 제5 축척 계수를 포함함)에 의해 첫 번째로 크기 조절되고, 폰트의 크기는 제2 축척 계수에 의해 크기 조절되며, 그러면 포맷팅 구조는 제3 축척계수에 의해 크기 조절된다. 본 발명의 두 번째 실시예의 영향은 한번은 1과 같은 제5 축척계수로 포맷팅 구조를 생성하여 도 3a에 도시된 크기 조절된 포맷팅 구조(4a)로 이끌며, 또 한번은 1보다 더 큰 제5 축척계수를 수반하여 도 3b에 도시된 크기 조절된 포맷팅 구조(4b)로 이끄는 것에 의해 보여질 수 있다. 그러나, 본 발명의 제2 실시예의 핵심 아이디어는 본 발명의 제1 실시예에 따른 크기 조절이 전혀 실행되지 않아서 종래 기술의 경우와 같게 된 경우(제2, 제3 및 제4 축척 계수가 1과 같은 경우에 대응됨)에도 적용될 수 있으며, 그러면 제5 축척계수만이 포맷팅 과정 중에 고려되는 크기 제한들을 완화시키기 위해 단독의 축척 계수로 사용된다.
상기에서 본 발명의 제1 및 제2 실시예에 따른 문서 렌더링은 대부분의 웹 문서들에서 잘 동작하지만, 상기 문서의 모든 텍스트 요소의 텍스트가 이용 가능한 디스플레이 영역의 폭과 같거나 더 작게 포맷된다는 것이 보장되지 않을 수 있으며, 그래서 수평 스크롤링을 요구하지 않으면서 읽을 수 있다. 이 문제는 본 발명의 제3 실시예에 의해 극복되며, 이는 이하에서 제시될 것이다.
도 4a의 상단부는 디스플레이에서 이용 가능한 디스플레이 영역(2)에 표시된 크기 조절된 포맷팅 구조(6a)의 일부(6a-1)를 도시한 것이다. 상기 크기 조절된 포맷팅 구조(6a)는 예를 들면 포맷팅 과정에 의해 생성될 수 있을 것이다. 도 4a의 하단부는 완전하게 크기 조절된 포맷팅 구조를 작은 크기로 도시한 것이며,
도 4a의 상단부의 디스플레이에서 이용 가능한 디스플레이 영역(2)에 표시된 일부(6a-1)는 굵은 프레임(5)에 의해 가리켜진다. 상기 크기 조절된 포맷팅 구조(6a)는 네비게이션 요소(6a-2)를 포함한다. 상기 네비게이션 요소(6a-2)는 ("Home", "Phones", "Production" 등의) 짧은 텍스트를 포함하는 복수의 테이블 셀들로 구성된 수평 링크 메뉴이다. 상기 테이블 셀들의 텍스트는 인라인 텍스트이며, 즉 브라우저에 의해 포맷된다.
네비게이션 요소(6a-2)와 같은 종류의 최소 폭은 그것의 테이블 셀들 내의 텍스트의 최소 텍스트 폭 제한들에 의해 한정된다 (네비게이션 요소(6a-2)의 폭은 모든 테이블 셀들의 폭들의 합보다 작을 수 없으며, 그 내부에 포함된 상기 텍스트들의 텍스트 폭에 의해 차례로 결정된다). 상기 네비게이션 요소(6a-2)는 본 발명의 제1 및 제2 실시예에 따른 문서 렌더링 알고리즘이 적용되면 더 좁아지지 않을 것이다.
도 4a의 네비게이션 요소(6a-2)는 전체 포맷팅 구조의 최소 폭을 한정할 수 있고, 일부 넓은 열들은 상기 포맷된 구조로 남겨둔다. 그러면 상기 넓은 열들은 이 넓은 열들의 폭의 텍스트를 포맷팅하도록 이끌고, 차례로 이 텍스트를 읽기 위해 수평으로 스크롤링될 것을 필요로 한다. 이는 예를 들면 도 4a의 경우이다. 도 4a의 하단부에서 볼 수 있는 것과 같이, 상기 네비게이션 요소(6a-2)는 상기 크기 조절된 포맷팅 구조(6a) 내의 넓은 왼쪽 열의 원인이다. 따라서 상기 네비게이션 요소(6a-2) 아래의 텍스트 요소(상기 6a-1 부분에 대응함)를 위해, 텍스트 박스(6a-3)(점선이 그어진)가 이용 가능한 디스플레이 영역(2)의 폭보다 더 큰 폭을 가지면서 생성된다. 포맷팅 과정 동안에, 텍스트는 이 텍스트 박스(6a-3)의 폭에 맞추어 포맷되며, 도 4a의 상단부에서 볼 수 있는 것과 같이 그 텍스트를 읽기 위해서 스크롤링이 요구된다.
본 발명의 제3 실시예는 사용자가 다중라인 텍스트 문단을 읽기 위해 옆으로 스크롤할 필요가 없다는 것에 목표를 둔다. 상기 크기 조절된 크기 제한에 의해 정의된 상기 폭이 박스 모델(예를 들면, CSS2 박스 모델)에 따른 포맷팅 중에 텍스트 문단을 위해 결정된 박스의 폭보다 더 좁으면, 이 목적을 위해서, 포맷팅 과정 중에 실행되는, 인라인 레이아웃 알고리즘(즉, CSS2 인라인 레이아웃 알고리즘)이 크기 조절된 크기 제한(예를 들면, 이용 가능한 디스플레이 영역 또는 상기 제1 축척계수에 의해 크기 조절된 시야 포트)에 의해 정의된 폭에 맞추어 인라인 텍스트가 포맷되도록 변형된다. 이런 접근은, 상기 텍스트를 위해 포맷팅 과정에서 생성된 텍스트 박스가 상기 크기 조절된 크기 제한에 의해 정의된 상기 폭보다 큰 경우까지도, 텍스트가 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 포맷되는 것을 보장하는데 목적을 둔다.
본 발명의 제3 실시예는 포맷팅 모델을 예를 들면 CSS2 포맷팅 모델로 나누며, 특히 동일한 인라인 레이아웃 알고리즘이 텍스트와 이미들을 포함하는 모든 인라인 콘텐츠를 위해 사용되므로, 문서 구조를 파괴하는 것을 피하기 위해 신중하게 적용되어야 한다. 이 가장 단순한 접근은 상기 라인들이 완전히 텍스트로만 구성되고 다른 요소들을 포함하지 않는다면 상기 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 라인들만을 포맷하는 것이다.
도 5는 본 발명의 이 제3 실시예의 예시적인 흐름도를 도시한 것이다. 첫 번째 단계(500)에서, 상기 크기 조절된 크기 제한에 의해 정의된 폭이 포맷팅 과정 중에 텍스트 요소의 텍스트를 위해 계산된 텍스트 박스의 폭보다 더 작은가가 검사된다. 작지 않다면, 텍스트 박스는 상기 크기 조절된 크기 제한에 의해 정의된 폭보다 더 작으며, 그러면 텍스트를 텍스트 박스의 폭에 맞추어 포맷하는 것이 501 단계에서 실행된다. 상기 텍스트 박스 내의 텍스트는 상기 포맷팅 구조의 일부를 구성하며, 그리고 상기 제3 축척계수를 이용해서 이 포맷팅 구조를 크기 조절하고 상기 크기 조절된 포맷팅 구조를 이용 가능한 디스플레이 영역 위에 표시한 후에 상기 텍스트를 표현한 것은 수평 스크롤링을 요구하지 않고 읽혀질 수 있다.
상기 크기 조절된 크기 제한에 의해 정의된 상기 폭이 상기 텍스트 박스의 폭보다 더 작은 경우에, 상기 텍스트가 텍스트 박스 폭에 맞추어 포맷된다면 수평 스크롤링이 요구될 것이다. 그러므로 그 대신에, 상기 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 텍스트는 라인 양식(line-wise)으로 502 내지 505 단계에서 포맷된다. 순수하게 텍스트를 포함하는 라인들만이 상기 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 포맷(503 단계)될 것이기 때문에 이런 다중의 단계들이 필요하며, 그 반면 대치되는 다른 요소들(예를 들면, 이미지들과 같이 포맷팅 과정 동안에 대체될 요소)을 포함하는 라인들은 문서의 레이아웃을 유지하기 위해 텍스트 박스 폭에 맞추어 포맷된다(504 단계). 파인이 텍스트만을 포함하는 가의 검사는 502 단계에서 실행되고, 이 검사의 출력에 따라서 503 또는 504 단계가 수행된다. 505 단계는 텍스트 요소의 텍스트 내의 모든 라인들이 처리되었는가를 제어한다. 처리되지 않았다면, 502 내지 505 단계가 다시 반복된다.
라인 요소의 라인들을 상기 크기 조절된 크기 제한에 의해 정의된 상기 폭에 맞추어 포맷하는 (그리고, 그래서 포맷팅 모델들을 예를 들면 CSS2 포맷팅 모델로 나누는)직접적인 요청은 상기 라인이 순수하게 텍스트만을 포함(도 5의 502 단계 참조)할 때에만 실행될 것이며, 상기 라인들 내의 텍스트 이외의 다른 요소들을 허용함으로써 완화될 수 있다. 최소한 다음의 대안들이 고려될 수 있다:
a) 이 잠재적인 나누는 포인트까지의 라인업이 텍스트 또는 (HTML anchor 태그 <a> 또는 볼드 태그 <b>와 같은) 대체되지 않는 인라인 요소들이면 라인을 상기 크기 조절된 크기 제한에 의해 정의된 상기 폭에 맞추어 포맷만 하며, 그 라인이 이미지, 인라인 테이블 또는 유사한 요소들과 같은 대체되는 요소들을 포함하면 그렇지 않는다.
b) 라인당 대체되는 요소들의 미리 정의된 개수는 허용하는 것 외에는 (예를 들면 라인당 하나의 대체되는 요소는 허용), a)와 동일.
c) 예를 들면 한 라인의 모든 대체되는 요소들의 폭의 합이 미리 정의된 문턱값 밑이면 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 라인을 포맷하는 것과 같이, 대체되는 요소들의 치수를 고려하는 것을 제외하면 a)와 동일.
d) 문서 트리 내의 부모 블록 요소(예를 들면 문단)의 콘텐츠가 텍스트 또는 대체되지 않는 인라인 콘텐츠라면 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 라인을 포맷하기만 한다.
e) 라인당 대체되는 요소들의 미리 정의된 개수는 허용하는 것 외에는 (예를 들면 라인당 하나의 대체되는 요소는 허용), d)와 동일.
f) 대체되는 요소들의 치수를 고려하는 것을 제외하면 d)와 동일(상기 대체되는 요소들의 폭의 합이 미리 정의된 값보다 작으면 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 라인을 포맷하기만 한다).
도 4b는 도 4a와 동일한 문서를 포맷할 때에 본 발명의 제3 실시예를 적용하여 얻을 수 있는 개선점들을 도시한 것이다. 도 4b의 상단부는 본 발명의 제3 실시예에 따른 포맷팅 과정에 의해 생성된 대응하는 크기 조절된 포맷팅 구조(6b)의 일부(6b-1)를 도시한 것이다. 일단 다시, 도 4b의 하단부는 크기 조절된 포맷팅 구조(6b)의 완전한 모습을 작게 도시한 것이며, 도 4b의 상단부 내의 디스플레이의 이용 가능한 디스플레이 영역(2)이 표시되는 부분(6b-1)은 굵은 프레임(5)에 의해 가리켜진다. 도 4a에서와 같이, 상기 크기 조절된 포맷팅 구조(6b)는 네비게이션 요소(6b-2)를 포함하고, 이것은 상기 크기 조절된 포맷팅 구조(6b)에서 넓게 남아있는 열의 원인이 된다 (참고. 도 4b의 하단부에 상기 크기 조절된 포맷팅 구조가 작은 크기로 표현됨). 따라서, 상기 네비게이션 요소(6b-2) 하단의 텍스트 요소(상기 6b-1에 대응)를 위해 이용 가능한 디스플레이 영역(2)의 폭보다 큰 폭을 가지는 텍스트 박스(6b-3)(점선의 모습)가 생성된다. 본 발명의 제3 실시예에 따라, 상기 텍스트 박스(6b-3)의 폭이 상기 크기 조절된 크기 제한에 의해 정의된 폭보다 큰 것이 탐지되면 상기 텍스트를 상기 텍스트 박스의 폭이 아니라 상기 크기 조절된 크기 제한에 의해 정의된 상기 폭에 맞추도록 텍스트를 포맷하는 것이 실행된다. 도 4b의 예에서, 텍스트 요소를 포맷할 때에 도 5의 흐름도의 단계들이 준수되어야 한다고 가정한다. 그러면 이미지 요소 "H"를 포함하는, 상기 부분(6b-1)의 두 번째 줄은 상기 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 포맷되는 것이 아니라, 상기 텍스트 박스 폭에 의해 정의된 폭에 맞추어 포맷되며, 그래서 이 라인을 읽으려면 수평 스크롤링이 필요하다 (도 4b 참조). 상기에서 이미 표시된 것과 같이, 상기 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 이 라인을 포맷하는 것은 도 5의 흐름도를 약간 변경하여 얻어질 수 있다.
상기에서 설명되고 도 5 및 4b에서 도시된 본 발명의 제3 실시예에서, 이 제3 실시예는 상기 제1 실시예의 윗 부분에서 설정된다는 것이 가정된다 (그리고 상기 제2 실시예에서도 가능). 즉, 크기 제한은 상기 제1 축척계수 (제2 실시예에서는 제4 및 제5 축척 계수를 포함함)에 의해 첫 번째로 크기 조절되고, 폰트의 크기는 제2 축척 계수에 의해 크기 조절되며, 그러면 포맷팅 구조는 제3 축척계수에 의해 크기 조절된다. 그러나 본 발명의 제3 실시예의 핵심 아이디어는 즉, 텍스트 요소의 텍스트를 위해 계산된 텍스트 박스의 폭이 상기 크기 조절된 크기 제한에 의해 정의된 폭보다 더 크면 텍스트를 상기 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 포맷하며, 또한 본 발명의 제1 실시예에서 (그리고 아마도 제2 실시예에서) 크기 조절이 전혀 실행되지 않아서 종래 기술의 경우와 같게 된 경우 (제2, 제3 및 제4 축척 계수가 1과 같은 경우에 대응됨)에도 본 발명이 적용될 수 있다는 것이다. 마찬가지로 본 발명의 제3 실시예는 본 발명의 제2 실시예와만 결합될 수 있다. 즉, 본 발명의 제1 실시예의 애플리케이션을 요청할 필요가 없다.
상기에서 설명된 본 발명의 실시예에 따른 문서 포맷은 이용 가능한 디스플레이 영역보다 더 넓은 텍스트 열이 없다는 것을 보장한다. 그 결과 이용 가능한 작은 디스플레이 영역을 가지는 장치에서, 열은 매우 좁아질 수 있다. 추가적인 결과 주어진 텍스트를 표시하는데 필요한 라인들의 수가 극적으로 증가할 수 있을 것이다. 고정된 종래 기술의 브라우저는 단어 경계를 기초로 텍스트의 라인을 나누며, 즉 더해지는 추가의 단어가 그 텍스트가 맞추어질 박스의 폭을 초과하면 라인에 마지막으로 더해진 단어의 이후의 텍스트를 싸서 다음 줄로 내리기(wrap around) 때문에 이는 라인들의 끔에 빈 공간으로 낭비되는 디스플레이 영역의 총 크기가 증가시킨다. 그 영향은 긴 단어를 많이 쓰는 언어(예를 들면 핀랜드 언어)에서는 특히 중요하다.
본 발명에 제4 실시예는 텍스트 하이픈연결(hyphenation)을 구현하여 디스플레이 영역의 효율성을 개선할 것을 제안한다. 하이픈연결은 텍스트에 잠재적인 나누는 포인트(break point)를 더하기 때문에, 텍스트의 최소 폭 제한들이 감소되며, 그리고 일반적으로 문서 포맷팅의 유연성과 성능이 개선된다. 하이픈연결은 동일한 스크린 영역에 더 많은 정보를 모으도록 하고 그래서 디스플레이 영역의 효율성을 높인다. 그 직접적인 결과로, 이용 가능한 디스플레이 영역에 표시되는 크기 조절된 포맷팅 구조를 수직으로 스크롤하는 필요가 아주 많이 감소될 수 있다. 더 나아가, 텍스트는 더 균일하게 나타나고 (블록 모습), 가독성이 향상된다.
도 6a와 6b는 본 발명의 제4 실시예에 따라 텍스트 요소에 하이픈연결을 실행하여 얻어진 텍스트 박스의 높이의 감소, 더 균일한 텍스트 표시 및 개선된 영역 효율을 도시한 것이다.
도 6a는 하이픈 연결 없이, 포맷팅 과정에서 계산된, 텍스트 박스(7a)의 폭에 맞추어 포맷된 텍스트를 도시한 것이다. 상기 박스(7a)의 폭이 텍스트 박스(7a)에서 포함된 긴 단어에 의해 결정되는 것이 명확하게 확인된다.
도 6b는 하이픈연결을 사용하여 텍스트 박스(7b)에 맞추어 포맷된 같은 텍스트를 도시한 것이다. 하이픈연결을 사용한 도 6b의 텍스트박스(7b)가 도 6a의 텍스트 박스(7a)보다 아주 작은 높이를 가지는 것을 쉽게 확인된다. 양 텍스트 박스(7a, 7b)가 비교 목적을 위해 서로 동일하게 유지하고 있다.
핸드헬드 멀티미디어 장치의 브라우저에서의 하이픈연결은 순수하게 클라언트 측에서 또는 서버-보조 솔루션으로 구현될 수 있다. 양 경우에, 구현에는 다음 사항들이 필요하다:
- 언어 탐지 알고리즘 및
- 탐지된 언어를 위한 하이픈연결 알고리즘
양 작업을 위한 신뢰할만하고 빠른 알고리즘이 존재한다.
텍스트에 사용되는 언어는 정확한 하이픈연결이 실행되도록 알려질 필요가 있다. 웹 서비스는 사용되는 언어의 확인을 항상 알려주지 않고 혹은 그에 대해 정확하게 알려주지도 않는다. 그러므로 하이픈연결을 실행하는 엔티티는 사전에 기초하여 텍스트에서 사용되는 언어를 탐지하고 그러면, 비록 서버에 의해 통보된 것과 다른 것이라고 할지라도, 그 탐지된 언어에 따라 하이픈연결을 실행할 수 있다.
서버-보조의 하이픈연결은 문서 텍스트의 잠재적인 하이픈연결 포인트에 유니코드 하이픈연결 마크들을 자동적으로 더해서 (프록시) 서버에서 웹 문서를 처리할 수 있다. 브라우저나 다른 문서 포맷팅 인스턴스는 이런 하이픈연결 마크들을 문서 포맷팅 동안에 실제로 라인을 나눌 포인트를 결정하기 위한 힌트로 사용할 수 있다.
본 발명의 제4 실시예에 따른 포맷 과정에서 하이픈연결 애플리케이션은 본 발명의 제1, 제2 및/또는 제3 실시예가 포맷팅 절차 내에 구현되어 있는지 여부와는 전혀 관계없는 것임에 유의해야 한다. 하이픈연결은 본 발명의 상세한 설명에서 설명된 본 발명의 처음 세 가지 실시예 모두와 공동으로 동작할 수 있으며, 또한 어떤 다른 종래 포맷팅 방법에 통합되어 사용될 수 있다.
도 7은 본 발명에 따라 오브젝트를 디스플레이하는 시스템의 도시한 것이며, 상기 시스템(8)은 장치(80) (예를 들면, 모바일 폰과 같은 핸드헬드 멀티미디어 장치), 원격 서버(81), 그리고 네트워크 인터페이스(82)를 포함한다. 예시적으로 HTLM로 특정된 웹 문서들 (또는 인터넷 페이지들)인 오브젝트는 상기 원격 서버(81)에 저장되고 상기 네트워크 인터페이스(82)를 통해 전송되며, 상기 장치(80)에 의해 처리되고 표시된다. 거기에, 상기 장치(80) 및/또는 상기 네트워크 인터페이스(82)는 본 발명의 실시예를 구현하는 수단을 포함한다.
장치(80)는 브라우저의 기능을 구현하는데 필요한 표준의 컴포넌트들을 포함한다 : 제어기(804)는 브라우저의 기능을 제어하고 예를 들면 키보드, 타치 스크린, 마우스 또는 목소리 명령 등을 통해 사용자로부터 입력을 받아들이며, 로드되는 새로운 HTML 문서의 주소를 수신한다. HTML 클라이언트(803)는 제어기(804)에게 서비스를 제공하고, 특별히 원격 서버(81)와 연결된 네트워크 인터페이스(82)를 통해 새로운 HTML 문서들을 페치(fetch)한다. 장치(80)가 핸드헬드 멀티미디어 장치이면, 상기 연결은 대부분 무선 연결일 것이다. 문서 포맷자(806)는 HTML 문서들의 번역에 책임을 지며, 디스플레이 드라이버(807)를 통해 디스플레이(808) 상에 표시될 수 있는 크기 조절된 포맷팅 구조를 생성한다. 이런 목적을 위해 문서 포맷자(806)는 HTML 문서의 HTML 소스 코드를 분석하고 문서 트리를 생성하며, 상기 문서 트리 또는 그에 포함된 요소들에 연관된 스타일 시트를 검색하고, 검색된 스타일 시트에 따라서 문서 트리의 요소들에 주석을 붙이며, 상기 주석이 붙여진 문서 트리로부터 포맷팅 구조를 생성하며, 그 포맷팅 구조는 디스플레이(808)의 이용 가능한 디스플레이 영역에 표시된다.
본 발명의 실시예에 따르면, 상기 장치(80)는 (제4 축척계수와 제5 축척계수의 곱으로 표현될 수 있는) 제1 축척계수에 의해 크기 제한에 대해 크기 조절을 하며, 제2 축척 계수에 의해 텍스트 요소의 텍스트 폭을 크기 조절하고, 제3 축척 계수에 의해 포맷팅 구조를 크기 조절한다. 이것은 예를 들면, 문서 포맷자(806) 및/또는 제어기(804)로 구현될 수 있을 것이다. 상기 장치(80)는 렌더링되는 문서에 따라 축척계수의 일부 또는 모두를 적절하게 결정하는 수단을 포함하거나 상기 축척계수들을 사용자가 입력하거나 변경하도록 하는 적절한 대화식의 기능(805)을 제공할 수 있다. 상기 장치(80)는 추가적으로 텍스트 요소의 텍스트를 위해 계산된 텍스트 박스의 폭이 상기 크기 조절된 크기 제한에 의해 정의된 폭보다 더 큰가를 탐지하고, 상기 텍스트를 상기 크기 조절된 크기 제한에 의해 정의된 폭에 맞추어 포맷하는 수단을 더 포함한다. 상기 장치(80)는 텍스트 요소들에 텍스트들에 하이픈연결을 실행하는 수단을 추가적으로 포함할 수 있다.
장치(80)에 의해 제공되는 기능은 최소한 부분적으로는, HTML 문서가 원격 서버(81)로부터 장치(80)로 전송되는 동안 HTML 문서를 분석할 수 있는, 네트워크 인터페이스(82)에 의해 제공된다. 예를 들면, 하이픈연결 마크들은 상기 네트워크 인터페이스(82) 내에서 HTML 문서의 텍스트 요소의 텍스트에 부가될 수 있으며, 그 하이픈연결 마크들은 텍스트의 라인들이 가장 잘 랩 어라운드될 때를 결정하기 위해 텍스트를 포맷할 때에 상기 문서 포맷자(806)에 의해 검사될 수 있다.
본 발명은 예시적인 실시예를 통해 상기에서 설명되었다. 자명한 대안의 방법 및 변형이 첨부된 청구범위의 범위와 기본 정신에서 벗어나지 않으면서 구현 가능하다는 것은 본 발명이 속한 기술 분야의 통상의 지식을 가진 자에게는 자명한 것이다. 특히, 본 발명의 실시예를 전개하는 것은 디스플레이 상에서만 CSS2 스타일 시트와 연관된 HTML 문서들을 렌더링하는 브라우저에 제한되지 않는다. 대신, 본 발명은 각 컨텍스트에 적용될 수 있고, 그 각 컨텍스트에는, 오브젝트가 어떤 방법으로라도 디스플레이되어야 하는 텍스트 요소들을 포함하고, 그것이 디스플레이 상에 있건 또는 빔과 같은 프로젝션 인스턴스를 통하건 또는 어떤 다른 장치에 있건 무관하게 본 발명이 적용된다. 상기 오브젝트는 3D 개체일 수도 있다.
본 발명은 네트워트, 컴퓨터 특히 모마일 이동 통신, 이동 통신 서버 및 이동 통신 네트워크에서 사용될 수 있다.

Claims (27)

  1. 디스플레이될 복수의 요소 (element)들을 포함하는 오브젝트 (object)가 디스플레이될 영역의 크기 제한을 고려하여 상기 디스플레이될 요소별로 크기를 조절하기 위한 크기 조절 계수들을 얻는 단계;
    상기 요소들 중의 하나 이상을, 대응하는 상기 크기 조절 계수에 따라 크기 조절하여 크기 조절된 요소들을 얻는 단계;
    상기 크기 조절된 요소들을 포함하는 복수의 요소들이 상기 디스플레이될 영역에서 디스플레이되는 레이아웃 (layout) 구조를, 상기 디스플레이될 영역의 크기 제한을 고려하여 생성하는 단계; 및
    상기 레이아웃 구조를 크기 조절하여 상기 오브젝트가 최종 디스플레이될 모습을 얻는 단계;를 포함하는 방법.
  2. 제1항에 있어서,
    상기 레이아웃 구조를 생성하는 단계는,
    상기 크기 조절된 요소를 위한 경계를 결정하는 단계;
    상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 한계를 위반하는지를 검사하는 단계; 및
    상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 상기 한계를 위반하면, 상기 크기 조절된 요소의 내용을 상기 정의된 한계에 맞추는 단계;를 포함하는 방법.
  3. 제1항에 있어서,
    상기 레이아웃 구조를 생성하는 단계에서,
    상기 크기 조절된 요소를 얻기 위해, 상기 크기 조절된 요소에 포함된 텍스트에 하이픈연결 알고리즘이 적용되는, 방법.
  4. 제1항에 있어서,
    상기 레이아웃 구조를 생성하는 단계는 스타일 시트에 의해 정의되는, 방법.
  5. 제1항에 있어서,
    상기 오브젝트는 문서이며, 상기 문서의 상기 요소들은 마크업 언어(markup language)에 의해 정의되는, 방법.
  6. 제1항에 있어서,
    상기 크기 조절 계수는 상기 레이아웃 구조의 상기 크기 조절을 나타내는 축척계수의 역수보다 더 큰 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    크기 조절 계수들을 얻는 상기 단계는 상기 오브젝트가 디스플레이될 영역의 크기 제한을 제1 축척계수에 의해 크기 조절하는 단계를 포함하며,
    상기 요소들 중의 하나 이상을 크기 조절하는 것은 상기 요소들 중의 하나 이상을 제2 축척계수에 의해 크기 조절하는 것을 포함하며, 그리고
    상기 레이아웃 구조를 크기 조절하는 것은 상기 레이아웃 구조를 제3 축척계수에 의해 크기 조절하는 것을 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제1 축척계수 및 제2 축척계수는 1보다는 크며, 상기 제3 축척계수는 1보다 작은 것을 특징으로 하는 방법.
  9. 제7항에 있어서,
    상기 제1 축척계수 및 제2 축척계수는 동일하며, 상기 제3 축척계수는 상기 제1 축척 계수의 역수 값인 것을 특징으로 하는 방법.
  10. 제7항에 있어서,
    상기 제1 축척계수는 제4 축척계수 및 제5 축척계수의 곱이며, 상기 제4 축척계수는 상기 제3 축척계수의 역수 값인 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 제5 축척계수는 1보다 더 큰 것을 특징으로 하는 방법.
  12. 디스플레이될 복수의 요소 (element)들을 포함하는 오브젝트 (object)가 디스플레이될 영역의 크기 제한을 고려하여 상기 디스플레이될 요소별로 크기를 조절하기 위한 크기 조절 계수들을 얻는 수단;
    상기 요소들 중의 하나 이상을, 대응하는 상기 크기 조절 계수에 따라 크기 조절하여 크기 조절된 요소들을 얻는 수단;
    상기 크기 조절된 요소들을 포함하는 복수의 요소들이 상기 디스플레이될 영역에서 디스플레이되는 레이아웃 (layout) 구조를, 상기 디스플레이될 영역의 크기 제한을 고려하여 생성하는 수단; 및
    상기 레이아웃 구조를 크기 조절하여 상기 오브젝트가 최종 디스플레이될 모습을 얻는 수단;을 포함하는 장치.
  13. 제12항에 있어서,
    상기 장치는 모바일 폰인, 장치.
  14. 제12항에 있어서,
    상기 레이아웃 구조를 생성하는 수단은,
    상기 크기 조절된 요소를 위한 경계를 결정하는 수단;
    상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 한계를 위반하는지를 검사하는 수단; 및
    상기 경계의 치수가 상기 오브젝트가 디스플레이될 상기 영역의 크기 제한에 의해 정의된 상기 한계를 위반하면, 상기 크기 조절된 요소의 내용을 상기 정의된 한계에 맞추는 수단;을 포함하는 장치.
  15. 제12항에 있어서,
    상기 레이아웃 구조를 생성하는 수단은,
    상기 크기 조절된 요소를 얻기 위해, 상기 크기 조절된 요소에 포함된 텍스트에 하이픈연결 알고리즘을 적용하는 수단을 포함하는, 장치.
  16. 제12항에 있어서,
    상기 크기 조절 계수는 상기 레이아웃 구조의 상기 크기 조절을 나타내는 축척계수의 역수보다 더 큰 것을 특징으로 하는 장치.
  17. 제12항에 있어서,
    크기 조절 계수들을 얻는 상기 수단은 상기 오브젝트가 디스플레이될 영역의 크기 제한을 제1 축척계수에 의해 크기 조절하는 수단을 포함하며,
    크기 조절된 요소들을 얻는 상기 수단은 상기 요소들 중의 하나 이상을 제2 축척계수에 의해 크기 조절하는 수단을 포함하며, 그리고
    상기 레이아웃 구조를 크기 조절하여 최종 디스플레이될 모습을 얻는 상기 수단은 상기 레이아웃 구조를 제3 축척계수에 의해 크기 조절하는 수단을 포함하는 , 장치.
  18. 제17항에 있어서,
    상기 제1 축척계수 및 제2 축척계수는 1보다는 크며, 상기 제3 축척계수는 1보다 작은 것을 특징으로 하는 장치.
  19. 제17항에 있어서,
    상기 제1 축척계수 및 제2 축척계수는 동일하며, 상기 제3 축척계수는 상기 제1 축척 계수의 역수 값인 것을 특징으로 하는 장치.
  20. 제17항에 있어서,
    상기 제1 축척계수는 제4 축척계수 및 제5 축척계수의 곱이며,
    상기 제4 축척계수는 상기 제3 축척계수의 역수 값인 것을 특징으로 하는 장치.
  21. 제20항에 있어서,
    상기 제5 축척계수는 1보다 더 큰 것임을 특징으로 하는 장치.
  22. 제12항에 있어서,
    상기 레이아웃 구조를 생성하는 상기 수단은 스타일 시트에 따라서 상기 레이아웃 구조를 생성하도록 구성된, 장치.
  23. 제12항에 있어서,
    상기 오브젝트는 문서이며,
    상기 문서의 상기 요소들은 마크업 언어(markup language)에 의해 정의되는, 장치.
  24. 프로세서로 하여금 제1항 방법의 단계들을 실행하도록 동작 가능한 명령어들을 구비한 컴퓨터 프로그램을 포함하는, 컴퓨터로 읽을 수 있는 저장 매체.
  25. 제24항에 있어서,
    상기 컴퓨터 프로그램은 브라우징 애플리케이션에 관련된 것임을 특징으로 하는, 컴퓨터로 읽을 수 있는 저장 매체.
  26. 디스플레이될 복수의 요소 (element)들을 포함하는 오브젝트 (object)가 디스플레이될 영역의 크기 제한을 고려하여 상기 디스플레이될 요소별로 크기를 조절하기 위한 크기 조절 계수들을 얻는 수단;
    상기 요소들 중의 하나 이상을, 대응하는 상기 크기 조절 계수에 따라 크기 조절하여 크기 조절된 요소들을 얻는 수단;
    상기 크기 조절된 요소들을 포함하는 복수의 요소들이 상기 디스플레이될 영역에서 디스플레이되는 레이아웃 (layout) 구조를, 상기 디스플레이될 영역의 크기 제한을 고려하여 생성하는 수단; 및
    상기 레이아웃 구조를 크기 조절하여 상기 오브젝트가 최종 디스플레이될 모습을 얻는 수단;을 포함하는, 시스템.
  27. 제26항에 있어서,
    상기 시스템은 모바일 무선 통신 네트워크의 네트워크 요소와 모바일 폰을 포함하는 시스템.
KR1020107008514A 2005-02-28 2006-02-23 큰 오브젝트를 작은 디스플레이 위에 표현 KR101121070B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/069,891 2005-02-28
US11/069,891 US7516402B2 (en) 2005-02-28 2005-02-28 Presentation of large objects on small displays
PCT/IB2006/000551 WO2006090281A1 (en) 2005-02-28 2006-02-23 Presentation of large objects on small displays

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020077019590A Division KR20070099670A (ko) 2005-02-28 2006-02-23 큰 대상물을 작은 디스플레이 위에 표현

Publications (2)

Publication Number Publication Date
KR20100057089A true KR20100057089A (ko) 2010-05-28
KR101121070B1 KR101121070B1 (ko) 2012-03-16

Family

ID=36576013

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020107008514A KR101121070B1 (ko) 2005-02-28 2006-02-23 큰 오브젝트를 작은 디스플레이 위에 표현
KR1020077019590A KR20070099670A (ko) 2005-02-28 2006-02-23 큰 대상물을 작은 디스플레이 위에 표현

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020077019590A KR20070099670A (ko) 2005-02-28 2006-02-23 큰 대상물을 작은 디스플레이 위에 표현

Country Status (6)

Country Link
US (1) US7516402B2 (ko)
EP (1) EP1854029B1 (ko)
KR (2) KR101121070B1 (ko)
CN (1) CN101128826B (ko)
MX (1) MX2007008776A (ko)
WO (1) WO2006090281A1 (ko)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7193609B2 (en) * 2002-03-19 2007-03-20 America Online, Inc. Constraining display motion in display navigation
US7345688B2 (en) * 2004-10-18 2008-03-18 Microsoft Corporation Semantic thumbnails
US7644356B2 (en) * 2005-06-10 2010-01-05 Hewlett-Packard Development Company, L.P. Constraint-based albuming of graphic elements
US7941525B1 (en) * 2006-04-01 2011-05-10 ClickTale, Ltd. Method and system for monitoring an activity of a user
US9009656B2 (en) * 2006-05-02 2015-04-14 International Business Machines Corporation Source code analysis archival adapter for structured data mining
US20080059877A1 (en) * 2006-08-29 2008-03-06 David Brookler Method for automatically adjusting the components of a screen region to maintain layout integrity in multiple languages
US9128596B2 (en) * 2006-09-22 2015-09-08 Opera Software Asa Method and device for selecting and displaying a region of interest in an electronic document
US8181107B2 (en) 2006-12-08 2012-05-15 Bytemobile, Inc. Content adaptation
US8234571B1 (en) * 2006-12-15 2012-07-31 Adobe Systems Incorporated Predictive text composition
US20090128581A1 (en) * 2007-11-20 2009-05-21 Microsoft Corporation Custom transition framework for application state transitions
US20090177538A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Zoomable advertisements with targeted content
US8225198B2 (en) * 2008-03-31 2012-07-17 Vistaprint Technologies Limited Flexible web page template building system and method
KR20140147136A (ko) * 2008-04-15 2014-12-29 오페라 소프트웨어 에이에스에이 전자 문서의 선택 영역 표시 시 텍스트의 동적 래핑 방법 및 장치
TWI457822B (zh) * 2008-04-18 2014-10-21 Htc Corp 資訊顯示方法及其系統與儲存媒體
JP4547638B2 (ja) * 2008-05-29 2010-09-22 ソニー株式会社 Webページ表示装置及びWebページ表示方法
US8457432B2 (en) * 2008-06-25 2013-06-04 Microsoft Corporation High information density of reduced-size images of web pages
JP4803218B2 (ja) * 2008-07-18 2011-10-26 カシオ計算機株式会社 情報出力装置および情報出力処理プログラム
US20100029340A1 (en) * 2008-07-29 2010-02-04 Research In Motion Limited Method and system for rendering a representation of a webpage on a display
US9152292B2 (en) * 2009-02-05 2015-10-06 Hewlett-Packard Development Company, L.P. Image collage authoring
US8881039B2 (en) 2009-03-13 2014-11-04 Fisher-Rosemount Systems, Inc. Scaling composite shapes for a graphical human-machine interface
US8161384B2 (en) * 2009-04-23 2012-04-17 Hewlett-Packard Development Company, L.P. Arranging graphic objects on a page with text
US8171401B2 (en) * 2009-06-19 2012-05-01 Microsoft Corporation Resizing an editable area in a web page
JP5299125B2 (ja) * 2009-06-30 2013-09-25 富士ゼロックス株式会社 文書処理装置及びプログラム
US8347232B1 (en) 2009-07-10 2013-01-01 Lexcycle, Inc Interactive user interface
US9035887B1 (en) 2009-07-10 2015-05-19 Lexcycle, Inc Interactive user interface
US8423900B2 (en) * 2009-08-20 2013-04-16 Xerox Corporation Object based adaptive document resizing
US8832548B2 (en) * 2009-09-21 2014-09-09 Google Inc. System and method for selective control of zoom adjustments in an electronic publication
US8381101B2 (en) * 2009-11-16 2013-02-19 Apple Inc. Supporting platform-independent typesetting for documents
US20110179350A1 (en) * 2010-01-15 2011-07-21 Apple Inc. Automatically placing an anchor for an object in a document
US20110179345A1 (en) * 2010-01-15 2011-07-21 Apple Inc. Automatically wrapping text in a document
US9135223B2 (en) * 2010-01-15 2015-09-15 Apple Inc. Automatically configuring white space around an object in a document
US20110202829A1 (en) * 2010-02-12 2011-08-18 Research In Motion Limited Method, device and system for controlling a display according to a defined sizing parameter
US8547576B2 (en) 2010-03-10 2013-10-01 Ricoh Co., Ltd. Method and apparatus for a print spooler to control document and workflow transfer
US8810829B2 (en) 2010-03-10 2014-08-19 Ricoh Co., Ltd. Method and apparatus for a print driver to control document and workflow transfer
US8957920B2 (en) 2010-06-25 2015-02-17 Microsoft Corporation Alternative semantics for zoom operations in a zoomable scene
US9317622B1 (en) * 2010-08-17 2016-04-19 Amazon Technologies, Inc. Methods and systems for fragmenting and recombining content structured language data content to reduce latency of processing and rendering operations
US20120060087A1 (en) * 2010-09-02 2012-03-08 Mohamad Jame System and method for converting an existing website into a mobile compatible website
US8782510B2 (en) * 2010-12-21 2014-07-15 Business Objects Software Limited Cell content scrolling
US8700986B1 (en) 2011-03-18 2014-04-15 Google Inc. System and method for displaying a document containing footnotes
US20120240027A1 (en) * 2011-03-18 2012-09-20 Luiz Pereira System and Method for Displaying a Document
US8510266B1 (en) 2011-03-03 2013-08-13 Google Inc. System and method for providing online data management services
US20120311487A1 (en) * 2011-05-31 2012-12-06 George Ross Staikos Automatically wrapping zoomed content
CN102903094B (zh) * 2011-07-25 2015-09-02 株式会社理光 电子文档栅格化方法和电子文档栅格化装置
US8307279B1 (en) * 2011-09-26 2012-11-06 Google Inc. Smooth zooming in web applications
US20130111333A1 (en) * 2011-10-31 2013-05-02 Microsoft Corporation Scaling objects while maintaining object structure
US9489121B2 (en) 2011-11-02 2016-11-08 Microsoft Technology Licensing, Llc Optimal display and zoom of objects and text in a document
US9824137B2 (en) 2011-11-08 2017-11-21 Blackberry Limited Block zoom on a mobile electronic device
EP2613270A1 (en) 2012-01-09 2013-07-10 Research In Motion Limited Selective rendering of electronic messages by an electronic device
US8458587B1 (en) * 2012-01-27 2013-06-04 Think-Cell Software Gmbh Method of entering page layout constraints into a computer
GB2493803A (en) * 2012-05-09 2013-02-20 Ni Group Ltd A method of publishing digital content in device-specific column layout using templates
JP6099961B2 (ja) * 2012-12-18 2017-03-22 キヤノン株式会社 画像表示装置、画像表示装置の制御方法およびコンピュータプログラム
US9547628B2 (en) * 2013-10-31 2017-01-17 Adobe Systems Incorporated Method and apparatus for improving text legibility by automatically adjusting zoom level based on preferred font characteristics including height, weight, and condensation
WO2015112755A1 (en) * 2014-01-22 2015-07-30 AI Squared Emphasizing a portion of the visible content elements of a markup language document
US20160179756A1 (en) * 2014-12-22 2016-06-23 Microsoft Technology Licensing, Llc. Dynamic application of a rendering scale factor
US10248630B2 (en) * 2014-12-22 2019-04-02 Microsoft Technology Licensing, Llc Dynamic adjustment of select elements of a document
US10133463B2 (en) * 2014-12-23 2018-11-20 Business Objects Software, Ltd Smart responsive behavior for pixel-perfect designs
US9400776B1 (en) 2015-03-09 2016-07-26 Vinyl Development LLC Adaptive column selection
US10558742B2 (en) 2015-03-09 2020-02-11 Vinyl Development LLC Responsive user interface system
US10210144B2 (en) * 2016-08-16 2019-02-19 Adobe Inc. Creation and display of a webpage with alternative layouts for different webpage widths
US11003847B1 (en) * 2019-11-05 2021-05-11 Sap Se Smart dynamic column sizing

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6456305B1 (en) 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
US6732152B2 (en) * 1999-04-09 2004-05-04 Amazingmail, Inc. Methods and apparatus for generation and distribution of surface mail objects
AU761635B2 (en) 1999-11-12 2003-06-05 Canon Kabushiki Kaisha Size to fit browser
US20040049737A1 (en) 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US7210099B2 (en) * 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US6822663B2 (en) * 2000-09-12 2004-11-23 Adaptview, Inc. Transform rule generator for web-based markup languages
US6948119B1 (en) * 2000-09-27 2005-09-20 Adobe Systems Incorporated Automated paragraph layout
US7120868B2 (en) * 2002-05-30 2006-10-10 Microsoft Corp. System and method for adaptive document layout via manifold content
US7401290B2 (en) * 2001-03-05 2008-07-15 Adobe Systems Incorporated Inhibiting hypenation clusters in automated paragraphs layouts
US20020188527A1 (en) * 2001-05-23 2002-12-12 Aktinet, Inc. Management and control of online merchandising
CN1409237A (zh) * 2001-09-20 2003-04-09 爱达数码科技(杭州)有限公司 根据显示屏幕大小对页面进行重新布局的系统和方法
US7278117B2 (en) 2002-07-02 2007-10-02 Hewlett-Packard Development Company, L.P. Image segmentation and warping for specialized display viewing
US7272258B2 (en) 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US7290006B2 (en) * 2003-09-30 2007-10-30 Microsoft Corporation Document representation for scalable structure

Also Published As

Publication number Publication date
EP1854029B1 (en) 2015-05-13
KR20070099670A (ko) 2007-10-09
CN101128826A (zh) 2008-02-20
US20060195784A1 (en) 2006-08-31
US7516402B2 (en) 2009-04-07
WO2006090281A1 (en) 2006-08-31
CN101128826B (zh) 2011-12-28
EP1854029A1 (en) 2007-11-14
MX2007008776A (es) 2007-08-03
KR101121070B1 (ko) 2012-03-16

Similar Documents

Publication Publication Date Title
KR101121070B1 (ko) 큰 오브젝트를 작은 디스플레이 위에 표현
KR101494285B1 (ko) 전자 문서의 선택 영역 표시 시 텍스트의 동적 래핑 방법 및 장치
US7487447B1 (en) Web page zoom feature
US9846683B1 (en) System and method for converting the digital typesetting documents used in publishing to a device-specific format for electronic publishing
JP4344693B2 (ja) ブラウザの文書編集のためのシステムおよびその方法
KR100702550B1 (ko) 밀집된 하이퍼링크를 갖는 영역을 리포맷하는 방법
US9047261B2 (en) Document editing method
US6330529B1 (en) Mark up language grammar based translation system
US8416243B2 (en) Approximating font metrics for a missing font when substituting an available replacement
US20190073342A1 (en) Presentation of electronic information
US20070079236A1 (en) Multi-form design with harmonic composition for dynamically aggregated documents
US10387551B2 (en) Techniques for programmatic magnification of visible content elements of markup language documents
US20120198330A1 (en) Electronic Book Systems and Methods
JPH11232267A (ja) 頁付けした文書内の頁付けしていないハイパーテキストの捕獲
JP2005512185A (ja) マルチページsvg文書用ディレクトリ
US9817795B2 (en) Document layout for electronic displays
Powers Beginning Css3
US20070206022A1 (en) Method and apparatus for associating text with animated graphics
US20130031460A1 (en) Using a common input/output format to generate a page of an electronic document
JP7206863B2 (ja) 表示制御方法、装置、及びプログラム
US20100017708A1 (en) Information output apparatus, information output method, and recording medium
JP2023513672A (ja) リフロー型コンテンツの動的レイアウト調整
US7676746B1 (en) System and method for in-context authoring of alternate content for non-textual objects
Sikos et al. Best Practices
WO2003034292A1 (en) Information innotation system and method

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150120

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 9