BRL-CAD
stb_truetype.h File Reference
#include "common.h"
Include dependency graph for stb_truetype.h:

Go to the source code of this file.

Data Structures

struct  stbtt_bakedchar
 
struct  stbtt_aligned_quad
 
struct  stbtt_packedchar
 
struct  stbtt_pack_range
 
struct  stbtt_pack_context
 
struct  stbtt_fontinfo
 
struct  stbtt_vertex
 
struct  stbtt__bitmap
 

Macros

#define STB_ZERO(val)   (((val) > -1.0e-37) && ((val) < 1.0e-37))
 
#define __STB_INCLUDE_STB_TRUETYPE_H__
 
#define STBTT_POINT_SIZE(x)   (-(x))
 
#define stbtt_vertex_type   short
 
#define STBTT_MACSTYLE_DONTCARE   0
 
#define STBTT_MACSTYLE_BOLD   1
 
#define STBTT_MACSTYLE_ITALIC   2
 
#define STBTT_MACSTYLE_UNDERSCORE   4
 
#define STBTT_MACSTYLE_NONE   8
 

Typedefs

typedef struct stbtt_pack_context stbtt_pack_context
 
typedef struct stbtt_fontinfo stbtt_fontinfo
 

Enumerations

enum  { STBTT_vmove =1, STBTT_vline, STBTT_vcurve }
 
enum  { STBTT_PLATFORM_ID_UNICODE =0, STBTT_PLATFORM_ID_MAC =1, STBTT_PLATFORM_ID_ISO =2, STBTT_PLATFORM_ID_MICROSOFT =3 }
 
enum  {
  STBTT_UNICODE_EID_UNICODE_1_0 =0, STBTT_UNICODE_EID_UNICODE_1_1 =1, STBTT_UNICODE_EID_ISO_10646 =2, STBTT_UNICODE_EID_UNICODE_2_0_BMP =3,
  STBTT_UNICODE_EID_UNICODE_2_0_FULL =4
}
 
enum  { STBTT_MS_EID_SYMBOL =0, STBTT_MS_EID_UNICODE_BMP =1, STBTT_MS_EID_SHIFTJIS =2, STBTT_MS_EID_UNICODE_FULL =10 }
 
enum  {
  STBTT_MAC_EID_ROMAN =0, STBTT_MAC_EID_ARABIC =4, STBTT_MAC_EID_JAPANESE =1, STBTT_MAC_EID_HEBREW =5,
  STBTT_MAC_EID_CHINESE_TRAD =2, STBTT_MAC_EID_GREEK =6, STBTT_MAC_EID_KOREAN =3, STBTT_MAC_EID_RUSSIAN =7
}
 
enum  {
  STBTT_MS_LANG_ENGLISH =0x0409, STBTT_MS_LANG_ITALIAN =0x0410, STBTT_MS_LANG_CHINESE =0x0804, STBTT_MS_LANG_JAPANESE =0x0411,
  STBTT_MS_LANG_DUTCH =0x0413, STBTT_MS_LANG_KOREAN =0x0412, STBTT_MS_LANG_FRENCH =0x040c, STBTT_MS_LANG_RUSSIAN =0x0419,
  STBTT_MS_LANG_GERMAN =0x0407, STBTT_MS_LANG_SPANISH =0x0409, STBTT_MS_LANG_HEBREW =0x040d, STBTT_MS_LANG_SWEDISH =0x041D
}
 
enum  {
  STBTT_MAC_LANG_ENGLISH =0, STBTT_MAC_LANG_JAPANESE =11, STBTT_MAC_LANG_ARABIC =12, STBTT_MAC_LANG_KOREAN =23,
  STBTT_MAC_LANG_DUTCH =4, STBTT_MAC_LANG_RUSSIAN =32, STBTT_MAC_LANG_FRENCH =1, STBTT_MAC_LANG_SPANISH =6,
  STBTT_MAC_LANG_GERMAN =2, STBTT_MAC_LANG_SWEDISH =5, STBTT_MAC_LANG_HEBREW =10, STBTT_MAC_LANG_CHINESE_SIMPLIFIED =33,
  STBTT_MAC_LANG_ITALIAN =3, STBTT_MAC_LANG_CHINESE_TRAD =19
}
 

