SCIM
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
SCIM은 C++로 작성된 객체 지향 구조의 입력 방식 플랫폼이다. 높은 모듈화, 유연성, 단순한 프로그래밍 인터페이스를 제공하며, UCS-4/UTF-8 인코딩을 통한 국제화를 지원한다. SCIM은 다양한 입력 방식 라이브러리에 대한 통합 프론트엔드 역할을 하며, IIIMF 언어 엔진으로도 사용될 수 있다. 또한, 여러 운영 체제를 지원하는 것을 목표로 하며, 관련 프로젝트로 KDE와의 통합을 위한 SKIM, 악센트 문자 입력을 위한 t-latn-pre 및 t-latn-post가 있다.
더 읽어볼만한 페이지
- 입력기 - 금석문자경
금석문자경은 1997년 발매된 한자 글꼴 및 데이터베이스로, 다양한 버전 업데이트와 웹 데이터베이스 서비스 등을 제공하다가 2018년 사업이 종료되었다. - 입력기 - 구글 IME
- C++로 작성된 자유 소프트웨어 - 클램윈
클램윈은 ClamAV 엔진 기반의 오픈 소스 백신 소프트웨어로, 트로이 목마, 바이러스, 멀웨어 등 다양한 악성 위협 분석 자료를 제공하며 예약 검사, 수동 검사, 컨텍스트 메뉴 통합 등의 기능을 지원하지만 실시간 감시 기능은 제공하지 않는다. - C++로 작성된 자유 소프트웨어 - VirtualDub
VirtualDub은 윈도우 운영 체제에서 실행되는 무료 오픈 소스 비디오 캡처 및 처리 유틸리티이며, AVI 파일을 주로 처리하고 플러그인을 통해 다른 파일 형식도 지원하며, 동영상 캡처, 편집, 비디오 처리 및 필터 기능을 제공한다.
| SCIM - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 기본 정보 | |
| 명칭 | Smart Common Input Method |
| 종류 | 입력기 |
| 개발 | |
| 개발자 | James Su |
| 발표일 | 2002년 6월 22일 |
| 안정화 버전 | 1.4.18 |
| 안정화 버전 발표일 | 2017년 7월 31일 |
| 개발 언어 | C |
| 지원 환경 | |
| 운영 체제 | 리눅스 *BSD |
| 플랫폼 | 해당 없음 |
| 라이선스 | |
| 외부 링크 | |
| 웹사이트 | GitHub 저장소 |
2. 주요 특징
SCIM은 다음과 같은 주요 특징을 가지고 있다.
- C++로 작성된 완전한 객체 지향 구조를 가졌다.[5]
- 고도의 모듈화를 통해 기능을 쉽게 추가하거나 변경할 수 있다.
- C/S 입력기 환경처럼 유연한 구조를 제공하며, 동적으로 로드 가능한 라이브러리를 사용한다.[5]
- 단순한 프로그래밍 인터페이스를 제공한다.[5]
- UCS-4/UTF-8 인코딩을 지원하여 다양한 언어를 처리할 수 있는 완전한 국제화 기능을 제공한다.[5]
- 개발 속도를 높이는 유틸리티를 제공한다.
- 풍부한 기능의 GUI 패널을 제공한다.
- 통일된 설정 프레임워크를 제공한다.
- scim-hangul 0.3.0 이상 버전에서는 일본어 방식의 한자 입력을 지원한다.[5]
- 특수 문자 입력 기능(자음 + F9 키)을 지원한다. (0.3.0~0.3.1 버전에서는 제거되었다가 0.3.2 버전에서 다시 추가되었다.)
2. 1. 객체 지향 설계
SCIM은 원래 C++ 언어로 작성되어 완전한 객체 지향 구조를 가졌다.[5] 1.4.14 버전 이후부터는 순수 C로 전환되었다.[1] SCIM은 입력 방식 인터페이스를 여러 클래스로 추상화하고, 클래스를 단순화하고 서로 독립성을 높이려고 시도한다. 더 단순하고 독립적인 인터페이스를 통해 개발자는 더 적은 코드 줄로 자체 입력 방식을 작성할 수 있다.SCIM은 '모듈화된' IM 플랫폼이며, 따라서 구성 요소는 동적으로 로드 가능한 모듈로 구현될 수 있으며, 필요에 따라 런타임 중에 로드할 수 있다. 예를 들어, SCIM용으로 작성된 입력 방식은 IMEngine 모듈이 될 수 있으며, 사용자는 IMEngine 모듈을 다시 작성하거나 재컴파일하지 않고도 다양한 인터페이스 모듈(FrontEnd)과 결합하여 다른 환경에서 사용할 수 있어 프로젝트의 컴파일 시간이나 개발 시간을 줄일 수 있다.
2. 2. 모듈화 및 유연성
SCIM은 높은 모듈화를 통해 기능을 쉽게 추가하거나 변경할 수 있다. 동적으로 로드 가능한 라이브러리를 사용하여 C/S 입력기 환경처럼 유연한 구조를 제공한다.[5] 구성 요소는 동적으로 로드 가능한 모듈로 구현될 수 있으며, 런타임 중에 필요에 따라 로드할 수 있다.2. 3. 단순한 인터페이스
SCIM은 개발자가 쉽게 입력기를 개발할 수 있도록 단순한 프로그래밍 인터페이스를 제공한다.[5] 이를 통해 개발자는 더 적은 코드 줄로 자체 입력 방식을 작성할 수 있다.SCIM은 입력 방식 인터페이스를 여러 클래스로 추상화하고, 클래스를 단순화하며 서로 독립성을 높이려고 시도한다.
2. 4. 국제화 지원
UCS-4/UTF-8 인코딩을 지원하여 다양한 언어를 처리할 수 있는 완전한 국제화 기능을 제공한다.[5]2. 5. 기타 특징
C++객체 지향 구조로 작성되었다. 모듈화 수준이 높고, 매우 유연한 구조를 가지고 있어 C/S 입력기 환경처럼 동적으로 로드하는 라이브러리를 사용할 수 있다. 단순한 프로그래밍 인터페이스를 제공하며, UCS-4/UTF-8 인코딩으로 완전한 국제화를 지원한다. 개발 속도를 높이는 다양하고 편리한 유틸리티 기능과 수많은 기능을 포함한 GUI 패널, 통합된 환경 설정 프레임워크를 제공한다.[5] scim-hangul 0.3.0 이상의 버전에서 일본어 방식의 한자 입력을 지원하며,[5] 특수 문자 입력 기능도 제공한다. (0.3.0~0.3.1까지는 이 기능이 제거되었으나 0.3.2 버전에서 다시 추가되었다. 자음 하나를 입력하고 F9 키를 누르면 된다.)2. 6. 한국어 관련 기능
scim-hangul 0.3.0 이상 버전에서는 일본어 방식의 한자 입력을 지원한다.[5] 특수 문자 입력 기능(자음 + F9 키)도 지원하는데, 0.3.0~0.3.1 버전에서는 제거되었다가 0.3.2 버전에서 다시 추가되었다.3. 아키텍처
SCIM은 원래 C++ 언어로 작성되었지만, 버전 1.4.14 이후부터는 순수한 C로 전환되었다.[1] 입력 방식 인터페이스를 여러 클래스로 추상화하고, 클래스를 단순화하고 서로 독립성을 높이려고 시도한다. 더 단순하고 독립적인 인터페이스를 통해 개발자는 더 적은 코드 줄로 자체 입력 방식을 작성할 수 있다.
SCIM은 '모듈화된' IM 플랫폼이며, 따라서 구성 요소는 동적으로 로드 가능한 모듈로 구현될 수 있으며, 필요에 따라 런타임 중에 로드할 수 있다. 예를 들어, SCIM용으로 작성된 입력 방식은 IMEngine 모듈이 될 수 있으며, 사용자는 IMEngine 모듈을 다시 작성하거나 재컴파일하지 않고도 다양한 인터페이스 모듈(FrontEnd)과 결합하여 다른 환경에서 사용할 수 있어 프로젝트의 컴파일 시간이나 개발 시간을 줄일 수 있다.
SCIM은 XIM 또는 IIIMF와 유사한 고수준 라이브러리이지만, 이러한 IM 플랫폼보다 더 단순하다고 주장한다. 또한 XIM 또는 IIIMF와 함께 사용할 수 있다고 주장한다. IMmodules를 통해 GTK+, Qt 및 Clutter와 같은 기존 응용 프로그램 도구 키트의 입력 방식 인터페이스를 확장하는 데 사용될 수 있다.[2]
4. 목적
SCIM 프로젝트는 다음과 같은 목표를 가지고 있다.
- 현재 사용 가능한 입력 방식 라이브러리에 대한 통합 프론트엔드 역할을 한다.
- IIIMF(입력 방식 프레임워크)의 언어 엔진 역할을 한다.
- 기존에 널리 사용되는 만큼 많은 입력 방식 프로토콜/인터페이스를 지원한다.
- 여러 운영 체제를 지원한다.
4. 1. 통합 프론트엔드
uim 및 m17n 라이브러리와 연동할 수 있는 통합 프론트엔드 역할을 수행한다. 바인딩은 uim 및 m17n 라이브러리를 사용할 수 있다.[1]4. 2. IIIMF 언어 엔진
IIIMF(입력 방식 프레임워크)의 언어 엔진 역할을 한다.분류:입력기
4. 3. 다양한 프로토콜/인터페이스 지원
SCIM은 기존에 널리 사용되는 만큼 많은 입력 방식 프로토콜/인터페이스를 지원한다.[1] uim 및 m17n 라이브러리와 연동할 수 있으며, IIIMF(입력 방식 프레임워크)의 언어 엔진 역할을 한다.[1]4. 4. 다양한 운영체제 지원
SCIM은 가능한 한 다양한 운영 체제를 지원하는 것을 목표로 한다. 현재는 POSIX 스타일 운영 체제만 사용할 수 있다.[1]5. 관련 프로젝트
SKIM과 t-latn-pre 및 t-latn-post는 SCIM 관련 프로젝트이다. SKIM은 SCIM을 K 데스크톱 환경에 통합하기 위한 것이고, t-latn-pre 및 t-latn-post는 악센트 문자를 쉽게 작성할 수 있는 입력 방식이다.[3]
5. 1. SKIM
SKIM은 SCIM을 K 데스크톱 환경에 더 긴밀하게 통합하기 위한 별도의 프로젝트로, GUI 패널(''scim-panel-kde''라고 함), KConfig 구성 모듈 및 자체 및 SCIM 모듈 libscim에 대한 설정 대화 상자를 제공한다. 또한 주문형 로드 가능한 작업을 지원하는 자체 플러그인 시스템을 가지고 있다.[3]5. 2. t-latn-pre 및 t-latn-post
'''t-latn-pre''' 및 '''t-latn-post'''는 정규 문자에 발음 구별 기호를 앞에 붙이거나(t-latn-pre의 경우) 나중에 추가하여(t-latn-post의 경우) 악센트 문자를 쉽게 작성할 수 있는 두 가지 입력 방식이다. 이 입력 방식들의 주요 장점은 별도의 키보드 레이아웃을 설치할 필요 없이 다양한 언어의 많은 수의 합성 문자를 입력할 수 있다는 것이다.[3] 이 입력 방식은 M17n 라이브러리를 통해 SCIM에서 사용할 수 있다.참조
[1]
웹사이트
A new stable version has been released, the main change is the incorporation of scim-bridge. / scim News / News / SCIM - SCIM
https://web.archive.[...]
[2]
웹사이트
IMmodules
https://web.archive.[...]
2007-08-04
[3]
웹사이트
The m17n Library
https://web.archive.[...]
2009-01-19
[4]
웹사이트
(src.rpm ファイル内の scim.spec ファイル)
http://ftp.turbolinu[...]
ターボリナックス
2016-09-16
[5]
웹인용
설명 및 플래시 동영상
https://web.archive.[...]
2007-01-02
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com