# annotate.c File Reference

`#include "magick/studio.h"`
`#include "magick/annotate.h"`
`#include "magick/cache-view.h"`
`#include "magick/client.h"`
`#include "magick/color.h"`
`#include "magick/color-private.h"`
`#include "magick/composite.h"`
`#include "magick/composite-private.h"`
`#include "magick/constitute.h"`
`#include "magick/draw.h"`
`#include "magick/draw-private.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/gem.h"`
`#include "magick/geometry.h"`
`#include "magick/image-private.h"`
`#include "magick/log.h"`
`#include "magick/quantum.h"`
`#include "magick/quantum-private.h"`
`#include "magick/property.h"`
`#include "magick/resource_.h"`
`#include "magick/statistic.h"`
`#include "magick/string_.h"`
`#include "magick/transform.h"`
`#include "magick/type.h"`
`#include "magick/utility.h"`
`#include "magick/xwindow-private.h"`
`#include <ft2build.h>`
`#include <freetype/freetype.h>`
`#include <freetype/ftglyph.h>`
`#include <freetype/ftoutln.h>`
`#include <freetype/ftbbox.h>`

## Defines

#define | FT_OPEN_PATHNAME ft_open_pathname

## Functions

static MagickBooleanType | RenderType (Image *, const DrawInfo *, const PointInfo *, TypeMetric *)
static MagickBooleanType | RenderPostscript (Image *, const DrawInfo *, const PointInfo *, TypeMetric *)
static MagickBooleanType | RenderFreetype (Image *, const DrawInfo *, const char *, const PointInfo *, TypeMetric *)
static MagickBooleanType | RenderX11 (Image *, const DrawInfo *, const PointInfo *, TypeMetric *)
MagickExport MagickBooleanType | AnnotateImage (Image *image, const DrawInfo *draw_info)
static int | GetOneCharacter (const unsigned char *text, size_t *length)
static unsigned long * | EncodeSJIS (const char *text, size_t *count)
static unsigned long * | EncodeText (const char *text, size_t *count)
static long | GetUnicodeCharacter (const unsigned char *text, size_t *length)
static unsigned long * | EncodeUnicode (const char *text, size_t *count)
MagickExport long | FormatMagickCaption (Image *image, DrawInfo *draw_info, char *caption, TypeMetric *metrics)
MagickExport MagickBooleanType | GetMultilineTypeMetrics (Image *image, const DrawInfo *draw_info, TypeMetric *metrics)
MagickExport MagickBooleanType | GetTypeMetrics (Image *image, const DrawInfo *draw_info, TypeMetric *metrics)
static int | TraceCubicBezier (FT_Vector *p, FT_Vector *q, FT_Vector *to, DrawInfo *draw_info)
static int | TraceLineTo (FT_Vector *to, DrawInfo *draw_info)
static int | TraceMoveTo (FT_Vector *to, DrawInfo *draw_info)
static int | TraceQuadraticBezier (FT_Vector *control, FT_Vector *to, DrawInfo *draw_info)
static size_t | MagickMin (const size_t x, const size_t y)
static char * | EscapeParenthesis (const char *text)

## Define Documentation

#define FT_OPEN_PATHNAME ft_open_pathname

## Function Documentation

MagickExport MagickBooleanType AnnotateImage | ( | Image * | image,
|  | const DrawInfo * | draw_info |
| ) |  |  |

static unsigned long* EncodeSJIS | ( | const char * | text,
|  | size_t * | count |
| ) |  |  | `[static]`

static unsigned long* EncodeText | ( | const char * | text,
|  | size_t * | count |
| ) |  |  | `[static]`

static unsigned long* EncodeUnicode | ( | const char * | text,
|  | size_t * | count |
| ) |  |  | `[static]`

static char* EscapeParenthesis | ( | const char * | text | ) | `[static]`

MagickExport long FormatMagickCaption | ( | Image * | image,
|  | DrawInfo * | draw_info,
|  | char * | caption,
|  | TypeMetric * | metrics |
| ) |  |  |

MagickExport MagickBooleanType GetMultilineTypeMetrics | ( | Image * | image,
|  | const DrawInfo * | draw_info,
|  | TypeMetric * | metrics |
| ) |  |  |

static int GetOneCharacter | ( | const unsigned char * | text,
|  | size_t * | length |
| ) |  |  | `[static]`

MagickExport MagickBooleanType GetTypeMetrics | ( | Image * | image,
|  | const DrawInfo * | draw_info,
|  | TypeMetric * | metrics |
| ) |  |  |

static long GetUnicodeCharacter | ( | const unsigned char * | text,
|  | size_t * | length |
| ) |  |  | `[static]`

static size_t MagickMin | ( | const size_t | x,
|  | const size_t | y |
| ) |  |  | `[inline, static]`

static MagickBooleanType RenderFreetype | ( | Image * | image,
|  | const DrawInfo * | draw_info,
|  | const char * | encoding,
|  | const PointInfo * | offset,
|  | TypeMetric * | metrics |
| ) |  |  |

static MagickBooleanType RenderPostscript | ( | Image * | image,
|  | const DrawInfo * | draw_info,
|  | const PointInfo * | offset,
|  | TypeMetric * | metrics |
| ) |  |  |

static MagickBooleanType RenderType | ( | Image * | image,
|  | const DrawInfo * | draw_info,
|  | const PointInfo * | offset,
|  | TypeMetric * | metrics |
| ) |  |  | `[static]`

static MagickBooleanType RenderX11 | ( | Image * | image,
|  | const DrawInfo * | draw_info,
|  | const PointInfo * | offset,
|  | TypeMetric * | metrics |
| ) |  |  |

static int TraceCubicBezier | ( | FT_Vector * | p,
|  | FT_Vector * | q,
|  | FT_Vector * | to,
|  | DrawInfo * | draw_info |
| ) |  |  | `[static]`

static int TraceLineTo | ( | FT_Vector * | to,
|  | DrawInfo * | draw_info |
| ) |  |  | `[static]`

static int TraceMoveTo | ( | FT_Vector * | to,
|  | DrawInfo * | draw_info |
| ) |  |  | `[static]`

static int TraceQuadraticBezier | ( | FT_Vector * | control,
|  | FT_Vector * | to,
|  | DrawInfo * | draw_info |
| ) |  |  | `[static]`