KR20220099953A - 동적 조판 - Google Patents

동적 조판 Download PDF

Info

Publication number
KR20220099953A
KR20220099953A KR1020227013619A KR20227013619A KR20220099953A KR 20220099953 A KR20220099953 A KR 20220099953A KR 1020227013619 A KR1020227013619 A KR 1020227013619A KR 20227013619 A KR20227013619 A KR 20227013619A KR 20220099953 A KR20220099953 A KR 20220099953A
Authority
KR
South Korea
Prior art keywords
typesetting
content
user
response
package
Prior art date
Application number
KR1020227013619A
Other languages
English (en)
Other versions
KR102574306B1 (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 KR20220099953A publication Critical patent/KR20220099953A/ko
Application granted granted Critical
Publication of KR102574306B1 publication Critical patent/KR102574306B1/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]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • 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]

Abstract

동적 조판 패키지를 제공하기 위한 컴퓨터 구현 방법. 본 방법은 조판 패키지에 대한 사용자로부터의 요청을 수신하고, 조판 패키지는 하나 이상의 폰트, 및 컨텐츠의 다양한 요소들에 대한 조판을 레이아웃 컨텍스트들에 걸쳐 정의하기 위한 하나 이상의 렌더링 규칙을 포함한다. 요청된 조판 패키지에 응답하여, 본 방법은 사용자에게 링크를 제공한다. 링크는 요청된 조판 패키지를 가리킨다. 본 방법은 컨텐츠의 요소들의 적어도 일부를 하나 이상의 렌더링 규칙에서의 하나 이상의 파라미터에 매칭시킨다. 하나 이상의 렌더링 규칙은 디스플레이를 갖는 컴퓨터화 디바이스에 의한 실행에 응답하여, 컨텐츠는 디스플레이를 위해 동적으로 조판된다.

Description

