ttfMeasureUnicode function

int ttfMeasureUnicode(
  1. Pointer<TtfFont> font,
  2. Pointer<Uint16> text,
  3. int measureWidth,
  4. Pointer<Int32> extent,
  5. Pointer<Int32> count,
)

Calculate how much of a UCS-2 string will fit in a given width.

This reports the number of characters that can be rendered before reaching measure_width.

This does not need to render the string to do this calculation.

Please note that this function is named "Unicode" but currently expects UCS-2 encoding (16 bits per codepoint). This does not give you access to large Unicode values, such as emoji glyphs. These codepoints are accessible through the UTF-8 version of this function.

\param font the font to query. \param text text to calculate, in UCS-2 encoding. \param measure_width maximum width, in pixels, available for the string. \param count on return, filled with number of characters that can be rendered. \param extent on return, filled with latest calculated width. \returns 0 if successful, -1 on error.

\since This function is available since SDL_ttf 2.0.18.

\sa TTF_MeasureText \sa TTF_MeasureUTF8 \sa TTF_MeasureUNICODE

extern DECLSPEC int SDLCALL TTF_MeasureUNICODE(TTF_Font *font, const Uint16 *text, int measure_width, int *extent, int *count)

Implementation

int ttfMeasureUnicode(Pointer<TtfFont> font, Pointer<Uint16> text,
    int measureWidth, Pointer<Int32> extent, Pointer<Int32> count) {
  final ttfMeasureUnicodeLookupFunction = libSdl2Ttf.lookupFunction<
      Int32 Function(Pointer<TtfFont> font, Pointer<Uint16> text,
          Int32 measureWidth, Pointer<Int32> extent, Pointer<Int32> count),
      int Function(
          Pointer<TtfFont> font,
          Pointer<Uint16> text,
          int measureWidth,
          Pointer<Int32> extent,
          Pointer<Int32> count)>('TTF_MeasureUNICODE');
  return ttfMeasureUnicodeLookupFunction(
      font, text, measureWidth, extent, count);
}