맨위로가기

IBus

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

IBus는 사용자 친화적인 입력 방식과 다국어 지원을 제공하며, 입력기 개발을 위한 인터페이스와 라이브러리를 제공하는 입력 방식 프레임워크이다. 동북아 OSS 포럼의 문서를 기반으로 개발되었으며, C와 Python으로 작성되어 C++ ABI 문제를 해결했다. IBus는 입력 방식 엔진, 구성, 패널로 구성되며, D-Bus를 통해 서비스 간 통신을 수행한다. 다양한 입력기 플러그인과 엔진을 지원하며, 알림 영역 지원, XKB와의 상호 운용성, 설정 변경 즉시 적용 등의 특징을 갖는다.

더 읽어볼만한 페이지

  • 입력기 - 금석문자경
    금석문자경은 1997년 발매된 한자 글꼴 및 데이터베이스로, 다양한 버전 업데이트와 웹 데이터베이스 서비스 등을 제공하다가 2018년 사업이 종료되었다.
  • 입력기 - SCIM
    SCIM은 C++ 또는 C로 작성된 모듈화된 객체 지향 구조의 입력기로, 동적 라이브러리 로드, UCS-4/UTF-8 인코딩 지원을 통한 국제화, 다양한 입력기 라이브러리 통합, 그리고 IIIMF 입력기 프레임워크의 언어 엔진으로의 동작을 특징으로 한다.
  • 파이썬으로 작성된 자유 소프트웨어 - 캘리버
    캘리버는 다양한 전자책 파일 형식과 단말기를 지원하는 오픈소스 소프트웨어로, 편집, 변환, 메타데이터 관리, 라이브러리 검색, 온라인 콘텐츠 수집, 원격 액세스, 전자책 제작 등의 기능을 제공하며, 플러그인을 통해 DRM 제거도 가능하다.
  • 파이썬으로 작성된 자유 소프트웨어 - 클램윈
    클램윈은 ClamAV 엔진 기반의 오픈 소스 백신 소프트웨어로, 트로이 목마, 바이러스, 멀웨어 등 다양한 악성 위협 분석 자료를 제공하며 예약 검사, 수동 검사, 컨텍스트 메뉴 통합 등의 기능을 지원하지만 실시간 감시 기능은 제공하지 않는다.
  • C로 작성된 자유 소프트웨어 - PostgreSQL
    PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다.
  • C로 작성된 자유 소프트웨어 - 김프
    김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다.
IBus - [IT 관련 정보]에 관한 문서
IBus 정보
IBus 로고
IBus 로고
ibus-pinyin 스크린샷
ibus-pinyin 스크린샷
개발자펭 황
원저자황 펭
출시일2008년 8월
최신 버전 출시일}}
프로그래밍 언어C
파이썬
운영체제유닉스 계열
언어다국어 지원
종류입력기
라이선스GNU LGPL v2 또는 그 이후
웹사이트IBus GitHub 저장소

2. 목표


  • 사용자 친화적이고 충분한 기능을 갖춘 입력기사용자 인터페이스를 제공한다.
  • 보안 향상을 위해 인증 평가를 채택한다.
  • 변환 엔진 개발자에게 보편적인 인터페이스와 라이브러리를 제공한다.
  • 다양한 지역 및 사용자의 요구 사항을 충족한다.

3. 배경

IBus는 동북아 OSS 포럼[1] 워크 그룹 3에서 제안한 'IM 엔진 서비스 제공자 인터페이스 명세'[1]를 기반으로 개발되었다. 이 명세는 버스 중심의 입력기 프레임워크 아키텍처를 제안했다. 기존의 입력기 프레임워크였던 SCIM-1.4는 C++로 개발되어 ABI 전환 문제를 야기했기 때문에 더 이상 개발하기에 적합하지 않다고 판단되었다.[1]

이후 James Su가 주도한 IM-BUS와 Zheng Hu가 주도한 SCIM-2와 같은 후속 프로젝트들이 시작되었으나, 두 프로젝트 모두 중단되었다. 이에 Huang Peng은 Red Hat에서 IBus 프로젝트를 시작하여 Python, D-Bus, GLib를 사용해 IM-BUS의 아이디어를 구현했다. IBus는 FreeBSD, 페도라, Ubuntu 등 여러 리눅스 배포판에서 기본 입력기 프레임워크로 채택되었다. 특히, 페도라 11부터 새로운 기본 입력 방식 프레임워크가 되었고,[1] 우분투 9.10에서는 SCIM을 대체했다.[1]

4. 구조

IBus는 C와 Python으로 개발되어 SCIM 1.4.14 이후의 C++ ABI 전환 문제를 해결했다.

IBus는 대부분의 기능을 서비스를 통해 제공한다. 주요 서비스는 다음과 같다.


  • 입력 방식 엔진(IME): 실제 입력 방식이다.
  • 구성: IBus 및 IME와 같은 다른 서비스에 대한 구성을 처리한다.
  • 패널: 언어 표시줄 및 후보 선택 테이블과 같은 사용자 인터페이스이다.