동적 조판
관련 출원 교차 참조
본 출원은 2019년 9월 23일에 출원된 미국 정규 출원 제16/579,822호의 연속 출원이며, 이의 개시 전문이 본원에 원용된다.
기술분야
본원에서 논의되는 실시예들은 일반적으로 웹 디자인에 있어서의 조판(typesetting) 프로비저닝에 관한 것이다.
개발자들 및 프로그래머들은 다양한 플랫폼들 및 디바이스들을 위해 웹 페이지들 및 이들의 컨텐츠를 디자인 및 코딩한다. 웹사이트들은 다양한 크기들로 스케일링되도록 만들어진다. 이를 통해 전화기들, 태블릿들, 및 데스크탑 컴퓨터들 상에서 작업할 수 있다. 표제들 및 단락들과 같은 타이포그래피 요소들의 크기에 대한 제어에는 디자인 및 개발 솔루션들이 부족하고; 이에 따라, 프로그래머들 및 디자이너들은 텍스트가 모든 컨텍스트에서 양호하게 보이도록 복잡한 타이포그래피 규칙들을 생성할 필요가 있다.
개발자들 및 프로그래머들은 텍스트가 나타날 수 있는 각 컨텍스트가 고려되고 취급될 필요가 있을 수 있기 때문에 레이아웃들 내의 타이포그래피 베리에이션(variation)을 관리하기 위해 상당한 양의 코드를 작성할 필요가 있다. 이러한 컨텍스트 베리에이션은 텍스트의 메인 섹션에 대한 사이드 바(side bar) 내에 있을 수 있고, 또한 이러한 레이아웃들이 상이한 디바이스들 상에서 어떻게 변경되는지일 수 있다. 보통 조판은 필요한 코드의 양을 감소시키기 위해 단순화되어, 덜 흥미로운 디자인을 초래한다.
이러한 변경에 대해 자체 코드를 작성하는 것이 선호되어 왔지만, 기초 지식이나 능력이 있는 소상공인 또는 웹 코딩 단기집중과정을 이수한 자들에게 적절한 코드를 작성하는 것은 여전히 어려운 일이다. 사용자들에게 디자인 템플릿들을 제공하는 드래그 인 드롭 웹 디자인 벤더들 또는 호스트들이 있지만, 사용자들은 때때로 제공되는 템플릿들의 종류에 제한을 받는다. 또한, 템플릿들 중 일부는 상이한 디스플레이 크기들에 순응할 수 있는 능력이 부족하며; 이에 따라 페이지 컨텐츠를 조정하기 위해 브라우저에 제공할 정보가 부족하다.
따라서, 실시예들은 상기한 과제들의 결점들을 해결하기 위한 기술적 해결 수단을 만들려고 시도한다.
실시예들은 웹 컨텐츠를 구축하기를 원하는 사용자들이 스스로 코드를 작성하지 않고도 상이한 디스플레이들에 동적으로 맞춤화될 수 있게 하는 사용하기 용이한 툴을 생성함으로써 상기한 과제들에 대한 기술적 해결 수단을 만든다. 또한, 실시예들의 양태들은 또한, 상기한 코드를 이용하여, 웹 컨텐츠가 상이한 디바이스들에 대해 적절하게 렌더링될 수 있도록 완전한 조판 구성을 제공할 수 있다.
당업자들은 도면들의 요소들이 단순성 및 명료성을 위해 예시되며, 이에 따라 모든 연결들 및 옵션들이 도시되지 않았다는 것을 이해할 수 있다. 예를 들어, 상업적으로 실현가능한 실시예에서 유용하거나 필요한 일반적이지만 잘 알려진 요소들은 보통 본 개시의 이러한 다양한 실시예들을 보기에 덜 방해될 수 있게 하기 위해 도시되지 않을 수 있다. 나아가, 특정 동작들 및/또는 단계들은 특정 발생 순서로 설명되거나 도시될 수 있지만, 당업자들은 시퀀스에 대한 이러한 특이성이 실제로 요구되지 않는다는 것을 이해할 수 있다. 또한, 본원에서 사되는된 용어들 및 표현들은 특정 의미가 본원에서 달리 제시될 경우를 제외하고는 대응하는 질의 및 연구의 각 영역들과 관련하여 정의될 수 있다는 것을 이해할 수 있다.
도 1a 및 도 1b는 웹 컨텐츠를 렌더링하는 것에 대한 종래 기술의 접근법들 및 한계들을 도시하는 도해들이다.
도 2a 및 도 2b는 일 실시예에 따른 동적 조판을 도시하는 도해들이다.
도 3a 내지 도 3c는 일 실시예에 따른 추가적인 예들을 도시하는 도해들이다.
도 4는 일 실시예에 따른 방법을 도시하는 흐름도이다.
도 5는 일 실시예에 따른 포터블 컴퓨팅 디바이스를 도시하는 도해이다.
도 6은 일 실시예에 따른 컴퓨팅 디바이스를 도시하는 도해이다.
도 7은 일 실시예에 따른 조판 패키지들 도시하는 도해이다.
도 8은 일 실시예에 따른 웹 컨텐츠를 매칭시키는 예시적인 CSS 명령어들을 도시하는 도해이다.
도 9a 내지 도 9f는 일 실시예에 따른 패키지들이 적용된 후의 컨텐츠의 스크린샷들이다.
이제 실시예들은 본원의 일부를 형성하고 실시될 수 있는 특정 예시적인 실시예들을 예시로서 제시하는 첨부 도면들을 참조하여 더 충분하게 설명될 수 있다. 이러한 예시들 및 예시적인 실시예들은 본 개시가 하나 이상의 실시예들의 원리들의 예시이고 예시된 실시예들 중 임의의 하나를 제한하도록 의도되지 않을 수 있다는 이해와 함께 제시될 수 있다. 실시예들은 많은 상이한 형태들로 구현될 수 있고, 본원에서 설명되는 실시예들로 제한되는 것으로 해석되지 않아야 한다; 오히려, 이러한 실시예들은 본 개시가 철저하고 완전할 수 있도록 제공되고, 당업자들에게 실시예들의 범위를 완전히 전달할 수 있다. 특히, 본 발명은 방법, 시스템, 컴퓨터 판독가능 매체, 장치, 또는 디바이스로서 구현될 수 있다. 이에 따라, 본 발명은 전적으로 하드웨어 실시예, 전적으로 소프트웨어 실시예, 또는 소프트웨어 및 하드웨어 양태들을 조합한 실시예의 형태를 취할 수 있다. 따라서, 다음의 상세한 설명은 제한적인 의미로 취해지지 않을 수 있다.
실시예들은 임의의 하드웨어 디스플레이 매체에 맞춰 동적으로 조정하는 웹 컨텐츠를 편리하게 생성하기 위한 시스템을 생성할 수 있다. 컨텐츠는 더 이상 브라우저 또는 렌더링 엔진의 폭 결정에 의존하지 않는다. 실시예들의 양태들은 컨텐츠가 어떤 종류의 디바이스들 상에 나타나는지에 관계 없이 생성자들에 의해 구상되는 바와 같이 컨텐츠를 동적으로 조정하는 규칙들의 패키지를 생성한다.
실시예들의 양태들을 추가로 예시하기 위해, 다음의 용어들은 본 개시 전체에 걸쳐 사용될 수 있다:
활자체 또는 타입은 하나 이상의 언어에 걸쳐 유사한 스타일의 문자, 기호 및/또는 글리프로서 지칭될 수 있다;
폰트는 타입에 대한 전달 메커니즘으로서 지칭될 수 있다. 일 예에서, 폰트들은 OpenType, TrueType, WOFF, 또는 WOFF2 파일 포맷들일 수 있지만 이에 제한되지 않고, 역사적으로 디스플레이를 갖는 컴퓨터 전에 주조 금속 및 사진 디스크들로서 전달되었다;
조판은 페이지, 레이아웃, 스크린, 및/또는 디자인에서 타입이 어떻게 사용되는지로서 지칭될 수 있다. 이는 크기, 무게, 스타일, 선-높이, 문자 간격(족적) 및 단어 간격을 포함하지만, 이에 제한되지 않는다;
타이포그래피는 조판, 레터링, 콜리그래피, 및 일반적인 타입의 애플리케이션의 전체 실시 및 결과로서 지칭될 수 있다;
요소는 고유한 스타일 또는 기능을 갖는 임의의 텍스트 조각으로서 지칭될 수 있다. 예를 들어, 이는 표제, 부제, 섹션 표제, 단락, 발췌문(pullquote), 라벨, 리스트, 및 캡션을 포함하지만, 이에 제한되지 않는다;
컨텍스트 또는 조판 컨텍스트는 텍스트에 이용가능한 폭을 나타낼 수 있지만, 또한 높이, 뷰포트 또는 브라우저 폭, 주변 광 등을 포함할 수 있는 베리에이션으로서 지칭될 수 있다; 그리고
패키지는 컨텍스트들에 걸쳐 다양한 요소들에 대한 조판을 정의하는 명령어들의 집합으로서 지칭될 수 있다.
추가 예시로서, 도 1a를 참조하면, 시스템(100)을 도시산 도해는 웹 컨텐츠를 렌더링 또는 디스플레이하기 위한 기존의 접근법들을 설명한다. 시스템(100)은 브라우저(104) 및 디스플레이(106)를 포함하는 컴퓨팅 디바이스(102)를 포함할 수 있다. 브라우저(104)는 웹 컨텐츠(108)를 디스플레이한다. 웹 컨텐츠(108)는 요소들(112 및 114)을 포함한다. 웹 컨텐츠(108)는 또한 다른 요소들을 포함하고 스크립트들을 포함한다. 또 다른 실시예에서, 웹 컨텐츠(108)는 브라우저(104) 또는 렌더링 엔진에 의해 렌더링되기 전에, 특정 구문 규칙들을 갖는 마크업 언어로 작성될 수 있다. 예를 들어, 이러한 하나의 마크업 언어는 HTML(hypertext markup language)일 수 있다. HTML 코딩된 컨텐츠는 태그들(예를 들어, <body>, <header>,<tr> 등) 및 태그들과 연관된 속성들 및 값들(예를 들어, <font size: “3”> 또는 <p style=”font-size: 20px”>)의 조합을 포함할 수 있다. 이에 따라, 웹 컨텐츠는 렌더링되기 전에, 렌더링될 컨텐츠(예를 들어, 텍스트, 이미지 등)뿐만 아니라, 속성들을 갖는 일련의 태그 선언으로 작성될 수 있다.
그러나, 브라우저(104)가 디스플레이(106)의 크기들 및 파라미터들을 결정하는 동안, 브라우저(104)는 컨텐츠 크기 정보를 실행하지 못하고, 요소들(112 및 114)이 디스플레이(106) 또는 브라우저(104) 상에 어떻게 디스플레이될 수 있는지와 같은, 디스플레이 또는 브라우저와 관련하여 임의의 컨텐츠 정보를 인식한다. 예를 들어, 도 1a를 참조하면, 컨텍스트(122)는 컨텐츠(108)의 폭을 정의할 수 있다. 그러나, (예를 들어, 컨텍스트(122)의 폭보다 더 작은 폭을 갖는) 컨텍스트(124)는 컨텐츠(108)의 완전한 정보를 디스플레이하지 않을 수 있다.
이제 도 2a를 참조하면, 도해는 일 실시예에 따른 시스템(200)을 도시할 수 있다. 시스템(200)은 도 1a에서와 유사한 구성, 이를테면 브라우저(204)가 설치된 컴퓨팅 디바이스(202)를 포함할 수 있다. 컴퓨팅 디바이스(202)는 또한 디스플레이(206)를 포함할 수 있으며, 이에 따라 컴퓨팅 디바이스(202)는 하나 이상의 요소를 갖는 웹 컨텐츠(212)를 디스플레이할 수 있다. 일 실시예에서, 웹 컨텐츠(212)는 하나 이상의 요소를 포함하는 컨텐츠일 수 있다. 또 다른 예에서, 컨텐츠(212)는 웹 브라우저 상에 제시되는 컨텐츠일 수 있다. 추가 예에서, 컨텐츠(212)는 도 5에 도시된 것과 같은 모바일 디바이스에 의해 설치되는 앱 내에 렌더링 또는 디스플레이될 수 있다.
종래 기술과 실시예들의 양태들 간의 차이점들 중 하나는 실시예들의 양태들이 웹 컨텐츠(212)의 요소들이 어떻게 렌더링될 것인지를 지시하기 위해 통합되는 규칙들의 세트(210)를 포함하는 패키지를 가리키는 링크(214)를 갖는 패키지(208)를 통합한다는 것이다. 브라우저(204)는 패키지(208) 및 규칙들의 세트(210)를 가리키는 링크(214)를 실행하도록 구성되고, 규칙들(210)은 라우저(204)가 디스플레이(206)의 파라미터 정보를 제공할 필요성을 제거한다.
예를 들어, 링크(214)는 아래와 같이 표현될 수 있다:
<script src="https://cdn.typetura.com/typetura.js"></script>
<link href="https://cdn.typetura.com/magazine-moderne/typetura.css">"
또 다른 실시예에서, 브라우저(204) 또는 렌더링 엔진이 링크(214)를 식별 및 실행할 수 있기 때문에, 임의의 부분에 링크(214)가 컨텐츠(212)에 추가될 수 있다. 또한, 링크(214)는 패키지(208)를 가리키고, 링크(214)의 명칭은 패키지(208)의 명칭의 명칭과 매칭될 수 있다.
또 다른 실시예에서, 예를 들어, 규칙들의 세트(210)는 웹 컨텐츠(212)의 요소들의 컨텍스트들을 식별하는 JAVASCRIPT 명령어들의 세트를 포함할 수 있다. 예를 들어, JAVASCRIPT는 디스플레이(206)의 폭 파라미터뿐만 아니라, 다양한 해상도 비 및 디스플레이 리프레시 레이트들을 식별하기 위한 다음의 코드를 포함할 수 있다.
예를 들어, 실시예들의 양태들에 따른 JAVASCRIPT는 다음의 명령어들 중 하나 이상을 포함할 수 있다:
function getContext() {
el.forEach(element => {
element.style.setProperty('--context', element.offsetWidth)
})
}
getContext()
window.onresize = getContext
규칙들의 세트(210)는 각 요소 타입에 대한 규칙들을 설정할 수 있는 캐스케이딩 스타일 시트들(cascading style sheet, CSS) 명령어들의 세트 및 이들이 JAVASCRIPT 명령어들에 의해 식별되는 컨텍스트에 어떻게 응답하거나 렌더링되어야 하는지를 더 포함할 수 있다.
예를 들어, 실시예들의 양태들에 따른 CSS는 다음의 명령어들 중 하나 이상을 포함할 수 있다:
CSS는 먼저 JAVASCRIPT에 의해 제공된 컨텍스트와 이와 같은 함수와 자신을 연관시킬 필요가 있다:
*{animation: var(--key) 1s var(--ease) 1
calc(-1s * var(--context) / var(--max)) paused both;}
그 후, 이 연관은 이 컨텍스트에 걸쳐 이와 유사한 요소를 스타일링하기 위해 사용될 수 있다:
h1 {
--key: h1;
--max: 1000;
}
@keyframes h1 {
0% {
font-size: 16px;
}
100% {
font-size: 72px;
}
}
본 발명의 양태들을 더 설명하기 위해, 도 7은 일 실시예에 따른 하나 이상의 패키지를 도시한다. 일 실시예에서, 패키지들(702, 704, 706, 및 708)은 사용자가 선택하기 위해 웹사이트 또는 웹사이트의 페이지 상에 제시될 수 있다. 또 다른 실시예에서, 패키지들(702, 704, 706, 및 708)은 퍼블리셔 또는 웹 호스트의 최종 사용자가 선택할 수 있도록, 퍼블리셔 또는 웹 호스트 상에서 사용자에게 제시될 수 있다.
본 발명의 양태들을 추가 예시하기 위해, 도 2b는 본 발명의 실시예들이 도 1b에 도시된 바와 같은 종래 기술의 실시예들과 어떻게 상이한지를 제시하는 도해들을 도시할 수 있다. 예를 들어, 제1 도해(230)는 JAVASCRIPT(210)의 세트에 의해 결정되는 컨텍스트(예를 들어, 브라우저의 디스플레이 윈도우 또는 보이는 윈도우)의 폭을 정의하는 라인들(222 및 224)을 포함한다. 컨텐츠(212)는 표제 텍스트로서 요소(226)를 포함할 수 있다. 요소(226)는 컨텍스트의 폭에 걸쳐 주어진 크기로 렌더링하도록 CSS 명령어들에 의해 구성될 수 있다. 한편, 도해(232)에서, 새로운 컨텍스트가 라인들(228 및 230)에 기초하여 식별되었다. 도 1b와 달리, 실시예들의 양태들은, 브라우저가 CSS 명령어들의 세트를 해석 또는 실행한 후에, 동일한 요소(226)를 상이한 크기로 렌더링하면서, 여전히 요소(226)의 폭을 컨텍스트의 폭에 걸치게 유지할 수 있다.
도 3a 내지 도 3c는 본 발명의 예시적인 실시예들을 추가로 도시한다. 도 3a는 패키지 내의 JAVASCRIPT 및 CSS의 규칙들의 세트의 배열들의 하나의 세트를 도시한다. 예를 들어, 사용자가 요소들(304 및 306)을 갖는 - 요소(304)는 표제로서 지정되는 반면, 요소(306)는 본문으로서 지정될 수 있음 - 컨텐츠(302)를 게시하거나 포스팅하기를 원할 수 있다고 가정한다. 실시예들의 양태들에 의해 제공되는 패키지는 표제가 특정 폰트 크기 및 볼드체, 밑줄, 이탤릭체 등과 같은 스타일을 갖도록 정의할 수 있다. 본문은 디스플레이의 특정 폰트 크기 및 볼드체, 밑줄, 이탤릭체 등과 같은 스타일뿐만 아니라, 좌측 및 우측 에지들로부터의 마진을 포함하도록 추가로 정의될 수 있다. 이에 따라, 도 3a에서, 요소들(304 및 306)은 더 큰 디스플레이 컨텍스트(310) 하에서, 이러한 제1 레이아웃으로 렌더링될 수 있다. 태블릿 크기 디스플레이 컨텍스트(320)에서, 예를 들어, 요소들(304 및 306)은 CSS 규칙들에 따라 크기가 감소된다. 나아가, 스마트폰 디스플레이 컨텍스트(330)에서, 요소들(304 및 306)은 주어진 컨텍스트에 적합하도록 추가로 수정된다. 요소(306)의 마진은 폰트 크기 등으로 인해 컨텍스트(330)에서 다른 컨텍스트들과 약간 상이할 수 있다.
이제 도 3b를 참조하면, 실시예들의 양태들을 설명하기 위해 또 다른 레이아웃(312)이 도시된다. 이 예에서, 도 3a와 유사하게, 요소들(304 및 306)이 있다. 그러나, 도 3b는 새로운 요소(308) - 사이드 바 그래픽 또는 패널 - 가 컨텐츠(302)의 일부로서 도입되면서 요소들(304 및 306)이 어떻게 구성되는지를 도시할 수 있다. 이에 따라, 컨텍스트(310)에서, 요소(308)는 제1 폭(A)를 포함할 수 있다. 그러나, 컨텍스트(320)에서, 요소들(304 및 306)은 요소(308)가 도입될 때 그 폭을 추가로 업데이트할 수 있고, 요소(308)는 이제 상이한 폭(B)을 가질 수 있다. 나아가, 컨텍스트(330)에서, 요소(308)는 더 이상 보이지 않고 이 특정 컨텍스트(330)에 존재하지 않는다. 즉, CSS 명령어들에 의해, 사용자는 요소가 어떻게 렌더링되는지 뿐만 아니라 요소가 주어진 컨텍스트에서 렌더링되는지 여부도 지시할 수 있다.
더 나아가, 도 3c는 일 실시예에 따른 또 다른 레이아웃(314)을 도시할 수 있다. 예를 들어, 컨텍스트(310)에 도시된 바와 같이, 컨텐츠(302)는 다시 요소들(304 및 306)을 포함할 수 있다. 그러나, 컨텐츠(302)는 이제 2차 표제들(322 및 324) 및 이들 각 본문(326 및 328)을 포함할 수 있다. 더 나아가, 컨텐츠(302)는 그 편성에 따라 부차 표제들을 갖는 사이드 컬럼을 포함할 수 있다. 예를 들어, 부차 표제들(332, 334, 및 340)은 동일한 크기의 폰트 및 스타일을 가질 수 있는 한편, 이들의 본문 컨텐츠(334, 338, 및 342)는 또 다른 폰트 크기 및 스타일을 갖는다.
한편, 컨텍스트(320)에 관한 한, 사이드 컬럼 컨텐츠(예를 들어, 332, 334, 336, 338, 340, 및 342)는 뷰어들에 더 이상 보이거나 렌더링되지 않는다. 더 정확히 말하면, 304, 306, 322, 326, 328, 및 324만이 제시된다(한편 322 및 324는 나란한 칼럼에 있음). 더욱이, 요소(304)는 패키지 규칙들(예를 들어, CSS 명령어들)로 인해 여전히 요소(322)의 폰트 크기보다 큰 폰트 크기로 있다. 더 나아가, 패키지는 304, 322, 및 328에 대한 조판 구성들이 정확하고 컨텍스트(310)로부터 컨텍스트(320)로 변환되도록 한다. 예를 들어, 컨텍스트(310)에서의 표제(304)에 대한 크기는 비례적으로 컨텍스트(320)에서와 동일할 수 있다. 최종 사용자는 컨텍스트(320)에 대해 정확하게 조정하기 위해 브라우저에 의존할 필요가 없다. 또 다른 실시예에서, 표제들(332, 334, 및 340)은 이들의 본문 컨텐츠(334, 338 및 342)와 함께 컨텐츠(302)의 이후 섹션에서 찾아질 수 있어, 뷰어들이 페이지를 스크롤할 필요가 있을 수 있다.
또 다른 실시예에서, 컨텍스트(330)에서, 요소들(304 및 322)은 이제 표제들과 동일한 크기 및 폰트로 되어 있다.
이에 따라, CSS 명령어들로, 실시예들의 양태들은 디스플레이 디바이스 상의 브라우저 또는 렌더링 머신이 컨텐츠의 뷰어들이 볼 - 컨텐츠 저작자에 의해 구성된 바와 같은 - 바람직한 결과를 제공할 것을 기다릴 필요 없이 컨텍스트에 따라 임의의 주어진 컨텐츠에 대한 동적 조판을 자동으로 가능하게 한다.
추가 예들이 도 9a 내지 도 9f에 도시된다. 예를 들어, 도 9a 및 도 9b는 패키지(702)가 적용된 후 렌더링된 컨텐츠를 도시하고; 도 9c 및 도 9d는 패키지(704)가 사용된 후 렌더링된 컨텐츠를 도시하며; 도 9e 및 도 9f는 패키지(706)가 적용된 후 렌더링된 컨텐츠를 도시한다.
이제 도 4를 참조하면, 흐름도는 일 실시예에 따른 방법을 도시한다. 402에서, 시스템(예를 들어, 시스템 200)은 조판 패키지에 대한 사용자(412)로부터 요청(414)을 수신할 수 있다. 일 실시예에서, 조판 패키지(예를 들어, 조판 패키지들 1, 2, 및 3)는 하나 이상의 폰트 활자체, 및 컨텍스트들(예를 들어, 컨텍스트들(310, 320, 및 330))에 걸쳐 사용자로부터의 컨텐츠의 다양한 요소들에 대한 조판을 정의하기 위한 하나 이상의 렌더링 규칙(예를 들어, JAVASCRIPT 및 CSS 명령어들)을 포함한다. 404에서, 요청된 조판 패키지에 응답하여, 시스템은 링크(410)를 사용자(412)에게 제공할 수 있다. 일 예에서, 링크(410)는 조판 패키지를 저장하는 데이터베이스의 저장 영역 또는 어드레스에 대한 링크를 제공하는 것과 같이 요청된 조판된 패키지를 가리킬 수 있다. 406에서, 본 시스템은 컨텐츠의 요소들의 적어도 일부를 하나 이상의 렌더링 규칙에서의 하나 이상의 파라미터에 매칭시킬 수 있다. 예를 들어, 조판 패키지 내의 CSS 명령어들은 도 3a 내지 도 3c에 도시된 것들과 같은 상이한 요소들을 식별할 수 있다. 예를 들어, 사용자(412)는 요소들을 수동으로 선택하고, 컨텐츠가 렌더링되기 전에 CSS 명령어들을 업데이트할 수 있다. 또 다른 실시예에서, 요소들은 조판 패키지 내에 패키징될 수 있는 다른 규칙들, 명령어들 또는 엔진들에 의해 자동으로 식별 또는 파싱될 수 있다. 또 다른 실시예에서, 조판 패키지는 파싱 및 식별을 수행하기 위해 시스템(100)에서의 관련 기능들을 호출할 수 있다.
이러한 특징을 추가로 예시하기 위해, 도 8은 일 실시예에 따른 패키지들을 도시한 스크린샷이다. 예를 들어, 810에 도시된 바와 같이, 특정 크기의 폰트 및 폰트 활자체를 갖는 표제에 대한 조판 구성 중 하나로서 "주요 표제"를 갖는 패키지. 이에 따라, 패키지는 컨텐츠를 식별하고 "주요 표제"의 크기 또는 활자체에 따라 컨텐츠를 변환할 수 있는 규칙들의 세트를 포함할 수 있다. 패키지에 의해 정의된 이러한 조판으로, 실시예들의 양태들은 웹 컨텐츠를 식별하고 컨텐츠에서 매칭시키며 웹 컨텐츠에서 동등한 표제를 대체할 수 있다. 예를 들어, 최종 사용자가 표제 텍스트에 대한 스타일 설정의 세트를 "표제 #1"로서 정의할 수 있다고 가정한다. 최종 사용자가 도 8에 도시된 바와 같이 패키지를 선택하면, 실시예들의 양태들은 "표제 #1"을 패키지에서의 "주요 표제"에 매칭할 수 있다. 매칭에 응답하여, 최종 사용자의 컨텐츠는 802에서 "주요 표제"를 포함하도록 업데이트될 수 있어서, 웹 컨텐츠가 브라우저 또는 렌더링 엔진에 제시되면, "주요 표제"에 대한 적절한 조판이 렌더링될 것이다.
유사하게, 더 작은 폰트 크기를 갖는 "주요 부제"(812)의 또 다른 예가 주요 표제(810) 아래에 위치된다. 이에 따라, 최종 사용자의 컨텐츠 코드는 804에서 "주요 부제"로 업데이트될 수 있다. 더 나아가, 메타 정보 스타일(814)이 또한 웹 컨텐츠를 "메타"(806)로 업데이트할 수 있다.
408에서, 하나 이상의 렌더링 규칙은 디스플레이(예를 들어, 디스플레이(216))를 갖는 컴퓨터화 디바이스(예를 들어, 시스템(200))에 의한 실행에 응답하여, 도 3c에서와 같은 컨텐츠를 디스플레이를 위해 조판으로 동적으로 구성한다.
도 5는 도 6의 원격 컴퓨팅 장치(841)와 통신하는 포터블 컴퓨팅 디바이스(801)의 상위 레벨 도해일 수 있지만, 애플리케이션은 다양한 방식들로 저장 및 액세스될 수 있다. 또한, 애플리케이션은 앱 스토어, 웹 사이트, 스토어 Wi-Fi 시스템 등과 같은 다양한 방식들로 획득될 수 있다. 상이한 컴퓨팅 디바이스들, 상이한 언어들 및 상이한 API 플랫폼들의 이점들을 이용하기 위한 다양한 버전들의 애플리케이션이 있을 수 있다.
일 실시예에서, 포터블 컴퓨팅 디바이스(801)는 배터리와 같은 포터블 전원(855)을 사용하여 작동하는 모바일 디바이스(108)일 수 있다. 포터블 컴퓨팅 디바이스(801)는 또한 터치 감지 디스플레이이거나 아닐 수 있는 디스플레이(802)를 가질 수 있다. 보다 구체적으로, 디스플레이(802)는 예를 들어, 포터블 컴퓨팅 디바이스(801)에 입력 데이터를 제공하기 위해 사용될 수 있는 커패시턴스 센서를 가질 수 있다. 다른 실시예들에서, 화살표, 스크롤 휠, 키보드 등과 같은 입력 패드(804)가 포터블 컴퓨팅 디바이스(801)에 입력들을 제공하기 위해 사용될 수 있다. 또한, 포터블 컴퓨팅 디바이스(801)는 음성 데이터를 수용 및 저장할 수 있는 마이크로폰(806), 이미지들을 수용하기 위한 카메라(808), 및 사운드들을 통신하기 위한 스피커(810)를 가질 수 있다.
포터블 컴퓨팅 디바이스(801)는 컴퓨팅 디바이스(841), 또는 컴퓨팅 디바이스들(811)의 클라우드를 구성하는 복수의 컴퓨팅 디바이스들(841)과 통신할 수 있다. 포터블 컴퓨팅 디바이스(801)는 다양한 방식들로 통신할 수 있다. 일부 실시예들에서, 통신은 이를테면, 이더넷 케이블, USB 케이블 또는 RJ6 케이블을 통한 유선일 수 있다. 다른 실시예들에서, 통신은 이를테면, Wi-Fi® 표준), BLUETOOTH, 셀룰러 통신 또는 근거리 통신 디바이스들을 통한 무선일 수 있다. 통신은 컴퓨팅 디바이스(841)에 직통일 수 있거나, 셀룰러 서비스와 같은 통신 네트워크(102)를 통해, 인터넷을 통해, 사설 네트워크를 통해, BLUETOOTH 등을 통해 이루어질 수 있다. 도 5는 포터블 컴퓨팅 디바이스(801)를 구성하는 물리적 요소들의 단순화된 도해일 수 있고, 도 6은 서버 유형 컴퓨팅 디바이스(841)를 구성하는 물리적 요소들의 단순화된 도해일 수 있다.
도 5는 시스템의 일부에 따라 물리적으로 구성된 샘플 포터블 컴퓨팅 디바이스(801)일 수 있다. 포터블 컴퓨팅 디바이스(801)는 컴퓨터 실행가능 명령어들에 따라 물리적으로 구성되는 프로세서(850)를 가질 수 있다. 이는 재충전가능할 수 있는 배터리와 같은 포터블 전원(855)을 가질 수 있다. 이는 또한 비디오 및 사운드를 디스플레이하는 것을 돕는 사운드 및 비디오 모듈(860)을 가질 수 있고, 전력 및 배터리 수명을 보존하기 위해 사용되지 않을 때 턴 오프될 수 있다. 포터블 컴퓨팅 디바이스(801)는 또한 비휘발성 메모리(865) 및 휘발성 메모리(870)를 가질 수 있다. 이는 별개의 회로일 수 있거나 또는 프로세서(850)의 일부일 수 있는 GPS 기능들(880)을 가질 수 있다. 또한, 마이크로폰(806), 카메라(808) 및 다른 입력들, 이를테면, 입력 패드(804), 디스플레이(802), 및 스피커(810) 등과 같은 다양한 사용자 입력 디바이스들로 및 이들로부터 데이터를 실어 나르는 입력/출력 버스(875)가 있을 수 있다. 이는 또한 무선 또는 유선 중 어느 하나의 디바이스들을 통해 네트워크들과 통신하는 것을 제어할 수 있다. 물론, 이는 포터블 컴퓨팅 디바이스(801)의 일 실시예일 뿐이고, 포터블 컴퓨팅 디바이스들(801)의 수 및 유형들은 상상에 의해서만 제한된다.
시스템의 결과로서, 보다 양호한 정보가 판매 시점에 사용자에게 제공될 수 있다. 정보는 사용자 특정적일 수 있고, 관련성의 임계치를 초과하도록 요구될 수 있다. 결과적으로, 사용자들은 보다 정보적인 결정들을 행할 수 있다. 본 시스템은 단순히 프로세스를 가속화하는 것이 아니라 더 나은 결과를 얻기 위해 컴퓨팅 시스템을 사용한다.
원격 컴퓨팅 디바이스(841)를 구성하는 물리적 요소들이 도 6에 추가로 예시될 수 있다. 상위 레벨에서, 컴퓨팅 디바이스(841)는 자기 디스크, 광 디스크, 플래시 스토리지, 비휘발성 스토리지 등과 같은 디지털 스토리지를 포함할 수 있다. 구조화된 데이터는 데이터베이스와 같은 디지털 스토리지에 저장될 수 있다. 서버(841)는 컴퓨터 실행가능 명령어들에 따라 물리적으로 구성되는 프로세서(1000)를 가질 수 있다. 이는 또한 비디오 및 사운드를 디스플레이하는 것을 돕는 사운드 및 비디오 모듈(1005)을 가질 수 있고, 전력 및 배터리 수명을 보존하기 위해 사용되지 않을 때 턴 오프될 수 있다. 서버(841)는 또한 휘발성 메모리(1010) 및 비휘발성 메모리(1015)를 가질 수 있다.
데이터베이스(1025)는 메모리(1010 또는 1015)에 저장될 수 있거나, 별개일 수 있다. 데이터베이스(1025)는 또한 컴퓨팅 디바이스(841)의 클라우드의 일부일 수 있고, 복수의 컴퓨팅 디바이스들(841)에 걸쳐 분산된 방식으로 저장될 수 있다. 또한, 마이크로폰(806), 카메라(808), 입력들, 이를테면, 입력 패드(804), 디스플레이(802), 및 스피커(810) 등과 같은 다양한 사용자 입력 디바이스들로 및 이들로부터 데이터를 실어 나르는 입력/출력 버스(1020)가 있을 수 있다. 입력/출력 버스(1020)는 또한 무선 또는 유선 중 어느 하나의 디바이스들을 통해 네트워크들과 통신하는 것을 제어할 수 있다. 일부 실시예들에서, 애플리케이션은 로컬 컴퓨팅 디바이스(801) 상에 있을 수 있고, 다른 실시예들에서, 애플리케이션은 원격(841)에 있을 수 있다. 물론, 이는 서버(841)의 일 실시예일 뿐이고, 포터블 컴퓨팅 디바이스들(841)의 수 및 유형들은 상상에 의해서만 제한된다.
본원에서 설명된 사용자 디바이스들, 컴퓨터들 및 서버들은 다른 요소들 중에서도, (이를테면, Intel® Corporation, AMD®, ARM®, Qualcomm®, 또는 MediaTek® 등으로부터의) 마이크로프로세서; 휘발성 및 비휘발성 메모리; 하나 이상의 대용량 저장 디바이스(예를 들어, 하드 드라이브); 다양한 사용자 입력 디바이스들, 이를테면, 마우스, 키보드, 또는 마이크로폰; 및 비디오 디스플레이 시스템을 가질 수 있는 컴퓨터들일 수 있다. 본원에서 설명된 사용자 디바이스들, 컴퓨터들 및 서버들은 WINDOWS®, UNIX®, LINUX®, MAC® OS®, iOS®, 또는 Android®를 포함하지만 이에 제한되지 않는 많은 운영 체제들 중 임의의 운영 체제 상에서 실행될 수 있다. 그러나, 임의의 적합한 운영 체제가 본 발명에 사용될 수 있는 것으로 고려된다. 서버들은 웹 서버들의 클러스터일 수 있으며, 이들 각각은 LINUX® 기반일 수 있고, 이용가능한 서버(들)의 현재 요청-로드에 기초하여 어느 웹 서버들의 클러스터가 요청을 처리해야 하는지를 결정하는 로드 밸런서에 의해 지원된다.
본원에서 설명된 사용자 디바이스들, 컴퓨터들 및 서버들은 인터넷, 광역 네트워크(WAN), 근거리 네트워크(LAN), Wi-Fi®, (현재 알려져 있거나 추후 발명될) 다른 컴퓨터 네트워크들, 및/또는 전술한 것들의 임의의 조합을 포함하는 네트워크들을 통해 통신할 수 있다. 네트워크들이 구리, 광섬유, 마이크로파, 및 다른 형태들의 라디오 주파수, 전기 및/또는 광 통신 기법들을 포함하는 유선 및 무선 도관들의 임의의 조합을 통해 다양한 구성요소들을 연결할 수 있다는 것이 본 명세서, 도면들, 및 청구범위를 이어받은 당업자에 의해 이해되어야 한다. 또한, 임의의 네트워크는 상이한 방식으로 임의의 다른 네트워크에 연결될 수 있는 것으로 이해되어야 한다. 시스템에서의 컴퓨터들과 서버들 사이의 상호연결은 예들이다. 본원에서 설명된 임의의 디바이스는 하나 이상의 네트워크를 통해 임의의 다른 디바이스와 통신할 수 있다.
예시적인 실시예들은 도시된 것들 이외의 추가적인 디바이스들 및 네트워크들을 포함할 수 있다. 나아가, 하나의 디바이스에 의해 수행되는 것으로서 설명된 기능은 둘 이상의 디바이스들에 의해 분산 및 수행될 수 있다. 다수의 디바이스들은 또한, 단일 디바이스로 조합될 수 있으며, 이는 조합된 디바이스들의 기능을 수행할 수 있다.
본원에서 설명된 다양한 참여자들 및 요소들은 본원에서 설명된 기능들을 가능하게 하도록 하나 이상의 컴퓨터 장치를 작동시킬 수 있다. 임의의 서버들, 사용자 디바이스들, 또는 데이터베이스들을 포함하는 상술된 도면들에서의 요소들 중 임의의 요소는 임의의 적합한 수의 서브시스템들을 사용하여 본원에서 설명된 기능들을 가능하게 할 수 있다.
본 출원에서 설명된 임의의 소프트웨어 구성요소들 또는 기능들은 예를 들어, 종래의 또는 객체 지향 기법들을 사용하여, 예를 들어, Java, C++, 또는 Perl과 같은 임의의 적합한 컴퓨터 언어를 사용하여 적어도 하나의 프로세서에 의해 실행될 수 있는 소프트웨어 코드 또는 컴퓨터 판독가능 명령어들로서 구현될 수 있다.
소프트웨어 코드는 비일시적 컴퓨터 판독가능 매체, 이를테면, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 자기 매체, 이를테면 하드 드라이브 또는 플로피 디스크, 또는 광 매체, 이를테면, CD-ROM 상에 일련의 명령어들 또는 커맨드들로서 저장될 수 있다. 임의의 이러한 컴퓨터 판독가능 매체는 단일 계산 장치 상에 또는 내에 상주할 수 있고, 시스템 또는 네트워크 내의 상이한 계산 장치들 상에 또는 내에 존재할 수 있다.
상술된 바와 같은 본 발명은 모듈식 또는 통합 방식으로 컴퓨터 소프트웨어를 사용하는 제어 로직의 형태로 구현될 수 있는 것으로 이해될 수 있다. 본원에서 제공된 본 개시 및 교시에 기초하여, 당업자는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 본 발명을 구현하는 다른 방식들 및/또는 방법들을 알고 이해할 수 있다.
상기한 설명은 예시적인 것이고, 제한적인 것이 아니다. 실시예들의 많은 변형이 본 개시의 검토 시에 당업자들에게 명백해질 수 있다. 이에 따라, 실시예들의 범위는 상기한 설명을 참조하여 결정되지 않아야 하고, 대신에 전체 범위 또는 등가물들과 함께 계류중인 청구항들을 참조하여 결정되어야 한다.
임의의 실시예로부터의 하나 이상의 특징은 본 실시예들의 범위로부터 벗어나지 않고 임의의 다른 실시예들의 하나 이상의 특징과 조합될 수 있다. 단수 표현의 열거는 명시적으로 반대로 나타내지 않는 한 "하나 이상"을 의미하는 것으로 의도된다. "및/또는"의 열거는 명시적으로 반대로 나타내지 않는 한 용어의 가장 포괄적인 의미를 나타내는 것으로 의도된다.
본 시스템의 요소들 중 하나 이상은 특정 기능을 실현하기 위한 수단으로서 청구될 수 있다. 이러한 기능식(means-plus-function) 요소들이 청구된 시스템의 특정 요소들을 설명하기 위해 사용되는 경우, 대응하는 구조가 특수 프로그래밍 이후 컴퓨터에서 발견되는 기능을 사용하여 그리고/또는 위에서 설명된 청구항들 또는 단계들에서 인용된 바와 같은 인용된 기능을 달성하기 위해 하나 이상의 알고리즘을 구현함으로써 특별히 열거된 기능을 수행하도록 프로그래밍된 컴퓨터, 프로세서, 또는 마이크로프로세서를 포함한다(경우에 따라)는 것이 본 명세서, 도면들, 및 청구범위를 이어받은 당업자에 의해 이해되어야 한다. 본 기술분야의 당업자들에 의해 이해될 바와 같이, 알고리즘은 본 개시 내에서 수학적 공식, 흐름도, 서술로서, 및/또는 당업자가 언급된 프로세스 및 그 등가물을 구현하기에 충분한 구조를 제공하는 임의의 다른 방식으로 표현될 수 있다.
본 개시는 많은 상이한 형태로 구현될 수 있지만, 도면 및 논의는 본 개시가 하나 이상의 발명의 원리의 예시이고 임의의 하나의 실시예를 예시된 실시예로 제한하도록 의도되지 않는다는 이해와 함께 제시된다.
본 개시는 위에서 설명된 오랜 필요성에 대한 해결 수단을 제공한다. 특히, 시스템들 및 방법들은 애플리케이션 개발을 모니터링하고 추적하기 위해 데이터의 수동 입력의 전통적인 접근법이 갖는 과제를 극복한다. 실시예들의 양태들은 코드의 라이프사이클 동안, 관리자 또는 관리자가 애플리케이션의 양태들을 쉽게 식별하고 점수화할 수 있도록, 코드 및 애플리케이션들을 표현하는 데이터 구조를 생성한다.
전술한 시스템 및 방법의 추가적인 이점 및 수정은 당업자에게 용이하게 발생할 수 있다.
따라서, 본 개시는 더 넓은 양태들에서, 위에서 도시되고 설명된 특정 상세들, 대표적인 시스템 및 방법들, 및 예시적인 예들에 제한되지 않는다. 다양한 수정들 및 변형들이 본 개시의 범위 또는 사상으로부터 벗어나지 않고 명세서에 대해 이루어질 수 있고, 본 개시는 다음의 청구항들 및 그들의 등가물들의 범위 내에 있는 한 모든 그러한 수정들 및 변형들을 커버하도록 의도된다.

