aadded FontInfo.h
This commit is contained in:
parent
be17b06a2f
commit
03f9f83920
56
inc/hgl/text/FontInfo.h
Normal file
56
inc/hgl/text/FontInfo.h
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include<hgl/type/Map.h>
|
||||||
|
|
||||||
|
namespace hgl
|
||||||
|
{
|
||||||
|
enum class FontType
|
||||||
|
{
|
||||||
|
Raster,
|
||||||
|
Vector,
|
||||||
|
TrueType
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr const size_t HGL_FONT_NAME_MAX_LENGTH=128;
|
||||||
|
|
||||||
|
struct FontInfo
|
||||||
|
{
|
||||||
|
os_char name[HGL_FONT_NAME_MAX_LENGTH];
|
||||||
|
FontType type;
|
||||||
|
|
||||||
|
uint charset;
|
||||||
|
|
||||||
|
//尺寸仅用于Raster字体
|
||||||
|
uint height;
|
||||||
|
|
||||||
|
uint ascent; ///<上升
|
||||||
|
uint descent; ///<下降
|
||||||
|
uint internal_leading; ///<内部行距
|
||||||
|
uint external_leading; ///<外部行距
|
||||||
|
uint ave_char_width; ///<平均字宽
|
||||||
|
uint max_char_width; ///<最大字宽
|
||||||
|
uint weight; ///<权重
|
||||||
|
uint overhang; ///<超出部分
|
||||||
|
uint digitized_aspect_x; ///<横向分辨率
|
||||||
|
uint digitized_aspect_y; ///<纵向分辨率
|
||||||
|
os_char first_char;
|
||||||
|
os_char last_char;
|
||||||
|
os_char default_char;
|
||||||
|
os_char break_char;
|
||||||
|
bool italic; ///<斜体
|
||||||
|
bool underlined; ///<下划线
|
||||||
|
bool struck_out; ///<删除线
|
||||||
|
uint pitch_and_family; ///<字体类型
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
FontInfo()
|
||||||
|
{
|
||||||
|
hgl_zero(*this);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
using FontMap=ObjectMap<OSString,FontInfo>;
|
||||||
|
|
||||||
|
void EnumOSFonts(FontMap *);
|
||||||
|
}//namespace hgl
|
@ -66,6 +66,7 @@ SET(STRING_HEADER_FILES ${TYPE_INCLUDE_PATH}/String.h
|
|||||||
|
|
||||||
SET(TEXT_HEADER_FILES ${CMCORE_ROOT_INCLUDE_PATH}/hgl/Endian.h
|
SET(TEXT_HEADER_FILES ${CMCORE_ROOT_INCLUDE_PATH}/hgl/Endian.h
|
||||||
${CMCORE_ROOT_INCLUDE_PATH}/hgl/CodePage.h
|
${CMCORE_ROOT_INCLUDE_PATH}/hgl/CodePage.h
|
||||||
|
${CMCORE_ROOT_INCLUDE_PATH}/hgl/text/FontInfo.h
|
||||||
${TYPE_INCLUDE_PATH}/UnicodeBlocks.h
|
${TYPE_INCLUDE_PATH}/UnicodeBlocks.h
|
||||||
${TYPE_INCLUDE_PATH}/StrChar.h)
|
${TYPE_INCLUDE_PATH}/StrChar.h)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user