요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
Glyph 예제
lcd-panel-cgram.rst:16-27enter, 방향, IP, speaker glyph 명령을 제공합니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
======================================
Parallel port LCD/Keypad Panel support
======================================
Some LCDs allow you to define up to 8 characters, mapped to ASCII
characters 0 to 7. The escape code to define a new character is
'\e[LG' followed by one digit from 0 to 7, representing the character
number, and up to 8 couples of hex digits terminated by a semi-colon
(';'). Each couple of digits represents a line, with 1-bits for each
illuminated pixel with LSB on the right. Lines are numbered from the
top of the character to the bottom. On a 5x7 matrix, only the 5 lower
bits of the 7 first bytes are used for each character. If the string
is incomplete, only complete lines will be redefined. Here are some
examples::
printf "\e[LG0010101050D1F0C04;" => 0 = [enter]
printf "\e[LG1040E1F0000000000;" => 1 = [up]
printf "\e[LG2000000001F0E0400;" => 2 = [down]
printf "\e[LG3040E1F001F0E0400;" => 3 = [up-down]
printf "\e[LG40002060E1E0E0602;" => 4 = [left]
printf "\e[LG500080C0E0F0E0C08;" => 5 = [right]
printf "\e[LG60016051516141400;" => 6 = "IP"
printf "\e[LG00103071F1F070301;" => big speaker
printf "\e[LG00002061E1E060200;" => small speaker
Willy
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
Custom character escape 형식
1-15일부 LCD는 ASCII character `0`부터 `7`에 mapping하는 custom character를 최대 8개 정의할 수 있습니다.
새 character escape code는 `\e[LG` 뒤에 character number `0-7` 한 자리, 그리고 semicolon `;`으로 끝나는 최대 8쌍의 hex digit을 붙입니다. 각 digit pair는 character의 한 line이며 bit `1`은 illuminated pixel을 뜻하고 LSB는 오른쪽입니다. line은 위에서 아래로 번호를 매깁니다.
5x7 matrix에서는 처음 7 byte의 하위 5 bit만 사용합니다. string이 불완전하면 complete line만 다시 정의됩니다.
Custom glyph 예제
16-27enter, 방향, IP, speaker glyph를 정의하는 원문 예시입니다.
printf "\e[LG0010101050D1F0C04;" => 0 = [enter]
printf "\e[LG1040E1F0000000000;" => 1 = [up]
printf "\e[LG2000000001F0E0400;" => 2 = [down]
printf "\e[LG3040E1F001F0E0400;" => 3 = [up-down]
printf "\e[LG40002060E1E0E0602;" => 4 = [left]
printf "\e[LG500080C0E0F0E0C08;" => 5 = [right]
printf "\e[LG60016051516141400;" => 6 = "IP"
printf "\e[LG00103071F1F070301;" => big speaker
printf "\e[LG00002061E1E060200;" => small speaker
escape command의 character slot, pixel-row payload와 표시 목적을 구조화했습니다.
문서 서명은 Willy입니다.
CG-RAM 형식
lcd-panel-cgram.rst:1-15character number와 pixel row byte encoding을 설명합니다.