Claims (20)

  1. 동적 조판 패키지를 제공하기 위한 컴퓨터 구현 방법으로서,
    컴퓨터화 디바이스 상에서의 렌더링을 위해 컨텍스트들과 무관하게 서빙될 조판 패키지(typesetting package)에 대한 사용자로부터의 요청을 수신하는 단계 - 상기 조판 패키지는 하나 이상의 폰트, 및 사용자로부터의 컨텐츠의 다양한 요소들에 대한 조판을 컨텍스트들에 걸쳐 정의하기 위한 하나 이상의 렌더링 규칙을 포함하며, 상기 조판은 상기 컨텍스트들에 걸친 상기 요소들의 레이아웃들의 구성들을 포함함 -;
    요청된 조판 패키지에 응답하여, 상기 사용자에게 링크를 제공하는 단계 - 상기 링크는 상기 요청된 조판 패키지를 가리킴 -;
    상기 링크가 실행되는 것에 응답하여, 상기 컨텐츠의 상기 요소들의 적어도 일부를 상기 하나 이상의 렌더링 규칙에서의 하나 이상의 파라미터에 매칭시키는 단계를 포함하되,
    상기 하나 이상의 렌더링 규칙은 디스플레이 컨텍스트를 갖는 상기 컴퓨터화 디바이스에 의한 실행에 응답하여, 상기 조판의 상기 레이아웃들에 따라 상기 요소들을 동적으로 구성 및 재편성하고, 상기 사용자로부터의 입력들 및 상기 디스플레이 컨텍스트 중 하나에 응답하여 상기 레이아웃들을 점진적으로 변경하는 것인, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 컨텐츠는 텍스트들 및 그래픽들의 집합을 포함하며, 상기 컨텐츠는 마크업 언어로 코딩되는 것인, 컴퓨터 구현 방법.
  3. 제1항에 있어서, 상기 링크를 제공하는 단계는 사용자 동작에 응답하여 상기 링크를 제공하는 단계를 포함하고, 상기 사용자 동작은 상기 링크를 획득하는 것 및 상기 링크를 상기 컨텐츠의 임의의 부분에 복사하는 것을 포함하는 것인, 컴퓨터 구현 방법.
  4. 제1항에 있어서, 상기 매칭시키는 단계는 사용자 선택에 응답하여 매칭시키는 단계를 포함하는 것인, 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 사용자 선택은 마크업 언어 포맷 명칭의 선택을 포함하는 것인, 컴퓨터 구현 방법.
  6. 제4항에 있어서, 상기 사용자 선택은 조판 스타일에 대한 명칭을 포함하는 것인, 컴퓨터 구현 방법.
  7. 동적 조판 패키지를 제공하기 위한 시스템으로서,
    하나 이상의 조판 패키지를 저장하기 위한 데이터베이스;
    컴퓨터 실행가능 명령어들을 실행하도록 구성된 서버를 포함하며, 상기 컴퓨터 실행가능 명령어들은:
    컴퓨터화 디바이스 상에서의 렌더링을 위해 컨텍스트들과 무관하게 서빙될 상기 하나 이상의 조판 패키지 중 하나에 대한 사용자로부터의 요청을 수신하기 위한 명령어 - 상기 조판 패키지들 각각은 하나 이상의 폰트 활자체, 및 사용자로부터의 컨텐츠의 다양한 요소들에 대한 상기 조판을 컨텍스트들에 걸쳐 정의하기 위한 하나 이상의 렌더링 규칙을 포함하며, 상기 컨텍스트들은 상기 렌더링 디바이스의 디스플레이 컨텍스트의 파라미터들의 세트를 포함하며, 상기 조판은 상기 컨텍스트들에 걸친 상기 요소들의 레이아웃들의 구성들을 포함함 -;
    요청된 조판 패키지에 응답하여, 상기 사용자에게 컴퓨터 실행가능 링크를 제공하기 위한 명령어 - 상기 컴퓨터 실행가능 링크는 상기 요청된 조판 패키지를 가리킴 -;
    상기 링크가 실행되는 것에 응답하여, 상기 컨텐츠의 상기 요소들의 적어도 일부를 상기 하나 이상의 렌더링 규칙에서의 하나 이상의 파라미터에 매칭시키기 위한 명령어이되,
    상기 하나 이상의 렌더링 규칙은 상기 렌더링 디바이스에 의한 실행에 응답하여, 상기 조판의 상기 레이아웃들에 따라 상기 요소들을 동적으로 구성하고, 상기 사용자로부터의 입력들 및 상기 디스플레이 컨텍스트 중 하나에 응답하여 상기 레이아웃들을 점진적으로 변경하기 위한 것인, 시스템.
  8. 제7항에 있어서, 상기 컨텐츠는 텍스트들 및 그래픽들의 집합을 포함하며, 상기 컨텐츠는 포맷 선언 및 상기 포맷 선언에 대한 상기 하나 이상의 파라미터를 갖는 마크업 언어로 코딩되는 것인, 시스템.
  9. 제7항에 있어서, 상기 서버는 사용자 동작에 응답하여 상기 컴퓨터 실행가능 링크를 제공하도록 구성되며, 상기 사용자 동작은 상기 컴퓨터 실행가능 링크를 획득하는 것 및 상기 컴퓨터 실행가능 링크를 상기 컨텐츠의 임의의 부분에 복사하는 것을 포함하는 것인, 시스템.
  10. 제7항에 있어서, 상기 서버는 사용자 선택에 응답하여 매칭되도록 구성되는 것인, 시스템.
  11. 제10항에 있어서, 상기 사용자 선택은 마크업 언어 포맷 명칭의 선택을 포함하는 것인, 시스템.
  12. 제10항에 있어서, 상기 사용자 선택은 조판 스타일에 대한 명칭을 포함하는 것인, 시스템.
  13. 제7항에 있어서, 상기 서버는 상기 컴퓨터 실행가능 링크가 상기 컨텐츠에 제공되는 것에 응답하여 자동으로 매칭되도록 구성되는 것인, 시스템.
  14. 제7항에 있어서, 상기 컴퓨터 실행가능 링크는 텍스트들 및 그래픽들의 집합을 포함하며, 상기 컨텐츠는 마크업 언어로 코딩되는 것인, 시스템.
  15. 동적 조판 패키지를 제공하기 위한 컴퓨터 실행가능 명령어들이 저장된 유형의 비일시적 컴퓨터 판독가능 매체로서, 상기 컴퓨터 실행가능 명령어들은:
    컴퓨터화 디바이스 상에서의 렌더링을 위해 컨텍스트들과 무관하게 서빙될 조판 패키지에 대한 사용자로부터의 요청을 수신하기 위한 명령어 - 상기 조판 패키지는 하나 이상의 폰트, 및 사용자로부터의 컨텐츠의 다양한 요소들에 대한 조판을 컨텍스트들에 걸쳐 정의하기 위한 하나 이상의 렌더링 규칙을 포함하며, 상기 컨텍스트들은 상기 컴퓨터화 디바이스의 디스플레이 컨텍스트의 파라미터들의 세트를 포함하며, 상기 조판은 상기 컨텍스트들에 걸친 상기 요소들의 레이아웃들의 구성들을 포함함 -;
    요청된 조판 패키지에 응답하여, 상기 사용자에게 링크를 제공하기 위한 명령어 - 상기 링크는 상기 요청된 조판 패키지를 가리킴 -;
    상기 링크가 실행되는 것에 응답하여, 상기 컨텐츠의 상기 요소들의 적어도 일부를 상기 하나 이상의 렌더링 규칙에서의 하나 이상의 파라미터에 매칭시키기 위한 명령어이되,
    상기 하나 이상의 렌더링 규칙은 상기 디스플레이 컨텍스트를 갖는 상기 컴퓨터화 디바이스에 의한 실행에 응답하여, 상기 조판의 상기 레이아웃들에 따라 상기 요소들을 동적으로 구성하고, 상기 사용자로부터의 입력들 및 상기 디스플레이 컨텍스트 중 하나에 응답하여 상기 레이아웃들을 점진적으로 변경하는 것인, 유형의 비일시적 컴퓨터 판독가능 매체.
  16. 제15항에 있어서, 상기 컨텐츠는 텍스트들 및 그래픽들의 집합을 포함하며, 상기 컨텐츠는 포맷 선언 및 상기 포맷 선언에 대한 상기 하나 이상의 파라미터를 갖는 마크업 언어로 코딩되는 것인, 컴퓨터 구현 방법.
  17. 제15항에 있어서, 상기 링크는 캐스케이딩 스타일 시트 및 스크립팅 언어 파일에 대한 링크를 포함하는 것인, 컴퓨터 구현 방법.
  18. 제15항에 있어서, 상기 매칭시키는 것은 사용자 선택에 응답하여 매칭시키는 것을 포함하는 것인, 컴퓨터 구현 방법.
  19. 제18항에 있어서, 상기 사용자 선택은 마크업 언어 포맷 명칭의 선택을 포함하는 것인, 컴퓨터 구현 방법.
  20. 제18항에 있어서, 상기 사용자 선택은 조판 스타일에 대한 명칭을 포함하는 것인, 컴퓨터 구현 방법.
