반응형

Coding/Python Matlab 80

Python: 3327 N바이트 한글을 UTF-8 및 KS 완성형으로 변환

Apple2 시절엔 한글 소프트웨어도 귀했지만 일부 있다 하더라도 3327한글이란 N바이트 조합형 한글을 사용했었다. 그걸 도트 프린터로 보내면 한글 모듈이 달려 있는 프린터들(주로 엡슨 호환기종들)이 한글을 인식해서 자체 한글 폰트로 출력을 해 줬었다. 그런 도트프린터 감성의 추억 때문에 도트 프린터 에뮬레이션 코드도 작성했는데, 문제는 3327 한글을 조합형으로 바꾸는 과정에서 어려움이 있었다. 일단 AppleWin 으로 출력을 파일로 보내서 3327 한글 N바이트 조합형 코드를 확보하는 것 까지는 쉬운데 이걸 TG 삼보 조합형으로 바꿔줘야 비트맵 그래픽 폰트를 사용할 수 있게끔 코드 테이블의 포인터들을 쉽게 결정할 수 있다. 그런데 바로 삼보 조합형으로는 도저히 못하겠고, 일단 KS 완성형으로 바꾸..

Python: UTF-8 한글코드를 TG 조합형으로 변환

파이썬으로 하니 이렇게 쉬울수가 ㅠㅠ (미쳤다! 라는 감탄만 나온다) 핵심은 1. jamo 라이브러리 덕분에 한 글자를 쉽게 초, 중, 종성으로 분리 가능 2. 조합형 초,중,종성 테이블을 그냥 스트링으로 만들어 두어도 find() 함수로 바로 인덱스를 얻을 수 있다는 점 3. 초중종성 인덱스 3개를 5비트 바이너리 스트링으로 만들고, '1' + 초 + 중 + 종 16비트 바이너리를 반으로 잘라서 그냥 정수로 변경해서 정수 리스트에 다 넣어버린 후, bytes() 로 바이트 어레이로 만들면 변환 끝 (아직은 정교하게 변환은 못하는 버전이지만 간단히 도트매트릭스 출력 에뮬레이션 추억놀이용으로 쓰려고 만듬)

키보드 클릭 사운드 내는 파이썬 프로그램

애플2 에뮬레이터를 가지고 놀면서 화면은 CRT VGA 로 그럭저럭 추억의 화면을 얻을 수 있었고, 디스크 드라이브가 디스크를 엑세스 하는 소리는 에뮬레이터 중에서 MAME 최신 버전을 사용하여 얻을 수 있었다. 그런데 이 아저씨의 유튜브 쇼츠를 보면 실기의 경우 기계식 키보드의 경쾌한 클릭킹 소리가 역시 큰 추억의 한 부분으로 느껴졌다. https://www.youtube.com/shorts/THNj1nqEEhE 그래서 키보드 클릭킹 소리를 내 주는 윈도우즈용 무료 앱들을 찾아 헤매다가 그런데로 맘에 드는 프로그램을 하나 찾았다. 한국분이 개발하신 것이다. (좋은 프로그램을 공개해 주셔서 감사합니다 ^^) https://kagamine-rin.com/?p=339 컴퓨터로 타이핑하면 소리가 나는 프로그램..

한글 자모 분리방법 - 3327 한글 데이터 만들기를 위해서

옛날 8비트 애플2 및 16비트 PC 초기 시절엔 N바이트 조합형 한글을 사용하곤 했었다. 도트 프린터들도 거기 맞춰서 한글을 프린트를 해 주는 모듈이 장착된 모델들이 판매되었었고. 요즘 레트로 컴퓨터 취미 생활의 한 부분으로 애플2 시절 3327 한글이 사용된 소프트웨어 중 파손된 데이터의 복구나 도트 프린터 에뮬레이션 등을 해보고 있다. 그러던 중 윈도우즈에서 UTF-8 포맷으로 준비한 한글 데이터를 3327 의 입력기 방식에 맞는 자모(실제로는 매칭되는 알파벳 및 기호문자, 키보드에 하나씩 매칭됨)로 변환하려는데 완성형 한글 한글자마다 자모를 분리하고, Apple2 키보드의 키로 매칭하는 작업이 필요했다. 그때 자모 분리 작업을 어떻게 할지 고민하다 우연히 검색에서 찾은 좋은 자료가 있어서 기록으로..

Python - 언어 번역 (Language Translation in Python)

googletrans 4.0.0-rc1 필요 pip install googletrans==4.0.0-rc1 코드 예제 from googletrans import Translator translator = Translator() print(translator.translate('안녕하세요', src='ko', dest='en').text) print(translator.translate('안녕하세요', src='ko', dest='ja').text) print(translator.translate('こんにちは', src='ja', dest='ko').text) print(translator.translate('こんにちは', src='ja', dest='en').text) print(translator.tr..

manga_ocr, google translate 를 사용한 게임 화면내 일본어 번역

간단한 파이썬 코드와 윈도우즈의 WIN_SHIFT_S 스크린샷 기능, 그리고 google translate 힘을 빌어 일본어를 번역해 가면서 게임하는 사례 (첨부된 코드는 좌측이 웹브라우저, 우측에 게임 화면인 경우를 고려한 위치 셋팅이 되어 있음) 테스트 결과 mednafen 사용시 가로 세로 2배 스크린 사이즈에 linear interpolation 끈 옵션 (예를 들어 -gba.videoip 0) 에서 다른 화면 필터에 비해 오류가 적은 듯...

728x90