IBus는 D-Bus를 사용하여 ibus-daemon, 서비스, 터미널 에뮬레이터, 편집기 및 웹 브라우저와 같은 IM 클라이언트 간에 통신한다. ibus-daemon은 서비스로부터의 등록을 받아 해당 서비스 및 IM 클라이언트에 D-Bus 메시지를 전송하여 모든 클라이언트와 서비스를 관리한다.

XIM 프로토콜을 구현하고 있으며 GTK 및 Qt 입력 방식 모듈을 갖추고 있다.

5. 특징


  • 필요에 따라 엔진을 불러오고 내릴 수 있다.
  • 알림 영역(작업 표시줄)을 지원한다.
  • XKB와의 상호 운용성을 지원한다.[1]
  • 설정을 즉시 적용한다.[1]
  • C와 Python 바인딩을 제공한다.

6. 지원하는 입력기 플러그인 및 엔진


  • ibus-anthy: 일본어 입력기 Anthy 플러그인[1]
  • ibus-avro: 벵골어 음성 키보드 레이아웃 (Avro 키보드 기반)[1][2][3]
  • ibus-cangjie:[1] 창힐 입력법 엔진
  • ibus-chewing: 주음 부호 기반 지능형 중국어 입력기 (libChewing 기반)
  • ibus-hangul: 한국어 입력기
  • ibus-libpinyin: 핀인 기반 중국어 입력기 (ibus-pinyin 대체)
  • ibus-libthai: libthai 기반 태국어 입력기
  • ibus-libzhuyin:[1] 주음 부호 입력 방식 엔진 (ibus-chewing 대안)
  • ibus-mozc: 구글 일본어 입력기 "mozc" 플러그인[1]
  • ibus-pinyin: 병음 기반 지능형 중국어 입력기 (현재는 ibus-libpinyin으로 대체됨)
  • ibus-unikey: 베트남어 입력기
  • ibus-canna[8]: NEC사의 Canna (현재는 SourceForge). 데비안(Debian) 및 openSUSE 호환 배포판에서만 사용 가능.
  • ibus-skk[9]: IBus를 위한 일본어 SKK 입력 엔진.

6. 1. ibus-m17n

ibus-m17n은 다국어 데이터베이스에서 입력 방식과 해당 아이콘을 사용하는 입력 엔진(IME)으로, 숫자약자 "m17n"으로 줄여 쓰기도 한다. ibus-table과 달리, m17n 입력 방식은 IBus 패널(언어 표시줄)에 레이블이 표시되는 상태를 지원하며, 주변 텍스트도 지원한다. 이러한 기능이 필요한 태국어, 일반 주음 부호와 같은 입력 방식은 ibus-m17n을 통해 지원되며, 성조가 있는 병음도 지원된다.

6. 2. ibus-table

ibus-table은 Yu Wei Yu가 개발한 테이블 기반 입력 엔진으로, 단어 선택 로직이 필요 없는 입력 방식(예: 창힐, 오필)을 지원한다.[1]

공식 출시된 IM 테이블은 다음과 같다.[1]

테이블설명
latexLaTeX 문법을 사용하여 특수 문자를 입력한다. ibus-table 패키지에 포함되어 있다.
compose문자와 분음 부호를 조합하여 특수 문자를 입력한다. ibus-table 패키지에 포함되어 있다.
Array30Array30 중국어 IM 테이블
Cangjie창힐 3 및 5 중국어 IM 테이블
Erbi얼비 중국어 IM 테이블
Wubi오필 중국어 IM 테이블
YongYongMa 중국어 IM 테이블
ZhengMa정마 중국어 IM 테이블


참조

[1] 간행물 ibus-avro https://github.com/s[...] 2021-01-12
[2] 웹사이트 Details of Package ibus-avro in Sid https://packages.deb[...] 2020-11-09
[3] 웹사이트 Avro Keyboard - Unicode and ANSI compliant Free Bangla Typing Software and Bangla Spell Checker https://www.omicronl[...] 2020-11-09
[4] 웹사이트 Northeast Asia Open Source Software Forum http://www.neaossfor[...]
[5] 문서 Specification of IM engine Service Provider Interface http://wg3.neaoss.or[...]
[6] 문서 SCIM ABI transition in sid http://lists.alioth.[...]
[7] 문서 Fedora 11 Feature List http://fedoraproject[...]
[8] 웹사이트 Show home:ftake / ibus-canna - openSUSE Build Service https://build.opensu[...] openSUSE project 2024-01-01
[9] 웹사이트 GitHub - ueno/ibus-skk: Japanese SKK engine for IBus https://github.com/u[...] GitHub, Inc. 2024-01-01
[10] 문서 ibus-table README https://code.google.[...]
[11] 문서 IBus Google Downloads https://code.google.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com