// NB: kerning pair are not supported (because some ImGui code does per-character CalcTextSize calls, need to turn it into something more state-ful to allow for kerning)
// - ImGui automatically loads a default embedded font for you
// - Call GetTextureData() to retrieve pixels data so you can upload the texture to your graphics system.
// - Store your texture handle in 'TexID'. It will be passed back to you when rendering ('texture_id' field in ImDrawCmd)
// (NB: kerning isn't supported. At the moment some ImGui code does per-character CalcTextSize calls, need something more state-ful)
structImFont
{
// Settings
floatScale;// = 1.0f // Base font scale, multiplied by the per-window font scale which you can adjust with SetFontScale()
ImVec2DisplayOffset;// = (0.0f,0.0f) // Offset font rendering by xx pixels
ImWcharFallbackChar;// = '?' // Replacement glyph if one isn't found.
ImTextureIDTexID;// = 0 // After loading texture, store your texture handle here (ignore if you aren't using multiple fonts/textures)
// Texture data: user is in charge of copying the pixels into a GPU texture.
// You can set 'TexID' to uniquely identify your texture. TexId is copied to the ImDrawCmd structure which you receive during rendering.
ImTextureIDTexID;// User reference to texture used by the font (ignore if you aren't using multiple fonts/textures)
unsignedchar*TexPixels;// 1 byte, 1 component per pixel. Total byte size of TexWidth * TexHeight
intTexWidth;
intTexHeight;
// [Internal]
ImVec2TexExtraDataPos;// Position of our rectangle where we draw non-font graphics
ImVec2TexUvWhitePixel;// Texture coordinates to a white pixel (part of the TexExtraData block)