KR101159359B1 - 다른 해상도를 갖는 디스플레이 상에 타겟 디지털 장치의디스플레이 시뮬레이션을 렌더링하는 방법, 시스템 및 매체 - Google Patents

다른 해상도를 갖는 디스플레이 상에 타겟 디지털 장치의디스플레이 시뮬레이션을 렌더링하는 방법, 시스템 및 매체 Download PDF

Info

Publication number
KR101159359B1
KR101159359B1 KR1020050121545A KR20050121545A KR101159359B1 KR 101159359 B1 KR101159359 B1 KR 101159359B1 KR 1020050121545 A KR1020050121545 A KR 1020050121545A KR 20050121545 A KR20050121545 A KR 20050121545A KR 101159359 B1 KR101159359 B1 KR 101159359B1
Authority
KR
South Korea
Prior art keywords
display
digital device
target digital
text
displayed
Prior art date
Application number
KR1020050121545A
Other languages
English (en)
Other versions
KR20060088010A (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 KR20060088010A publication Critical patent/KR20060088010A/ko
Application granted granted Critical
Publication of KR101159359B1 publication Critical patent/KR101159359B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

디지털 장치를 위한 저해상도 개발 시스템 디스플레이 상에서 고해상도 디스플레이를 관찰하는 방법은 타겟 장치(target device)를 선택하고 선택된 장치에 대한 이미지 형태를 식별하는 것을 포함한다. 이미지 형태는 선택된 타겟 장치의 실제 형태를 디스플레이한다. 타겟 장치의 디스플레이 성능(display capability)을 나타내는 폼 팩터(form factor)가 선택된다. 개발자가 타겟 장치의 고해상도 디스플레이의 외형을 시뮬레이션(simulation)하기 위해 이미지 형태에 비례하여 텍스트를 볼 수 있게 이미지 형태 크기가 조정된다. 개발 디스플레이 상의 이미지 형태 및 폰트에 대응하는 적절한 폰트 크기를 포함하는 타겟 장치에 대한 목적 코드가 생성된다.
타겟 장치, 목적 코드, 시뮬레이션, 폰트, 해상도

Description

다른 해상도를 갖는 디스플레이 상에 타겟 디지털 장치의 디스플레이 시뮬레이션을 렌더링하는 방법, 시스템 및 매체{METHOD AND SYSTEM FOR A TARGET DEVICE DISPLAY SIMULATION}
도 1a는 저해상도 개발 시스템 디스플레이 상에 보여지는 타겟 장치(target device)의 예시적인 일부를 나타내는 도면.
도 1b는 저해상도 개발 시스템 디스플레이를 이용해 고해상도 타겟 디스플레이를 생성하는 종래 기술 결과를 나타내는 도면.
도 2a는 저해상도 개발 시스템 디스플레이 상에 보여지는 타겟 장치의 예시적인 일부를 나타내는 도면.
도 2b는 본 발명의 양태를 갖는 고해상도 타겟 장치 디스플레이 결과를 나타내는 도면.
도 3a는 개발 시스템 상에 타겟 장치의 이미지 바디(image body)를 도시한 예시적인 스크린 샷(screen shot).
도 3b는 본 발명의 양태를 도시하는 고해상도 장치를 타겟으로 한 개발 시스템의 예시적인 스크린 샷.
도 4는 본 발명의 예시적인 방법에 대한 흐름도.
도 5는 본 발명의 양태들이 구현될 수 있는 예시적인 컴퓨팅 환경을 도시하 는 블럭도.
<도면의 주요 부분에 대한 부호의 설명>
200: 저해상도 개발 시스템 디스플레이
210: 디스플레이
220: 텍스트 박스
230: 앵커
250': 소프트키 메뉴
[문헌 1] 미국 특허 출원 제10/922,580호 "FORM SKIN AND DESIGN TIME WYSIWYG FOR.NET COMPACT FRAMEWORK" (2004년 8월 20일)
본 발명은 컴퓨터 프로그래밍 분야에 관한 것이다. 보다 구체적으로, 본 발명은 타겟 디지털 장치 상에서 동작하도록 설계된 소프트웨어를 만들기 위한 비주얼 프로그래밍 환경(visual programming environment)에 관한 것이다.
시장에서 휴대용 컴퓨터 장치들이 점점 증가하고 있다. 이러한 장치들에는 다양한 폼 팩터(form factor) 및 성능의 핸드헬드 또는 포켓 크기 컴퓨터(pocket sized computer), 전화기 및 PDA가 포함된다. 핸드헬드 장치의 연산력 및 메모리 성능이 증가할수록, 사용자들은 보다 강력한 소프트웨어 애플리케이션에의 액세스를 요구한다.
복잡한 소프트웨어 애플리케이션을 빠르게 프로그래밍하려고 하는 프로그래머들은 통상적인 비주얼 소프트웨어 개발 시스템이, 이용가능한 수많은 장치들 상에서 동작하도록 애플리케이션을 프로그래밍하기에 부적절하다는 것을 깨달았다. 핸드헬드 장치의 인터페이스, 스크린 크기 및 해상도에 대한 수많은 변형물이 생겨나면, 프로그래머는 핸드헬드의 특정한 주어진 GUI가 다수의 장치 상에서 올바르게 나타내고 동작하리란 것을 보증하기 매우 어려워질 수 있다. 예를 들어, 타겟 장치의 디스플레이 및 기능은 종종 개발 시스템의 성능을 잘 반영하지 못한다.
전형적으로, 핸드헬드 장치의 프로그래머는 우선 데스크탑 개발 시스템 상에서 프로그래밍하는 것과 새롭게 개발된 소프트웨어를 핸드헬드 장치의 에뮬레이터 또는 실제 장치 상에서 동작시키는 것을 번갈아가며 수행하여 핸드헬드 GUI가 예상한 바대로 동작하는지 본다. 특히 프로그래머가 애플리케이션을 매우 다양한 휴대용 장치에 이식하길 원하는 경우, 이것은 시간 소모적이고 비효율적인 것이 될 수 있다. 프로그래밍의 일 양태에서, 전형적인 개발 환경은 핸드헬드 장치 프로그래머가 개발 시스템 상에서 저해상도 디스플레이로 텍스트를 생성하게 할 수 있다. 그러나, 그 텍스트의 목적 코드가 핸드헬드 장치의 고해상도 디스플레이 상에 디스플레이될 때는 개발 시스템과 타겟 장치 사이의 디스플레이와 프로그래밍 차이 때문에 디스플레이가 적어도 부분적으로 이용 불가능해진다.
도 1a는 개발 시스템 상에 렌더링(rendering)된 핸드헬드 디지털 장치의 디스플레이를 나타낸다. 도 1a에서는, 개발 시스템 디스플레이 장치가 타겟 장치보 다 저해상도를 가진다고 가정된다. 예를 들어, 저해상도 개발 시스템은 인치당 96 선형 픽셀(linear pixel)의 문자 길이에 대응하는 96 DPI의 선밀도를 가질 수 있으며, 타겟 장치 디스플레이 매트릭스는 개발 시스템 상에서 240*320 픽셀로 설정된다. 개발 시스템의 타겟은 PDA, GPS 수신기 프로세서, 전화기, 포켓 PC, 또는 고해상도 디스플레이를 갖는 다른 유형의 디지털 장치와 같은 핸드헬드 디지털 장치이다. 고해상도 디스플레이는 인치당 192 선형 픽셀의 문자 길이에 대응하는 192 DPI의 선밀도를 갖는 480*640 픽셀 매트릭스일 수 있다.
도 1a는 소프트키 메뉴 바(softkey menu bar, 150) 및 50*50 픽셀(130)의 앵커 위치(anchor location)에 사용자 정의 텍스트 박스(120)를 갖는 핸드헬드 디지털 장치 스크린(110)의 디스플레이(100)를 포함한다. 텍스트 박스(120)의 크기는 100*50 픽셀이다. 개발 시스템 디스플레이(100)는 4개의 문자(140)가 텍스트 박스(120) 내에 디스플레이되어 있는 것을 도시한다. 개발 시스템 디스플레이가 타겟 디지털 장치보다 저해상도를 갖는다고 가정하자. 핸드헬드 장치를 위한 디스플레이 소프트웨어를 개발하는 동안 고해상도 디스플레이를 조절되지 않으면, 실제 핸드헬드 장치에 대한 마지막 디스플레이에서 에러가 발생할 수 있다.
도 1b는 저해상도 개발 시스템 디스플레이와 고해상도 타겟 장치 실현 사이의 디스플레이 차이를 조절하는 것을 실패함으로써 일어날 수 있는 종래 기술 에러를 디스플레이한다. 도 1b는 결과 디스플레이(110')를 나타낸다. 여기서, 텍스트 박스(120')의 크기는 개발 시스템 크기로부터 바뀐다. 50*50 픽셀에의 앵커 위치(103')는 바뀌지 않는다. 그러나, 고해상도 타겟 장치는 디스플레이 스크린 영역 의 폭과 높이에 걸쳐 더 많은 픽셀을 이용할 수 있기 때문에, 앵커(103')의 물리적 위치는 도 1a의 개발 시스템 디스플레이(110)에서보다 디스플레이 스크린의 코너에 더욱 근접해 있다.
핸드헬드 디지털 장치의 고해상도 디스플레이 상에 디스플레이된 텍스트(140')는 고해상도 디스플레이 상에서 잘려서 오직 부분적으로만 프리젠테이션(presentation)된다. 이는 텍스트 박스의 크기 감소 때문이다. 명백하게, 개발 시스템이 개발 시스템 해상도와 타겟 장치 해상도 사이의 차이를 자동으로 조절하지 않으면, 디스플레이에 에러가 일어나, 타겟 고해상도 핸드헬드 장치에 대한 원하는 디스플레이에 도달하기 위한 개발이 반복되도록 강요될 수 있다.
그러므로, 고해상도 핸드헬드 디지털 장치가 생성할 수 있는 텍스트를 적절하게 시뮬레이션하는 핸드헬드 장치를 위한 위지윅("what you see is what you get", WYSIWYG) 개발 시스템이 요구된다. 본 발명은 전술된 필요성을 다루며, 본원에 나타낸 바와 같은 추가적인 이점으로 그들을 해결한다.
본 발명의 양태는 타겟 디지털 장치의 실시간 뷰(view)를 생성하여, 개발자가 새로운 애플리케이션으로 핸드헬드 장치를 동작시킬 때처럼 실제 장치가 보고 느낄 것을 알 수 있게 한다. 이를 달성하기 위해, 개발 시스템은 타겟으로된 핸드헬드 디지털 장치의 이미지 형태를 디스플레이하고, 이미지 형태에 비례적으로 크기 조정된 텍스트를 나타내도록 핸드헬드 장치의 개발 시스템 디스플레이를 조작함으로써, 고해상도 디스플레이가 시뮬레이션될 수 있다. 핸드헬드 장치 상의 결과 디스플레이가 개발 시스템 상의 개발자에게 보여지는 것과 비례적으로 유사하게 되도록, 개발된 텍스트에 대한 출력 코드가 생성된다. 본 발명의 다른 양태에서, 개발된 텍스트는 하나의 타겟 장치의 하나의 해상도를 처리하도록 정의된 후, 같은 장치 상의 서로 다른 해상도 또는 다른 타겟 장치를 조절하도록 바뀜으로써, 디자인이 재사용된다.
실시예에 대한 다음의 상세한 설명뿐만 아니라 전술한 요약은 첨부된 도면과 함께 읽을 때, 더욱 잘 이해된다. 본 발명의 실시예를 예시하기 위해, 본 발명의 예시적인 구조들이 도면에 도시되지만, 본 발명은 공개된 특정 방법 및 수단에만 한정되는 것은 아니다.
개요
본 발명의 일 실시예에서, 고해상도 디스플레이를 갖는 타겟 디지털 장치가 저해상도 디스플레이를 갖는 개발 시스템 상에 시뮬레이션된다. 본 발명은 또한 타겟 디지털 장치가 개발 시스템의 디스플레이 해상도에 비해 저해상도를 갖는 경우의 응용에서도 실현될 수 있다. 핸드헬드 장치 개발자들은 핸드헬드 디지털 장치를 위한 텍스트 및 새로운 애플리케이션을 생성하는 데 개발 시스템을 이용한다. 본 발명의 하나의 이점은 사용자/개발자가 타겟 장치의 고해상도 양태를 나타내는 방식으로 핸드헬드 장치를 관찰할 수 있다는 것이다. 저해상도 디스플레이를 이용하는 이 고해상도 시뮬레이션 또는 그 반대는, 타겟 장치가 개발 텍스트 또는 애플리케이션을 어떻게 디스플레이하는지를 개발자에게 즉시 보임으로써 전체 개발 및 디버깅 시간(debug time)을 줄인다. 본원에 포함된 타겟 디지털 장치의 예에는 핸드헬드 디지털 장치가 포함되지만, 본 발명은 각각의 개발 시스템과 해상도가 다른 디스플레이를 갖는 임의의 임베딩(embed)된 장치 응용에 적절하다. 이러한 임베딩된 장치 응용의 예에는 항공시설 가판대, 가스 펌프, 금전 등록기, 전화기 또는 다른 원격통신 시스템 디스플레이와 같은 핸드헬드가 아닌 장치가 포함되지만 이에만 한정되는 것은 아니다.
본 발명의 실시예
도 2a는 저해상도 개발 시스템 디스플레이(200)를 나타낸다. 이 예에서, 개발 시스템의 디스플레이는 240*320 픽셀이다. 디스플레이(200)는 소프트키 메뉴 바(250)를 갖는 핸드헬드 디지털 장치(210)의 디스플레이 스크린의 시뮬레이션을 포함한다. 텍스트(240)가 삽입된 텍스트 박스(220)가 도시된다. 텍스트 박스(220)에 대한 앵커(230)는 50*50 픽셀에 위치한다. 디자이너는, 텍스트 박스(220)가 디스플레이 디자인의 미적 요소 및 기타 요소들을 조정하기 위한 디스플레이(210) 내의 한 포지션에 배치되도록 텍스트 박스(220)의 위치를 정한다고 가정하자. 타겟 디지털 장치의 고해상도 디스플레이가, 시뮬레이션된 개발 시스템 디스플레이로부터 최종 고해상도 디스플레이로 보호된 텍스트, 텍스트 박스 크기, 및 텍스트 박스의 상대적인 지리적 포지션을 갖는 것이 바람직하다.
도 2b는 본 발명의 양태를 이용하여 디스플레이(210)의 개발 시스템 표현으로부터 생성된 대응하는 고해상도 디스플레이(210')를 나타낸다. 이 예에서, 고해상도 디스플레이의 해상도는 480*640 픽셀이다. 고해상도 디스플레이는 소프트키 메뉴(250'), 및 도 2a의 개발 시스템 상에 시뮬레이션된 것보다 2배의 픽셀 크기를 갖는 텍스트 박스(220')를 갖는다. 그러나, 본 발명의 양태에 따르면, 개발 시스템으로부터 고해상도 디스플레이로의 텍스트 박스(220')의 상대적인 지리적 포지션은 100*100 픽셀의 위치에 앵커(230')를 위치시킴으로써 보호되었다. 이 위치는 저해상도 개발 시스템 디스플레이보다 밀도가 2배인 고해상도 디스플레이의 결과이다. 텍스트 문자(240')는 개발 시스템 디스플레이 텍스트 문자(240)의 것과 유사한 방식으로 텍스트 박스(220') 내에서 판독가능하다. 도 2b의 결과적인 핸드헬드 장치 디스플레이(210')는 개발자가 생성한 개발 시스템 디스플레이의 바람직한 직접적인 결과물이며, 도 1b에 도시된 종래 기술의 문제점들을 피한다.
도 2b에 도시된 바람직한 "위지윅" 결과를 달성하기 위해서는, 개발 환경의 해상도 및 타겟 고해상도 장치의 해상도를 알고 조절하는 것이 바람직하다. 도 3a는 타겟 장치(310)의 스크린 샷(300)을 나타낸다. 개발 환경은 디지털 핸드헬드 장치의 디스플레이 영역(320)을 포함한다. 개발 환경의 고유한 문제점은 그것의 디스플레이가 개발 환경의 디스플레이 스크린(330)의 본래 해상도로 설정된 해상도만을 가질 수 있다는 것이다. 디지털 핸드헬드 장치의 해상도는 개발 환경의 디스플레이 스크린(330)의 본래 해상도보다 높거나 낮을 수 있다.
본 발명의 일 양태는, 핸드헬드 디지털 장치의 해상도 또는 폼 팩터가 선택된 후, 저해상도 개발 시스템 상에 고해상도 디스플레이를 시뮬레이션하기 위해, 핸드헬드 디지털 장치의 이미지 형태의 디스플레이를 다시 스케일링(re-scale)하는 데에 폼 팩터가 이용될 수 있다는 것이다. 도 3b는 고해상도 디스플레이 영역(320) 상에 폰트 크기의 적절한 비례적인 디스플레이를 조절하도록 장치 이미지를 스케일링한 후의 도 3a의 핸드헬드 장치 이미지 형태(310)를 나타낸다. 개발 환경이 실제 크기보다 큰 디지털 핸드헬드 장치에 대한 디스플레이를 나타내지만, 이는 핸드헬드 장치(310)의 이미지 형태로 고해상도 장치를 비례적으로 이용한 결과로, 텍스트 크기 및 세부를 정확하게 나타낸다.
고해상도 시뮬레이션에서 개발 시스템 디스플레이에 이용하기 위한 대략의 폰트 크기를 결정하는 데 변환 알고리즘이 이용된다.
개발 디스플레이 폰트 크기 = (타겟 폰트 크기) * (타겟 장치 해상도 DPI / 개발 디스플레이 DPI)
개발 디스플레이 폰트는 개발 시스템의 저해상도 디스플레이가 고해상도 장치의 시뮬레이션을 위해 디스플레이해야하는 폰트이다. 타겟 폰트는 타겟 장치의 고해상도 스트린 상에 디스플레이되어야 할 요구되는 폰트이다. 고해상도 DPI는 타겟 장치가 디스플레이할, DPI로 측정된 선형 픽셀 밀도이다. 개발 시스템 디스플레이 DPI는 저해상도 개발 시스템 디스플레이의 선형 픽셀 밀도이다. 이 알고리즘은 이미지 형태(타겟 장치의 이미지)의 폼 팩터(크기)에 대응하는 폰트 크기를 계산한다. 계산이 행해지면, 개발자는 비례적으로 크기 조정된 폰트를 렌더링하여 고해상도 디스플레이를 시뮬레이션하는 방식으로 핸드헬드 장치 이미지 형태를 관찰할 수 있게 된다.
폼 팩터는 장치 유형으로 정의될 수 있으며 다음과 같은 속성들을 가질 수 있다:
* 이름. 예를 들어, Pocket PC 2003 VGA Portrait.
* 픽셀 단위의 장치 스크린 크기. 예를 들어, Pocket PC VGA portrait는 (480*640)의 스크린 크기를 가짐.
* DPI로 표현되는 장치 스크린 해상도. 예를 들어, 일반의 저해상도 장치는 96 DPI를 가짐. 고해상도 Pocket PC는 192 DPI를 가지며 고해상도 스마트폰은 131 DPI를 가짐.
각각의 장치가 자기 자신의 폼 팩터를 가질 수 있거나, 단일 장치가 서로 다른 레벨의 해상도에 대응하는 다수의 폼 팩터들을 가질 수 있다. 장치에 대한 폼 팩터의 예는 다음을 포함한다:
* Pocket PC 2002, 240*320, 96 DPI
* Pocket PC 2003 Portrait, 240*320, 96 DPI
* Pocket PC 2003 Square, 240*240, 96 DPI
* Pocket PC 2003 VGA Portrait, 480*640, 192 DPI
* Pocket PC 2003 VGA Square, 480*480, 192 DPI
* Smartphone 2003, 176*220, 96 DPI
* Smartphone 2003 QVGA, 240*320, 131 DPI
* Windows CE.NET 호환성 장치(다중 해상도, 디폴트는 96 DPI, 640*480)
본 발명의 일 양태에서, 선택된 타겟 장치 또는 타겟 장치에 대한 폼 팩터는 바뀔 수 있으며, 폼 팩터 또는 하나의 타겟 장치에 대해 개발된 텍스트는 또 다른 타겟 장치 또는 폼 팩터를 위해 재사용될 수 있다. 폼 팩터에 대한 소프트웨어 구조 지원은 다음의 XML 스키마(XSL) 코드 세그먼트 내에서 발견될 수 있다. 당업자들은 다음에 정의된 스키마들이 예시적인 것일 뿐 한정적인 것은 아님을 인식할 것이다.
플랫폼 레벨 속성
Figure 112005072399199-pat00001
각각의 플랫폼 하의 폼 팩터 컨테이너(container)를 생성
Figure 112005072399199-pat00002
패킷 PC 플랫폼 예:
1. 디폴트 폼 팩터는 Pocket PC 2003 Portrait 임.
Figure 112005072399199-pat00003
2. 지원된 폼 팩터 모두는 폼 팩터 컨테이너 내에 리스트됨.
Figure 112005072399199-pat00004
Figure 112005072399199-pat00005
Figure 112005072399199-pat00006
본 발명의 일 양태에서, 개발 시스템 디스플레이 해상도는 타겟 장치의 디스플레이 해상도보다 높거나 낮을 수 있다. 당업자들은 본 발명에서 개발 시스템과 타겟 장치 사이의 높거나 낮은 디스플레이 해상도 차이가 생길 수 있다는 것을 인식할 것이다. 도 4는 본 발명의 일 실시예의 흐름도(400)이다. 예를 들어, 핸드헬드 디지털 장치를 위한 개발 시스템 상에서 개발 시스템 디스플레이가 타겟 장치보다 저레벨 디스플레이 해상도를 갖는다고 가정하자. 처음으로, 타겟 장치가 선택된다(단계 410). 타겟 장치는 컴퓨터 메모리에 저장될 수 있는, 개발자가 이용할 수 있는 수많은 타겟 장치들 중 하나일 수 있다. 타겟을 선택한 후, 타겟 장치를 나타내는 이미지 형태가 개발 시스템 디스플레이 장치 상에 디스플레이된다(단계 420). 그 후 타겟 장치의 폼 팩터가 선택될 수 있다(단계 430). 장치의 폼 팩터는 다른 것들 중에서 픽셀로 된 고해상도 디스플레이의 크기 및 DPI로 된 디스플레이의 선밀도를 포함하는 타겟된 장치의 디스플레이 해상도를 지정할 수 있다.
고해상도 타겟 장치가 선택되었다고 가정하면, 타겟 장치의 고해상도 인터페이스에 대해서 스케일링된 디스플레이의 렌더링을 조절하기 위해, 그 후 개발 시스템은 타겟 장치의 이미지 형태를 조정한다(단계 440). 텍스트가 타겟 장치의 이미지 바디에 비례적으로 디스플레이되게 하는 개발 시스템 디스플레이에 대한 비례적인 폰트 크기가 계산된다(단계 450). 둘 간의 비율은 개발 시스템이 저해상도 개발 시스템 디스플레이에 타겟 장치의 고해상도 디스플레이를 시뮬레이션할 수 있게 하는 것이다. 이에 따라, 개발자는 마지막 텍스트가 타겟 장치 상에 나타날 때의 모습을 잘 알 수 있게 된다.
그 후 개발자는 고해상도 장치가 어떻게 나타날지를 판단하면서 타겟 장치를 위한 텍스트를 생성할 수 있다(단계 460). 세이브 액션(save action)의 결과로서, 타겟 장치에 의해 이용될 코드가 생성되거나 직렬화될 수 있다. 직렬화 동안 이용되는 폰트 크기는 개발 시스템 디스플레이를 시뮬레이션하는 데 이용되는 비례적인 폰트 크기의 프로그램 등가물인 폰트 크기이다. 그러므로 프로그래밍된 타겟 장치 코드는 타겟 이미지 형태 및 디스플레이된 폰트의 개발 시스템 디스플레이에 비례하여 일관적으로 나타날 것이다. 일 실시예에서, 폰트 크기 변화는 속성 섀도잉(shadowing)에 의해 구현된다. 개발시에, 디스플레이된 폰트는 속성 브라우저 내에 나타난 것과 크기가 다르다. 섀도잉된 폰트 크기는 개발 코드가 직렬화될 때 타겟 장치의 제어 코드에 통합된다.
텍스트를 생성하는 단계(단계 460) 이후 또는 그 단계 동안, 개발 시스템 사용자는 타겟 디지털 장치 또는 타겟 장치의 폼 팩터를 선택적으로 바꿀 수 있다(단계 480). 타겟 장치를 바꾸는 것은, 프로그래머가 새로운 타겟 장치를 위해 생성된 텍스트 정의를 이용할 수 있게 한다. 폼 팩터를 바꾸는 것은, 프로그래머가 한 장치 유형 내에서 다른 디스플레이 해상도를 선택할 수 있게 한다. 어느 유형의 수정이든 같은 장치 상의 디스플레이 해상도들 간의 텍스트 정의 재사용 또는 서로 다른 장치들 사이의 텍스트 정의를 허용한다. 텍스트 디자인 재사용에 대해서도 이러한 옵션들이 허용된다.
예시적인 컴퓨팅 환경
도 5 및 다음의 설명은 본 발명의 실시예가 구현될 수 있는 적절한 컴퓨팅 환경의 간략하고 일반적인 설명을 제공하기 위한 것이다. 범용 컴퓨터가 다음에 설명되어 있지만, 이는 하나의 단일 프로세서 예일 뿐, 다수의 프로세서들을 이용하는 본 발명의 실시예들도 네트워크/버스 상호동작가능성 및 상호작용을 갖는 클라이언트와 같은 다른 컴퓨팅 장치들에 구현될 수 있다. 그러므로, 본 발명의 실시예는 매우 작은 또는 최소형 클라이언트 자원이 포함된 네트워킹된 호스팅된 서비스의 환경, 예를 들어, 가전제품에 위치된 오브젝트(object), 또는 다른 컴퓨팅 장치 및 오브젝트들과 같은 클라이언트 장치가 단지 네트워크/버스와의 인터페이스로서 동작하는 네트워킹된 환경에서도 구현될 수 있다. 본질적으로, 데이터가 저장될 수 있거나 데이터가 검색될 수 있는 어떤 곳이나 바람직하거나 적절한 운영 환경이다.
요구되는 것은 아니지만, 또한 본 발명의 실시예는 장치 또는 오브젝트에 대한 서비스 개발자에 의해 이용되기 위해 운영 시스템을 통해 구현되고/되거나 애플리케이션 소프트웨어에 포함될 수도 있다. 소프트웨어는 클라이언트 워크스테이션, 서버 또는 다른 장치들과 같은 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 문맥으로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 전형적으로, 프로그램 모듈의 기능은 다양한 실시예에서 바람직하게 조합되거나 분산될 수 있다. 또한, 당업자들은 본 발명의 다양한 실시예가 다른 컴퓨터 구성들에서도 구현될 수 있다는 것을 인식할 것이다. 이용하기 적절할 수 있는 다른 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성들에는 개인용 컴퓨터, 자동화 금전출납기, 서버 컴퓨터, 핸드헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그래밍가능 전자제품, 네트워크 PC, 가전제품, 빛, 환경 제어 구성요소, 미니컴퓨터, 메인프레임 컴퓨터 등이 포함되지만, 이에만 한정되는 것은 아니다. 또한 본 발명의 실시예는, 태스크가 통신 네트워크/버스 또는 다른 데이터 전송 매체를 통해 링크된 원격 프로세싱 장치에 의해 수행되는 분산형 컴퓨팅 환경에서도 구현될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체에 위치될 수 있으며, 클라이언트 노드는 다음에 서버 노드로 동작할 수 있다.
이에 따라, 도 5는 본 발명의 실시예들이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(500)의 예를 예시하며, 명백하게 전술되었지만, 컴퓨팅 시스템 환경(500)은 단지 적절한 컴퓨팅 환경의 일 예일 뿐이며, 본 발명의 실시예의 이용 또는 기능에 대한 영역에 어떤 제한을 가하기 위한 것은 아니다. 컴퓨팅 환경(500)은 예시적인 운영 환경(500)에 예시된 임의의 하나의 컴포넌트 또는 그들의 조합에 관련된 임의의 종속성 또는 요구사항을 갖는 것으로 해석되어서는 안된다.
도 5를 참조하면, 본 발명의 실시예를 구현하기 위한 예시적인 시스템은 컴퓨터 시스템(510) 형태의 범용 컴퓨팅 장치를 포함한다. 컴퓨터 시스템(510)의 컴포넌트들에는 프로세싱 유닛(520), 시스템 메모리(530), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 프로세싱 유닛(520)에 연결시키는 시스템 버스(521)가 포함될 수 있지만, 이에만 한정되는 것은 아니다. 시스템 버스(521)는 메모리 버스 또는 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍처 중의 임의의 것을 이용하는 국부 버스를 포함하는 몇 가지 유형의 버스 구조 중의 임의의 것일 수 있다. 예로서, 이러한 아키텍처는 산업 표준 아키텍처(ISA) 버스, 마이크로 채널 아키텍처(MCA) 버스, 인핸스드 ISA(Enhanced ISA; EISA) 버스, 비디오 일렉트로닉스 표준 어소시에이션(VESA) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려진 주변 컴포넌트 상호접속(PCI) 버스를 포함하지만, 이에만 한정되는 것은 아니다.
컴퓨터 시스템(510)은 전형적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터 시스템(510)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 둘다 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 한정되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 둘다 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래쉬 메모리 또는 다른 메모리 기술, CD-ROM, CDRW, DVD 또는 다른 광 디스크 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 장치, 또는 컴퓨터 시스템(510)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 이용될 수 있는 임의의 다른 매체를 포함하지만, 이에만 한정되지 않는다. 통신 매체는 전형적으로 반송파 또는 다른 전송 메커니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하도록 하나 또는 그 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 다른 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다. 상술한 것들의 임의의 것들의 조합도 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(530)는 ROM(531) 및 RAM(532) 등의 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함한다. 시동중과 같은 때에 컴퓨터 시스템(510) 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(533; BIOS)은 일반적으로 ROM(531)에 저장된다. RAM(532)은 전형적으로 프로세싱 유닛(520)에 즉시 액세스할 수 있고 및/또는 프로세싱 유닛(520)에 의해 현재 작동되는 프로그램 모듈 및/또는 데이터를 포함한다. 예로서, (한정하고자 하는 것은 아님) 도 5는 오퍼레이팅 시스템(534), 애플리케이션 프로그램(535), 다른 프로그램 모듈(536), 및 프로그램 데이터(537)를 예시한다.
컴퓨터 시스템(510)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 단지 예로서, 도 5에는 비분리형 비휘발성 자기 매체로부터 판독하거나 그 자기 매체에 기록하는 하드 디스크 드라이브(541), 분리형 비휘발성 자기 디스크(552)로부터 판독하거나 그 자기 디스크에 기록하는 자기 디스크 드라이브(551), 및 CD-ROM, CDRW, DVD 또는 다른 광 매체 등의 분리형 비휘발성 광 디스크(556)로부터 판독하거나 그 광 디스크에 기록하는 광 디스크 드라이브(555)가 예시되어 있다. 예시적인 운영 환경에서 이용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등을 포함하지만 이에 한정되지 않는다. 하드 디스크 드라이브(541)는 일반적으로 인터페이스(540)와 같은 비분리형 메모리 인터페이스를 통해 시스템 버스(521)에 접속되고, 자기 디스크 드라이브(551) 및 광 디스크 드라이브(555)는 전형적으로 인터페이스(550)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(521)에 접속된다.
전술되고 도 5에 예시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터 시스템(510)을 위한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 다른 데이터의 저장을 제공한다. 도 5에서, 예를 들어, 하드 디스크 드라이브(541)는 오퍼레이팅 시스템(544), 애플리케이션 프로그램(545), 다른 프로그램 모듈(546), 및 프로그램 데이터(547)를 저장하는 것으로 예시된다. 이들 컴포넌트는 오퍼레이팅 시스템(534), 애플리케이션 프로그램(535), 다른 프로그램 모듈(536), 및 프로그램 데이터(537)와 같을 수도 있고 다를 수도 있다. 오퍼레이팅 시스템(544), 애플리케이션 프로그램(545), 다른 프로그램 모듈(546), 및 프로그램 데이터(547)는 최소한 다른 복사본임을 나타내기 위하여 다른 번호를 부여하였다. 사용자는 일반적으로 마우스, 트랙볼, 또는 터치 패드라 불리는 포인팅 장치(561) 및 키보드(562)와 같은 입력 장치를 통해 컴퓨터 시스템(510)에 명령 및 정보를 입력할 수 있다. (도시되지 않은) 다른 입력 장치는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이들 입력 장치 및 그외의 입력 장치는 시스템 버스(521)에 연결된 사용자 입력 인터페이스(560)를 통해 종종 프로세싱 유닛(520)에 접속되지만, 병렬 포트, 게임 포트 또는 유니버설 시리얼 버스(USB)와 같은 다른 인터페이스 및 버스 구조에 의해 접속될 수 있다. 모니터(591) 또는 다른 유형의 디스플레이 장치는 또한 다음에 (도시되지 않은) 비디오 메모리와 통신할 수 있는 비디오 인터페이스(590) 등의 인터페이스를 통해 시스템 버스(521)에 접속된다. 모니터(591) 외에도, 컴퓨터는 또한 출력 주변 인터페이스(595)를 통해 접속될 수 있는 스피커(597) 및 프린터(596) 등의 다른 주변 출력 장치를 포함할 수 있다.
컴퓨터 시스템(510)은 원격 컴퓨터(580)와 같은 하나 이상의 원격 컴퓨터로 의 논리적 접속을 이용한 네트워킹된 또는 분산형 환경에서 동작할 수 있다. 원격 컴퓨터(580)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 장치, 또는 다른 일반 네트워크 노드일 수 있으며, 비록 도 5에는 메모리 저장 장치(581)만이 예시되어 있지만, 컴퓨터 시스템(510)에 관하여 상술한 구성요소 중 다수 또는 모든 구성요소를 전형적으로 포함한다. 도 5에 도시된 논리적 접속은 LAN(571) 및 WAN(573)을 포함하지만, 다른 네트워크/버스를 포함할 수도 있다. 이러한 네트워크 환경은 집, 사무실, 기업 광역 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.
LAN 네트워킹 환경에서 이용되는 경우, 컴퓨터 시스템(510)은 네트워크 인터페이스 또는 어댑터(570)를 통해 LAN(571)에 접속된다. WAN 네트워크 환경에서 이용되는 경우, 컴퓨터 시스템(510)은 전형적으로 인터넷 등의 WAN(573)을 통해 통신을 구축하기 위한 모뎀(572) 또는 다른 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(572)은 사용자 입력 인터페이스(560) 또는 다른 적절한 메커니즘을 통해 시스템 버스(521)에 접속될 수 있다. 네트워킹된 환경에서, 컴퓨터 시스템(510)에 관하여 도시된 프로그램 모듈 또는 그 일부분은 원격 메모리 저장 장치에 저장될 수 있다. 예로서 (한정하고자 하는 것은 아님), 도 5는 메모리 장치(581)에 상주하는 원격 애플리케이션 프로그램(585)을 예시한다. 도시된 네트워크 접속은 예시적인 것이며, 컴퓨터들간의 통신 링크를 구축하는 그 외의 수단이 이용될 수 있다고 이해될 것이다.
다양한 분산형 컴퓨팅 프레임워크들은 개인용 컴퓨팅 및 인터넷의 집중도를 반영하며 개발되어왔다. 컴퓨팅 활동들을 점차 웹 브라우저 또는 네트워크 지향적으로 만드는, 애플리케이션 및 컴퓨팅 장치에 대한 상호동작가능하고 웹 인에이블링된(Web-enabled) 인터페이스가 개인 및 비지니스 사용자들과 같은 이들에게 균일하게 제공된다.
예를 들어, 마이크로소프트사의 MICROSOFT®.NET™ 플랫폼은 서버, 웹기반 데이터 저장소와 같은 빌딩 블럭 서비스(building-block service), 및 다운로드가능 장치 소프트웨어를 포함한다. 본원의 실시예들이 컴퓨팅 장치에 상주하는 소프트웨어에 관련하여 설명되지만, 본 발명의 실시예의 하나 이상의 부분들은 또한 오퍼레이팅 시스템, 애플리케이션 프로그래밍 인터페이스(API) 또는 임의의 공동프로세서(coprocessor) 간의 "미들맨(middle man)" 오브젝트, 디스플레이 장치 및 요청 오브젝트를 통해 구현될 수 있고, 그에 따라 동작은 모든 .NET™ 언어 및 서비스에 의해 수행되거나 지원되거나 액세스될 수 있으며, 다른 분산형 컴퓨팅 프레임워크에 대해서도 그러하다.
전술된 바와 같이, 본 발명의 실시예들은 다양한 컴퓨팅 장치 및 네트워크 아키텍처에 관련하여 설명되었으며, 기본 개념들은 고레벨 핸드헬드 장치 시뮬레이션을 구현하기에 바람직한 임의의 컴퓨팅 장치 또는 시스템에 적용될 수 있다. 그러므로, 본 발명의 실시예에 관련하여 설명된 방법 및 시스템은 다양한 응용 및 장치에 적용될 수 있다. 본원에서 예시적인 프로그래밍 언어, 이름 및 예들은 다양한 선택에 대한 표현으로서 선택되지만, 이러한 언어, 이름 및 예들은 본 발명을 제한하기 위한 것은 아니다. 당업자들은 본 발명의 실시예들에 의해 달성되는 시 스템 및 방법들과 동일한, 유사한 또는 등가의 시스템 및 방법들을 달성하는 목적 코드를 제공하는 수많은 방식이 있음을 인식할 것이다.
본원에 설명된 다양한 기술들은 하드웨어나 소프트웨어, 또는 (적절한 때에) 그 둘의 조합에 관련하여 구현될 수 있다. 그러므로, 본 발명의 방법 및 장치 또는 그것의 특정 양태, 또는 그 일부분은 플로피 디스켓, CD-ROM, 하드 드라이브 또는 임의의 다른 기기 판독가능 저장 매체와 같은 유형 매체로 구현된 프로그램 코드(즉, 명령어)의 형태를 취할 수 있으며, 여기서 프로그램 코드가 컴퓨터와 같은 기기에 로드되고 그것에 의해 실행될 때, 기기는 본 발명의 구현하기 위한 장치가 된다. 프로그래밍가능 컴퓨터 상의 프로그램 코드 실행의 경우에, 컴퓨팅 장치는 일반적으로 프로세서, 프로세서에 의해 판독가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 구성요소를 포함), 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치를 포함할 것이다. 예를 들어, 데이터 프로세싱 API 등을 이용하여 본 발명의 실시예의 신호 프로세싱 서비스를 이용할 수 있는 하나 이상의 프로그램들은, 컴퓨터와 통신하기 위해 고레벨 절차(procedural) 또는 객체 지향 프로그래밍 언어로 구현되는 것이 바람직하다. 그러나, 프로그램(들)은 (원해진 경우) 어셈블리 또는 기계 언어로 구현될 수 있다. 임의의 경우, 언어는 컴파일링된 또는 인터프리팅된 언어일 수 있으며, 하드웨어 구현에 조합될 수도 있다.
본 발명의 양태들이 다양한 특징들의 바람직한 실시예들에 관련하여 설명되었지만, 다른 유사한 실시예들이 이용되거나, 본 발명을 벗어나지 않으면서 본 발명과 동일한 기능을 수행하기 위한 설명된 실시예들에 대한 수정물 및 추가물들이 만들어질 수 있음을 이해해야 한다. 또한, 핸드헬드 장치 오퍼레이팅 시스템 및 다른 애플리케이션 특정 오퍼레이팅 시스템을 포함하는 다양한 컴퓨터 플랫폼들이 의도될 수 있으며, 특히 수많은 무선 네트워킹된 장치들에 계속 확장될 수 있다. 그러므로, 주장되는 본 발명은 임의의 단일 실시예에 한정되기보다 첨부된 청구항에 따른 범위 및 영역에 구조되어야 한다.
본 발명은 타겟 디지털 장치에서 동작하도록 설계된 소프트웨어를 만들기 위한 비주얼 프로그래밍 환경을 제공한다.

Claims (20)

  1. 타겟 디지털 장치(target digital device)의 디스플레이 시뮬레이션을, 다른 해상도를 갖는 디스플레이 상에 렌더링(rendering)하는 방법에 있어서,
    개발 시스템 디스플레이의 해상도와 다른 디스플레이 해상도를 갖는 제1 타겟 디지털 장치를 선택하는 단계;
    상기 개발 시스템 디스플레이 상에, 상기 선택된 제1 타겟 디지털 장치의 이미지 형태(image form)를 디스플레이하는 단계;
    상기 제1 타겟 디지털 장치를 나타내는 제1 폼 팩터(form factor)를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제1 타겟 디지털 장치의 디스플레이 상에 디스플레이되는 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제1 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 포함하는 렌더링 방법.
  2. 제1항에 있어서,
    상기 제1 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제1 타겟 디지털 장치에 대한 코드를 생성하는 단계 - 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 제어함 -
    를 더 포함하는 렌더링 방법.
  3. 제1항에 있어서,
    상기 제1 타겟 디지털 장치에 대한 제2 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제1 타겟 디지털 장치의 디스플레이 상에 디스플레이되는 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제2 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 더 포함하는 렌더링 방법.
  4. 제3항에 있어서,
    상기 제1 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제1 타겟 디지털 장치에 대한 코드를 생성하는 단계 - 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 제어함 -
    를 더 포함하는 렌더링 방법.
  5. 제1항에 있어서,
    상기 개발 시스템 디스플레이의 해상도와 다른 디스플레이 해상도를 갖는 제2 타겟 디지털 장치를 선택하는 단계;
    상기 제2 타겟 디지털 장치에 대한 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제2 타겟 디지털 장치의 디스플레이 상에 디스플레이되는 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제2 타겟 디지털 장치에 대한 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 더 포함하는 렌더링 방법.
  6. 제5항에 있어서,
    상기 제2 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제2 타겟 디지털 장치에 대한 코드를 생성하는 단계 - 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 제어함 -
    를 더 포함하는 렌더링 방법.
  7. 제1항에 있어서, 상기 제1 타겟 디지털 장치는 상기 개발 시스템 디스플레이의 디스플레이 해상도보다 높은 디스플레이 해상도를 갖는, 렌더링 방법.
  8. 제1항에 있어서, 상기 제1 타겟 디지털 장치는 상기 개발 시스템 디스플레이의 디스플레이 해상도보다 낮은 디스플레이 해상도를 갖는, 렌더링 방법.
  9. 하나 이상의 타겟 장치의 개발을 위한 컴퓨터 시스템으로서,
    타겟 장치를 보기 위한 디스플레이;
    적어도 하나의 타겟 장치 이미지를 갖는 메모리 저장소;
    명령어들을 갖는 컴퓨터 메모리로의 액세스를 갖는 프로세서
    를 포함하며,
    상기 명령어들은, 실행될 때,
    개발 시스템 디스플레이의 해상도와 다른 디스플레이 해상도를 갖는 제1 타겟 디지털 장치를 선택하는 단계;
    상기 개발 시스템 디스플레이 상에, 선택된 상기 제1 타겟 디지털 장치의 이미지 형태를 디스플레이하는 단계;
    상기 제1 타겟 디지털 장치를 나타내는 제1 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제1 타겟 디지털 장치의 디스플레이 상에 디스플레이되는 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제1 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 포함하는 방법을 수행하는, 컴퓨터 시스템.
  10. 제9항에 있어서, 상기 방법은,
    상기 제1 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제1 타겟 디지털 장치에 대한 코드를 생성하는 단계 - 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 제어함 -
    를 더 포함하는 컴퓨터 시스템.
  11. 제9항에 있어서, 상기 방법은,
    상기 제1 타겟 디지털 장치에 대한 제2 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제1 타겟 디지털 장치의 디스플레이 상에 디스플레이될 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제2 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 더 포함하는 컴퓨터 시스템.
  12. 제9항에 있어서, 상기 방법은,
    상기 개발 시스템 디스플레이의 해상도와 다른 디스플레이 해상도를 갖는 제2 타겟 디지털 장치를 선택하는 단계;
    상기 제2 타겟 디지털 장치에 대한 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제2 타겟 디지털 장치의 디스플레이 상에 디스플레이될 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제2 타겟 디지털 장치에 대한 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 더 포함하는 컴퓨터 시스템.
  13. 제12항에 있어서, 상기 방법은,
    상기 제2 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제2 타겟 디지털 장치에 대한 코드를 생성하는 단계 - 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 제어함 -
    를 더 포함하는 컴퓨터 시스템.
  14. 타겟 디지털 장치의 시뮬레이션을, 다른 해상도를 갖는 디스플레이 상에 디스플레이하는 방법을 수행하기 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 기록 매체에 있어서, 상기 방법은,
    개발 시스템 디스플레이의 해상도와 다른 디스플레이 해상도를 갖는 제1 타겟 디지털 장치를 선택하는 단계;
    상기 개발 시스템 디스플레이 상에, 상기 선택된 제1 타겟 디지털 장치의 이미지 형태를 디스플레이하는 단계;
    상기 제1 타겟 디지털 장치를 나타내는 제1 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제1 타겟 디지털 장치의 디스플레이 상에 디스플레이되는 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제1 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 포함하는 컴퓨터 판독가능 기록 매체.
  15. 제14항에 있어서, 상기 방법은,
    상기 제1 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제1 타겟 디지털 장치의 고해상도 디스플레이에 대한 코드를 생성하는 단계- 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 가짐 -
    를 더 포함하는 컴퓨터 판독가능 기록 매체.
  16. 제14항에 있어서, 상기 방법은,
    상기 제1 타겟 디지털 장치에 대한 제2 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제1 타겟 디지털 장치의 디스플레이 상에 디스플레이될 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제2 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 더 포함하는 컴퓨터 판독가능 기록 매체.
  17. 제16항에 있어서, 상기 방법은,
    상기 제1 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제1 타겟 디지털 장치의 고해상도 디스플레이에 대한 코드를 생성하는 단계- 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 제어함 -
    를 더 포함하는 컴퓨터 판독가능 기록 매체.
  18. 제14항에 있어서, 상기 방법은,
    상기 개발 시스템 디스플레이의 해상도와 다른 디스플레이 해상도를 갖는 제2 타겟 디지털 장치를 선택하는 단계;
    상기 제2 타겟 디지털 장치에 대한 폼 팩터를 선택하는 단계; 및
    상기 개발 시스템 디스플레이에 의해 렌더링되는 텍스트가 상기 제2 타겟 디지털 장치의 디스플레이 상에 디스플레이될 경우의 상기 텍스트의 크기에 비례하여 나타나도록, 상기 제2 타겟 디지털 장치에 대한 폼 팩터에 따라 상기 이미지 형태의 디스플레이되는 크기를 조정하는 단계
    를 더 포함하는 컴퓨터 판독가능 기록 매체.
  19. 제18항에 있어서, 상기 방법은,
    상기 제2 타겟 디지털 장치 상에 디스플레이될 텍스트를 생성하는 단계; 및
    상기 제2 타겟 디지털 장치에 대한 코드를 생성하는 단계 - 상기 생성된 코드는, 상기 텍스트를 렌더링할 폰트 크기를, 상기 이미지 형태에 관련하여 상기 개발 시스템 디스플레이 상에 디스플레이되는 것에 비례하게 제어함 -
    를 더 포함하는 컴퓨터 판독가능 기록 매체.
  20. 제14항에 있어서, 상기 제1 타겟 디지털 장치는 상기 개발 시스템 디스플레이의 디스플레이 해상도보다 높은 디스플레이 해상도 및 상기 개발 시스템 디스플레이의 디스플레이 해상도보다 낮은 디스플레이 해상도 중 하나를 갖는, 컴퓨터 판독가능 기록 매체.
KR1020050121545A 2005-01-31 2005-12-12 다른 해상도를 갖는 디스플레이 상에 타겟 디지털 장치의디스플레이 시뮬레이션을 렌더링하는 방법, 시스템 및 매체 KR101159359B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/047,455 US7689908B2 (en) 2005-01-31 2005-01-31 Method and system for a target device display simulation
US11/047,455 2005-01-31

Publications (2)

Publication Number Publication Date
KR20060088010A KR20060088010A (ko) 2006-08-03
KR101159359B1 true KR101159359B1 (ko) 2012-07-03

Family

ID=35852126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050121545A KR101159359B1 (ko) 2005-01-31 2005-12-12 다른 해상도를 갖는 디스플레이 상에 타겟 디지털 장치의디스플레이 시뮬레이션을 렌더링하는 방법, 시스템 및 매체

Country Status (7)

Country Link
US (1) US7689908B2 (ko)
EP (1) EP1686461B1 (ko)
JP (1) JP5441294B2 (ko)
KR (1) KR101159359B1 (ko)
CN (1) CN1815439B (ko)
AT (1) ATE437397T1 (ko)
DE (1) DE602005015539D1 (ko)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8701015B2 (en) * 2008-03-26 2014-04-15 Pierre Bonnat Method and system for providing a user interface that enables control of a device via respiratory and/or tactual input
US9116544B2 (en) * 2008-03-26 2015-08-25 Pierre Bonnat Method and system for interfacing with an electronic device via respiratory and/or tactual input
WO2000048066A1 (fr) * 1999-02-12 2000-08-17 Pierre Bonnat Procede et dispositif de commande d'un systeme electronique ou informatique au moyen d'un flux de fluide
DK1691278T3 (da) * 2005-02-11 2008-07-28 Sap Ag Fremgangsmåde og system til redigering af dokumenter
WO2006100540A1 (en) * 2005-03-23 2006-09-28 Nokia Corporation Method and mobile terminal device for mapping a virtual user input interface to a physical user input interface
CA2604449C (en) * 2005-04-18 2012-10-02 Research In Motion Limited A system and method for flexible visual representation of presentation components
US7487118B2 (en) * 2005-05-06 2009-02-03 Crutchfield Corporation System and method of image display simulation
US20070118821A1 (en) * 2005-11-18 2007-05-24 Sun Microsystems, Inc. Displaying consumer device graphics using scalable vector graphics
US20070203682A1 (en) * 2006-02-28 2007-08-30 Microsoft Corporation External display simulator
TWI308723B (en) * 2006-07-21 2009-04-11 Sunplus Technology Co Ltd System for simulating mobile phone and method thereof
US20080127037A1 (en) * 2006-10-16 2008-05-29 Prashanth Kadur System and method for detecting software on a computing device
US20080127036A1 (en) * 2006-10-16 2008-05-29 Prashanth Kadur Application development tool and related methods
EP1939714A1 (en) * 2006-12-27 2008-07-02 Research In Motion Limited Method for presenting data on a small screen
TWI407425B (zh) * 2007-06-21 2013-09-01 Realtek Semiconductor Corp 產生使用者介面相關之一物件屬性的方法
US8013805B2 (en) * 2007-08-08 2011-09-06 International Business Machines Corporation Automatic adjustment of display settings for remote viewing by an administrator
US20090157867A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation System and method for real-time graphic monitoring of differing graphics resolutions using a single graphics buffer
US9367166B1 (en) * 2007-12-21 2016-06-14 Cypress Semiconductor Corporation System and method of visualizing capacitance sensing system operation
US9094632B2 (en) * 2008-12-03 2015-07-28 Measureout, Llc Displaying objects with certain visual effects
US20100250903A1 (en) * 2009-03-26 2010-09-30 Celio Technology Corporation Apparatuses and systems including a software application adaptation layer and methods of operating a data processing apparatus with a software adaptation layer
US20100321395A1 (en) * 2009-06-18 2010-12-23 Apple Inc. Display simulation system and method
CN101741954B (zh) * 2009-12-18 2012-07-18 中兴通讯股份有限公司 一种移动终端以及动态调整菜单栏软键显示的方法
US8589015B2 (en) * 2010-02-12 2013-11-19 Webtech Wireless Inc. Vehicle sensor calibration for determining vehicle dynamics
US9043041B2 (en) * 2010-02-12 2015-05-26 Webtech Wireless Inc. Monitoring aggressive driving operation of a mobile asset
US20120017172A1 (en) * 2010-07-15 2012-01-19 Microsoft Corporation Display-agnostic user interface for mobile devices
US8531487B2 (en) * 2010-08-24 2013-09-10 Adobe Systems Incorporated Software for displays with different pixel densities
US8843358B2 (en) * 2011-02-03 2014-09-23 Echostar Technologies L.L.C. Apparatus, systems and methods for presenting displayed image information of a mobile media device on a large display and control of the mobile media device therefrom
US9189228B2 (en) 2011-07-01 2015-11-17 Adobe Systems Incorporated Systems and methods for developing and testing electronic content using multiple devices
US8933971B2 (en) 2011-09-12 2015-01-13 Microsoft Corporation Scale factors for visual presentations
US9142192B2 (en) * 2011-09-26 2015-09-22 Intel Corporation Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same
US8819624B2 (en) * 2011-09-26 2014-08-26 Intel Corporation Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same
US9122442B2 (en) * 2011-11-11 2015-09-01 Rockwell Automation Technologies, Inc. Systems and methods for scaling visualizations
US9990509B2 (en) 2011-11-11 2018-06-05 Rockwell Automation Technologies, Inc. Systems and methods for error detection and diagnostics visualization
EP2798533A4 (en) * 2011-12-30 2015-09-23 Intel Corp APPARATUSES AND METHODS FOR WEB APPLICATION CONVERSION SYSTEMS
US9449126B1 (en) * 2012-06-01 2016-09-20 Inkling Systems, Inc. System and method for displaying content according to a target format for presentation on a target presentation device
US9519624B1 (en) 2013-02-05 2016-12-13 Inkling Systems, Inc. Displaying previews of content items for electronic works in a target rendering environment
US10152459B2 (en) * 2013-02-20 2018-12-11 Google Llc Intelligent window placement with multiple windows using high DPI screens
CN103280208B (zh) * 2013-06-07 2015-12-09 珠海金山办公软件有限公司 一种自动调整文字显示大小的方法及装置
US10268666B2 (en) * 2013-10-30 2019-04-23 Rockwell Automation Technologies, Inc. Industrial automation workstation and display method for scaling and displaying text destined for a target industrial automation device
CN103577193A (zh) * 2013-11-13 2014-02-12 北京像素软件科技股份有限公司 一种界面显示方法及装置
CN103838477A (zh) * 2014-03-05 2014-06-04 天闻数媒科技(北京)有限公司 模拟器文本显示方法和装置
US9996898B2 (en) 2014-05-30 2018-06-12 International Business Machines Corporation Flexible control in resizing of visual displays
AU2015384100B2 (en) * 2015-02-26 2018-11-29 Huawei Technologies Co., Ltd. DPI adaptation method and electronic device
US10402035B1 (en) 2015-07-29 2019-09-03 Intuit Inc. Content-driven orchestration of multiple rendering components in user interfaces of electronic devices
US10802660B1 (en) * 2015-07-29 2020-10-13 Intuit Inc. Metadata-driven binding of platform-agnostic content to platform-specific user-interface elements
US10732782B1 (en) 2015-07-29 2020-08-04 Intuit Inc. Context-aware component styling in user interfaces of electronic devices
US10825134B2 (en) * 2018-03-29 2020-11-03 Owned Outcomes Inc. System and method for scaling content across multiple form factors
EP3716037A1 (en) * 2019-03-28 2020-09-30 ABB Schweiz AG Responsive auto-layouting of industrial process graphics
FR3110995A1 (fr) * 2020-05-27 2021-12-03 Orange Procédé d’affichage d’une interface graphique d’un équipement source sur un équipement récepteur.
CN111984351B (zh) * 2020-08-07 2024-05-03 中移(杭州)信息技术有限公司 页面适配方法、电子设备、计算机可读存储介质
CN113821278B (zh) * 2021-09-06 2024-05-03 挂号网(杭州)科技有限公司 调用图像尺寸方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040027377A1 (en) 2002-08-06 2004-02-12 Grace Hays User interface design and validation including dynamic data
US20040177323A1 (en) 2001-05-02 2004-09-09 Kaasila Sampo J. Methods and systems for displaying media in a scaled manner and/or orientation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4631691A (en) * 1984-05-14 1986-12-23 Rca Corporation Video display device simulation apparatus and method
US5426594A (en) * 1993-04-02 1995-06-20 Motorola, Inc. Electronic greeting card store and communication system
US6069622A (en) * 1996-03-08 2000-05-30 Microsoft Corporation Method and system for generating comic panels
US6252607B1 (en) * 1998-07-27 2001-06-26 Attachmate Corporation Method and system for character spacing in graphics terminal emulation
JP2001159967A (ja) * 1999-12-03 2001-06-12 Hitachi Ltd 画面解像度によるウィンドウサイズの調整方法
US20020087300A1 (en) * 2001-01-04 2002-07-04 Srinivas Patwari Method of interactive image creation for device emulator
US20020089549A1 (en) * 2001-01-09 2002-07-11 Munro James A. Image having a hierarchical structure
JP2002268867A (ja) * 2001-03-13 2002-09-20 Sony Corp 表示装置及び表示方法、プログラム記録媒体並びにプログラム
US20030156131A1 (en) * 2002-02-21 2003-08-21 Samir Khazaka Method and apparatus for emulating a mobile device
US20040027378A1 (en) * 2002-08-06 2004-02-12 Hays Grace L. Creation of user interfaces for multiple devices
US20040027326A1 (en) * 2002-08-06 2004-02-12 Grace Hays System for and method of developing a common user interface for mobile applications
US7385615B2 (en) * 2002-10-21 2008-06-10 Microsoft Corporation System and method for scaling images to fit a screen on a mobile device according to a non-linear scale factor
JP3953413B2 (ja) 2002-12-10 2007-08-08 富士通株式会社 ホスト端末エミュレータ及びエミュレータ画面表示方法
JP2005038263A (ja) * 2003-07-16 2005-02-10 Canon Inc 画像処理装置、画像処理方法、記録媒体及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177323A1 (en) 2001-05-02 2004-09-09 Kaasila Sampo J. Methods and systems for displaying media in a scaled manner and/or orientation
US20040027377A1 (en) 2002-08-06 2004-02-12 Grace Hays User interface design and validation including dynamic data

Also Published As

Publication number Publication date
US7689908B2 (en) 2010-03-30
EP1686461A3 (en) 2007-11-21
ATE437397T1 (de) 2009-08-15
CN1815439A (zh) 2006-08-09
CN1815439B (zh) 2011-03-16
KR20060088010A (ko) 2006-08-03
JP5441294B2 (ja) 2014-03-12
EP1686461B1 (en) 2009-07-22
EP1686461A2 (en) 2006-08-02
JP2006209114A (ja) 2006-08-10
US20060174217A1 (en) 2006-08-03
DE602005015539D1 (de) 2009-09-03

Similar Documents

Publication Publication Date Title
KR101159359B1 (ko) 다른 해상도를 갖는 디스플레이 상에 타겟 디지털 장치의디스플레이 시뮬레이션을 렌더링하는 방법, 시스템 및 매체
US10026211B2 (en) Hardware-accelerated graphics for web applications using native code modules
US7398474B2 (en) Method and system for a digital device menu editor
US10026147B1 (en) Graphics scenegraph rendering for web applications using native code modules
US6802055B2 (en) Capturing graphics primitives associated with any display object rendered to a graphical user interface
US7400322B1 (en) Viewport-based desktop rendering engine
US8819630B2 (en) Automatic test tool for webpage design with micro-browsers on mobile platforms
CA2925015C (en) System and method for testing data representation for different mobile devices
US20130179764A1 (en) Custom browser-side spreadsheet functions
US20070130519A1 (en) Arbitrary rendering of visual elements on a code editor
US20140223414A1 (en) Paige control for enterprise mobile applications
KR101331337B1 (ko) 그래픽 파이프를 사용하기 위한 방법 및 컴퓨터 판독가능매체
US20150077433A1 (en) Algorithm for improved zooming in data visualization components
US9508108B1 (en) Hardware-accelerated graphics for user interface elements in web applications
US20180275833A1 (en) System and method for managing and displaying graphical elements
EP1691278B1 (en) Method and computer system for editing documents
Chebanyuk et al. Approach Allowing Design Adaptive View Models
Martinez Interactive visual aid tool for the tridimensional stress state analysis of statically loaded elements

Legal Events

Date Code Title Description
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: 20150515

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 8