| 1 | #ifndef __DST_FONT_ENGINE_H__ |
|---|
| 2 | #define __DST_FONT_ENGINE_H__ |
|---|
| 3 | |
|---|
| 4 | #include "DST_Common.h" |
|---|
| 5 | |
|---|
| 6 | // CC¿ë ÆùÆ® °ü·Ã ÇÔ¼ö |
|---|
| 7 | |
|---|
| 8 | struct FONT_CC |
|---|
| 9 | { |
|---|
| 10 | DS_U16 nCode; |
|---|
| 11 | DS_U8 nSize; |
|---|
| 12 | DS_U8 nStyle; |
|---|
| 13 | DS_U8 nOffset; // Áö¿ø ÇÊ¿ä 0 normal 1 subscript 2 superscript |
|---|
| 14 | bool bItalic; |
|---|
| 15 | bool bUnderLine; |
|---|
| 16 | DS_U8 nEdgeType; |
|---|
| 17 | OSD_PIXEL_T Color; |
|---|
| 18 | OSD_PIXEL_T EdgeColor; |
|---|
| 19 | OSD_PIXEL_T BackColor; |
|---|
| 20 | }; |
|---|
| 21 | |
|---|
| 22 | // ARGB °ª ÁöÁ¤À¸·Î »öÀ» ¹Ýȯ |
|---|
| 23 | OSD_PIXEL_T DST_SetColor(OSD_PIXEL_T a, OSD_PIXEL_T r, OSD_PIXEL_T g, OSD_PIXEL_T b); |
|---|
| 24 | // »öÀ» ARGB·Î ºÐÇÒ |
|---|
| 25 | void DST_GetColor(OSD_PIXEL_T color, OSD_PIXEL_T *a, OSD_PIXEL_T *r, OSD_PIXEL_T *g, OSD_PIXEL_T *b); |
|---|
| 26 | // ÆùÆ®ÀÇ ³ôÀ̸¦ ¹ÝȯÇÑ´Ù. |
|---|
| 27 | int DST_GetFontHeight(int nSize); |
|---|
| 28 | |
|---|
| 29 | // Æ÷ÇԵǴ ¹®ÀÚ¿Áß °¡Àå Å« »çÀÌÁî¿¡ ¸Â°Ô ÆùÆ®ÀÇ ³ôÀ̸¦ ¹ÝȯÇÑ´Ù. |
|---|
| 30 | int DST_GetFontHeightCC(FONT_CC data[], int nCount); |
|---|
| 31 | |
|---|
| 32 | // ÆùÆ®ÀÇ ³ÐÀ̸¦ ±¸ÇÑ´Ù. |
|---|
| 33 | int DST_GetFontWidthCC(FONT_CC data[], int nCount); |
|---|
| 34 | |
|---|
| 35 | // ÆùÆ®ÀÇ À̹ÌÁö¸¦ ±¸ÇÑ´Ù. |
|---|
| 36 | void DST_GetFontImageCC(FONT_CC data[], int nCount, OSD_PIXEL_T *buff); |
|---|
| 37 | |
|---|
| 38 | // OSD ¿ë ÆùÆ® °ü·Ã ÇÔ¼ö |
|---|
| 39 | |
|---|
| 40 | // ÅØ½ºÆ®ÀÇ ³ôÀ̸¦ ±¸ÇÑ´Ù. |
|---|
| 41 | int DST_GetTextHeight(DS_U8 nSize); |
|---|
| 42 | |
|---|
| 43 | // ÁöÁ¤ÇÑ ¹öÆÛ¿¡ ÆùÆ®¸¦ Ãâ·ÂÇÑ´Ù. |
|---|
| 44 | bool DST_PrintText( |
|---|
| 45 | OSD_PIXEL_T *buffDes, int buffer_width, int buffer_height, |
|---|
| 46 | int x_pos, int y_pos, DS_U32 * strText, int nStrLen, DS_U8 nSize, OSD_PIXEL_T Color); |
|---|
| 47 | |
|---|
| 48 | // À¯´ÏÄÚµå ÅØ½ºÆ® ÆøÀ» ±¸ÇÑ´Ù. |
|---|
| 49 | int DST_GetTextWidthUni(DS_U16* strText, DS_U16 nStrLen, DS_U8 nSize); |
|---|
| 50 | int DST_GetTextWidthUni(DS_U16* strText, DS_U8 nSize); |
|---|
| 51 | int DST_GetTextWidth32(DS_U32* strText, DS_U16 nStrLen, DS_U8 nSize); |
|---|
| 52 | |
|---|
| 53 | // À¯´ÏÄÚµå ¹®ÀÚ¿ Áß ÁöÁ¤ÇÑ ºÎºÐÀÇ ÅØ½ºÆ® ÆøÀ» ±¸ÇÑ´Ù. |
|---|
| 54 | int DST_GetTextWidthExtUni(int start, int width, DS_U16* strText, DS_U16 nStrLen, DS_U8 nSize); |
|---|
| 55 | |
|---|
| 56 | // ±×·ÁÁú ÅØ½ºÆ®ÀÇ ÆøÀ» ±¸ÇÑ´Ù. ÇÑ±Û ¸Þ´º¿¡¼µµ È£ÃâÇÒ¼ö ÀÖ´Ù. |
|---|
| 57 | int DST_GetTextWidth(char* strText, DS_U8 nSize); |
|---|
| 58 | |
|---|
| 59 | // ARIB Äڵ带 Unicode·Î º¯È¯ |
|---|
| 60 | DS_U32* DST_UTF82Uni(DS_U8 *utf); |
|---|
| 61 | |
|---|
| 62 | #endif |
|---|