8x14 fixed-width bitmap ASCII font (C source) 공부한 흔적

I generated a 8x14 fixed-width bitmap font of 95 ASCII characters in a C array, excluding special characters such as LF and BS. They range from 0x20 (' ') to 0x72 ('~') and are in order of ASCII code. Each byte represents one row pixels from top to bottom. They are generated by a font generator from the attached BMP file.

[Image 1]
font.png
[Image 2]
font.bmp

[Source code]
char font[95][14] = {
  {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, //  
  {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20}, // !
  {0x24, 0x24, 0x24, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // "
  {0x11, 0x22, 0x22, 0x22, 0xFF, 0x22, 0x44, 0x44, 0x44, 0xFF, 0x44, 0x88, 0x88, 0x88}, // #
  {0x10, 0x3C, 0x52, 0x90, 0x90, 0x50, 0x30, 0x1C, 0x12, 0x11, 0x12, 0x94, 0x78, 0x10}, // $
  {0x61, 0x91, 0x91, 0x92, 0x94, 0x64, 0x08, 0x08, 0x12, 0x15, 0x25, 0x45, 0x45, 0x82}, // %
  {0x70, 0xC8, 0x88, 0x88, 0x88, 0x50, 0x60, 0xA1, 0x92, 0x8A, 0x86, 0x86, 0x8E, 0x71}, // &
  {0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // '
  {0x01, 0x02, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x02, 0x01}, // (
  {0x80, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x80}, // )
  {0x10, 0x92, 0x54, 0x38, 0x38, 0x54, 0x92, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // *
  {0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00}, // +
  {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x40}, // ,
  {0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00}, // -
  {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20}, // .
  {0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80}, // /
  {0x3C, 0x42, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x42, 0x3C}, // 0
  {0x10, 0x30, 0x50, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0xFE}, // 1
  {0x38, 0x44, 0x82, 0x02, 0x02, 0x02, 0x04, 0x04, 0x04, 0x08, 0x10, 0x20, 0x40, 0xFE}, // 2
  {0x3C, 0x42, 0x01, 0x01, 0x01, 0x06, 0x1C, 0x02, 0x01, 0x01, 0x01, 0x01, 0x42, 0x3C}, // 3
  {0x02, 0x06, 0x0A, 0x0A, 0x12, 0x12, 0x22, 0x22, 0x42, 0x82, 0xFF, 0x02, 0x02, 0x02}, // 4
  {0x7F, 0x40, 0x40, 0x40, 0x40, 0x7C, 0x02, 0x01, 0x01, 0x01, 0x01, 0x81, 0x42, 0x3C}, // 5
  {0x1C, 0x22, 0x41, 0x40, 0x80, 0x80, 0xBC, 0xC2, 0x81, 0x81, 0x81, 0x41, 0x62, 0x3C}, // 6
  {0x7F, 0x01, 0x02, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x10, 0x10, 0x10, 0x20}, // 7
  {0x3C, 0x66, 0x42, 0x42, 0x42, 0x24, 0x18, 0x66, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3C}, // 8
  {0x3C, 0x46, 0x82, 0x81, 0x81, 0x81, 0x43, 0x3D, 0x01, 0x01, 0x02, 0x82, 0x44, 0x38}, // 9
  {0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00}, // :
  {0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x20}, // ;
  {0x00, 0x00, 0x01, 0x02, 0x0C, 0x30, 0x40, 0x30, 0x0C, 0x02, 0x01, 0x00, 0x00, 0x00}, // <
  {0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00}, // =
  {0x00, 0x00, 0x80, 0x40, 0x30, 0x0C, 0x02, 0x0C, 0x30, 0x40, 0x80, 0x00, 0x00, 0x00}, // >
  {0x38, 0x46, 0x82, 0x82, 0x02, 0x04, 0x08, 0x10, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10}, // ?
  {0x18, 0x26, 0x42, 0x41, 0x8D, 0x95, 0xA5, 0xA9, 0xA9, 0xAA, 0x9C, 0x40, 0x24, 0x18}, // @
  {0x18, 0x24, 0x24, 0x24, 0x42, 0x42, 0x42, 0x42, 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81}, // A
  {0xFC, 0x82, 0x81, 0x81, 0x81, 0x82, 0xFC, 0x86, 0x81, 0x81, 0x81, 0x81, 0x86, 0xFC}, // B
  {0x1E, 0x61, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x61, 0x1E}, // C
  {0xF8, 0x84, 0x82, 0x82, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x82, 0x82, 0x84, 0xF8}, // D
  {0xFE, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFE, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFE}, // E
  {0xFF, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFF, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}, // F
  {0x1E, 0x61, 0x40, 0x80, 0x80, 0x80, 0x80, 0x8F, 0x81, 0x81, 0x81, 0x41, 0x61, 0x1E}, // G
  {0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81}, // H
  {0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C}, // I
  {0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x44, 0x3C}, // J
  {0x81, 0x81, 0x82, 0x84, 0x88, 0x90, 0xA0, 0xE0, 0x90, 0x88, 0x84, 0x82, 0x81, 0x81}, // K
  {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFF}, // L
  {0xC3, 0xC3, 0xC3, 0xA5, 0xA5, 0xA5, 0x99, 0x99, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81}, // M
  {0x82, 0x82, 0xC2, 0xC2, 0xA2, 0xA2, 0x92, 0x92, 0x8A, 0x8A, 0x86, 0x86, 0x82, 0x82}, // N
  {0x3C, 0x66, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x43, 0x66, 0x3C}, // O
  {0xFC, 0x82, 0x81, 0x81, 0x81, 0x81, 0x82, 0xFC, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80}, // P
  {0x3C, 0x66, 0x43, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x4A, 0x66, 0x3F}, // Q
  {0xF8, 0x84, 0x82, 0x82, 0x82, 0x82, 0x84, 0xF8, 0x90, 0x88, 0x84, 0x82, 0x82, 0x81}, // R
  {0x3E, 0x41, 0x80, 0x80, 0x80, 0x40, 0x3C, 0x06, 0x01, 0x01, 0x01, 0x01, 0x82, 0x7C}, // S
  {0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, // T
  {0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3C}, // U
  {0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x42, 0x42, 0x42, 0x24, 0x24, 0x3C, 0x18}, // V
  {0x81, 0x81, 0x81, 0x81, 0x99, 0x99, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xC3, 0x42, 0x42}, // W
  {0x81, 0x81, 0x81, 0x42, 0x24, 0x24, 0x18, 0x18, 0x24, 0x24, 0x42, 0x81, 0x81, 0x81}, // X
  {0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, // Y
  {0xFE, 0x02, 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0xFE}, // Z
  {0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x38}, // [
  {0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04}, // \
  {0xE0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xE0}, // ]
  {0x10, 0x28, 0x28, 0x44, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // ^
  {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF}, // _
  {0x00, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // `
  {0x00, 0x00, 0x00, 0x00, 0x7C, 0x82, 0x02, 0x02, 0x3E, 0x62, 0x82, 0x82, 0x8E, 0x7A}, // a
  {0x80, 0x80, 0x80, 0x80, 0xB8, 0xC4, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0xC4, 0xB8}, // b
  {0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x42, 0x3C}, // c
  {0x02, 0x02, 0x02, 0x02, 0x3A, 0x46, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x46, 0x3A}, // d
  {0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0xFE, 0x80, 0x80, 0xC0, 0x42, 0x3C}, // e
  {0x0E, 0x10, 0x10, 0x10, 0x7E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, // f
  {0x00, 0x00, 0x00, 0x00, 0x3F, 0xC4, 0x82, 0x44, 0x38, 0x40, 0xBC, 0xC2, 0x42, 0x3C}, // g
  {0x40, 0x40, 0x40, 0x40, 0x4E, 0x53, 0x61, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41}, // h
  {0x08, 0x08, 0x00, 0x00, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08}, // i
  {0x08, 0x08, 0x00, 0x00, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x48, 0x30}, // j
  {0x40, 0x40, 0x40, 0x40, 0x42, 0x44, 0x48, 0x50, 0x60, 0x50, 0x48, 0x44, 0x42, 0x41}, // k
  {0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0E}, // l
  {0x00, 0x00, 0x00, 0x00, 0xA6, 0xD9, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91}, // m
  {0x00, 0x00, 0x00, 0x00, 0x9C, 0xA6, 0xC2, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82}, // n
  {0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x44, 0x38}, // o
  {0x00, 0x00, 0x00, 0x00, 0xB8, 0xC4, 0x82, 0x82, 0x82, 0x82, 0xC4, 0xB8, 0x80, 0x80}, // p
  {0x00, 0x00, 0x00, 0x00, 0x3A, 0x46, 0x82, 0x82, 0x82, 0x82, 0x46, 0x3A, 0x02, 0x02}, // q
  {0x00, 0x00, 0x00, 0x00, 0x4C, 0x52, 0x60, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40}, // r
  {0x00, 0x00, 0x00, 0x00, 0x3C, 0xC2, 0x80, 0x80, 0x78, 0x04, 0x02, 0x02, 0x86, 0x78}, // s
  {0x00, 0x20, 0x20, 0x20, 0xFC, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x1C}, // t
  {0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x86, 0x8A, 0x72}, // u
  {0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x28, 0x28, 0x10}, // v
  {0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x92, 0x92, 0xB2, 0xAA, 0xAA, 0xC4, 0x44}, // w
  {0x00, 0x00, 0x00, 0x00, 0x82, 0x44, 0x44, 0x28, 0x10, 0x10, 0x28, 0x44, 0x44, 0x82}, // x
  {0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x82, 0x42, 0x44, 0x28, 0x10, 0x10, 0x20, 0x60}, // y
  {0x00, 0x00, 0x00, 0x00, 0xFE, 0x04, 0x04, 0x08, 0x10, 0x10, 0x20, 0x40, 0x40, 0xFE}, // z
  {0x0C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x20, 0x40, 0x20, 0x10, 0x10, 0x10, 0x10, 0x0C}, // {
  {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}, // |
  {0x60, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x60}, // }
  {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x99, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00}, // ~
};


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://yh141516.egloos.com/tb/2345138 [도움말]

덧글

  • spatialguy 2009/06/15 01:43 # 답글

    아 이건 임베디스 수업때 필요했던 거였는데.
  • 세라프 2009/06/15 17:12 #

    도트 작은 고해상도 LCD를 새로 쓰게 되어서 더 큰 폰트가 필요했는데, 없어서 그냥 만들어버렸어. ㅎㅎㅎ
덧글 입력 영역



방문자 통계 clustrmap

방문자통계 amung.us