Functions

int stbtt_BakeFontBitmap (const unsigned char *data, int offset, float pixel_height, unsigned char *pixels, int pw, int ph, int first_char, int num_chars, stbtt_bakedchar *chardata)
 
void stbtt_GetBakedQuad (stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule)
 
int stbtt_PackBegin (stbtt_pack_context *spc, unsigned char *pixels, int width, int height, int stride_in_bytes, int padding, void *alloc_context)
 
void stbtt_PackEnd (stbtt_pack_context *spc)
 
int stbtt_PackFontRange (stbtt_pack_context *spc, unsigned char *fontdata, int font_index, float font_size, int first_unicode_char_in_range, int num_chars_in_range, stbtt_packedchar *chardata_for_range)
 
int stbtt_PackFontRanges (stbtt_pack_context *spc, unsigned char *fontdata, int font_index, stbtt_pack_range *ranges, int num_ranges)
 
void stbtt_PackSetOversampling (stbtt_pack_context *spc, unsigned int h_oversample, unsigned int v_oversample)
 
void stbtt_GetPackedQuad (stbtt_packedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int align_to_integer)
 
int stbtt_GetFontOffsetForIndex (const unsigned char *data, int index)
 
int stbtt_InitFont (stbtt_fontinfo *info, const unsigned char *data, int offset)
 
int stbtt_FindGlyphIndex (const stbtt_fontinfo *info, int unicode_codepoint)
 
float stbtt_ScaleForPixelHeight (const stbtt_fontinfo *info, float pixels)
 
float stbtt_ScaleForMappingEmToPixels (const stbtt_fontinfo *info, float pixels)
 
void stbtt_GetFontVMetrics (const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap)
 
void stbtt_GetFontBoundingBox (const stbtt_fontinfo *info, int *x0, int *y0, int *x1, int *y1)
 
void stbtt_GetCodepointHMetrics (const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing)
 
int stbtt_GetCodepointKernAdvance (const stbtt_fontinfo *info, int ch1, int ch2)
 
int stbtt_GetCodepointBox (const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1)
 
void stbtt_GetGlyphHMetrics (const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing)
 
int stbtt_GetGlyphKernAdvance (const stbtt_fontinfo *info, int glyph1, int glyph2)
 
int stbtt_GetGlyphBox (const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1)
 
int stbtt_IsGlyphEmpty (const stbtt_fontinfo *info, int glyph_index)
 
int stbtt_GetCodepointShape (const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices)
 
int stbtt_GetGlyphShape (const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **vertices)
 
void stbtt_FreeShape (const stbtt_fontinfo *info, stbtt_vertex *vertices)
 
void stbtt_FreeBitmap (unsigned char *bitmap, void *userdata)
 
unsigned char * stbtt_GetCodepointBitmap (const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff)
 
unsigned char * stbtt_GetCodepointBitmapSubpixel (const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff)
 
void stbtt_MakeCodepointBitmap (const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint)
 
void stbtt_MakeCodepointBitmapSubpixel (const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint)
 
void stbtt_GetCodepointBitmapBox (const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1)
 
void stbtt_GetCodepointBitmapBoxSubpixel (const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1)
 
unsigned char * stbtt_GetGlyphBitmap (const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff)
 
unsigned char * stbtt_GetGlyphBitmapSubpixel (const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int glyph, int *width, int *height, int *xoff, int *yoff)
 
void stbtt_MakeGlyphBitmap (const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph)
 
void stbtt_MakeGlyphBitmapSubpixel (const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int glyph)
 
void stbtt_GetGlyphBitmapBox (const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1)
 
void stbtt_GetGlyphBitmapBoxSubpixel (const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1)
 
void stbtt_Rasterize (stbtt__bitmap *result, float flatness_in_pixels, stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, float shift_x, float shift_y, int x_off, int y_off, int invert, void *userdata)
 
int stbtt_FindMatchingFont (const unsigned char *fontdata, const char *name, int flags)
 
