필요한 폰트를 파일에 담아 사용하기 위해서는
아두이노 한글 폰트 Code 자동생성 프로그램 ver 2.0에 다음과 같은 폰트 파일을
추가로 생성하게 해야 한다. ( Font.utf )
필드 1 | 필드2 | |
36Byte | 한글코드 4byte | 폰트 (unsigned short 2byte ) *16 = 32byte |
출력을 위하여 Hangul_Direct.H를 수정하여 Hangul_SelectSD.H를 제작 한다.
출력할 문자를 폰트파일의 한글코드와 비교하여 폰트를 찾는 것으로 수정 하면 된다.
기존 _memFont( long code) 를 _sdFont( long cod)로 수정 한다.
기존 함수 memFont( long code) |
bool HanGul_TFT::_memFont( long code )
{
int size=sizeof(font) /sizeof(Font);
for( int f=0; f < size; f++)
{
long hcode =byte(font[f].s[0]); // 3Byte 문자(UTF-8)
hcode = hcode << 8; // 상위 Byte에서 하위byte로 읽어오기
hcode+=byte(font[f].s[1]);
hcode = hcode << 8;
hcode+=byte(font[f].s[2]);
if( hcode == code )
{
Serial.println( "find" );
for(int i=0;i<16;i++) _HANGUL_FONT[i]=font[f].f[i];
return true;
}
}
return (false);
}
|
수정후 함수 _sdFont( long cod) | |
bool HanGul_TFT::_sdFont( long code )
{
long idx=0 , hCode; while( _sdFile.availabe() ) {
_sdFile.seek(idx); _sdFile.read( &hCode,4); if( hCode == code )
{
_sdFile.seek(idx+4); _sdFile.read( font , 32);
return true; }
idx+=36; }
return (false);
}
|
'프로젝트 > TFT LCD 한글 출력 (아두이노)' 카테고리의 다른 글
Hangul_SD_Selected.H 를 이용한 한글 출력 (0) | 2022.08.21 |
---|---|
Hangul_Directed.H 를 이용한 한글 출력 (0) | 2022.08.21 |
F연산자와 readLine 함수 사용하여 메모리 확보하기 (0) | 2022.08.20 |
Hangul_SD,H ( SD카드에 폰트화일,인덱스화일 ) (0) | 2022.08.20 |
Hangul_Direct.h ( 필요한 폰트만 코드에 삽입 ) (10) | 2022.08.20 |