KR20160038754A - 정보처리장치, 표시방법, 및 기억매체 - Google Patents

정보처리장치, 표시방법, 및 기억매체 Download PDF

Info

Publication number
KR20160038754A
KR20160038754A KR1020150132852A KR20150132852A KR20160038754A KR 20160038754 A KR20160038754 A KR 20160038754A KR 1020150132852 A KR1020150132852 A KR 1020150132852A KR 20150132852 A KR20150132852 A KR 20150132852A KR 20160038754 A KR20160038754 A KR 20160038754A
Authority
KR
South Korea
Prior art keywords
font
language
priority list
display
unit
Prior art date
Application number
KR1020150132852A
Other languages
English (en)
Other versions
KR102059844B1 (ko
Inventor
히데시 이치미
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20160038754A publication Critical patent/KR20160038754A/ko
Application granted granted Critical
Publication of KR102059844B1 publication Critical patent/KR102059844B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G06F17/214
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/16Display of right-to-left language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)
  • Digital Computer Display Output (AREA)

Abstract

정보처리장치는, 언어마다의 폰트 데이터를 홀드하도록 구성된 폰트 데이터 홀딩 유닛과, 상기 문자열의 렌더링에 사용하는 언어의 우선순위를 나타내며, 상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되어 상기 유저 언어 홀딩 유닛에 의해 홀드된 상기 표시 언어에 대응하는 최우선 폰트 데이터와, 상기 디바이스 언어 홀딩 유닛에 의해 홀드된 상기 표시 언어에 대응하는 제2 최우선 폰트 데이터를 갖는 폰트 우선 리스트를 설정하도록 구성된 폰트 우선 리스트 제어 유닛과, 상기 폰트 우선 리스트 제어 유닛에 의해 설정된 상기 폰트 우선 리스트 및 상기 폰트 데이터 홀딩 유닛에 의해 홀드된 상기 폰트 데이터에 따라 상기 문자열의 렌더링을 행하도록 구성된 폰트 렌더링 처리 유닛을 구비한다.

Description