int stbtt_CompareUTF8toUTF16_bigendian (const char *s1, int len1, const char *s2, int len2)
 
const char * stbtt_GetFontNameString (const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID)
 

Macro Definition Documentation

#define STB_ZERO (   val)    (((val) > -1.0e-37) && ((val) < 1.0e-37))

Definition at line 423 of file stb_truetype.h.

#define __STB_INCLUDE_STB_TRUETYPE_H__

Definition at line 433 of file stb_truetype.h.

#define STBTT_POINT_SIZE (   x)    (-(x))

Definition at line 515 of file stb_truetype.h.

#define stbtt_vertex_type   short

Definition at line 689 of file stb_truetype.h.

#define STBTT_MACSTYLE_DONTCARE   0

Definition at line 803 of file stb_truetype.h.

#define STBTT_MACSTYLE_BOLD   1

Definition at line 804 of file stb_truetype.h.

#define STBTT_MACSTYLE_ITALIC   2

Definition at line 805 of file stb_truetype.h.

#define STBTT_MACSTYLE_UNDERSCORE   4

Definition at line 806 of file stb_truetype.h.

#define STBTT_MACSTYLE_NONE   8

Definition at line 807 of file stb_truetype.h.

Typedef Documentation

Definition at line 499 of file stb_truetype.h.

Enumeration Type Documentation

anonymous enum
Enumerator
STBTT_vmove 
STBTT_vline 
STBTT_vcurve 

Definition at line 680 of file stb_truetype.h.

anonymous enum
Enumerator
STBTT_PLATFORM_ID_UNICODE 
STBTT_PLATFORM_ID_MAC 
STBTT_PLATFORM_ID_ISO 
STBTT_PLATFORM_ID_MICROSOFT 

Definition at line 821 of file stb_truetype.h.

anonymous enum
Enumerator
STBTT_UNICODE_EID_UNICODE_1_0 
STBTT_UNICODE_EID_UNICODE_1_1 
STBTT_UNICODE_EID_ISO_10646 
STBTT_UNICODE_EID_UNICODE_2_0_BMP 
STBTT_UNICODE_EID_UNICODE_2_0_FULL 

Definition at line 828 of file stb_truetype.h.

anonymous enum
Enumerator
STBTT_MS_EID_SYMBOL 
STBTT_MS_EID_UNICODE_BMP 
STBTT_MS_EID_SHIFTJIS 
STBTT_MS_EID_UNICODE_FULL 

Definition at line 836 of file stb_truetype.h.

anonymous enum
Enumerator
STBTT_MAC_EID_ROMAN 
STBTT_MAC_EID_ARABIC 
STBTT_MAC_EID_JAPANESE 
STBTT_MAC_EID_HEBREW 
STBTT_MAC_EID_CHINESE_TRAD 
STBTT_MAC_EID_GREEK 
STBTT_MAC_EID_KOREAN 
STBTT_MAC_EID_RUSSIAN 

Definition at line 843 of file stb_truetype.h.

anonymous enum
Enumerator
STBTT_MS_LANG_ENGLISH 
STBTT_MS_LANG_ITALIAN 
STBTT_MS_LANG_CHINESE 
STBTT_MS_LANG_JAPANESE 
STBTT_MS_LANG_DUTCH 
STBTT_MS_LANG_KOREAN 
STBTT_MS_LANG_FRENCH 
STBTT_MS_LANG_RUSSIAN 
STBTT_MS_LANG_GERMAN 
STBTT_MS_LANG_SPANISH 
STBTT_MS_LANG_HEBREW 
STBTT_MS_LANG_SWEDISH 

Definition at line 850 of file stb_truetype.h.

anonymous enum
Enumerator
STBTT_MAC_LANG_ENGLISH 
STBTT_MAC_LANG_JAPANESE 
STBTT_MAC_LANG_ARABIC 
STBTT_MAC_LANG_KOREAN 
STBTT_MAC_LANG_DUTCH 
STBTT_MAC_LANG_RUSSIAN 
STBTT_MAC_LANG_FRENCH 
STBTT_MAC_LANG_SPANISH 
STBTT_MAC_LANG_GERMAN 
STBTT_MAC_LANG_SWEDISH 
STBTT_MAC_LANG_HEBREW 
STBTT_MAC_LANG_CHINESE_SIMPLIFIED 
STBTT_MAC_LANG_ITALIAN 
STBTT_MAC_LANG_CHINESE_TRAD 

