#ifndef __DST_FONT_ENGINE_H__ #define __DST_FONT_ENGINE_H__ #include "DST_Common.h" // CC¿ë ÆùÆ® °ü·Ã ÇÔ¼ö typedef struct { DS_U16 nCode; DS_U8 nSize; DS_U8 nStyle; DS_U8 nOffset; // Áö¿ø ÇÊ¿ä 0 normal 1 subscript 2 superscript bool bItalic; bool bUnderLine; DS_U8 nEdgeType; OSD_PIXEL_T Color; OSD_PIXEL_T EdgeColor; OSD_PIXEL_T BackColor; } FONT_CC; // ARGB °ª ÁöÁ¤À¸·Î »öÀ» ¹Ýȯ OSD_PIXEL_T DST_SetColor(OSD_PIXEL_T a, OSD_PIXEL_T r, OSD_PIXEL_T g, OSD_PIXEL_T b); // »öÀ» ARGB·Î ºÐÇÒ void DST_GetColor(OSD_PIXEL_T color, OSD_PIXEL_T *a, OSD_PIXEL_T *r, OSD_PIXEL_T *g, OSD_PIXEL_T *b); // ÆùÆ®ÀÇ ³ôÀ̸¦ ¹ÝȯÇÑ´Ù. int DST_GetFontHeight(int nSize); // Æ÷ÇԵǴ ¹®ÀÚ¿­Áß °¡Àå Å« »çÀÌÁî¿¡ ¸Â°Ô ÆùÆ®ÀÇ ³ôÀ̸¦ ¹ÝȯÇÑ´Ù. int DST_GetFontHeightCC(FONT_CC data[], int nCount); // ÆùÆ®ÀÇ ³ÐÀ̸¦ ±¸ÇÑ´Ù. int DST_GetFontWidthCC(FONT_CC data[], int nCount); // ÆùÆ®ÀÇ À̹ÌÁö¸¦ ±¸ÇÑ´Ù. void DST_GetFontImageCC(FONT_CC data[], int nCount, OSD_PIXEL_T *buff); // OSD ¿ë ÆùÆ® °ü·Ã ÇÔ¼ö // ÅØ½ºÆ®ÀÇ ³ôÀ̸¦ ±¸ÇÑ´Ù. int DST_GetTextHeight(DS_U8 nSize); // ÁöÁ¤ÇÑ ¹öÆÛ¿¡ ÆùÆ®¸¦ Ãâ·ÂÇÑ´Ù. bool DST_PrintText( OSD_PIXEL_T *buffDes, int buffer_width, int buffer_height, int x_pos, int y_pos, DS_U32 * strText, int nStrLen, DS_U8 nSize, OSD_PIXEL_T Color); // À¯´ÏÄÚµå ÅØ½ºÆ® ÆøÀ» ±¸ÇÑ´Ù. int DST_GetTextWidthUniwithLen(DS_U16* strText, DS_U16 nStrLen, DS_U8 nSize); int DST_GetTextWidthUni(DS_U16* strText, DS_U8 nSize); int DST_GetTextWidth32(DS_U32* strText, DS_U16 nStrLen, DS_U8 nSize); // À¯´ÏÄÚµå ¹®ÀÚ¿­ Áß ÁöÁ¤ÇÑ ºÎºÐÀÇ ÅØ½ºÆ® ÆøÀ» ±¸ÇÑ´Ù. int DST_GetTextWidthExtUni(int start, int width, DS_U16* strText, DS_U16 nStrLen, DS_U8 nSize); // ±×·ÁÁú ÅØ½ºÆ®ÀÇ ÆøÀ» ±¸ÇÑ´Ù. ÇÑ±Û ¸Þ´º¿¡¼­µµ È£ÃâÇÒ¼ö ÀÖ´Ù. int DST_GetTextWidth(char* strText, DS_U8 nSize); // ARIB Äڵ带 Unicode·Î º¯È¯ DS_U32* DST_UTF82Uni(DS_U8 *utf); #endif