정보처리장치, 표시방법, 및 기억매체{INFORMATION PROCESSING APPARATUS, DISPLAY METHOD, AND STORAGE MEDIUM}
본 발명은, 다언어 표시를 실현하기 위해서 복수 언어의 폰트를 포함하는 정보처리장치, 표시방법, 및 기억매체에 관한 것이다.
인증 기능을 가지며 또 다언어 표시를 행할 수 있는 정보처리장치는, 유저가 로그인할 때 등록되어 있는 유저의 정보(이하, "유저 정보"라고 한다.)에 근거한 언어를 표시하도록 표시 언어를 자동으로 바꾼다. 일본국 공개특허공보 특개 2010-160667호는, 이러한 다언어 표시를 행할 수 있는 정보처리장치를 개시한다. 유저는, 로그인을 행할 때 표시 언어가 자동으로 바뀌기 때문에, 수동으로 표시 언어를 바꿀 필요가 없다. 그 때문에, 정보처리장치의 편리성이 향상한다.
프린터 등의 화상형성장치나 스마트폰과 같이 표시장치를 구비하는 정보처리장치는, 유저의 조작에 의해, 임의의 타이밍에서 표시 언어를 바꾸는 것이 가능하다. 또한, 이러한 정보처리장치는, 영어, 일본어, 중국어 등의 복수의 언어를 동시에 표시 화면 위에 표시하는 것이 가능하다. 복수의 언어를 동시에 표시하기 위해서, 정보처리장치에는, 다양한 언어의 문자 코드를 통일한 "Unicode"라고 말하여지는 문자 인코딩 체계가 구축된다.
정보처리장치는, 문자 인코딩 체계를 Unicode로 구축하는 것뿐만 아니라, 언어마다의 폰트 데이터도 유지하고, 표시 언어에 대응하는 폰트 데이터를 우선적으로 사용해서 표시함으로써 표시 언어를 바꿀 수도 있다. 또한, 정보처리장치는, 예를 들면, 사용하는 언어의 우선 순위를 기억하는 폰트 우선 리스트를 준비해서, 폰트 우선 리스트의 우선 순위에 따라 표시 언어를 바꾸어도 된다. 언어의 우선 순위가 다른 복수의 폰트 우선 리스트가 정보처리장치 내에 포함되어 있고, 표시 언어에 따라 바뀐다. 또한, 폰트 우선 리스트는, 표시중의 언어를 최우선으로 해서 이력순으로 설정해도 된다. 이들의 기술을 조합함으로써, 로그인 유저의 유저 정보에 근거하는 언어로 자동으로 표시 언어를 바꾸고, 다언어 표시를 가능하게 할 수 있다.
Unicode 중, 일본어, 중국어, 한국어, 대만어, 베트남어에 사용되는 간지(kanji) 문자는, "CJKV(Chinese-Japanese-Korean-Vietnamese) 통합 한자"라고 칭한다. CJKV 통합 한자에서는, 비슷한 문자가 같은 문자 코드에 매핑된다. CJKV 통합 한자는, 각 언어용의 폰트 데이터를 갖는다. 정보처리장치는, CJKV 통합 한자에 포함된 복수의 폰트 데이터로부터, 표시 언어에 따라 최우선으로 사용되는 폰트 데이터를 선택함으로써 최적의 폰트를 표시할 수 있다.
로그인 유저의 유저 정보에 따라 표시 언어를 바꿀 경우, 언어의 우선순위를 결정하는 일반적인 방법이 사용되는 경우에는, 두 번째 우선 언어 이후의 우선순위가 유저가 기대하고 있는 것과 다를 수도 있다. 예를 들면, 한국어로 설정되어 있는 정보처리장치를 복수의 유저가 사용할 경우, 로그인 유저의 유저 정보가 영어를 지시하는 경우에도, 화면에 표시되는 파일명, 폴더명, 어드레스 등은 한국어로 등록되어 있을 가능성이 높다. 두 번째 우선 언어 이후의 우선순위가 고정되거나 또는 이력순으로 결정되는 경우, 영어 다음에 일본어의 우선순위가 높으므로, 문자열이 한국어 폰트가 아니고 일본어 폰트로 표시될 수도 있다. 이 경우, 정보처리장치는, 한국어로 등록되어 있는 파일명, 폴더명, 어드레스 등의 문자열을 일본어 폰트로 표시하기 때문에, 최적의 문자 표시를 행할 수 없게 된다.
본 발명은, 최적의 문자 표시를 가능하게 하는 정보처리장치를 제공한다.
본 발명의 실시예에 의하면, 유저에 의한 입력을 접수하도록 구성된 입력 유닛과, 문자열을 포함하는 화상을 표시하도록 구성된 표시 유닛과, 유저 식별 정보와 관련된 표시 언어를 홀드하도록 구성된 유저 언어 홀딩 유닛과, 디폴트에 의해 정보처리장치에서 설정된 표시 언어를 홀드하도록 구성된 디바이스 언어 홀딩 유닛과, 언어마다의 폰트 데이터를 홀드하도록 구성된 폰트 데이터 홀딩 유닛과, 상기 문자열의 렌더링에 사용하는 언어의 우선순위를 나타내며, 상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되어 상기 유저 언어 홀딩 유닛에 의해 홀드되는 상기 표시 언어에 대응하는 최우선 폰트 데이터와, 상기 디바이스 언어 홀딩 유닛에 의해 홀드된 상기 표시 언어에 대응하는 제2 최우선 폰트 데이터를 갖는 폰트 우선 리스트를 설정하도록 구성된 폰트 우선 리스트 제어 유닛과, 상기 폰트 우선 리스트 제어 유닛에 의해 설정된 상기 폰트 우선 리스트 및 상기 폰트 데이터 홀딩 유닛에 의해 홀드된 상기 폰트 데이터에 따라 상기 문자열의 렌더링을 행하도록 구성된 폰트 렌더링 처리 유닛을 구비하는, 정보처리장치가 제공된다.
본 발명의 추가 특징들은 첨부도면을 참조하면서 이하의 예시적인 실시예의 설명으로부터 분명해질 것이다.
도 1은 정보처리장치의 하드웨어 구성을 나타내는 도면이다.
도 2는 표시 언어 제어를 위한 기능을 나타내는 기능 블럭도다.
도 3은 테이블의 설명도이다.
도 4는 표시 언어 전환 처리를 나타내는 플로차트이다.
도 5는 렌더링(rendering) 처리를 나타내는 플로차트이다.
도 6은 최종 폰트 우선 리스트의 소팅 처리를 나타내는 플로차트이다.
도 7은 폰트 패밀리를 최종 폰트 우선 리스트에 반영하는 처리를 나타내는 플로차트이다.
도 8은 폰트 우선 리스트의 테이블이다.
도 9a 및 9b는 문서 일람의 예시도다.
도 10은 테이블의 변형 예의 설명도다.
도 11은 최종 폰트 우선 리스트의 소팅 처리를 나타내는 플로차트이다.
이하, 도면을 참조해서 본 발명의 실시예를 상세하게 설명한다.
(구성)
도 1은, 본 실시예의 정보처리장치의 하드웨어 구성을 나타내는 도면이다. 정보처리장치(101)는, 정보형성장치와 스마트폰과 같이, 디스플레이(119)(표시장치)를 구비한다. 정보처리장치(101)는, 유저의 인증 기능을 갖고, 유저의 인증시(로그인시)에 사용되는 유저 정보에 근거한 언어를 표시 언어로서 사용하는 문자 표시를 행한다. 정보처리장치(101)는, 디스플레이(119) 이외에, 제어부(110), 터치 패널(118), 및 외부 메모리(120)를 더 구비한다. 제어부(110)는, CPU(CentralProcessing Unit)(111), RAM(Random Access Memory)(112), 및 ROM(Read Only Memory)(113)에 의해, 정보처리장치(101) 전체의 동작을 제어한다. 그 때문에, 제어부(110)는, 터치 패널(118)에 접속되는 입력 제어부(114), 디스플레이(119)에 접속되는 표시 제어부(115), 및 외부 메모리(120)에 접속되는 외부 메모리 인터페이스(I/F)(116)를 구비한다. 또, 제어부(110)는, LAN(LocaloArea Network) 등의 네트워크(102)와의 사이에서 통신 제어를 행하는 통신 I/F 콘트롤러(117)를 더 구비한다. CPU(111), RAM(112), ROM(113), 입력 제어부(114), 표시 제어부(115), 외부 메모리 I/F(116), 및 통신 I/F 콘트롤러(117)는, 시스템 버스 B을 통해서 서로 통신 가능하게 접속된다.
CPU(111)는, ROM(113)에 저장되어 있는 컴퓨터 프로그램을 판독하고, RAM(112)을 워크 에어리어(work area)로서 사용해서 컴퓨터 프로그램을 실행함으로써 정보처리장치(101)에 포함된 각부의 동작을 제어한다. ROM(113)은 불휘발성 메모리이며, 컴퓨터 프로그램 이외에, 처리에 필요한 각종의 데이터를 유지한다. RAM(112)은 휘발성 메모리이며, 처리를 행할 때의 일시기억영역(temporary storage area)로서 기능한다.
입력 제어부(114)는, 입력 디바이스를 사용하여 행해진 유저의 조작을 접수하고, 접수한 조작에 대응하는 제어신호를 CPU(111)에 송신한다. 도 1에서는, 입력 디바이스로서 터치 패널(118)을 사용한다. 터치 패널(118)은, 유저의 손가락이나 스타일러스 펜 등에 의해 터치된 위치를 검출하는 포인팅 디바이스다. 터치 패널(118)은, 저항막 방식, 정전 용량 방식, 표면 탄성파 방식, 적외선 방식, 전자 유도 방식, 화상 인식 방식, 광센서 방식 등을 포함하는 다양한 방식을 사용할 수 있다. 입력 디바이스로서는, 터치 패널(118) 이외에, 키보드 등의 문자 입력 디바이스나 마우스 등의 포인팅 디바이스를 사용할 수 있다. 입력 제어부(114)는, 터치 패널(118)이 검출한 위치와 관련된 제어신호를 CPU(111)에 송신한다. CPU(111)는, 상기 제어신호에 의거하여 처리를 실행한다. CPU(111)는, 이에 따라 정보처리장치(101)에 대한 유저의 조작에 따른 처리를 행한다.
표시 제어부(115)는, CPU(111)의 제어 하에, 디스플레이(119)에 화상을 표시시킨다. 표시 제어부(115)는, 예를 들면, 디스플레이(119)에, 처리와 관련된 오브젝트(object)의 화상을 표시시킨다. 또한, 표시 제어부(115)는 어플리케이션 소프트웨어(이하, "AP"라고 한다.)의 실행 화면을 표시한다. 화상에는, 소정의 언어 폰트로 렌더링된 문자도 포함된다.
디스플레이(119)의 표시 화면에는, 터치 패널(118)이 일체가 되도록 배치된다. 터치 패널(118)은, 디스플레이(119)의 표시를 방해하지 않는 투과율을 갖는다. CPU(111)는, 디스플레이(119)에 표시되는 오브젝트의 위치와, 터치 패널(118)로 검출된 터치 위치에 따라 유저가 조작(터치)한 오브젝트를 특정하고, 상기 오브젝트와 관련된 처리를 실행한다. 이렇게, 터치 패널(118) 및 디스플레이(119)에 의해, 유저가 디스플레이(119)에 표시된 화상을 직접적으로 조작해서 입력하는 GUI(Graphical User Interface)을 구성할 수 있다.
기억매체인 외부 메모리 I/F(116)에는, 하드디스크, 플렉시블 디스크(flexible disk), CD(Compact Disk), DVD(Digital Versatile Disc), 메모리 카드 등의 외부 메모리(120)가 장착 가능하다. 외부 메모리 I/F(116)는, CPU(111)의 제어 하에, 장착된 외부 메모리(120)로부터 데이터를 판독하고, 해당 외부 메모리(120)에 데이터를 기록한다. 통신 I/F 콘트롤러(117)는, 네트워크(102)를 통하여, 네트워크(102)에 접속된 또 다른 장치와의 통신을 제어한다.
도 2는, 정보처리장치(101)의 제어부(110)에 의해 실현되는 표시 언어 제어를 위한 기능을 나타내는 기능 블럭도다. 각 기능은, CPU(111)가 ROM(113)으로부터 컴퓨터 프로그램을 판독해서 실행함으로써 실현되지만, 그 기능은 하드웨어로서 구성되어도 된다. 정보처리장치(101)에는, 언어 메시지 데이터 저장부(201), 언어 전환부(301), 어플리케이션부(401), 유저 정보 홀딩부(501), 디바이스 언어 저장부(601), 및 폰트 제어부(701)가 포함된다. 또한, 도 2의 점선 화살표는 데이터 참조를 나타내고, 실선 화살표는 처리의 지시 및 데이터의 저장을 나타낸다.
언어 메시지 데이터 저장부(201)는, ROM(113) 또는 외부 메모리(120)에 포함되어, AP의 실행 화면에 표시되는 메시지(문자열)를 나타내는 언어 메시지 데이터를 저장한다. 언어 메시지 데이터 저장부(201)는, 언어마다의 언어 메시지 데이터를 저장한다. 도 2의 예에서는, 언어 메시지 데이터 저장부(201)에는, 일본어, 영어, 불어, 및 대만어 등의 다양한 언어의 언어 메시지 데이터가 저장된다.
언어 전환부(301)는, 표시 언어의 전환 지시에 응답하여 어플리케이션부(401) 및 폰트 제어부(701)에 표시 언어의 전환을 나타내는 통지를 송신하고, 지시된 언어의 언어 메시지 데이터를 언어 메시지 데이터 저장부(201)로부터 취득해서 홀드한다. 그 때문에, 언어 전환부(301)는, 언어 전환 통지부(302), 언어 메시지 데이터 취득부(303), 및 언어 메시지 데이터 전개부(304)를 구비한다.
언어 전환 통지부(302)는, 예를 들면, 어플리케이션부(401)로부터 표시 언어의 전환 지시를 수신하고, 언어 메시지 데이터 취득부(303), 어플리케이션부(401), 및 폰트 제어부(701)에 대하여 표시 언어의 전환 통지를 송신한다. 표시 언어의 전환 지시는, 예를 들면 유저의 로그인 시에 행해진 인증 처리에 의해 송신되어, 인증한 유저의 유저 정보에 포함되는 언어 정보를 포함한다. 표시 언어의 전환 통지는, 전환 지시에 포함되는 언어 정보를 포함한다. 이 언어 정보로 나타낸 언어로 표시 언어가 변경된다.
언어 메시지 데이터 취득부(303)는, 언어 전환 통지부(302)로부터 공급된 전환 통지를 수신한다. 언어 메시지 데이터 취득부(303)는, 수신한 전환 통지에 포함되는 언어 정보에 대응하는 언어 메시지 데이터를 언어 메시지 데이터 저장부(201)로부터 취득하고, 취득한 언어 메시지 데이터를 언어 메시지 데이터 전개부(304)에서 어플리케이션부(401)가 해석가능한 형식으로 전개한다. 언어 메시지 데이터 전개부(304)는, RAM(112)에 포함되어, 언어 메시지 데이터 취득부(303)에 의해 전개된 언어 메시지 데이터를 홀드한다.
어플리케이션부(401)는, 인증 어플리케이션(이하, 인증 AP라고 한다.)(402), 유저 모드 어플리케이션(이하, 유저 모드 AP라고 한다.)(403), 및 일반 어플리케이션(이하, 일반 AP라고 한다.)(404)을 구비한다. 어플리케이션부(401)는, 외부 메모리(120) 등으로부터 애플리케이션 프로그램을 판독하고 그 어플리케이션 프로그램을 실행한다.
인증 AP(402)는, 유저의 로그인시의 인증 처리를 행하는 데에 사용된다. 인증 AP(402)는, 유저의 로그인시에, 터치 패널(118)로부터 인증에 필요한 정보(유저 ID, 패스워드 등)를 취득하고, 취득한 정보를 유저 정보 홀딩부(501)가 홀딩하고 있는 유저 정보와 비교함으로써 인증 처리를 행한다. 유저 정보 홀딩부(501)는, ROM(113), 외부 메모리(120), 또는 네트워크(102)를 통해서 접속되는 서버 등의 외부장치에 포함되어 있고, 유저 정보를 홀드한다. 유저 정보에는, 정보처리장치(101)에 등록된 유저의 유저 ID, 패스워드, 유저가 사용하는 언어를 나타내는 언어정보, 사용가능한 AP 등의 정보가 포함된다. 인증 AP(402)는, 언어 전환 통지부(302)에, 인증 처리에서 비교한 유저 정보에 포함되는 언어 정보를 포함하는 표시 언어의 전환 지시를 송신한다.
유저 모드 AP(403)는, 정보처리장치(101)의 설정 및 유저의 등록을 행한다. 유저 정보 홀딩부(501)에 유저 정보를 등록할 때는, 유저 모드 AP(403)가 터치 패널(118)로부터의 유저 정보의 입력을 접수하고, 이 유저 정보를 유저 정보 홀딩부(501)에 기억한다. 이에 따라, 유저의 정보처리장치(101)에의 등록이 행해진다. 유저 모드 AP(403)는, 디폴트의 표시 언어의 설정을 행한다. 유저 모드 AP(403)는, 정보처리장치(101)에 디폴트의 표시 언어를 설정할 때에, 디바이스 언어 저장부(601)에, 설정된 언어를 나타내는 언어 정보를 송신한다.
일반 AP(404)는, 정보처리장치(101)가 제공하는 기능을 실현한다. 정보처리장치(101)가 복합기이면, 일반 AP(404)는, 카피 기능, 스캔한 화상의 송신 기능, 스캔한 화상의 보존 기능 등을 실현한다. 일반 AP(404)는, 기능마다 제공된다.
어플리케이션부(401)는, 일반 AP(404)에 의해, 표시 제어부(115)를 통해 디스플레이(119)에 화상을 표시시킨다. 또한, 어플리케이션부(401)는, 언어 전환 통지부(302)로부터 공급된 표시 언어의 전환 통지에 포함되는 언어 정보에 따라 문자열 렌더링을, 폰트 제어부(701)에 지시한다. 그 때문에, 어플리케이션부(401)는, 언어 메시지 데이터 전개부(304)에 전개된 언어 메시지 데이터를 취득한다. 어플리케이션부(401)는, 취득한 언어 메시지 데이터에 따라 렌더링되는 문자열을 생성하고, 폰트 제어부(701)에 생성한 렌더링되어야 하는 문자열 등의 정보를 포함하는 문자열을 렌더링하기 위한 지시를 송신한다.
디바이스 언어 저장부(601)는, RAM(112) 또는 외부 메모리(120)에 포함되어, 정보처리장치(101)에 디폴트로 설정된 표시 언어를 나타내는 언어 정보(602) 및 정보처리장치(101)가 설치되어 있는 나라를 나타내는 나라 정보(603)를 저장한다. 언어 정보(602)는, 통상, 나라 정보(603)가 나타내는 나라에 사용된 언어를 나타낸다. 언어 정보(602)는, 유저 모드 AP(403)에 의해 설정된다. 나라 정보(603)는, 정보처리장치(101)의 설치 시에, 정보처리장치(101)가 설치되는 지역과 나라에 따라 유저 모드 AP(403)를 사용하는 서비스 종사원에 의해 설정된다. 나라 정보(603)는, 정보처리장치(101)의 설치 장소 등이 변경되면 변경가능하다.
폰트 제어부(701)는, 폰트 언어 전환 처리부(702), 로그인 유저 언어 홀딩부(703), 및 디바이스 언어 홀딩부(704)를 구비한다. 폰트 제어부(701)는, 폰트를 렌더링하기 위한 폰트 렌더링 처리부(705), 폰트 우선 리스트 제어부(706), 폰트 우선 리스트 홀딩부(707), 및 폰트 데이터 홀딩부(708)를 구비한다. 폰트 제어부(701)는, 폰트 우선 리스트 정보 캐쉬부(709)를 더 구비한다.
폰트 언어 전환 처리부(702)는, 언어 전환 통지부(302)로부터 표시 언어의 전환 통지를 수신하고, 수신한 전환 통지에 포함되는 언어 정보를 로그인 유저 언어 홀딩부(703)에 홀드한다. 폰트 언어 전환 처리부(702)는, 디바이스 언어 저장부(601)로부터 언어 정보(602)를 취득하여, 디바이스 언어 홀딩부(704)에 홀딩한다. 이에 따라, 로그인 유저 언어 홀딩부(703)는, 전환 후에 사용되는 언어를 나타내는 언어 정보를 홀드하고, 디바이스 언어 홀딩부(704)는, 정보처리장치(101)에서 설정되어 있는 언어를 나타내는 언어 정보(602)를 홀드한다. 로그인 유저 언어 홀딩부(703) 및 디바이스 언어 홀딩부(704)는, RAM(112)에 포함된다.
폰트 렌더링 처리부(705)는, 어플리케이션부(401)로부터 문자열 렌더링의 지시를 수신하고, 폰트 우선 리스트 제어부(706)에 폰트 우선 리스트의 작성을 지시한다. 폰트 우선 리스트는, 문자열의 렌더링에 사용된 언어의 우선순위를 나타낸다. 문자열 렌더링의 지시에는, 렌더링되어야 하는 문자열 이외에, 폰트 종류를 나타내는 폰트 패밀리(font familly), 언어 타입 등의 정보가 포함된다. 폰트 렌더링 처리부(705)는, 작성된 폰트 우선 리스트와, 폰트 데이터 홀딩부(708)에 의해 홀드된 폰트 데이터에 따라 문자열 렌더링의 지시에 근거하는 폰트를 이용해서 문자열 렌더링을 행한다. 폰트 데이터 홀딩부(708)는, 폰트 렌더링 처리부(705)가 렌더링하기 위해 사용된 다양한 언어의 폰트 데이터를 홀드한다. 폰트 데이터 홀딩부(708)는, ROM(113), 외부 메모리(120), 또는 RAM(112)에 포함된다.
또한, 폰트 패밀리의 예로서는, 일반적으로 "Arial" 및 "MS 고딕(gothic)을 들 수 있다. 본 실시예에서는, 후술하는 도 3의 우선 리스트(1003)에 우선순으로 나타낸 "일본어 폰트" 및 "라틴어 폰트" 등의 언어마다의 폰트 데이터가 폰트 패밀리에 해당한다. 또한, 정보처리장치(101)에 미리 설정되어 있는 폰트 패밀리를 "디폴트 폰트 패밀리"라고 칭한다. 폰트 패밀리를 명시적으로 지정한 경우에는, 그 폰트 패밀리에 대응하는 폰트를 최우선으로 사용한다.
폰트 우선 리스트 제어부(706)는, 폰트 렌더링 처리부(705)로부터 폰트 우선 리스트의 작성의 지시를 수신해서 폰트 우선 리스트를 작성한다. 폰트 우선 리스트 제어부(706)는, 로그인 유저 언어 홀딩부(703)의 언어 정보, 디바이스 언어 홀딩부(704)의 언어 정보, 및 폰트 우선 리스트 홀딩부(707)의 정보를 취득해서 폰트 우선 리스트를 작성한다. 로그인 유저 언어 홀딩부(703)로부터 취득한 유저 언어 정보를 "유저 표시 언어"라고 칭하고, 디바이스 언어 홀딩부(704)로부터 취득한 정보처리장치(101)에서 설정된 언어 정보를 "디바이스 표시 언어"라고 칭한다. 폰트 우선 리스트 홀딩부(707)는, 미리 설정된 디폴트에 의한 폰트 우선 리스트(이하, "디폴트 폰트 우선 리스트"라고 말한다.)를 홀드한다. 폰트 우선 리스트 홀딩부(707)는, 언어마다의 폰트 데이터의 우선순위가 다른 복수의 디폴트 폰트 우선 리스트를 홀드한다. 폰트 우선 리스트 홀딩부(707)는, ROM(113), 외부 메모리(120), 또는 RAM(112)에 포함된다.
폰트 우선 리스트 제어부(706)는, 유저 표시 언어에 해당하는 언어의 폰트 데이터가 최우선 언어로서 설정되어 있는 디폴트 폰트 우선 리스트를 폰트 우선 리스트 홀딩부(707)로부터 취득한다. 폰트 우선 리스트 제어부(706)는, 취득한 디폴트 폰트 우선 리스트의 두 번째의 우선 언어로서 설정되어 있는 폰트 데이터가, 디바이스 표시 언어에 해당하는 언어의 폰트 데이터인지의 여부를 판정한다. 이 판정이 긍정이면, 폰트 우선 리스트 제어부(706)는 디폴트 폰트 우선 리스트를 최종 폰트 리스트라고 판정한다. 폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트를 폰트 렌더링 처리부(705)에 송신한다. 판정이 부정이면, 폰트 우선 리스트 제어부(706)는, 디폴트 폰트 우선 리스트의 언어의 우선 순위를 변경한다. 폰트 우선 리스트 제어부(706)는, 우선 순위를 변경해서 작성한 새로운 폰트 우선 리스트를 최종 폰트 우선 리스트라고 판정하여 폰트 렌더링 처리부(705)에 송신한다.
폰트 우선 리스트 정보 캐쉬부(709)는, 폰트 우선 리스트 제어부(706)에 의해 작성된 최종 폰트 우선 리스트를 기억해 두는 영역이며, RAM(112)에 포함된다. 폰트 우선 리스트 정보 캐쉬부(709)는, 최종 폰트 우선 리스트를 "폰트 우선 리스트"라고 기억한다. 또한, 폰트 우선 리스트 정보 캐쉬부(709)는, 최종 폰트 우선 리스트를 작성했을 때 취득한 유저 표시 언어, 디바이스 표시 언어, 언어 타입, 및 폰트 패밀리(우선 리스트(1003))를 기억한다.
(운용 형태)
도 3은, 표시 언어의 테이블, 언어 타입의 테이블, 및 폰트 우선 리스트의 테이블의 설명도다. 각 테이블은, 폰트 우선 리스트 홀딩부(707)에 의해 홀드된다.
표시 언어 테이블(801)은, 표시 언어(802)와 언어 타입(803)과의 대응관계를 나타낸다. 표시 언어(802)는, 정보처리장치(101)가 디스플레이(119)에 표시가능한 언어이다. 언어 타입(803)은, 문자 코드 세트를 나타내고, 일본어이면 "ShiftJIS", 영어이면 "Windows Code Page 1252", 대만어이면 "Big5"와 같이, 일반적인 문자코드 세트를 나타낸다. Hindi어는 독자적인 문자 코드 세트를 가지고 있지 않기 때문, 편의적으로 "Hindi"의 독자의 문자 코드 세트를 정의하고 있다. 표시 언어 테이블(801)의 표시 언어(802)에는 일부의 언어밖에 포함되어 있지 않지만, 실제로는 그 밖의 언어도 표시 언어 테이블(801)에 포함된다. 즉, 표시 언어 테이블(801)은, 표시 언어(802)와 문자 코드 세트와의 연관성의 일람을 나타낸다.
언어 타입 테이블(901)은, 표시 언어 테이블(801)의 언어 타입(803)에 링크하는 언어 타입(902)과, 언어 타입(902)에 대응하는 폰트 우선 리스트(903)로 구성된다. 폰트 우선 리스트(903)는, 폰트 우선 리스트 테이블(1001)의 폰트 우선 리스트(1002)에의 링크가 된다.
폰트 우선 리스트 테이블(1001)은, 언어 타입 테이블(901)의 폰트 우선 리스트(903)에 링크하는 폰트 우선 리스트(1002)와, 문자열 렌더링 시에 참조하는 언어마다의 폰트 데이터의 우선 순위를 나타내는 우선 리스트(1003)로 구성된다. 도 3의 우선 리스트(1003)는 제1 우선부터 제8 우선까지밖에 포함하고 있지 않지만, 본 발명은 이것에 한정되는 것은 아니다. 또한, 제1 우선부터 제8 우선까지에는 폰트로서 적어도 1개의 폰트 데이터가 기술되어 있다. 폰트 우선 리스트 테이블(1001)은, 디폴트 폰트 우선 리스트를 포함한다.
폰트 우선 리스트 제어부(706)는, 표시 언어 테이블(801), 언어 타입 테이블(901), 및 폰트 우선 리스트 테이블(1001)을 순차적으로 참조함으로써 표시 언어(802)에 의거하여 우선 리스트(1003)를 결정할 수 있다. 예를 들면, 폰트 우선 리스트 제어부(706)는, 로그인 유저 언어 홀딩부(703)가 홀드한 언어 정보로 나타내는 언어에 따라 표시 언어(802) 중 하나를 특정하고, 특정된 표시 언어(802)에 대응하는 폰트 우선 리스트(1002) 중의 하나를 디폴트 폰트 우선 리스트로서 결정한다. 보통은, 어플리케이션부(401)에 의해 지시된 언어 타입이 Unicode이며, 그 경우, 폰트 우선 리스트 제어부(706)는, 표시 언어(802) 중 하나를 선택한 후에 언어 타입(902) 중 하나를 결정하고, 그 후에 우선 리스트(1003) 중 하나를 결정한다. 웹 페이지의 경우에 콘텐츠 중에서 문자 설정이 지정되었을 때에는, 다른 언어 타입(예를 들면, ShiftJIS)을 지정하는 것도 가능하다. 이 경우, 폰트 우선 리스트 제어부(706)는, 지정된 언어 타입에 따라 직접 우선 리스트를 결정한다.
도 4는, 표시 언어의 전환 처리를 나타내는 플로차트다. 폰트 제어부(701)의 폰트 언어 전환 처리부(702)가, 언어 전환부(301)의 언어 전환 통지부(302)로부터 표시 언어의 전환 통지를 수신했을 때에 도 4의 플로차트의 처리를 실행한다.
폰트 언어 전환 처리부(702)는, 언어 전환 통지부(302)로부터, 로그인 유저의 유저 정보에 근거하는 언어 정보를 포함하는 표시 언어의 전환 통지를 수신한다(S101). 폰트 언어 전환 처리부(702)는, 전환 통지를 수신하는 경우, 디바이스 언어 저장부(601)로부터 정보처리장치(101)에서 설정되어 있는 표시 언어를 나타내는 언어 정보(602)를 취득한다(S102). 폰트 언어 전환 처리부(702)는, 언어 전환 통지부(302)로부터 공급된 전환 통지에 포함되는 언어 정보를 로그인 유저 언어 홀딩부(703)에 홀드한다(S103). 폰트 언어 전환 처리부(702)는, 디바이스 언어 저장부(601)로부터 취득한 언어 정보(602)를 디바이스 언어 홀딩부(704)에 홀드시킨다(S104).
이렇게 폰트 언어 전환 처리부(702)는, 언어 전환 통지부(302)로부터 표시 언어의 전환 통지를 수신하면, 로그인 유저 언어 홀딩부(703)에 인증된 유저의 유저 정보에 근거하는 언어 정보를 기억한다. 또, 폰트 언어 전환 처리부(702)는, 디바이스 언어 저장부(601)에, 정보처리장치(101)에서 설정되어 있는 언어 정보(602)를 기억한다.
도 5는, 문자열의 렌더링 처리를 나타내는 플로차트다. 폰트 제어부(701)의 폰트 렌더링 처리부(705)가, 어플리케이션부(401)로부터 문자열 렌더링의 지시를 수신했을 때에 도 5의 플로차트의 처리를 실행한다.
폰트 렌더링 처리부(705)는, 어플리케이션부(401)로부터 문자열 렌더링의 지시를 수신하면, 폰트 우선 리스트 제어부(706)에 폰트 우선 리스트의 작성을 지시한다(S201). 폰트 우선 리스트의 작성이 지시된 폰트 우선 리스트 제어부(706)는, 폰트 우선 리스트 홀딩부(707)로부터 폰트 우선 리스트 테이블(1001)의 우선 리스트(1003)에 포함된 폰트 데이터의 개수 N을 취득한다(S202). 본 실시예에서는, 개수 N=8(제1∼제8 우선)이다. 그렇지만, 개수 N은, 리스트 업(list up)되는 폰트 데이터의 수에 따라 동적으로 변한다. 폰트 우선 리스트 제어부(706)는, 취득한 폰트 데이터의 개수 N을 이용해서 최종적으로 사용하는 최종 폰트 우선 리스트를 초기화한다(S203).
폰트 우선 리스트 제어부(706)는, 폰트 우선 리스트 정보 캐쉬부(709)에 기억(캐쉬)된 폰트 우선 리스트가 사용 가능한지 아닌지를 판정한다(S204). 폰트 우선 리스트 제어부(706)는, 이 판정을 위해서 유저 표시 언어 및 디바이스 표시 언어를 취득한다. 폰트 우선 리스트 제어부(706)는, 취득한 유저 표시 언어 및 취득한 디바이스 표시 언어가 폰트 우선 리스트 정보 캐쉬부(709)에 기억된 유저 표시 언어 및 디바이스 표시 언어와 일치하는지 아닌지를 판정한다. 또한, 폰트 우선 리스트 제어부(706)는, 어플리케이션부(401)에 의해 지시된 언어 타입 및 폰트 패밀리가, 폰트 우선 리스트 정보 캐쉬부(709)에 기억된 폰트 우선 리스트에 대응하는지 아닌지를 판정한다. 이 판정 결과에 의해, 폰트 우선 리스트 제어부(706)는, 폰트 우선 리스트 정보 캐쉬부(709)에 기억된 폰트 우선 리스트가 사용 가능한지 아닌지를 판정한다. 폰트 우선 리스트 제어부(706)는, 캐쉬된 폰트 우선 리스트가 사용 가능하면(스텝 S204에서 Yes), 최종 폰트 우선 리스트에, 캐쉬되어 있는 폰트 우선 리스트를 모두 복사한다(S205).
폰트 우선 리스트 제어부(706)는, 캐쉬된 폰트 우선 리스트가 사용 불가능하면(스텝 S204에서 No), 어플리케이션부(401)에 의해 지시된 언어 타입이 Unicode인지의 여부를 판정한다(S206). 언어 타입이 Unicode이면(스텝 S206에서 Yes), 폰트 우선 리스트 제어부(706)는, 유저 표시 언어에 대응하는 언어 타입을, 표시 언어 테이블(801)을 참조하여 베이스 언어 타입으로서 결정한다(S207). 언어 타입이 Unicode가 아니면(스텝 S206에서 No), 폰트 우선 리스트 제어부(706)는, 어플리케이션부(401)에 의해 지시된 언어 타입을 베이스 언어 타입으로서 결정한다(S208).
베이스 언어 타입을 결정한 후에, 폰트 우선 리스트 제어부(706)는, 디바이스 언어 홀딩부(704)에 홀드된 디바이스 표시 언어를 사용하여, 표시 언어 테이블(801)을 참조해서 언어 타입(디바이스 언어 타입)을 결정한다(S209). 디바이스 언어 타입을 결정한 후에, 폰트 우선 리스트 제어부(706)는, 어플리케이션부(401)에 의해 발행된 지시에 따라 폰트 패밀리를 취득한다(S210). 폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트에서의 폰트 데이터의 소팅 처리를 행한다(S211). 최종 폰트 우선 리스트의 소팅 처리의 상세에 관해서는 후술한다.
최종 폰트 우선 리스트의 폰트 데이터의 소팅 처리 후에, 폰트 우선 리스트 제어부(706)는, 폰트 우선 리스트 정보 캐쉬부(709)에 캐쉬되는 정보를 갱신한다(S212). 갱신되는 정보의 항목은, 유저 표시 언어, 디바이스 표시 언어, 어플리케이션 언어 타입, 폰트 패밀리, 최종 폰트 우선 리스트 등이 있다.
폰트 렌더링 처리부(705)는, 생성된 최종 폰트 우선 리스트에 정의되어 있는 폰트 데이터를 설정한다(S213). 적어도 하나의 폰트 데이터가 설정되고, 또 일본어이면 2바이트 문자 폰트 및 1바이트 문자 폰트, 아랍어이면 아랍어 및 로마자 등의 복수의 폰트 데이터가 설정될 수 있다. 폰트 렌더링 처리부(705)는, 폰트 데이터가 서로 중복하지 않도록 설정을 행한다. 폰트 렌더링 처리부(705)는, 어플리케이션부(401)에 의해 지시된 문자열을 1문자씩, 설정한 폰트 데이터를 순차적으로 검색하고, 해당하는 코드의 폰트 데이터를 사용해서 렌더링을 행한다. 이렇게 함으로써, 처리를 종료한다(S214).
도 6은, 도 5의 스텝 S211의 최종 폰트 우선 리스트의 폰트 데이터의 소팅 처리를 나타내는 플로차트다.
폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트를 생성하기 위한 카운터의 값 i를 "1"로 초기화한다(S301). 또한, 폰트 우선 리스트 제어부(706)는, 카피원이 되는 베이스 언어 타입과 관련된 디폴트 폰트 우선 리스트의 폰트 데이터를 순차적으로 참조하기 위한 카운터의 값 n을 "1"로 초기화한다(S302).
폰트 우선 리스트 제어부(706)는, 문자열 렌더링의 지시에 포함되는 첫 번째 폰트 패밀리가 정보처리장치(101)에서 설정된 디폴트의 표시 언어(이하, "디폴트 폰트"라고 한다.)인지 아닌지를 판정한다(S303). 폰트 우선 리스트 제어부(706)는, 문자열 렌더링의 지시에 포함되는 첫 번째 폰트 패밀리가, 디폴트 폰트 우선 리스트에 포함된 첫 번째 폰트 데이터와 같은지 아닌지에 관한 판정 결과에 따라 판정을 행한다. 이 판정이 부정이면(스텝 S303에서 No), 폰트 우선 리스트 제어부(706)는, 어플리케이션부(401)에 의해 지시된 폰트 패밀리를 최종 폰트 우선 리스트에 반영한다(S304).
판정이 긍정이면(스텝 S303에서 Yes), 폰트 우선 리스트 제어부(706)는, 베이스 언어 타입과 디바이스 언어 타입이 일치하는지 아닌지를 판정한다(S305). 판정이 부정이면(스텝 S305에서 No), 폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트의 i번째 폰트 데이터(i=1)에, 베이스 언어 타입과 관련된 디폴트 폰트 우선 리스트의 n번째 폰트 데이터(n=1)를 복사한다(S306). 카피 후에, 폰트 우선 리스트 제어부(706)는, 카운터의 값 i 및 n을 각각 1씩 증분한다(S307).
폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트의 i번째 폰트 데이터(i=2)에, 베이스 언어 타입과 관련된 디폴트 폰트 우선 리스트의 첫 번째의 폰트 데이터를 복사한다(S308). 카피 후에, 폰트 우선 리스트 제어부(706)는, 카운터의 값 i를 1씩 증분한다(S309).
폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트를 생성하기 위한 카운터의 값 i가, 최종 폰트 우선 리스트의 폰트 데이터의 개수 N을 넘는지 아닌지를 판정한다(S310). 판정이 긍정이면(스텝 S310에서 Yes), 폰트 우선 리스트 제어부(706)는, 폰트 우선 리스트의 폰트 데이터의 소팅 처리를 종료한다. 판정이 부정이면(스텝 S310에서 No), 폰트 우선 리스트 제어부(706)는, 베이스 언어 타입과 관련된 디폴트 폰트 우선 리스트의 n번째 항목이 최종 폰트 우선 리스트에 포함되는지 아닌지를 판정한다(S311). 판정이 긍정이면(스텝 S311에서 Yes), 폰트 우선 리스트 제어부(706)는, 카운터의 값 n을 1씩 증분한다(S314). 판정이 부정이면(스텝 S311에서 No), 폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트의 i번째 폰트 데이터에 베이스 언어 타입과 관련된 디폴트 폰트 우선 리스트의 n번째 폰트 데이터를 복사한다(S312). 또한, 폰트 우선 리스트 제어부(706)는, 카운터의 값 i 및 n을 각각 1씩 증분한다(S313, S314).
폰트 우선 리스트 제어부(706)는, 카운터의 값 n이 개수 N을 넘는지 아닌지 판정한다(S315). 판정이 부정이면(스텝 S315에서 No), 폰트 우선 리스트 제어부(706)는, 다시 최종 폰트 우선 리스트를 생성하기 위한 카운터의 값 i가, 최종 폰트 우선 리스트의 개수 N을 넘는지 아닌지를 판정한다(S310). 판정이 긍정이면(스텝 S315에서 Yes), 폰트 우선 리스트 제어부(706)는, 폰트 우선 리스트의 폰트 데이터의 소팅 처리를 종료한다. 카운터의 값 n이 개수 N을 넘을 때까지, 폰트 우선 리스트 제어부(706)는, 스텝 S310∼S315의 처리를 반복한다.
도 7은, 도 6의 스텝 S304에서 행해진 폰트 패밀리를 최종 폰트 우선 리스트에 반영하는 처리를 나타내는 플로차트다.
폰트 우선 리스트 제어부(706)는, 어플리케이션부(401)에 의해 발행된 문자열 렌더링의 지시에 포함되는 폰트 패밀리의 개수 K을 취득한다(S401). 폰트 우선 리스트 제어부(706)는, 문자열 렌더링의 지시에 포함되는 폰트 패밀리를 참조하기 위한 카운터의 값 k을 "1"로 초기화한다(S402).
폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트를 생성하기 위해 사용된 카운터의 값 i가 최종 폰트 우선 리스트의 폰트 데이터의 개수 N을 넘는지 아닌지를 판정한다(S403). 판정이 긍정이면(스텝 S403에서 Yes), 폰트 우선 리스트 제어부(706)는, 폰트 패밀리를 최종 폰트 우선 리스트에 반영하는 처리를 종료한다.
판정이 부정이면(스텝 S403에서 No), 폰트 우선 리스트 제어부(706)는, k번째 폰트 패밀리가 디폴트 폰트인지의 여부를 판정한다(S404). 판정이 긍정이면(스텝 S404에서 Yes), 폰트 우선 리스트 제어부(706)는, 카운터의 값 k을 1씩 증분한다(S408). 판정이 부정이면(스텝 S404에서 No), 폰트 우선 리스트 제어부(706)는, k번째의 폰트 패밀리가, 이미 최종 폰트 우선 리스트에 포함되는지 아닌지를 판정한다(S405). 판정이 긍정이면(스텝 S405에서 Yes), 폰트 우선 리스트 제어부(706)는, 카운터의 값 k을 1씩 증분한다(S408).
판정이 부정이면(스텝 S405에서 No), 폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트의 i번째의 폰트 데이터에 어플리케이션부(401)에 의해 지시된 k번재의 폰트 패밀리의 폰트 데이터를 복사한다(S406). 그 후에, 폰트 우선 리스트 제어부(706)는, 카운터의 값 i 및 n을 각각 1씩 증분한다(S407, S408).
폰트 우선 리스트 제어부(706)는, 카운터의 값 k가 폰트 패밀리의 개수 K을 넘는지 아닌지를 판정한다(S409). 판정이 부정이면(스텝 S409에서 No), 폰트 우선 리스트 제어부(706)는, 재차, 최종 폰트 우선 리스트의 카운터의 값 i가 폰트 우선 리스트의 폰트 데이터의 개수 N을 넘는지 아닌지를 판정한다(S403). 판정이 긍정이면(스텝 S409에서 Yes), 폰트 우선 리스트 제어부(706)는, 폰트 패밀리를 최종 폰트 우선 리스트에 반영하는 처리를 종료한다. 카운터의 값 k가 폰트 패밀리의 개수 K을 넘을 때까지, 폰트 우선 리스트 제어부(706)는, 스텝 S403 이후의 처리를 반복한다.
도 8은, 유저 표시 언어가 영어이고, 디바이스 표시 언어가 한국어이며, 어플리케이션부(401)에 의해 지시된 언어 타입이 Unicode이고, 폰트 패밀리가 디폴트 폰트인 경우에, 소트되는 우선 순서가 다른 최종 폰트 우선 리스트의 테이블이다.
도 5의 처리 전에 취득된 디폴트 폰트 우선 리스트는, 도 3의 폰트 우선 리스트 테이블(1001)로 나타내고, 폰트 우선 리스트 홀딩부(707)에 홀드되어 있다. 도 5의 처리를 실행함으로써, 폰트 우선 리스트 테이블(1001)의 폰트 데이터는, 도 8의 폰트 우선 리스트 테이블(1101)로 나타낸 것처럼 소트된다. 폰트 우선 리스트 테이블(1101)에서는, 처리를 행한 후에는 폰트 우선 리스트(1102)의 "라틴 폰트 우선 리스트"의 제2 우선 폰트가 "한국어 폰트"로 변경되고, 제3 우선 폰트 이후의 우선 순위가 뒤로 시프트된다. 또한, 도 6의 스텝 S311의 판정에 의해, 같은 언어의 폰트가 중복해서 폰트 우선 리스트에 추가되지 않게 된다.
도 9a 및 9b는, 정보처리장치(101)의 디스플레이(119)에 표시되는 문서 일람의 예시도다. 여기에서는, 유저 표시 언어가 영어이고, 디바이스 표시 언어가 한국어다. 문서 일람 1201은, 도 3의 우선 순위 변경 전의 디폴트 폰트 우선 리스트를 사용해서 표시되고, 간지 문자는 일본어의 폰트 데이터를 사용해서 표시된다. 문서 일람 1202는, 도 8의 우선 순위 변경 후의 최종 폰트 우선 리스트를 사용해서 표시되고, 간지 문자는 한국어의 폰트 데이터를 사용해서 표시된다. 문서 일람 1201, 1202에 의하면, 간지 문자의 문자 형태가 서로 다르다.
이상과 같이, 유저 표시 언어가 최우선 언어로서 설정될 뿐만 아니라, 로그인 유저가 정보처리장치(101)를 사용하고 있는 환경(설정된 언어)에 따라, 두 번째로 우선되는 언어가 결정된다. 그 때문에, 유저의 환경에 적합한 다언어 표시가 가능해 진다.
(다른 운용 형태)
도 10은, 테이블의 변형 예의 설명도다. 도 3에서는, 표시 언어(802)와 언어 타입(803)과의 관계를 나타내는 표시 언어 테이블(801)을 사용한다. 그렇지만, 도 10에서는, 나라(1302)와 언어 타입(1303)과의 관계를 의미하는 나라 테이블(1301)을 사용한다. 도 10의 언어 타입 테이블(901) 및 폰트 우선 리스트 테이블(1001)은, 도 3의 것과 같다. 나라 테이블(1301)을 사용하는 것에 의해, 나라 정보(603)(도 2 참조)를 사용해서 폰트 우선 리스트를 작성할 수 있게 된다. 나라(1302)는, 정보처리장치(101)가 설치되는 나라를 나타낸다.
도 11은, 도 6의 최종 폰트 우선 리스트의 소팅 처리를 나타내는 플로차트의 변형 예시도다. 도 11에서는, 도 6의 스텝 S309와 S310와의 사이에 동작이 추가된다. 도 11의 다른 동작은 도 6의 것과 같으므로 그것의 설명을 생략한다. 도 11의 처리에서는, 도 10에 나타낸 나라 테이블(1301)을 도 3의 표시 언어 테이블(801) 대신에 사용하고, 표시 언어(802) 대신에 나라(1302)를 사용한다.
폰트 우선 리스트 제어부(706)는, 나라(1302)가 나타내는 나라 코드와 관련된 언어 타입(803)이 베이스 언어 타입 또는 디바이스 언어 타입과 일치하는지를 판정한다(S501). 판정이 긍정이면(스텝 S501에서 Yes), 폰트 우선 리스트 제어부(706)는, 스텝 S310 이후의 처리를 실행한다. 판정이 부정이면(스텝 S501에서 No), 폰트 우선 리스트 제어부(706)는, 최종 폰트 우선 리스트의 i번째 폰트 데이터(카운터의 값 i=3)에, 나라 코드와 관련된 디폴트 폰트 우선 리스트의 첫 번째 폰트 데이터를 복사한다(S502). 폰트 우선 리스트 제어부(706)는, 카운터의 값 i을 증분해서(S503), 스텝 310 이후의 처리를 실행한다.
이상과 같은 처리에 의해, 유저 표시 언어, 디바이스 표시 언어, 및 정보처리장치(101)에서 설정되어 있는 나라 코드와 관련된 표시 언어의 순으로 폰트가 표시된다. 그 때문에, 한층 더 유저의 환경에 적합한 다언어 표시가 가능해진다.
이상과 같이, 상기 각 실시예에 의하면, 인증한 유저의 언어를 최우선 언어로서 설정하고 정보처리장치에 디폴트에 의해서 설정되어 있는 언어를 두 번째의 최우선 언어로서 설정하기 때문에, 유저의 환경에 최적인 문자 표시가 가능해진다.
그 밖의 실시예
본 발명의 추가 실시예(들)는, 상술한 실시 예(들) 중의 하나 또는 그 이상의 기능을 행하도록 기억매체(예를 들면, '비일시 컴퓨터 판독가능한 기억매체') 상에 기록된 컴퓨터 실행가능한 명령들(예를 들면, 1개 이상의 프로그램)을 판독 및 실행하고, 상술한 실시 예(들) 중의 하나 또는 그 이상의 기능을 수행하는 1개 이상의 회로(예를 들면, ASIC(Application Specific Integrated Circuit))를 포함하는 시스템 또는 장치의 컴퓨터에 의해서 실현될 수 있고, 또 예를 들면, 상술한 실시예(들) 중의 하나 또는 그 이상의 기능을 행하도록 기억매체로부터 컴퓨터 실행가능한 명령들을 판독 및 실행함으로써 및/또는 상술한 실시 예(들) 중의 하나 또는 그 이상의 기능을 수행하는 1개 이상의 회로를 제어함으로써 시스템 또는 장치의 컴퓨터에 의해 행해진 방법에 의해서도 실현될 수 있다. 이 컴퓨터는 CPU(Central Processing Unit), MPU(Micro Processing Unit), 또는 다른 회로 중 하나 또는 그 이상을 구비할 수도 있고, 독립된 컴퓨터 또는 독립된 컴퓨터 프로세서의 네트워크를 포함할 수도 있다. 이 컴퓨터 실행가능한 명령들은 예를 들면, 네트워크 또는 기억매체로부터 컴퓨터에 제공될 수도 있다. 이 기억매체는 예를 들면, 하드 디스크, RAM(random-access memory), ROM(read only memory), 분산 컴퓨팅 시스템의 스토리지, 광디스크(컴팩트 디스크(CD), DVD(digital versatile disc), Blue-ray Disc(BD)TM 등), 플래시 메모리 디바이스, 메모리 카드 중 어느 하나 또는 그 이상을 포함할 수도 있다. 본 발명은 예시적인 실시 예를 참조하면서 설명되었지만, 본 발명은 이 개시된 예시적인 실시 예에 한정되는 것이 아니라는 것이 이해될 것이다. 이하의 특허청구범위의 범주는 모든 변형 및 균등구조 및 기능을 포함하도록 가장 넓게 해석되어야 할 것이다.

