File: encoding.hh

package info (click to toggle)
lcdf-typetools 2.106~dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 3,116 kB
  • ctags: 4,799
  • sloc: cpp: 35,136; ansic: 1,861; sh: 1,254; makefile: 264
file content (27 lines) | stat: -rw-r--r-- 581 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// -*- related-file-name: "../../libefont/encoding.cc" -*-
#ifndef EFONT_ENCODING_HH
#define EFONT_ENCODING_HH
#include <lcdf/vector.hh>
namespace Efont {
typedef int GlyphIndex;

class Encoding8 {

  Vector<GlyphIndex> _codes;
  Vector<int> _code_map;

 public:

  Encoding8()                           : _code_map(256, -1) { }

  void reserve_glyphs(int);

  int code(GlyphIndex gi) const         { return _codes[gi]; }
  GlyphIndex find_code(int c) const     { return _code_map[c]; }

  void set_code(GlyphIndex gi, int c)   { _codes[gi] = c; _code_map[c] = gi; }

};

}
#endif