KR1020227013619A 2019-09-23 2020-09-04 동적 조판 KR102574306B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/579,822 2019-09-23
US16/579,822 US10769348B1 (en) 2019-09-23 2019-09-23 Dynamic typesetting
US16/990,389 US11334708B2 (en) 2019-09-23 2020-08-11 Dynamic typesetting
US16/990,389 2020-08-11
PCT/US2020/049516 WO2021061378A1 (en) 2019-09-23 2020-09-04 Dynamic typesetting

Publications (2)

Publication Number Publication Date
KR20220099953A true KR20220099953A (ko) 2022-07-14
KR102574306B1 KR102574306B1 (ko) 2023-09-01

Family

ID=72290093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227013619A KR102574306B1 (ko) 2019-09-23 2020-09-04 동적 조판

Country Status (8)

Country Link
US (2) US10769348B1 (ko)
EP (1) EP4018293A4 (ko)
JP (2) JP2022539442A (ko)
KR (1) KR102574306B1 (ko)
CN (1) CN115039064A (ko)
AU (1) AU2020352890B2 (ko)
CA (1) CA3155636C (ko)
WO (1) WO2021061378A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113642295B (zh) * 2021-08-24 2023-10-20 北京百度网讯科技有限公司 页面排版方法、装置及计算机程序产品
CN116663483B (zh) * 2023-07-31 2023-10-20 全芯智造技术有限公司 用于芯片排版的方法、设备和介质
CN116776827B (zh) * 2023-08-23 2023-11-21 山东捷瑞数字科技股份有限公司 一种人工智能排版方法、装置、设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017138849A (ja) * 2016-02-04 2017-08-10 凸版印刷株式会社 コンテンツ操作情報処理システム、ユーザ端末装置及びプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826725B1 (en) * 1999-12-16 2004-11-30 Microsoft Corporation Techniques for invoking system commands from within a mark-up language document
JP2001236202A (ja) * 2000-02-22 2001-08-31 Sharp Corp 通信システム
US7228501B2 (en) * 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
US20070094591A1 (en) * 2005-10-24 2007-04-26 Etgen Michael P System and method for text legibility enhancement
US8166390B2 (en) * 2006-02-15 2012-04-24 Microsoft Corporation Figure sizing and positioning on dynamic pages
US8176416B1 (en) * 2006-03-17 2012-05-08 Wells Fargo Bank, N.A. System and method for delivering a device-independent web page
US8819541B2 (en) * 2009-02-13 2014-08-26 Language Technologies, Inc. System and method for converting the digital typesetting documents used in publishing to a device-specfic format for electronic publishing
TWI453658B (zh) * 2011-02-25 2014-09-21 Esobi Inc 一種顯示畫面之動態排版方法
WO2013048428A1 (en) * 2011-09-30 2013-04-04 Hewlett-Packard Development Company Personalized content delivery system and method
US9569865B2 (en) * 2012-12-21 2017-02-14 Monotype Imaging Inc. Supporting color fonts
US9626337B2 (en) * 2013-01-09 2017-04-18 Monotype Imaging Inc. Advanced text editor
US9916287B2 (en) * 2013-06-17 2018-03-13 Tencent Technology (Shenzhen) Company Limited Method, device and system for zooming font in web page file, and storage medium
CN103412928B (zh) * 2013-08-16 2017-05-10 北京乐动卓越科技有限公司 一种在移动终端实现浏览器页面智能响应式布局的方法与装置
US9311422B2 (en) * 2013-09-12 2016-04-12 Adobe Systems Incorporated Dynamic simulation of a responsive web page
US10614153B2 (en) * 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US9703757B2 (en) * 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
US20150161087A1 (en) * 2013-12-09 2015-06-11 Justin Khoo System and method for dynamic imagery link synchronization and simulating rendering and behavior of content across a multi-client platform
CN105701106A (zh) * 2014-11-27 2016-06-22 广州市动景计算机科技有限公司 网页更新方法及装置
WO2017002130A1 (en) * 2015-07-01 2017-01-05 Tnq Books And Journals Private Limited Transformation of marked-up content to a reversible file format for automated browser based pagination
US10416877B2 (en) * 2015-08-25 2019-09-17 Myscript System and method of guiding handwriting input
US10019415B1 (en) * 2015-08-28 2018-07-10 Animoto Inc. System and method for consistent cross-platform text layout
CN107533568B (zh) * 2015-09-15 2020-12-18 谷歌有限责任公司 确定应用缩放等级的系统和方法
US10664695B2 (en) * 2016-10-26 2020-05-26 Myscript System and method for managing digital ink typesetting
US10606925B2 (en) * 2017-03-27 2020-03-31 Adobe Inc. Responsive grid layouts for graphic design

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017138849A (ja) * 2016-02-04 2017-08-10 凸版印刷株式会社 コンテンツ操作情報処理システム、ユーザ端末装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AllAbout, "뷰어가 스타일시트를 전환할 수 있는 기능 만들기", [online], 2015년 9월 10일, [2022년 11월 10일 검색], 인터넷 URL: https://allabout.co.jp/gm/gc/23930/* *

