📄 font.h
字号:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright (C) Yeico S. A. de C. V. * * $Source: /cvsroot/xlslib/xlslib/src/xlslib/font.h,v $ * $Revision: 1.1.1.1 $ * $Author: darioglz $ * $Date: 2004/08/27 16:31:46 $ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * File description: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */#ifndef FONT_H#define FONT_H#include <config.h>#include "common.h"#include "rectypes.h"#include "record.h"#include "colors.h"namespace xlslib_core{ // Bold style most used values // (it can be a number of some range. See Documentation for details):#define FONT_BOLDNESS_BOLD ((unsigned16_t)0x02bc)#define FONT_BOLDNESS_HALF ((unsigned16_t)0x0226)#define FONT_BOLDNESS_NORMAL ((unsigned16_t)0x0190)#define FONT_BOLDNESS_DOUBLE ((unsigned16_t)0x0320) typedef enum { BOLDNESS_BOLD = 0, BOLDNESS_HALF, BOLDNESS_NORMAL, BOLDNESS_DOUBLE }boldness_option_t; // Super/subscript field option values#define FONT_SCRIPT_NONE ((unsigned16_t)0x0000)#define FONT_SCRIPT_SUPER ((unsigned16_t)0x0001)#define FONT_SCRIPT_SUB ((unsigned16_t)0x0002) typedef enum { SCRIPT_NONE = 0, SCRIPT_SUPER, SCRIPT_SUB }script_option_t; // Underline field option values:#define FONT_UNDERLINE_NONE ((unsigned8_t)0x00)#define FONT_UNDERLINE_SINGLE ((unsigned8_t)0x01)#define FONT_UNDERLINE_DOUBLE ((unsigned8_t)0x02)#define FONT_UNDERLINE_SINGLEACC ((unsigned8_t)0x21)#define FONT_UNDERLINE_DOUBLEACC ((unsigned8_t)0x22) typedef enum { UNDERLINE_NONE = 0, UNDERLINE_SINGLE, UNDERLINE_DOUBLE, UNDERLINE_SINGLEACC, UNDERLINE_DOUBLEACC }underline_option_t; // The following are default values used when the font's // constructor is called without args:#define FONT_DFLT_FAMILY ((unsigned8_t)0x00)#define FONT_DFLT_CHARSET ((unsigned8_t)0x00)#define FONT_DFLT_HEIGHT ((unsigned16_t)0x00c8)#define FONT_DFLT_ATTRIBUTES ((unsigned16_t)0x0000)#define FONT_DFLT_PALETTE ((unsigned16_t)0x7fff)#define FONT_DFLT_FONTNAME ((std::string)"Arial")#define FONT_RESERVED ((unsigned8_t)0x00) // The font-record field offsets:#define FONT_OFFSET_HEIGHT ((unsigned32_t) 4)#define FONT_OFFSET_ATTRIBUTES ((unsigned32_t) 6)#define FONT_OFFSET_PALETTE ((unsigned32_t) 8)#define FONT_OFFSET_BOLDSTYLE ((unsigned32_t)10)#define FONT_OFFSET_SCRIPT ((unsigned32_t)12)#define FONT_OFFSET_UNDERLINE ((unsigned32_t)14)#define FONT_OFFSET_FAMILY ((unsigned32_t)15)#define FONT_OFFSET_CHARSET ((unsigned32_t)16)#define FONT_OFFSET_NAMELENGTH ((unsigned32_t)18)#define FONT_OFFSET_NAME ((unsigned32_t)19) // The attribute bit or-masks:#define FONT_ATTR_RESERVED0 ((unsigned16_t)0x0001)#define FONT_ATTR_ITALIC ((unsigned16_t)0x0002)#define FONT_ATTR_RESERVED1 ((unsigned16_t)0x0004)#define FONT_ATTR_STRIKEOUT ((unsigned16_t)0x0008)#define FONT_ATTR_OUTLINEMACH ((unsigned16_t)0x0010)#define FONT_ATTR_SHADOWMACH ((unsigned16_t)0x0020)#define FONT_ATTR_RESERVED2 ((unsigned16_t)0x00c0)#define FONT_ATTR_UNUSED ((unsigned16_t)0xff00) // Font colors#define FONT_COLOR_CODE_BLACK ((unsigned16_t)(COLOR_CODE_BLACK))#define FONT_COLOR_CODE_DARK_RED ((unsigned16_t)(COLOR_CODE_DARK_RED))#define FONT_COLOR_CODE_RED ((unsigned16_t)(COLOR_CODE_RED))#define FONT_COLOR_CODE_FUCSIA ((unsigned16_t)(COLOR_CODE_FUCSIA))#define FONT_COLOR_CODE_COMBINED01 ((unsigned16_t)(COLOR_CODE_COMBINED01))#define FONT_COLOR_CODE_COMBINED02 ((unsigned16_t)(COLOR_CODE_COMBINED02))#define FONT_COLOR_CODE_COMBINED03 ((unsigned16_t)(COLOR_CODE_COMBINED03))#define FONT_COLOR_CODE_COMBINED04 ((unsigned16_t)(COLOR_CODE_COMBINED04))#define FONT_COLOR_CODE_COMBINED05 ((unsigned16_t)(COLOR_CODE_COMBINED05))#define FONT_COLOR_CODE_COMBINED06 ((unsigned16_t)(COLOR_CODE_COMBINED06))#define FONT_COLOR_CODE_OLIVE ((unsigned16_t)(COLOR_CODE_OLIVE))#define FONT_COLOR_CODE_DARK_YELLOW ((unsigned16_t)(COLOR_CODE_DARK_YELLOW))#define FONT_COLOR_CODE_COMBINED07 ((unsigned16_t)(COLOR_CODE_COMBINED07))#define FONT_COLOR_CODE_YELLOW ((unsigned16_t)(COLOR_CODE_YELLOW))#define FONT_COLOR_CODE_LIGHT_YELLOW ((unsigned16_t)(COLOR_CODE_LIGHT_YELLOW))#define FONT_COLOR_CODE_DARK_GREEN ((unsigned16_t)(COLOR_CODE_DARK_GREEN))#define FONT_COLOR_CODE_GREEN ((unsigned16_t)(COLOR_CODE_GREEN))#define FONT_COLOR_CODE_COMBINED08 ((unsigned16_t)(COLOR_CODE_COMBINED08))#define FONT_COLOR_CODE_LIVING_GREEN ((unsigned16_t)(COLOR_CODE_LIVING_GREEN))#define FONT_COLOR_CODE_LIGHT_GREEN ((unsigned16_t)(COLOR_CODE_LIGHT_GREEN))#define FONT_COLOR_CODE_COMBINED09 ((unsigned16_t)(COLOR_CODE_COMBINED09))#define FONT_COLOR_CODE_BLUE_GREEN ((unsigned16_t)(COLOR_CODE_BLUE_GREEN))#define FONT_COLOR_CODE_AQUAMARINA ((unsigned16_t)(COLOR_CODE_AQUAMARINA))#define FONT_COLOR_CODE_TURQOISE ((unsigned16_t)(COLOR_CODE_TURQOISE))#define FONT_COLOR_CODE_COMBINED10 ((unsigned16_t)(COLOR_CODE_COMBINED10))#define FONT_COLOR_CODE_DARK_BLUE ((unsigned16_t)(COLOR_CODE_DARK_BLUE))#define FONT_COLOR_CODE_BLUE ((unsigned16_t)(COLOR_CODE_BLUE))#define FONT_COLOR_CODE_LIGHT_BLUE ((unsigned16_t)(COLOR_CODE_LIGHT_BLUE))#define FONT_COLOR_CODE_SKY_BLUE ((unsigned16_t)(COLOR_CODE_SKY_BLUE))#define FONT_COLOR_CODE_COMBINED11 ((unsigned16_t)(COLOR_CODE_COMBINED11))#define FONT_COLOR_CODE_INDIGO ((unsigned16_t)(COLOR_CODE_INDIGO))#define FONT_COLOR_CODE_BLUE_GRAY ((unsigned16_t)(COLOR_CODE_BLUE_GRAY))#define FONT_COLOR_CODE_VIOLET ((unsigned16_t)(COLOR_CODE_VIOLET))#define FONT_COLOR_CODE_PLUM ((unsigned16_t)(COLOR_CODE_PLUM))#define FONT_COLOR_CODE_LAVANDER ((unsigned16_t)(COLOR_CODE_LAVANDER))#define FONT_COLOR_CODE_COMBINED12 ((unsigned16_t)(COLOR_CODE_COMBINED12))#define FONT_COLOR_CODE_GRAY50 ((unsigned16_t)(COLOR_CODE_GRAY50))#define FONT_COLOR_CODE_GRAY40 ((unsigned16_t)(COLOR_CODE_GRAY40))#define FONT_COLOR_CODE_GRAY25 ((unsigned16_t)(COLOR_CODE_GRAY25))#define FONT_COLOR_CODE_WHITE ((unsigned16_t)(COLOR_CODE_WHITE)) /* ******************************CFont class declaration*******************************/ typedef struct { unsigned16_t index; std::string name; unsigned16_t height; boldness_option_t boldstyle; underline_option_t underline; script_option_t script; color_name_t color; unsigned16_t attributes; unsigned8_t family; unsigned8_t charset; }font_init_t; struct font_i { virtual void fontname(std::string fntname) = 0; virtual void fontheight(unsigned16_t fntheight) = 0; virtual void fontbold(boldness_option_t fntboldness) = 0; virtual void fontunderline(underline_option_t fntunderline) = 0; virtual void fontscript(script_option_t fntscript) = 0; virtual void fontcolor(color_name_t fntcolor) = 0; virtual void fontattr(unsigned16_t attr) = 0; virtual void fontitalic(bool italic) = 0; virtual void fontstrikeout(bool so) = 0; virtual void fontoutline(bool ol) = 0; virtual void fontshadow(bool sh) = 0; }; class font_t { public: font_t(); font_t(unsigned16_t index, std::string name, unsigned16_t height, boldness_option_t boldstyle, underline_option_t underline, script_option_t script, color_name_t color, unsigned16_t attributes, unsigned8_t family, unsigned8_t charset); font_t(const font_init_t& fontinit); virtual ~font_t() {}; void MarkUsed(); bool IsUsed(); unsigned16_t Usage(){return m_usage_counter;}; /* FONT Index wrappers*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -