HanJP IM 프로젝트 (2017-2019)

기존 위키에서 가져온 문서입니다.

프로젝트 소개

HanJP IM 프로젝트는 한글로 일본어 발음을 입력하여 일본어를 입력하는 입력기 엔진(IME)을 개발하는 프로젝트 입니다.

입력기 엔진은 UIM 용으로 개발합니다. 라이브러리 형식으로, 서버/클라이언트 방식 입력기 프레임워크보다 개발이 쉽기 때문입니다.

기존에는 UIM 용으로 연구/개발 하였으나, 엔진 개발에 필요한 문서가 충분하지 않고 사용 언어 또한 Scheme 라는 생소한 언어로 해야 해서 UIM 으로 하지 않기로 하였으며, 대신 레퍼런스 문서가 잘 준비되어 있고, 비교적 익숙한 C 로 엔진을 작성 가능한 iBus 용으로 연구/개발 하기로 하였습니다.

프로젝트 참여자

프로젝트 모임 기록

모임 없는 날

  • 1.25 : 모임공간 지원해주는 회사 사정으로 인해 제공을 받지 못함.
  • 2.15, 2.17 : 설 연휴로 인해 모임을 가질 수 없음.

1회차

2017.12.30 태성빌딩 306호 연결지성센터(시청역 근처)

  • 참석자 : 한영빈, 신호석, 강준영, 김광연
  • 프로젝트 소개와 추후 일정 및 진행 방식 등 논의.
  • 우선 입력기 엔진 개발 관련 문서를 보면서 필요한 지식을 습득 및 학습할 예정.
  • 1~2주 안으로 입력기 엔진 스펙과 프로젝트 라이선스 등을 확정할 예정.

2회차

2018.01.07 태성빌딩 306호 연결지성센터(시청역 근처)

  • 참석자 : 한영빈, 신호석, 강준영, 김광연
  • UIM 에서 입력기 엔진을 스킴(Scheme) 프로그래밍 언어로 작성함 - 기본적인 문법에 대한 학습 필요.
  • The Scheme Programming Language, Fourth Edition - https://www.scheme.com/tspl4/
  • 프로그래밍 스킴 Scheme 1 다운로드부터 문법 대부분을 314초만에 알려줄게요 - http://avangs.info/study_etc/193523
  • Scheme 언어 인터프리터 - 우분투에서 scm 패키지로 제공

sudo apt install scm

3회차

2018.01.11 태성빌딩 306호 연결지성센터(시청역 근처)

  • 참석자 : 한영빈, 강준영, 김광연 / 신호석님은 회사 일로 불참
  • UIM 컴파일하여 설치 - https://github.com/uim/uim/wiki/InstallUim
  • 직접 컴파일 하는 경우 우분투용 패키지에 포함되는 설정 파일 등이 없음. 아래와 같은 방식으로 특정 프로그램에서 uim 테스트가 가능한 것으로 보임.

uim-xim& firefox # Firefox 에서 uim 붙여 테스트.

4회차

2018.01.13 태성빌딩 306호 연결지성센터(시청역 근처)

5회차

2018.01.18 IT조선 사무실(시청역 근처 조선일보사 건물)

6회차

2018.01.20 IT조선 사무실(시청역 근처 조선일보사 건물)

  • 참석자 : 한영빈, 김광연, 신호석

  • 결석자 : 강준영(0XD 커뮤니티 관련 일정으로 불참)

  • 벼루 소스코드 분석 하는데 감이 잘 안 잡혀서 조언을 구하기 위한
    목적으로 벼루 개발에 참여 하셨던 분과 연락 시도.

  • 각자 벼루 소스코드 분석/연구 작업.

  • xev 를 사용하여 키보드 키에 대한 xkb 키값을 알 수 있음

7회차

2018.02.01 IT조선 사무실(시청역 근처 조선일보사 건물)

8회차

2018.02.03 IT조선 사무실(시청역 근처 조선일보사 건물)

9회차

2018.02.08 IT조선 사무실(시청역 근처 조선일보사 건물)

10회차

2018.02.10 IT조선 사무실(시청역 근처 조선일보사 건물)

11회차

2018.02.22 IT조선 사무실(시청역 근처 조선일보사 건물)

  • 참석자 : 한영빈, 김광연, 강준영

  • 한영빈 - iBus 엔진 코드 작성

  • 김광연 - Input Context 를 제공할 라이브러리 개발 작업 - libhangul 과
    유사한 기능 제공

  • 강준영 - ibus 분석 작업.

12회차

2018.03.03 IT조선 사무실(시청역 근처 조선일보사 건물)

13회차

2018.03.11 IT조선 사무실(시청역 근처 조선일보사 건물)

  • 참석자 : 한영빈, 김광연, 강준영
  • 김광연 : libhanjp 라이브러리 작업
  • 한영빈 : ibus-hanjp - 키 이벤트 처리 함수 작업
  • 강준영 : ibus-hanjp - Preedit 업데이트 함수 작업

14회차

2018.03.18 스타벅스 한국프레스센터점

  • 참석자 : 한영빈, 김광연, 강준영
  • 김광연 :
    • libhanjp Makefile 작성과 컴파일 테스트. 컴파일은 잘 됨, 아직 Makefile의 install 부분은 작성되지 않았음. 라이브러리 잘 작동하는지 테스트 필요
    • ibus-hanjp 같이 작업 시작
  • 한영빈 : 키 입력 처리 함수 작업중 - 노트북 임시 교체로 인해 일부
    코드 다시 작성중
  • 강준영 : preedit 관련 함수 작업 및 ibus-hangul 에서 관련소스 같이 분석중.