Claims (10)

  1. 유저에 의한 입력을 접수하도록 구성된 입력 유닛과,
    문자열을 포함하는 화상을 표시하도록 구성된 표시 유닛과,
    유저 식별 정보와 관련된 표시 언어를 홀드하도록 구성된 유저 언어 홀딩 유닛과,
    디폴트에 의해 정보처리장치에 설정된 표시 언어를 홀드하도록 구성된 디바이스 언어 홀딩 유닛과,
    언어마다의 폰트 데이터를 홀드하도록 구성된 폰트 데이터 홀딩 유닛과,
    상기 문자열의 렌더링에 사용하는 폰트 데이터의 우선순위를 나타내며, 상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되어 상기 유저 언어 홀딩 유닛에 의해 홀드되는 상기 표시 언어에 대응하는 최우선 폰트 데이터와, 상기 디바이스 언어 홀딩 유닛에 의해 홀드된 상기 표시 언어에 대응하는 제2 최우선 폰트 데이터를 갖는, 폰트 우선 리스트를 설정하도록 구성된 폰트 우선 리스트 제어 유닛과,
    상기 폰트 우선 리스트 제어 유닛에 의해 설정된 상기 폰트 우선 리스트와 상기 폰트 데이터 홀딩 유닛에 의해 홀드된 상기 폰트 데이터에 따라 상기 문자열을 렌더링하도록 구성된 폰트 렌더링 처리 유닛을 구비하는, 정보처리장치.
  2. 제 1 항에 있어서,
    언어마다의 폰트 데이터의 우선 순위가 다른 복수의 디폴트 폰트 우선 리스트들을 홀드하도록 구성된 폰트 우선 리스트 홀딩 유닛을 더 구비하고,
    상기 폰트 우선 리스트 제어 유닛은, 상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되되어 상기 유저 언어 홀딩 유닛에 홀드되는 상기 표시 언어의 폰트 데이터가 상기 최우선 폰트 데이터로서 설정되어 있는 상기 디폴트 폰트 우선 리스트들 중의 하나의 디폴트 폰트 우선 리스트를 상기 폰트 우선 리스트 홀딩 유닛으로부터 취득하고, 상기 취득한 디폴트 폰트 우선 리스트에 포함된 언어들의 우선순위의 소팅을 행함으로써 상기 폰트 우선 리스트를 설정하는, 정보처리장치.
  3. 제 2 항에 있어서,
    상기 폰트 우선 리스트 제어 유닛은 상기 취득한 디폴트 폰트 우선 리스트에서의 제2 최우선 언어 이후의 우선순위를 1씩 증분하는, 정보처리장치.
  4. 제 2 항에 있어서,
    상기 폰트 우선 리스트 제어 유닛은, 상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되어 상기 유저 언어 홀딩 유닛에 의해 홀드되는 상기 표시 언어가 상기 디바이스 언어 홀딩 유닛에 홀드되는 상기 표시 언어와 일치할 때 상기 디폴트 폰트 우선 리스트에 포함된 상기 언어들의 우선순위의 소팅을 행하지 않는, 정보처리장치.
  5. 제 1 항에 있어서,
    상기 폰트 우선 리스트 제어 유닛에 의해 설정된 상기 폰트 우선 리스트를, 최우선 언어로서 설정된 표시언어와 제2 최상위 언어로서 설정된 표시언어와 함께 기억하도록 구성된 캐쉬 유닛을 더 구비하고,
    상기 폰트 우선 리스트 제어 유닛은, 상기 폰트 우선 리스트를 상기 캐쉬 유닛에 기억시킨 후에, 다음 폰트 우선 리스트를 설정할 때에 취득한 표시언어가 상기 캐쉬 유닛에 기억된 표시언어와 일치하면, 상기 캐쉬 유닛에 기억된 상기 폰트 우선 리스트를 상기 문자열의 렌더링에 사용하는 폰트 우선 리스트로서 설정하는, 정보처리장치.
  6. 제 1 항에 있어서,
    언어마다의 메시지 데이터를 저장하도록 구성된 메시지 데이터 저장 유닛과,
    상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되어 상기 유저 언어 홀딩 유닛에 저장되는 상기 표시 언어의 메시지 데이터를 상기 메시지 데이터 저장 유닛으로부터 취득하도록 구성된 취득 유닛과,
    상기 취득 유닛에 의해 취득된 상기 메시지 데이터에 근거해서 메시지를 표시하도록 구성된 표시 제어 유닛을 더 구비하는, 정보처리장치.
  7. 제 1 항에 있어서,
    상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 패스워드에 따라 유저의 인증을 행하도록 구성된 인증 유닛을 더 구비하고,
    상기 폰트 우선 리스트 제어 유닛은, 상기 인증 유닛에 의해 상기 인증이 성공적으로 수행되었을 때 상기 폰트 우선 리스트를 설정하는, 정보처리장치.
  8. 제 1 항에 있어서,
    상기 폰트 우선 리스트 제어 유닛은, 상기 정보처리장치가 설치되는 나라의 언어를, 상기 디바이스 언어 홀딩 유닛에 저장된 상기 표시 언어 후에 우선적으로 사용되는 제2 우선 언어로서 사용하도록, 상기 폰트 우선 리스트를 설정하는, 정보처리장치.
  9. 유저에 의한 입력을 접수하도록 구성된 입력 유닛과, 문자열을 포함하는 화상을 표시하도록 구성된 표시 유닛과, 유저 식별 정보와 관련된 표시 언어를 홀드하도록 구성된 유저 언어 홀딩 유닛과, 디폴트에 의해 정보처리장치에 설정된 표시 언어를 홀드하도록 구성된 디바이스 언어 홀딩 유닛과, 언어마다의 폰트 데이터를 홀드하도록 구성된 폰트 데이터 홀딩 유닛을 구비하는 정보처리장치에 의해 실행되는 표시방법으로서,
    상기 문자열의 렌더링에 사용되는 폰트 데이터의 우선순위를 나타내며, 상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되어 상기 유저 언어 홀딩 유닛에 의해 홀드되는 상기 표시 언어에 대응하는 최우선 폰트 데이터와, 상기 디바이스 언어 홀딩 유닛에 의해 홀드된 상기 표시 언어에 대응하는 제2 최우선 폰트 데이터를 갖는, 폰트 우선 리스트를 설정하는 단계와,
    상기 폰트 우선 리스트와 상기 언어마다의 폰트 데이터에 따라 상기 문자열을 렌더링하는 단계를 포함하는, 표시방법.
  10. 유저에 의한 입력을 접수하도록 구성된 입력 유닛과, 문자열을 포함하는 화상을 표시하도록 구성된 표시 유닛과, 유저 식별 정보와 관련된 표시 언어를 홀드하도록 구성된 유저 언어 홀딩 유닛과, 디폴트에 의해 정보처리장치에 설정된 표시 언어를 홀드하도록 구성된 디바이스 언어 홀딩 유닛을 구비하는 컴퓨터를,
    상기 문자열의 렌더링에 사용되는 폰트 데이터의 우선순위를 나타내며, 상기 입력 유닛에 의해 입력된 상기 유저 식별 정보와 관련되어 상기 유저 언어 홀딩 유닛에 의해 홀드되는 상기 표시 언어에 대응하는 최우선 폰트 데이터와, 상기 디바이스 언어 홀딩 유닛에 의해 홀드된 상기 표시 언어에 대응하는 제2 최우선 폰트 데이터를 갖는 폰트 우선 리스트를 설정하도록 구성된 폰트 우선 리스트 제어 유닛과,
    상기 폰트 우선 리스트 및 상기 폰트 데이터에 따라 상기 문자열을 렌더링하도록 구성된 폰트 렌더링 처리 유닛으로서 기능시키는 컴퓨터 프로그램을 기억하는, 기억매체.