Also Published As

Publication number Publication date
US10769348B1 (en) 2020-09-08
JP2022539442A (ja) 2022-09-08
US20210089706A1 (en) 2021-03-25
AU2020352890A1 (en) 2022-04-14
EP4018293A1 (en) 2022-06-29
KR102574306B1 (ko) 2023-09-01
CN115039064A (zh) 2022-09-09
AU2020352890B2 (en) 2022-07-28
CA3155636C (en) 2023-06-13
WO2021061378A1 (en) 2021-04-01
US11334708B2 (en) 2022-05-17
CA3155636A1 (en) 2021-04-01
JP2023107899A (ja) 2023-08-03
EP4018293A4 (en) 2023-10-04

Similar Documents

Publication Publication Date Title
KR102574306B1 (ko) 동적 조판
US10289649B2 (en) Webpage advertisement interception method, device and browser
EP2399234B1 (en) Font handling for viewing documents on the web
US8522132B2 (en) Widget behavior customization via cascaded style sheets
US20160098250A1 (en) Application prototyping tool
JP2004157502A (ja) フォントの選択方法
JP2011159284A (ja) ウェブサイトフォントのプレビュー
US11868598B2 (en) Generating and modifying content using data structures
Powers Beginning Css3
CN111143749A (zh) 一种网页展示方法、装置、设备及存储介质
US20110055258A1 (en) Method and apparatus for the page-by-page provision of an electronic document as a computer graphic
JP5706306B2 (ja) リンクされたテキストボックスを有する電子文書のレンダリングの方法、レンダリングする指示を含むコンピューターが読み取り可能な記憶媒体及びシステム
US20220405469A1 (en) Automatic enhancement of paragraph justification
Kyrnin Sams Teach Yourself HTML5 Mobile Application Development in 24 Hours
US9984053B2 (en) Replicating the appearance of typographical attributes by adjusting letter spacing of glyphs in digital publications
Teague CSS3: Visual QuickStart Guide
US20100162094A1 (en) Providing interactive forms in web application software
WO2021124728A1 (ja) 情報処理システム、情報処理システムの制御方法、及びプログラム
CN113935282A (zh) 一种文档编辑方法、装置、存储介质以及设备
Meyer CSS Fonts: Web Typography Possibilities
Casario et al. CSS3 Solutions: Essential Techniques for CSS3 Developers
CN116956834A (zh) 文本生成方法、装置、设备及存储介质
Guide SAS® 9.4 Output Delivery System
Odell Building a Solid Foundation
Tao A Tutorial on XHTML and XML

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant