"HanJP IM"의 두 판 사이의 차이
Sukso96100 (토론 | 기여) (참여자 목록 수정) |
Sukso96100 (토론 | 기여) (→프로젝트 참여자) |
||
14번째 줄: | 14번째 줄: | ||
* 한영빈 - sukso96100@gmail.com | * 한영빈 - sukso96100@gmail.com | ||
* 하희목 - tekkon@naver.com (27회차 이후 군 이대로 인해 프로젝트에서 빠짐) | * 하희목 - tekkon@naver.com (27회차 이후 군 이대로 인해 프로젝트에서 빠짐) | ||
− | * 강준영 - juneyoung_kang@outlook.com (20회차 이후 | + | * 강준영 - juneyoung_kang@outlook.com (20회차 이후 개인 사정으로 프로젝트에서 빠짐) |
== 프로젝트 모임 기록 == | == 프로젝트 모임 기록 == |
2019년 5월 20일 (월) 22:27 판
목차
프로젝트 소개
HanJP IM 프로젝트는 한글로 일본어 발음을 입력하여 일본어를 입력하는 입력기 엔진을 개발하는 프로젝트 입니다.
입력기 엔진은 UIM 용으로 개발합니다. 라이브러리 형식으로, 서버/클라이언트 방식 입력기 프레임워크보다 개발이 쉽기 때문입니다.
기존에는 UIM 용으로 연구/개발 하였으나, 엔진 개발에 필요한 문서가 충분하지 않고 사용 언어 또한 Scheme 라는 생소한 언어로 해야 해서 UIM 으로 하지 않기로 하였으며, 대신 레퍼런스 문서가 잘 준비되어 있고, 비교적 익숙한 C 로 엔진을 작성 가능한 iBus 용으로 연구/개발 하기로 하였습니다.
프로젝트 참여자
- 김광연 - 프로젝트 제안자, 리더 - hemool123@naver.com
- 한영빈 - sukso96100@gmail.com
- 하희목 - tekkon@naver.com (27회차 이후 군 이대로 인해 프로젝트에서 빠짐)
- 강준영 - juneyoung_kang@outlook.com (20회차 이후 개인 사정으로 프로젝트에서 빠짐)
프로젝트 모임 기록
- 모임 사진첩 : https://photos.app.goo.gl/9hBFNe0jwk40xzox1
- 모임 장소 후원 : 마이크로소프트웨어(~3/11), KossLab(5/13~)
- 첫 2개월은 매주 2회 모임을 가짐.
모임 없는 날
- 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 붙여 테스트.
- uim-sh - uim 디버깅을 위한 Scheme 셸 - https://github.com/uim/uim/blob/master/doc/UIM-SH
- uim-sh 에서 scheme 언어로 작성한 입력기 엔진 로드가 가능한지 알아보면 좋을 것 같음.
4회차
2018.01.13 태성빌딩 306호 연결지성센터(시청역 근처)
- 참석자 : 신호석, 한영빈, 김광연 / 강준영님은 부모님 병문안으로 인해 불참
- uim-byeoru 소스코드 분석하기
- 광연님께서 부분적으로 작성하신 소스코드도 분석하기
- MIT/GNU Scheme 9.2 Reference
- byeoru-johab-to-ucs : 벼루 엔진에서 임의로 생성한 조합 코드를 유니코드로 변환하는 함수
- byeoru-layout-hangul2 : 두벌씩 키배열 정의
- 입력기 분석 할것
- 김광연 : 입력기 등록 방법 분석
- 신호석 : 입력기 작동 흐름 분석
- 한영빈, 강준영 : 벼루 입력기 로직 분석
5회차
2018.01.18 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연
- 결석자 : 강준영(0XD 커뮤니티 관련 일정으로 불참), 신호석(회사 일로 불참)
- Scheme Tutorial : https://classes.soe.ucsc.edu/cmps112/Spring03/languages/scheme/SchemeTutorialA.html
- 유니코드에서의 한글 처리 관련 포스트 : http://d2.naver.com/helloworld/76650
6회차
2018.01.20 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연, 신호석
- 결석자 : 강준영(0XD 커뮤니티 관련 일정으로 불참)
- 벼루 소스코드 분석 하는데 감이 잘 안 잡혀서 조언을 구하기 위한 목적으로 벼루 개발에 참여 하셨던 분과 연락 시도.
- 각자 벼루 소스코드 분석/연구 작업.
- xev 를 사용하여 키보드 키에 대한 xkb 키값을 알 수 있음
7회차
2018.02.01 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연, 강준영 / 신호석님은 회사 일 문제로 당분간 불참.
- 벼루 개발자 분께 연락을 드린것에 대해 답장을 받음.
- 주중 모임 시간 오후 7시에서 오후 5시로 조정.
- 오토마타 이론을 먼저 공부하기 위해 스터디를 우선 진행할 예정.
- 검토중인 오토마타 스터디 자료
8회차
2018.02.03 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연, 강준영 / 신호석님은 회사 일 문제로 당분간 불참.
- 오토마타 스터디 진행. - 주로 한글 오토마타에 대해 학습
- 학습에 사용한 슬라이드 자료
- https://www.slideshare.net/UbuntuKorea/hanjpim
- UIM 에 입력기 추가 등록 방법 관련 문의 이슈로 등록
9회차
2018.02.08 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연 / 강준영님은 학교 개학으로 인해 불참, 신호석님은 회사 일 문제로 당분간 불참.
- 계속해서 uim 벼루 소스코드 분석
- 한영빈 - iBus 문서와 GNOME Glib 참고문서 참고하여 ibus-hangul 소스 등 분석
- iBus 위주로 연구를 하는 것으로 방향을 변경. Uim 쪽도 계속 연구할 예정.
- iBus 참조문서 - http://ibus.github.io/docs/ibus-1.5/index.html
- 분석한 소스코드
- ibusenginesimple.c - 예제 iBus 엔진 소스코드
- engine.c - ibus-hangul 엔진 소스코드
- ibus-hangul 의 engine.c 에서 ibus_hangul_engine_process_key_event 함수가 키 입력 이벤트를 받아 한글 조합 등을 처리함.
10회차
2018.02.10 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연
- 불참 : 강준영(무단 - 별도 연락 없이 불참), 신호석(회사일로 불참)
- 여러 IBus 엔진 소스코드 참고하여 간단히 뼈대 파일 작성.
- libhangul 소스코드 분석
11회차
2018.02.22 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연, 강준영
- 한영빈 - iBus 엔진 코드 작성
- 김광연 - Input Context 를 제공할 라이브러리 개발 작업 - libhangul 과 유사한 기능 제공
- 강준영 - ibus 분석 작업.
12회차
2018.03.03 IT조선 사무실(시청역 근처 조선일보사 건물)
- 참석자 : 한영빈, 김광연
- 결적자 : 강준영 - 해커톤 스태프 활동으로 인해 불참
- 김광연 : libhanjp 라이브러리 작성 작업
- 한영빈 : 엔진 작업, ibus-tmpl 및 libhanjp 추가로 분석
- 키 심볼
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 스타벅스 한국프레스센터
- 참석자 : 한영빈, 김광연
- 강준영 님은 자격증 시험으로 인해 불참
- 라이브러리 내부적으로, preedit text 처리에 ucschar 자료형을 사용하는데, 이는 엔진쪽 preedit 의 자료형인 Gstring 과 일치하지 않음. 그래서 이 부분에 대해 논의를 진행
- 논의 결과과 Gstring 그대로 사용하고, ucschar 에서 Gstring 으로 변환하도록 하기로 함.
- https://developer.gnome.org/glib/stable/glib-Strings.html#g-string-append-unichar
- Gstring 과의 호환성을 위한 함수도 추가로 작성
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) 지원으로 모임 진행
- 참석자 : 한영빈, 김광연
- libhanjp 개발 작업
- Eater 에서 문자 입력 받을 때 큐 대신 State 사용 논의
- 요음 처리 방안 논의 및 구현과 리뷰
- 한영빈 : 기본적인 요음 처리 구현
- 김광연 : hangul_to_kana 함수 리뷰 및 Eater 구조 변경 작업
- 작업 커밋 내역
27회차
2018.08.10 토즈 마이스 광화문센터 / KossLab(NIPA) 지원으로 모임 진행
- 참석자 : 한영빈, 하희목
- 새로 들어오신 분께 Hanjp 프로젝트 소개