15회차

2018.03.25 스타벅스 광화문점

  • 참석자 : 강준영, 한영빈
  • 김광연님은 개인 사정으로 불참
  • 각자 엔진 키 입력 이벤트 처리와, 프리에딧 업데이트 부분 작업

16회차

2018.04.08 스타벅스 한국프레스센터

17회차

2018.04.22 스타벅스 한국프레스센터

  • 참석자 : 한영빈, 김광연
  • 강준영 님은 학교 중간고사 준비로 인해 불참
  • 4.28 에 예정된 Ubuntu 18.04 Release Party 에서 발표할 프로젝트 진행
    현황 보고 발표 준비.

18회차

2018.05.05 스타벅스 한국프레스센터

  • 참석자 : 강준영, 한영빈
  • 김광연 님은 본가로 가야해서 불참
  • 학교 과제 차 방문한 고등학생분 인터뷰 후 각자 작업 진행.
  • Autotools 문서를 잠깐 읽음.

19회차

2018.05.13 토즈 마이스 광화문센터

  • KossLab 모임공간 지원을 통해 진행
  • 참석자 : 김광연, 한영빈
  • 강준영 님은 교육청 강의 참석으로 인해 불참
  • libhanjp 구조 변경에 대해서 논의
  • ibus 엔진쪽 preedit 문자열 처리에 대한 논의

20회차

2018.05.19 KossLab(공개소프트웨어개발자랩)

  • GNOME Korea 와 함께 조인트로 모임 진행
  • 참석자
    • 우분투한국커뮤니티 Hanjp-IM 팀 측 : 한영빈, 김광연, 강준영
    • GNOME Korea 측 : 조성호, 류창우, 문관경, 성대현
  • GNOME Korea 측에서 먼저 libhangul, ibus 등 입력기 구조와 한글 입력 처리 등에 대해 정리하여 발표
  • Hanjp-IM 팀 측에서 libhanjp 소스코드를 보여주며 libhanjp 의 구조와 작동 방식에 대하여 간단히 발표
  • libhanjp 시연 - 시연 자체는 실패했지만, 컴파일/gdb 디버깅 부분 도움을 받아 실행을 시도 하는 데 까지 성공함.
  • cursor_pos 에 관해 질문 - preedit 상에서의 커서 위치인것으로 답변 받음
  • 문관경 님께서 그놈 셸 개발 환경에 대해 소개해 주심(화면에 나타나는
    요소를 선택해 볼 수 있는 looking glass 등)

21회차

2018.06.10 토즈 마이스 광화문센터 / KossLab(NIPA) 지원으로 모임 진행

  • 참석자 : 한영빈, 김광연 / 강준영님은 집안 사정으로 인해 불참
  • 6월 모임 일정 부분적으로 조율
  • libhanjp 구조 변경에 관한 논의
    • 현제 구조로는 처리가 복잡하며 제대로 작동하지 않음. 이를 해결한
      새 libhanjp 구조 설계를 김광연님께서 제안.
  • 컴파일과 디버깅에 관한 논의 진행

22회차

2018.06.26 토즈 마이스 광화문센터 / KossLab(NIPA) 지원으로 모임 진행

  • 참석자 : 한영빈, 김광연
  • libhanjp 제작성 관련 논의
  • 역할 분담 : 한영빈 - hanjp eater, 김광연 - input context

23회차

2018.06.30 토즈 마이스 광화문센터 / KossLab(NIPA) 지원으로 모임 진행

  • 참석자 : 한영빈, 김광연
  • libhanjp 개발 작업
  • 한영빈 : hangul_to_kana 함수 작업
  • 김광연 : eater_push 함수 작업

24회차

2018.07.06 토즈 마이스 광화문센터

  • 참석자 : 한영빈, 김광연
  • libhanjp 개발 작업
  • hangul_to_kana 함수 구현 방법에 대한 논의
  • 작업한 코드 리뷰 및 병합 작업

25회차

2018.07.15 토즈 마이스 광화문센터 / KossLab(NIPA) 지원으로 모임 진행

  • 참석자 : 한영빈, 김광연
  • libhanjp 개발 작업
  • hangul_to_kana 함수
    • 요음 처리에 관한 논의.
      • 현제 함수 반환 타입은 ucschar 인데, 요음은 글자 두개를 리턴하거나, 요음애 해당하는 한글 마디를 분해해서 hangul_to_kana 를 두번 호출해야 함.
      • 한글 마디를 분해하여 두번 호출하기 보단, 그대로 넘기고. 리턴타입은 void 로, 대신 포인터 매개변수 통해 전달 하기로 함.
  • 한영빈 : hangul_to_kana 함수 - 탁음, 반탁음 입력 로직 작업
  • 김광연 : hangul_to_kana 함수 리뷰

26회차

2018.07.21 토즈 마이스 광화문센터 / KossLab(NIPA) 지원으로 모임 진행

27회차

2018.08.10 토즈 마이스 광화문센터 / KossLab(NIPA) 지원으로 모임 진행

  • 참석자 : 한영빈, 하희목
  • 새로 들어오신 분께 Hanjp 프로젝트 소개

2019-07-06

2019.07.06 참석자 모임 불가로 화상회의로 진행

  • 참석자 : 김광연, 배준현
  • 배포 파이프라인 설명 및, SSH키 발급 공유, 마일스톤 정의
2개의 좋아요