KR101524897B1 - 임시 편집 표면을 이용한 문서 편집 - Google Patents

임시 편집 표면을 이용한 문서 편집 Download PDF

Info

Publication number
KR101524897B1
KR101524897B1 KR1020107021155A KR20107021155A KR101524897B1 KR 101524897 B1 KR101524897 B1 KR 101524897B1 KR 1020107021155 A KR1020107021155 A KR 1020107021155A KR 20107021155 A KR20107021155 A KR 20107021155A KR 101524897 B1 KR101524897 B1 KR 101524897B1
Authority
KR
South Korea
Prior art keywords
window
editing surface
editing
document
html
Prior art date
Application number
KR1020107021155A
Other languages
English (en)
Other versions
KR20100135756A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40999566&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101524897(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20100135756A publication Critical patent/KR20100135756A/ko
Application granted granted Critical
Publication of KR101524897B1 publication Critical patent/KR101524897B1/ko

Links

Images

Classifications

    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

임시 편집 표면을 이용하여 문서를 편집하기 위한 기술들이 설명된다. 워드 프로세싱 프로그램은 윈도우 내에 문서를 표시한다. 문서 내의 텍스트의 단락 내의 삽입 포인터의 배치의 검출시, 윈도우 내의 단락 위에 배치되는 편집 표면이 생성되며, 이 편집 표면은 아래 놓인 단락의 내용들을 포함한다. 사용자 입력이 워드 프로세싱 프로그램에 의해 모니터링되는 동안, 내용들의 편집이 편집 표면에 의해 처리된다. 편집이 완료될 때, 편집 표면의 변경된 내용들이 문서 내로 복사되고, 편집 표면이 소멸된다.

Description

임시 편집 표면을 이용한 문서 편집{EDITING A DOCUMENT USING A TRANSITORY EDITING SURFACE}
전통적으로, 워드 프로세싱 애플리케이션들은 로컬 또는 네트워크 기반 파일들에 저장된 문서들에 대한 풍부한 편집 및 포맷팅 기능을 제공하는, 퍼스널 컴퓨터 상에 설치되는 독립형 소프트웨어 프로그램들이었다. 이러한 애플리케이션들은 일반적으로 매우 커서, 설치를 위해 수 메가바이트의 드라이브 공간을 필요로 한다. 그러나, 최근에는, 동일한 독립형 워드 프로세싱 애플리케이션들에 대한 액세스를 갖지 않을 수 있는 원격적으로 다른 사용자들이 문서들을 협력 개발하는 경향이 있으며, 이러한 문서들은 인터넷을 통해 액세스 가능한 원격 네트워크들 상에 저장될 수 있다. 이것은 전통적인 월드 와이드 웹("웹") 브라우저를 통해 전송될 수 있는 워드 프로세싱 프로그램들의 개발로 이어졌으며, 따라서 전통적인 독립형 워드 프로세서를 설치할 필요 없이 사용자들이 원격 문서들을 편집할 수 있게 되었다.
웹 기반 워드 프로세싱 기능을 제공하는 한 가지 방법은 많은 웹 브라우저 프로그램들에서 이용가능한 편집 특징들을 이용하는 웹페이지들을 개발하는 단계를 포함한다. 이 방법은 작고 빠른 이점을 가지며, 매우 적은 개발 노력을 요한다. 그러나, 이러한 웹 브라우저들에 의해 제공되는 제한된 편집 특징들은 일반적으로 전통적인 독립형 워드 프로세서들의 특징이 풍부한 능력들과 비교될 수 있다. 더욱이, 이용 가능한 편집 특징들은 상이한 웹 브라우저 프로그램들 간에 다를 수 있으며, 따라서 모든 웹 브라우저에 걸쳐 일관된 사용자 경험을 제공하는 것을 어렵게 한다.
웹 기반 워드 프로세싱 기능을 제공하는 또 하나의 방법은 선 마이크로시스템즈의 자바, 어도비 시스템즈의 플래시, 또는 비동기 자바스크립트 및 XML("AJAX")과 같은 크로스-브라우저 런타임 기술을 이용하여 브라우저 내에서 실행되는 완전한 워드 프로세싱 프로그램을 구현하는 것이다. 이 방법은 개발자에게 프로그램의 특징들 및 능력들에 대한 완전한 제어를 허가하는 반면, 일반적으로 상당한 개발 노력을 필요로 하며, 사용자에 의해 타이핑된 것과 같은 텍스트의 윈도우 내의 렌더링, 텍스트를 통한 블링킹 커서의 이동 또는 사용자가 타이핑한 윈도우의 내용들의 일정한 리플로우와 같은 저레벨 편집 기능의 구현을 요구한다. 게다가, 워드 프로세싱 프로그램은 브라우저 기반 런타임 기술에서 실행되므로, 종종 실행이 느리며, 적절히 응답하는 사용자 인터페이스를 제공하지 못할 수도 있다.
본 명세서에서 행해지는 개시에서 제공되는 것은 그러한 고려 대상들 및 다른 고려 대상들과 관련된다.
웹 브라우저에서 실행하기 위한 하이브리드 편집 모델 워드 프로세서 프로그램을 구현하기 위한 기술들이 본 명세서에서 설명된다. 구체적으로, 워드 프로세싱 프로그램은 크로스-브라우저 런타임 기술로 구현되며, 전통적인 독립형 워드 프로세서들의 편집 특징에 필적하는 편집 특징들의 풍부한 세트를 제공한다. 그러나, 워드 프로세싱 프로그램은 웹 브라우저에 의해 제공되는 편집 특징들 중 일부를 이용하여, 저레벨 편집 기능을 구현한다. 구체적으로, 워드 프로세싱 프로그램은 웹 브라우저를 이용하여, 텍스트의 개별 블록들 또는 단락들에 대한 사용자의 변경들을 수용하는 편집 표면을 제공한다. 편집 표면은 사용자에게 저레벨 텍스트 편집 특징들을 제공하는 데 필요한 동안에만 작동한다는 점에서 임시적이다.
본 명세서에 제공되는 일 양태에 따르면, 임시 편집 표면을 이용하여 웹 브라우저 내의 문서가 편집될 수 있다. 이와 관련하여, 웹 브라우저에서 실행되는 워드 프로세싱 프로그램이 브라우저 윈도우 내에 문서를 표시한다. 워드 프로세싱 프로그램은 예를 들어 텍스트 내에서의 마우스를 이용한 사용자 클릭킹에 의해 또는 키보드의 네비게이션 키들을 이용하여 단락을 네비게이트함으로써 문서 내의 텍스트의 단락 내의 삽입 포인터의 위치를 검출한다. 삽입 포인터의 위치가 검출될 때, 워드 프로세싱 프로그램은 문서 내의 단락 위에 배치되는 편집 표면을 생성한다. 이것은 동일 장소에 배치되고 아래 있는 단락과 동일한 크기를 갖는 편집 표면 요소를 문서에 추가하면서, 아래 놓인 단락이 보이지 않게 함으로써 달성된다. 일 양태에서, 편집 표면 요소는 하이퍼텍스트 마크업 언어("HTML") IFRAME 요소일 수 있다. 아래 놓인 단락의 내용들은 편집 표면 내로 복사된다.
이어서, 워드 프로세싱 프로그램은 브라우저 윈도우 내의 사용자 입력을 모니터링하여, 소정 입력이 편집 표면에 의해 직접 처리되는 것을 허가하는 반면, 워드 프로세싱 프로그램에 의한 처리를 위해 다른 입력을 인터셉트한다. 일 양태에 따르면, 워드 프로세싱 프로그램은 키보드로부터의 문자, 숫자 및 구두점 키 입력을 편집 표면으로 직접 전달하는 반면, 마우스 클릭들, 또는 페이지 다운 또는 페이지 업과 같은 네비게이션 키들은 인터셉트한다. 편집 표면은 사용자 입력을 처리하여, 사용자가 그 안에 포함된 내용들을 변경하는 것을 가능하게 한다.
워드 프로세싱 프로그램은 편집 표면이 사용자 입력을 처리할 때 편집 표면은 모니터링하여, 편집 표면의 리플로우가 필요한지를 결정한다. 예컨대, 편집 표면 내의 내용에 대한 변경은 브라우저 윈도우 내의 편집 표면의 크기 또는 위치에 대한 변경을 필요로 할 수 있다. 리플로우가 필요한 경우, 편집 표면의 변경된 내용들은 문서 내로 다시 복사되며, 웹 브라우저는 페이지 상에 문서를 다시 렌더링하도록 강제된다. 이어서, 아래 놓인 단락의 새로운 위치 및 크기가 결정되며, 편집 표면은 아래 놓인 단락의 새로운 위치 및 크기에 맞도록 재배치되고, 크기가 조절된다. 편집이 완료된 때, 편집 표면의 변경된 내용들은 문서 내로 다시 복사되고, 편집 표면이 소멸되며, 아래 놓인 단락이 다시 보이게 된다.
전술한 내용은 컴퓨터에 의해 제어되는 장치, 컴퓨터 프로세스, 컴퓨팅 시스템으로서 또는 컴퓨터 판독가능 매체와 같은 제조물로서 구현될 수도 있다는 것을 알아야 한다. 이들 및 다양한 다른 특징들은 아래의 상세한 설명을 읽고 관련 도면들을 검토할 때 명백할 것이다.
본 요약은 아래의 상세한 설명에서 더 설명되는 개념들의 선택을 간단한 형태로 소개하기 위해 제공된다. 본 요약은 청구 발명의 중요한 특징들 또는 필수적인 특징들을 식별하는 것을 의도하지 않으며, 또한 청구 발명의 범위를 제한하는 데 사용되는 것을 의도하지 않는다. 더구나, 청구 발명은 본 명세서의 임의 부분에 기재된 임의의 또는 모든 단점들을 해결하는 구현들로 제한되지 않는다.
도 1은 본 명세서에 제공되는 실시예들에 의해 제공되는 예시적인 동작 환경 및 여러 소프트웨어 컴포넌트의 양태들을 나타내는 네트워크 및 소프트웨어 아키텍처 도면이다.
도 2a-2c는 본 명세서에 설명되는 일 실시예에 따른 임시 편집 표면의 동작의 예시적인 스크린 샷을 나타내는 스크린 도면들이다.
도 3-5는 본 명세서에 설명되는 실시예들에서 제공되는 임시 편집 표면을 제공하는 워드 프로세싱 프로그램의 동작의 양태들을 나타내는 흐름도들이다.
도 6은 본 명세서에 제공되는 실시예들의 양태들을 구현할 수 있는 컴퓨터 시스템에 대한 예시적인 컴퓨터 하드웨어 및 소프트웨어 아키텍처를 나타내는 컴퓨터 아키텍처 도면이다.
아래의 상세한 설명은 브라우저 내의 워드 프로세싱 기능을 제공하기 위한 기술들과 관련된다. 본 명세서에 제공되는 기술들 및 개념들의 이용을 통해, 텍스트의 편집을 관리하는 저레벨 상세들을 구현하는 것을 필요로 하지 않고, 전통적인 독립형 워드 프로세싱 프로그램들의 경험과 유사한 특징이 풍부한 워드 프로세싱 경험을 제공하는 워드 프로세싱 프로그램이 브라우저 내에 구현될 수 있다. 이것은 완전한, 맞춤 개발된 워드 프로세싱 프로그램과 웹 브라우저의 내용 편집 특징들 사이의 하이브리드를 구현함으로써 달성된다. 워드 프로세싱 프로그램은 고레벨 워드 프로세싱 기능을 제공하는 반면, 웹 브라우저의 편집 특징들은 사용자에 의해 타이핑된 텍스트의 윈도우 내의 렌더링, 텍스트를 통한 블링킹 커서의 이동, 또는 사용자가 타이핑한 윈도우의 내용들의 일정한 리플로우와 같은 저레벨 텍스트 편집 기능들을 수행하는 데 사용된다. 웹 브라우저의 편집 특징들은 편집되는 문서의 내용들 대신에 편집 표면을 윈도우 내에 임시로 배치하는 데 사용된다. 편집 가능한 표면은 필요한 동안에만 보이고 활성으로 유지된다는 점에서 임시 표면이다. 내용들의 편집이 완료되면, 편집 표면은 소멸되고, 변경된 문서가 사용자에게 표시된다.
본 명세서에 설명되는 내용은 일반적으로 컴퓨터 시스템에서의 운영 체제 및 애플리케이션 프로그램들의 실행과 관련하여 실행되는 프로그램 모듈과 관련하여 제공되지만, 이 분야의 전문가들은 다른 구현들이 다른 유형의 프로그램 모듈과 결합하여 수행될 수 있다는 것을 인식할 것이다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 및 기타 유형의 구조들을 포함한다. 더욱이, 이 분야의 전문가들은 본 명세서에 설명되는 내용이 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 가전제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성들을 이용하여 실시될 수 있다는 것을 알 것이다.
아래의 상세한 설명에서는, 그 일부를 형성하고, 특정 구현들 또는 예들을 예시적으로 도시하는 첨부 도면들을 참조한다. 이제, 여러 도면을 통해 동일 번호들이 동일 요소들을 나타내는 도면들을 참조하여, 임시 편집 표면을 이용하여 문서를 편집하기 위한 컴퓨팅 시스템 및 방법을 설명한다.
이제, 도 1을 참조하면, 본 명세서에 제공되는 실시예들에 의해 제공되는 예시적인 동작 환경 및 여러 소프트웨어 컴포넌트에 관한 상세들이 제공된다. 구체적으로, 도 1은 임시 편집 표면을 이용하여 문서를 편집하기 위한 시스템(100)의 양태들을 나타낸다. 시스템(100)은 운영 체제 및 하나 이상의 애플리케이션 프로그램을 실행할 수 있는 표준 데스크톱 또는 랩톱 컴퓨터 시스템을 포함하는 컴퓨터(120)를 포함한다. 컴퓨터(120)는 디스플레이(104), 마우스(108) 및 키보드(110)에 동작 가능하게 접속되어, 사용자(102)가 컴퓨터(120)에서 실행되는 시스템 및 애플리케이션 프로그램들과 상호작용하는 것을 가능하게 한다. 컴퓨터(120)는 네트워크(160)와 같은 하나 이상의 근거리 및 광역 네트워크를 통해 서버 컴퓨터(162)에 상호접속된다. 도 1에 도시된 것보다 많은 네트워크 접속들이 이용될 수 있다는 것을 알아야 한다.
컴퓨터(120)는 서버 컴퓨터(162)에 의해 실행되는 웹 서버(164)에 네트워크(160)를 통해 동작 가능하게 접속되는 웹 브라우저(122)를 실행하도록 동작한다. 일 실시예에서, 웹 브라우저(122)는 마이크로소프트사의 인터넷 익스플로러, 모질라의 파이어폭스 또는 애플사의 사파리와 같은, HTML 문서들을 표시할 수 있는 애플리케이션 프로그램이다. 그러나, 이 분야의 통상의 기술자는 마크업 언어를 렌더링하고 스크립트 로직을 실행할 수 있는 임의 유형의 애플리케이션 프로그램이 웹 브라우저(122)를 구현하는 데 사용될 수 있다는 것을 알 것이다. 웹 서버(164)는 문서들을 웹 브라우저(122)에 서빙할 수 있는 임의의 소프트웨어 프로그램을 포함한다. 웹 서버(162)는 문서들 및 워드 프로세싱 프로그램(140)을 포함하는 데이터 저장 장치(168)에 더 접속되며, 이는 아래에 더 상세히 설명된다. 일 실시예에 따르면, 문서들은 웹 브라우저(122)로 서빙되는 HTML 문서(128)를 포함할 수 있다. 컴퓨터(120)의 사용자(102)에 의한 요청시, 웹 브라우저(122)는 웹 서버(164)로부터 HTML 문서(128)를 검색하여, 이를 사용자(102)에게 표시하기 위해 디스플레이(104) 상의 윈도우(106) 내에 렌더링하도록 동작한다.
위에서 간단히 설명한 바와 같이, 시스템(100)은 또한 컴퓨터(120)의 사용자(102)가 윈도우(106) 내의 HTML 문서(128)의 내용을 편집하는 것을 허가하도록 동작하는 워드 프로세싱 프로그램(140)을 포함한다. 일 실시예에 따르면, 워드 프로세싱 프로그램(140)은 웹 브라우저(122)에 의해 제공되는 런타임 환경 내에서 실행될 수 있다. 예를 들어, 워드 프로세싱 프로그램(140)은 AJAX 개발 기술들을 이용하여 생성될 수 있다.
일 실시예에서, 워드 프로세싱 프로그램(140)은 편집될 문서(128)와 더불어 웹 서버(164)로부터 검색된다. 대안 실시예들에서, 워드 프로세싱 프로그램(140)은 컴퓨터(120) 상에 국지적으로 위치할 수 있다. 워드 프로세싱 프로그램(140)은 워드 프로세싱 기능을 사용자(102)에게 제공하도록 동작하는 워드 프로세싱 로직(148)을 포함한다. 일 실시예에서, 워드 프로세싱 프로그램(140)은 편집되고 있는 문서의 내용들을 내부 문서 이미지(150) 내에 유지한다. 다른 실시예들에서, 워드 프로세싱 프로그램(140)은 편집되고 있는 문서의 내용들을 HTML 문서(128) 내에 직접 유지한다. HTML 렌더러(124)는 표시를 위해 HTML 문서(128)를 렌더링한다.
일 실시예에서, 워드 프로세싱 프로그램(140)은 사용자 입력 프로세서(126)로부터의 사용자 입력 이벤트들을 모니터링하는 이벤트 처리 로직(146)을 포함한다. 도 3과 관련하여 후술하는 바와 같이, 이벤트 처리 로직(146)은 윈도우(106) 내에 표시되는 HTML 문서(128) 내의 위치에서 삽입 포인터의 사용자(102)에 의한 배치를 검출하도록 동작한다. 이벤트 처리 로직(146)은 도 4와 관련하여 후술하는 바와 같이 문서의 내용들의 편집 동안에 사용자 입력 이벤트들을 모니터링하도록 더 동작한다.
워드 프로세싱 프로그램(140)은 또한, 도 3과 관련하여 후술하는 바와 같이, 문서의 내용들에 대한 변경들을 수용하기 위한 윈도우(106) 내의 편집 표면을 생성하는 편집 표면 생성 로직(144)을 포함한다. 일 실시예에서, HTML 문서(128)에 마크업을 추가하여 편집 표면 요소(130)를 생성함으로써 편집 표면이 생성되는데, 이 편집 표면 요소는 웹 브라우저(122)에 의해 렌더링될 때 윈도우(106) 내에 편집 표면을 표시한다. 또한, 워드 프로세싱 프로그램(140)은 리플로우 로직(142)을 포함한다. 도 5와 관련하여 후술하는 바와 같이, 리플로우 로직(142)은 사용자(102)가 편집 표면 내의 내용들을 변경할 때 편집 표면(208)의 크기 및 위치를 유지한다.
이제, 도 2a-2c를 참조하면, 일 실시예에 따라, 웹 브라우저(122)에서 실행되는 워드 프로세싱 프로그램(140)에 의해 생성되는 윈도우(106)의 예시적인 스크린 샷들이 도시되어 있다. 도 2a에 도시된 바와 같이, 윈도우(106)는 HTML 문서(128)의 본문 내에 포함된 텍스트(202)의 단락은 물론, HTML 문서(128)의 테이블(204) 내의 텍스트의 블록을 표시한다. 텍스트(202)의 단락을 편집하기를 원하는 사용자(102)는 마우스(108)를 이용하여, 여기서 텍스트 삽입 포인터 또는 탈자 기호(caret)(206)로서 설명되는 마우스 포인터를 윈도우(106) 내의 텍스트(202)의 단락 내의 위치에 배치하고, 마우스(108) 상의 버튼을 클릭할 수 있다. 워드 프로세싱 프로그램(140)의 이벤트 처리 로직(146)은 단락(202) 내의 삽입 포인터(206)를 이용하여 마우스 클릭을 검출하고, 도 2b에 도시된 바와 같이, 편집 표면 생성 로직(144)이 윈도우(106) 내의 텍스트(202)의 단락 위에 배치되는 편집 표면(208A)을 생성하게 한다. 마우스에 의해 수행되는 것으로서 본 명세서에 설명되는 사용자 입력 활동은 다른 유형의 입력 장치를 이용하여 제공될 수도 있다는 것을 알아야 한다.
도 3과 관련하여 후술하는 바와 같이, 편집 표면 생성 로직(144)은 윈도우(106) 내에 나타날 때 단락 또는 텍스트(202)와 동일한 크기 및 동일한 위치를 갖는 편집 표면(208A)을 생성한다. 편집 표면 생성 로직(144)은 또한 단락(202)의 내용들을 편집 표면(208A) 내로 복사하고, 단락(202)이 윈도우(106) 내에서 보이지 않게 한다. 단락(202)은 윈도우(106) 내에서 더 이상 보이지 않지만, 여전히 윈도우(106) 내의 동일한 물리적 공간을 점유하고 있으며, 따라서 본질적으로 편집 표면(208A) 아래에 놓여 있다는 점에 유의한다. 이어서, 편집 표면 생성 로직(144)은 사용자(102)에 의한 단락(202) 내의 삽입 포인터(206)의 배치의 위치에 대응하는 커서(210)를 편집 표면(208A) 내에 배치한다. 도 2b의 스크린 샷에 도시된 편집 표면(208A)의 경계들은 단지 설명을 위한 것이라는 점에 유의해야 한다. 윈도우(106) 내에는 편집 표면(208A)에 대한 실제 경계들은 생성되지 않는다. 다양한 실시예에서 설명되는 바와 같이, 편집 표면(208A)을 생성하고, 아래 놓인 단락(202)의 내용들을 편집 표면(208A) 내로 복사하고, 아래 놓인 단락이 윈도우에서 보이지 않게 하는 프로세스는 사용자(102)에게 인식되지 않는다. 사용자(102)가 인식하는 윈도우(106)에 대한 유일한 변경은 삽입 포인터(206)의 배치 위치에서의 커서(210)의 생성이다.
편집 표면(208A)은 사용자(102)가 편집 표면(208A)의 텍스트 내용들에 대해 저레벨 편집들을 행하는 것을 허가하기 위해 윈도우(106) 내에 활성으로 유지된다. 예를 들어, 일 실시예에서, 편집 표면(208A)은 사용자(102)가 커서(210)의 현재 위치에서 텍스트에 문자들을 추가하거나 삭제하는 것을 허가한다. 사용자(102)가 워드 프로세싱 프로그램(140)으로부터 더 높은 레벨의 편집 기능을 요청하거나, 윈도우(106) 내의 HTML 문서(128)의 다른 부분으로 네비게이트하는 경우, 도 4와 관련하여 후술하는 바와 같이, HTML 문서(128)는 편집 표면(208A)에서 사용자(102)에 의해 행해진 편집들로 갱신되며, 편집 표면(208A)은 소멸된다. 예를 들어, 사용자(102)가 윈도우(106) 내에 표시된 테이블(204) 내의 텍스트의 블록 내에 삽입 포인터(206)를 배치하는 경우, 도 2c에 도시된 바와 같이, 편집 표면(208A)은 소멸되며, 편집 표면(208A) 아래에 놓인 텍스트(202)의 단락은 편집 표면(208)으로부터의 임의의 편집들로 갱신되고, 윈도우(106) 내에 다시 보이게 된다. 더 도시된 바와 같이, 테이블(204) 내의 텍스트의 블록 위에 배치되는 새로운 편집 표면(208B)이 생성되고, 새로운 편집 표면(208B) 내에는 텍스트의 삽입을 위한 커서(210)가 생성된다.
이제, 도 3을 참조하면, 임시 편집 표면을 이용하여 문서를 편집하기 위하여 본 명세서에 제공되는 실시예들에 관한 추가 상세들이 제공된다. 구체적으로, 도 3은 윈도우(106) 내에 임시 편집 표면(208)을 생성하는 동작의 양태들을 나타내는 흐름도이다. 본 명세서에 설명되는 논리 동작들은 (1) 컴퓨터 시스템 상에서 실행되는 컴퓨터 구현 단계들 또는 프로그램 모듈들의 시퀀스로서, 그리고/또는 (2) 컴퓨팅 시스템 내의 상호접속된 기계 논리 회로들 또는 회로 모듈들로서 구현된다는 것을 알아야 한다. 이러한 구현은 컴퓨터 시스템의 성능 및 다른 요구들에 의존하는 선택의 문제이다. 따라서, 본 명세서에 설명되는 논리 동작들은 상태들, 동작들, 구조적 장치들, 단계들 또는 모듈들로서 다양하게 지칭된다. 이러한 동작들, 구조적 장치들, 단계들 및 모듈들은 소프트웨어로, 펌웨어로, 특수 목적 디지털 로직으로 그리고 이들의 임의 조합으로 구현될 수 있다. 도면들에 도시되고 본 명세서에 설명되는 것보다 많거나 적은 동작들이 수행될 수 있다는 것도 알아야 한다. 이러한 동작들은 본 명세서에 설명되는 것들과 다른 순서로 수행될 수도 있다.
루틴(300)은 동작 302에서 시작되며, 여기서 이벤트 처리 로직(146)은 사용자(102)가 삽입 포인터(206)를 윈도우(106) 내의 위치에 배치하였음을 검출한다. 전술한 바와 같이, 일 실시예에서, 사용자(102)는 마우스(108)를 이용하여, 또는 키보드(110)의 네비게이션 키들을 이용하여 현재 커서(210)를 HTML 문서(128)의 하나의 섹션으로부터 다른 섹션으로 이동시킴으로써, 윈도우(106) 내의 위치에 삽입 포인터(206)를 배치할 수 있다. 대안 실시예들에서, 사용자(102)는 손가락 또는 스타일러스를 이용하여 디스플레이(104)를 터치함으로써 윈도우(106) 내의 위치에 삽입 포인터(206)를 배치할 수 있다.
삽입 포인터(206)의 배치의 검출시, 루틴(300)은 동작 304로 이동하며, 여기서 편집 표면 생성 로직(144)은 삽입 포인터(206)가 배치된 윈도우(106) 내의 위치에 현재 표시된 HTML 문서(128)의 부분을 결정한다. 일 실시예에서, HTML 문서(128)는 문서의 본문 내에 또는 테이블(204)의 셀과 같은 다른 컨테이너들 내에 포함되는 텍스트(202)의 단락들로 분할될 수 있다. 사용자(102)가 마우스(108)를 이용하여 삽입 포인터(206)를 배치할 때, 편집 표면 생성 로직(144)은 웹 브라우저(122)로부터 마우스(108)가 클릭된 위치에 대응하는 HTML 문서(128) 내의 단락(202)의 식별을 요청한다. 사용자(102)가 키보드(110)의 네비게이션 키들을 이용하여 삽입 포인터(206)를 배치하는 경우, 편집 표면 생성 로직(144)은 HTML 문서(128)의 내용들을 분석함으로써 올바른 단락을 결정한다. 대안 실시예들에서, 문서의 다른 분할들이 요구될 수 있다.
동작 304로부터, 루틴(300)은 동작 306으로 계속되며, 여기서 편집 표면 생성 로직(144)은 삽입 포인터(206)가 배치된 윈도우(106) 내의 위치에 가장 밀접하게 대응하는 단락(202) 내의 문자 위치를 결정한다. 이 문자 위치는 편집 표면(208) 내의 커서(210)를 삽입 포인터(206)가 단락 내에 배치된 위치에 대응하는 위치에 배치하는 데 사용된다. 일 실시예에서, 편집 표면 생성 로직(144)은 이진 검색 알고리즘을 이용하여 문자 위치를 결정한다. 예를 들어, SPAN 요소와 같은 HTML 요소가 HTML 문서(128) 내에 단락의 텍스트를 포함하는 마크업의 중간의 문자 위치에 배치된다. SPAN 요소의 위치의 윈도우(106) 내의 좌표들을 웹 브라우저(122)로부터 요청하고, 삽입 포인터(206)의 위치의 좌표들과 비교하여, 삽입 포인터(206)가 텍스트 내의 SPAN 요소의 앞에 또는 뒤에 위치하는지를 결정한다. 이러한 처리는 다시 반복되어, SPAN 요소를 마크업의 제1 절반 또는 제2 절반의 중간에 각각 배치하고, 삽입 포인터(206)의 위치에 대응하는 단락(202) 내의 문자 위치가 결정될 때까지 계속 반복된다.
동작 306으로부터, 루틴(300)은 동작 308로 계속되며, 여기서 편집 표면 생성 로직(144)은 윈도우(106) 내에 표시된 단락(202)의 현재 위치 및 치수들을 결정한다. 일 실시예에서, 이러한 정보는 단락(202)이 식별된 경우에 웹 브라우저(122)로부터 요청된다. 이어서, 편집 표면 생성 로직(144)은 동작 310에서 지시되는 바와 같이 윈도우(106) 내에 단락(202)과 동일한 위치에 단락과 동일한 치수들의 편집 표면(208)을 생성한다. 일 실시예에서, 편집 표면 생성 로직(144)은 HTML 문서(128)에 마크업을 추가하여, HTML IFRAME 요소와 같은 편집 표면 요소(130)를 생성함으로써 편집 표면(208)을 생성한다. 편집 표면 요소(130)는 그의 내용 편집 가능 속성을 "참"으로 설정함으로써 편집 가능하게 된다. 대안 실시예들에서, 편집 표면 요소(130)는 "참"으로 설정된 내용 편집 가능 속성을 갖는 HTML DIV 요소 또는 HTML TEXTAREA 요소일 수 있다. 편집 표면 생성 로직(144)은 웹 브라우저(122)에 의해 윈도우(106) 내에 단락(202)과 동일한 위치 및 동일한 크기로 렌더링되도록 편집 표면 요소(130)의 크기 및 위치 속성들을 설정한다. 이 분야의 기술자가 알 수 있듯이, 삽입 포인터(206)가 새로운 또는 공백 단락 내에 배치되어, 단락의 현재 크기가 0이 되는 경우, 편집 표면 생성 로직(144)은 커서(210) 및 사용자(102)에 의해 타이핑된 제1의 소수의 문자들을 적절히 표시하기에 충분한 높이 및 폭을 갖는 편집 표면(208)을 생성한다.
동작 310으로부터, 루틴(300)은 동작 312로 이동하며, 여기서 편집 표면 생성 로직(144)은 HTML 문서(128) 내의 단락(202)의 내용들을 편집 표면(208)으로 복사한다. 이것은 HTML 문서(128) 내의 단락(202) 내에 포함된 텍스트를 편집 표면 요소(130) 내로 복사하는 것은 물론, 편집 표면 요소(130)의 속성들을 HTML 문서(128) 내의 단락(202)에 적용되는 것과 동일하게 설정하는 것을 포함한다. 이어서, 편집 표면 생성 로직(144)은 동작 314에서 윈도우(106) 내에 단락(202)이 보이지 않게 한다. 전술한 바와 같이, 이것은 단락(202)이 윈도우(106) 내에서 사용자(102)에게 더 이상 보이지 않지만, 여전히 윈도우(106) 내의 동일 물리 공간을 점유하는 방식으로 달성된다. 예컨대, 일 실시예에서, HTML 문서(128) 내의 단락(202)의 가시성 속성은 "숨겨짐"으로 설정된다.
이어서, 루틴(300)은 동작 316으로 이동하여, 편집 표면 생성 로직(144)은 편집 표면(208) 내의 커서(210)를 동작 306에서 계산된, 삽입 포인터(206)가 배치된 문자 위치에 대응하는 문자 위치에 배치한다. 일 실시예에서, 이것은 현재의 선택을 문자 위치의 텍스트의 공백 범위로 설정함으로써 달성된다. 이어서, 루틴(300)은 동작 318로 진행하여, 편집 표면 생성 로직(144)은 편집 표면(208)에 대해 이벤트 처리 로직(146)의 이벤트 처리기들을 등록한다. 도 4와 관련하여 후술하는 바와 같이, 이것은 이벤트 처리 로직(146)이 편집 표면(208)으로부터 스크롤링과 같은 마우스, 키보드 및 기타 브라우저 이벤트들을 처리하는 것을 가능하게 한다. 동작 320에서, 윈도우(106) 내의 현재의 포커스가 편집 표면(208)으로 설정된다.
도 4는 윈도우(106) 내에 편집 표면(208)이 활성인 동안에 편집 표면(208) 또는 웹 브라우저(122)에 의해 생성되는 이벤트들을 처리하는 동작의 양태들을 나타내는 흐름도이다. 루틴(400)은 동작 402에서 시작되어, 이벤트 처리 로직(146)은 편집 표면(208)이 주로 마우스(108)의 클릭 또는 키보드(110) 상의 타이핑 등에 의한 사용자 입력의 결과로서 이벤트를 생성하였음을 검출한다. 사용자 입력 이벤트의 검출시, 동작 404에서 이벤트 처리 로직(146)은 편집 표면 요소(130)가 사용자 입력을 고유하게 처리할지를 결정한다.
일 실시예에서, 사용자 입력이 키보드(110)에서 타이핑된 문자를 나타내는 경우, 이벤트 처리 로직(146)은 타이핑된 문자를, 편집 표면 요소(130)에 의해 처리될 문자들의 리스트와 비교한다. 예를 들어, 타이핑된 문자가 문자, 숫자 또는 구두점 문자인 경우, 이벤트 처리 로직(146)은 문자가 편집 표면 요소(130)에 의해 처리될 것으로 결정한다. 그러나, 타이핑된 문자가 CTRL-B와 같이 텍스트의 포맷 변경을 유발할 수 있는 경우, 이 문자는 처리를 위해 편집 표면 요소(130)로 전송되지 않을 것이다. 대안 실시예들에서, 이벤트 처리 로직(146)은 편집 표면 요소(130)가 커서 네비게이션 키들 또는 복사 및 붙여 넣기 단축 키들과 같은 추가적인 키보드 입력을 처리하는 것을 허가할 수 있다.
이벤트 처리 로직(146)이 편집 표면 요소(130)가 사용자 입력을 고유하게 처리할 것으로 결정하는 경우, 루틴(400)은 동작 414로 진행하여, 사용자 입력이 처리를 위해 편집 표면 요소(130)로 전송된다. 편집 표면 요소(130)가 사용자 입력을 처리한 후에, 루틴(400)은 동작 416으로 진행하여, 리플로우 로직(142)을 수행한다. 이것은 도 5와 관련하여 아래에 상세히 설명된다. 일 실시예에서, 이벤트 처리 로직(146)은 사용자 입력을 편집 표면 요소(130)로 전송하기 전에 웹 브라우저(122) 내의 타이머를 0의 타임아웃 값을 갖도록 설정한다. 이러한 방식으로, 편집 표면 요소(130)에 의해 사용자 입력이 처리된 직후에 대응하는 타이머 이벤트가 생성되어, 이벤트 처리 로직(146)이 리플로우 동작을 수행하는 것이 가능해진다.
이벤트 처리 로직(146)이 편집 표면 요소(130)가 사용자 입력을 고유하게 처리하지 않을 것으로 결정하는 경우, 루틴(400)은 동작 406으로 이동하여, 이벤트 처리 로직(146)은 사용자(102)에 의해 이루어진 임의의 변경들을 포함하는 텍스트를 편집 표면(208)으로부터 그 아래에 놓인 HTML 문서(128)의 단락(202)으로 다시 복사한다. 이어서, 이벤트 처리 로직(146)은 동작 408에서 제공되는 바와 같이 HTML 문서(128)로부터 편집 표면 요소(130)를 제거함으로써 편집 표면(208)을 소멸시킨다. 동작 410에서, 아래 놓인 단락(202)이 보이게 되고, 동작 314에서 행해진 변경이 반전된다. 이것은 일 실시예에서 단락(202)의 가시성 속성을 "보임"으로 설정함으로써 달성된다. 이어서, 이벤트 처리 로직(146)은 동작 412에서 추가 처리를 위해 사용자 입력을 워드 프로세싱 로직(148)으로 전송한다.
도 5는 윈도우(106) 내에서 편집 표면이 활성인 동안에 HTML 문서(128) 내의 편집 표면(208)의 리플로우를 수행하는 동작의 양태들을 나타내는 흐름도이다. 본 명세서에 설명되는 다양한 실시예에서, 편집 표면 요소(130)를 생성하기 위해 HTML 문서(128)에 추가되는 HTML 마크업은 사용자(102)가 편집 표면 내에 포함된 내용들을 편집하는 동안에 편집 표면(208)이 윈도우(106) 내에서 크기가 적절히 증감하지 못하게 할 수 있다. 예를 들어, HTML IFRAME 요소는 그의 내용들의 편집 동안 자신의 크기를 적절히 조절하지 못할 것이다. 이것은 편집 표면(208)의 내용들이 그의 경계들을 오버플로우하여, 편집 표면(208)이 그의 내용들을 윈도우(106) 내에 표시된 그의 경계들 내에서 위 또는 아래로 스크롤링하게 할 수 있다. 이것이 발생하는 것을 방지하기 위하여, 리플로우 로직(142)은 사용자(102)가 내용들을 편집할 때 윈도우(106) 내의 편집 표면(208)의 크기 및 위치를 동적으로 유지한다. 게다가, 리플로우 로직(142)은 아래에 놓인, 보이지 않는 단락(202)의 크기 및 위치가 활성 편집 표면(208)의 크기와 동일하게 유지되는 것을 보장하여, HTML 문서(128)의 나머지가 편집 표면(208) 주위에서 적절히 플로우되는 것을 보장한다. 이러한 프로세서는 본 명세서에서 "리플로우"로서 참조된다.
루틴(500)은 동작 502에서 시작되어, 리플로우 로직(142)은 편집 표면(208)의 리플로우가 필요한지를 결정한다. 일 실시예에서, 리플로우 로직(142)은 각각의 사용자 입력 이벤트가 편집 표면 요소(130)에 의해 고유하게 처리된 후에 리플로우 동작을 수행할 수 있다. 예를 들어, 편집 표면(208)은 각각의 문자가 사용자(102)에 의해 키보드(110) 상에서 타이핑된 후에 리플로우될 수 있다. 다른 실시예에서, 리플로우 로직(142)은 이벤트 처리 로직(146)을 통해 웹 브라우저 이벤트들을 모니터링하여 리플로우 동작이 필요한지를 결정할 수 있다. 예를 들어, 리플로우 로직(142)은 오버플로우 조건이 발생하였음을 지시하는, 편집 표면(208)에 의해 생성된 스크롤 이벤트들에 응답해서만 편집 표면(208)의 리플로우 동작을 수행할 수 있다. 또 다른 실시예들에서, 리플로우 로직(142)은 편집 표면(208)의 내용들에 대해 텍스트 메트릭 계산들을 수행하여, 오버플로우 조건이 발생했을 가능성을 결정할 수 있으며, 오버플로우가 발생했을 가능성이 큰 경우에, 리플로우 동작을 수행할 것이다.
편집 표면(208)의 리플로우가 필요한 것으로 결정한 때, 루틴(500)은 동작 504로 진행하여, 리플로우 로직(142)은 사용자(102)에 의해 행해진 임의 변경들을 포함하는 텍스트를 편집 표면(208)으로부터 그 아래에 놓인 HTML 문서(128)의 단락(202)으로 다시 복사한다. 동작 506에서, 리플로우 로직(142)은 웹 브라우저(122)가 윈도우(106) 내에 HTML 문서(128)를 다시 렌더링하게 하며, 따라서 이제 편집 표면(208)의 변경된 내용들을 포함하는 아래에 놓인 단락(202)이 윈도우(106) 내에 표시될 때 그 단락의 위치 및 크기를 재계산하도록 웹 브라우저(122)를 트리거링한다. 이어서, 리플로우 로직(142)은 동작 508에서 나타난 바와 같이 윈도우(106) 내에 표시되는 아래 놓인 단락(202)의 새로운 위치 및 치수들을 결정한다. 일 실시예에서, 이러한 정보는 웹 브라우저(122)로부터 간단히 요청된다. 새로운 위치 및 치수들이 알려지면, 루틴(500)은 동작 510으로 진행하여, 리플로우 로직(142)은 아래 놓인 단락(202)에 매칭되도록 윈도우(106) 내에 편집 표면(208)을 재배치하고 크기를 조절한다.
도 6은 전술한 방식으로 임시 편집 표면을 이용하여 문서를 편집하기 위해 본 명세서에 설명되는 소프트웨어 컴포넌트들을 실행할 수 있는 컴퓨터(600)의 예시적인 컴퓨터 아키텍처를 나타낸다. 도 6에 도시된 컴퓨터 아키텍처는 전통적인 데스크톱, 랩톱 또는 서버 컴퓨터를 나타내며, 컴퓨터(120) 또는 서버 컴퓨터(162) 상에서 실행되는 것으로 설명되는 본 명세서에 제공되는 소프트웨어 컴포넌트들의 임의 양태들을 실행하는 데 사용될 수 있다.
도 6에 도시된 컴퓨터 아키텍처는 중앙 처리 장치(602)("CPU"), 랜덤 액세스 메모리(614)("RAM)" 및 판독 전용 메모리("ROM")(616)를 포함하는 시스템 메모리(608), 및 메모리를 CPU(602)에 결합하는 시스템 버스(604)를 포함한다. 예를 들어 시동 중과 같은 때에, 컴퓨터(600) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템은 ROM(616)에 저장되어 있다. 컴퓨터(600)는 또한, 본 명세서에 더 상세히 설명되는 운영 체제(618), 애플리케이션 프로그램 및 기타 프로그램 모듈을 저장하기 위한 대용량 저장 장치(610)를 포함한다.
대용량 저장 장치(610)는 버스(604)에 접속된 대용량 저장 장치 컨트롤러(도시되지 않음)를 통해 CPU(602)에 접속된다. 대용량 저장 장치(610) 및 그와 관련된 컴퓨터 판독가능 매체들은 컴퓨터(600)에 대한 비휘발성 저장을 제공한다. 본 명세서에 포함되는 컴퓨터 판독가능 매체들의 설명은 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 저장 장치를 참조하지만, 이 분야의 전문가들은 컴퓨터 판독가능 매체가 컴퓨터(600)에 의해 액세스될 수 있는 임의의 이용 가능한 컴퓨터 저장 매체일 수 있다는 것을 알아야 한다.
예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체들을 포함할 수 있지만 이에 제한되는 것은 아니다. 예를 들어, 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 기타 반도체 메모리 기술, CD-ROM, "DVD"(digital versatile disk), HD-DVD, BLU-RAY, 또는 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(600)에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 제한되는 것은 아니다.
다양한 실시예에 따르면, 컴퓨터(600)는 네트워크(620)와 같은 네트워크를 통한 원격 컴퓨터로의 논리적 접속을 사용하여 네크워크화된 환경에서 동작할 수 있다. 컴퓨터(600)는 버스(604)에 접속된 네트워크 인터페이스 유닛(606)을 통해 네트워크(620)에 접속될 수 있다. 네트워크 인터페이스 유닛(606)은 다른 유형의 네트워크 및 원격 컴퓨터 시스템에 접속하는 데 이용될 수도 있다는 것을 알아야 한다. 컴퓨터(600)는 또한 키보드, 마우스 또는 전자 스타일러스(도 6에 도시되지 않음)를 포함하는 다수의 다른 장치로부터의 입력을 수신하고 처리하기 위한 입출력 컨트롤러(612)를 포함할 수 있다. 유사하게, 입출력 컨트롤러는 디스플레이 스크린, 프린터 또는 다른 유형의 출력 장치(도 6에 또한 도시되지 않음)에 출력을 제공할 수 있다.
위에 간단히 설명된 바와 같이, 네트워크화된 데스크톱, 랩톱 또는 서버 컴퓨터의 동작을 제어하는 데 적합한 운영 체제(618)를 포함하는 다수의 프로그램 모듈 및 데이터 파일이 컴퓨터(600)의 대용량 저장 장치(610) 및 RAM(614)에 저장될 수 있다. 대용량 저장 장치(610) 및 RAM(614)은 또한 하나 이상의 프로그램 모듈을 저장할 수 있다. 구체적으로, 대용량 저장 장치(610) 및 RAM(614)은 웹 브라우저(122) 또는 웹 서버(164) 애플리케이션 프로그램들을 저장할 수 있으며, 이들 각각은 도 1-5와 관련하여 위에서 상세히 설명되었다. 대용량 저장 장치(610) 및 RAM(614)은 다른 유형의 프로그램 모듈도 저장할 수 있다.
위에 기초하여, 임시 편집 표면을 이용하여 문서를 편집하기 위한 기술들이 본 명세서에서 제공되었다는 것을 알아야 한다. 본 명세서에 제공되는 내용은 컴퓨터 구조적 특징, 방법적 단계 및 컴퓨터 판독가능 매체에 고유한 언어로 설명되었지만, 첨부된 청구항들에 정의되는 발명은 본 명세서에 설명되는 특정 특징, 단계 또는 매체로 반드시 제한되지는 않는다는 것을 이해해야 한다. 오히려, 특정 특징, 단계 및 매체는 청구항들을 구현하는 예시적인 형태들로서 개시된다.
전술한 내용은 단지 예시적으로 제공될 뿐, 제한적인 것으로 해석되지 않아야 한다. 도시되고 설명된 예시적인 구현들 및 응용들에 따르지 않고, 아래의 청구항들에 설명되는 본 발명의 진정한 사상 및 범위로부터 벗어나지 않고, 본 명세서에 설명된 내용에 대한 다양한 수정 및 변경이 이루어질 수 있다.

Claims (20)

  1. 웹 브라우저의 윈도우 내에서 HTML(Hypertext Markup Language) 문서의 콘텐츠 중 텍스트 부분을 편집하는 방법으로서,
    상기 웹 브라우저의 상기 윈도우 내에 상기 HTML 문서를 표시하는 단계;
    상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분을 편집하라는 요청을 수신하는 단계;
    상기 요청에 응답하여, 상기 윈도우 내에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분의 위치 및 크기를 결정하는 단계;
    상기 윈도우에 표시되는 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분 위에 배치되는 편집 표면을 생성하는 단계- 상기 편집 표면은 상기 편집 표면이 상기 웹 브라우저에 의해 렌더링되는 경우 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분의 위치 및 크기로 상기 윈도우에 표시되게 하는 크기 및 위치 속성을 갖는 HTML 요소를 상기 HTML 문서에 추가함으로써 생성됨 -
    상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분을 상기 편집 표면에 복사하는 단계;
    상기 윈도우 내에서 입력을 수신하는 단계;
    상기 입력을 수신한 경우, 상기 편집 표면이 상기 입력을 처리할지를 결정하는 단계;
    상기 편집 표면이 상기 입력을 처리할 것으로 결정되면, 상기 편집 표면 상에서 리플로우 동작(reflow operation)을 처리 및 수행하기 위해 상기 입력을 상기 편집 표면으로 전달하는 단계; 및
    상기 편집 표면이 상기 입력을 처리하지 않을 것으로 결정되면, 상기 HTML 문서의 콘텐츠에 임의의 변경을 적용하고, 상기 HTML 문서로부터 상기 편집 표면을 제거하며, 상기 윈도우에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분을 보이게 하는 단계
    를 포함하는 편집 방법.
  2. 제1항에 있어서,
    상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분을 편집하라는 요청을 수신하는 단계는
    상기 윈도우 내의 위치에서 삽입 포인터의 배치를 검출하는 단계; 및
    상기 삽입 포인터의 상기 위치에서 상기 윈도우 내에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분을 결정하는 단계
    를 포함하는 편집 방법.
  3. 제2항에 있어서,
    상기 윈도우 내에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분이 결정되면, 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분 내에서 상기 삽입 포인터의 상기 위치에 대응하는 문자 위치를 결정하는 단계; 및
    상기 윈도우 내에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분 위에 배치되는 상기 편집 표면이 생성되면, 상기 편집 표면 내에서 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분의 텍스트 내의 상기 문자 위치에 커서를 배치하는 단계
    를 더 포함하는 편집 방법.
  4. 제1항에 있어서,
    상기 윈도우 내에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분 위에 배치되는 편집 표면을 생성하는 단계는,
    상기 윈도우 내에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분이 보이지 않게 하는 단계를 더 포함하는
    편집 방법.
  5. 제1항에 있어서,
    상기 HTML 문서에 추가되는 상기 HTML 요소는 HTML IFRAME 요소, HTML DIV 요소 및 HTML TEXTAREA 요소 중 하나를 포함하는
    편집 방법.
  6. 제1항에 있어서,
    상기 편집 표면 상에서 리플로우 동작을 수행하는 것은,
    상기 윈도우 내에서 상기 편집 표면을 리플로우하는 것이 필요한지를 결정하는 것; 및
    상기 편집 표면을 리플로우하는 것이 필요한 것으로 결정되면,
    하나 이상의 변경을 상기 HTML 문서의 콘텐츠에 적용하는 것,
    상기 웹 브라우저가 상기 윈도우 내에 상기 HTML 문서를 다시 렌더링하게 하는 것,
    상기 윈도우 내에 표시된 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분의 새로운 위치 및 새로운 크기를 결정하는 것, 및
    상기 HTML 문서에 추가된 상기 HTML 요소의 크기 및 위치 속성을 변경하여, 상기 편집 표면이 상기 윈도우 내에서 상기 HTML 문서의 콘텐츠 중 상기 텍스트 부분의 새로운 위치 및 새로운 크기로 상기 웹 브라우저에 의해 렌더링되게 하는 것
    을 포함하는 편집 방법.
  7. 제1항에 있어서,
    상기 편집 표면이 상기 입력을 처리할지를 결정하는 단계는 상기 입력이 키보드 상에서 문자 키, 구두점 키 및 숫자 키 중 하나가 눌린 결과였는지를 판정하는 단계를 포함하는 편집 방법.
  8. 컴퓨터 실행가능 명령어들을 저장한 컴퓨터 저장 매체로서,
    상기 컴퓨터 실행가능 명령어들은 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금,
    웹 브라우저에 의해 생성된 마크업 언어 문서를 윈도우 내에 표시하고;
    상기 윈도우 내의 위치에서 삽입 포인터의 배치를 검출하고;
    상기 삽입 포인터의 배치가 검출되면, 상기 삽입 포인터의 상기 위치에서 상기 윈도우 내에 표시된 상기 문서의 텍스트 부분을 결정하고;
    상기 윈도우 내의 상기 문서의 텍스트 부분 위에 배치되는 편집 표면을 생성하고, 상기 문서의 텍스트 부분을 상기 편집 표면에 복사하고- 상기 편집 표면은 상기 편집 표면이 상기 웹 브라우저에 의해 렌더링되는 경우 상기 문서의 상기 텍스트 부분의 위치 및 크기로 상기 윈도우에 표시되게 하는 크기 및 위치 속성을 갖는 마크업 언어 요소를 상기 문서에 추가함으로써 생성됨 -;
    상기 윈도우 내의 입력을 검출하고;
    상기 윈도우 내의 입력이 검출되면, 상기 편집 표면이 상기 입력을 처리할지를 결정하고;
    상기 편집 표면이 상기 입력을 처리할 것으로 결정되면, 상기 편집 표면이 상기 문서의 상기 텍스트 부분에 대한 변경들을 수용할 수 있도록 상기 입력을 상기 편집 표면으로 전송하고, 상기 편집 표면의 리플로우 동작을 수행하고;
    상기 편집 표면이 상기 입력을 처리하지 않을 것으로 결정되면, 상기 편집 표면으로부터의 변경들로 상기 문서의 상기 텍스트 부분을 갱신하고, 상기 편집 표면을 소멸시키게 하는
    컴퓨터 저장 매체.
  9. 제8항에 있어서,
    상기 윈도우 내의 상기 문서의 상기 텍스트 부분 위에 배치되는 편집 표면을 생성하는 것은,
    상기 윈도우 내에 표시된 상기 문서의 상기 텍스트 부분의 현재 위치 및 크기를 결정하고;
    상기 문서의 상기 텍스트 부분 내에서 상기 삽입 포인터의 위치에 대응하는 문자 위치를 결정하고;
    상기 문서의 상기 텍스트 부분이 상기 웹 브라우저에 의해 상기 윈도우 내에 보이지 않게 렌더링되게 하고;
    상기 문서의 상기 텍스트 부분을 상기 편집 표면에 복사하고;
    상기 편집 표면 내에서 상기 문서의 상기 텍스트 부분 내의 상기 문자 위치에 커서를 배치하는 것을 포함하는
    컴퓨터 저장 매체.
  10. 제9항에 있어서,
    상기 웹 브라우저에 의해 렌더링되는 마크업 언어는 하이퍼텍스트 마크업 언어(HTML)이고, 상기 웹 브라우저가 편집 표면을 렌더링하게 하기 위해 상기 문서에 추가되는 마크업 언어는 HTML IFRAME 요소, HTML DIV 요소 및 HTML TEXTAREA 요소 중 하나를 포함하는
    컴퓨터 저장 매체.
  11. 제8항에 있어서,
    상기 편집 표면의 리플로우 동작을 수행하는 것은,
    상기 윈도우 내에서 상기 편집 표면의 리플로우가 필요한지를 결정하고;
    리플로우가 필요한 것으로 결정되면,
    상기 편집 표면으로부터의 변경들로 상기 윈도우 내의 상기 문서의 상기 텍스트 부분을 갱신하고,
    상기 웹 브라우저가 상기 윈도우 내에 상기 문서를 다시 렌더링하게 하며,
    상기 윈도우 내에서 상기 문서의 상기 텍스트 부분 위에 놓이게 상기 편집 표면을 재배치하는 것을 포함하는 컴퓨터 저장 매체.
  12. 제8항에 있어서,
    상기 편집 표면이 상기 입력을 처리할지를 결정하는 것은 상기 입력이 키보드 상에서 문자 키, 구두점 키 및 숫자 키 중 하나가 눌린 결과였는지를 판정하는 것을 포함하는
    컴퓨터 저장 매체.
  13. 웹 브라우저 내에서 실행되는 워드 프로세싱 프로그램에서 임시 편집 표면을 제공하기 위한 방법으로서,
    상기 워드 프로세싱 프로그램에서 편집되고 있는 문서의 텍스트의 단락 내의 사용자에 의한 삽입 포인터의 배치를 검출하는 단계;
    상기 삽입 포인터의 배치가 검출되면, 상기 텍스트 내에서 상기 삽입 포인터가 배치된 문자 위치를 결정하는 단계;
    상기 웹 브라우저에 의해 생성된 윈도우 내의 페이지 내에 표시된 상기 단락의 현재 위치 및 크기를 결정하는 단계;
    상기 페이지 내에 표시된 상기 단락의 상기 위치 및 크기로 편집 표면을 상기 페이지 상에 생성하는 단계- 상기 편집 표면은 상기 웹 브라우저에 의해 렌더링될 상기 페이지에 HTML 요소를 추가함으로써 생성됨 -;
    상기 텍스트를 상기 편집 표면에 복사하는 단계;
    상기 페이지 내에 표시된 상기 단락이 보이지 않게 하는 단계;
    상기 편집 표면 내에서 상기 삽입 포인터의 상기 문자 위치에 커서를 배치하는 단계;
    상기 윈도우 내의 사용자 입력을 검출하는 단계;
    상기 사용자 입력의 검출시에, 상기 편집 표면이 상기 사용자 입력을 처리할지를 결정하는 단계;
    상기 편집 표면이 상기 사용자 입력을 처리할 것으로 결정되면,
    상기 사용자 입력을 처리를 위해 상기 편집 표면으로 전송하는 단계,
    상기 편집 표면을 리플로우하는 것이 필요한지를 결정하는 단계, 및
    상기 편집 표면을 리플로우하는 것이 필요한 것으로 결정되면, 상기 편집 표면의 리플로우 동작을 수행하는 단계; 및
    상기 편집 표면이 상기 사용자 입력을 처리하지 않을 것으로 결정되면,
    상기 편집 표면으로부터의 텍스트로 상기 페이지 내의 상기 단락을 갱신하는 단계,
    상기 페이지 내에 표시된 단락이 보이게 하는 단계,
    상기 편집 표면을 소멸시키는 단계, 및
    상기 사용자 입력을 처리를 위해 상기 워드 프로세싱 프로그램으로 전송하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 편집 표면의 리플로우 동작을 수행하는 단계는,
    상기 편집 표면으로부터의 텍스트로 상기 페이지 내의 단락을 갱신하는 단계;
    상기 웹 브라우저가 상기 윈도우 내에 상기 페이지를 렌더링하게 하는 단계;
    상기 페이지 내에 표시된 상기 단락의 새로운 위치 및 새로운 크기를 결정하는 단계; 및
    상기 페이지 내의 상기 편집 표면의 위치 및 크기를, 상기 페이지 내에 표시된 상기 단락의 새로운 위치 및 새로운 크기가 되도록 변경하는 단계
    를 포함하는 방법.
  15. 제13항에 있어서,
    상기 윈도우 내의 사용자 입력을 검출하는 단계는 상기 웹 브라우저로부터 키보드 및 마우스 이벤트들을 인터셉트하는 단계를 포함하는 방법.
  16. 제13항에 있어서,
    상기 편집 표면이 상기 사용자 입력을 처리할지를 결정하는 단계는 사용자가 키보드의 문자 키, 구두점 키 또는 숫자 키 중 하나를 눌렀는지를 판정하는 단계를 포함하는 방법.
  17. 제13항에 있어서,
    상기 편집 표면을 리플로우하는 것이 필요한지를 결정하는 단계는 상기 편집 표면에 의한 상기 사용자 입력의 처리가 상기 웹 브라우저에 의해 상기 페이지 상에 렌더링된 상기 편집 표면 내의 텍스트로 하여금 상기 편집 표면의 크기를 초과하게 하였는지를 결정하는 단계를 포함하는 방법.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020107021155A 2008-02-25 2009-01-21 임시 편집 표면을 이용한 문서 편집 KR101524897B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/037,059 2008-02-25
US12/037,059 US8266524B2 (en) 2008-02-25 2008-02-25 Editing a document using a transitory editing surface
PCT/US2009/031482 WO2009108417A1 (en) 2008-02-25 2009-01-21 Editing a document using a transitory editing surface

Publications (2)

Publication Number Publication Date
KR20100135756A KR20100135756A (ko) 2010-12-27
KR101524897B1 true KR101524897B1 (ko) 2015-06-01

Family

ID=40999566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107021155A KR101524897B1 (ko) 2008-02-25 2009-01-21 임시 편집 표면을 이용한 문서 편집

Country Status (14)

Country Link
US (1) US8266524B2 (ko)
EP (1) EP2260406B1 (ko)
JP (1) JP5490729B2 (ko)
KR (1) KR101524897B1 (ko)
CN (1) CN101952821B (ko)
AU (1) AU2009217633B2 (ko)
BR (1) BRPI0907464B1 (ko)
CA (1) CA2712925C (ko)
IL (1) IL207097A (ko)
MX (1) MX2010009102A (ko)
MY (1) MY154193A (ko)
RU (1) RU2493589C2 (ko)
WO (1) WO2009108417A1 (ko)
ZA (1) ZA201005076B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180137958A (ko) * 2017-06-20 2018-12-28 주식회사 인프라웨어 전자문서를 편집하는 방법 및 장치

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507651B2 (en) * 2008-04-28 2016-11-29 Microsoft Technology Licensing, Llc Techniques to modify a document using a latent transfer surface
JP2010073033A (ja) * 2008-09-19 2010-04-02 Fuji Xerox Co Ltd 情報処理装置及びプログラム
US20100095198A1 (en) * 2008-10-15 2010-04-15 Apple Inc. Shared comments for online document collaboration
US8347208B2 (en) * 2009-03-04 2013-01-01 Microsoft Corporation Content rendering on a computer
US8704783B2 (en) 2010-03-24 2014-04-22 Microsoft Corporation Easy word selection and selection ahead of finger
US9292161B2 (en) * 2010-03-24 2016-03-22 Microsoft Technology Licensing, Llc Pointer tool with touch-enabled precise placement
US9459778B2 (en) 2011-07-12 2016-10-04 Mobli Technologies 2010 Ltd. Methods and systems of providing visual content editing functions
CN102270193A (zh) * 2011-07-24 2011-12-07 珠海金山办公软件有限公司 对文档中选定区域进行可预览设置的装置及方法
US9317196B2 (en) 2011-08-10 2016-04-19 Microsoft Technology Licensing, Llc Automatic zooming for text selection/cursor placement
CN102314314B (zh) * 2011-08-29 2015-08-26 上海量明科技发展有限公司 文档阅读时光标转换的方法及系统
US9075517B2 (en) * 2012-02-21 2015-07-07 Google Inc. Web input through drag and drop
CN103257956B (zh) * 2013-04-19 2016-06-15 小米科技有限责任公司 一种电子文档的数据更新方法及装置
US9684642B2 (en) 2013-04-19 2017-06-20 Xiaomi Inc. Method and device for updating electronic document and associated document use records
US10599753B1 (en) 2013-11-11 2020-03-24 Amazon Technologies, Inc. Document version control in collaborative environment
US9542391B1 (en) 2013-11-11 2017-01-10 Amazon Technologies, Inc. Processing service requests for non-transactional databases
US11336648B2 (en) 2013-11-11 2022-05-17 Amazon Technologies, Inc. Document management and collaboration system
US10540404B1 (en) 2014-02-07 2020-01-21 Amazon Technologies, Inc. Forming a document collection in a document management and collaboration system
CN104714930B (zh) * 2013-12-12 2018-10-02 鸿合科技股份有限公司 一种文档快速处理方法和装置
KR102283360B1 (ko) * 2013-12-31 2021-07-30 삼성전자주식회사 텍스트 편집 위치를 가이드 하는 방법, 장치 및 기록매체
US10691877B1 (en) * 2014-02-07 2020-06-23 Amazon Technologies, Inc. Homogenous insertion of interactions into documents
US10140263B2 (en) 2014-06-06 2018-11-27 Maud GAGNÉ-LANGEVIN System and method for generating task-embedded documents
CN105302828B (zh) * 2014-07-02 2020-09-29 腾讯科技(深圳)有限公司 一种页面标签信息显示方法、装置及电子设备
US9639263B2 (en) 2014-08-05 2017-05-02 Weebly, Inc. Native overlay for rapid editing of web content
US9807073B1 (en) 2014-09-29 2017-10-31 Amazon Technologies, Inc. Access to documents in a document management and collaboration system
US10139998B2 (en) 2014-10-08 2018-11-27 Weebly, Inc. User interface for editing web content
US9535883B2 (en) 2014-10-24 2017-01-03 Dropbox, Inc. Modifying native document comments in a preview
US10867118B2 (en) * 2015-01-28 2020-12-15 Box, Inc. Method and system for implementing a collaboration platform for structured objects in a document
US9811505B2 (en) * 2015-07-20 2017-11-07 Sas Institute Inc. Techniques to provide processing enhancements for a text editor in a computing environment
CN105808512A (zh) * 2016-03-04 2016-07-27 北京奇虎科技有限公司 百科词条内容的编辑方法及编辑装置
CN105808704A (zh) * 2016-03-04 2016-07-27 北京奇虎科技有限公司 百科词条内容的评价展示方法及评价展示装置
CN105808515A (zh) * 2016-03-04 2016-07-27 北京奇虎科技有限公司 基于分句的百科词条的编辑方法及编辑装置
CN105912225B (zh) * 2016-03-31 2019-08-23 北京奇虎科技有限公司 基于百科词条的飞幕显示方法及装置
CN105930340A (zh) * 2016-03-31 2016-09-07 北京奇虎科技有限公司 基于百科词条的词条纠错方法及装置
CN105892836A (zh) * 2016-03-31 2016-08-24 北京奇虎科技有限公司 基于百科词条的激活态飞幕显示方法及装置
RU2642409C1 (ru) * 2016-09-28 2018-01-24 Общество с ограниченной ответственностью "Аби Девелопмент" Редактирование текста на изображении документа
WO2018109589A1 (en) * 2016-12-15 2018-06-21 Walkme Ltd. Updating data records by adding editing functions to non-editable display elements
US10402064B1 (en) 2018-12-10 2019-09-03 Square, Inc. Using combined eCommerce and brick-and-mortar data to produce intelligent recommendations for web page editing
CN109657220A (zh) * 2018-12-11 2019-04-19 万兴科技股份有限公司 Pdf文档的在线编辑方法、装置及电子设备
KR20210057306A (ko) * 2019-11-12 2021-05-21 주식회사 모카앤제이에스 블록 에디터 기반 문서 편집 서비스 제공 방법, 그를 수행하기 위한 서버 및 컴퓨터 프로그램
US11611629B2 (en) * 2020-05-13 2023-03-21 Microsoft Technology Licensing, Llc Inline frame monitoring
CN111797603B (zh) * 2020-07-02 2022-02-01 北京字节跳动网络技术有限公司 文档内表格浏览方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060077494A1 (en) * 2004-10-10 2006-04-13 Eisuke Kanzaki Document editing system

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604858A (en) * 1992-08-10 1997-02-18 International Business Machines Corporation Method and system for apparent direct editing of fixed display elements within a data processing system
US5581670A (en) * 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
CA2124624C (en) * 1993-07-21 1999-07-13 Eric A. Bier User interface having click-through tools that can be composed with other tools
US5826025A (en) 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
AUPO525497A0 (en) * 1997-02-21 1997-03-20 Mills, Dudley John Network-based classified information systems
US6278678B1 (en) * 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP2000339312A (ja) * 1999-05-31 2000-12-08 Toshiba Corp 文書編集システム及びタグ情報管理テーブル作成方法
US7124360B1 (en) * 1999-08-04 2006-10-17 William Drenttel Method and system for computer screen layout based on a recombinant geometric modular structure
AU2001264895A1 (en) * 2000-06-21 2002-01-02 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7117435B1 (en) * 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US7259753B2 (en) * 2000-06-21 2007-08-21 Microsoft Corporation Classifying, anchoring, and transforming ink
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7103838B1 (en) * 2000-08-18 2006-09-05 Firstrain, Inc. Method and apparatus for extracting relevant data
TW525067B (en) * 2000-09-28 2003-03-21 Fatwire Corp System and method for in-context editing
US6941507B2 (en) * 2000-11-10 2005-09-06 Microsoft Corporation Insertion point bungee space tool
US7191405B1 (en) * 2000-11-22 2007-03-13 Adobe Systems Incorporated System and method for editing information
JP3943830B2 (ja) * 2000-12-18 2007-07-11 株式会社東芝 文書合成方法および文書合成装置
US7120868B2 (en) * 2002-05-30 2006-10-10 Microsoft Corp. System and method for adaptive document layout via manifold content
US20070028166A1 (en) * 2002-04-10 2007-02-01 Allen Hundhausen System and processes for dynamic document construction
US20040205488A1 (en) * 2001-11-27 2004-10-14 Fry Randolph Allan Active web page for editing with any browser
US7698636B2 (en) * 2002-06-13 2010-04-13 Microsoft Corporation System and method for in-context editing of components
TW576984B (en) * 2002-07-19 2004-02-21 Jen-Hwang Weng On-line web page editing system and method
US7340673B2 (en) * 2002-08-29 2008-03-04 Vistaprint Technologies Limited System and method for browser document editing
US7000184B2 (en) * 2003-01-24 2006-02-14 The Cobalt Group, Inc. Remote web site editing in a standard web browser without external software
US20040202352A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Enhanced readability with flowed bitmaps
US7890852B2 (en) * 2003-06-26 2011-02-15 International Business Machines Corporation Rich text handling for a web application
JP2005149061A (ja) * 2003-11-14 2005-06-09 Ricoh Co Ltd 情報処理システム、プログラム、及び記憶媒体
US20050262439A1 (en) * 2004-05-20 2005-11-24 Neil Cameron Automatic web publishing
EP1766531A4 (en) * 2004-07-08 2008-08-27 Microsoft Corp IMPORT OF AUTOMATICALLY PRODUCED CONTENT
US7574048B2 (en) * 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US20070150477A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Validating a uniform resource locator ('URL') in a document
US7793231B2 (en) * 2006-01-19 2010-09-07 International Business Machines Corporation Method and system for providing a primary window overlay
US20070288859A1 (en) * 2006-06-07 2007-12-13 Siemens Communications, Inc. Method and apparatus for selective forwarding of e-mail and document content
US20080209311A1 (en) * 2006-12-29 2008-08-28 Alex Agronik On-line digital image editing with wysiwyg transparency

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060077494A1 (en) * 2004-10-10 2006-04-13 Eisuke Kanzaki Document editing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180137958A (ko) * 2017-06-20 2018-12-28 주식회사 인프라웨어 전자문서를 편집하는 방법 및 장치
KR102029057B1 (ko) 2017-06-20 2019-10-07 주식회사 인프라웨어 전자문서를 편집하는 방법 및 장치

Also Published As

Publication number Publication date
EP2260406A4 (en) 2018-01-24
BRPI0907464A2 (pt) 2015-07-14
JP5490729B2 (ja) 2014-05-14
US8266524B2 (en) 2012-09-11
JP2011514993A (ja) 2011-05-12
CA2712925C (en) 2016-08-30
AU2009217633B2 (en) 2014-01-16
MX2010009102A (es) 2010-09-09
CN101952821B (zh) 2013-05-01
IL207097A (en) 2016-02-29
CN101952821A (zh) 2011-01-19
CA2712925A1 (en) 2009-09-03
WO2009108417A1 (en) 2009-09-03
US20090217158A1 (en) 2009-08-27
AU2009217633A1 (en) 2009-09-03
MY154193A (en) 2015-05-15
BRPI0907464B1 (pt) 2020-02-11
EP2260406B1 (en) 2021-04-07
RU2010135522A (ru) 2012-02-27
ZA201005076B (en) 2011-09-28
IL207097A0 (en) 2010-12-30
RU2493589C2 (ru) 2013-09-20
EP2260406A1 (en) 2010-12-15
KR20100135756A (ko) 2010-12-27

Similar Documents

Publication Publication Date Title
KR101524897B1 (ko) 임시 편집 표면을 이용한 문서 편집
JP4814575B2 (ja) 小型スクリーンコンピューティング装置にコンテンツを表示するシステムと方法
RU2507573C2 (ru) Способы для модификации документа с использованием скрытой поверхности переноса
RU2390834C2 (ru) Способ и устройство для просмотра и взаимодействия с электронной таблицей из веб-браузера
JP4896444B2 (ja) 電子ドキュメント内で特定のタイプのコンテンツを管理するための方法、装置、およびコンピュータ可読媒体
US7895179B2 (en) Asynchronous updating of web page data views
US9727538B2 (en) Editing a fragmented document
US9436772B2 (en) Appending a uniform resource identifier (URI) fragment identifier to a uniform resource locator (URL)
US10169481B2 (en) Method for intelligent web reference preloading based on user behavior prediction
US10353721B2 (en) Systems and methods for guided live help
US20080282175A1 (en) Automatically encoded, gracefully degrading panels
US20070180148A1 (en) Method and apparatus for creating scalable hi-fidelity HTML forms
US9021352B2 (en) Methods and apparatus for predictive document rendering
US8949858B2 (en) Augmenting user interface elements with information
US9910835B2 (en) User interface for creation of content works
US20130111333A1 (en) Scaling objects while maintaining object structure
US20060107225A1 (en) Method and computer-readable medium for interacting with a portion of an electronic document
US20070180049A1 (en) Code hyperlinks
CN111159608A (zh) 信息处理装置、存储介质及信息处理方法
US8413062B1 (en) Method and system for accessing interface design elements via a wireframe mock-up
CN112667218A (zh) 一种处理方法、装置、设备及存储介质
WO2018063837A1 (en) Video generation of project revision history
JP6091231B2 (ja) 情報処理装置、コンピュータプログラム
RU2752777C1 (ru) Способ компьютерного увеличения и центрирования объектов в веб-браузере
US20210365280A1 (en) System & method for automated assistance with virtual content

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: 20180427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 5