KR1020150132852A 2014-09-30 2015-09-21 정보처리장치, 표시방법, 및 기억매체 KR102059844B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014200869A JP6618246B2 (ja) 2014-09-30 2014-09-30 情報処理装置、表示方法、及びコンピュータプログラム
JPJP-P-2014-200869 2014-09-30

Publications (2)

Publication Number Publication Date
KR20160038754A true KR20160038754A (ko) 2016-04-07
KR102059844B1 KR102059844B1 (ko) 2019-12-27

Family

ID=55584613

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150132852A KR102059844B1 (ko) 2014-09-30 2015-09-21 정보처리장치, 표시방법, 및 기억매체

Country Status (5)

Country Link
US (1) US10325572B2 (ko)
JP (1) JP6618246B2 (ko)
KR (1) KR102059844B1 (ko)
CN (1) CN105468318B (ko)
TW (1) TWI545449B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615709B2 (en) 2010-04-29 2013-12-24 Monotype Imaging Inc. Initiating font subsets
US20130215126A1 (en) * 2012-02-17 2013-08-22 Monotype Imaging Inc. Managing Font Distribution
KR20160057862A (ko) * 2014-11-14 2016-05-24 삼성전자주식회사 디스플레이 제어 방법 및 그 전자 장치
US10115215B2 (en) 2015-04-17 2018-10-30 Monotype Imaging Inc. Pairing fonts for presentation
US11537262B1 (en) 2015-07-21 2022-12-27 Monotype Imaging Inc. Using attributes for font recommendations
JP6812141B2 (ja) 2016-05-31 2021-01-13 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
US11334750B2 (en) 2017-09-07 2022-05-17 Monotype Imaging Inc. Using attributes for predicting imagery performance
US10909429B2 (en) 2017-09-27 2021-02-02 Monotype Imaging Inc. Using attributes for identifying imagery for selection
US11657602B2 (en) 2017-10-30 2023-05-23 Monotype Imaging Inc. Font identification from imagery
TWM563000U (zh) * 2018-02-14 2018-07-01 光陽工業股份有限公司 車輛之儀表語系切換系統
JP6781905B1 (ja) * 2019-07-26 2020-11-11 株式会社Fronteo 情報処理装置、自然言語処理システム、制御方法、および制御プログラム
JP7400481B2 (ja) * 2020-01-15 2023-12-19 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080303822A1 (en) * 2007-06-09 2008-12-11 Nathan Daniel Taylor Font metadata
JP2010204980A (ja) * 2009-03-04 2010-09-16 Konica Minolta Business Technologies Inc 文字表示システム及び多言語対応画像形成装置
US20120033874A1 (en) * 2010-08-05 2012-02-09 Xerox Corporation Learning weights of fonts for typed samples in handwritten keyword spotting

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257528B1 (en) 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US6677965B1 (en) 2000-07-13 2004-01-13 International Business Machines Corporation Rubber band graphical user interface control
JP5119566B2 (ja) * 2004-02-16 2013-01-16 ソニー株式会社 再生装置および再生方法、プログラム記録媒体、並びにプログラム
EP1968065B1 (en) * 2004-06-18 2011-12-14 Panasonic Corporation Recording medium, reproduction system and recording method
US8667391B2 (en) * 2006-11-10 2014-03-04 Blackberry Limited Handheld electronic device having multiple-axis input device, selectable language indicator, and menus for language selection, and associated method
JP2009259153A (ja) * 2008-04-21 2009-11-05 Canon Inc 情報処理装置及びその制御方法、並びに制御プログラム
JP2010160667A (ja) 2009-01-08 2010-07-22 Murata Machinery Ltd 多言語対応装置
US20120079374A1 (en) * 2010-09-29 2012-03-29 Apple Inc. Rendering web page text in a non-native font
US8677402B2 (en) * 2010-11-10 2014-03-18 Sony Corporation Second display support of character set unsupported on playback device
US8947438B2 (en) * 2011-08-01 2015-02-03 Microsoft Corporation Reducing font instructions
JP5901464B2 (ja) * 2012-04-18 2016-04-13 株式会社Pfu 画像処理システム、情報処理装置、表示方法及びコンピュータプログラム
US20130326347A1 (en) * 2012-05-31 2013-12-05 Microsoft Corporation Application language libraries for managing computing environment languages
US20140035823A1 (en) * 2012-08-01 2014-02-06 Apple Inc. Dynamic Context-Based Language Determination
US20140180671A1 (en) * 2012-12-24 2014-06-26 Maria Osipova Transferring Language of Communication Information
EP2763051B1 (en) * 2013-01-31 2019-08-14 Google LLC Serving font glyphs
US20150074522A1 (en) * 2013-09-12 2015-03-12 Monotype Imaging Inc. Font Management for Editing Electronic Documents
US9317777B2 (en) * 2013-10-04 2016-04-19 Monotype Imaging Inc. Analyzing font similarity for presentation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080303822A1 (en) * 2007-06-09 2008-12-11 Nathan Daniel Taylor Font metadata
JP2010204980A (ja) * 2009-03-04 2010-09-16 Konica Minolta Business Technologies Inc 文字表示システム及び多言語対応画像形成装置
US20120033874A1 (en) * 2010-08-05 2012-02-09 Xerox Corporation Learning weights of fonts for typed samples in handwritten keyword spotting

