#include "inc/UtfCodec.h"
#include <cstring>
#include <cstdlib>
#include "inc/bits.h"
#include "inc/Segment.h"
#include "graphite2/Font.h"
#include "inc/CharInfo.h"
#include "inc/debug.h"
#include "inc/Slot.h"
#include "inc/Main.h"
#include "inc/CmapCache.h"
#include "inc/Collider.h"
#include "graphite2/Segment.h"
usingnamespacegraphite2;
Segment::Segment(size_t numchars, const Face* face, uint32 script, int textDir)
: … { … }
Segment::~Segment()
{ … }
void Segment::appendSlot(int id, int cid, int gid, int iFeats, size_t coffset)
{ … }
Slot *Segment::newSlot()
{ … }
void Segment::freeSlot(Slot *aSlot)
{ … }
SlotJustify *Segment::newJustify()
{ … }
void Segment::freeJustify(SlotJustify *aJustify)
{ … }
void Segment::reverseSlots()
{ … }
void Segment::linkClusters(Slot *s, Slot * end)
{ … }
Position Segment::positionSlots(const Font *font, Slot * iStart, Slot * iEnd, bool isRtl, bool isFinal)
{ … }
void Segment::associateChars(int offset, size_t numChars)
{ … }
template <typename utf_iter>
inline void process_utf_data(Segment & seg, const Face & face, const int fid, utf_iter c, size_t n_chars)
{ … }
bool Segment::read_text(const Face *face, const Features* pFeats, gr_encform enc, const void* pStart, size_t nChars)
{ … }
void Segment::doMirror(uint16 aMirror)
{ … }
bool Segment::initCollisions()
{ … }