|
|
| version 1.5, 2005/02/13 05:31:26 | version 1.9, 2006/12/24 00:52:29 |
|---|---|
| Line 22 typedef struct { | Line 22 typedef struct { |
| static const OEMCHAR deffontface[] = OEMTEXT("£Í£Ó ¥´¥·¥Ã¥¯"); | static const OEMCHAR deffontface[] = OEMTEXT("£Í£Ó ¥´¥·¥Ã¥¯"); |
| static const OEMCHAR deffontface2[] = OEMTEXT("£Í£Ó £Ð¥´¥·¥Ã¥¯"); | static const OEMCHAR deffontface2[] = OEMTEXT("£Í£Ó £Ð¥´¥·¥Ã¥¯"); |
| static const OEMCHAR edeffontface[] = OEMTEXT("MS Gothic"); | |
| static const OEMCHAR edeffontface2[] = OEMTEXT("MS PGothic"); | |
| static const OEMCHAR *deffont[4] = { | |
| deffontface, deffontface2, | |
| edeffontface, edeffontface2}; | |
| void *fontmng_create(int size, UINT type, const OEMCHAR *fontface) { | void *fontmng_create(int size, UINT type, const OEMCHAR *fontface) { |
| Line 35 void *fontmng_create(int size, UINT type | Line 40 void *fontmng_create(int size, UINT type |
| int fontwidth; | int fontwidth; |
| int fontheight; | int fontheight; |
| int weight; | int weight; |
| UINT pitch; | int deffontnum; |
| DWORD pitch; | |
| DWORD charset; | |
| if (size < 0) { | if (size < 0) { |
| size *= -1; | size *= -1; |
| Line 92 void *fontmng_create(int size, UINT type | Line 99 void *fontmng_create(int size, UINT type |
| bi->bmiColors[i].rgbReserved = PC_RESERVED; | bi->bmiColors[i].rgbReserved = PC_RESERVED; |
| } | } |
| hdc = GetDC(NULL); | hdc = GetDC(NULL); |
| ret->hBitmap = CreateDIBSection(hdc, bi, DIB_RGB_COLORS, | ret->hBitmap = CreateDIBSection(hdc, bi, DIB_RGB_COLORS, |
| (void **)&ret->image, NULL, 0); | (void **)&ret->image, NULL, 0); |
| ret->hdcimage = CreateCompatibleDC(hdc); | ret->hdcimage = CreateCompatibleDC(hdc); |
| Line 103 void *fontmng_create(int size, UINT type | Line 110 void *fontmng_create(int size, UINT type |
| weight = (type & FDAT_BOLD)?FW_BOLD:FW_REGULAR; | weight = (type & FDAT_BOLD)?FW_BOLD:FW_REGULAR; |
| pitch = (type & FDAT_PROPORTIONAL)?VARIABLE_PITCH:FIXED_PITCH; | pitch = (type & FDAT_PROPORTIONAL)?VARIABLE_PITCH:FIXED_PITCH; |
| if (fontface == NULL) { | if (fontface == NULL) { |
| fontface = (type & FDAT_PROPORTIONAL)?deffontface2:deffontface; | deffontnum = (type & FDAT_PROPORTIONAL)?1:0; |
| if (GetOEMCP() != 932) { // !Japanese | |
| deffontnum += 2; | |
| } | |
| fontface = deffont[deffontnum]; | |
| } | } |
| charset = (type & FDAT_SHIFTJIS)?SHIFTJIS_CHARSET:DEFAULT_CHARSET; | |
| ret->hfont = CreateFont(size, 0, | ret->hfont = CreateFont(size, 0, |
| FW_DONTCARE, FW_DONTCARE, weight, | FW_DONTCARE, FW_DONTCARE, weight, |
| FALSE, FALSE, FALSE, SHIFTJIS_CHARSET, | FALSE, FALSE, FALSE, charset, |
| OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, | OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, |
| NONANTIALIASED_QUALITY, pitch, fontface); | NONANTIALIASED_QUALITY, pitch, fontface); |
| ret->hfont = (HFONT)SelectObject(ret->hdcimage, ret->hfont); | ret->hfont = (HFONT)SelectObject(ret->hdcimage, ret->hfont); |