mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 18:54:09 -04:00
Port qt_hack plugin to build on python2/python3
This commit is contained in:
parent
3258c464e7
commit
247e0b557b
@ -48,7 +48,11 @@ PyObject* get_glyphs(const QPointF &p, const QTextItem &text_item) {
|
|||||||
indices = PyTuple_New(glyphs.count());
|
indices = PyTuple_New(glyphs.count());
|
||||||
if (indices == NULL) { Py_DECREF(points); return PyErr_NoMemory(); }
|
if (indices == NULL) { Py_DECREF(points); return PyErr_NoMemory(); }
|
||||||
for (int i = 0; i < glyphs.count(); i++) {
|
for (int i = 0; i < glyphs.count(); i++) {
|
||||||
|
#if PY_MAJOR_VERSION >= 3
|
||||||
|
temp = PyLong_FromLong((long)glyphs[i]);
|
||||||
|
#else
|
||||||
temp = PyInt_FromLong((long)glyphs[i]);
|
temp = PyInt_FromLong((long)glyphs[i]);
|
||||||
|
#endif
|
||||||
if (temp == NULL) { Py_DECREF(indices); Py_DECREF(points); return PyErr_NoMemory(); }
|
if (temp == NULL) { Py_DECREF(indices); Py_DECREF(points); return PyErr_NoMemory(); }
|
||||||
PyTuple_SET_ITEM(indices, i, temp); temp = NULL;
|
PyTuple_SET_ITEM(indices, i, temp); temp = NULL;
|
||||||
}
|
}
|
||||||
@ -74,10 +78,13 @@ PyObject* get_glyph_map(const QTextItem &text_item) {
|
|||||||
for (uint uc = 0; uc < 0x10000; ++uc) {
|
for (uint uc = 0; uc < 0x10000; ++uc) {
|
||||||
QChar ch(uc);
|
QChar ch(uc);
|
||||||
ti.fontEngine->stringToCMap(&ch, 1, &glyphs, &nglyphs, QFontEngine::GlyphIndicesOnly);
|
ti.fontEngine->stringToCMap(&ch, 1, &glyphs, &nglyphs, QFontEngine::GlyphIndicesOnly);
|
||||||
|
#if PY_MAJOR_VERSION >= 3
|
||||||
|
t = PyLong_FromLong(glyphs.glyphs[0]);
|
||||||
|
#else
|
||||||
t = PyInt_FromLong(glyphs.glyphs[0]);
|
t = PyInt_FromLong(glyphs.glyphs[0]);
|
||||||
|
#endif
|
||||||
if (t == NULL) { Py_DECREF(ans); return PyErr_NoMemory(); }
|
if (t == NULL) { Py_DECREF(ans); return PyErr_NoMemory(); }
|
||||||
PyTuple_SET_ITEM(ans, uc, t); t = NULL;
|
PyTuple_SET_ITEM(ans, uc, t); t = NULL;
|
||||||
}
|
}
|
||||||
return ans;
|
return ans;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,14 +7,14 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// Per python C-API docs, Python.h must always be the first header
|
||||||
|
#include <Python.h>
|
||||||
#include <QGlyphRun>
|
#include <QGlyphRun>
|
||||||
#include <QTextItem>
|
#include <QTextItem>
|
||||||
#include <QPointF>
|
#include <QPointF>
|
||||||
#include <Python.h>
|
|
||||||
|
|
||||||
PyObject* get_glyphs(const QPointF &p, const QTextItem &text_item);
|
PyObject* get_glyphs(const QPointF &p, const QTextItem &text_item);
|
||||||
|
|
||||||
PyObject* get_sfnt_table(const QTextItem &text_item, const char* tag_name);
|
PyObject* get_sfnt_table(const QTextItem &text_item, const char* tag_name);
|
||||||
|
|
||||||
PyObject* get_glyph_map(const QTextItem &text_item);
|
PyObject* get_glyph_map(const QTextItem &text_item);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user