Back to index

texmacs  1.0.7.15
Classes | Functions
t1_char.h File Reference
#include "cff_types.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  t1_ginfo
struct  t1_ginfo.bbox
struct  t1_ginfo.seac

Functions

int t1char_get_metrics (card8 *src, long srclen, cff_index *subrs, t1_ginfo *ginfo)
long t1char_convert_charstring (card8 *dst, long dstlen, card8 *src, long srclen, cff_index *subrs, double default_width, double nominal_width, t1_ginfo *ginfo)

Class Documentation

struct t1_ginfo

Definition at line 6 of file t1_char.h.

Class Members
struct t1_ginfo bbox
struct t1_ginfo seac
int use_seac
double wx
double wy
struct t1_ginfo.bbox

Definition at line 9 of file t1_char.h.

Class Members
double llx
double lly
double urx
double ury
struct t1_ginfo.seac

Definition at line 12 of file t1_char.h.

Class Members
card8 achar
double adx
double ady
double asb
card8 bchar

Function Documentation

long t1char_convert_charstring ( card8 dst,
long  dstlen,
card8 src,
long  srclen,
cff_index subrs,
double  default_width,
double  nominal_width,
t1_ginfo ginfo 
)

Definition at line 1550 of file t1_char.c.

{
  long length;
  t1_chardesc t1char, *cd;

  cd = &t1char;
  init_charpath(cd);
  RESET_STATE();
  CLEARSTACK();
  t1char_build_charpath(cd, &src, src+srclen, subrs);
  if (cs_stack_top != 0 || ps_stack_top != 0)
    WARN("Stack not empty. (%d, %d)", cs_stack_top, ps_stack_top);
  do_postproc(cd);
  SORT_STEMS(cd);

  length = t1char_encode_charpath(cd, default_width, nominal_width, dst, dst+dstlen);

  if (ginfo) {
    ginfo->wx = cd->sbw.wx;
    ginfo->wy = cd->sbw.wy;
    ginfo->bbox.llx = cd->bbox.llx;
    ginfo->bbox.lly = cd->bbox.lly;
    ginfo->bbox.urx = cd->bbox.urx;
    ginfo->bbox.ury = cd->bbox.ury;
    if (cd->flags & T1_CS_FLAG_USE_SEAC) {
      ginfo->use_seac = 1;
      ginfo->seac.adx = cd->seac.adx;
      ginfo->seac.ady = cd->seac.ady;
      ginfo->seac.bchar = cd->seac.bchar;
      ginfo->seac.achar = cd->seac.achar;
    } else {
      ginfo->use_seac = 0;
    }
  }
  release_charpath(cd);

  return length;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int t1char_get_metrics ( card8 src,
long  srclen,
cff_index subrs,
t1_ginfo ginfo 
)

Definition at line 1326 of file t1_char.c.

{
  t1_chardesc t1char, *cd;

  cd = &t1char;
  init_charpath(cd);
  RESET_STATE();
  CLEARSTACK();
  t1char_build_charpath(cd, &src, src+srclen, subrs);
  if (cs_stack_top != 0 || ps_stack_top != 0)
    WARN("Stack not empty. (%d, %d)", cs_stack_top, ps_stack_top);
  do_postproc(cd);
  if (ginfo) {
    ginfo->wx = cd->sbw.wx;
    ginfo->wy = cd->sbw.wy;
    ginfo->bbox.llx = cd->bbox.llx;
    ginfo->bbox.lly = cd->bbox.lly;
    ginfo->bbox.urx = cd->bbox.urx;
    ginfo->bbox.ury = cd->bbox.ury;
    if (cd->flags & T1_CS_FLAG_USE_SEAC) {
      ginfo->use_seac = 1;
      ginfo->seac.adx = cd->seac.adx;
      ginfo->seac.ady = cd->seac.ady;
      ginfo->seac.bchar = cd->seac.bchar;
      ginfo->seac.achar = cd->seac.achar;
    } else {
      ginfo->use_seac = 0;
    }
  }
  release_charpath(cd);

  return 0;
}

Here is the call graph for this function:

Here is the caller graph for this function: