KR20060050408A - Method, system, and computer-readable medium for creating and laying out a graphic within an application program - Google Patents
Method, system, and computer-readable medium for creating and laying out a graphic within an application program Download PDFInfo
- Publication number
- KR20060050408A KR20060050408A KR1020050073848A KR20050073848A KR20060050408A KR 20060050408 A KR20060050408 A KR 20060050408A KR 1020050073848 A KR1020050073848 A KR 1020050073848A KR 20050073848 A KR20050073848 A KR 20050073848A KR 20060050408 A KR20060050408 A KR 20060050408A
- Authority
- KR
- South Korea
- Prior art keywords
- constraints
- constraint
- graphic
- algorithms
- layout
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Document Processing Apparatus (AREA)
Abstract
드로잉 응용 프로그램 내에 그래픽을 생성 및 레이아웃하기 위한 방법, 장치 및 컴퓨터 판독가능한 매체가 제공된다. 상기 방법은, 그래픽에 표시될 데이터 세트 및 데이터 관계들을 정의하는 데이터 모델을 수신하는 단계; 데이터 모델로부터의 데이터의, 알고리즘들, 알고리즘 파라미터들, 제약들(constraints), 제약 법칙들(constraint rules) 및 형상 속성들(shape properties)의 세트에의 매핑(mapping)을 기술하는 그래픽 정의를 수신하는 단계; 그래픽 정의로부터의 알고리즘들, 제약들 및 제약 법칙들의 세트를 이용하여 레이아웃 노드들에 대한 형상 크기 및 위치를 결정하는 단계; 및 크기 및 위치를 포함하여, 그래픽에 대한 형상들 및 형상 속성들의 리스트를 생성하는 단계를 포함한다. 상기 방법은 제약 법칙들의 세트에 기초하여 그래픽이 특정 영역 내로의 소정의 레이아웃에 들어맞는지 및 그래픽이 특정 영역에 들어맞지 않는지를 결정한 다음에, 제약 법칙들을 이용하여 제약 값들의 세트를 수정하는 단계를 더 포함한다.A method, apparatus, and computer readable medium are provided for creating and laying out graphics in a drawing application. The method includes receiving a data model defining a data set and data relationships to be displayed in the graphic; Receive a graphical definition describing the mapping of data from the data model to a set of algorithms, algorithm parameters, constraints, constraint rules, and shape properties. Doing; Determining a shape size and location for layout nodes using a set of algorithms, constraints and constraint laws from the graphical definition; And generating a list of shapes and shape attributes for the graphic, including size and position. The method determines based on the set of constraint laws whether the graphic fits into a given layout into a particular area and if the graphic does not fit into a particular area, then modifying the set of constraint values using the constraint laws. It includes more.
그래픽, 데이터 모델, 제약, 제약 법칙, 레이아웃, 드로잉 응용 프로그램 Graphics, Data Models, Constraints, Constraints, Layouts, Drawing Applications
Description
도 1은 본 발명의 다양한 실시예들에서 이용되고, 다양한 실시예들에 의해 제공되는 컴퓨터 시스템을 예시한 컴퓨터 시스템 아키텍처 그래프.1 is a computer system architecture graph illustrating a computer system used in various embodiments of the present invention and provided by various embodiments.
도 2는 본 발명의 다양한 실시예들에 따른, 도 1의 컴퓨터 시스템에서의 드로잉 응용 프로그램 내의 그래픽의 생성 및 레이아웃에 이용되는 다양한 컴포넌트들의 블록도.2 is a block diagram of various components used in the generation and layout of graphics in a drawing application in the computer system of FIG.
도 3은 본 발명의 다양한 실시예들에 따른, 예시적인 레이아웃 트리의 블록도.3 is a block diagram of an exemplary layout tree, in accordance with various embodiments of the present invention.
도 4는 본 발명의 다양한 실시예들에 따른, 레이아웃 트리를 생성하기 위한 예시적인 그래픽 정의의 일부의 블록도.4 is a block diagram of a portion of an exemplary graphical definition for generating a layout tree, in accordance with various embodiments of the present invention.
도 5는 본 발명의 일 실시예에 따른, 그래픽을 생성 및 레이아웃하기 위해 도 1의 컴퓨터 시스템에서의 드로잉 응용 프로그램에 의해 수행되는 예시적인 루틴.5 is an exemplary routine performed by a drawing application in the computer system of FIG. 1 to generate and layout graphics, in accordance with an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
5: 중앙처리장치 7: 시스템 메모리5: central processing unit 7: system memory
9: RAM 10: 드로잉 애플리케이션 프로그램9: RAM 10: drawing application program
11: ROM 14: 대용량 저장장치11: ROM 14: Mass Storage Device
16: 운영체계 18: 네트워크16: operating system 18: network
20: 네트워크 인터페이스 유닛 22: 입출력 제어기20: network interface unit 22: input / output controller
24: 그래픽 26: 지속 파일24: Graphic 26: Persistent File
30: 데이터 모델 40: 그래픽 정의 파일30: Data Model 40: Graphic Definition File
[관련 출원들과의 상호-참조][Cross-Reference to Related Applications]
본 특허 출원은, 본 출원과 동일한 양수인에게 양도되고, 2004년 9월 30일에 출원된, "Editing The Text Of An Arbitrary Graphic Via A Hierarchical List" 명칭의 미국 특허 출원 번호 제_______호와 관련이 있고, 이와 동시에 출원되었다. 전술한 특허 출원은 참조로서 그대로 본 명세서에 명백하게 통합되어 있다.This patent application is related to US Patent Application No. _______, entitled “Editing The Text Of An Arbitrary Graphic Via A Hierarchical List,” assigned to the same assignee as the present application and filed on September 30, 2004. There is, and simultaneously filed. The foregoing patent application is expressly incorporated herein by reference as is.
워드 프로세서들 및 전용 드로잉 응용 프로그램들(drawing application programs)을 포함한 현대의 소프트웨어 애플리케이션들은, 사용자들이 간단한 그래픽과 복잡한 그래픽 양쪽 모두를 생성할 수 있게 한다. 이들 드로잉 프로그램들은 사용자들이, 텍스트와 함께 주석첨가(annotate)될 수 있는 다양한 형상들(shapes)을 이용하여 그래픽들을 생성할 수 있게 한다. 이들 응용 프로그램들에 의해 생성된 그래픽들은 단독형 문서(stand-alone document)들일 수 있거나 텍스트 문서들에 통합될 수 있다. 그러나, 현대의 드로잉 프로그램들에 의해 제공되는 장점들에도 불구하고, 이들 프로그램들은 통상의 사용자에 의한 그래픽들의 생성 및 레이아웃을 저해하는 여러 가지 단점들을 갖는다.Modern software applications, including word processors and dedicated drawing application programs, allow users to create both simple and complex graphics. These drawing programs allow users to create graphics using various shapes that can be annotated with text. Graphics generated by these applications may be stand-alone documents or integrated into text documents. However, despite the advantages provided by modern drawing programs, these programs have several disadvantages that hinder the creation and layout of graphics by an ordinary user.
현대의 드로잉 프로그램들의 하나의 단점은, 비록 이들 프로그램들이 그래픽들을 생성하기 위한 툴들을 제공할 수 있지만, 많은 사용자들은 이들 기존의 툴들을 알고 있지 않거나, 이 툴들을 효율적으로 사용하는 법을 알고 있지 않다는 점이다. 결과적으로, 사용자들은 그 자신의 그래픽들을 생성하거나 그래픽 툴들을 부정확하게 사용함으로써, 그래픽의 형상이 오정렬(misalign)되거나, 동일한 글자 크기(font size)여야 하는 텍스트가 동일하지 않게 된다. 현대의 드로잉 프로그램들의 다른 단점은, 텍스트를 포함하는 형상들이, 추가되거나 확장된 텍스트에 대하여 텍스트가 형상에 완전히 둘러싸인 채로 유지되도록, 글자 크기를 자동으로 조정하거나 형상들의 치수들을 자동으로 확장하지 않는다는 점이다. 현대의 드로잉 프로그램들의 또 다른 단점은, 이들 프로그램들이 고정된 레이아웃을 제공하거나 레이아웃을 전혀 제공하지 않는다는 점이다. 레이아웃이 없는 프로그램들은 사용자들이 수동으로 형상마다 크기 및 위치를 정하는 것을 요구하고, 고정된 레이아웃을 갖는 프로그램들은 사용자들이 형상의 크기 또는 위치에 대하여 임의의 변경들 또는 커스터마이제이션(customization)들을 행하지 못하게 한다.One disadvantage of modern drawing programs is that although these programs can provide tools for generating graphics, many users do not know these existing tools or know how to use them efficiently. Is the point. As a result, users create their own graphics or use graphics tools incorrectly, such that the shape of the graphics is misaligned or the text that should be the same font size is not the same. Another drawback of modern drawing programs is that shapes containing text do not automatically adjust letter size or automatically expand the dimensions of the shapes so that the text remains completely surrounded by the shape for added or expanded text. to be. Another disadvantage of modern drawing programs is that they provide a fixed layout or no layout at all. Programs without layout require users to manually size and position each shape, and programs with a fixed layout prevent users from making any changes or customizations to the size or position of the shape.
이러한 고려사항들 및 다른 고려사항들과 관련하여, 본 발명의 다양한 실시예들이 이루어졌다.In connection with these and other considerations, various embodiments of the invention have been made.
본 발명에 따르면, 전술한 문제점들 및 기타 다른 문제점들은, 데이터 및 관계들(relationships)을 특정 그래픽 레이아웃으로 변환하는 제약(constraint)들의 세트에 기초하여 드로잉 응용 프로그램 내에 그래픽을 생성 및 레이아웃하기 위한 방법, 장치 및 컴퓨터 판독가능한 매체에 의해 해결된다. 상기 방법은, 그래픽에 표시될 데이터 및 그 데이터 간의 관계들을 정의하는 데이터 모델을 수신하는 단계; 생성될 그래픽을 정의하는 그래픽 정의(graphic definition)를 수신하는 단계; 데이터 모델로부터의 데이터를 그래픽 정의에서의 정보에 매핑(mapping)함으로써 레이아웃 트리(tree)를 생성하는 단계; 그래픽 정의에 특정된 제약 값들 및 제약 법칙들(constraint rules)에 따라 그래픽 형상들(graphic shapes)에 대한 크기 및 위치를 결정하는 단계; 및 레이아웃 트리로부터의 정보를 이용하여 그래픽에 대한 형상 리스트(shape list)를 생성하는 단계를 포함한다. 그 다음, 이들 형상들은 최종적인 그래픽을 달성하기 위해 임의의 렌더링 애플리케이션(rendering application)에 의해 렌더링될 수 있다.In accordance with the present invention, the foregoing and other problems are a method for creating and laying out graphics in a drawing application based on a set of constraints that transform data and relationships into a particular graphical layout. , Devices and computer readable media. The method includes receiving a data model defining data to be displayed in a graphic and relationships between the data; Receiving a graphic definition defining a graphic to be generated; Generating a layout tree by mapping data from the data model to information in the graphic definition; Determining size and position for graphic shapes according to constraint values and constraint rules specified in the graphic definition; And generating a shape list for the graphics using the information from the layout tree. These shapes can then be rendered by any rendering application to achieve the final graphics.
데이터 모델로부터의 데이터를 그래픽 정의에서의 정보에 매핑하기 위해서, 상기 방법은 데이터 모델을 통해 반복하고(iterate) 그래픽 정의에 특정된 판단기준(criteria)을 적용하여, 그래픽을 구성하는데 필요한 각각의 형상에 대한 알고리즘들, 제약들, 제약 법칙들 및 형상 속성들을 결정한다. 그 다음, 이들 데이터 세트들은, 그래픽 구조의 계층적 표시(hierarchical representation)인, 레이아웃 트리에 추가된다.In order to map the data from the data model to the information in the graphic definition, the method iterates through the data model and applies the criteria specified in the graphic definition to each shape necessary to construct the graphic. Algorithms, constraints, constraint laws and shape properties for. These data sets are then added to the layout tree, which is a hierarchical representation of the graphical structure.
그래픽 형상들의 크기 및 위치를 결정하기 위해서, 상기 방법은 그래픽 정의에서의 알고리즘들, 제약들 및 제약 법칙들에 액세스한다. 알고리즘들은 원형 경로(circular path)에 형상들을 레이아웃하는 것 또는 선형 경로(linear path)에 형상들을 레이아웃하는 것과 같은 특정 그래픽 레이아웃을 달성하기 위해 형상들의 크기 및 위치를 정하는 법을 알고 있는 잠재적인 알고리즘들의 비한정적인 세트로부터 얻어진다. 알고리즘들은 형상들의 수, 각 형상 내의 텍스트의 양, 및 형상들이 레이아웃될 영역의 치수들(dimensions)에 기초하여, 형상들의 크기 및 위치를 결정하기 위해, 제약 법칙들, 또는 범위 내에서 개시 값들(starting values)을 변경하기 위한 명령들에 따르는, 제약들, 또는 개시 값들을 이용한다.In order to determine the size and position of the graphic shapes, the method accesses algorithms, constraints and constraint laws in the graphic definition. Algorithms are potential algorithms that know how to size and position shapes to achieve a particular graphical layout, such as laying out shapes on a circular path or laying out shapes on a linear path. Obtained from a non-limiting set. Algorithms determine the size and location of the shapes based on the number of shapes, the amount of text in each shape, and the dimensions of the area in which the shapes are to be laid out, including constraints, constraints, or starting values, according to instructions for changing the starting values).
본 발명은 컴퓨터 프로세스, 컴퓨팅 시스템으로서, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능한 매체와 같은 제조 물품으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하고, 컴퓨터 프로세스를 실행하기 위한 명령들의 컴퓨터 프로그램을 인코딩한, 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨터 시스템에 의해 판독가능하고, 컴퓨터 프로세스를 실행하기 위한 명령들의 컴퓨터 프로그램을 인코딩한, 반송파(carrier) 상의 전파 신호(propagated signal)일 수 있다.The invention may be implemented as a computer process, computing system, or as an article of manufacture such as a computer program product or a computer readable medium. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier, readable by a computer system and encoding a computer program of instructions for executing a computer process.
본 발명을 특징지우는 이들 및 다양한 다른 특징들뿐만 아니라 장점들은 다음의 상세한 설명 및 연관되는 도면들로부터 명백해질 것이다.These and various other features as well as advantages characterizing the present invention will become apparent from the following detailed description and the associated drawings.
이제, 동일한 부호는 동일한 요소를 나타내는 도면들을 참조하여, 본 발명의 다양한 양태들에 대하여 설명하기로 한다. 특히, 도 1 및 대응하는 논의는 본 발 명의 실시예들이 구현될 수 있는 적절한 컴퓨팅 환경에 대한 간단한 일반적인 설명을 제공하기 위한 것이다. 본 발명은 개인용 컴퓨터상의 운영 체계에서 구동하는 프로그램 모듈들과 함께 실행하는 프로그램 모듈들의 일반적인 문맥에서 설명될 것이지만, 이 기술분야의 당업자들이면, 본 발명이 또한 다른 유형의 컴퓨터 시스템들 및 프로그램 모듈들과 함께 구현될 수 있다는 것을 인식할 것이다.DETAILED DESCRIPTION Various aspects of the present invention will now be described with reference to the drawings wherein like numerals represent like elements. In particular, FIG. 1 and corresponding discussion are intended to provide a brief general description of a suitable computing environment in which embodiments of the present invention may be implemented. Although the present invention will be described in the general context of program modules executing with program modules running on an operating system on a personal computer, those skilled in the art will also appreciate that the present invention may also be useful with other types of computer systems and program modules. It will be appreciated that it can be implemented together.
일반적으로, 프로그램 모듈들은 루틴들, 프로그램들, 컴포넌트들, 데이터 구조들 및 특정 태스크들을 수행하거나 특정 추상화 데이터 유형들(abstract data tapes)을 구현하는 다른 유형의 구조들을 포함한다. 또한, 이 기술분야의 당업자들은 본 발명이 핸드헬드 장치들(hand-held devices), 멀티프로세서 시스템들, 마이크로프로세서-기반 또는 프로그램가능 가전 제품들(consumer electronics), 미니컴퓨터들(minicomputers), 메인프레임 컴퓨터들(mainframe computers) 등을 포함하여, 다른 컴퓨터 시스템 구성들과 함께 실행될 수 있다는 것을 알 수 있을 것이다. 본 발명은 또한 통신 네트워크를 통하여 링크되는 원격 프로세싱 장치들에 의해 태스크들이 수행되는 분산형 컴퓨팅 환경들에서 실행될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 장치들 양쪽 모두에 위치할 수 있다.Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data tapes. In addition, those skilled in the art will appreciate that the present invention provides hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mains It will be appreciated that it may be implemented with other computer system configurations, including mainframe computers and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
이제, 도 1을 참조하면, 본 발명의 다양한 실시예들에서 이용되는 컴퓨터(2)에 대한 예시적인 컴퓨터 아키텍처가 설명될 것이다. 도 1에 도시된 컴퓨터 아키텍처는, 중앙 처리 장치("CPU")(5); RAM(random access memory)(9) 및 ROM(rom only memory)(11)을 포함한 시스템 메모리(7); 및 메모리를 CPU(5)에 연결하는 시 스템 버스(12)를 포함하는 통상적인 데스크톱(desktop) 또는 랩톱(laptop) 컴퓨터를 예시한다. 시동(start-up) 동안과 같이, 컴퓨터 내의 요소들 간에 정보를 전송하는 것을 도와 주는 기본 루틴들을 포함하는 BIOS(basic input/output system)가 ROM(11)에 저장된다. 컴퓨터(2)는 운영 체계(16), 응용 프로그램들 및 다른 프로그램 모듈들을 저장하기 위한 대용량 저장 장치(14)를 더 포함하며, 이것은 하기에서 보다 상세하게 설명될 것이다.Referring now to FIG. 1, an exemplary computer architecture for a
대용량 저장 장치(14)는 버스(12)에 연결되는 대용량 저장장치 제어기(mass storage controller)(도시되지 않음)를 통하여 CPU(5)에 연결된다. 대용량 저장 장치(14) 및 연관된 컴퓨터 판독가능한 매체는 컴퓨터(2)에 비휘발성 저장장치를 제공한다. 비록 본 명세서에 포함된 컴퓨터 판독가능한 매체의 설명이 하드 디스크 또는 CD-ROM과 같은 대용량 저장 장치를 가리키고 있지만, 이 기술분야의 당업자들은 컴퓨터 판독가능한 매체가 컴퓨터(2)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다는 것을 알아야 한다.The
예시적으로, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으며, 이것으로 한정되지 않는다. 컴퓨터 저장 매체는 컴퓨터 판독가능한 명령들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체를 포함한다. 컴퓨터 저장 매체는, RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 고체 메모리 기술, CD-ROM, DVD(digital versatile disk), 또는 다른 광 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 다른 자기 저장 장치들, 또는 원하는 정보를 저장하는데 이용될 수 있고 컴퓨터(2)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하며, 이것으로 한정되지 않는다.By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media may include RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disk (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other. Magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by
본 발명의 다양한 실시예들에 따르면, 컴퓨터(2)는 인터넷과 같은 네트워크(18)를 통한 원격 컴퓨터들과의 논리 접속들(logical connections)을 이용하는 네트워킹된 환경(networked environment)에서 동작할 수 있다. 컴퓨터(2)는 버스(12)에 연결되는 네트워크 인터페이스 유닛(20)을 통하여 네트워크(18)에 연결할 수 있다. 네트워크 인터페이스 유닛(20)은 또한 다른 유형의 네트워크들 및 원격 컴퓨터 시스템들에 연결하는데 이용될 수 있다는 것을 알아야 한다. 컴퓨터(2)는 또한 키보드, 마우스 또는 전자 스타일러스(electronic stylus)(도 1에 도시되지 않음)를 포함하여, 다른 다수의 장치들로부터의 입력을 수신하고 처리하기 위한 입출력 제어기(22)를 포함할 수 있다. 마찬가지로, 입출력 제어기(22)는 표시 화면, 프린터 또는 다른 유형의 출력 장치에 출력을 제공할 수 있다.According to various embodiments of the present invention, the
상기에 간단하게 언급한 바와 같이, 다수의 프로그램 모듈들 및 데이터 파일들은 워싱톤, 레드몬드의 MICROSOFT CORPORATION으로부터의 WINDOWS XP 운영 체계와 같은, 네트워킹된 개인용 컴퓨터의 동작을 제어하는데 적절한 운영 체계(16)를 포함하여, 컴퓨터(2)의 대용량 저장 장치(14) 및 RAM(9)에 저장될 수 있다. 대용량 저장 장치(14) 및 RAM(9)은 또한 하나 또는 그 이상의 프로그램 모듈들을 저장할 수 있다. 특히, 대용량 저장 장치(14) 및 RAM(9)은 드로잉 응용 프로그램(10)을 저장할 수 있다. 드로잉 응용 프로그램(10)은 그래픽(24)과 같은, 그래픽의 생성 및 레이아웃을 위한 기능을 제공하는 동작을 한다. 본 발명의 일 실시예에 따 르면, 드로잉 응용 프로그램(10)은 WORD, EXCEL 및 POWERPOINT 응용 프로그램들을 포함하는 MICROSOFT CORPORATION으로부터의 응용 프로그램들의 OFFICE 슈트(suite)를 포함한다. 이제, 도 2를 참조하면, 드로잉 응용 프로그램(10) 내에서의 그래픽의 생성 및 레이아웃에 이용되는 다양한 컴포넌트들의 블록도가 본 발명의 다양한 실시예들에 따라 도시된다. 다양한 컴포넌트들은 데이터 모델(30), 그래픽 정의(40), 레이아웃 트리(50), 알고리즘(60) 및 형상 리스트(70)를 포함한다. 본 발명의 다양한 실시예들에 있어서, 드로잉 응용 프로그램(10)은 그래픽의 생성 및 레이아웃에 관한 명령들을 위한 그래픽 정의(40)에서 판독한다. 본 발명의 일 실시예에 있어서, 데이터 모델(30) 및 그래픽 정의 파일(40)은 드로잉 응용 프로그램(10)에 의해 액세스되는 컴퓨터 시스템(2)에 개별 파일들로서 저장될 수 있다.As briefly mentioned above, a number of program modules and data files comprise an
데이터 모델(30)은 노드들, 관계들, 텍스트, 및 그래픽(24)을 구성하기 위한 콘텐트(content)를 포함하는 속성들의 모음(collection)을 포함한다. 그래픽 정의(40)는 특정 그래픽 레이아웃을 생성하는 법을 기술하는 데이터의 모음이다. 본 발명의 다양한 실시예들에 있어서, 그래픽 정의(40)는 확장성 마크업 언어(extensible markup language: XML)에 따라 포맷이 정해질 수 있다. 이 기술분야의 당업자들에 의해 이해되는 바와 같이, XML은 데이터를 통신하기 위한 표준 포맷이다. XML 데이터 포맷에서는, 통신될 수 있는 데이터의 유형 및 구조를 결정하는 문법적 및 데이터 유형 법칙들의 세트를 갖는 XML 데이터를 제공하기 위한 스키마(schema)가 이용된다. XML 데이터 포맷은 이 기술분야의 당업자들에게 잘 알려져 있으므로, 본 명세서에서는 보다 상세하게 설명되지 않는다. 그래픽 정의(40)에 의해 기술되는 그래픽의 양태들은, 각각의 레이아웃 노드에 대해 이용하기 위한 레이아웃 알고리즘의 명칭, 알고리즘 파라미터들, 제약들, 및 레이아웃 트리, 형상 지오메트리(shape geometry) 및 스타일 속성들에 대한 디폴트(default), 그래픽 분류 데이터 및 샘플 데이터 모델을 구성하기 위한 제약 법칙들을 포함한다.
제약들은 그래픽을 생성하기 위한 레이아웃 알고리즘에 의해 이용되는 조건들이다. 제약의 일례는, 형상의 폭을 위해 이용될 값이다. 제약들은 수치 값들 또는 부울(Boolean) 값들을 포함할 수 있다는 것을 알 수 있을 것이다. 수치 제약들(numeric constraints)은 특정 수치 값(예를 들어, 폭 = 1 inch)을 특정할 수 있다. 수치 제약들은 또한 참조들을 이용한 다른 제약 값들을 참조함으로써 그 값을 계산할 수 있다(예를 들어, 높이 = 폭 * 0.75). 부울 제약들(Boolean constraints)은 한 세트의 모든 노드들이 다른 제약에 대해 동일한 값을 갖도록 하는 균등(equality) 제약들을 포함할 수 있고, 하나의 제약 값이 다른 제약 값에 기초하여 한정되는(예를 들어, 형상의 폭은 다른 형상의 높이보다 작거나 클 필요가 있는) 불균등(inequality) 제약들을 포함할 수 있다. 제약들은 드로잉 요소들 사이의 균등(예를 들어, 모든 정상 노드들은 동일한 글자 크기를 갖는다) 또는 불균등(예를 들어, 전이(transition) 노드들의 폭은 정상 노드 폭보다 작거나 같아야 한다)을 실시하기 위해 레이아웃 노드들 사이에 전파(propagate)될 수 있다. 제약들은 그 상태들을 다른 레이아웃 노드들에 전파하는 제약에 공유 전파자(shared propagator)를 부착함으로써 전파될 수 있다. 제약들과 제약 법칙들 양쪽 모두는 전파한 제약으로부터 다른 노드들에 대해 갱신될 수 있다는 것을 알 수 있을 것이 다. 제약 법칙들은, 제약 법칙들이 레이아웃 알고리즘에 의해 충족될 수 없는 경우에 제약들의 세트를 어떻게 수정할 것인지에 대한 설명이다. 예를 들어, 제약은 글자 크기가 14 포인트여야 함을 특정할 수 있지만, 제약 법칙은 글자 크기가 최소 8 포인트로 감소시킬 수 있음을 특정할 수 있다. 그래픽 정의(40)는 하기에서 도 4를 참조하여 보다 상세하게 논의될 것이다.Constraints are the conditions used by the layout algorithm to generate the graphics. One example of a constraint is the value to be used for the width of the shape. It will be appreciated that the constraints may include numerical values or Boolean values. Numeric constraints may specify a particular numerical value (eg width = 1 inch). Numerical constraints may also calculate the value by referring to other constraint values using references (eg, height = width * 0.75). Boolean constraints may include equality constraints such that all nodes of a set have the same value for another constraint, and one constraint value is defined based on another constraint value (e.g., For example, the width of the shape may include inequality constraints that need to be smaller or larger than the height of the other shape. Constraints are to enforce equality (eg all normal nodes have the same font size) or inequality (eg, the widths of transition nodes must be less than or equal to the normal node width) between drawing elements. Can be propagated between layout nodes. Constraints can be propagated by attaching a shared propagator to a constraint that propagates its states to other layout nodes. It will be appreciated that both constraints and constraint laws can be updated for other nodes from the propagating constraint. Constraint laws are a description of how to modify a set of constraints if the constraint laws cannot be met by the layout algorithm. For example, the constraint may specify that the font size should be 14 points, but the constraint law may specify that the font size can be reduced to at least 8 points.
레이아웃 트리(34)는 표시 요소들(presentation elements) 또는 레이아웃 노드들의 모음이다. 레이아웃 노드는 그래픽(24)의 요소를 형성하는 하나의 형상 또는 형상들의 그룹을 나타내는 레이아웃 트리에서의 노드이다. 레이아웃 노드는 데이터 모델(30)의 노드들에 선택적으로 링크될 수 있다. 레이아웃 트리(34)는 각 지오메트리들, 속성들, 텍스트 맞춤(text fitting) 및 형상들의 배치를 포함하여, 그래픽을 구성할 형상들에 관한 데이터를 저장한다.
드로잉 응용 프로그램(10)은 레이아웃 노드들 및 이들 레이아웃 노드들과 연관하는 알고리즘들, 제약들 및 제약 법칙들을 구성하기 하기 위해 데이터 모델로부터의 데이터를 그래픽 정의에서의 그래픽 레이아웃 정보에 매핑함으로써 레이아웃 트리를 구성한다. 그 다음, 드로잉 응용 프로그램(10)은 드로잉 캔버스(drawing canvas) 상에 그래픽(24)을 렌더링하는데 이용되는 형상 리스트(50)를 구성하기 전에 형상 치수들, 텍스트 맞춤, 및 형상 배치를 결정하기 위해 알고리즘, 제약들 및 제약 법칙들을 이용한다. 레이아웃 노드들은 하기에서 보다 상세하게 논의될 것이다. 레이아웃 트리(34)는 하기에서 도 3을 참조하여 보다 상세하게 논의될 것이다.The
이제, 도 3을 참조하면, 레이아웃 트리(34)의 일례의 블록도가 본 발명의 다양한 실시예들에 따라 도시되어 있다. 도 3에 도시된 레이아웃 트리(34)는 예시적인 것이며, 레이아웃 트리들은 그래픽에 대한 데이터의 양 및 그래픽 레이아웃이 정의되는 법에 따라 보다 크거나 보다 작을 수 있다는 것을 이해해야 한다. 레이아웃 트리(34)는 그래픽(24)을 레이아웃함에 있어서 이용될 레이아웃 노드들의 계층적 배열을 포함한다. 이 경우, 레이아웃 노드들은 그래픽을 포함하는 전체 페이지 영역, 페이지 노드(62)를 나타낸다. 페이지 노드(62)의 하위 노드들(또는 제2 레벨 노드들)은 그래픽 노드(64), 제목 노드(66) 및 콜아웃(callouts) 노드(67)를 포함한다. 그래픽 노드(64)의 하위 노드들은 다이어그램(diagram)을 구성하고, 데이터 모델 요소들에 맵 백(map back)하는 형상들을 나타내는, 제1 레벨 노드(68), 제2 레벨 노드(70) 및 제3 레벨 노드(72)를 포함한다. 또한, 제3 레벨 노드는, 가시적 형상들(visible shapes)을 나타내고 데이터 모델 요소들에 맵 백하는 하위 노드들인, 포인트 A(74) 및 포인트 B(76)를 포함한다.Referring now to FIG. 3, a block diagram of an example of
이제, 도 4를 참조하면, 그래픽 정의(40)의 일부의 블록도가 본 발명의 다양한 실시예들에 따라 도시되어 있다. 도 4에 도시된 바와 같이, 그래픽 정의의 이러한 구현은 그래픽(24)의 레이아웃을 정의하는 XML 스키마(schema)에 기초한다. XML 스키마는 레이아웃 노드에 의해 그래픽을 레이아웃하는데 이용되는 알고리즘의 타입(즉, pyramid)을 정의하는 Algorithm 태그를 포함하는 서브태그들(subtags)을 갖는 LayoutNode 태그(47), 레이아웃 노드에 의해 그래픽에서 이용될 수 있는 형상들(즉, trapezoid)을 정의하기 위한 Shapes 태그(48), 및 제약들을 정의하기 위한 Constraints 태그(49)를 포함한다.Referring now to FIG. 4, a block diagram of a portion of
이제, 도 5를 참조하면, 그래픽을 생성 및 레이아웃하기 위한 드로잉 응용 프로그램(10)에 의해 수행되는 프로세스를 도시한 예시적인 루틴(500)이 설명될 것이다. 본 명세서에 제시된 루틴들에 대한 논의를 읽으면, 본 발명의 다양한 실시예들의 논리 연산들은 (1) 컴퓨팅 시스템에서 구동하는 컴퓨터로 구현되는 행동들(acts) 또는 프로그램 모듈들의 시퀀스로서 및/또는 (2) 컴퓨팅 시스템 내의 상호접속된 기계 로직 회로들 또는 회로 모듈들로서 구현된다는 것을 알 수 있을 것이다. 구현은 본 발명을 구현하는 컴퓨팅 시스템의 성능 요건들에 따른 선택의 문제이다. 따라서, 도 5에 예시된, 본 명세서에 설명된 본 발명의 실시예들을 구성하는 논리 연산들은 연산들, 구조 장치들, 행동들 또는 모듈들로서 다양하게 지칭된다. 이 기술분야의 당업자들이면, 이들 연산들, 구조적 장치들, 행동들 및 모듈들이 본 명세서에 정의된 특허청구범위 내에 기술된 바와 같이 본 발명의 기술사상 및 범위로부터 벗어남이 없이 소프트웨어, 펌웨어, 특수 용도 디지털 로직, 및 임의의 조합으로 구현될 수 있다는 것을 인식할 것이다.Referring now to FIG. 5, an
이제, 도 5를 참조하면, 루틴(500)이 연산(510)에서 개시되며, 연산(510)에서, 드로잉 응용 프로그램(10)은 생성될 그래픽에 표시될 데이터 및 데이터 관계들을 정의하는 데이터 모델을 수신한다. 데이터 및 데이터 관계들은 그래픽 정의에 특정된 패턴들에 따라, 레이아웃 프레임워크(framework)에 의해 생성되는 레이아웃 트리(34)에서의 각 레이아웃 노드의 타입 및 수를 결정한다는 것을 알 수 있을 것이다.Referring now to FIG. 5, routine 500 begins at
루틴(500)은 연산(510)으로부터 연산(520)으로 계속 진행되며, 연산(520)에서, 드로잉 응용 프로그램(10)은 알고리즘들, 파라미터들, 제약들, 제약 법칙들 및 형상 속성들을 특정하는 레이아웃 노드들에의, 데이터 모델로부터의 데이터의 매핑에 대한 하나의 가능성(possibility)을 기술한 그래픽 정의를 수신한다. 그래픽 정의(40)는 컴퓨터 시스템(2)에 저장된, XML 파일과 같은, 개별 파일로서 검색될 수 있다는 것을 알 수 있을 것이다. 이러한 식으로, 사용자에 의해 추가될 수 있는 새로운 그래픽 정의들의 개발을 위한 지원은 새로운 그래픽 정의들이 드로잉 응용 프로그램(10)에 의해 판독될 수 있도록 제공된다. 새로운 그래픽 정의들은 레이아웃 프레임워크에 대한 변경들이 없이 생성되고 검색될 수 있으므로, 드로잉 응용 프로그램이 레이아웃할 수 있는 그래픽들의 확장된 세트를 허용할 수 있다.The routine 500 continues from
그래픽 정의는 알고리즘들, 파라미터들, 제약들 및 제약 법칙들을 적용하기 위한 패턴들을 제공한다. 본 명세서에 정의된 바와 같이, 알고리즘들은 형상들 및 텍스트의 위치 및 크기를 결정하기 위한 레이아웃 루틴들이다. 예를 들어, 하나의 알고리즘은 선형 경로(linear path)에 형상들을 레이아웃할 수 있고, 다른 알고리즘은 원형 경로(circular path)에 형상들을 레이아웃할 수 있다. 알고리즘들은 다양한 배치 옵션들을 결정하기 위해 파라미터들을 취할 수 있다는 것을 알 수 있을 것이다. 예를 들어, 선형 알고리즘은 드로잉 응용 프로그램(10)에서의 다양한 드로잉 툴 커맨드들을 통하여 제어될 수 있는 방향 및 방위(orientation)에 대한 파라미터들을 갖는다. 예를 들어, 그래픽의 방위를 변경하거나(예를 들면, 왼쪽으로부터 오른쪽 방향(left-to-right)과 오른쪽으로부터 왼쪽 방향(right-to-left)) 그 래픽을 회전하기 위해 레이아웃 알고리즘의 파라미터들 중 하나를 변경하기 위한 툴이 드로잉 응용 프로그램(10)에 제공될 수 있다. 알고리즘들은 또한 레이아웃 프레임워크의 외부에 있고, 레이아웃 프레임워크에 대한 변경들 없이 생성될 수 있는 그래픽들의 범위를 확장하기도록 추가될 수 있다.The graphical definition provides patterns for applying algorithms, parameters, constraints and constraint laws. As defined herein, algorithms are layout routines for determining the location and size of shapes and text. For example, one algorithm can lay out shapes in a linear path, and the other algorithm can lay out shapes in a circular path. It will be appreciated that algorithms may take parameters to determine various deployment options. For example, the linear algorithm has parameters for orientation and orientation that can be controlled through various drawing tool commands in the
루틴(500)은 연산(520)으로부터 연산(530)으로 계속 진행되며, 연산(530)에서, 드로잉 응용 프로그램(10)은 수신된 데이터 모델 및 수신된 그래픽 정의로부터 레이아웃 트리를 생성한다. 특히, 드로잉 응용 프로그램(10)은 데이터 모델(30)에서의 노드들을 "통과하고(walk through)", (XML 스키마에 의해 또한 정의될 수 있는) 그래픽 정의에 따라 특정 형상들 및 디폴트 스타일 속성들(default style properties)(예를 들어, 포매팅(formatting) 및 텍스트 속성들)에 데이터 모델로부터의 노드들 및 관계들을 매핑한다. 도 2를 참조하여 전술한 바와 같이, 레이아웃 트리(34)는 개별 지오메트리들, 속성들, 텍스트 맞춤 및 형상들의 배치를 포함하여, 그래픽을 구성할 형상들에 관한 데이터를 포함한다. 레이아웃 트리는 데이터 모델(30)을 통해 반복(iterating)함으로써, 그리고 그래픽 정의에 정의된 패턴들에 기초하여 레이아웃 노드들을 생성함으로써 생성된다는 것을 알 수 있을 것이다. 이터레이터(iterator)들은 데이터 모델에서의 요소들이 판독되고 레이아웃 노드 패턴들에 매칭되는 법을 나타냄으로써 레이아웃 트리를 구성하기 위한 명령들을 제공한다.The routine 500 continues from
루틴(500)은 연산(530)으로부터 연산(540)으로 계속 진행되며, 연산(540)에서, 드로잉 응용 프로그램(10)은 그래픽 정의로부터의 알고리즘들, 파라미터들, 제 약들 및 제약 법칙들을 이용하여, 레이아웃 트리에서의 레이아웃 노드들에 대한 형상 크기 및 위치를 결정한다. 루틴(500)은 연산(540)으로부터 연산(550)으로 계속 진행되며, 연산(550)에서, 드로잉 응용 프로그램(10)은 제약 값들에 기초하여 렌더링될 그래픽이 드로잉 캔버스에서의 레이아웃 스페이스(layout space)에 들어맞는지를 결정한다.The routine 500 continues from
연산(550)에서, 렌더링될 그래픽이 드로잉 캔버스에서의 레이아웃 스페이스에 들어맞지 않는 경우, 루틴(500)은 연산(560)으로 계속 진행되며, 연산(560)에서, 드로잉 응용 프로그램(10)은 레이아웃 스페이스 내로 그래픽을 맞추기 위한 제약 법칙들을 이용하여 제약 값들을 수정한다. 특히, 레이아웃 트리(34)에서의 레이아웃 노드들은 레이아웃 스페이스 내에 성공적으로 그래픽을 레이아웃하기 위한 시도로 제약 값들을 변경하기 위해 드로잉 응용 프로그램(10)이 이용할 수 있는 제약 법칙들의 정렬된 세트(ordered set)를 포함할 수 있다. 본 발명의 다양한 실시예들에 따르면, 드로잉 응용 프로그램(10)은 각 법칙을 차례로 수행함으로써, 현재의 법칙이 그래픽을 레이아웃 스페이스 내에 맞추지 못하는 경우에만 다음 법칙으로 이동한다. 일단 응용 프로그램(10)이 법칙 리스트의 전반에 걸쳐 수행을 완료하면, 응용 프로그램(10)은 형상들 및 글자 크기를 매우 작은 크기로 줄이거나, 텍스트를 절단(truncating)하거나, 레이아웃 스페이스에 형상들을 배치하지 않음으로써, 드로잉 캔버스 상의 레이아웃 스페이스 내에 드로잉 요소들이 들어맞도록 하는 고장시 조치(fall back) 법칙 리스트에 자동으로 액세스할 것이라는 것을 알 수 있을 것이다.At
전술한 그래픽 요소들은 형상들뿐만 아니라 형상들 내부에 들어맞는 텍스트를 포함한다는 것을 이해해야 한다. 따라서, 드로잉 응용 프로그램(10)은 또한 연산(550)에서, 임의의 텍스트가 드로잉 캔버스 상의 레이아웃 스페이스에서의 형상들 내에 들어맞지 않는지를 결정할 수 있다. 텍스트 제약 법칙들뿐만 아니라 다른 법칙들도 텍스트가 들어맞도록 하는 다양한 기술들이 적용되는 순서를 결정하기 위해 레이아웃 노드의 제약 법칙 리스트에 포함될 수 있다는 것을 알 수 있을 것이다. 이들 기술들은 형상의 크기를 늘리는 것 또는 텍스트 맞춤 제약들(text fit constraints)을 변경하는 것(예를 들어, 마진(margin) 및 글자 크기를 조정하는 것)을 포함할 수 있다. 텍스트 알고리즘들은 데이터 모델에 데이터가 존재하는 레이아웃 트리의 레이아웃 노드들과 관련된다. 다른 법칙들은 2개의 그래픽 요소들 사이의 스페이스의 양을 결정하기 위한 알고리즘들을 포함할 수 있다. 다른 법칙들은 2개의 그래픽 요소들 사이의 스페이스의 양, 그래픽 요소들의 상대적 위치 등을 결정하기 위한 알고리즘들을 이용할 수 있다는 것을 더 알 수 있을 것이다.It should be understood that the graphic elements described above include text that fits within the shapes as well as the shapes. Thus, the
연산(550)에서, 렌더링될 그래픽이 드로잉 캔버스 상의 레이아웃 스페이스에 들어맞는 경우, 루틴(500)은 연산(570)으로 진행되며, 연산(570)에서, 드로잉 응용 프로그램(10)은 연산(540)에서 결정된 레이아웃 트리 데이터에 기초하여 생성될 그래픽에 대한 형상 리스트를 생성한다. 일단 데이터 모델(30) 및 관계들로부터 특정 형상들 또는 형상 속성들로의 노드들이 매핑되면, 형상 리스트는 드로잉 캔버스 상에 렌더링될 수 있다. 그 다음, 루틴(500)은 종료된다.In
전술한 것에 기초하여, 본 발명의 다양한 실시예들은 전자 문서에서의 콘텐 트의 특정 타입들을 처리하기 위한 방법, 장치 및 컴퓨터 판독가능한 매체를 포함한다는 것을 인식해야 한다. 전술한 명세서, 예들 및 데이터는 본 발명의 구성의 제조 및 사용에 대한 완전한 설명을 제공한다. 본 발명의 많은 실시예들은 본 발명의 기술사상 및 범위로부터 벗어남이 없이 이루어질 수 있기 때문에, 본 발명은 이하 첨부되는 특허청구범위에 속한다.Based on the foregoing, it should be appreciated that various embodiments of the present invention include methods, apparatus, and computer readable media for processing specific types of content in an electronic document. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.
현대의 드로잉 프로그램들의 하나의 단점은, 비록 이들 프로그램들이 그래픽들을 생성하기 위한 툴들을 제공할 수 있지만, 많은 사용자들은 이들 기존의 툴들을 알고 있지 않거나, 이 툴들을 효율적으로 사용하는 법을 알고 있지 않다는 점이다. 결과적으로, 사용자들은 그 자신의 그래픽들을 생성하거나 그래픽 툴들을 부정확하게 사용함으로써, 그래픽의 형상이 오정렬되거나, 동일한 글자 크기여야 하는 텍스트가 동일하지 않게 된다. 현대의 드로잉 프로그램들의 다른 단점은, 텍스트를 포함하는 형상들이, 추가되거나 확장된 텍스트에 대하여 텍스트가 형상에 완전히 둘러싸인 채로 유지되도록, 글자 크기를 자동으로 조정하거나 형상들의 치수들을 자동으로 확장하지 않는다는 점이다. 현대의 드로잉 프로그램들의 또 다른 단점은, 이들 프로그램들이 고정된 레이아웃을 제공하거나 레이아웃을 전혀 제공하지 않는다는 점이다. 레이아웃이 없는 프로그램들은 사용자들이 수동으로 형상마다 크기 및 위치를 정하는 것을 요구하고, 고정된 레이아웃을 갖는 프로그램들은 사용자들이 형상의 크기 또는 위치에 대하여 임의의 변경들 또는 커스터마이제이션들을 행하지 못하게 한다. 본 발명에 따르면, 이러한 문제점들을 해결할 수 있다.One disadvantage of modern drawing programs is that although these programs can provide tools for generating graphics, many users do not know these existing tools or know how to use them efficiently. Is the point. As a result, users create their own graphics or use graphics tools incorrectly, such that the shape of the graphics is misaligned or the text that must be the same letter size is not the same. Another drawback of modern drawing programs is that shapes containing text do not automatically adjust letter size or automatically expand the dimensions of the shapes so that the text remains completely surrounded by the shape for added or expanded text. to be. Another disadvantage of modern drawing programs is that they provide a fixed layout or no layout at all. Programs without layout require users to manually size and position each shape, and programs with a fixed layout prevent users from making any changes or customizations to the size or position of the shape. According to the present invention, these problems can be solved.
Claims (36)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/955,271 | 2004-09-30 | ||
US10/955,271 US7348982B2 (en) | 2004-09-30 | 2004-09-30 | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060050408A true KR20060050408A (en) | 2006-05-19 |
KR101433936B1 KR101433936B1 (en) | 2014-08-27 |
Family
ID=35501378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050073848A KR101433936B1 (en) | 2004-09-30 | 2005-08-11 | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
Country Status (13)
Country | Link |
---|---|
US (4) | US7348982B2 (en) |
EP (1) | EP1643452B1 (en) |
JP (1) | JP4921744B2 (en) |
KR (1) | KR101433936B1 (en) |
CN (1) | CN100478876C (en) |
AU (1) | AU2005203708B2 (en) |
BR (1) | BRPI0503982B1 (en) |
CA (1) | CA2517409C (en) |
MX (1) | MXPA05009276A (en) |
MY (1) | MY149288A (en) |
RU (1) | RU2383929C2 (en) |
TW (1) | TWI379253B (en) |
ZA (1) | ZA200506944B (en) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239749B2 (en) * | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
US7348982B2 (en) * | 2004-09-30 | 2008-03-25 | Microsoft Corporation | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
US8510657B2 (en) * | 2004-09-30 | 2013-08-13 | Microsoft Corporation | Editing the text of an arbitrary graphic via a hierarchical list |
US8134575B2 (en) * | 2004-09-30 | 2012-03-13 | Microsoft Corporation | Maintaining graphical presentations based on user customizations |
US7743325B2 (en) * | 2005-03-15 | 2010-06-22 | Microsoft Corporation | Method and computer-readable medium for fitting text to shapes within a graphic |
US7750924B2 (en) * | 2005-03-15 | 2010-07-06 | Microsoft Corporation | Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes |
US7644356B2 (en) * | 2005-06-10 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Constraint-based albuming of graphic elements |
US7747944B2 (en) | 2005-06-30 | 2010-06-29 | Microsoft Corporation | Semantically applying style transformation to objects in a graphic |
JP2007114822A (en) * | 2005-10-18 | 2007-05-10 | Yokogawa Electric Corp | Automatic layout method and device |
JP2007200097A (en) * | 2006-01-27 | 2007-08-09 | Seiko Epson Corp | Layout method |
US8438486B2 (en) | 2006-02-09 | 2013-05-07 | Microsoft Corporation | Automatically converting text to business graphics |
JP4743154B2 (en) * | 2006-07-05 | 2011-08-10 | セイコーエプソン株式会社 | Document editing apparatus, program, and storage medium |
US20080140623A1 (en) * | 2006-12-11 | 2008-06-12 | Microsoft Corporation | Recursive reporting via a spreadsheet |
US7949948B2 (en) * | 2007-05-09 | 2011-05-24 | Microsoft Corporation | Constraint and rule-based page layout |
US8516365B2 (en) | 2007-06-15 | 2013-08-20 | Microsoft Corporation | Dynamically laying out images and associated text using pre-defined layouts |
US8417728B1 (en) * | 2007-08-03 | 2013-04-09 | Adobe Systems Incorporated | User interfaces, methods, and systems for developing computer applications using artwork |
US7810047B2 (en) * | 2007-09-04 | 2010-10-05 | Apple Inc. | List item layouts system and method |
CN101276457B (en) * | 2008-04-22 | 2011-11-23 | 北京中星微电子有限公司 | Verification pattern algorithm and system and method for realizing RTL |
US8984395B2 (en) * | 2008-06-19 | 2015-03-17 | Opera Software Asa | Methods, systems and devices for transcoding and displaying electronic documents |
US20100218090A1 (en) * | 2009-02-26 | 2010-08-26 | Universal - Ad Ltd. | Sub-page-based page layout system and method thereof |
US8581916B2 (en) * | 2009-06-26 | 2013-11-12 | Intel Corporation | Graphics analysis techniques |
CN102054283B (en) * | 2009-11-05 | 2016-01-20 | 齐营股份有限公司 | The graphical representation method of the correlation of data group and device |
US20110221764A1 (en) * | 2010-03-12 | 2011-09-15 | Microsoft Corporation | Laying out and cropping images in pre-defined layouts |
US8799325B2 (en) | 2010-03-12 | 2014-08-05 | Microsoft Corporation | Reordering nodes in a hierarchical structure |
JP2011221718A (en) * | 2010-04-07 | 2011-11-04 | Sony Corp | Generation device, generation method, and program |
WO2011136766A1 (en) * | 2010-04-28 | 2011-11-03 | Hewlett-Packard Development Company, L.P. | System and method for automatically providing a graphical layout based on an example graphic layout |
TWI426409B (en) * | 2010-11-02 | 2014-02-11 | Univ Shu Te | Modularized design system and its method |
US20120166953A1 (en) * | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Techniques for electronic aggregation of information |
JP2013050879A (en) * | 2011-08-31 | 2013-03-14 | Sony Corp | Image output apparatus, method of controlling image output apparatus, and program |
CN103150291B (en) * | 2013-01-31 | 2015-09-09 | 小米科技有限责任公司 | File method for cutting edge, terminal and server |
CN103617505B (en) * | 2013-12-05 | 2017-12-22 | 用友软件股份有限公司 | The dynamic analysis and display systems and method of corporate process figure |
US20160349931A1 (en) * | 2015-05-28 | 2016-12-01 | Rockwell Automation Technologies, Inc. | Responsive user interface for an industrial environment |
US20180285995A1 (en) * | 2015-09-25 | 2018-10-04 | Nec Patent Service,Ltd. | Information processing device, information processing method, and program-recording medium |
US10936778B2 (en) | 2016-03-28 | 2021-03-02 | Motivo, Inc. | And optimization of physical cell placement |
US9959380B2 (en) * | 2016-03-28 | 2018-05-01 | Motivo, Inc. | Integrated circuit design systems and methods |
CA3018157A1 (en) * | 2016-04-04 | 2017-10-12 | Unima Logiciel Inc. | Method and system for creating a sequence used for communicating information associated with an application |
EP3436933B1 (en) * | 2016-05-17 | 2019-08-07 | Google LLC | Systems and methods for automatic determination of layout constraints |
CN106484754B (en) * | 2016-07-28 | 2019-08-23 | 西安交通大学 | Knowledge forest layout method based on hierarchical data Yu diagram data visualization technique |
CN107577490A (en) * | 2017-08-03 | 2018-01-12 | 武汉斗鱼网络科技有限公司 | View autoplacement method and device in a kind of iOS |
CN108108430B (en) * | 2017-12-18 | 2020-08-28 | 西安交通大学 | Forest virtual reality system implementation method based on Unity3D knowledge |
CN110795093B (en) * | 2018-08-01 | 2024-04-16 | 北京京东尚科信息技术有限公司 | Interactive view generation method and device |
CN111104111B (en) * | 2019-11-29 | 2022-11-22 | 苏宁云计算有限公司 | Layout processing method and device for tree Canvas |
CN117173000A (en) * | 2023-09-08 | 2023-12-05 | 广州市科帕电子科技有限公司 | Information hiding method and system based on quaternary coding |
Family Cites Families (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0057688A1 (en) | 1980-08-13 | 1982-08-18 | Comshare Incorporated | A machine for generating graphic charts |
US4531150A (en) * | 1982-11-05 | 1985-07-23 | Konishiroku Photo Industry Co., Ltd. | Image display system |
US4686522A (en) * | 1985-02-19 | 1987-08-11 | International Business Machines Corporation | Method of editing graphic objects in an interactive draw graphic system using implicit editing actions |
US5337402A (en) * | 1986-06-12 | 1994-08-09 | Keiji Kitagawa | Graphic data processing apparatus using displayed graphics for application program selection |
JPS6438866A (en) * | 1987-08-05 | 1989-02-09 | Hitachi Ltd | Document editing device |
US5214755A (en) | 1989-04-25 | 1993-05-25 | Microsoft Corporation | Document processing method and system |
JPH03177964A (en) | 1989-12-07 | 1991-08-01 | Toshiba Corp | Document arranging device |
JP3093247B2 (en) | 1990-09-21 | 2000-10-03 | 株式会社東芝 | Presentation support environment system |
US5649216A (en) | 1991-05-17 | 1997-07-15 | Joseph S. Sieber | Method and apparatus for automated layout of text and graphic elements |
CA2048039A1 (en) | 1991-07-19 | 1993-01-20 | Steven Derose | Data processing system and method for generating a representation for and random access rendering of electronic documents |
US5903454A (en) * | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
US5426729A (en) * | 1992-06-24 | 1995-06-20 | Microsoft Corporation | Method and system for nonuniformly adjusting a predefined shape |
CA2135522A1 (en) * | 1993-01-22 | 1994-08-04 | Object Technology Licensing Corporation | Flexible network system |
JP2620576B2 (en) | 1993-04-15 | 1997-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Method and system for adjusting a graphical user interface according to a font requested by a user |
DE69327948T2 (en) * | 1993-04-30 | 2000-10-26 | Ibm | Area layout in a view on a graphical display screen |
US5909220A (en) | 1993-05-10 | 1999-06-01 | Sandow; Robin | Interactive computerized image coloring systems and methods for processing combinations of color with automated subroutines and color standardization for diverse color systems |
US5479593A (en) | 1993-06-21 | 1995-12-26 | Electronic Data Systems Corporation | System and method for improved solving of equations employed during parametric geometric modeling |
US5535134A (en) * | 1994-06-03 | 1996-07-09 | International Business Machines Corporation | Object placement aid |
US5596691A (en) | 1994-06-15 | 1997-01-21 | Claris Corporation | Computer system and method for manipulating the display of drawings |
US5748964A (en) | 1994-12-20 | 1998-05-05 | Sun Microsystems, Inc. | Bytecode program interpreter apparatus and method with pre-verification of data type restrictions |
US5669006A (en) * | 1995-02-23 | 1997-09-16 | International Business Machines Corporation | Method for automatically obtaining spatial layout for multimedia presentations |
US5619631A (en) * | 1995-06-07 | 1997-04-08 | Binaryblitz | Method and apparatus for data alteration by manipulation of representational graphs |
US5673401A (en) | 1995-07-31 | 1997-09-30 | Microsoft Corporation | Systems and methods for a customizable sprite-based graphical user interface |
US5872867A (en) * | 1995-08-04 | 1999-02-16 | Sarnoff Corporation | Method and apparatus for generating image textures |
US5999189A (en) * | 1995-08-04 | 1999-12-07 | Microsoft Corporation | Image compression to reduce pixel and texture memory requirements in a real-time image generator |
JPH09109351A (en) | 1995-10-16 | 1997-04-28 | Toppan Printing Co Ltd | Display information layout apparatus |
US7124359B2 (en) * | 1996-01-11 | 2006-10-17 | Canon Kabushiki Kaisha | Image edit device adapted to rapidly lay-out photographs into templates with means for preview and correction by user |
US6173286B1 (en) | 1996-02-29 | 2001-01-09 | Nth Degree Software, Inc. | Computer-implemented optimization of publication layouts |
US5818447A (en) | 1996-06-06 | 1998-10-06 | Microsoft Corporation | System and method for in-place editing of an electronic mail message using a separate program |
US6057858A (en) | 1996-08-07 | 2000-05-02 | Desrosiers; John J. | Multiple media fonts |
US5903902A (en) | 1996-09-09 | 1999-05-11 | Design Intelligence, Inc. | Design engine with tree and component structure |
US5956737A (en) * | 1996-09-09 | 1999-09-21 | Design Intelligence, Inc. | Design engine for fitting content to a medium |
AU4334197A (en) * | 1996-09-09 | 1998-03-26 | Design Intelligence, Inc. | Automatic layout and formatting of content for a design in medium |
US5973692A (en) | 1997-03-10 | 1999-10-26 | Knowlton; Kenneth Charles | System for the capture and indexing of graphical representations of files, information sources and the like |
US6061659A (en) | 1997-06-03 | 2000-05-09 | Digital Marketing Communications, Inc. | System and method for integrating a message into a graphical environment |
US6321243B1 (en) | 1997-06-27 | 2001-11-20 | Microsoft Corporation | Laying out a paragraph by defining all the characters as a single text run by substituting, and then positioning the glyphs |
US6288726B1 (en) | 1997-06-27 | 2001-09-11 | Microsoft Corporation | Method for rendering glyphs using a layout services library |
US6774899B1 (en) * | 1997-09-18 | 2004-08-10 | Mitsubishi Electric Research Laboratories, Inc. | Drawing graphs using user selectable visual oragnization features and/or other user controlled constraints |
US5956043A (en) * | 1997-09-18 | 1999-09-21 | Novell, Inc. | Textured tile rotation system and method |
AU761202B2 (en) | 1997-09-22 | 2003-05-29 | Sony Corporation | Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format |
US6289502B1 (en) * | 1997-09-26 | 2001-09-11 | Massachusetts Institute Of Technology | Model-based software design and validation |
US6204859B1 (en) | 1997-10-15 | 2001-03-20 | Digital Equipment Corporation | Method and apparatus for compositing colors of images with memory constraints for storing pixel data |
KR100243385B1 (en) | 1997-10-28 | 2000-02-01 | 정선종 | Multimedia presentation working method |
US6072480A (en) * | 1997-11-05 | 2000-06-06 | Microsoft Corporation | Method and apparatus for controlling composition and performance of soundtracks to accompany a slide show |
AUPP027397A0 (en) | 1997-11-07 | 1997-12-04 | Documotion Research, Inc. | Tamper-evident form for securely carrying confidential information |
JP3377419B2 (en) * | 1997-11-11 | 2003-02-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Instruction string generation method and apparatus, conversion method, and computer |
US6289505B1 (en) * | 1997-11-18 | 2001-09-11 | Sun Microsystems, Inc. | Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler |
RU2142162C1 (en) | 1998-01-19 | 1999-11-27 | Кашик Алексей Сергеевич | Method for dynamic displaying data about object |
US6081816A (en) | 1998-03-18 | 2000-06-27 | Microsoft Corporation | Method for placing text around polygons and other constraints |
US6189132B1 (en) | 1998-04-09 | 2001-02-13 | International Business Machines Corporation | Design rule correction system and method |
US6510419B1 (en) * | 1998-04-24 | 2003-01-21 | Starmine Corporation | Security analyst performance tracking and analysis system and method |
US6256650B1 (en) * | 1998-05-18 | 2001-07-03 | Microsoft Corporation | Method and system for automatically causing editable text to substantially occupy a text frame |
US6301704B1 (en) * | 1998-06-16 | 2001-10-09 | Silicon Graphics, Inc. | Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization |
US6405225B1 (en) | 1998-06-17 | 2002-06-11 | Microsoft Corporation | Integrating email functionality into a word processor by incorporating an email GUI within the word processor |
US6204849B1 (en) * | 1998-07-17 | 2001-03-20 | Autodesk, Inc. | Non-ambiguous graphics selection |
US6161098A (en) | 1998-09-14 | 2000-12-12 | Folio (Fn), Inc. | Method and apparatus for enabling small investors with a portfolio of securities to manage taxable events within the portfolio |
US6166738A (en) | 1998-09-14 | 2000-12-26 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects |
US6715130B1 (en) * | 1998-10-05 | 2004-03-30 | Lockheed Martin Corporation | Software requirements metrics and evaluation process |
US6305012B1 (en) * | 1998-12-03 | 2001-10-16 | International Business Machines Corporation | Method and apparatus for dynamic selection of instructions for compiling using tags |
US6957191B1 (en) * | 1999-02-05 | 2005-10-18 | Babcock & Brown Lp | Automated financial scenario modeling and analysis tool having an intelligent graphical user interface |
US6456305B1 (en) | 1999-03-18 | 2002-09-24 | Microsoft Corporation | Method and system for automatically fitting a graphical display of objects to the dimensions of a display window |
US6308322B1 (en) * | 1999-04-06 | 2001-10-23 | Hewlett-Packard Company | Method and apparatus for reduction of indirect branch instruction overhead through use of target address hints |
US6691282B1 (en) * | 1999-06-22 | 2004-02-10 | Nortel Networks Limited | Method and apparatus for displaying and navigating containment hierarchies |
US6667750B1 (en) | 1999-07-30 | 2003-12-23 | Curl Corporation | Multiple pass layout of graphical objects with elastics |
US6826727B1 (en) | 1999-11-24 | 2004-11-30 | Bitstream Inc. | Apparatus, methods, programming for automatically laying out documents |
US7246316B2 (en) | 1999-11-30 | 2007-07-17 | Siebel Systems, Inc. | Methods and apparatus for automatically generating presentations |
EP1111543A3 (en) | 1999-12-22 | 2002-11-27 | Adobe Systems, Inc. | Method and apparatus for painting groups of objects |
US6593933B1 (en) * | 2000-01-13 | 2003-07-15 | Microsoft Corporation | Block-based synthesis of texture in computer rendered images |
US6448973B1 (en) * | 2000-01-13 | 2002-09-10 | Microsoft Corporation | Virtual texture |
US7055095B1 (en) * | 2000-04-14 | 2006-05-30 | Picsel Research Limited | Systems and methods for digital document processing |
US20010032151A1 (en) | 2000-04-18 | 2001-10-18 | Glenn Paul | Internet presentation system |
US20010051962A1 (en) | 2000-06-08 | 2001-12-13 | Robert Plotkin | Presentation customization |
US20020111969A1 (en) * | 2000-09-28 | 2002-08-15 | Halstead Robert H. | System and method for processing graphical objects for layout using an elastic difference operation |
US7231602B1 (en) | 2000-11-29 | 2007-06-12 | Microsoft Corporation | Live preview for reformatting document text |
US20020065852A1 (en) | 2000-11-30 | 2002-05-30 | Matt Hendrickson | Online guided resume creation system that allows dynamic style formatting |
US6944830B2 (en) | 2000-12-21 | 2005-09-13 | Xerox Corporation | System and method for browsing hierarchically based node-link structures based on an estimated degree of interest |
US6950981B2 (en) | 2000-12-29 | 2005-09-27 | International Business Machines Corporation | Method and system for providing task information in a place |
US6973618B2 (en) | 2000-12-29 | 2005-12-06 | International Business Machines Corporation | Method and system for importing MS office forms |
US6791582B2 (en) | 2000-12-29 | 2004-09-14 | International Business Machines Corporation | Method and system for identifying and displaying information that is new or has been updated in a place |
US6701311B2 (en) * | 2001-02-07 | 2004-03-02 | International Business Machines Corporation | Customer self service system for resource search and selection |
US6941478B2 (en) | 2001-04-13 | 2005-09-06 | Nokia, Inc. | System and method for providing exploit protection with message tracking |
CN1384454A (en) | 2001-05-01 | 2002-12-11 | 株式会社东芝 | Information generalizing system and method |
EA008675B1 (en) | 2001-06-22 | 2007-06-29 | Нервана, Инк. | System and method for knowledge retrieval, management, delivery and presentation |
US6826729B1 (en) * | 2001-06-29 | 2004-11-30 | Microsoft Corporation | Gallery user interface controls |
US20040205602A1 (en) | 2001-07-25 | 2004-10-14 | Douglas Croeni | Page layout design using geometric interference schema |
JP2003044464A (en) | 2001-07-31 | 2003-02-14 | Seiko Epson Corp | Layout device and layout program |
JP2003052582A (en) | 2001-08-10 | 2003-02-25 | Toshiba Tec Corp | Cleaning equipment |
EP1298524A1 (en) | 2001-09-28 | 2003-04-02 | Ricoh Company, Ltd. | Conference support apparatus, information processor, teleconference system and computer product |
RU2218602C2 (en) | 2001-11-08 | 2003-12-10 | Карев Павел Викторович | Method for color-code display of variable multiple-parameter states of system or process |
AUPR962001A0 (en) | 2001-12-19 | 2002-01-24 | Redbank Manor Pty Ltd | Document display system and method |
US20050001837A1 (en) * | 2002-03-01 | 2005-01-06 | Shannon Michael P. | Method and internet based software for graphing sport statistics |
US20030218641A1 (en) | 2002-05-23 | 2003-11-27 | International Business Machines Corporation | Method and system for navigating a hierarchical structure in a data processing system |
TW578067B (en) | 2002-06-21 | 2004-03-01 | Inst Information Industry | Knowledge graphic system and method based on ontology |
US20040001106A1 (en) | 2002-06-26 | 2004-01-01 | John Deutscher | System and process for creating an interactive presentation employing multi-media components |
US6894726B2 (en) | 2002-07-05 | 2005-05-17 | Thomson Licensing S.A. | High-definition de-interlacing and frame doubling circuit and method |
US7010746B2 (en) | 2002-07-23 | 2006-03-07 | Xerox Corporation | System and method for constraint-based document generation |
US7058902B2 (en) * | 2002-07-30 | 2006-06-06 | Microsoft Corporation | Enhanced on-object context menus |
US20040041838A1 (en) * | 2002-09-04 | 2004-03-04 | Adusumilli Venkata J.R.B. | Method and system for graphing data |
US7945846B2 (en) * | 2002-09-06 | 2011-05-17 | Oracle International Corporation | Application-specific personalization for data display |
US20040145603A1 (en) * | 2002-09-27 | 2004-07-29 | Soares Stephen Michael | Online multimedia presentation builder and presentation player |
KR100504476B1 (en) | 2002-10-30 | 2005-08-01 | 엘지전자 주식회사 | method and display system for controlling icon |
KR20040041979A (en) * | 2002-11-12 | 2004-05-20 | 한국전자통신연구원 | Graphic user interface |
AU2002952711A0 (en) | 2002-11-18 | 2002-11-28 | Typefi Systems Pty Ltd | A method of formatting documents |
KR100484181B1 (en) | 2002-12-02 | 2005-04-20 | 삼성전자주식회사 | Apparatus and method for authoring multimedia document |
CA2414047A1 (en) * | 2002-12-09 | 2004-06-09 | Corel Corporation | System and method of extending scalable vector graphics capabilities |
JP4241325B2 (en) * | 2002-12-25 | 2009-03-18 | セイコーエプソン株式会社 | Layout system |
TW562221U (en) * | 2002-12-27 | 2003-11-11 | Hon Hai Prec Ind Co Ltd | Mounting device for disk drive |
US20040133854A1 (en) * | 2003-01-08 | 2004-07-08 | Black Karl S. | Persistent document object model |
WO2004068320A2 (en) * | 2003-01-27 | 2004-08-12 | Vincent Wen-Jeng Lue | Method and apparatus for adapting web contents to different display area dimensions |
KR100459507B1 (en) | 2003-02-15 | 2004-12-03 | (주) 이모션 | Apparatus for manufacturing graphic contents |
US20040172584A1 (en) | 2003-02-28 | 2004-09-02 | Microsoft Corporation | Method and system for enhancing paste functionality of a computer software application |
US7325186B2 (en) | 2003-02-28 | 2008-01-29 | Microsoft Corporation | Method and system for showing unannotated text nodes in a data formatted document |
US7339598B2 (en) * | 2003-07-11 | 2008-03-04 | Vistaprint Technologies Limited | System and method for automated product design |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US20050034083A1 (en) * | 2003-08-05 | 2005-02-10 | Denny Jaeger | Intuitive graphic user interface with universal tools |
US7554689B2 (en) * | 2003-10-15 | 2009-06-30 | Canon Kabushiki Kaisha | Document layout method |
US7548334B2 (en) * | 2003-10-15 | 2009-06-16 | Canon Kabushiki Kaisha | User interface for creation and editing of variable data documents |
US20050091584A1 (en) * | 2003-10-23 | 2005-04-28 | Microsoft Corporation | Methods for applying styles to visual aspects of user interface elements |
GB2407677A (en) * | 2003-10-31 | 2005-05-04 | Hewlett Packard Development Co | Post-rendering document space based on rules |
US7178102B1 (en) | 2003-12-09 | 2007-02-13 | Microsoft Corporation | Representing latent data in an extensible markup language document |
US7395510B2 (en) * | 2003-12-16 | 2008-07-01 | Hewlett-Packard Development Company, L.P. | Method of, and system for, adjusting a document configuration |
US7536048B2 (en) | 2004-01-15 | 2009-05-19 | Xerox Corporation | Method and apparatus for automatically determining image foreground color |
JP2005275890A (en) | 2004-03-25 | 2005-10-06 | Nec Corp | Presence information issuing device, system and program |
JP4448537B2 (en) * | 2004-04-26 | 2010-04-14 | コダック グラフィック コミュニケーションズ カナダ カンパニー | System and method for comparing documents containing graphic elements |
US20050289466A1 (en) | 2004-06-24 | 2005-12-29 | Kaihu Chen | Multimedia authoring method and system using bi-level theme templates |
US20060064642A1 (en) | 2004-09-22 | 2006-03-23 | Edurite Technologies Pvt. Ltd. | Seamless presentation integrator |
US8510657B2 (en) * | 2004-09-30 | 2013-08-13 | Microsoft Corporation | Editing the text of an arbitrary graphic via a hierarchical list |
US8134575B2 (en) * | 2004-09-30 | 2012-03-13 | Microsoft Corporation | Maintaining graphical presentations based on user customizations |
US7348982B2 (en) | 2004-09-30 | 2008-03-25 | Microsoft Corporation | Method, system, and computer-readable medium for creating and laying out a graphic within an application program |
US7209815B2 (en) * | 2004-12-28 | 2007-04-24 | Snap-On Incorporated | Test procedures using pictures |
US7478079B2 (en) | 2005-01-14 | 2009-01-13 | Microsoft Corporation | Method for displaying a visual representation of mapping between a source schema and a destination schema emphasizing visually adjusts the objects such that they are visually distinguishable from the non-relevant and non-selected objects |
US7750924B2 (en) * | 2005-03-15 | 2010-07-06 | Microsoft Corporation | Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes |
US7743325B2 (en) * | 2005-03-15 | 2010-06-22 | Microsoft Corporation | Method and computer-readable medium for fitting text to shapes within a graphic |
US20060277476A1 (en) | 2005-06-02 | 2006-12-07 | Hsuan-Cheng Lai | Method and system for dynamic generation of graphical content using a markup language |
US7555711B2 (en) | 2005-06-24 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Generating a text layout boundary from a text block in an electronic document |
US7747944B2 (en) * | 2005-06-30 | 2010-06-29 | Microsoft Corporation | Semantically applying style transformation to objects in a graphic |
ATE529813T1 (en) * | 2005-07-20 | 2011-11-15 | Obigo Korea Co Ltd | METHOD AND ARRANGEMENT IN A DISPLAY SYSTEM |
US7423646B2 (en) * | 2005-11-08 | 2008-09-09 | Microsoft Corporation | Smart shape insert |
US8042065B2 (en) * | 2005-11-17 | 2011-10-18 | Microsoft Corporation | Smart copy/paste of graphical nodes |
US8438486B2 (en) | 2006-02-09 | 2013-05-07 | Microsoft Corporation | Automatically converting text to business graphics |
CN101231645B (en) * | 2007-01-23 | 2012-03-28 | 鸿富锦精密工业(深圳)有限公司 | System and method for dynamics exhibiting tree type contents |
US7949948B2 (en) | 2007-05-09 | 2011-05-24 | Microsoft Corporation | Constraint and rule-based page layout |
US8225278B2 (en) | 2007-05-14 | 2012-07-17 | International Business Machines Corporation | Method of visualizing modifications of a hierarchical state diagram |
US8479218B2 (en) * | 2007-07-09 | 2013-07-02 | National Instruments Corporation | Automatically arranging objects in a graphical program block diagram |
US8826174B2 (en) | 2008-06-27 | 2014-09-02 | Microsoft Corporation | Using visual landmarks to organize diagrams |
US8176412B2 (en) * | 2009-08-25 | 2012-05-08 | International Business Machines Corporation | Generating formatted documents |
US8799325B2 (en) | 2010-03-12 | 2014-08-05 | Microsoft Corporation | Reordering nodes in a hierarchical structure |
-
2004
- 2004-09-30 US US10/955,271 patent/US7348982B2/en not_active Expired - Fee Related
-
2005
- 2005-08-11 KR KR1020050073848A patent/KR101433936B1/en active IP Right Grant
- 2005-08-15 TW TW094127756A patent/TWI379253B/en not_active IP Right Cessation
- 2005-08-18 AU AU2005203708A patent/AU2005203708B2/en not_active Ceased
- 2005-08-29 CA CA2517409A patent/CA2517409C/en not_active Expired - Fee Related
- 2005-08-30 CN CNB2005100996526A patent/CN100478876C/en not_active Expired - Fee Related
- 2005-08-30 MX MXPA05009276A patent/MXPA05009276A/en active IP Right Grant
- 2005-08-30 MY MYPI20054063A patent/MY149288A/en unknown
- 2005-08-30 ZA ZA200506944A patent/ZA200506944B/en unknown
- 2005-09-01 JP JP2005253627A patent/JP4921744B2/en not_active Expired - Fee Related
- 2005-09-20 EP EP05108658.5A patent/EP1643452B1/en not_active Not-in-force
- 2005-09-28 BR BRPI0503982-7A patent/BRPI0503982B1/en not_active IP Right Cessation
- 2005-09-29 RU RU2005130361/09A patent/RU2383929C2/en not_active IP Right Cessation
-
2008
- 2008-02-22 US US12/035,878 patent/US8791955B2/en not_active Expired - Fee Related
-
2014
- 2014-06-18 US US14/307,668 patent/US9747710B2/en active Active
-
2017
- 2017-06-29 US US15/637,606 patent/US10319125B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060066631A1 (en) | 2006-03-30 |
US7348982B2 (en) | 2008-03-25 |
RU2005130361A (en) | 2007-04-10 |
BRPI0503982A (en) | 2006-05-09 |
CA2517409C (en) | 2013-12-24 |
AU2005203708B2 (en) | 2010-07-08 |
US9747710B2 (en) | 2017-08-29 |
TW200612356A (en) | 2006-04-16 |
EP1643452B1 (en) | 2019-06-19 |
US20080136822A1 (en) | 2008-06-12 |
US20140292767A1 (en) | 2014-10-02 |
MY149288A (en) | 2013-08-15 |
TWI379253B (en) | 2012-12-11 |
JP4921744B2 (en) | 2012-04-25 |
CA2517409A1 (en) | 2006-03-30 |
JP2006107465A (en) | 2006-04-20 |
US10319125B2 (en) | 2019-06-11 |
RU2383929C2 (en) | 2010-03-10 |
BRPI0503982B1 (en) | 2018-01-16 |
US8791955B2 (en) | 2014-07-29 |
US20170301122A1 (en) | 2017-10-19 |
EP1643452A1 (en) | 2006-04-05 |
ZA200506944B (en) | 2007-05-30 |
AU2005203708A1 (en) | 2006-04-13 |
CN1755623A (en) | 2006-04-05 |
MXPA05009276A (en) | 2006-04-05 |
KR101433936B1 (en) | 2014-08-27 |
CN100478876C (en) | 2009-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10319125B2 (en) | Method, system, and computer-readable medium for creating and laying out a graphic within an application program | |
RU2537776C2 (en) | Markup-based extensibility for user interfaces | |
JP5336569B2 (en) | Method and computer-readable medium for fitting text to a shape in a graphic | |
US7750924B2 (en) | Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes | |
US7877737B2 (en) | Tree-to-graph folding procedure for systems engineering requirements | |
US8583595B2 (en) | Method and system for enhanced attribute synchronization in a content management system | |
US20090021767A1 (en) | Document processing device | |
JP4303079B2 (en) | System and method for conversion between text formatting or markup language formatting and outline structure | |
US20080195950A1 (en) | Document Processing Device and Document Processing Method | |
US7900159B2 (en) | Techniques for representing and organizing user interface data | |
US20100077295A1 (en) | Document processing device and document processing module | |
EP1933233A1 (en) | Data processing apparatus | |
AU2020200471A1 (en) | Web Application Builder | |
US9558173B2 (en) | Method for creating a document model from discontinuous selections of an existing document |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
AMND | Amendment | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20120601 Effective date: 20131022 |
|
S901 | Examination by remand of revocation | ||
E902 | Notification of reason for refusal | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170719 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180718 Year of fee payment: 5 |