summaryrefslogtreecommitdiff
path: root/Build/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/pairop.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/pairop.cc')
-rw-r--r--Build/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/pairop.cc153
1 files changed, 0 insertions, 153 deletions
diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/pairop.cc b/Build/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/pairop.cc
deleted file mode 100644
index 03d04e9097e..00000000000
--- a/Build/source/texk/lcdf-typetools/lcdf-typetools-src/libefont/pairop.cc
+++ /dev/null
@@ -1,153 +0,0 @@
-// -*- related-file-name: "../include/efont/pairop.hh" -*-
-
-/* pairop.{cc,hh} -- ligature/kern font metrics
- *
- * Copyright (c) 1998-2019 Eddie Kohler
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version. This program is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
- * Public License for more details.
- */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-#include <efont/pairop.hh>
-#include <stdio.h>
-namespace Efont {
-
-PairProgram::PairProgram(const PairProgram &o)
- : _reversed(o._reversed),
- _left_map(o._left_map),
- _op(o._op)
-{
-}
-
-
-void
-PairProgram::reserve_glyphs(int e)
-{
- if (e <= _left_map.size()) return;
- _left_map.resize(e, -1);
-}
-
-
-PairOpIndex
-PairProgram::find(GlyphIndex leftgi, GlyphIndex rightgi) const
-{
- PairOpIndex opi = find_left(leftgi);
- while (opi >= 0) {
- if (op(opi).right() == rightgi)
- return opi;
- opi = op(opi).next_left();
- }
- return -1;
-}
-
-
-bool
-PairProgram::add_kern(GlyphIndex left, GlyphIndex right, int ki)
-{
- PairOp newop(left, right, ki, _left_map[left]);
- int newopi = _op.size();
- _op.push_back(newop);
- _left_map[left] = newopi;
-
- //PairOpIndex duplicate = map[newop];
- //map.add(newop, newopi);
-
- return false;
-}
-
-
-bool
-PairProgram::add_lig(GlyphIndex left, GlyphIndex right, GlyphIndex result,
- int kind)
-{
- PairOp newop(left, right, result, kind, _left_map[left]);
- int newopi = _op.size();
- _op.push_back(newop);
- _left_map[left] = newopi;
-
- //PairOpIndex duplicate = map[newop];
- //map.add(newop, newopi);
-
- return false;
-}
-
-
-void
-PairProgram::unreverse()
-{
- if (!_reversed) return;
-
- _left_map.assign(_left_map.size(), -1);
-
- for (PairOpIndex opi = _op.size() - 1; opi >= 0; opi--) {
- PairOp &o = _op[opi];
- PairOpIndex l = o.left();
- o.set_next(_left_map[l]);
- _left_map[l] = opi;
- }
-
- _reversed = false;
-}
-
-
-void
-PairProgram::optimize()
-{
- /* PairOpIndex opi;
-
- // Get rid of 0-valued kerns.
- for (opi = 0; opi < opcount(); opi++) {
- PairOp &o = op(opi);
- if (o.is_kern() && o.value() == 0)
- o.noopify();
- }*/
-}
-
-
-inline const char *
-PairProgram::print_name(GlyphIndex) const
-{
-#if 0
- if (gi == opAnychar) return "*";
- else return glyph(gi).name();
-#endif
- return 0;
-}
-
-
-void
-PairProgram::print() const
-{
-#if 0
- for (GlyphIndex gi = 0; gi < glyphblock.size(); gi++)
- if (glyphblock[gi] != -1)
- printf("%s->B%d ", glyph(gi).name().c_str(), glyphblock[gi]);
- printf("\n");
-
- for (int i = 0; i < blocks.size(); i++) {
- printf("B%-2d: ", i);
- PairOpBlock &opb = *blocks[i];
- for (int j = 0; j < opb.size(); j++)
- if (opb[j].is_lig())
- printf("%s->%s ", printname(opb[j].right()),
- printname(opb[j].result()));
- else if (opb[j].is_kern())
- printf("%s[%g] ", printname(opb[j].right()), kern(opb[j].value()));
- else if (opb[j].is_noop())
- printf(". ");
- if (blocks[i]->nextblock != -1)
- printf(" :B%d", blocks[i]->nextblock);
- printf("\n");
- }
-#endif
-}
-
-}