Also Published As

Publication number Publication date
TW201617933A (zh) 2016-05-16
US10325572B2 (en) 2019-06-18
US20160092439A1 (en) 2016-03-31
JP6618246B2 (ja) 2019-12-11
TWI545449B (zh) 2016-08-11
CN105468318B (zh) 2018-08-28
KR102059844B1 (ko) 2019-12-27
JP2016071668A (ja) 2016-05-09
CN105468318A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
KR102059844B1 (ko) 정보처리장치, 표시방법, 및 기억매체
KR102078786B1 (ko) 모바일 디바이스 상에서 시뮬레이트된 하이퍼링크들
US20200004475A1 (en) Information processing apparatus and method of controlling the same
JP2019198987A (ja) 操作画面の表示装置、画像処理装置及びプログラム
US20150149923A1 (en) Image processing apparatus, method of controlling the same, and storage medium
US9992372B2 (en) Image processing device, computer program product for controlling image processing device and image processing system
JP2020008954A (ja) 印刷サーバ、画像形成装置、プログラム、印刷システム
US10831882B2 (en) Device, program and method for calculating a number of days a password is used
CN114615388A (zh) 图像形成装置
JP6601143B2 (ja) 印刷装置
JP5366647B2 (ja) 情報処理装置及び情報処理方法
JP7375409B2 (ja) アドレス検索システム及びプログラム
US10331224B2 (en) Indian language keypad
JP6834498B2 (ja) 情報処理装置、画像形成装置、及びプログラム
JP2021190007A (ja) 情報処理装置、用語検索方法及びプログラム
JP2007018158A (ja) 文字処理装置、文字処理方法及び記録媒体
US10728415B2 (en) Image processing apparatus and image processing method
JP2020095473A (ja) プログラム及び入力様式設定方法
JP2014016959A (ja) プログラム、情報処理装置、及び情報処理方法
JP7286449B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
CN109597497B (zh) 一种信息预测方法、装置及设备
KR101843113B1 (ko) 인터렉티브 멀티 브라우징 북마크를 활용하여 콘텐츠 정보를 제공하는 방법, 단말 및 애플리케이션
JP6866714B2 (ja) 画像処理装置、画像処理システム、画像処理方法、及びプログラム
KR20210114298A (ko) 폴더 운용을 위한 전자 장치 및 그 동작 방법
JP2020123231A (ja) 情報処理装置、及び情報処理プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right