Definition at line 860 of file stb_truetype.h.

Function Documentation

int stbtt_BakeFontBitmap ( const unsigned char *  data,
int  offset,
float  pixel_height,
unsigned char *  pixels,
int  pw,
int  ph,
int  first_char,
int  num_chars,
stbtt_bakedchar chardata 
)
void stbtt_GetBakedQuad ( stbtt_bakedchar chardata,
int  pw,
int  ph,
int  char_index,
float *  xpos,
float *  ypos,
stbtt_aligned_quad q,
int  opengl_fillrule 
)
int stbtt_PackBegin ( stbtt_pack_context spc,
unsigned char *  pixels,
int  width,
int  height,
int  stride_in_bytes,
int  padding,
void *  alloc_context 
)
void stbtt_PackEnd ( stbtt_pack_context spc)
int stbtt_PackFontRange ( stbtt_pack_context spc,
unsigned char *  fontdata,
int  font_index,
float  font_size,
int  first_unicode_char_in_range,
int  num_chars_in_range,
stbtt_packedchar chardata_for_range 
)
int stbtt_PackFontRanges ( stbtt_pack_context spc,
unsigned char *  fontdata,
int  font_index,
stbtt_pack_range ranges,
int  num_ranges 
)
void stbtt_PackSetOversampling ( stbtt_pack_context spc,
unsigned int  h_oversample,
unsigned int  v_oversample 
)
void stbtt_GetPackedQuad ( stbtt_packedchar chardata,
int  pw,
int  ph,
int  char_index,
float *  xpos,
float *  ypos,
stbtt_aligned_quad q,
int  align_to_integer 
)
int stbtt_GetFontOffsetForIndex ( const unsigned char *  data,
int  index 
)
int stbtt_InitFont ( stbtt_fontinfo info,
const unsigned char *  data,
int  offset 
)
int stbtt_FindGlyphIndex ( const stbtt_fontinfo info,
int  unicode_codepoint 
)
float stbtt_ScaleForPixelHeight ( const stbtt_fontinfo info,
float  pixels 
)
float stbtt_ScaleForMappingEmToPixels ( const stbtt_fontinfo info,
float  pixels 
)
void stbtt_GetFontVMetrics ( const stbtt_fontinfo info,
int *  ascent,
int *  descent,
int *  lineGap 
)
void stbtt_GetFontBoundingBox ( const stbtt_fontinfo info,
int *  x0,
int *  y0,
int *  x1,
int *  y1 
)
void stbtt_GetCodepointHMetrics ( const stbtt_fontinfo info,
int  codepoint,
int *  advanceWidth,
int *  leftSideBearing 
)
int stbtt_GetCodepointKernAdvance ( const stbtt_fontinfo info,
int  ch1,
int  ch2 
)
int stbtt_GetCodepointBox ( const stbtt_fontinfo info,
int  codepoint,
int *  x0,
int *  y0,
int *  x1,
int *  y1 
)
void stbtt_GetGlyphHMetrics ( const stbtt_fontinfo info,
int  glyph_index,
int *  advanceWidth,
int *  leftSideBearing 
)
int stbtt_GetGlyphKernAdvance ( const stbtt_fontinfo info,
int  glyph1,
int  glyph2 
)
int stbtt_GetGlyphBox ( const stbtt_fontinfo info,
int  glyph_index,
int *  x0,
int *  y0,
int *  x1,
int *  y1 
)
int stbtt_IsGlyphEmpty ( const stbtt_fontinfo info,
int  glyph_index 
)
int stbtt_GetCodepointShape ( const stbtt_fontinfo info,
int  unicode_codepoint,
stbtt_vertex **  vertices 
)
int stbtt_GetGlyphShape ( const stbtt_fontinfo info,
int  glyph_index,
stbtt_vertex **  vertices 
)
void stbtt_FreeShape ( const stbtt_fontinfo info,
stbtt_vertex vertices 
)
void stbtt_FreeBitmap ( unsigned char *  bitmap,
void *  userdata 
)
unsigned char* stbtt_GetCodepointBitmap ( const stbtt_fontinfo info,
float  scale_x,
float  scale_y,
int  codepoint,
int *  width,
int *  height,
int *  xoff,
int *  yoff 
)
unsigned char* stbtt_GetCodepointBitmapSubpixel ( const stbtt_fontinfo info,
float  scale_x,
float  scale_y,
float  shift_x,
float  shift_y,
int  codepoint,
int *  width,
int *  height,
int *  xoff,
int *  yoff 
)
void stbtt_MakeCodepointBitmap ( const stbtt_fontinfo info,
unsigned char *  output,
int  out_w,
int  out_h,
int  out_stride,
float  scale_x,
float  scale_y,
int  codepoint 
)
void stbtt_MakeCodepointBitmapSubpixel ( const stbtt_fontinfo info,
unsigned char *  output,
int  out_w,
int  out_h,
int  out_stride,
float  scale_x,
float  scale_y,
float  shift_x,
float  shift_y,
int  codepoint 
)
void stbtt_GetCodepointBitmapBox ( const stbtt_fontinfo font,
int  codepoint,
float  scale_x,
float  scale_y,
int *  ix0,
int *  iy0,
int *  ix1,
int *  iy1 
)
void stbtt_GetCodepointBitmapBoxSubpixel ( const stbtt_fontinfo font,
int  codepoint,
float  scale_x,
float  scale_y,
float  shift_x,
float  shift_y,
int *  ix0,
int *  iy0,
int *  ix1,
int *  iy1 
)
unsigned char* stbtt_GetGlyphBitmap ( const stbtt_fontinfo info,
float  scale_x,
float  scale_y,
int  glyph,
int *  width,
int *  height,
int *  xoff,
int *  yoff 
)
unsigned char* stbtt_GetGlyphBitmapSubpixel ( const stbtt_fontinfo info,
float  scale_x,
float  scale_y,
float  shift_x,
float  shift_y,
int  glyph,
int *  width,
int *  height,
int *  xoff,
int *  yoff 
)
void stbtt_MakeGlyphBitmap ( const stbtt_fontinfo info,
unsigned char *  output,
int  out_w,
int  out_h,
int  out_stride,
float  scale_x,
float  scale_y,
int  glyph 
)
void stbtt_MakeGlyphBitmapSubpixel ( const stbtt_fontinfo info,
unsigned char *  output,
int  out_w,
int  out_h,
int  out_stride,
float  scale_x,
float  scale_y,
float  shift_x,
float  shift_y,
int  glyph 
)
void stbtt_GetGlyphBitmapBox ( const stbtt_fontinfo font,
int  glyph,
float  scale_x,
float  scale_y,
int *  ix0,
int *  iy0,
int *  ix1,
int *  iy1 
)
void stbtt_GetGlyphBitmapBoxSubpixel ( const stbtt_fontinfo font,
int  glyph,
float  scale_x,
float  scale_y,
float  shift_x,
float  shift_y,
int *  ix0,
int *  iy0,
int *  ix1,
int *  iy1 
)
void stbtt_Rasterize ( stbtt__bitmap result,
float  flatness_in_pixels,
stbtt_vertex vertices,
int  num_verts,
float  scale_x,
float  scale_y,
float  shift_x,
float  shift_y,
int  x_off,
int  y_off,
int  invert,
void *  userdata 
)
int stbtt_FindMatchingFont ( const unsigned char *  fontdata,
const char *  name,
int  flags 
)
int stbtt_CompareUTF8toUTF16_bigendian ( const char *  s1,
int  len1,
const char *  s2,
int  len2 
)
const char* stbtt_GetFontNameString ( const stbtt_fontinfo font,
int *  length,
int  platformID,
int  encodingID,
int  languageID,
int  nameID 
)