From 4d5c3ebd468fa17a02a9abb9814c04e18baef309 Mon Sep 17 00:00:00 2001 From: Araq Date: Mon, 2 May 2011 00:01:50 +0200 Subject: little repo cleanup --- koch.nim | 4 +- lib/oldwrappers/cairo/cairo.nim | 698 - lib/oldwrappers/cairo/cairoft.nim | 36 - lib/oldwrappers/cairo/cairowin32.nim | 36 - lib/oldwrappers/cairo/cairoxlib.nim | 40 - lib/oldwrappers/gtk/atk.nim | 1369 -- lib/oldwrappers/gtk/gdk2.nim | 3958 ---- lib/oldwrappers/gtk/gdk2pixbuf.nim | 277 - lib/oldwrappers/gtk/gdkglext.nim | 564 - lib/oldwrappers/gtk/glib2.nim | 4503 ----- lib/oldwrappers/gtk/gtk2.nim | 17271 ---------------- lib/oldwrappers/gtk/gtkglext.nim | 50 - lib/oldwrappers/gtk/gtkhtml.nim | 499 - lib/oldwrappers/gtk/libglade2.nim | 118 - lib/oldwrappers/gtk/pango.nim | 1208 -- lib/oldwrappers/gtk/pangoutils.nim | 46 - lib/oldwrappers/iup.nim | 945 - lib/oldwrappers/libcurl.nim | 644 - lib/oldwrappers/lua/lauxlib.nim | 224 - lib/oldwrappers/lua/lua.nim | 391 - lib/oldwrappers/lua/lualib.nim | 73 - lib/oldwrappers/mysql.nim | 1154 -- lib/oldwrappers/odbcsql.nim | 788 - lib/oldwrappers/opengl/gl.nim | 1432 -- lib/oldwrappers/opengl/glext.nim | 4175 ---- lib/oldwrappers/opengl/glu.nim | 311 - lib/oldwrappers/opengl/glut.nim | 378 - lib/oldwrappers/opengl/glx.nim | 148 - lib/oldwrappers/opengl/wingl.nim | 348 - lib/oldwrappers/pcre/pcre.nim | 279 - lib/oldwrappers/pcre/pcre_all.c | 30072 ---------------------------- lib/oldwrappers/postgres.nim | 386 - lib/oldwrappers/python.nim | 1583 -- lib/oldwrappers/sdl/sdl.nim | 2522 --- lib/oldwrappers/sdl/sdl_gfx.nim | 421 - lib/oldwrappers/sdl/sdl_image.nim | 227 - lib/oldwrappers/sdl/sdl_mixer.nim | 737 - lib/oldwrappers/sdl/sdl_mixer_nosmpeg.nim | 572 - lib/oldwrappers/sdl/sdl_net.nim | 431 - lib/oldwrappers/sdl/sdl_ttf.nim | 346 - lib/oldwrappers/sdl/smpeg.nim | 319 - lib/oldwrappers/sqlite3.nim | 376 - lib/oldwrappers/tcl.nim | 857 - lib/oldwrappers/x11/cursorfont.nim | 110 - lib/oldwrappers/x11/keysym.nim | 1925 -- lib/oldwrappers/x11/x.nim | 399 - lib/oldwrappers/x11/xatom.nim | 81 - lib/oldwrappers/x11/xcms.nim | 396 - lib/oldwrappers/x11/xf86dga.nim | 235 - lib/oldwrappers/x11/xf86vmode.nim | 229 - lib/oldwrappers/x11/xi.nim | 307 - lib/oldwrappers/x11/xinerama.nim | 25 - lib/oldwrappers/x11/xkb.nim | 2409 --- lib/oldwrappers/x11/xkblib.nim | 699 - lib/oldwrappers/x11/xlib.nim | 2218 -- lib/oldwrappers/x11/xrandr.nim | 194 - lib/oldwrappers/x11/xrender.nim | 231 - lib/oldwrappers/x11/xresource.nim | 200 - lib/oldwrappers/x11/xshm.nim | 77 - lib/oldwrappers/x11/xutil.nim | 412 - lib/oldwrappers/x11/xv.nim | 84 - lib/oldwrappers/x11/xvlib.nim | 234 - lib/oldwrappers/zip/libzip.nim | 241 - lib/oldwrappers/zip/libzip_all.c | 4189 ---- lib/oldwrappers/zip/zlib.nim | 181 - lib/oldwrappers/zip/zzip.nim | 172 - lib/pure/logging.nim | 8 +- lib/pure/os.nim | 2 +- lib/pure/redis.nim | 9 +- lib/pure/scgi.nim | 2 +- lib/ucmaps/8859-1.txt | 303 - lib/ucmaps/8859-10.txt | 303 - lib/ucmaps/8859-13.txt | 299 - lib/ucmaps/8859-14.txt | 301 - lib/ucmaps/8859-15.txt | 303 - lib/ucmaps/8859-2.txt | 303 - lib/ucmaps/8859-3.txt | 296 - lib/ucmaps/8859-4.txt | 303 - lib/ucmaps/8859-5.txt | 303 - lib/ucmaps/8859-6.txt | 260 - lib/ucmaps/8859-7.txt | 302 - lib/ucmaps/8859-8.txt | 270 - lib/ucmaps/8859-9.txt | 307 - lib/ucmaps/cp1250.txt | 274 - lib/ucmaps/cp1251.txt | 274 - lib/ucmaps/cp1252.txt | 274 - lib/ucmaps/cp1253.txt | 274 - lib/ucmaps/cp1254.txt | 274 - lib/ucmaps/cp1255.txt | 274 - lib/ucmaps/cp1256.txt | 274 - lib/ucmaps/cp1257.txt | 274 - lib/ucmaps/cp1258.txt | 274 - lib/ucmaps/cp437.txt | 273 - lib/ucmaps/cp737.txt | 273 - lib/ucmaps/cp775.txt | 274 - lib/ucmaps/cp850.txt | 273 - lib/ucmaps/cp852.txt | 273 - lib/ucmaps/cp855.txt | 274 - lib/ucmaps/cp856.txt | 303 - lib/ucmaps/cp857.txt | 274 - lib/ucmaps/cp860.txt | 274 - lib/ucmaps/cp861.txt | 274 - lib/ucmaps/cp862.txt | 274 - lib/ucmaps/cp863.txt | 274 - lib/ucmaps/cp864.txt | 274 - lib/ucmaps/cp865.txt | 274 - lib/ucmaps/cp866.txt | 274 - lib/ucmaps/cp869.txt | 274 - lib/ucmaps/cp874.txt | 274 - lib/ucmaps/cp932.txt | 7998 -------- tests/tester.nim | 71 +- 111 files changed, 53 insertions(+), 115103 deletions(-) delete mode 100755 lib/oldwrappers/cairo/cairo.nim delete mode 100755 lib/oldwrappers/cairo/cairoft.nim delete mode 100755 lib/oldwrappers/cairo/cairowin32.nim delete mode 100755 lib/oldwrappers/cairo/cairoxlib.nim delete mode 100755 lib/oldwrappers/gtk/atk.nim delete mode 100755 lib/oldwrappers/gtk/gdk2.nim delete mode 100755 lib/oldwrappers/gtk/gdk2pixbuf.nim delete mode 100755 lib/oldwrappers/gtk/gdkglext.nim delete mode 100755 lib/oldwrappers/gtk/glib2.nim delete mode 100755 lib/oldwrappers/gtk/gtk2.nim delete mode 100755 lib/oldwrappers/gtk/gtkglext.nim delete mode 100755 lib/oldwrappers/gtk/gtkhtml.nim delete mode 100755 lib/oldwrappers/gtk/libglade2.nim delete mode 100755 lib/oldwrappers/gtk/pango.nim delete mode 100755 lib/oldwrappers/gtk/pangoutils.nim delete mode 100755 lib/oldwrappers/iup.nim delete mode 100755 lib/oldwrappers/libcurl.nim delete mode 100755 lib/oldwrappers/lua/lauxlib.nim delete mode 100755 lib/oldwrappers/lua/lua.nim delete mode 100755 lib/oldwrappers/lua/lualib.nim delete mode 100755 lib/oldwrappers/mysql.nim delete mode 100755 lib/oldwrappers/odbcsql.nim delete mode 100755 lib/oldwrappers/opengl/gl.nim delete mode 100755 lib/oldwrappers/opengl/glext.nim delete mode 100755 lib/oldwrappers/opengl/glu.nim delete mode 100755 lib/oldwrappers/opengl/glut.nim delete mode 100755 lib/oldwrappers/opengl/glx.nim delete mode 100755 lib/oldwrappers/opengl/wingl.nim delete mode 100755 lib/oldwrappers/pcre/pcre.nim delete mode 100755 lib/oldwrappers/pcre/pcre_all.c delete mode 100755 lib/oldwrappers/postgres.nim delete mode 100755 lib/oldwrappers/python.nim delete mode 100755 lib/oldwrappers/sdl/sdl.nim delete mode 100755 lib/oldwrappers/sdl/sdl_gfx.nim delete mode 100755 lib/oldwrappers/sdl/sdl_image.nim delete mode 100755 lib/oldwrappers/sdl/sdl_mixer.nim delete mode 100755 lib/oldwrappers/sdl/sdl_mixer_nosmpeg.nim delete mode 100755 lib/oldwrappers/sdl/sdl_net.nim delete mode 100755 lib/oldwrappers/sdl/sdl_ttf.nim delete mode 100755 lib/oldwrappers/sdl/smpeg.nim delete mode 100755 lib/oldwrappers/sqlite3.nim delete mode 100755 lib/oldwrappers/tcl.nim delete mode 100755 lib/oldwrappers/x11/cursorfont.nim delete mode 100755 lib/oldwrappers/x11/keysym.nim delete mode 100755 lib/oldwrappers/x11/x.nim delete mode 100755 lib/oldwrappers/x11/xatom.nim delete mode 100755 lib/oldwrappers/x11/xcms.nim delete mode 100755 lib/oldwrappers/x11/xf86dga.nim delete mode 100755 lib/oldwrappers/x11/xf86vmode.nim delete mode 100755 lib/oldwrappers/x11/xi.nim delete mode 100755 lib/oldwrappers/x11/xinerama.nim delete mode 100755 lib/oldwrappers/x11/xkb.nim delete mode 100755 lib/oldwrappers/x11/xkblib.nim delete mode 100755 lib/oldwrappers/x11/xlib.nim delete mode 100755 lib/oldwrappers/x11/xrandr.nim delete mode 100755 lib/oldwrappers/x11/xrender.nim delete mode 100755 lib/oldwrappers/x11/xresource.nim delete mode 100755 lib/oldwrappers/x11/xshm.nim delete mode 100755 lib/oldwrappers/x11/xutil.nim delete mode 100755 lib/oldwrappers/x11/xv.nim delete mode 100755 lib/oldwrappers/x11/xvlib.nim delete mode 100755 lib/oldwrappers/zip/libzip.nim delete mode 100755 lib/oldwrappers/zip/libzip_all.c delete mode 100755 lib/oldwrappers/zip/zlib.nim delete mode 100755 lib/oldwrappers/zip/zzip.nim delete mode 100755 lib/ucmaps/8859-1.txt delete mode 100755 lib/ucmaps/8859-10.txt delete mode 100755 lib/ucmaps/8859-13.txt delete mode 100755 lib/ucmaps/8859-14.txt delete mode 100755 lib/ucmaps/8859-15.txt delete mode 100755 lib/ucmaps/8859-2.txt delete mode 100755 lib/ucmaps/8859-3.txt delete mode 100755 lib/ucmaps/8859-4.txt delete mode 100755 lib/ucmaps/8859-5.txt delete mode 100755 lib/ucmaps/8859-6.txt delete mode 100755 lib/ucmaps/8859-7.txt delete mode 100755 lib/ucmaps/8859-8.txt delete mode 100755 lib/ucmaps/8859-9.txt delete mode 100755 lib/ucmaps/cp1250.txt delete mode 100755 lib/ucmaps/cp1251.txt delete mode 100755 lib/ucmaps/cp1252.txt delete mode 100755 lib/ucmaps/cp1253.txt delete mode 100755 lib/ucmaps/cp1254.txt delete mode 100755 lib/ucmaps/cp1255.txt delete mode 100755 lib/ucmaps/cp1256.txt delete mode 100755 lib/ucmaps/cp1257.txt delete mode 100755 lib/ucmaps/cp1258.txt delete mode 100755 lib/ucmaps/cp437.txt delete mode 100755 lib/ucmaps/cp737.txt delete mode 100755 lib/ucmaps/cp775.txt delete mode 100755 lib/ucmaps/cp850.txt delete mode 100755 lib/ucmaps/cp852.txt delete mode 100755 lib/ucmaps/cp855.txt delete mode 100755 lib/ucmaps/cp856.txt delete mode 100755 lib/ucmaps/cp857.txt delete mode 100755 lib/ucmaps/cp860.txt delete mode 100755 lib/ucmaps/cp861.txt delete mode 100755 lib/ucmaps/cp862.txt delete mode 100755 lib/ucmaps/cp863.txt delete mode 100755 lib/ucmaps/cp864.txt delete mode 100755 lib/ucmaps/cp865.txt delete mode 100755 lib/ucmaps/cp866.txt delete mode 100755 lib/ucmaps/cp869.txt delete mode 100755 lib/ucmaps/cp874.txt delete mode 100755 lib/ucmaps/cp932.txt diff --git a/koch.nim b/koch.nim index 2200578ad..4524ed3e8 100755 --- a/koch.nim +++ b/koch.nim @@ -174,7 +174,9 @@ proc clean(args: string) = removePattern("doc/*.html") cleanAux(getCurrentDir()) for kind, path in walkDir(getCurrentDir() / "build"): - if kind == pcDir: RemoveDir(path) + if kind == pcDir: + echo "removing dir: ", path + RemoveDir(path) proc tests(args: string) = exec("nimrod cc tests/tester") diff --git a/lib/oldwrappers/cairo/cairo.nim b/lib/oldwrappers/cairo/cairo.nim deleted file mode 100755 index 6da8183f3..000000000 --- a/lib/oldwrappers/cairo/cairo.nim +++ /dev/null @@ -1,698 +0,0 @@ - -#* cairo - a vector graphics library with display and print output -# * -# * Copyright © 2002 University of Southern California -# * Copyright © 2005 Red Hat, Inc. -# * -# * This library is free software; you can redistribute it and/or -# * modify it either under the terms of the GNU Lesser General Public -# * License version 2.1 as published by the Free Software Foundation -# * (the "LGPL") or, at your option, under the terms of the Mozilla -# * Public License Version 1.1 (the "MPL"). If you do not alter this -# * notice, a recipient may use your version of this file under either -# * the MPL or the LGPL. -# * -# * You should have received a copy of the LGPL along with this library -# * in the file COPYING-LGPL-2.1; if not, write to the Free Software -# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# * You should have received a copy of the MPL along with this library -# * in the file COPYING-MPL-1.1 -# * -# * The contents of this file are subject to the Mozilla Public License -# * Version 1.1 (the "License"); you may not use this file except in -# * compliance with the License. You may obtain a copy of the License at -# * http://www.mozilla.org/MPL/ -# * -# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY -# * OF ANY KIND, either express or implied. See the LGPL or the MPL for -# * the specific language governing rights and limitations. -# * -# * The Original Code is the cairo graphics library. -# * -# * The Initial Developer of the Original Code is University of Southern -# * California. -# * -# * Contributor(s): -# * Carl D. Worth -# #* -# * This FreePascal binding generated August 26, 2005 -# * by Jeffrey Pohlmeyer -# - -# -# - Updated to cairo version 1.4 -# - Grouped OS specific fuctions in separated units -# - Organized the functions by group and ordered exactly as the c header -# - Cleared parameter list syntax according to pascal standard -# -# By Luiz Américo Pereira Câmara -# October 2007 -# - -when defined(windows): - const - LIB_CAIRO* = "cairo.dll" -else: - const - LIB_CAIRO* = "libcairo.so" - -type - PByte = cstring - TCairoStatus* = enum - CAIRO_STATUS_SUCCESS = 0, CAIRO_STATUS_NO_MEMORY, - CAIRO_STATUS_INVALID_RESTORE, CAIRO_STATUS_INVALID_POP_GROUP, - CAIRO_STATUS_NO_CURRENT_POINT, CAIRO_STATUS_INVALID_MATRIX, - CAIRO_STATUS_INVALID_STATUS, CAIRO_STATUS_NULL_POINTER, - CAIRO_STATUS_INVALID_STRING, CAIRO_STATUS_INVALID_PATH_DATA, - CAIRO_STATUS_READ_ERROR, CAIRO_STATUS_WRITE_ERROR, - CAIRO_STATUS_SURFACE_FINISHED, CAIRO_STATUS_SURFACE_TYPE_MISMATCH, - CAIRO_STATUS_PATTERN_TYPE_MISMATCH, CAIRO_STATUS_INVALID_CONTENT, - CAIRO_STATUS_INVALID_FORMAT, CAIRO_STATUS_INVALID_VISUAL, - CAIRO_STATUS_FILE_NOT_FOUND, CAIRO_STATUS_INVALID_DASH - TCairoOperator* = enum - CAIRO_OPERATOR_CLEAR, CAIRO_OPERATOR_SOURCE, CAIRO_OPERATOR_OVER, - CAIRO_OPERATOR_IN, CAIRO_OPERATOR_OUT, CAIRO_OPERATOR_ATOP, - CAIRO_OPERATOR_DEST, CAIRO_OPERATOR_DEST_OVER, CAIRO_OPERATOR_DEST_IN, - CAIRO_OPERATOR_DEST_OUT, CAIRO_OPERATOR_DEST_ATOP, CAIRO_OPERATOR_XOR, - CAIRO_OPERATOR_ADD, CAIRO_OPERATOR_SATURATE - TCairoAntialias* = enum - CAIRO_ANTIALIAS_DEFAULT, CAIRO_ANTIALIAS_NONE, CAIRO_ANTIALIAS_GRAY, - CAIRO_ANTIALIAS_SUBPIXEL - TCairoFillRule* = enum - CAIRO_FILL_RULE_WINDING, CAIRO_FILL_RULE_EVEN_ODD - TCairoLineCap* = enum - CAIRO_LINE_CAP_BUTT, CAIRO_LINE_CAP_ROUND, CAIRO_LINE_CAP_SQUARE - TCairoLineJoin* = enum - CAIRO_LINE_JOIN_MITER, CAIRO_LINE_JOIN_ROUND, CAIRO_LINE_JOIN_BEVEL - TCairoFontSlant* = enum - CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_SLANT_OBLIQUE - TCairoFontWeight* = enum - CAIRO_FONT_WEIGHT_NORMAL, CAIRO_FONT_WEIGHT_BOLD - TCairoSubpixelOrder* = enum - CAIRO_SUBPIXEL_ORDER_DEFAULT, CAIRO_SUBPIXEL_ORDER_RGB, - CAIRO_SUBPIXEL_ORDER_BGR, CAIRO_SUBPIXEL_ORDER_VRGB, - CAIRO_SUBPIXEL_ORDER_VBGR - TCairoHintStyle* = enum - CAIRO_HINT_STYLE_DEFAULT, CAIRO_HINT_STYLE_NONE, CAIRO_HINT_STYLE_SLIGHT, - CAIRO_HINT_STYLE_MEDIUM, CAIRO_HINT_STYLE_FULL - TCairoHintMetrics* = enum - CAIRO_HINT_METRICS_DEFAULT, CAIRO_HINT_METRICS_OFF, CAIRO_HINT_METRICS_ON - TCairoPathDataType* = enum - CAIRO_PATH_MOVE_TO, CAIRO_PATH_LINE_TO, CAIRO_PATH_CURVE_TO, - CAIRO_PATH_CLOSE_PATH - TCairoContent* = enum - CAIRO_CONTENT_COLOR = 0x00001000, CAIRO_CONTENT_ALPHA = 0x00002000, - CAIRO_CONTENT_COLOR_ALPHA = 0x00003000 - TCairoFormat* = enum - CAIRO_FORMAT_ARGB32, CAIRO_FORMAT_RGB24, CAIRO_FORMAT_A8, CAIRO_FORMAT_A1 - TCairoExtend* = enum - CAIRO_EXTEND_NONE, CAIRO_EXTEND_REPEAT, CAIRO_EXTEND_REFLECT, - CAIRO_EXTEND_PAD - TCairoFilter* = enum - CAIRO_FILTER_FAST, CAIRO_FILTER_GOOD, CAIRO_FILTER_BEST, - CAIRO_FILTER_NEAREST, CAIRO_FILTER_BILINEAR, CAIRO_FILTER_GAUSSIAN - TCairoFontType* = enum - CAIRO_FONT_TYPE_TOY, CAIRO_FONT_TYPE_FT, CAIRO_FONT_TYPE_WIN32, - CAIRO_FONT_TYPE_ATSUI - TCairoPatternType* = enum - CAIRO_PATTERN_TYPE_SOLID, CAIRO_PATTERN_TYPE_SURFACE, - CAIRO_PATTERN_TYPE_LINEAR, CAIRO_PATTERN_TYPE_RADIAL - TCairoSurfaceType* = enum - CAIRO_SURFACE_TYPE_IMAGE, CAIRO_SURFACE_TYPE_PDF, CAIRO_SURFACE_TYPE_PS, - CAIRO_SURFACE_TYPE_XLIB, CAIRO_SURFACE_TYPE_XCB, CAIRO_SURFACE_TYPE_GLITZ, - CAIRO_SURFACE_TYPE_QUARTZ, CAIRO_SURFACE_TYPE_WIN32, - CAIRO_SURFACE_TYPE_BEOS, CAIRO_SURFACE_TYPE_DIRECTFB, - CAIRO_SURFACE_TYPE_SVG, CAIRO_SURFACE_TYPE_OS2 - TCairoSvgVersion* = enum - CAIRO_SVG_VERSION_1_1, CAIRO_SVG_VERSION_1_2 - PCairoSurface* = ptr TCairoSurface - PPCairoSurface* = ptr PCairoSurface - PCairo* = ptr TCairo - PCairoPattern* = ptr TCairoPattern - PCairoFontOptions* = ptr TCairoFontOptions - PCairoFontFace* = ptr TCairoFontFace - PCairoScaledFont* = ptr TCairoScaledFont - PCairoBool* = ptr TCairoBool - TCairoBool* = int32 - PCairoMatrix* = ptr TCairoMatrix - PCairoUserDataKey* = ptr TCairoUserDataKey - PCairoGlyph* = ptr TCairoGlyph - PCairoTextExtents* = ptr TCairoTextExtents - PCairoFontExtents* = ptr TCairoFontExtents - PCairoPathDataType* = ptr TCairoPathDataType - PCairoPathData* = ptr TCairoPathData - PCairoPath* = ptr TCairoPath - PCairoRectangle* = ptr TCairoRectangle - PCairoRectangleList* = ptr TCairoRectangleList - TCairoDestroyFunc* = proc (data: Pointer){.cdecl.} - TCairoWriteFunc* = proc (closure: Pointer, data: PByte, len: int32): TCairoStatus{. - cdecl.} - TCairoReadFunc* = proc (closure: Pointer, data: PByte, len: int32): TCairoStatus{. - cdecl.} - TCairo* {.final.} = object #OPAQUE - TCairoSurface* {.final.} = object #OPAQUE - TCairoPattern* {.final.} = object #OPAQUE - TCairoScaledFont* {.final.} = object #OPAQUE - TCairoFontFace* {.final.} = object #OPAQUE - TCairoFontOptions* {.final.} = object #OPAQUE - TCairoMatrix* {.final.} = object - xx: float64 - yx: float64 - xy: float64 - yy: float64 - x0: float64 - y0: float64 - - TCairoUserDataKey* {.final.} = object - unused: int32 - - TCairoGlyph* {.final.} = object - index: int32 - x: float64 - y: float64 - - TCairoTextExtents* {.final.} = object - x_bearing: float64 - y_bearing: float64 - width: float64 - height: float64 - x_advance: float64 - y_advance: float64 - - TCairoFontExtents* {.final.} = object - ascent: float64 - descent: float64 - height: float64 - max_x_advance: float64 - max_y_advance: float64 - - TCairoPathData* {.final.} = object #* _type : TCairoPathDataType; - # length : LongInt; - # end - x: float64 - y: float64 - - TCairoPath* {.final.} = object - status: TCairoStatus - data: PCairoPathData - num_data: int32 - - TCairoRectangle* {.final.} = object - x, y, width, height: float64 - - TCairoRectangleList* {.final.} = object - status: TCairoStatus - rectangles: PCairoRectangle - num_rectangles: int32 - - -proc cairo_version*(): int32{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_version_string*(): cstring{.cdecl, importc, dynlib: LIB_CAIRO.} - #Helper function to retrieve decoded version -proc cairo_version*(major, minor, micro: var int32) - #* Functions for manipulating state objects -proc cairo_create*(target: PCairoSurface): PCairo{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_reference*(cr: PCairo): PCairo{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_destroy*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_reference_count*(cr: PCairo): int32{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_user_data*(cr: PCairo, key: PCairoUserDataKey): pointer{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_set_user_data*(cr: PCairo, key: PCairoUserDataKey, - user_data: Pointer, destroy: TCairoDestroyFunc): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_save*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_restore*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_push_group*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_push_group_with_content*(cr: PCairo, content: TCairoContent){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pop_group*(cr: PCairo): PCairoPattern{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pop_group_to_source*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} - #* Modify state -proc cairo_set_operator*(cr: PCairo, op: TCairoOperator){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_source*(cr: PCairo, source: PCairoPattern){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_source_rgb*(cr: PCairo, red, green, blue: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_source_rgba*(cr: PCairo, red, green, blue, alpha: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_set_source_surface*(cr: PCairo, surface: PCairoSurface, - x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_set_tolerance*(cr: PCairo, tolerance: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_antialias*(cr: PCairo, antialias: TCairoAntialias){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_fill_rule*(cr: PCairo, fill_rule: TCairoFillRule){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_line_width*(cr: PCairo, width: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_line_cap*(cr: PCairo, line_cap: TCairoLineCap){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_line_join*(cr: PCairo, line_join: TCairoLineJoin){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_dash*(cr: PCairo, dashes: openarray[float64], - offset: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_set_miter_limit*(cr: PCairo, limit: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_translate*(cr: PCairo, tx, ty: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scale*(cr: PCairo, sx, sy: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_rotate*(cr: PCairo, angle: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_transform*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_identity_matrix*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_user_to_device*(cr: PCairo, x, y: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_user_to_device_distance*(cr: PCairo, dx, dy: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_device_to_user*(cr: PCairo, x, y: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_device_to_user_distance*(cr: PCairo, dx, dy: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} - #* Path creation functions -proc cairo_new_path*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_move_to*(cr: PCairo, x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_new_sub_path*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_line_to*(cr: PCairo, x, y: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_curve_to*(cr: PCairo, x1, y1, x2, y2, x3, y3: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_arc*(cr: PCairo, xc, yc, radius, angle1, angle2: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_arc_negative*(cr: PCairo, xc, yc, radius, angle1, angle2: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_rel_move_to*(cr: PCairo, dx, dy: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_rel_line_to*(cr: PCairo, dx, dy: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_rel_curve_to*(cr: PCairo, dx1, dy1, dx2, dy2, dx3, dy3: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_rectangle*(cr: PCairo, x, y, width, height: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_close_path*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} - #* Painting functions -proc cairo_paint*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_paint_with_alpha*(cr: PCairo, alpha: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_mask*(cr: PCairo, pattern: PCairoPattern){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_mask_surface*(cr: PCairo, surface: PCairoSurface, - surface_x, surface_y: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_stroke*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_stroke_preserve*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_fill*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_fill_preserve*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_copy_page*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_show_page*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} - #* Insideness testing -proc cairo_in_stroke*(cr: PCairo, x, y: float64): TCairoBool{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_in_fill*(cr: PCairo, x, y: float64): TCairoBool{.cdecl, importc, - dynlib: LIB_CAIRO.} - #* Rectangular extents -proc cairo_stroke_extents*(cr: PCairo, x1, y1, x2, y2: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_fill_extents*(cr: PCairo, x1, y1, x2, y2: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} - #* Clipping -proc cairo_reset_clip*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_clip*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_clip_preserve*(cr: PCairo){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_clip_extents*(cr: PCairo, x1, y1, x2, y2: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_copy_clip_rectangle_list*(cr: PCairo): PCairoRectangleList{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_rectangle_list_destroy*(rectangle_list: PCairoRectangleList){. - cdecl, importc, dynlib: LIB_CAIRO.} - #* Font/Text functions -proc cairo_font_options_create*(): PCairoFontOptions{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_font_options_copy*(original: PCairoFontOptions): PCairoFontOptions{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_destroy*(options: PCairoFontOptions){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_font_options_status*(options: PCairoFontOptions): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_merge*(options, other: PCairoFontOptions){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_font_options_equal*(options, other: PCairoFontOptions): TCairoBool{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_hash*(options: PCairoFontOptions): int32{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_font_options_set_antialias*(options: PCairoFontOptions, - antialias: TCairoAntialias){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_font_options_get_antialias*(options: PCairoFontOptions): TCairoAntialias{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_set_subpixel_order*(options: PCairoFontOptions, - subpixel_order: TCairoSubpixelOrder){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_get_subpixel_order*(options: PCairoFontOptions): TCairoSubpixelOrder{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_set_hint_style*(options: PCairoFontOptions, - hint_style: TCairoHintStyle){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_font_options_get_hint_style*(options: PCairoFontOptions): TCairoHintStyle{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_set_hint_metrics*(options: PCairoFontOptions, - hint_metrics: TCairoHintMetrics){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_options_get_hint_metrics*(options: PCairoFontOptions): TCairoHintMetrics{. - cdecl, importc, dynlib: LIB_CAIRO.} - #* This interface is for dealing with text as text, not caring about the - # font object inside the the TCairo. -proc cairo_select_font_face*(cr: PCairo, family: cstring, - slant: TCairoFontSlant, - weight: TCairoFontWeight){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_font_size*(cr: PCairo, size: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_set_font_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_font_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_font_options*(cr: PCairo, options: PCairoFontOptions){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_font_options*(cr: PCairo, options: PCairoFontOptions){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_set_font_face*(cr: PCairo, font_face: PCairoFontFace){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_font_face*(cr: PCairo): PCairoFontFace{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_set_scaled_font*(cr: PCairo, scaled_font: PCairoScaledFont){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_scaled_font*(cr: PCairo): PCairoScaledFont{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_show_text*(cr: PCairo, utf8: cstring){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_show_glyphs*(cr: PCairo, glyphs: PCairoGlyph, num_glyphs: int32){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_text_path*(cr: PCairo, utf8: cstring){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_glyph_path*(cr: PCairo, glyphs: PCairoGlyph, num_glyphs: int32){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_text_extents*(cr: PCairo, utf8: cstring, - extents: PCairoTextExtents){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_glyph_extents*(cr: PCairo, glyphs: PCairoGlyph, - num_glyphs: int32, extents: PCairoTextExtents){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_extents*(cr: PCairo, extents: PCairoFontExtents){.cdecl, importc, - dynlib: LIB_CAIRO.} - #* Generic identifier for a font style -proc cairo_font_face_reference*(font_face: PCairoFontFace): PCairoFontFace{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_face_destroy*(font_face: PCairoFontFace){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_font_face_get_reference_count*(font_face: PCairoFontFace): int32{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_face_status*(font_face: PCairoFontFace): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_face_get_type*(font_face: PCairoFontFace): TCairoFontType{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_face_get_user_data*(font_face: PCairoFontFace, - key: PCairoUserDataKey): pointer{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_font_face_set_user_data*(font_face: PCairoFontFace, - key: PCairoUserDataKey, - user_data: pointer, - destroy: TCairoDestroyFunc): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} - #* Portable interface to general font features -proc cairo_scaled_font_create*(font_face: PCairoFontFace, - font_matrix: PCairoMatrix, - ctm: PCairoMatrix, - options: PCairoFontOptions): PCairoScaledFont{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_reference*(scaled_font: PCairoScaledFont): PCairoScaledFont{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_destroy*(scaled_font: PCairoScaledFont){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_scaled_font_get_reference_count*(scaled_font: PCairoScaledFont): int32{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_status*(scaled_font: PCairoScaledFont): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_get_type*(scaled_font: PCairoScaledFont): TCairoFontType{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_get_user_data*(scaled_font: PCairoScaledFont, - key: PCairoUserDataKey): Pointer{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_set_user_data*(scaled_font: PCairoScaledFont, - key: PCairoUserDataKey, - user_data: Pointer, - destroy: TCairoDestroyFunc): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_extents*(scaled_font: PCairoScaledFont, - extents: PCairoFontExtents){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_scaled_font_text_extents*(scaled_font: PCairoScaledFont, - utf8: cstring, - extents: PCairoTextExtents){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_scaled_font_glyph_extents*(scaled_font: PCairoScaledFont, - glyphs: PCairoGlyph, num_glyphs: int32, - extents: PCairoTextExtents){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_scaled_font_get_font_face*(scaled_font: PCairoScaledFont): PCairoFontFace{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_get_font_matrix*(scaled_font: PCairoScaledFont, - font_matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_scaled_font_get_ctm*(scaled_font: PCairoScaledFont, - ctm: PCairoMatrix){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_scaled_font_get_font_options*(scaled_font: PCairoScaledFont, - options: PCairoFontOptions){.cdecl, importc, dynlib: LIB_CAIRO.} - #* Query functions -proc cairo_get_operator*(cr: PCairo): TCairoOperator{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_source*(cr: PCairo): PCairoPattern{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_tolerance*(cr: PCairo): float64{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_antialias*(cr: PCairo): TCairoAntialias{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_current_point*(cr: PCairo, x, y: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_fill_rule*(cr: PCairo): TCairoFillRule{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_line_width*(cr: PCairo): float64{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_line_cap*(cr: PCairo): TCairoLineCap{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_line_join*(cr: PCairo): TCairoLineJoin{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_miter_limit*(cr: PCairo): float64{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_dash_count*(cr: PCairo): int32{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_dash*(cr: PCairo, dashes, offset: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_matrix*(cr: PCairo, matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_get_target*(cr: PCairo): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_get_group_target*(cr: PCairo): PCairoSurface{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_copy_path*(cr: PCairo): PCairoPath{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_copy_path_flat*(cr: PCairo): PCairoPath{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_append_path*(cr: PCairo, path: PCairoPath){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_path_destroy*(path: PCairoPath){.cdecl, importc, dynlib: LIB_CAIRO.} - #* Error status queries -proc cairo_status*(cr: PCairo): TCairoStatus{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_status_to_string*(status: TCairoStatus): cstring{.cdecl, importc, - dynlib: LIB_CAIRO.} - #* Surface manipulation -proc cairo_surface_create_similar*(other: PCairoSurface, - content: TCairoContent, - width, height: int32): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_reference*(surface: PCairoSurface): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_finish*(surface: PCairoSurface){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_destroy*(surface: PCairoSurface){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_get_reference_count*(surface: PCairoSurface): int32{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_status*(surface: PCairoSurface): TCairoStatus{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_surface_get_type*(surface: PCairoSurface): TCairoSurfaceType{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_get_content*(surface: PCairoSurface): TCairoContent{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_write_to_png*(surface: PCairoSurface, filename: cstring): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_write_to_png_stream*(surface: PCairoSurface, - write_func: TCairoWriteFunc, - closure: pointer): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_get_user_data*(surface: PCairoSurface, - key: PCairoUserDataKey): pointer{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_surface_set_user_data*(surface: PCairoSurface, - key: PCairoUserDataKey, - user_data: pointer, - destroy: TCairoDestroyFunc): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_get_font_options*(surface: PCairoSurface, - options: PCairoFontOptions){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_surface_flush*(surface: PCairoSurface){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_mark_dirty*(surface: PCairoSurface){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_surface_mark_dirty_rectangle*(surface: PCairoSurface, - x, y, width, height: int32){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_surface_set_device_offset*(surface: PCairoSurface, - x_offset, y_offset: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_surface_get_device_offset*(surface: PCairoSurface, - x_offset, y_offset: var float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_surface_set_fallback_resolution*(surface: PCairoSurface, - x_pixels_per_inch, y_pixels_per_inch: float64){.cdecl, importc, dynlib: LIB_CAIRO.} - #* Image-surface functions -proc cairo_image_surface_create*(format: TCairoFormat, width, height: int32): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_image_surface_create_for_data*(data: Pbyte, format: TCairoFormat, - width, height, stride: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_image_surface_get_data*(surface: PCairoSurface): cstring{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_image_surface_get_format*(surface: PCairoSurface): TCairoFormat{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_image_surface_get_width*(surface: PCairoSurface): int32{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_image_surface_get_height*(surface: PCairoSurface): int32{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_image_surface_get_stride*(surface: PCairoSurface): int32{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_image_surface_create_from_png*(filename: cstring): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_image_surface_create_from_png_stream*(read_func: TCairoReadFunc, - closure: pointer): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.} - #* Pattern creation functions -proc cairo_pattern_create_rgb*(red, green, blue: float64): PCairoPattern{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_create_rgba*(red, green, blue, alpha: float64): PCairoPattern{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_create_for_surface*(surface: PCairoSurface): PCairoPattern{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_create_linear*(x0, y0, x1, y1: float64): PCairoPattern{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_create_radial*(cx0, cy0, radius0, cx1, cy1, radius1: float64): PCairoPattern{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_reference*(pattern: PCairoPattern): PCairoPattern{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_destroy*(pattern: PCairoPattern){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_reference_count*(pattern: PCairoPattern): int32{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_status*(pattern: PCairoPattern): TCairoStatus{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_pattern_get_user_data*(pattern: PCairoPattern, - key: PCairoUserDataKey): Pointer{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_pattern_set_user_data*(pattern: PCairoPattern, - key: PCairoUserDataKey, - user_data: Pointer, - destroy: TCairoDestroyFunc): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_type*(pattern: PCairoPattern): TCairoPatternType{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_add_color_stop_rgb*(pattern: PCairoPattern, - offset, red, green, blue: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_add_color_stop_rgba*(pattern: PCairoPattern, offset, red, - green, blue, alpha: float64){.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_set_matrix*(pattern: PCairoPattern, - matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_pattern_get_matrix*(pattern: PCairoPattern, - matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_pattern_set_extend*(pattern: PCairoPattern, extend: TCairoExtend){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_extend*(pattern: PCairoPattern): TCairoExtend{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_set_filter*(pattern: PCairoPattern, filter: TCairoFilter){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_filter*(pattern: PCairoPattern): TCairoFilter{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_rgba*(pattern: PCairoPattern, - red, green, blue, alpha: var float64): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_surface*(pattern: PCairoPattern, - surface: PPCairoSurface): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_color_stop_rgba*(pattern: PCairoPattern, index: int32, - offset, red, green, blue, alpha: var float64): TCairoStatus{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_pattern_get_color_stop_count*(pattern: PCairoPattern, - count: var int32): TCairoStatus{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_linear_points*(pattern: PCairoPattern, - x0, y0, x1, y1: var float64): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pattern_get_radial_circles*(pattern: PCairoPattern, - x0, y0, r0, x1, y1, r1: var float64): TCairoStatus{. - cdecl, importc, dynlib: LIB_CAIRO.} - #* Matrix functions -proc cairo_matrix_init*(matrix: PCairoMatrix, xx, yx, xy, yy, x0, y0: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_matrix_init_identity*(matrix: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_matrix_init_translate*(matrix: PCairoMatrix, tx, ty: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_matrix_init_scale*(matrix: PCairoMatrix, sx, sy: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_matrix_init_rotate*(matrix: PCairoMatrix, radians: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_matrix_translate*(matrix: PCairoMatrix, tx, ty: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_matrix_scale*(matrix: PCairoMatrix, sx, sy: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_matrix_rotate*(matrix: PCairoMatrix, radians: float64){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_matrix_invert*(matrix: PCairoMatrix): TCairoStatus{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_matrix_multiply*(result, a, b: PCairoMatrix){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_matrix_transform_distance*(matrix: PCairoMatrix, dx, dy: var float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_matrix_transform_point*(matrix: PCairoMatrix, x, y: var float64){. - cdecl, importc, dynlib: LIB_CAIRO.} - #* PDF functions -proc cairo_pdf_surface_create*(filename: cstring, - width_in_points, height_in_points: float64): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pdf_surface_create_for_stream*(write_func: TCairoWriteFunc, - closure: Pointer, width_in_points, height_in_points: float64): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_pdf_surface_set_size*(surface: PCairoSurface, - width_in_points, height_in_points: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} - #* PS functions -proc cairo_ps_surface_create*(filename: cstring, - width_in_points, height_in_points: float64): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_ps_surface_create_for_stream*(write_func: TCairoWriteFunc, - closure: Pointer, width_in_points, height_in_points: float64): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_ps_surface_set_size*(surface: PCairoSurface, - width_in_points, height_in_points: float64){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_ps_surface_dsc_comment*(surface: PCairoSurface, comment: cstring){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_ps_surface_dsc_begin_setup*(surface: PCairoSurface){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_ps_surface_dsc_begin_page_setup*(surface: PCairoSurface){.cdecl, importc, - dynlib: LIB_CAIRO.} - #* SVG functions -proc cairo_svg_surface_create*(filename: cstring, - width_in_points, height_in_points: float64): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_svg_surface_create_for_stream*(write_func: TCairoWriteFunc, - closure: Pointer, width_in_points, height_in_points: float64): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_svg_surface_restrict_to_version*(surface: PCairoSurface, - version: TCairoSvgVersion){.cdecl, importc, dynlib: LIB_CAIRO.} - #todo: see how translate this - #procedure cairo_svg_get_versions(TCairoSvgVersion const **versions, - # int *num_versions); -proc cairo_svg_version_to_string*(version: TCairoSvgVersion): cstring{.cdecl, importc, - dynlib: LIB_CAIRO.} - #* Functions to be used while debugging (not intended for use in production code) -proc cairo_debug_reset_static_data*(){.cdecl, importc, dynlib: LIB_CAIRO.} -# implementation - -proc cairo_version(major, minor, micro: var int32) = - var version: int32 - version = cairo_version() - major = version div 10000'i32 - minor = (version mod (major * 10000'i32)) div 100'i32 - micro = (version mod ((major * 10000'i32) + (minor * 100'i32))) diff --git a/lib/oldwrappers/cairo/cairoft.nim b/lib/oldwrappers/cairo/cairoft.nim deleted file mode 100755 index 2418aa922..000000000 --- a/lib/oldwrappers/cairo/cairoft.nim +++ /dev/null @@ -1,36 +0,0 @@ -# -# Translation of cairo-ft.h -# by Jeffrey Pohlmeyer -# updated to version 1.4 by Luiz Américo Pereira Câmara 2007 -# - -import cairo, freetypeh - -#todo: properly define FcPattern: -#It will require translate FontConfig header - -#* -#typedef struct _XftPattern { -# int num; -# int size; -# XftPatternElt *elts; -# } XftPattern; -# typedef FcPattern XftPattern; -# - -type - FcPattern* = Pointer - PFcPattern* = ptr FcPattern - -proc cairo_ft_font_face_create_for_pattern*(pattern: PFcPattern): PCairoFontFace{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_ft_font_options_substitute*(options: PCairoFontOptions, - pattern: PFcPattern){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_ft_font_face_create_for_ft_face*(face: TFT_Face, - load_flags: int32): PCairoFontFace {.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_ft_scaled_font_lock_face*( - scaled_font: PCairoScaledFont): TFT_Face{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_ft_scaled_font_unlock_face*( - scaled_font: PCairoScaledFont){.cdecl, importc, dynlib: LIB_CAIRO.} - diff --git a/lib/oldwrappers/cairo/cairowin32.nim b/lib/oldwrappers/cairo/cairowin32.nim deleted file mode 100755 index 5d07c2611..000000000 --- a/lib/oldwrappers/cairo/cairowin32.nim +++ /dev/null @@ -1,36 +0,0 @@ - -# -# Translation of cairo-win32.h version 1.4 -# by Luiz Américo Pereira Câmara 2007 -# - -import - Cairo, windows - -proc cairo_win32_surface_create*(hdc: HDC): PCairoSurface{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_win32_surface_create_with_ddb*(hdc: HDC, format: TCairoFormat, - width, height: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_surface_create_with_dib*(format: TCairoFormat, - width, height: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_surface_get_dc*(surface: PCairoSurface): HDC{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_win32_surface_get_image*(surface: PCairoSurface): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_font_face_create_for_logfontw*(logfont: pLOGFONTW): PCairoFontFace{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_font_face_create_for_hfont*(font: HFONT): PCairoFontFace{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_scaled_font_select_font*(scaled_font: PCairoScaledFont, - hdc: HDC): TCairoStatus{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_scaled_font_done_font*(scaled_font: PCairoScaledFont){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_scaled_font_get_metrics_factor*( - scaled_font: PCairoScaledFont): float64{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_scaled_font_get_logical_to_device*( - scaled_font: PCairoScaledFont, logical_to_device: PCairoMatrix){. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_win32_scaled_font_get_device_to_logical*( - scaled_font: PCairoScaledFont, device_to_logical: PCairoMatrix){. - cdecl, importc, dynlib: LIB_CAIRO.} -# implementation diff --git a/lib/oldwrappers/cairo/cairoxlib.nim b/lib/oldwrappers/cairo/cairoxlib.nim deleted file mode 100755 index dfe44eb87..000000000 --- a/lib/oldwrappers/cairo/cairoxlib.nim +++ /dev/null @@ -1,40 +0,0 @@ - -# -# Translation of cairo-xlib.h version 1.4 -# by Jeffrey Pohlmeyer -# updated to version 1.4 by Luiz Américo Pereira Câmara 2007 -# - -import - Cairo, x, xlib, xrender - -proc cairo_xlib_surface_create*(dpy: PDisplay, drawable: TDrawable, - visual: PVisual, width, height: int32): PCairoSurface{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_create_for_bitmap*(dpy: PDisplay, bitmap: TPixmap, - screen: PScreen, width, height: int32): PCairoSurface{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_create_with_xrender_format*(dpy: PDisplay, - drawable: TDrawable, screen: PScreen, format: PXRenderPictFormat, - width, height: int32): PCairoSurface{.cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_get_depth*(surface: PCairoSurface): int32{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_get_display*(surface: PCairoSurface): PDisplay{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_get_drawable*(surface: PCairoSurface): TDrawable{. - cdecl, importc, dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_get_height*(surface: PCairoSurface): int32{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_get_screen*(surface: PCairoSurface): PScreen{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_get_visual*(surface: PCairoSurface): PVisual{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_get_width*(surface: PCairoSurface): int32{.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_set_size*(surface: PCairoSurface, - width, height: int32){.cdecl, importc, - dynlib: LIB_CAIRO.} -proc cairo_xlib_surface_set_drawable*(surface: PCairoSurface, - drawable: TDrawable, width, height: int32){. - cdecl, importc, dynlib: LIB_CAIRO.} -# implementation diff --git a/lib/oldwrappers/gtk/atk.nim b/lib/oldwrappers/gtk/atk.nim deleted file mode 100755 index ae7a34c4b..000000000 --- a/lib/oldwrappers/gtk/atk.nim +++ /dev/null @@ -1,1369 +0,0 @@ -{.deadCodeElim: on.} - -import - glib2 - -when defined(windows): - const - atklib = "libatk-1.0-0.dll" -else: - const - atklib = "libatk-1.0.so" -type - PAtkImplementor* = pointer - PAtkAction* = pointer - PAtkComponent* = pointer - PAtkDocument* = pointer - PAtkEditableText* = pointer - PAtkHypertext* = pointer - PAtkImage* = pointer - PAtkSelection* = pointer - PAtkStreamableContent* = pointer - PAtkTable* = pointer - PAtkText* = pointer - PAtkValue* = pointer - PAtkRelationSet* = ptr TAtkRelationSet - PAtkStateSet* = ptr TAtkStateSet - PAtkAttributeSet* = ptr TAtkAttributeSet - PAtkCoordType* = ptr TAtkCoordType - TAtkCoordType* = enum - ATK_XY_SCREEN, ATK_XY_WINDOW - PAtkRole* = ptr TAtkRole - TAtkRole* = enum - ATK_ROLE_INVALID, ATK_ROLE_ACCEL_LABEL, ATK_ROLE_ALERT, ATK_ROLE_ANIMATION, - ATK_ROLE_ARROW, ATK_ROLE_CALENDAR, ATK_ROLE_CANVAS, ATK_ROLE_CHECK_BOX, - ATK_ROLE_CHECK_MENU_ITEM, ATK_ROLE_COLOR_CHOOSER, ATK_ROLE_COLUMN_HEADER, - ATK_ROLE_COMBO_BOX, ATK_ROLE_DATE_EDITOR, ATK_ROLE_DESKTOP_ICON, - ATK_ROLE_DESKTOP_FRAME, ATK_ROLE_DIAL, ATK_ROLE_DIALOG, - ATK_ROLE_DIRECTORY_PANE, ATK_ROLE_DRAWING_AREA, ATK_ROLE_FILE_CHOOSER, - ATK_ROLE_FILLER, ATK_ROLE_FONT_CHOOSER, ATK_ROLE_FRAME, ATK_ROLE_GLASS_PANE, - ATK_ROLE_HTML_CONTAINER, ATK_ROLE_ICON, ATK_ROLE_IMAGE, - ATK_ROLE_INTERNAL_FRAME, ATK_ROLE_LABEL, ATK_ROLE_LAYERED_PANE, - ATK_ROLE_LIST, ATK_ROLE_LIST_ITEM, ATK_ROLE_MENU, ATK_ROLE_MENU_BAR, - ATK_ROLE_MENU_ITEM, ATK_ROLE_OPTION_PANE, ATK_ROLE_PAGE_TAB, - ATK_ROLE_PAGE_TAB_LIST, ATK_ROLE_PANEL, ATK_ROLE_PASSWORD_TEXT, - ATK_ROLE_POPUP_MENU, ATK_ROLE_PROGRESS_BAR, ATK_ROLE_PUSH_BUTTON, - ATK_ROLE_RADIO_BUTTON, ATK_ROLE_RADIO_MENU_ITEM, ATK_ROLE_ROOT_PANE, - ATK_ROLE_ROW_HEADER, ATK_ROLE_SCROLL_BAR, ATK_ROLE_SCROLL_PANE, - ATK_ROLE_SEPARATOR, ATK_ROLE_SLIDER, ATK_ROLE_SPLIT_PANE, - ATK_ROLE_SPIN_BUTTON, ATK_ROLE_STATUSBAR, ATK_ROLE_TABLE, - ATK_ROLE_TABLE_CELL, ATK_ROLE_TABLE_COLUMN_HEADER, - ATK_ROLE_TABLE_ROW_HEADER, ATK_ROLE_TEAR_OFF_MENU_ITEM, ATK_ROLE_TERMINAL, - ATK_ROLE_TEXT, ATK_ROLE_TOGGLE_BUTTON, ATK_ROLE_TOOL_BAR, ATK_ROLE_TOOL_TIP, - ATK_ROLE_TREE, ATK_ROLE_TREE_TABLE, ATK_ROLE_UNKNOWN, ATK_ROLE_VIEWPORT, - ATK_ROLE_WINDOW, ATK_ROLE_LAST_DEFINED - PAtkLayer* = ptr TAtkLayer - TAtkLayer* = enum - ATK_LAYER_INVALID, ATK_LAYER_BACKGROUND, ATK_LAYER_CANVAS, ATK_LAYER_WIDGET, - ATK_LAYER_MDI, ATK_LAYER_POPUP, ATK_LAYER_OVERLAY - PAtkPropertyValues* = ptr TAtkPropertyValues - TAtkPropertyValues* {.final, pure.} = object - property_name*: cstring - old_value*: TGValue - new_value*: TGValue - - TAtkFunction* = proc (data: gpointer): gboolean{.cdecl.} - PAtkObject* = ptr TAtkObject - PPAtkObject* = ptr PAtkObject - TAtkObject* = object of TGObject - description*: cstring - name*: cstring - accessible_parent*: PAtkObject - role*: TAtkRole - relation_set*: PAtkRelationSet - layer*: TAtkLayer - - TAtkPropertyChangeHandler* = proc (para1: PAtkObject, - para2: PAtkPropertyValues){.cdecl.} - PAtkObjectClass* = ptr TAtkObjectClass - TAtkObjectClass* = object of TGObjectClass - get_name*: proc (accessible: PAtkObject): cstring{.cdecl.} - get_description*: proc (accessible: PAtkObject): cstring{.cdecl.} - get_parent*: proc (accessible: PAtkObject): PAtkObject{.cdecl.} - get_n_children*: proc (accessible: PAtkObject): gint{.cdecl.} - ref_child*: proc (accessible: PAtkObject, i: gint): PAtkObject{.cdecl.} - get_index_in_parent*: proc (accessible: PAtkObject): gint{.cdecl.} - ref_relation_set*: proc (accessible: PAtkObject): PAtkRelationSet{.cdecl.} - get_role*: proc (accessible: PAtkObject): TAtkRole{.cdecl.} - get_layer*: proc (accessible: PAtkObject): TAtkLayer{.cdecl.} - get_mdi_zorder*: proc (accessible: PAtkObject): gint{.cdecl.} - ref_state_set*: proc (accessible: PAtkObject): PAtkStateSet{.cdecl.} - set_name*: proc (accessible: PAtkObject, name: cstring){.cdecl.} - set_description*: proc (accessible: PAtkObject, description: cstring){.cdecl.} - set_parent*: proc (accessible: PAtkObject, parent: PAtkObject){.cdecl.} - set_role*: proc (accessible: PAtkObject, role: TAtkRole){.cdecl.} - connect_property_change_handler*: proc (accessible: PAtkObject, - handler: TAtkPropertyChangeHandler): guint{.cdecl.} - remove_property_change_handler*: proc (accessible: PAtkObject, - handler_id: guint){.cdecl.} - initialize*: proc (accessible: PAtkObject, data: gpointer){.cdecl.} - children_changed*: proc (accessible: PAtkObject, change_index: guint, - changed_child: gpointer){.cdecl.} - focus_event*: proc (accessible: PAtkObject, focus_in: gboolean){.cdecl.} - property_change*: proc (accessible: PAtkObject, values: PAtkPropertyValues){. - cdecl.} - state_change*: proc (accessible: PAtkObject, name: cstring, - state_set: gboolean){.cdecl.} - visible_data_changed*: proc (accessible: PAtkObject){.cdecl.} - pad1*: TAtkFunction - pad2*: TAtkFunction - pad3*: TAtkFunction - pad4*: TAtkFunction - - PAtkImplementorIface* = ptr TAtkImplementorIface - TAtkImplementorIface* = object of TGTypeInterface - ref_accessible*: proc (implementor: PAtkImplementor): PAtkObject{.cdecl.} - - PAtkActionIface* = ptr TAtkActionIface - TAtkActionIface* = object of TGTypeInterface - do_action*: proc (action: PAtkAction, i: gint): gboolean{.cdecl.} - get_n_actions*: proc (action: PAtkAction): gint{.cdecl.} - get_description*: proc (action: PAtkAction, i: gint): cstring{.cdecl.} - get_name*: proc (action: PAtkAction, i: gint): cstring{.cdecl.} - get_keybinding*: proc (action: PAtkAction, i: gint): cstring{.cdecl.} - set_description*: proc (action: PAtkAction, i: gint, desc: cstring): gboolean{. - cdecl.} - pad1*: TAtkFunction - pad2*: TAtkFunction - - TAtkFocusHandler* = proc (para1: PAtkObject, para2: gboolean){.cdecl.} - PAtkComponentIface* = ptr TAtkComponentIface - TAtkComponentIface* = object of TGTypeInterface - add_focus_handler*: proc (component: PAtkComponent, - handler: TAtkFocusHandler): guint{.cdecl.} - contains*: proc (component: PAtkComponent, x: gint, y: gint, - coord_type: TAtkCoordType): gboolean{.cdecl.} - ref_accessible_at_point*: proc (component: PAtkComponent, x: gint, y: gint, - coord_type: TAtkCoordType): PAtkObject{. - cdecl.} - get_extents*: proc (component: PAtkComponent, x: Pgint, y: Pgint, - width: Pgint, height: Pgint, coord_type: TAtkCoordType){. - cdecl.} - get_position*: proc (component: PAtkComponent, x: Pgint, y: Pgint, - coord_type: TAtkCoordType){.cdecl.} - get_size*: proc (component: PAtkComponent, width: Pgint, height: Pgint){. - cdecl.} - grab_focus*: proc (component: PAtkComponent): gboolean{.cdecl.} - remove_focus_handler*: proc (component: PAtkComponent, handler_id: guint){. - cdecl.} - set_extents*: proc (component: PAtkComponent, x: gint, y: gint, width: gint, - height: gint, coord_type: TAtkCoordType): gboolean{. - cdecl.} - set_position*: proc (component: PAtkComponent, x: gint, y: gint, - coord_type: TAtkCoordType): gboolean{.cdecl.} - set_size*: proc (component: PAtkComponent, width: gint, height: gint): gboolean{. - cdecl.} - get_layer*: proc (component: PAtkComponent): TAtkLayer{.cdecl.} - get_mdi_zorder*: proc (component: PAtkComponent): gint{.cdecl.} - pad1*: TAtkFunction - pad2*: TAtkFunction - - PAtkDocumentIface* = ptr TAtkDocumentIface - TAtkDocumentIface* = object of TGTypeInterface - get_document_type*: proc (document: PAtkDocument): cstring{.cdecl.} - get_document*: proc (document: PAtkDocument): gpointer{.cdecl.} - pad1*: TAtkFunction - pad2*: TAtkFunction - pad3*: TAtkFunction - pad4*: TAtkFunction - pad5*: TAtkFunction - pad6*: TAtkFunction - pad7*: TAtkFunction - pad8*: TAtkFunction - - PAtkEditableTextIface* = ptr TAtkEditableTextIface - TAtkEditableTextIface* = object of TGTypeInterface - set_run_attributes*: proc (text: PAtkEditableText, - attrib_set: PAtkAttributeSet, start_offset: gint, - end_offset: gint): gboolean{.cdecl.} - set_text_contents*: proc (text: PAtkEditableText, `string`: cstring){.cdecl.} - insert_text*: proc (text: PAtkEditableText, `string`: cstring, length: gint, - position: Pgint){.cdecl.} - copy_text*: proc (text: PAtkEditableText, start_pos: gint, end_pos: gint){. - cdecl.} - cut_text*: proc (text: PAtkEditableText, start_pos: gint, end_pos: gint){. - cdecl.} - delete_text*: proc (text: PAtkEditableText, start_pos: gint, end_pos: gint){. - cdecl.} - paste_text*: proc (text: PAtkEditableText, position: gint){.cdecl.} - pad1*: TAtkFunction - pad2*: TAtkFunction - - PAtkGObjectAccessible* = ptr TAtkGObjectAccessible - TAtkGObjectAccessible* = object of TAtkObject - - PAtkGObjectAccessibleClass* = ptr TAtkGObjectAccessibleClass - TAtkGObjectAccessibleClass* = object of TAtkObjectClass - pad5*: TAtkFunction - pad6*: TAtkFunction - - PAtkHyperlink* = ptr TAtkHyperlink - TAtkHyperlink* = object of TGObject - - PAtkHyperlinkClass* = ptr TAtkHyperlinkClass - TAtkHyperlinkClass* = object of TGObjectClass - get_uri*: proc (link: PAtkHyperlink, i: gint): cstring{.cdecl.} - get_object*: proc (link: PAtkHyperlink, i: gint): PAtkObject{.cdecl.} - get_end_index*: proc (link: PAtkHyperlink): gint{.cdecl.} - get_start_index*: proc (link: PAtkHyperlink): gint{.cdecl.} - is_valid*: proc (link: PAtkHyperlink): gboolean{.cdecl.} - get_n_anchors*: proc (link: PAtkHyperlink): gint{.cdecl.} - pad7*: TAtkFunction - pad8*: TAtkFunction - pad9*: TAtkFunction - pad10*: TAtkFunction - - PAtkHypertextIface* = ptr TAtkHypertextIface - TAtkHypertextIface* = object of TGTypeInterface - get_link*: proc (hypertext: PAtkHypertext, link_index: gint): PAtkHyperlink{. - cdecl.} - get_n_links*: proc (hypertext: PAtkHypertext): gint{.cdecl.} - get_link_index*: proc (hypertext: PAtkHypertext, char_index: gint): gint{. - cdecl.} - pad11*: TAtkFunction - pad12*: TAtkFunction - pad13*: TAtkFunction - pad14*: TAtkFunction - - PAtkImageIface* = ptr TAtkImageIface - TAtkImageIface* = object of TGTypeInterface - get_image_position*: proc (image: PAtkImage, x: Pgint, y: Pgint, - coord_type: TAtkCoordType){.cdecl.} - get_image_description*: proc (image: PAtkImage): cstring{.cdecl.} - get_image_size*: proc (image: PAtkImage, width: Pgint, height: Pgint){.cdecl.} - set_image_description*: proc (image: PAtkImage, description: cstring): gboolean{. - cdecl.} - pad15*: TAtkFunction - pad16*: TAtkFunction - - PAtkObjectFactory* = ptr TAtkObjectFactory - TAtkObjectFactory* = object of TGObject - - PAtkObjectFactoryClass* = ptr TAtkObjectFactoryClass - TAtkObjectFactoryClass* = object of TGObjectClass - create_accessible*: proc (obj: PGObject): PAtkObject{.cdecl.} - invalidate*: proc (factory: PAtkObjectFactory){.cdecl.} - get_accessible_type*: proc (): GType{.cdecl.} - pad17*: TAtkFunction - pad18*: TAtkFunction - - PAtkRegistry* = ptr TAtkRegistry - TAtkRegistry* = object of TGObject - factory_type_registry*: PGHashTable - factory_singleton_cache*: PGHashTable - - PAtkRegistryClass* = ptr TAtkRegistryClass - TAtkRegistryClass* = object of TGObjectClass - - PAtkRelationType* = ptr TAtkRelationType - TAtkRelationType* = enum - ATK_RELATION_NULL, ATK_RELATION_CONTROLLED_BY, ATK_RELATION_CONTROLLER_FOR, - ATK_RELATION_LABEL_FOR, ATK_RELATION_LABELLED_BY, ATK_RELATION_MEMBER_OF, - ATK_RELATION_NODE_CHILD_OF, ATK_RELATION_LAST_DEFINED - PAtkRelation* = ptr TAtkRelation - PGPtrArray = pointer - TAtkRelation* = object of TGObject - target*: PGPtrArray - relationship*: TAtkRelationType - - PAtkRelationClass* = ptr TAtkRelationClass - TAtkRelationClass* = object of TGObjectClass - - TAtkRelationSet* = object of TGObject - relations*: PGPtrArray - - PAtkRelationSetClass* = ptr TAtkRelationSetClass - TAtkRelationSetClass* = object of TGObjectClass - pad19*: TAtkFunction - pad20*: TAtkFunction - - PAtkSelectionIface* = ptr TAtkSelectionIface - TAtkSelectionIface* = object of TGTypeInterface - add_selection*: proc (selection: PAtkSelection, i: gint): gboolean{.cdecl.} - clear_selection*: proc (selection: PAtkSelection): gboolean{.cdecl.} - ref_selection*: proc (selection: PAtkSelection, i: gint): PAtkObject{.cdecl.} - get_selection_count*: proc (selection: PAtkSelection): gint{.cdecl.} - is_child_selected*: proc (selection: PAtkSelection, i: gint): gboolean{. - cdecl.} - remove_selection*: proc (selection: PAtkSelection, i: gint): gboolean{.cdecl.} - select_all_selection*: proc (selection: PAtkSelection): gboolean{.cdecl.} - selection_changed*: proc (selection: PAtkSelection){.cdecl.} - pad1*: TAtkFunction - pad2*: TAtkFunction - - PAtkStateType* = ptr TAtkStateType - TAtkStateType* = enum - ATK_STATE_INVALID, ATK_STATE_ACTIVE, ATK_STATE_ARMED, ATK_STATE_BUSY, - ATK_STATE_CHECKED, ATK_STATE_DEFUNCT, ATK_STATE_EDITABLE, ATK_STATE_ENABLED, - ATK_STATE_EXPANDABLE, ATK_STATE_EXPANDED, ATK_STATE_FOCUSABLE, - ATK_STATE_FOCUSED, ATK_STATE_HORIZONTAL, ATK_STATE_ICONIFIED, - ATK_STATE_MODAL, ATK_STATE_MULTI_LINE, ATK_STATE_MULTISELECTABLE, - ATK_STATE_OPAQUE, ATK_STATE_PRESSED, ATK_STATE_RESIZABLE, - ATK_STATE_SELECTABLE, ATK_STATE_SELECTED, ATK_STATE_SENSITIVE, - ATK_STATE_SHOWING, ATK_STATE_SINGLE_LINE, ATK_STATE_STALE, - ATK_STATE_TRANSIENT, ATK_STATE_VERTICAL, ATK_STATE_VISIBLE, - ATK_STATE_LAST_DEFINED - PAtkState* = ptr TAtkState - TAtkState* = guint64 - TAtkStateSet* = object of TGObject - - PAtkStateSetClass* = ptr TAtkStateSetClass - TAtkStateSetClass* = object of TGObjectClass - - PAtkStreamableContentIface* = ptr TAtkStreamableContentIface - TAtkStreamableContentIface* = object of TGTypeInterface - get_n_mime_types*: proc (streamable: PAtkStreamableContent): gint{.cdecl.} - get_mime_type*: proc (streamable: PAtkStreamableContent, i: gint): cstring{. - cdecl.} - get_stream*: proc (streamable: PAtkStreamableContent, mime_type: cstring): PGIOChannel{. - cdecl.} - pad21*: TAtkFunction - pad22*: TAtkFunction - pad23*: TAtkFunction - pad24*: TAtkFunction - - PAtkTableIface* = ptr TAtkTableIface - TAtkTableIface* = object of TGTypeInterface - ref_at*: proc (table: PAtkTable, row: gint, column: gint): PAtkObject{.cdecl.} - get_index_at*: proc (table: PAtkTable, row: gint, column: gint): gint{.cdecl.} - get_column_at_index*: proc (table: PAtkTable, index: gint): gint{.cdecl.} - get_row_at_index*: proc (table: PAtkTable, index: gint): gint{.cdecl.} - get_n_columns*: proc (table: PAtkTable): gint{.cdecl.} - get_n_rows*: proc (table: PAtkTable): gint{.cdecl.} - get_column_extent_at*: proc (table: PAtkTable, row: gint, column: gint): gint{. - cdecl.} - get_row_extent_at*: proc (table: PAtkTable, row: gint, column: gint): gint{. - cdecl.} - get_caption*: proc (table: PAtkTable): PAtkObject{.cdecl.} - get_column_description*: proc (table: PAtkTable, column: gint): cstring{. - cdecl.} - get_column_header*: proc (table: PAtkTable, column: gint): PAtkObject{.cdecl.} - get_row_description*: proc (table: PAtkTable, row: gint): cstring{.cdecl.} - get_row_header*: proc (table: PAtkTable, row: gint): PAtkObject{.cdecl.} - get_summary*: proc (table: PAtkTable): PAtkObject{.cdecl.} - set_caption*: proc (table: PAtkTable, caption: PAtkObject){.cdecl.} - set_column_description*: proc (table: PAtkTable, column: gint, - description: cstring){.cdecl.} - set_column_header*: proc (table: PAtkTable, column: gint, header: PAtkObject){. - cdecl.} - set_row_description*: proc (table: PAtkTable, row: gint, description: cstring){. - cdecl.} - set_row_header*: proc (table: PAtkTable, row: gint, header: PAtkObject){. - cdecl.} - set_summary*: proc (table: PAtkTable, accessible: PAtkObject){.cdecl.} - get_selected_columns*: proc (table: PAtkTable, selected: PPgint): gint{. - cdecl.} - get_selected_rows*: proc (table: PAtkTable, selected: PPgint): gint{.cdecl.} - is_column_selected*: proc (table: PAtkTable, column: gint): gboolean{.cdecl.} - is_row_selected*: proc (table: PAtkTable, row: gint): gboolean{.cdecl.} - is_selected*: proc (table: PAtkTable, row: gint, column: gint): gboolean{. - cdecl.} - add_row_selection*: proc (table: PAtkTable, row: gint): gboolean{.cdecl.} - remove_row_selection*: proc (table: PAtkTable, row: gint): gboolean{.cdecl.} - add_column_selection*: proc (table: PAtkTable, column: gint): gboolean{. - cdecl.} - remove_column_selection*: proc (table: PAtkTable, column: gint): gboolean{. - cdecl.} - row_inserted*: proc (table: PAtkTable, row: gint, num_inserted: gint){.cdecl.} - column_inserted*: proc (table: PAtkTable, column: gint, num_inserted: gint){. - cdecl.} - row_deleted*: proc (table: PAtkTable, row: gint, num_deleted: gint){.cdecl.} - column_deleted*: proc (table: PAtkTable, column: gint, num_deleted: gint){. - cdecl.} - row_reordered*: proc (table: PAtkTable){.cdecl.} - column_reordered*: proc (table: PAtkTable){.cdecl.} - model_changed*: proc (table: PAtkTable){.cdecl.} - pad25*: TAtkFunction - pad26*: TAtkFunction - pad27*: TAtkFunction - pad28*: TAtkFunction - - TAtkAttributeSet* = TGSList - PAtkAttribute* = ptr TAtkAttribute - TAtkAttribute* {.final, pure.} = object - name*: cstring - value*: cstring - - PAtkTextAttribute* = ptr TAtkTextAttribute - TAtkTextAttribute* = enum - ATK_TEXT_ATTR_INVALID, ATK_TEXT_ATTR_LEFT_MARGIN, - ATK_TEXT_ATTR_RIGHT_MARGIN, ATK_TEXT_ATTR_INDENT, ATK_TEXT_ATTR_INVISIBLE, - ATK_TEXT_ATTR_EDITABLE, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, - ATK_TEXT_ATTR_PIXELS_BELOW_LINES, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, - ATK_TEXT_ATTR_BG_FULL_HEIGHT, ATK_TEXT_ATTR_RISE, ATK_TEXT_ATTR_UNDERLINE, - ATK_TEXT_ATTR_STRIKETHROUGH, ATK_TEXT_ATTR_SIZE, ATK_TEXT_ATTR_SCALE, - ATK_TEXT_ATTR_WEIGHT, ATK_TEXT_ATTR_LANGUAGE, ATK_TEXT_ATTR_FAMILY_NAME, - ATK_TEXT_ATTR_BG_COLOR, ATK_TEXT_ATTR_FG_COLOR, ATK_TEXT_ATTR_BG_STIPPLE, - ATK_TEXT_ATTR_FG_STIPPLE, ATK_TEXT_ATTR_WRAP_MODE, ATK_TEXT_ATTR_DIRECTION, - ATK_TEXT_ATTR_JUSTIFICATION, ATK_TEXT_ATTR_STRETCH, ATK_TEXT_ATTR_VARIANT, - ATK_TEXT_ATTR_STYLE, ATK_TEXT_ATTR_LAST_DEFINED - PAtkTextBoundary* = ptr TAtkTextBoundary - TAtkTextBoundary* = enum - ATK_TEXT_BOUNDARY_CHAR, ATK_TEXT_BOUNDARY_WORD_START, - ATK_TEXT_BOUNDARY_WORD_END, ATK_TEXT_BOUNDARY_SENTENCE_START, - ATK_TEXT_BOUNDARY_SENTENCE_END, ATK_TEXT_BOUNDARY_LINE_START, - ATK_TEXT_BOUNDARY_LINE_END - PAtkTextIface* = ptr TAtkTextIface - TAtkTextIface* = object of TGTypeInterface - get_text*: proc (text: PAtkText, start_offset: gint, end_offset: gint): cstring{. - cdecl.} - get_text_after_offset*: proc (text: PAtkText, offset: gint, - boundary_type: TAtkTextBoundary, - start_offset: Pgint, end_offset: Pgint): cstring{. - cdecl.} - get_text_at_offset*: proc (text: PAtkText, offset: gint, - boundary_type: TAtkTextBoundary, - start_offset: Pgint, end_offset: Pgint): cstring{. - cdecl.} - get_character_at_offset*: proc (text: PAtkText, offset: gint): gunichar{. - cdecl.} - get_text_before_offset*: proc (text: PAtkText, offset: gint, - boundary_type: TAtkTextBoundary, - start_offset: Pgint, end_offset: Pgint): cstring{. - cdecl.} - get_caret_offset*: proc (text: PAtkText): gint{.cdecl.} - get_run_attributes*: proc (text: PAtkText, offset: gint, - start_offset: Pgint, end_offset: Pgint): PAtkAttributeSet{. - cdecl.} - get_default_attributes*: proc (text: PAtkText): PAtkAttributeSet{.cdecl.} - get_character_extents*: proc (text: PAtkText, offset: gint, x: Pgint, - y: Pgint, width: Pgint, height: Pgint, - coords: TAtkCoordType){.cdecl.} - get_character_count*: proc (text: PAtkText): gint{.cdecl.} - get_offset_at_point*: proc (text: PAtkText, x: gint, y: gint, - coords: TAtkCoordType): gint{.cdecl.} - get_n_selections*: proc (text: PAtkText): gint{.cdecl.} - get_selection*: proc (text: PAtkText, selection_num: gint, - start_offset: Pgint, end_offset: Pgint): cstring{.cdecl.} - add_selection*: proc (text: PAtkText, start_offset: gint, end_offset: gint): gboolean{. - cdecl.} - remove_selection*: proc (text: PAtkText, selection_num: gint): gboolean{. - cdecl.} - set_selection*: proc (text: PAtkText, selection_num: gint, - start_offset: gint, end_offset: gint): gboolean{.cdecl.} - set_caret_offset*: proc (text: PAtkText, offset: gint): gboolean{.cdecl.} - text_changed*: proc (text: PAtkText, position: gint, length: gint){.cdecl.} - text_caret_moved*: proc (text: PAtkText, location: gint){.cdecl.} - text_selection_changed*: proc (text: PAtkText){.cdecl.} - pad29*: TAtkFunction - pad30*: TAtkFunction - pad31*: TAtkFunction - pad32*: TAtkFunction - - TAtkEventListener* = proc (para1: PAtkObject){.cdecl.} - TAtkEventListenerInitProc* = proc () - TAtkEventListenerInit* = proc (para1: TAtkEventListenerInitProc){.cdecl.} - PAtkKeyEventStruct* = ptr TAtkKeyEventStruct - TAtkKeyEventStruct* {.final, pure.} = object - `type`*: gint - state*: guint - keyval*: guint - length*: gint - string*: cstring - keycode*: guint16 - timestamp*: guint32 - - TAtkKeySnoopFunc* = proc (event: PAtkKeyEventStruct, func_data: gpointer): gint{. - cdecl.} - PAtkKeyEventType* = ptr TAtkKeyEventType - TAtkKeyEventType* = enum - ATK_KEY_EVENT_PRESS, ATK_KEY_EVENT_RELEASE, ATK_KEY_EVENT_LAST_DEFINED - PAtkUtil* = ptr TAtkUtil - TAtkUtil* = object of TGObject - - PAtkUtilClass* = ptr TAtkUtilClass - TAtkUtilClass* = object of TGObjectClass - add_global_event_listener*: proc (listener: TGSignalEmissionHook, - event_type: cstring): guint{.cdecl.} - remove_global_event_listener*: proc (listener_id: guint){.cdecl.} - add_key_event_listener*: proc (listener: TAtkKeySnoopFunc, data: gpointer): guint{. - cdecl.} - remove_key_event_listener*: proc (listener_id: guint){.cdecl.} - get_root*: proc (): PAtkObject{.cdecl.} - get_toolkit_name*: proc (): cstring{.cdecl.} - get_toolkit_version*: proc (): cstring{.cdecl.} - - PAtkValueIface* = ptr TAtkValueIface - TAtkValueIface* = object of TGTypeInterface - get_current_value*: proc (obj: PAtkValue, value: PGValue){.cdecl.} - get_maximum_value*: proc (obj: PAtkValue, value: PGValue){.cdecl.} - get_minimum_value*: proc (obj: PAtkValue, value: PGValue){.cdecl.} - set_current_value*: proc (obj: PAtkValue, value: PGValue): gboolean{.cdecl.} - pad33*: TAtkFunction - pad34*: TAtkFunction - - -proc atk_role_register*(name: cstring): TAtkRole{.cdecl, dynlib: atklib, - importc: "atk_role_register".} -proc atk_object_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_object_get_type".} -proc ATK_TYPE_OBJECT*(): GType -proc ATK_OBJECT*(obj: pointer): PAtkObject -proc ATK_OBJECT_CLASS*(klass: pointer): PAtkObjectClass -proc ATK_IS_OBJECT*(obj: pointer): bool -proc ATK_IS_OBJECT_CLASS*(klass: pointer): bool -proc ATK_OBJECT_GET_CLASS*(obj: pointer): PAtkObjectClass -proc ATK_TYPE_IMPLEMENTOR*(): GType -proc ATK_IS_IMPLEMENTOR*(obj: pointer): bool -proc ATK_IMPLEMENTOR*(obj: pointer): PAtkImplementor -proc ATK_IMPLEMENTOR_GET_IFACE*(obj: pointer): PAtkImplementorIface -proc atk_implementor_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_implementor_get_type".} -proc atk_implementor_ref_accessible*(implementor: PAtkImplementor): PAtkObject{. - cdecl, dynlib: atklib, importc: "atk_implementor_ref_accessible".} -proc atk_object_get_name*(accessible: PAtkObject): cstring{.cdecl, - dynlib: atklib, importc: "atk_object_get_name".} -proc atk_object_get_description*(accessible: PAtkObject): cstring{.cdecl, - dynlib: atklib, importc: "atk_object_get_description".} -proc atk_object_get_parent*(accessible: PAtkObject): PAtkObject{.cdecl, - dynlib: atklib, importc: "atk_object_get_parent".} -proc atk_object_get_n_accessible_children*(accessible: PAtkObject): gint{.cdecl, - dynlib: atklib, importc: "atk_object_get_n_accessible_children".} -proc atk_object_ref_accessible_child*(accessible: PAtkObject, i: gint): PAtkObject{. - cdecl, dynlib: atklib, importc: "atk_object_ref_accessible_child".} -proc atk_object_ref_relation_set*(accessible: PAtkObject): PAtkRelationSet{. - cdecl, dynlib: atklib, importc: "atk_object_ref_relation_set".} -proc atk_object_get_role*(accessible: PAtkObject): TAtkRole{.cdecl, - dynlib: atklib, importc: "atk_object_get_role".} -proc atk_object_get_layer*(accessible: PAtkObject): TAtkLayer{.cdecl, - dynlib: atklib, importc: "atk_object_get_layer".} -proc atk_object_get_mdi_zorder*(accessible: PAtkObject): gint{.cdecl, - dynlib: atklib, importc: "atk_object_get_mdi_zorder".} -proc atk_object_ref_state_set*(accessible: PAtkObject): PAtkStateSet{.cdecl, - dynlib: atklib, importc: "atk_object_ref_state_set".} -proc atk_object_get_index_in_parent*(accessible: PAtkObject): gint{.cdecl, - dynlib: atklib, importc: "atk_object_get_index_in_parent".} -proc atk_object_set_name*(accessible: PAtkObject, name: cstring){.cdecl, - dynlib: atklib, importc: "atk_object_set_name".} -proc atk_object_set_description*(accessible: PAtkObject, description: cstring){. - cdecl, dynlib: atklib, importc: "atk_object_set_description".} -proc atk_object_set_parent*(accessible: PAtkObject, parent: PAtkObject){.cdecl, - dynlib: atklib, importc: "atk_object_set_parent".} -proc atk_object_set_role*(accessible: PAtkObject, role: TAtkRole){.cdecl, - dynlib: atklib, importc: "atk_object_set_role".} -proc atk_object_connect_property_change_handler*(accessible: PAtkObject, - handler: TAtkPropertyChangeHandler): guint{.cdecl, dynlib: atklib, - importc: "atk_object_connect_property_change_handler".} -proc atk_object_remove_property_change_handler*(accessible: PAtkObject, - handler_id: guint){.cdecl, dynlib: atklib, - importc: "atk_object_remove_property_change_handler".} -proc atk_object_notify_state_change*(accessible: PAtkObject, state: TAtkState, - value: gboolean){.cdecl, dynlib: atklib, - importc: "atk_object_notify_state_change".} -proc atk_object_initialize*(accessible: PAtkObject, data: gpointer){.cdecl, - dynlib: atklib, importc: "atk_object_initialize".} -proc atk_role_get_name*(role: TAtkRole): cstring{.cdecl, dynlib: atklib, - importc: "atk_role_get_name".} -proc atk_role_for_name*(name: cstring): TAtkRole{.cdecl, dynlib: atklib, - importc: "atk_role_for_name".} -proc ATK_TYPE_ACTION*(): GType -proc ATK_IS_ACTION*(obj: pointer): bool -proc ATK_ACTION*(obj: pointer): PAtkAction -proc ATK_ACTION_GET_IFACE*(obj: pointer): PAtkActionIface -proc atk_action_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_action_get_type".} -proc atk_action_do_action*(action: PAtkAction, i: gint): gboolean{.cdecl, - dynlib: atklib, importc: "atk_action_do_action".} -proc atk_action_get_n_actions*(action: PAtkAction): gint{.cdecl, dynlib: atklib, - importc: "atk_action_get_n_actions".} -proc atk_action_get_description*(action: PAtkAction, i: gint): cstring{.cdecl, - dynlib: atklib, importc: "atk_action_get_description".} -proc atk_action_get_name*(action: PAtkAction, i: gint): cstring{.cdecl, - dynlib: atklib, importc: "atk_action_get_name".} -proc atk_action_get_keybinding*(action: PAtkAction, i: gint): cstring{.cdecl, - dynlib: atklib, importc: "atk_action_get_keybinding".} -proc atk_action_set_description*(action: PAtkAction, i: gint, desc: cstring): gboolean{. - cdecl, dynlib: atklib, importc: "atk_action_set_description".} -proc ATK_TYPE_COMPONENT*(): GType -proc ATK_IS_COMPONENT*(obj: pointer): bool -proc ATK_COMPONENT*(obj: pointer): PAtkComponent -proc ATK_COMPONENT_GET_IFACE*(obj: pointer): PAtkComponentIface -proc atk_component_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_component_get_type".} -proc atk_component_add_focus_handler*(component: PAtkComponent, - handler: TAtkFocusHandler): guint{.cdecl, - dynlib: atklib, importc: "atk_component_add_focus_handler".} -proc atk_component_contains*(component: PAtkComponent, x, y: gint, - coord_type: TAtkCoordType): gboolean{.cdecl, - dynlib: atklib, importc: "atk_component_contains".} -proc atk_component_ref_accessible_at_point*(component: PAtkComponent, - x, y: gint, coord_type: TAtkCoordType): PAtkObject{.cdecl, dynlib: atklib, - importc: "atk_component_ref_accessible_at_point".} -proc atk_component_get_extents*(component: PAtkComponent, - x, y, width, height: Pgint, - coord_type: TAtkCoordType){.cdecl, - dynlib: atklib, importc: "atk_component_get_extents".} -proc atk_component_get_position*(component: PAtkComponent, x: Pgint, y: Pgint, - coord_type: TAtkCoordType){.cdecl, - dynlib: atklib, importc: "atk_component_get_position".} -proc atk_component_get_size*(component: PAtkComponent, width: Pgint, - height: Pgint){.cdecl, dynlib: atklib, - importc: "atk_component_get_size".} -proc atk_component_get_layer*(component: PAtkComponent): TAtkLayer{.cdecl, - dynlib: atklib, importc: "atk_component_get_layer".} -proc atk_component_get_mdi_zorder*(component: PAtkComponent): gint{.cdecl, - dynlib: atklib, importc: "atk_component_get_mdi_zorder".} -proc atk_component_grab_focus*(component: PAtkComponent): gboolean{.cdecl, - dynlib: atklib, importc: "atk_component_grab_focus".} -proc atk_component_remove_focus_handler*(component: PAtkComponent, - handler_id: guint){.cdecl, dynlib: atklib, - importc: "atk_component_remove_focus_handler".} -proc atk_component_set_extents*(component: PAtkComponent, x: gint, y: gint, - width: gint, height: gint, - coord_type: TAtkCoordType): gboolean{.cdecl, - dynlib: atklib, importc: "atk_component_set_extents".} -proc atk_component_set_position*(component: PAtkComponent, x: gint, y: gint, - coord_type: TAtkCoordType): gboolean{.cdecl, - dynlib: atklib, importc: "atk_component_set_position".} -proc atk_component_set_size*(component: PAtkComponent, width: gint, height: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_component_set_size".} -proc ATK_TYPE_DOCUMENT*(): GType -proc ATK_IS_DOCUMENT*(obj: pointer): bool -proc ATK_DOCUMENT*(obj: pointer): PAtkDocument -proc ATK_DOCUMENT_GET_IFACE*(obj: pointer): PAtkDocumentIface -proc atk_document_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_document_get_type".} -proc atk_document_get_document_type*(document: PAtkDocument): cstring{.cdecl, - dynlib: atklib, importc: "atk_document_get_document_type".} -proc atk_document_get_document*(document: PAtkDocument): gpointer{.cdecl, - dynlib: atklib, importc: "atk_document_get_document".} -proc ATK_TYPE_EDITABLE_TEXT*(): GType -proc ATK_IS_EDITABLE_TEXT*(obj: pointer): bool -proc ATK_EDITABLE_TEXT*(obj: pointer): PAtkEditableText -proc ATK_EDITABLE_TEXT_GET_IFACE*(obj: pointer): PAtkEditableTextIface -proc atk_editable_text_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_editable_text_get_type".} -proc atk_editable_text_set_run_attributes*(text: PAtkEditableText, - attrib_set: PAtkAttributeSet, start_offset: gint, end_offset: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_editable_text_set_run_attributes".} -proc atk_editable_text_set_text_contents*(text: PAtkEditableText, string: cstring){. - cdecl, dynlib: atklib, importc: "atk_editable_text_set_text_contents".} -proc atk_editable_text_insert_text*(text: PAtkEditableText, `string`: cstring, - length: gint, position: Pgint){.cdecl, - dynlib: atklib, importc: "atk_editable_text_insert_text".} -proc atk_editable_text_copy_text*(text: PAtkEditableText, start_pos: gint, - end_pos: gint){.cdecl, dynlib: atklib, - importc: "atk_editable_text_copy_text".} -proc atk_editable_text_cut_text*(text: PAtkEditableText, start_pos: gint, - end_pos: gint){.cdecl, dynlib: atklib, - importc: "atk_editable_text_cut_text".} -proc atk_editable_text_delete_text*(text: PAtkEditableText, start_pos: gint, - end_pos: gint){.cdecl, dynlib: atklib, - importc: "atk_editable_text_delete_text".} -proc atk_editable_text_paste_text*(text: PAtkEditableText, position: gint){. - cdecl, dynlib: atklib, importc: "atk_editable_text_paste_text".} -proc ATK_TYPE_GOBJECT_ACCESSIBLE*(): GType -proc ATK_GOBJECT_ACCESSIBLE*(obj: pointer): PAtkGObjectAccessible -proc ATK_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): PAtkGObjectAccessibleClass -proc ATK_IS_GOBJECT_ACCESSIBLE*(obj: pointer): bool -proc ATK_IS_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): bool -proc ATK_GOBJECT_ACCESSIBLE_GET_CLASS*(obj: pointer): PAtkGObjectAccessibleClass -proc atk_gobject_accessible_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_gobject_accessible_get_type".} -proc atk_gobject_accessible_for_object*(obj: PGObject): PAtkObject{.cdecl, - dynlib: atklib, importc: "atk_gobject_accessible_for_object".} -proc atk_gobject_accessible_get_object*(obj: PAtkGObjectAccessible): PGObject{. - cdecl, dynlib: atklib, importc: "atk_gobject_accessible_get_object".} -proc ATK_TYPE_HYPERLINK*(): GType -proc ATK_HYPERLINK*(obj: pointer): PAtkHyperlink -proc ATK_HYPERLINK_CLASS*(klass: pointer): PAtkHyperlinkClass -proc ATK_IS_HYPERLINK*(obj: pointer): bool -proc ATK_IS_HYPERLINK_CLASS*(klass: pointer): bool -proc ATK_HYPERLINK_GET_CLASS*(obj: pointer): PAtkHyperlinkClass -proc atk_hyperlink_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_hyperlink_get_type".} -proc atk_hyperlink_get_uri*(link: PAtkHyperlink, i: gint): cstring{.cdecl, - dynlib: atklib, importc: "atk_hyperlink_get_uri".} -proc atk_hyperlink_get_object*(link: PAtkHyperlink, i: gint): PAtkObject{.cdecl, - dynlib: atklib, importc: "atk_hyperlink_get_object".} -proc atk_hyperlink_get_end_index*(link: PAtkHyperlink): gint{.cdecl, - dynlib: atklib, importc: "atk_hyperlink_get_end_index".} -proc atk_hyperlink_get_start_index*(link: PAtkHyperlink): gint{.cdecl, - dynlib: atklib, importc: "atk_hyperlink_get_start_index".} -proc atk_hyperlink_is_valid*(link: PAtkHyperlink): gboolean{.cdecl, - dynlib: atklib, importc: "atk_hyperlink_is_valid".} -proc atk_hyperlink_get_n_anchors*(link: PAtkHyperlink): gint{.cdecl, - dynlib: atklib, importc: "atk_hyperlink_get_n_anchors".} -proc ATK_TYPE_HYPERTEXT*(): GType -proc ATK_IS_HYPERTEXT*(obj: pointer): bool -proc ATK_HYPERTEXT*(obj: pointer): PAtkHypertext -proc ATK_HYPERTEXT_GET_IFACE*(obj: pointer): PAtkHypertextIface -proc atk_hypertext_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_hypertext_get_type".} -proc atk_hypertext_get_link*(hypertext: PAtkHypertext, link_index: gint): PAtkHyperlink{. - cdecl, dynlib: atklib, importc: "atk_hypertext_get_link".} -proc atk_hypertext_get_n_links*(hypertext: PAtkHypertext): gint{.cdecl, - dynlib: atklib, importc: "atk_hypertext_get_n_links".} -proc atk_hypertext_get_link_index*(hypertext: PAtkHypertext, char_index: gint): gint{. - cdecl, dynlib: atklib, importc: "atk_hypertext_get_link_index".} -proc ATK_TYPE_IMAGE*(): GType -proc ATK_IS_IMAGE*(obj: pointer): bool -proc ATK_IMAGE*(obj: pointer): PAtkImage -proc ATK_IMAGE_GET_IFACE*(obj: pointer): PAtkImageIface -proc atk_image_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_image_get_type".} -proc atk_image_get_image_description*(image: PAtkImage): cstring{.cdecl, - dynlib: atklib, importc: "atk_image_get_image_description".} -proc atk_image_get_image_size*(image: PAtkImage, width: Pgint, height: Pgint){. - cdecl, dynlib: atklib, importc: "atk_image_get_image_size".} -proc atk_image_set_image_description*(image: PAtkImage, description: cstring): gboolean{. - cdecl, dynlib: atklib, importc: "atk_image_set_image_description".} -proc atk_image_get_image_position*(image: PAtkImage, x: Pgint, y: Pgint, - coord_type: TAtkCoordType){.cdecl, - dynlib: atklib, importc: "atk_image_get_image_position".} -proc ATK_TYPE_OBJECT_FACTORY*(): GType -proc ATK_OBJECT_FACTORY*(obj: pointer): PAtkObjectFactory -proc ATK_OBJECT_FACTORY_CLASS*(klass: pointer): PAtkObjectFactoryClass -proc ATK_IS_OBJECT_FACTORY*(obj: pointer): bool -proc ATK_IS_OBJECT_FACTORY_CLASS*(klass: pointer): bool -proc ATK_OBJECT_FACTORY_GET_CLASS*(obj: pointer): PAtkObjectFactoryClass -proc atk_object_factory_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_object_factory_get_type".} -proc atk_object_factory_create_accessible*(factory: PAtkObjectFactory, - obj: PGObject): PAtkObject{.cdecl, dynlib: atklib, - importc: "atk_object_factory_create_accessible".} -proc atk_object_factory_invalidate*(factory: PAtkObjectFactory){.cdecl, - dynlib: atklib, importc: "atk_object_factory_invalidate".} -proc atk_object_factory_get_accessible_type*(factory: PAtkObjectFactory): GType{. - cdecl, dynlib: atklib, importc: "atk_object_factory_get_accessible_type".} -proc ATK_TYPE_REGISTRY*(): GType -proc ATK_REGISTRY*(obj: pointer): PAtkRegistry -proc ATK_REGISTRY_CLASS*(klass: pointer): PAtkRegistryClass -proc ATK_IS_REGISTRY*(obj: pointer): bool -proc ATK_IS_REGISTRY_CLASS*(klass: pointer): bool -proc ATK_REGISTRY_GET_CLASS*(obj: pointer): PAtkRegistryClass -proc atk_registry_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_registry_get_type".} -proc atk_registry_set_factory_type*(registry: PAtkRegistry, `type`: GType, - factory_type: GType){.cdecl, dynlib: atklib, - importc: "atk_registry_set_factory_type".} -proc atk_registry_get_factory_type*(registry: PAtkRegistry, `type`: GType): GType{. - cdecl, dynlib: atklib, importc: "atk_registry_get_factory_type".} -proc atk_registry_get_factory*(registry: PAtkRegistry, `type`: GType): PAtkObjectFactory{. - cdecl, dynlib: atklib, importc: "atk_registry_get_factory".} -proc atk_get_default_registry*(): PAtkRegistry{.cdecl, dynlib: atklib, - importc: "atk_get_default_registry".} -proc ATK_TYPE_RELATION*(): GType -proc ATK_RELATION*(obj: pointer): PAtkRelation -proc ATK_RELATION_CLASS*(klass: pointer): PAtkRelationClass -proc ATK_IS_RELATION*(obj: pointer): bool -proc ATK_IS_RELATION_CLASS*(klass: pointer): bool -proc ATK_RELATION_GET_CLASS*(obj: pointer): PAtkRelationClass -proc atk_relation_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_relation_get_type".} -proc atk_relation_type_register*(name: cstring): TAtkRelationType{.cdecl, - dynlib: atklib, importc: "atk_relation_type_register".} -proc atk_relation_type_get_name*(`type`: TAtkRelationType): cstring{.cdecl, - dynlib: atklib, importc: "atk_relation_type_get_name".} -proc atk_relation_type_for_name*(name: cstring): TAtkRelationType{.cdecl, - dynlib: atklib, importc: "atk_relation_type_for_name".} -proc atk_relation_new*(targets: PPAtkObject, n_targets: gint, - relationship: TAtkRelationType): PAtkRelation{.cdecl, - dynlib: atklib, importc: "atk_relation_new".} -proc atk_relation_get_relation_type*(relation: PAtkRelation): TAtkRelationType{. - cdecl, dynlib: atklib, importc: "atk_relation_get_relation_type".} -proc atk_relation_get_target*(relation: PAtkRelation): PGPtrArray{.cdecl, - dynlib: atklib, importc: "atk_relation_get_target".} -proc ATK_TYPE_RELATION_SET*(): GType -proc ATK_RELATION_SET*(obj: pointer): PAtkRelationSet -proc ATK_RELATION_SET_CLASS*(klass: pointer): PAtkRelationSetClass -proc ATK_IS_RELATION_SET*(obj: pointer): bool -proc ATK_IS_RELATION_SET_CLASS*(klass: pointer): bool -proc ATK_RELATION_SET_GET_CLASS*(obj: pointer): PAtkRelationSetClass -proc atk_relation_set_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_relation_set_get_type".} -proc atk_relation_set_new*(): PAtkRelationSet{.cdecl, dynlib: atklib, - importc: "atk_relation_set_new".} -proc atk_relation_set_contains*(RelationSet: PAtkRelationSet, - relationship: TAtkRelationType): gboolean{. - cdecl, dynlib: atklib, importc: "atk_relation_set_contains".} -proc atk_relation_set_remove*(RelationSet: PAtkRelationSet, - relation: PAtkRelation){.cdecl, dynlib: atklib, - importc: "atk_relation_set_remove".} -proc atk_relation_set_add*(RelationSet: PAtkRelationSet, relation: PAtkRelation){. - cdecl, dynlib: atklib, importc: "atk_relation_set_add".} -proc atk_relation_set_get_n_relations*(RelationSet: PAtkRelationSet): gint{. - cdecl, dynlib: atklib, importc: "atk_relation_set_get_n_relations".} -proc atk_relation_set_get_relation*(RelationSet: PAtkRelationSet, i: gint): PAtkRelation{. - cdecl, dynlib: atklib, importc: "atk_relation_set_get_relation".} -proc atk_relation_set_get_relation_by_type*(RelationSet: PAtkRelationSet, - relationship: TAtkRelationType): PAtkRelation{.cdecl, dynlib: atklib, - importc: "atk_relation_set_get_relation_by_type".} -proc ATK_TYPE_SELECTION*(): GType -proc ATK_IS_SELECTION*(obj: pointer): bool -proc ATK_SELECTION*(obj: pointer): PAtkSelection -proc ATK_SELECTION_GET_IFACE*(obj: pointer): PAtkSelectionIface -proc atk_selection_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_selection_get_type".} -proc atk_selection_add_selection*(selection: PAtkSelection, i: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_selection_add_selection".} -proc atk_selection_clear_selection*(selection: PAtkSelection): gboolean{.cdecl, - dynlib: atklib, importc: "atk_selection_clear_selection".} -proc atk_selection_ref_selection*(selection: PAtkSelection, i: gint): PAtkObject{. - cdecl, dynlib: atklib, importc: "atk_selection_ref_selection".} -proc atk_selection_get_selection_count*(selection: PAtkSelection): gint{.cdecl, - dynlib: atklib, importc: "atk_selection_get_selection_count".} -proc atk_selection_is_child_selected*(selection: PAtkSelection, i: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_selection_is_child_selected".} -proc atk_selection_remove_selection*(selection: PAtkSelection, i: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_selection_remove_selection".} -proc atk_selection_select_all_selection*(selection: PAtkSelection): gboolean{. - cdecl, dynlib: atklib, importc: "atk_selection_select_all_selection".} -proc atk_state_type_register*(name: cstring): TAtkStateType{.cdecl, - dynlib: atklib, importc: "atk_state_type_register".} -proc atk_state_type_get_name*(`type`: TAtkStateType): cstring{.cdecl, - dynlib: atklib, importc: "atk_state_type_get_name".} -proc atk_state_type_for_name*(name: cstring): TAtkStateType{.cdecl, - dynlib: atklib, importc: "atk_state_type_for_name".} -proc ATK_TYPE_STATE_SET*(): GType -proc ATK_STATE_SET*(obj: pointer): PAtkStateSet -proc ATK_STATE_SET_CLASS*(klass: pointer): PAtkStateSetClass -proc ATK_IS_STATE_SET*(obj: pointer): bool -proc ATK_IS_STATE_SET_CLASS*(klass: pointer): bool -proc ATK_STATE_SET_GET_CLASS*(obj: pointer): PAtkStateSetClass -proc atk_state_set_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_state_set_get_type".} -proc atk_state_set_new*(): PAtkStateSet{.cdecl, dynlib: atklib, - importc: "atk_state_set_new".} -proc atk_state_set_is_empty*(StateSet: PAtkStateSet): gboolean{.cdecl, - dynlib: atklib, importc: "atk_state_set_is_empty".} -proc atk_state_set_add_state*(StateSet: PAtkStateSet, `type`: TAtkStateType): gboolean{. - cdecl, dynlib: atklib, importc: "atk_state_set_add_state".} -proc atk_state_set_add_states*(StateSet: PAtkStateSet, types: PAtkStateType, - n_types: gint){.cdecl, dynlib: atklib, - importc: "atk_state_set_add_states".} -proc atk_state_set_clear_states*(StateSet: PAtkStateSet){.cdecl, dynlib: atklib, - importc: "atk_state_set_clear_states".} -proc atk_state_set_contains_state*(StateSet: PAtkStateSet, `type`: TAtkStateType): gboolean{. - cdecl, dynlib: atklib, importc: "atk_state_set_contains_state".} -proc atk_state_set_contains_states*(StateSet: PAtkStateSet, - types: PAtkStateType, n_types: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_state_set_contains_states".} -proc atk_state_set_remove_state*(StateSet: PAtkStateSet, `type`: TAtkStateType): gboolean{. - cdecl, dynlib: atklib, importc: "atk_state_set_remove_state".} -proc atk_state_set_and_sets*(StateSet: PAtkStateSet, compare_set: PAtkStateSet): PAtkStateSet{. - cdecl, dynlib: atklib, importc: "atk_state_set_and_sets".} -proc atk_state_set_or_sets*(StateSet: PAtkStateSet, compare_set: PAtkStateSet): PAtkStateSet{. - cdecl, dynlib: atklib, importc: "atk_state_set_or_sets".} -proc atk_state_set_xor_sets*(StateSet: PAtkStateSet, compare_set: PAtkStateSet): PAtkStateSet{. - cdecl, dynlib: atklib, importc: "atk_state_set_xor_sets".} -proc ATK_TYPE_STREAMABLE_CONTENT*(): GType -proc ATK_IS_STREAMABLE_CONTENT*(obj: pointer): bool -proc ATK_STREAMABLE_CONTENT*(obj: pointer): PAtkStreamableContent -proc ATK_STREAMABLE_CONTENT_GET_IFACE*(obj: pointer): PAtkStreamableContentIface -proc atk_streamable_content_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_streamable_content_get_type".} -proc atk_streamable_content_get_n_mime_types*(streamable: PAtkStreamableContent): gint{. - cdecl, dynlib: atklib, importc: "atk_streamable_content_get_n_mime_types".} -proc atk_streamable_content_get_mime_type*(streamable: PAtkStreamableContent, - i: gint): cstring{.cdecl, dynlib: atklib, - importc: "atk_streamable_content_get_mime_type".} -proc atk_streamable_content_get_stream*(streamable: PAtkStreamableContent, - mime_type: cstring): PGIOChannel{.cdecl, - dynlib: atklib, importc: "atk_streamable_content_get_stream".} -proc ATK_TYPE_TABLE*(): GType -proc ATK_IS_TABLE*(obj: pointer): bool -proc ATK_TABLE*(obj: pointer): PAtkTable -proc ATK_TABLE_GET_IFACE*(obj: pointer): PAtkTableIface -proc atk_table_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_table_get_type".} -proc atk_table_ref_at*(table: PAtkTable, row, column: gint): PAtkObject{.cdecl, - dynlib: atklib, importc: "atk_table_ref_at".} -proc atk_table_get_index_at*(table: PAtkTable, row, column: gint): gint{.cdecl, - dynlib: atklib, importc: "atk_table_get_index_at".} -proc atk_table_get_column_at_index*(table: PAtkTable, index: gint): gint{.cdecl, - dynlib: atklib, importc: "atk_table_get_column_at_index".} -proc atk_table_get_row_at_index*(table: PAtkTable, index: gint): gint{.cdecl, - dynlib: atklib, importc: "atk_table_get_row_at_index".} -proc atk_table_get_n_columns*(table: PAtkTable): gint{.cdecl, dynlib: atklib, - importc: "atk_table_get_n_columns".} -proc atk_table_get_n_rows*(table: PAtkTable): gint{.cdecl, dynlib: atklib, - importc: "atk_table_get_n_rows".} -proc atk_table_get_column_extent_at*(table: PAtkTable, row: gint, column: gint): gint{. - cdecl, dynlib: atklib, importc: "atk_table_get_column_extent_at".} -proc atk_table_get_row_extent_at*(table: PAtkTable, row: gint, column: gint): gint{. - cdecl, dynlib: atklib, importc: "atk_table_get_row_extent_at".} -proc atk_table_get_caption*(table: PAtkTable): PAtkObject{.cdecl, - dynlib: atklib, importc: "atk_table_get_caption".} -proc atk_table_get_column_description*(table: PAtkTable, column: gint): cstring{. - cdecl, dynlib: atklib, importc: "atk_table_get_column_description".} -proc atk_table_get_column_header*(table: PAtkTable, column: gint): PAtkObject{. - cdecl, dynlib: atklib, importc: "atk_table_get_column_header".} -proc atk_table_get_row_description*(table: PAtkTable, row: gint): cstring{.cdecl, - dynlib: atklib, importc: "atk_table_get_row_description".} -proc atk_table_get_row_header*(table: PAtkTable, row: gint): PAtkObject{.cdecl, - dynlib: atklib, importc: "atk_table_get_row_header".} -proc atk_table_get_summary*(table: PAtkTable): PAtkObject{.cdecl, - dynlib: atklib, importc: "atk_table_get_summary".} -proc atk_table_set_caption*(table: PAtkTable, caption: PAtkObject){.cdecl, - dynlib: atklib, importc: "atk_table_set_caption".} -proc atk_table_set_column_description*(table: PAtkTable, column: gint, - description: cstring){.cdecl, - dynlib: atklib, importc: "atk_table_set_column_description".} -proc atk_table_set_column_header*(table: PAtkTable, column: gint, - header: PAtkObject){.cdecl, dynlib: atklib, - importc: "atk_table_set_column_header".} -proc atk_table_set_row_description*(table: PAtkTable, row: gint, - description: cstring){.cdecl, dynlib: atklib, - importc: "atk_table_set_row_description".} -proc atk_table_set_row_header*(table: PAtkTable, row: gint, header: PAtkObject){. - cdecl, dynlib: atklib, importc: "atk_table_set_row_header".} -proc atk_table_set_summary*(table: PAtkTable, accessible: PAtkObject){.cdecl, - dynlib: atklib, importc: "atk_table_set_summary".} -proc atk_table_get_selected_columns*(table: PAtkTable, selected: PPgint): gint{. - cdecl, dynlib: atklib, importc: "atk_table_get_selected_columns".} -proc atk_table_get_selected_rows*(table: PAtkTable, selected: PPgint): gint{. - cdecl, dynlib: atklib, importc: "atk_table_get_selected_rows".} -proc atk_table_is_column_selected*(table: PAtkTable, column: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_table_is_column_selected".} -proc atk_table_is_row_selected*(table: PAtkTable, row: gint): gboolean{.cdecl, - dynlib: atklib, importc: "atk_table_is_row_selected".} -proc atk_table_is_selected*(table: PAtkTable, row: gint, column: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_table_is_selected".} -proc atk_table_add_row_selection*(table: PAtkTable, row: gint): gboolean{.cdecl, - dynlib: atklib, importc: "atk_table_add_row_selection".} -proc atk_table_remove_row_selection*(table: PAtkTable, row: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_table_remove_row_selection".} -proc atk_table_add_column_selection*(table: PAtkTable, column: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_table_add_column_selection".} -proc atk_table_remove_column_selection*(table: PAtkTable, column: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_table_remove_column_selection".} -proc atk_text_attribute_register*(name: cstring): TAtkTextAttribute{.cdecl, - dynlib: atklib, importc: "atk_text_attribute_register".} -proc ATK_TYPE_TEXT*(): GType -proc ATK_IS_TEXT*(obj: pointer): bool -proc ATK_TEXT*(obj: pointer): PAtkText -proc ATK_TEXT_GET_IFACE*(obj: pointer): PAtkTextIface -proc atk_text_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_text_get_type".} -proc atk_text_get_text*(text: PAtkText, start_offset: gint, end_offset: gint): cstring{. - cdecl, dynlib: atklib, importc: "atk_text_get_text".} -proc atk_text_get_character_at_offset*(text: PAtkText, offset: gint): gunichar{. - cdecl, dynlib: atklib, importc: "atk_text_get_character_at_offset".} -proc atk_text_get_text_after_offset*(text: PAtkText, offset: gint, - boundary_type: TAtkTextBoundary, - start_offset: Pgint, end_offset: Pgint): cstring{. - cdecl, dynlib: atklib, importc: "atk_text_get_text_after_offset".} -proc atk_text_get_text_at_offset*(text: PAtkText, offset: gint, - boundary_type: TAtkTextBoundary, - start_offset: Pgint, end_offset: Pgint): cstring{. - cdecl, dynlib: atklib, importc: "atk_text_get_text_at_offset".} -proc atk_text_get_text_before_offset*(text: PAtkText, offset: gint, - boundary_type: TAtkTextBoundary, - start_offset: Pgint, end_offset: Pgint): cstring{. - cdecl, dynlib: atklib, importc: "atk_text_get_text_before_offset".} -proc atk_text_get_caret_offset*(text: PAtkText): gint{.cdecl, dynlib: atklib, - importc: "atk_text_get_caret_offset".} -proc atk_text_get_character_extents*(text: PAtkText, offset: gint, x: Pgint, - y: Pgint, width: Pgint, height: Pgint, - coords: TAtkCoordType){.cdecl, - dynlib: atklib, importc: "atk_text_get_character_extents".} -proc atk_text_get_run_attributes*(text: PAtkText, offset: gint, - start_offset: Pgint, end_offset: Pgint): PAtkAttributeSet{. - cdecl, dynlib: atklib, importc: "atk_text_get_run_attributes".} -proc atk_text_get_default_attributes*(text: PAtkText): PAtkAttributeSet{.cdecl, - dynlib: atklib, importc: "atk_text_get_default_attributes".} -proc atk_text_get_character_count*(text: PAtkText): gint{.cdecl, dynlib: atklib, - importc: "atk_text_get_character_count".} -proc atk_text_get_offset_at_point*(text: PAtkText, x: gint, y: gint, - coords: TAtkCoordType): gint{.cdecl, - dynlib: atklib, importc: "atk_text_get_offset_at_point".} -proc atk_text_get_n_selections*(text: PAtkText): gint{.cdecl, dynlib: atklib, - importc: "atk_text_get_n_selections".} -proc atk_text_get_selection*(text: PAtkText, selection_num: gint, - start_offset: Pgint, end_offset: Pgint): cstring{. - cdecl, dynlib: atklib, importc: "atk_text_get_selection".} -proc atk_text_add_selection*(text: PAtkText, start_offset: gint, - end_offset: gint): gboolean{.cdecl, dynlib: atklib, - importc: "atk_text_add_selection".} -proc atk_text_remove_selection*(text: PAtkText, selection_num: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_text_remove_selection".} -proc atk_text_set_selection*(text: PAtkText, selection_num: gint, - start_offset: gint, end_offset: gint): gboolean{. - cdecl, dynlib: atklib, importc: "atk_text_set_selection".} -proc atk_text_set_caret_offset*(text: PAtkText, offset: gint): gboolean{.cdecl, - dynlib: atklib, importc: "atk_text_set_caret_offset".} -proc atk_attribute_set_free*(attrib_set: PAtkAttributeSet){.cdecl, - dynlib: atklib, importc: "atk_attribute_set_free".} -proc atk_text_attribute_get_name*(attr: TAtkTextAttribute): cstring{.cdecl, - dynlib: atklib, importc: "atk_text_attribute_get_name".} -proc atk_text_attribute_for_name*(name: cstring): TAtkTextAttribute{.cdecl, - dynlib: atklib, importc: "atk_text_attribute_for_name".} -proc atk_text_attribute_get_value*(attr: TAtkTextAttribute, index: gint): cstring{. - cdecl, dynlib: atklib, importc: "atk_text_attribute_get_value".} -proc ATK_TYPE_UTIL*(): GType -proc ATK_IS_UTIL*(obj: pointer): bool -proc ATK_UTIL*(obj: pointer): PAtkUtil -proc ATK_UTIL_CLASS*(klass: pointer): PAtkUtilClass -proc ATK_IS_UTIL_CLASS*(klass: pointer): bool -proc ATK_UTIL_GET_CLASS*(obj: pointer): PAtkUtilClass -proc atk_util_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_util_get_type".} -proc atk_add_focus_tracker*(focus_tracker: TAtkEventListener): guint{.cdecl, - dynlib: atklib, importc: "atk_add_focus_tracker".} -proc atk_remove_focus_tracker*(tracker_id: guint){.cdecl, dynlib: atklib, - importc: "atk_remove_focus_tracker".} -proc atk_focus_tracker_init*(add_function: TAtkEventListenerInit){.cdecl, - dynlib: atklib, importc: "atk_focus_tracker_init".} -proc atk_focus_tracker_notify*(anObject: PAtkObject){.cdecl, dynlib: atklib, - importc: "atk_focus_tracker_notify".} -proc atk_add_global_event_listener*(listener: TGSignalEmissionHook, - event_type: cstring): guint{.cdecl, - dynlib: atklib, importc: "atk_add_global_event_listener".} -proc atk_remove_global_event_listener*(listener_id: guint){.cdecl, - dynlib: atklib, importc: "atk_remove_global_event_listener".} -proc atk_add_key_event_listener*(listener: TAtkKeySnoopFunc, data: gpointer): guint{. - cdecl, dynlib: atklib, importc: "atk_add_key_event_listener".} -proc atk_remove_key_event_listener*(listener_id: guint){.cdecl, dynlib: atklib, - importc: "atk_remove_key_event_listener".} -proc atk_get_root*(): PAtkObject{.cdecl, dynlib: atklib, importc: "atk_get_root".} -proc atk_get_toolkit_name*(): cstring{.cdecl, dynlib: atklib, - importc: "atk_get_toolkit_name".} -proc atk_get_toolkit_version*(): cstring{.cdecl, dynlib: atklib, - importc: "atk_get_toolkit_version".} -proc ATK_TYPE_VALUE*(): GType -proc ATK_IS_VALUE*(obj: pointer): bool -proc ATK_VALUE*(obj: pointer): PAtkValue -proc ATK_VALUE_GET_IFACE*(obj: pointer): PAtkValueIface -proc atk_value_get_type*(): GType{.cdecl, dynlib: atklib, - importc: "atk_value_get_type".} -proc atk_value_get_current_value*(obj: PAtkValue, value: PGValue){.cdecl, - dynlib: atklib, importc: "atk_value_get_current_value".} -proc atk_value_get_maximum_value*(obj: PAtkValue, value: PGValue){.cdecl, - dynlib: atklib, importc: "atk_value_get_maximum_value".} -proc atk_value_get_minimum_value*(obj: PAtkValue, value: PGValue){.cdecl, - dynlib: atklib, importc: "atk_value_get_minimum_value".} -proc atk_value_set_current_value*(obj: PAtkValue, value: PGValue): gboolean{. - cdecl, dynlib: atklib, importc: "atk_value_set_current_value".} -proc ATK_TYPE_OBJECT*(): GType = - result = atk_object_get_type() - -proc ATK_OBJECT*(obj: pointer): PAtkObject = - result = cast[PAtkObject](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_OBJECT())) - -proc ATK_OBJECT_CLASS*(klass: pointer): PAtkObjectClass = - result = cast[PAtkObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, ATK_TYPE_OBJECT())) - -proc ATK_IS_OBJECT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_OBJECT()) - -proc ATK_IS_OBJECT_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_OBJECT()) - -proc ATK_OBJECT_GET_CLASS*(obj: pointer): PAtkObjectClass = - result = cast[PAtkObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_OBJECT())) - -proc ATK_TYPE_IMPLEMENTOR*(): GType = - result = atk_implementor_get_type() - -proc ATK_IS_IMPLEMENTOR*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_IMPLEMENTOR()) - -proc ATK_IMPLEMENTOR*(obj: pointer): PAtkImplementor = - result = PAtkImplementor(G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_IMPLEMENTOR())) - -proc ATK_IMPLEMENTOR_GET_IFACE*(obj: pointer): PAtkImplementorIface = - result = cast[PAtkImplementorIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_IMPLEMENTOR())) - -proc ATK_TYPE_ACTION*(): GType = - result = atk_action_get_type() - -proc ATK_IS_ACTION*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_ACTION()) - -proc ATK_ACTION*(obj: pointer): PAtkAction = - result = PAtkAction(G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_ACTION())) - -proc ATK_ACTION_GET_IFACE*(obj: pointer): PAtkActionIface = - result = cast[PAtkActionIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_ACTION())) - -proc ATK_TYPE_COMPONENT*(): GType = - result = atk_component_get_type() - -proc ATK_IS_COMPONENT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_COMPONENT()) - -proc ATK_COMPONENT*(obj: pointer): PAtkComponent = - result = PAtkComponent(G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_COMPONENT())) - -proc ATK_COMPONENT_GET_IFACE*(obj: pointer): PAtkComponentIface = - result = cast[PAtkComponentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_COMPONENT())) - -proc ATK_TYPE_DOCUMENT*(): GType = - result = atk_document_get_type() - -proc ATK_IS_DOCUMENT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_DOCUMENT()) - -proc ATK_DOCUMENT*(obj: pointer): PAtkDocument = - result = cast[PAtkDocument](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_DOCUMENT())) - -proc ATK_DOCUMENT_GET_IFACE*(obj: pointer): PAtkDocumentIface = - result = cast[PAtkDocumentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_DOCUMENT())) - -proc ATK_TYPE_EDITABLE_TEXT*(): GType = - result = atk_editable_text_get_type() - -proc ATK_IS_EDITABLE_TEXT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_EDITABLE_TEXT()) - -proc ATK_EDITABLE_TEXT*(obj: pointer): PAtkEditableText = - result = cast[PAtkEditableText](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_EDITABLE_TEXT())) - -proc ATK_EDITABLE_TEXT_GET_IFACE*(obj: pointer): PAtkEditableTextIface = - result = cast[PAtkEditableTextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_EDITABLE_TEXT())) - -proc ATK_TYPE_GOBJECT_ACCESSIBLE*(): GType = - result = atk_gobject_accessible_get_type() - -proc ATK_GOBJECT_ACCESSIBLE*(obj: pointer): PAtkGObjectAccessible = - result = cast[PAtkGObjectAccessible](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_GOBJECT_ACCESSIBLE())) - -proc ATK_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): PAtkGObjectAccessibleClass = - result = cast[PAtkGObjectAccessibleClass](G_TYPE_CHECK_CLASS_CAST(klass, - ATK_TYPE_GOBJECT_ACCESSIBLE())) - -proc ATK_IS_GOBJECT_ACCESSIBLE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_GOBJECT_ACCESSIBLE()) - -proc ATK_IS_GOBJECT_ACCESSIBLE_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_GOBJECT_ACCESSIBLE()) - -proc ATK_GOBJECT_ACCESSIBLE_GET_CLASS*(obj: pointer): PAtkGObjectAccessibleClass = - result = cast[PAtkGObjectAccessibleClass](G_TYPE_INSTANCE_GET_CLASS(obj, - ATK_TYPE_GOBJECT_ACCESSIBLE())) - -proc ATK_TYPE_HYPERLINK*(): GType = - result = atk_hyperlink_get_type() - -proc ATK_HYPERLINK*(obj: pointer): PAtkHyperlink = - result = cast[PAtkHyperlink](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_HYPERLINK())) - -proc ATK_HYPERLINK_CLASS*(klass: pointer): PAtkHyperlinkClass = - result = cast[PAtkHyperlinkClass](G_TYPE_CHECK_CLASS_CAST(klass, - ATK_TYPE_HYPERLINK())) - -proc ATK_IS_HYPERLINK*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_HYPERLINK()) - -proc ATK_IS_HYPERLINK_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_HYPERLINK()) - -proc ATK_HYPERLINK_GET_CLASS*(obj: pointer): PAtkHyperlinkClass = - result = cast[PAtkHyperlinkClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_HYPERLINK())) - -proc ATK_TYPE_HYPERTEXT*(): GType = - result = atk_hypertext_get_type() - -proc ATK_IS_HYPERTEXT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_HYPERTEXT()) - -proc ATK_HYPERTEXT*(obj: pointer): PAtkHypertext = - result = cast[PAtkHypertext](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_HYPERTEXT())) - -proc ATK_HYPERTEXT_GET_IFACE*(obj: pointer): PAtkHypertextIface = - result = cast[PAtkHypertextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_HYPERTEXT())) - -proc ATK_TYPE_IMAGE*(): GType = - result = atk_image_get_type() - -proc ATK_IS_IMAGE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_IMAGE()) - -proc ATK_IMAGE*(obj: pointer): PAtkImage = - result = cast[PAtkImage](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_IMAGE())) - -proc ATK_IMAGE_GET_IFACE*(obj: pointer): PAtkImageIface = - result = cast[PAtkImageIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_IMAGE())) - -proc ATK_TYPE_OBJECT_FACTORY*(): GType = - result = atk_object_factory_get_type() - -proc ATK_OBJECT_FACTORY*(obj: pointer): PAtkObjectFactory = - result = cast[PAtkObjectFactory](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_OBJECT_FACTORY())) - -proc ATK_OBJECT_FACTORY_CLASS*(klass: pointer): PAtkObjectFactoryClass = - result = cast[PAtkObjectFactoryClass](G_TYPE_CHECK_CLASS_CAST(klass, - ATK_TYPE_OBJECT_FACTORY())) - -proc ATK_IS_OBJECT_FACTORY*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_OBJECT_FACTORY()) - -proc ATK_IS_OBJECT_FACTORY_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_OBJECT_FACTORY()) - -proc ATK_OBJECT_FACTORY_GET_CLASS*(obj: pointer): PAtkObjectFactoryClass = - result = cast[PAtkObjectFactoryClass](G_TYPE_INSTANCE_GET_CLASS(obj, - ATK_TYPE_OBJECT_FACTORY())) - -proc ATK_TYPE_REGISTRY*(): GType = - result = atk_registry_get_type() - -proc ATK_REGISTRY*(obj: pointer): PAtkRegistry = - result = cast[PAtkRegistry](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_REGISTRY())) - -proc ATK_REGISTRY_CLASS*(klass: pointer): PAtkRegistryClass = - result = cast[PAtkRegistryClass](G_TYPE_CHECK_CLASS_CAST(klass, - ATK_TYPE_REGISTRY())) - -proc ATK_IS_REGISTRY*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_REGISTRY()) - -proc ATK_IS_REGISTRY_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_REGISTRY()) - -proc ATK_REGISTRY_GET_CLASS*(obj: pointer): PAtkRegistryClass = - result = cast[PAtkRegistryClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_REGISTRY())) - -proc ATK_TYPE_RELATION*(): GType = - result = atk_relation_get_type() - -proc ATK_RELATION*(obj: pointer): PAtkRelation = - result = cast[PAtkRelation](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_RELATION())) - -proc ATK_RELATION_CLASS*(klass: pointer): PAtkRelationClass = - result = cast[PAtkRelationClass](G_TYPE_CHECK_CLASS_CAST(klass, ATK_TYPE_RELATION())) - -proc ATK_IS_RELATION*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_RELATION()) - -proc ATK_IS_RELATION_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_RELATION()) - -proc ATK_RELATION_GET_CLASS*(obj: pointer): PAtkRelationClass = - result = cast[PAtkRelationClass](G_TYPE_INSTANCE_GET_CLASS(obj, - ATK_TYPE_RELATION())) - -proc ATK_TYPE_RELATION_SET*(): GType = - result = atk_relation_set_get_type() - -proc ATK_RELATION_SET*(obj: pointer): PAtkRelationSet = - result = cast[PAtkRelationSet](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_RELATION_SET())) - -proc ATK_RELATION_SET_CLASS*(klass: pointer): PAtkRelationSetClass = - result = cast[PAtkRelationSetClass](G_TYPE_CHECK_CLASS_CAST(klass, - ATK_TYPE_RELATION_SET())) - -proc ATK_IS_RELATION_SET*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_RELATION_SET()) - -proc ATK_IS_RELATION_SET_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_RELATION_SET()) - -proc ATK_RELATION_SET_GET_CLASS*(obj: pointer): PAtkRelationSetClass = - result = cast[PAtkRelationSetClass](G_TYPE_INSTANCE_GET_CLASS(obj, - ATK_TYPE_RELATION_SET())) - -proc ATK_TYPE_SELECTION*(): GType = - result = atk_selection_get_type() - -proc ATK_IS_SELECTION*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_SELECTION()) - -proc ATK_SELECTION*(obj: pointer): PAtkSelection = - result = cast[PAtkSelection](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_SELECTION())) - -proc ATK_SELECTION_GET_IFACE*(obj: pointer): PAtkSelectionIface = - result = cast[PAtkSelectionIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_SELECTION())) - -proc ATK_TYPE_STATE_SET*(): GType = - result = atk_state_set_get_type() - -proc ATK_STATE_SET*(obj: pointer): PAtkStateSet = - result = cast[PAtkStateSet](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_STATE_SET())) - -proc ATK_STATE_SET_CLASS*(klass: pointer): PAtkStateSetClass = - result = cast[PAtkStateSetClass](G_TYPE_CHECK_CLASS_CAST(klass, - ATK_TYPE_STATE_SET())) - -proc ATK_IS_STATE_SET*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_STATE_SET()) - -proc ATK_IS_STATE_SET_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_STATE_SET()) - -proc ATK_STATE_SET_GET_CLASS*(obj: pointer): PAtkStateSetClass = - result = cast[PAtkStateSetClass](G_TYPE_INSTANCE_GET_CLASS(obj, - ATK_TYPE_STATE_SET())) - -proc ATK_TYPE_STREAMABLE_CONTENT*(): GType = - result = atk_streamable_content_get_type() - -proc ATK_IS_STREAMABLE_CONTENT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_STREAMABLE_CONTENT()) - -proc ATK_STREAMABLE_CONTENT*(obj: pointer): PAtkStreamableContent = - result = cast[PAtkStreamableContent](G_TYPE_CHECK_INSTANCE_CAST(obj, - ATK_TYPE_STREAMABLE_CONTENT())) - -proc ATK_STREAMABLE_CONTENT_GET_IFACE*(obj: pointer): PAtkStreamableContentIface = - result = cast[PAtkStreamableContentIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - ATK_TYPE_STREAMABLE_CONTENT())) - -proc ATK_TYPE_TABLE*(): GType = - result = atk_table_get_type() - -proc ATK_IS_TABLE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_TABLE()) - -proc ATK_TABLE*(obj: pointer): PAtkTable = - result = cast[PAtkTable](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_TABLE())) - -proc ATK_TABLE_GET_IFACE*(obj: pointer): PAtkTableIface = - result = cast[PAtkTableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_TABLE())) - -proc ATK_TYPE_TEXT*(): GType = - result = atk_text_get_type() - -proc ATK_IS_TEXT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_TEXT()) - -proc ATK_TEXT*(obj: pointer): PAtkText = - result = cast[PAtkText](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_TEXT())) - -proc ATK_TEXT_GET_IFACE*(obj: pointer): PAtkTextIface = - result = cast[PAtkTextIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_TEXT())) - -proc ATK_TYPE_UTIL*(): GType = - result = atk_util_get_type() - -proc ATK_IS_UTIL*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_UTIL()) - -proc ATK_UTIL*(obj: pointer): PAtkUtil = - result = cast[PAtkUtil](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_UTIL())) - -proc ATK_UTIL_CLASS*(klass: pointer): PAtkUtilClass = - result = cast[PAtkUtilClass](G_TYPE_CHECK_CLASS_CAST(klass, ATK_TYPE_UTIL())) - -proc ATK_IS_UTIL_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, ATK_TYPE_UTIL()) - -proc ATK_UTIL_GET_CLASS*(obj: pointer): PAtkUtilClass = - result = cast[PAtkUtilClass](G_TYPE_INSTANCE_GET_CLASS(obj, ATK_TYPE_UTIL())) - -proc ATK_TYPE_VALUE*(): GType = - result = atk_value_get_type() - -proc ATK_IS_VALUE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, ATK_TYPE_VALUE()) - -proc ATK_VALUE*(obj: pointer): PAtkValue = - result = cast[PAtkValue](G_TYPE_CHECK_INSTANCE_CAST(obj, ATK_TYPE_VALUE())) - -proc ATK_VALUE_GET_IFACE*(obj: pointer): PAtkValueIface = - result = cast[PAtkValueIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, ATK_TYPE_VALUE())) diff --git a/lib/oldwrappers/gtk/gdk2.nim b/lib/oldwrappers/gtk/gdk2.nim deleted file mode 100755 index 0ca5056b5..000000000 --- a/lib/oldwrappers/gtk/gdk2.nim +++ /dev/null @@ -1,3958 +0,0 @@ -{.deadCodeElim: on.} - -import - glib2, gdk2pixbuf, pango - -when defined(win32): - const - gdklib = "libgdk-win32-2.0-0.dll" - GDK_HAVE_WCHAR_H = 1 - GDK_HAVE_WCTYPE_H = 1 -elif defined(darwin): - # linklib gtk-x11-2.0 - # linklib gdk-x11-2.0 - # linklib pango-1.0.0 - # linklib glib-2.0.0 - # linklib gobject-2.0.0 - # linklib gdk_pixbuf-2.0.0 - # linklib atk-1.0.0 - const - gdklib = "gdk-x11-2.0" -else: - const - gdklib = "libgdk-x11-2.0.so" -const - NUMPTSTOBUFFER* = 200 - GDK_MAX_TIMECOORD_AXES* = 128 - -type - PGdkDeviceClass* = ptr TGdkDeviceClass - TGdkDeviceClass* = object of TGObjectClass - - PGdkVisualClass* = ptr TGdkVisualClass - TGdkVisualClass* = object of TGObjectClass - - PGdkColor* = ptr TGdkColor - TGdkColor* {.final, pure.} = object - pixel*: guint32 - red*: guint16 - green*: guint16 - blue*: guint16 - - PGdkColormap* = ptr TGdkColormap - PGdkDrawable* = ptr TGdkDrawable - TGdkDrawable* = object of TGObject - - PGdkWindow* = ptr TGdkWindow - TGdkWindow* = TGdkDrawable - PGdkPixmap* = ptr TGdkPixmap - TGdkPixmap* = TGdkDrawable - PGdkBitmap* = ptr TGdkBitmap - TGdkBitmap* = TGdkDrawable - PGdkFontType* = ptr TGdkFontType - TGdkFontType* = enum - GDK_FONT_FONT, GDK_FONT_FONTSET - PGdkFont* = ptr TGdkFont - TGdkFont* {.final, pure.} = object - `type`*: TGdkFontType - ascent*: gint - descent*: gint - - PGdkFunction* = ptr TGdkFunction - TGdkFunction* = enum - GDK_COPY, GDK_INVERT, GDK_XOR, GDK_CLEAR, GDK_AND, GDK_AND_REVERSE, - GDK_AND_INVERT, GDK_NOOP, GDK_OR, GDK_EQUIV, GDK_OR_REVERSE, - GDK_COPY_INVERT, GDK_OR_INVERT, GDK_NAND, GDK_NOR, GDK_SET - PGdkCapStyle* = ptr TGdkCapStyle - TGdkCapStyle* = enum - GDK_CAP_NOT_LAST, GDK_CAP_BUTT, GDK_CAP_ROUND, GDK_CAP_PROJECTING - PGdkFill* = ptr TGdkFill - TGdkFill* = enum - GDK_SOLID, GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED - PGdkJoinStyle* = ptr TGdkJoinStyle - TGdkJoinStyle* = enum - GDK_JOIN_MITER, GDK_JOIN_ROUND, GDK_JOIN_BEVEL - PGdkLineStyle* = ptr TGdkLineStyle - TGdkLineStyle* = enum - GDK_LINE_SOLID, GDK_LINE_ON_OFF_DASH, GDK_LINE_DOUBLE_DASH - PGdkSubwindowMode* = ptr TGdkSubwindowMode - TGdkSubwindowMode* = int - PGdkGCValuesMask* = ptr TGdkGCValuesMask - TGdkGCValuesMask* = int32 - PGdkGCValues* = ptr TGdkGCValues - TGdkGCValues* {.final, pure.} = object - foreground*: TGdkColor - background*: TGdkColor - font*: PGdkFont - `function`*: TGdkFunction - fill*: TGdkFill - tile*: PGdkPixmap - stipple*: PGdkPixmap - clip_mask*: PGdkPixmap - subwindow_mode*: TGdkSubwindowMode - ts_x_origin*: gint - ts_y_origin*: gint - clip_x_origin*: gint - clip_y_origin*: gint - graphics_exposures*: gint - line_width*: gint - line_style*: TGdkLineStyle - cap_style*: TGdkCapStyle - join_style*: TGdkJoinStyle - - PGdkGC* = ptr TGdkGC - TGdkGC* = object of TGObject - clip_x_origin*: gint - clip_y_origin*: gint - ts_x_origin*: gint - ts_y_origin*: gint - colormap*: PGdkColormap - - PGdkImageType* = ptr TGdkImageType - TGdkImageType* = enum - GDK_IMAGE_NORMAL, GDK_IMAGE_SHARED, GDK_IMAGE_FASTEST - PGdkImage* = ptr TGdkImage - PGdkDevice* = ptr TGdkDevice - PGdkTimeCoord* = ptr TGdkTimeCoord - PPGdkTimeCoord* = ptr PGdkTimeCoord - PGdkRgbDither* = ptr TGdkRgbDither - TGdkRgbDither* = enum - GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_NORMAL, GDK_RGB_DITHER_MAX - PGdkDisplay* = ptr TGdkDisplay - PGdkScreen* = ptr TGdkScreen - TGdkScreen* = object of TGObject - - PGdkInputCondition* = ptr TGdkInputCondition - TGdkInputCondition* = int32 - PGdkStatus* = ptr TGdkStatus - TGdkStatus* = int32 - TGdkPoint* {.final, pure.} = object - x*: gint - y*: gint - - PGdkPoint* = ptr TGdkPoint - PPGdkPoint* = ptr PGdkPoint - PGdkSpan* = ptr TGdkSpan - PGdkWChar* = ptr TGdkWChar - TGdkWChar* = guint32 - PGdkSegment* = ptr TGdkSegment - TGdkSegment* {.final, pure.} = object - x1*: gint - y1*: gint - x2*: gint - y2*: gint - - PGdkRectangle* = ptr TGdkRectangle - TGdkRectangle* {.final, pure.} = object - x*: gint - y*: gint - width*: gint - height*: gint - - PGdkAtom* = ptr TGdkAtom - TGdkAtom* = gulong - PGdkByteOrder* = ptr TGdkByteOrder - TGdkByteOrder* = enum - GDK_LSB_FIRST, GDK_MSB_FIRST - PGdkModifierType* = ptr TGdkModifierType - TGdkModifierType* = gint - PGdkVisualType* = ptr TGdkVisualType - TGdkVisualType* = enum - GDK_VISUAL_STATIC_GRAY, GDK_VISUAL_GRAYSCALE, GDK_VISUAL_STATIC_COLOR, - GDK_VISUAL_PSEUDO_COLOR, GDK_VISUAL_TRUE_COLOR, GDK_VISUAL_DIRECT_COLOR - PGdkVisual* = ptr TGdkVisual - TGdkVisual* = object of TGObject - TheType*: TGdkVisualType - depth*: gint - byte_order*: TGdkByteOrder - colormap_size*: gint - bits_per_rgb*: gint - red_mask*: guint32 - red_shift*: gint - red_prec*: gint - green_mask*: guint32 - green_shift*: gint - green_prec*: gint - blue_mask*: guint32 - blue_shift*: gint - blue_prec*: gint - screen*: PGdkScreen - - PGdkColormapClass* = ptr TGdkColormapClass - TGdkColormapClass* = object of TGObjectClass - - TGdkColormap* = object of TGObject - size*: gint - colors*: PGdkColor - visual*: PGdkVisual - windowing_data*: gpointer - screen*: PGdkScreen - - PGdkCursorType* = ptr TGdkCursorType - TGdkCursorType* = gint - PGdkCursor* = ptr TGdkCursor - TGdkCursor* {.final, pure.} = object - `type`*: TGdkCursorType - ref_count*: guint - - PGdkDragAction* = ptr TGdkDragAction - TGdkDragAction* = int32 - PGdkDragProtocol* = ptr TGdkDragProtocol - TGdkDragProtocol* = enum - GDK_DRAG_PROTO_MOTIF, GDK_DRAG_PROTO_XDND, GDK_DRAG_PROTO_ROOTWIN, - GDK_DRAG_PROTO_NONE, GDK_DRAG_PROTO_WIN32_DROPFILES, GDK_DRAG_PROTO_OLE2, - GDK_DRAG_PROTO_LOCAL - PGdkDragContext* = ptr TGdkDragContext - TGdkDragContext* = object of TGObject - protocol*: TGdkDragProtocol - is_source*: gboolean - source_window*: PGdkWindow - dest_window*: PGdkWindow - targets*: PGList - actions*: TGdkDragAction - suggested_action*: TGdkDragAction - action*: TGdkDragAction - start_time*: guint32 - windowing_data*: gpointer - - PGdkDragContextClass* = ptr TGdkDragContextClass - TGdkDragContextClass* = object of TGObjectClass - - PGdkRegionBox* = ptr TGdkRegionBox - TGdkRegionBox* = TGdkSegment - PGdkRegion* = ptr TGdkRegion - TGdkRegion* {.final, pure.} = object - size*: int32 - numRects*: int32 - rects*: PGdkRegionBox - extents*: TGdkRegionBox - - PPOINTBLOCK* = ptr TPOINTBLOCK - TPOINTBLOCK* {.final, pure.} = object - pts*: array[0..(NUMPTSTOBUFFER) - 1, TGdkPoint] - next*: PPOINTBLOCK - - PGdkDrawableClass* = ptr TGdkDrawableClass - TGdkDrawableClass* = object of TGObjectClass - create_gc*: proc (drawable: PGdkDrawable, values: PGdkGCValues, - mask: TGdkGCValuesMask): PGdkGC{.cdecl.} - draw_rectangle*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, - x: gint, y: gint, width: gint, height: gint){.cdecl.} - draw_arc*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint, - y: gint, width: gint, height: gint, angle1: gint, - angle2: gint){.cdecl.} - draw_polygon*: proc (drawable: PGdkDrawable, gc: PGdkGC, filled: gint, - points: PGdkPoint, npoints: gint){.cdecl.} - draw_text*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC, - x: gint, y: gint, text: cstring, text_length: gint){.cdecl.} - draw_text_wc*: proc (drawable: PGdkDrawable, font: PGdkFont, gc: PGdkGC, - x: gint, y: gint, text: PGdkWChar, text_length: gint){. - cdecl.} - draw_drawable*: proc (drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, - xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, - width: gint, height: gint){.cdecl.} - draw_points*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, - npoints: gint){.cdecl.} - draw_segments*: proc (drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment, - nsegs: gint){.cdecl.} - draw_lines*: proc (drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, - npoints: gint){.cdecl.} - draw_glyphs*: proc (drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont, - x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl.} - draw_image*: proc (drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage, - xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, - width: gint, height: gint){.cdecl.} - get_depth*: proc (drawable: PGdkDrawable): gint{.cdecl.} - get_size*: proc (drawable: PGdkDrawable, width: Pgint, height: Pgint){.cdecl.} - set_colormap*: proc (drawable: PGdkDrawable, cmap: PGdkColormap){.cdecl.} - get_colormap*: proc (drawable: PGdkDrawable): PGdkColormap{.cdecl.} - get_visual*: proc (drawable: PGdkDrawable): PGdkVisual{.cdecl.} - get_screen*: proc (drawable: PGdkDrawable): PGdkScreen{.cdecl.} - get_image*: proc (drawable: PGdkDrawable, x: gint, y: gint, width: gint, - height: gint): PGdkImage{.cdecl.} - get_clip_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.} - get_visible_region*: proc (drawable: PGdkDrawable): PGdkRegion{.cdecl.} - get_composite_drawable*: proc (drawable: PGdkDrawable, x: gint, y: gint, - width: gint, height: gint, - composite_x_offset: Pgint, - composite_y_offset: Pgint): PGdkDrawable{. - cdecl.} - `draw_pixbuf`*: proc (drawable: PGdkDrawable, gc: PGdkGC, - pixbuf: PGdkPixbuf, src_x: gint, src_y: gint, - dest_x: gint, dest_y: gint, width: gint, height: gint, - dither: TGdkRgbDither, x_dither: gint, y_dither: gint){. - cdecl.} - `copy_to_image`*: proc (drawable: PGdkDrawable, image: PGdkImage, - src_x: gint, src_y: gint, dest_x: gint, - dest_y: gint, width: gint, height: gint): PGdkImage{. - cdecl.} - `gdk_reserved1`: proc (){.cdecl.} - `gdk_reserved2`: proc (){.cdecl.} - `gdk_reserved3`: proc (){.cdecl.} - `gdk_reserved4`: proc (){.cdecl.} - `gdk_reserved5`: proc (){.cdecl.} - `gdk_reserved6`: proc (){.cdecl.} - `gdk_reserved7`: proc (){.cdecl.} - `gdk_reserved9`: proc (){.cdecl.} - `gdk_reserved10`: proc (){.cdecl.} - `gdk_reserved11`: proc (){.cdecl.} - `gdk_reserved12`: proc (){.cdecl.} - `gdk_reserved13`: proc (){.cdecl.} - `gdk_reserved14`: proc (){.cdecl.} - `gdk_reserved15`: proc (){.cdecl.} - `gdk_reserved16`: proc (){.cdecl.} - - PGdkEvent* = ptr TGdkEvent - TGdkEventFunc* = proc (event: PGdkEvent, data: gpointer){.cdecl.} - PGdkXEvent* = ptr TGdkXEvent - TGdkXEvent* = proc () - PGdkFilterReturn* = ptr TGdkFilterReturn - TGdkFilterReturn* = enum - GDK_FILTER_CONTINUE, GDK_FILTER_TRANSLATE, GDK_FILTER_REMOVE - TGdkFilterFunc* = proc (xevent: PGdkXEvent, event: PGdkEvent, data: gpointer): TGdkFilterReturn{. - cdecl.} - PGdkEventType* = ptr TGdkEventType - TGdkEventType* = gint - PGdkEventMask* = ptr TGdkEventMask - TGdkEventMask* = gint32 - PGdkVisibilityState* = ptr TGdkVisibilityState - TGdkVisibilityState* = enum - GDK_VISIBILITY_UNOBSCURED, GDK_VISIBILITY_PARTIAL, - GDK_VISIBILITY_FULLY_OBSCURED - PGdkScrollDirection* = ptr TGdkScrollDirection - TGdkScrollDirection* = enum - GDK_SCROLL_UP, GDK_SCROLL_DOWN, GDK_SCROLL_LEFT, GDK_SCROLL_RIGHT - PGdkNotifyType* = ptr TGdkNotifyType - TGdkNotifyType* = int - PGdkCrossingMode* = ptr TGdkCrossingMode - TGdkCrossingMode* = enum - GDK_CROSSING_NORMAL, GDK_CROSSING_GRAB, GDK_CROSSING_UNGRAB - PGdkPropertyState* = ptr TGdkPropertyState - TGdkPropertyState* = enum - GDK_PROPERTY_NEW_VALUE, GDK_PROPERTY_STATE_DELETE - PGdkWindowState* = ptr TGdkWindowState - TGdkWindowState* = gint - PGdkSettingAction* = ptr TGdkSettingAction - TGdkSettingAction* = enum - GDK_SETTING_ACTION_NEW, GDK_SETTING_ACTION_CHANGED, - GDK_SETTING_ACTION_DELETED - PGdkEventAny* = ptr TGdkEventAny - TGdkEventAny* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - - PGdkEventExpose* = ptr TGdkEventExpose - TGdkEventExpose* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - area*: TGdkRectangle - region*: PGdkRegion - count*: gint - - PGdkEventNoExpose* = ptr TGdkEventNoExpose - TGdkEventNoExpose* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - - PGdkEventVisibility* = ptr TGdkEventVisibility - TGdkEventVisibility* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - state*: TGdkVisibilityState - - PGdkEventMotion* = ptr TGdkEventMotion - TGdkEventMotion* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - time*: guint32 - x*: gdouble - y*: gdouble - axes*: Pgdouble - state*: guint - is_hint*: gint16 - device*: PGdkDevice - x_root*: gdouble - y_root*: gdouble - - PGdkEventButton* = ptr TGdkEventButton - TGdkEventButton* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - time*: guint32 - x*: gdouble - y*: gdouble - axes*: Pgdouble - state*: guint - button*: guint - device*: PGdkDevice - x_root*: gdouble - y_root*: gdouble - - PGdkEventScroll* = ptr TGdkEventScroll - TGdkEventScroll* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - time*: guint32 - x*: gdouble - y*: gdouble - state*: guint - direction*: TGdkScrollDirection - device*: PGdkDevice - x_root*: gdouble - y_root*: gdouble - - PGdkEventKey* = ptr TGdkEventKey - TGdkEventKey* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - time*: guint32 - state*: guint - keyval*: guint - length*: gint - `string`*: cstring - hardware_keycode*: guint16 - group*: guint8 - - PGdkEventCrossing* = ptr TGdkEventCrossing - TGdkEventCrossing* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - subwindow*: PGdkWindow - time*: guint32 - x*: gdouble - y*: gdouble - x_root*: gdouble - y_root*: gdouble - mode*: TGdkCrossingMode - detail*: TGdkNotifyType - focus*: gboolean - state*: guint - - PGdkEventFocus* = ptr TGdkEventFocus - TGdkEventFocus* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - `in`*: gint16 - - PGdkEventConfigure* = ptr TGdkEventConfigure - TGdkEventConfigure* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - x*: gint - y*: gint - width*: gint - height*: gint - - PGdkEventProperty* = ptr TGdkEventProperty - TGdkEventProperty* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - atom*: TGdkAtom - time*: guint32 - state*: guint - - TGdkNativeWindow* = pointer - PGdkEventSelection* = ptr TGdkEventSelection - TGdkEventSelection* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - selection*: TGdkAtom - target*: TGdkAtom - `property`*: TGdkAtom - time*: guint32 - requestor*: TGdkNativeWindow - - PGdkEventProximity* = ptr TGdkEventProximity - TGdkEventProximity* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - time*: guint32 - device*: PGdkDevice - - PmatDUMMY* = ptr TmatDUMMY - TmatDUMMY* {.final, pure.} = object - b*: array[0..19, char] - - PGdkEventClient* = ptr TGdkEventClient - TGdkEventClient* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - message_type*: TGdkAtom - data_format*: gushort - b*: array[0..19, char] - - PGdkEventSetting* = ptr TGdkEventSetting - TGdkEventSetting* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - action*: TGdkSettingAction - name*: cstring - - PGdkEventWindowState* = ptr TGdkEventWindowState - TGdkEventWindowState* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - changed_mask*: TGdkWindowState - new_window_state*: TGdkWindowState - - PGdkEventDND* = ptr TGdkEventDND - TGdkEventDND* {.final, pure.} = object - `type`*: TGdkEventType - window*: PGdkWindow - send_event*: gint8 - context*: PGdkDragContext - time*: guint32 - x_root*: gshort - y_root*: gshort - - TGdkEvent* {.final, pure.} = object - data*: array[0..255, char] # union of - # `type`: TGdkEventType - # any: TGdkEventAny - # expose: TGdkEventExpose - # no_expose: TGdkEventNoExpose - # visibility: TGdkEventVisibility - # motion: TGdkEventMotion - # button: TGdkEventButton - # scroll: TGdkEventScroll - # key: TGdkEventKey - # crossing: TGdkEventCrossing - # focus_change: TGdkEventFocus - # configure: TGdkEventConfigure - # `property`: TGdkEventProperty - # selection: TGdkEventSelection - # proximity: TGdkEventProximity - # client: TGdkEventClient - # dnd: TGdkEventDND - # window_state: TGdkEventWindowState - # setting: TGdkEventSetting - - PGdkGCClass* = ptr TGdkGCClass - TGdkGCClass* = object of TGObjectClass - get_values*: proc (gc: PGdkGC, values: PGdkGCValues){.cdecl.} - set_values*: proc (gc: PGdkGC, values: PGdkGCValues, mask: TGdkGCValuesMask){. - cdecl.} - set_dashes*: proc (gc: PGdkGC, dash_offset: gint, - dash_list: openarray[gint8]){.cdecl.} - `gdk_reserved1`*: proc (){.cdecl.} - `gdk_reserved2`*: proc (){.cdecl.} - `gdk_reserved3`*: proc (){.cdecl.} - `gdk_reserved4`*: proc (){.cdecl.} - - PGdkImageClass* = ptr TGdkImageClass - TGdkImageClass* = object of TGObjectClass - - TGdkImage* = object of TGObject - `type`*: TGdkImageType - visual*: PGdkVisual - byte_order*: TGdkByteOrder - width*: gint - height*: gint - depth*: guint16 - bpp*: guint16 - bpl*: guint16 - bits_per_pixel*: guint16 - mem*: gpointer - colormap*: PGdkColormap - windowing_data*: gpointer - - PGdkExtensionMode* = ptr TGdkExtensionMode - TGdkExtensionMode* = enum - GDK_EXTENSION_EVENTS_NONE, GDK_EXTENSION_EVENTS_ALL, - GDK_EXTENSION_EVENTS_CURSOR - PGdkInputSource* = ptr TGdkInputSource - TGdkInputSource* = enum - GDK_SOURCE_MOUSE, GDK_SOURCE_PEN, GDK_SOURCE_ERASER, GDK_SOURCE_CURSOR - PGdkInputMode* = ptr TGdkInputMode - TGdkInputMode* = enum - GDK_MODE_DISABLED, GDK_MODE_SCREEN, GDK_MODE_WINDOW - PGdkAxisUse* = ptr TGdkAxisUse - TGdkAxisUse* = int32 - PGdkDeviceKey* = ptr TGdkDeviceKey - TGdkDeviceKey* {.final, pure.} = object - keyval*: guint - modifiers*: TGdkModifierType - - PGdkDeviceAxis* = ptr TGdkDeviceAxis - TGdkDeviceAxis* {.final, pure.} = object - use*: TGdkAxisUse - min*: gdouble - max*: gdouble - - TGdkDevice* = object of TGObject - name*: cstring - source*: TGdkInputSource - mode*: TGdkInputMode - has_cursor*: gboolean - num_axes*: gint - axes*: PGdkDeviceAxis - num_keys*: gint - keys*: PGdkDeviceKey - - TGdkTimeCoord* {.final, pure.} = object - time*: guint32 - axes*: array[0..(GDK_MAX_TIMECOORD_AXES) - 1, gdouble] - - PGdkKeymapKey* = ptr TGdkKeymapKey - TGdkKeymapKey* {.final, pure.} = object - keycode*: guint - group*: gint - level*: gint - - PGdkKeymap* = ptr TGdkKeymap - TGdkKeymap* = object of TGObject - display*: PGdkDisplay - - PGdkKeymapClass* = ptr TGdkKeymapClass - TGdkKeymapClass* = object of TGObjectClass - direction_changed*: proc (keymap: PGdkKeymap){.cdecl.} - - PGdkPangoAttrStipple* = ptr TGdkPangoAttrStipple - TGdkPangoAttrStipple* {.final, pure.} = object - attr*: TPangoAttribute - stipple*: PGdkBitmap - - PGdkPangoAttrEmbossed* = ptr TGdkPangoAttrEmbossed - TGdkPangoAttrEmbossed* {.final, pure.} = object - attr*: TPangoAttribute - embossed*: gboolean - - PGdkPixmapObject* = ptr TGdkPixmapObject - TGdkPixmapObject* = object of TGdkDrawable - impl*: PGdkDrawable - depth*: gint - - PGdkPixmapObjectClass* = ptr TGdkPixmapObjectClass - TGdkPixmapObjectClass* = object of TGdkDrawableClass - - PGdkPropMode* = ptr TGdkPropMode - TGdkPropMode* = enum - GDK_PROP_MODE_REPLACE, GDK_PROP_MODE_PREPEND, GDK_PROP_MODE_APPEND - PGdkFillRule* = ptr TGdkFillRule - TGdkFillRule* = enum - GDK_EVEN_ODD_RULE, GDK_WINDING_RULE - PGdkOverlapType* = ptr TGdkOverlapType - TGdkOverlapType* = enum - GDK_OVERLAP_RECTANGLE_IN, GDK_OVERLAP_RECTANGLE_OUT, - GDK_OVERLAP_RECTANGLE_PART - TGdkSpanFunc* = proc (span: PGdkSpan, data: gpointer){.cdecl.} - PGdkRgbCmap* = ptr TGdkRgbCmap - TGdkRgbCmap* {.final, pure.} = object - colors*: array[0..255, guint32] - n_colors*: gint - info_list*: PGSList - - TGdkDisplay* = object of TGObject - queued_events*: PGList - queued_tail*: PGList - button_click_time*: array[0..1, guint32] - button_window*: array[0..1, PGdkWindow] - button_number*: array[0..1, guint] - double_click_time*: guint - - PGdkDisplayClass* = ptr TGdkDisplayClass - TGdkDisplayClass* = object of TGObjectClass - get_display_name*: proc (display: PGdkDisplay): cstring{.cdecl.} - get_n_screens*: proc (display: PGdkDisplay): gint{.cdecl.} - get_screen*: proc (display: PGdkDisplay, screen_num: gint): PGdkScreen{. - cdecl.} - get_default_screen*: proc (display: PGdkDisplay): PGdkScreen{.cdecl.} - - PGdkScreenClass* = ptr TGdkScreenClass - TGdkScreenClass* = object of TGObjectClass - get_display*: proc (screen: PGdkScreen): PGdkDisplay{.cdecl.} - get_width*: proc (screen: PGdkScreen): gint{.cdecl.} - get_height*: proc (screen: PGdkScreen): gint{.cdecl.} - get_width_mm*: proc (screen: PGdkScreen): gint{.cdecl.} - get_height_mm*: proc (screen: PGdkScreen): gint{.cdecl.} - get_root_depth*: proc (screen: PGdkScreen): gint{.cdecl.} - get_screen_num*: proc (screen: PGdkScreen): gint{.cdecl.} - get_root_window*: proc (screen: PGdkScreen): PGdkWindow{.cdecl.} - get_default_colormap*: proc (screen: PGdkScreen): PGdkColormap{.cdecl.} - set_default_colormap*: proc (screen: PGdkScreen, colormap: PGdkColormap){. - cdecl.} - get_window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{. - cdecl.} - get_n_monitors*: proc (screen: PGdkScreen): gint{.cdecl.} - get_monitor_geometry*: proc (screen: PGdkScreen, monitor_num: gint, - dest: PGdkRectangle){.cdecl.} - - PGdkGrabStatus* = ptr TGdkGrabStatus - TGdkGrabStatus* = int - TGdkInputFunction* = proc (data: gpointer, source: gint, - condition: TGdkInputCondition){.cdecl.} - TGdkDestroyNotify* = proc (data: gpointer){.cdecl.} - TGdkSpan* {.final, pure.} = object - x*: gint - y*: gint - width*: gint - - PGdkWindowClass* = ptr TGdkWindowClass - TGdkWindowClass* = enum - GDK_INPUT_OUTPUT, GDK_INPUT_ONLY - PGdkWindowType* = ptr TGdkWindowType - TGdkWindowType* = enum - GDK_WINDOW_ROOT, GDK_WINDOW_TOPLEVEL, GDK_WINDOW_CHILD, GDK_WINDOW_DIALOG, - GDK_WINDOW_TEMP, GDK_WINDOW_FOREIGN - PGdkWindowAttributesType* = ptr TGdkWindowAttributesType - TGdkWindowAttributesType* = int32 - PGdkWindowHints* = ptr TGdkWindowHints - TGdkWindowHints* = int32 - PGdkWindowTypeHint* = ptr TGdkWindowTypeHint - TGdkWindowTypeHint* = enum - GDK_WINDOW_TYPE_HINT_NORMAL, GDK_WINDOW_TYPE_HINT_DIALOG, - GDK_WINDOW_TYPE_HINT_MENU, GDK_WINDOW_TYPE_HINT_TOOLBAR - PGdkWMDecoration* = ptr TGdkWMDecoration - TGdkWMDecoration* = int32 - PGdkWMFunction* = ptr TGdkWMFunction - TGdkWMFunction* = int32 - PGdkGravity* = ptr TGdkGravity - TGdkGravity* = int - PGdkWindowEdge* = ptr TGdkWindowEdge - TGdkWindowEdge* = enum - GDK_WINDOW_EDGE_NORTH_WEST, GDK_WINDOW_EDGE_NORTH, - GDK_WINDOW_EDGE_NORTH_EAST, GDK_WINDOW_EDGE_WEST, GDK_WINDOW_EDGE_EAST, - GDK_WINDOW_EDGE_SOUTH_WEST, GDK_WINDOW_EDGE_SOUTH, - GDK_WINDOW_EDGE_SOUTH_EAST - PGdkWindowAttr* = ptr TGdkWindowAttr - TGdkWindowAttr* {.final, pure.} = object - title*: cstring - event_mask*: gint - x*: gint - y*: gint - width*: gint - height*: gint - wclass*: TGdkWindowClass - visual*: PGdkVisual - colormap*: PGdkColormap - window_type*: TGdkWindowType - cursor*: PGdkCursor - wmclass_name*: cstring - wmclass_class*: cstring - override_redirect*: gboolean - - PGdkGeometry* = ptr TGdkGeometry - TGdkGeometry* {.final, pure.} = object - min_width*: gint - min_height*: gint - max_width*: gint - max_height*: gint - base_width*: gint - base_height*: gint - width_inc*: gint - height_inc*: gint - min_aspect*: gdouble - max_aspect*: gdouble - win_gravity*: TGdkGravity - - PGdkPointerHooks* = ptr TGdkPointerHooks - TGdkPointerHooks* {.final, pure.} = object - get_pointer*: proc (window: PGdkWindow, x: Pgint, y: Pgint, - mask: PGdkModifierType): PGdkWindow{.cdecl.} - window_at_pointer*: proc (screen: PGdkScreen, win_x: Pgint, win_y: Pgint): PGdkWindow{. - cdecl.} - - PGdkWindowObject* = ptr TGdkWindowObject - TGdkWindowObject* = object of TGdkDrawable - impl*: PGdkDrawable - parent*: PGdkWindowObject - user_data*: gpointer - x*: gint - y*: gint - extension_events*: gint - filters*: PGList - children*: PGList - bg_color*: TGdkColor - bg_pixmap*: PGdkPixmap - paint_stack*: PGSList - update_area*: PGdkRegion - update_freeze_count*: guint - window_type*: guint8 - depth*: guint8 - resize_count*: guint8 - state*: TGdkWindowState - flag0*: guint16 - event_mask*: TGdkEventMask - - PGdkWindowObjectClass* = ptr TGdkWindowObjectClass - TGdkWindowObjectClass* = object of TGdkDrawableClass - - gdk_window_invalidate_maybe_recurse_child_func* = proc (para1: PGdkWindow, - para2: gpointer): gboolean - -proc GDK_TYPE_COLORMAP*(): GType -proc GDK_COLORMAP*(anObject: pointer): PGdkColormap -proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass -proc GDK_IS_COLORMAP*(anObject: pointer): bool -proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool -proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass -proc GDK_TYPE_COLOR*(): GType -proc gdk_colormap_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_colormap_get_type".} -proc gdk_colormap_new*(visual: PGdkVisual, allocate: gboolean): PGdkColormap{. - cdecl, dynlib: gdklib, importc: "gdk_colormap_new".} -proc gdk_colormap_alloc_colors*(colormap: PGdkColormap, colors: PGdkColor, - ncolors: gint, writeable: gboolean, - best_match: gboolean, success: Pgboolean): gint{. - cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_colors".} -proc gdk_colormap_alloc_color*(colormap: PGdkColormap, color: PGdkColor, - writeable: gboolean, best_match: gboolean): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_colormap_alloc_color".} -proc gdk_colormap_free_colors*(colormap: PGdkColormap, colors: PGdkColor, - ncolors: gint){.cdecl, dynlib: gdklib, - importc: "gdk_colormap_free_colors".} -proc gdk_colormap_query_color*(colormap: PGdkColormap, pixel: gulong, - result: PGdkColor){.cdecl, dynlib: gdklib, - importc: "gdk_colormap_query_color".} -proc gdk_colormap_get_visual*(colormap: PGdkColormap): PGdkVisual{.cdecl, - dynlib: gdklib, importc: "gdk_colormap_get_visual".} -proc gdk_color_copy*(color: PGdkColor): PGdkColor{.cdecl, dynlib: gdklib, - importc: "gdk_color_copy".} -proc gdk_color_free*(color: PGdkColor){.cdecl, dynlib: gdklib, - importc: "gdk_color_free".} -proc gdk_color_parse*(spec: cstring, color: PGdkColor): gint{.cdecl, - dynlib: gdklib, importc: "gdk_color_parse".} -proc gdk_color_hash*(colora: PGdkColor): guint{.cdecl, dynlib: gdklib, - importc: "gdk_color_hash".} -proc gdk_color_equal*(colora: PGdkColor, colorb: PGdkColor): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_color_equal".} -proc gdk_color_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_color_get_type".} -const - GDK_CURSOR_IS_PIXMAP* = - (1) - GDK_X_CURSOR* = 0 - GDK_ARROW* = 2 - GDK_BASED_ARROW_DOWN* = 4 - GDK_BASED_ARROW_UP* = 6 - GDK_BOAT* = 8 - GDK_BOGOSITY* = 10 - GDK_BOTTOM_LEFT_CORNER* = 12 - GDK_BOTTOM_RIGHT_CORNER* = 14 - GDK_BOTTOM_SIDE* = 16 - GDK_BOTTOM_TEE* = 18 - GDK_BOX_SPIRAL* = 20 - GDK_CENTER_PTR* = 22 - GDK_CIRCLE* = 24 - GDK_CLOCK* = 26 - GDK_COFFEE_MUG* = 28 - GDK_CROSS* = 30 - GDK_CROSS_REVERSE* = 32 - GDK_CROSSHAIR* = 34 - GDK_DIAMOND_CROSS* = 36 - GDK_DOT* = 38 - GDK_DOTBOX* = 40 - GDK_DOUBLE_ARROW* = 42 - GDK_DRAFT_LARGE* = 44 - GDK_DRAFT_SMALL* = 46 - GDK_DRAPED_BOX* = 48 - GDK_EXCHANGE* = 50 - GDK_FLEUR* = 52 - GDK_GOBBLER* = 54 - GDK_GUMBY* = 56 - GDK_HAND1* = 58 - GDK_HAND2* = 60 - GDK_HEART* = 62 - GDK_ICON* = 64 - GDK_IRON_CROSS* = 66 - GDK_LEFT_PTR* = 68 - GDK_LEFT_SIDE* = 70 - GDK_LEFT_TEE* = 72 - GDK_LEFTBUTTON* = 74 - GDK_LL_ANGLE* = 76 - GDK_LR_ANGLE* = 78 - GDK_MAN* = 80 - GDK_MIDDLEBUTTON* = 82 - GDK_MOUSE* = 84 - GDK_PENCIL* = 86 - GDK_PIRATE* = 88 - GDK_PLUS* = 90 - GDK_QUESTION_ARROW* = 92 - GDK_RIGHT_PTR* = 94 - GDK_RIGHT_SIDE* = 96 - GDK_RIGHT_TEE* = 98 - GDK_RIGHTBUTTON* = 100 - GDK_RTL_LOGO* = 102 - GDK_SAILBOAT* = 104 - GDK_SB_DOWN_ARROW* = 106 - GDK_SB_H_DOUBLE_ARROW* = 108 - GDK_SB_LEFT_ARROW* = 110 - GDK_SB_RIGHT_ARROW* = 112 - GDK_SB_UP_ARROW* = 114 - GDK_SB_V_DOUBLE_ARROW* = 116 - GDK_SHUTTLE* = 118 - GDK_SIZING* = 120 - GDK_SPIDER* = 122 - GDK_SPRAYCAN* = 124 - GDK_STAR* = 126 - GDK_TARGET* = 128 - GDK_TCROSS* = 130 - GDK_TOP_LEFT_ARROW* = 132 - GDK_TOP_LEFT_CORNER* = 134 - GDK_TOP_RIGHT_CORNER* = 136 - GDK_TOP_SIDE* = 138 - GDK_TOP_TEE* = 140 - GDK_TREK* = 142 - GDK_UL_ANGLE* = 144 - GDK_UMBRELLA* = 146 - GDK_UR_ANGLE* = 148 - GDK_WATCH* = 150 - GDK_XTERM* = 152 - GDK_LAST_CURSOR* = GDK_XTERM + 1 - -proc GDK_TYPE_CURSOR*(): GType -proc gdk_cursor_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_cursor_get_type".} -proc gdk_cursor_new_for_screen*(screen: PGdkScreen, cursor_type: TGdkCursorType): PGdkCursor{. - cdecl, dynlib: gdklib, importc: "gdk_cursor_new_for_screen".} -proc gdk_cursor_new_from_pixmap*(source: PGdkPixmap, mask: PGdkPixmap, - fg: PGdkColor, bg: PGdkColor, x: gint, y: gint): PGdkCursor{. - cdecl, dynlib: gdklib, importc: "gdk_cursor_new_from_pixmap".} -proc gdk_cursor_get_screen*(cursor: PGdkCursor): PGdkScreen{.cdecl, - dynlib: gdklib, importc: "gdk_cursor_get_screen".} -proc gdk_cursor_ref*(cursor: PGdkCursor): PGdkCursor{.cdecl, dynlib: gdklib, - importc: "gdk_cursor_ref".} -proc gdk_cursor_unref*(cursor: PGdkCursor){.cdecl, dynlib: gdklib, - importc: "gdk_cursor_unref".} -const - GDK_ACTION_DEFAULT* = 1 shl 0 - GDK_ACTION_COPY* = 1 shl 1 - GDK_ACTION_MOVE* = 1 shl 2 - GDK_ACTION_LINK* = 1 shl 3 - GDK_ACTION_PRIVATE* = 1 shl 4 - GDK_ACTION_ASK* = 1 shl 5 - -proc GDK_TYPE_DRAG_CONTEXT*(): GType -proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext -proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass -proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool -proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool -proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass -proc gdk_drag_context_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_drag_context_get_type".} -proc gdk_drag_context_new*(): PGdkDragContext{.cdecl, dynlib: gdklib, - importc: "gdk_drag_context_new".} -proc gdk_drag_status*(context: PGdkDragContext, action: TGdkDragAction, - time: guint32){.cdecl, dynlib: gdklib, - importc: "gdk_drag_status".} -proc gdk_drop_reply*(context: PGdkDragContext, ok: gboolean, time: guint32){. - cdecl, dynlib: gdklib, importc: "gdk_drop_reply".} -proc gdk_drop_finish*(context: PGdkDragContext, success: gboolean, time: guint32){. - cdecl, dynlib: gdklib, importc: "gdk_drop_finish".} -proc gdk_drag_get_selection*(context: PGdkDragContext): TGdkAtom{.cdecl, - dynlib: gdklib, importc: "gdk_drag_get_selection".} -proc gdk_drag_begin*(window: PGdkWindow, targets: PGList): PGdkDragContext{. - cdecl, dynlib: gdklib, importc: "gdk_drag_begin".} -proc gdk_drag_get_protocol_for_display*(display: PGdkDisplay, xid: guint32, - protocol: PGdkDragProtocol): guint32{. - cdecl, dynlib: gdklib, importc: "gdk_drag_get_protocol_for_display".} -proc gdk_drag_find_window*(context: PGdkDragContext, drag_window: PGdkWindow, - x_root: gint, y_root: gint, w: var PGdkWindow, - protocol: PGdkDragProtocol){.cdecl, dynlib: gdklib, - importc: "gdk_drag_find_window".} -proc gdk_drag_motion*(context: PGdkDragContext, dest_window: PGdkWindow, - protocol: TGdkDragProtocol, x_root: gint, y_root: gint, - suggested_action: TGdkDragAction, - possible_actions: TGdkDragAction, time: guint32): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_drag_motion".} -proc gdk_drag_drop*(context: PGdkDragContext, time: guint32){.cdecl, - dynlib: gdklib, importc: "gdk_drag_drop".} -proc gdk_drag_abort*(context: PGdkDragContext, time: guint32){.cdecl, - dynlib: gdklib, importc: "gdk_drag_abort".} -proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool -proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion) -proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool -proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox, - Rx1, Ry1, Rx2, Ry2: gint): bool -proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox, - rx1, ry1, rx2, ry2: gint) -proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox, - rx1, ry1, rx2, ry2: gint) -proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool -proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool -proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool -proc GDK_TYPE_DRAWABLE*(): GType -proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable -proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass -proc GDK_IS_DRAWABLE*(anObject: Pointer): bool -proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool -proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass -proc gdk_drawable_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_drawable_get_type".} -proc gdk_drawable_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint){. - cdecl, dynlib: gdklib, importc: "gdk_drawable_get_size".} -proc gdk_drawable_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap){. - cdecl, dynlib: gdklib, importc: "gdk_drawable_set_colormap".} -proc gdk_drawable_get_colormap*(drawable: PGdkDrawable): PGdkColormap{.cdecl, - dynlib: gdklib, importc: "gdk_drawable_get_colormap".} -proc gdk_drawable_get_visual*(drawable: PGdkDrawable): PGdkVisual{.cdecl, - dynlib: gdklib, importc: "gdk_drawable_get_visual".} -proc gdk_drawable_get_depth*(drawable: PGdkDrawable): gint{.cdecl, - dynlib: gdklib, importc: "gdk_drawable_get_depth".} -proc gdk_drawable_get_screen*(drawable: PGdkDrawable): PGdkScreen{.cdecl, - dynlib: gdklib, importc: "gdk_drawable_get_screen".} -proc gdk_drawable_get_display*(drawable: PGdkDrawable): PGdkDisplay{.cdecl, - dynlib: gdklib, importc: "gdk_drawable_get_display".} -proc gdk_draw_point*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint){. - cdecl, dynlib: gdklib, importc: "gdk_draw_point".} -proc gdk_draw_line*(drawable: PGdkDrawable, gc: PGdkGC, x1: gint, y1: gint, - x2: gint, y2: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_line".} -proc gdk_draw_rectangle*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, - x: gint, y: gint, width: gint, height: gint){.cdecl, - dynlib: gdklib, importc: "gdk_draw_rectangle".} -proc gdk_draw_arc*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, x: gint, - y: gint, width: gint, height: gint, angle1: gint, - angle2: gint){.cdecl, dynlib: gdklib, importc: "gdk_draw_arc".} -proc gdk_draw_polygon*(drawable: PGdkDrawable, gc: PGdkGC, filled: gint, - points: PGdkPoint, npoints: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_polygon".} -proc gdk_draw_drawable*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, - xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, - width: gint, height: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_drawable".} -proc gdk_draw_image*(drawable: PGdkDrawable, gc: PGdkGC, image: PGdkImage, - xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, - width: gint, height: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_image".} -proc gdk_draw_points*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, - npoints: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_points".} -proc gdk_draw_segments*(drawable: PGdkDrawable, gc: PGdkGC, segs: PGdkSegment, - nsegs: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_segments".} -proc gdk_draw_lines*(drawable: PGdkDrawable, gc: PGdkGC, points: PGdkPoint, - npoints: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_lines".} -proc gdk_draw_glyphs*(drawable: PGdkDrawable, gc: PGdkGC, font: PPangoFont, - x: gint, y: gint, glyphs: PPangoGlyphString){.cdecl, - dynlib: gdklib, importc: "gdk_draw_glyphs".} -proc gdk_draw_layout_line*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, - line: PPangoLayoutLine){.cdecl, dynlib: gdklib, - importc: "gdk_draw_layout_line".} -proc gdk_draw_layout*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, - layout: PPangoLayout){.cdecl, dynlib: gdklib, - importc: "gdk_draw_layout".} -proc gdk_draw_layout_line_with_colors*(drawable: PGdkDrawable, gc: PGdkGC, - x: gint, y: gint, line: PPangoLayoutLine, - foreground: PGdkColor, - background: PGdkColor){.cdecl, - dynlib: gdklib, importc: "gdk_draw_layout_line_with_colors".} -proc gdk_draw_layout_with_colors*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, - y: gint, layout: PPangoLayout, - foreground: PGdkColor, background: PGdkColor){. - cdecl, dynlib: gdklib, importc: "gdk_draw_layout_with_colors".} -proc gdk_drawable_get_image*(drawable: PGdkDrawable, x: gint, y: gint, - width: gint, height: gint): PGdkImage{.cdecl, - dynlib: gdklib, importc: "gdk_drawable_get_image".} -proc gdk_drawable_get_clip_region*(drawable: PGdkDrawable): PGdkRegion{.cdecl, - dynlib: gdklib, importc: "gdk_drawable_get_clip_region".} -proc gdk_drawable_get_visible_region*(drawable: PGdkDrawable): PGdkRegion{. - cdecl, dynlib: gdklib, importc: "gdk_drawable_get_visible_region".} -const - GDK_NOTHING* = - (1) - GDK_DELETE* = 0 - GDK_DESTROY* = 1 - GDK_EXPOSE* = 2 - GDK_MOTION_NOTIFY* = 3 - GDK_BUTTON_PRESS* = 4 - GDK_2BUTTON_PRESS* = 5 - GDK_3BUTTON_PRESS* = 6 - GDK_BUTTON_RELEASE* = 7 - GDK_KEY_PRESS* = 8 - GDK_KEY_RELEASE* = 9 - GDK_ENTER_NOTIFY* = 10 - GDK_LEAVE_NOTIFY* = 11 - GDK_FOCUS_CHANGE* = 12 - GDK_CONFIGURE* = 13 - GDK_MAP* = 14 - GDK_UNMAP* = 15 - GDK_PROPERTY_NOTIFY* = 16 - GDK_SELECTION_CLEAR* = 17 - GDK_SELECTION_REQUEST* = 18 - GDK_SELECTION_NOTIFY* = 19 - GDK_PROXIMITY_IN* = 20 - GDK_PROXIMITY_OUT* = 21 - GDK_DRAG_ENTER* = 22 - GDK_DRAG_LEAVE* = 23 - GDK_DRAG_MOTION_EVENT* = 24 - GDK_DRAG_STATUS_EVENT* = 25 - GDK_DROP_START* = 26 - GDK_DROP_FINISHED* = 27 - GDK_CLIENT_EVENT* = 28 - GDK_VISIBILITY_NOTIFY* = 29 - GDK_NO_EXPOSE* = 30 - GDK_SCROLL* = 31 - GDK_WINDOW_STATE* = 32 - GDK_SETTING* = 33 - GDK_NOTIFY_ANCESTOR* = 0 - GDK_NOTIFY_VIRTUAL* = 1 - GDK_NOTIFY_INFERIOR* = 2 - GDK_NOTIFY_NONLINEAR* = 3 - GDK_NOTIFY_NONLINEAR_VIRTUAL* = 4 - GDK_NOTIFY_UNKNOWN* = 5 - -proc GDK_TYPE_EVENT*(): GType -const - G_PRIORITY_DEFAULT* = 0 - GDK_PRIORITY_EVENTS* = G_PRIORITY_DEFAULT - #GDK_PRIORITY_REDRAW* = G_PRIORITY_HIGH_IDLE + 20 - GDK_EXPOSURE_MASK* = 1 shl 1 - GDK_POINTER_MOTION_MASK* = 1 shl 2 - GDK_POINTER_MOTION_HINT_MASK* = 1 shl 3 - GDK_BUTTON_MOTION_MASK* = 1 shl 4 - GDK_BUTTON1_MOTION_MASK* = 1 shl 5 - GDK_BUTTON2_MOTION_MASK* = 1 shl 6 - GDK_BUTTON3_MOTION_MASK* = 1 shl 7 - GDK_BUTTON_PRESS_MASK* = 1 shl 8 - GDK_BUTTON_RELEASE_MASK* = 1 shl 9 - GDK_KEY_PRESS_MASK* = 1 shl 10 - GDK_KEY_RELEASE_MASK* = 1 shl 11 - GDK_ENTER_NOTIFY_MASK* = 1 shl 12 - GDK_LEAVE_NOTIFY_MASK* = 1 shl 13 - GDK_FOCUS_CHANGE_MASK* = 1 shl 14 - GDK_STRUCTURE_MASK* = 1 shl 15 - GDK_PROPERTY_CHANGE_MASK* = 1 shl 16 - GDK_VISIBILITY_NOTIFY_MASK* = 1 shl 17 - GDK_PROXIMITY_IN_MASK* = 1 shl 18 - GDK_PROXIMITY_OUT_MASK* = 1 shl 19 - GDK_SUBSTRUCTURE_MASK* = 1 shl 20 - GDK_SCROLL_MASK* = 1 shl 21 - GDK_ALL_EVENTS_MASK* = 0x003FFFFE - GDK_WINDOW_STATE_WITHDRAWN* = 1 shl 0 - GDK_WINDOW_STATE_ICONIFIED* = 1 shl 1 - GDK_WINDOW_STATE_MAXIMIZED* = 1 shl 2 - GDK_WINDOW_STATE_STICKY* = 1 shl 3 - -proc gdk_event_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_event_get_type".} -proc gdk_events_pending*(): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_events_pending".} -proc gdk_event_get*(): PGdkEvent{.cdecl, dynlib: gdklib, - importc: "gdk_event_get".} -proc gdk_event_peek*(): PGdkEvent{.cdecl, dynlib: gdklib, - importc: "gdk_event_peek".} -proc gdk_event_get_graphics_expose*(window: PGdkWindow): PGdkEvent{.cdecl, - dynlib: gdklib, importc: "gdk_event_get_graphics_expose".} -proc gdk_event_put*(event: PGdkEvent){.cdecl, dynlib: gdklib, - importc: "gdk_event_put".} -proc gdk_event_copy*(event: PGdkEvent): PGdkEvent{.cdecl, dynlib: gdklib, - importc: "gdk_event_copy".} -proc gdk_event_free*(event: PGdkEvent){.cdecl, dynlib: gdklib, - importc: "gdk_event_free".} -proc gdk_event_get_time*(event: PGdkEvent): guint32{.cdecl, dynlib: gdklib, - importc: "gdk_event_get_time".} -proc gdk_event_get_state*(event: PGdkEvent, state: PGdkModifierType): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_event_get_state".} -proc gdk_event_get_coords*(event: PGdkEvent, x_win: Pgdouble, y_win: Pgdouble): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_event_get_coords".} -proc gdk_event_get_root_coords*(event: PGdkEvent, x_root: Pgdouble, - y_root: Pgdouble): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_event_get_root_coords".} -proc gdk_event_get_axis*(event: PGdkEvent, axis_use: TGdkAxisUse, - value: Pgdouble): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_event_get_axis".} -proc gdk_event_handler_set*(func: TGdkEventFunc, data: gpointer, - notify: TGDestroyNotify){.cdecl, dynlib: gdklib, - importc: "gdk_event_handler_set".} -proc gdk_set_show_events*(show_events: gboolean){.cdecl, dynlib: gdklib, - importc: "gdk_set_show_events".} -proc gdk_get_show_events*(): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_get_show_events".} -proc GDK_TYPE_FONT*(): GType -proc gdk_font_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_font_get_type".} -proc gdk_font_load_for_display*(display: PGdkDisplay, font_name: cstring): PGdkFont{. - cdecl, dynlib: gdklib, importc: "gdk_font_load_for_display".} -proc gdk_fontset_load_for_display*(display: PGdkDisplay, fontset_name: cstring): PGdkFont{. - cdecl, dynlib: gdklib, importc: "gdk_fontset_load_for_display".} -proc gdk_font_from_description_for_display*(display: PGdkDisplay, - font_desc: PPangoFontDescription): PGdkFont{.cdecl, dynlib: gdklib, - importc: "gdk_font_from_description_for_display".} -proc gdk_font_ref*(font: PGdkFont): PGdkFont{.cdecl, dynlib: gdklib, - importc: "gdk_font_ref".} -proc gdk_font_unref*(font: PGdkFont){.cdecl, dynlib: gdklib, - importc: "gdk_font_unref".} -proc gdk_font_id*(font: PGdkFont): gint{.cdecl, dynlib: gdklib, - importc: "gdk_font_id".} -proc gdk_font_equal*(fonta: PGdkFont, fontb: PGdkFont): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_font_equal".} -proc gdk_string_width*(font: PGdkFont, `string`: cstring): gint{.cdecl, - dynlib: gdklib, importc: "gdk_string_width".} -proc gdk_text_width*(font: PGdkFont, text: cstring, text_length: gint): gint{. - cdecl, dynlib: gdklib, importc: "gdk_text_width".} -proc gdk_text_width_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint): gint{. - cdecl, dynlib: gdklib, importc: "gdk_text_width_wc".} -proc gdk_char_width*(font: PGdkFont, character: gchar): gint{.cdecl, - dynlib: gdklib, importc: "gdk_char_width".} -proc gdk_char_width_wc*(font: PGdkFont, character: TGdkWChar): gint{.cdecl, - dynlib: gdklib, importc: "gdk_char_width_wc".} -proc gdk_string_measure*(font: PGdkFont, `string`: cstring): gint{.cdecl, - dynlib: gdklib, importc: "gdk_string_measure".} -proc gdk_text_measure*(font: PGdkFont, text: cstring, text_length: gint): gint{. - cdecl, dynlib: gdklib, importc: "gdk_text_measure".} -proc gdk_char_measure*(font: PGdkFont, character: gchar): gint{.cdecl, - dynlib: gdklib, importc: "gdk_char_measure".} -proc gdk_string_height*(font: PGdkFont, `string`: cstring): gint{.cdecl, - dynlib: gdklib, importc: "gdk_string_height".} -proc gdk_text_height*(font: PGdkFont, text: cstring, text_length: gint): gint{. - cdecl, dynlib: gdklib, importc: "gdk_text_height".} -proc gdk_char_height*(font: PGdkFont, character: gchar): gint{.cdecl, - dynlib: gdklib, importc: "gdk_char_height".} -proc gdk_text_extents*(font: PGdkFont, text: cstring, text_length: gint, - lbearing: Pgint, rbearing: Pgint, width: Pgint, - ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib, - importc: "gdk_text_extents".} -proc gdk_text_extents_wc*(font: PGdkFont, text: PGdkWChar, text_length: gint, - lbearing: Pgint, rbearing: Pgint, width: Pgint, - ascent: Pgint, descent: Pgint){.cdecl, dynlib: gdklib, - importc: "gdk_text_extents_wc".} -proc gdk_string_extents*(font: PGdkFont, `string`: cstring, lbearing: Pgint, - rbearing: Pgint, width: Pgint, ascent: Pgint, - descent: Pgint){.cdecl, dynlib: gdklib, - importc: "gdk_string_extents".} -proc gdk_font_get_display*(font: PGdkFont): PGdkDisplay{.cdecl, dynlib: gdklib, - importc: "gdk_font_get_display".} -const - GDK_GC_FOREGROUND* = 1 shl 0 - GDK_GC_BACKGROUND* = 1 shl 1 - GDK_GC_FONT* = 1 shl 2 - GDK_GC_FUNCTION* = 1 shl 3 - GDK_GC_FILL* = 1 shl 4 - GDK_GC_TILE* = 1 shl 5 - GDK_GC_STIPPLE* = 1 shl 6 - GDK_GC_CLIP_MASK* = 1 shl 7 - GDK_GC_SUBWINDOW* = 1 shl 8 - GDK_GC_TS_X_ORIGIN* = 1 shl 9 - GDK_GC_TS_Y_ORIGIN* = 1 shl 10 - GDK_GC_CLIP_X_ORIGIN* = 1 shl 11 - GDK_GC_CLIP_Y_ORIGIN* = 1 shl 12 - GDK_GC_EXPOSURES* = 1 shl 13 - GDK_GC_LINE_WIDTH* = 1 shl 14 - GDK_GC_LINE_STYLE* = 1 shl 15 - GDK_GC_CAP_STYLE* = 1 shl 16 - GDK_GC_JOIN_STYLE* = 1 shl 17 - GDK_CLIP_BY_CHILDREN* = 0 - GDK_INCLUDE_INFERIORS* = 1 - -proc GDK_TYPE_GC*(): GType -proc GDK_GC*(anObject: Pointer): PGdkGC -proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass -proc GDK_IS_GC*(anObject: Pointer): bool -proc GDK_IS_GC_CLASS*(klass: Pointer): bool -proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass -proc gdk_gc_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_gc_get_type".} -proc gdk_gc_new*(drawable: PGdkDrawable): PGdkGC{.cdecl, dynlib: gdklib, - importc: "gdk_gc_new".} -proc gdk_gc_new_with_values*(drawable: PGdkDrawable, values: PGdkGCValues, - values_mask: TGdkGCValuesMask): PGdkGC{.cdecl, - dynlib: gdklib, importc: "gdk_gc_new_with_values".} -proc gdk_gc_get_values*(gc: PGdkGC, values: PGdkGCValues){.cdecl, - dynlib: gdklib, importc: "gdk_gc_get_values".} -proc gdk_gc_set_values*(gc: PGdkGC, values: PGdkGCValues, - values_mask: TGdkGCValuesMask){.cdecl, dynlib: gdklib, - importc: "gdk_gc_set_values".} -proc gdk_gc_set_foreground*(gc: PGdkGC, color: PGdkColor){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_foreground".} -proc gdk_gc_set_background*(gc: PGdkGC, color: PGdkColor){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_background".} -proc gdk_gc_set_function*(gc: PGdkGC, `function`: TGdkFunction){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_function".} -proc gdk_gc_set_fill*(gc: PGdkGC, fill: TGdkFill){.cdecl, dynlib: gdklib, - importc: "gdk_gc_set_fill".} -proc gdk_gc_set_tile*(gc: PGdkGC, tile: PGdkPixmap){.cdecl, dynlib: gdklib, - importc: "gdk_gc_set_tile".} -proc gdk_gc_set_stipple*(gc: PGdkGC, stipple: PGdkPixmap){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_stipple".} -proc gdk_gc_set_ts_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl, dynlib: gdklib, - importc: "gdk_gc_set_ts_origin".} -proc gdk_gc_set_clip_origin*(gc: PGdkGC, x: gint, y: gint){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_clip_origin".} -proc gdk_gc_set_clip_mask*(gc: PGdkGC, mask: PGdkBitmap){.cdecl, dynlib: gdklib, - importc: "gdk_gc_set_clip_mask".} -proc gdk_gc_set_clip_rectangle*(gc: PGdkGC, rectangle: PGdkRectangle){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_clip_rectangle".} -proc gdk_gc_set_clip_region*(gc: PGdkGC, region: PGdkRegion){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_clip_region".} -proc gdk_gc_set_subwindow*(gc: PGdkGC, mode: TGdkSubwindowMode){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_subwindow".} -proc gdk_gc_set_exposures*(gc: PGdkGC, exposures: gboolean){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_exposures".} -proc gdk_gc_set_line_attributes*(gc: PGdkGC, line_width: gint, - line_style: TGdkLineStyle, - cap_style: TGdkCapStyle, - join_style: TGdkJoinStyle){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_line_attributes".} -proc gdk_gc_set_dashes*(gc: PGdkGC, dash_offset: gint, - dash_list: openarray[gint8]){.cdecl, dynlib: gdklib, - importc: "gdk_gc_set_dashes".} -proc gdk_gc_offset*(gc: PGdkGC, x_offset: gint, y_offset: gint){.cdecl, - dynlib: gdklib, importc: "gdk_gc_offset".} -proc gdk_gc_copy*(dst_gc: PGdkGC, src_gc: PGdkGC){.cdecl, dynlib: gdklib, - importc: "gdk_gc_copy".} -proc gdk_gc_set_colormap*(gc: PGdkGC, colormap: PGdkColormap){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_colormap".} -proc gdk_gc_get_colormap*(gc: PGdkGC): PGdkColormap{.cdecl, dynlib: gdklib, - importc: "gdk_gc_get_colormap".} -proc gdk_gc_set_rgb_fg_color*(gc: PGdkGC, color: PGdkColor){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_rgb_fg_color".} -proc gdk_gc_set_rgb_bg_color*(gc: PGdkGC, color: PGdkColor){.cdecl, - dynlib: gdklib, importc: "gdk_gc_set_rgb_bg_color".} -proc gdk_gc_get_screen*(gc: PGdkGC): PGdkScreen{.cdecl, dynlib: gdklib, - importc: "gdk_gc_get_screen".} -proc GDK_TYPE_IMAGE*(): GType -proc GDK_IMAGE*(anObject: Pointer): PGdkImage -proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass -proc GDK_IS_IMAGE*(anObject: Pointer): bool -proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool -proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass -proc gdk_image_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_image_get_type".} -proc gdk_image_new*(`type`: TGdkImageType, visual: PGdkVisual, width: gint, - height: gint): PGdkImage{.cdecl, dynlib: gdklib, - importc: "gdk_image_new".} -proc gdk_image_put_pixel*(image: PGdkImage, x: gint, y: gint, pixel: guint32){. - cdecl, dynlib: gdklib, importc: "gdk_image_put_pixel".} -proc gdk_image_get_pixel*(image: PGdkImage, x: gint, y: gint): guint32{.cdecl, - dynlib: gdklib, importc: "gdk_image_get_pixel".} -proc gdk_image_set_colormap*(image: PGdkImage, colormap: PGdkColormap){.cdecl, - dynlib: gdklib, importc: "gdk_image_set_colormap".} -proc gdk_image_get_colormap*(image: PGdkImage): PGdkColormap{.cdecl, - dynlib: gdklib, importc: "gdk_image_get_colormap".} -const - GDK_AXIS_IGNORE* = 0 - GDK_AXIS_X* = 1 - GDK_AXIS_Y* = 2 - GDK_AXIS_PRESSURE* = 3 - GDK_AXIS_XTILT* = 4 - GDK_AXIS_YTILT* = 5 - GDK_AXIS_WHEEL* = 6 - GDK_AXIS_LAST* = 7 - -proc GDK_TYPE_DEVICE*(): GType -proc GDK_DEVICE*(anObject: Pointer): PGdkDevice -proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass -proc GDK_IS_DEVICE*(anObject: Pointer): bool -proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool -proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass -proc gdk_device_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_device_get_type".} -proc gdk_device_set_source*(device: PGdkDevice, source: TGdkInputSource){.cdecl, - dynlib: gdklib, importc: "gdk_device_set_source".} -proc gdk_device_set_mode*(device: PGdkDevice, mode: TGdkInputMode): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_device_set_mode".} -proc gdk_device_set_key*(device: PGdkDevice, index: guint, keyval: guint, - modifiers: TGdkModifierType){.cdecl, dynlib: gdklib, - importc: "gdk_device_set_key".} -proc gdk_device_set_axis_use*(device: PGdkDevice, index: guint, use: TGdkAxisUse){. - cdecl, dynlib: gdklib, importc: "gdk_device_set_axis_use".} -proc gdk_device_get_state*(device: PGdkDevice, window: PGdkWindow, - axes: Pgdouble, mask: PGdkModifierType){.cdecl, - dynlib: gdklib, importc: "gdk_device_get_state".} -proc gdk_device_get_history*(device: PGdkDevice, window: PGdkWindow, - start: guint32, stop: guint32, - s: var PPGdkTimeCoord, n_events: Pgint): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_device_get_history".} -proc gdk_device_free_history*(events: PPGdkTimeCoord, n_events: gint){.cdecl, - dynlib: gdklib, importc: "gdk_device_free_history".} -proc gdk_device_get_axis*(device: PGdkDevice, axes: Pgdouble, use: TGdkAxisUse, - value: Pgdouble): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_device_get_axis".} -proc gdk_input_set_extension_events*(window: PGdkWindow, mask: gint, - mode: TGdkExtensionMode){.cdecl, - dynlib: gdklib, importc: "gdk_input_set_extension_events".} -proc gdk_device_get_core_pointer*(): PGdkDevice{.cdecl, dynlib: gdklib, - importc: "gdk_device_get_core_pointer".} -proc GDK_TYPE_KEYMAP*(): GType -proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap -proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass -proc GDK_IS_KEYMAP*(anObject: Pointer): bool -proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool -proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass -proc gdk_keymap_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_keymap_get_type".} -proc gdk_keymap_get_for_display*(display: PGdkDisplay): PGdkKeymap{.cdecl, - dynlib: gdklib, importc: "gdk_keymap_get_for_display".} -proc gdk_keymap_lookup_key*(keymap: PGdkKeymap, key: PGdkKeymapKey): guint{. - cdecl, dynlib: gdklib, importc: "gdk_keymap_lookup_key".} -proc gdk_keymap_translate_keyboard_state*(keymap: PGdkKeymap, - hardware_keycode: guint, state: TGdkModifierType, group: gint, - keyval: Pguint, effective_group: Pgint, level: Pgint, - consumed_modifiers: PGdkModifierType): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_keymap_translate_keyboard_state".} -proc gdk_keymap_get_entries_for_keyval*(keymap: PGdkKeymap, keyval: guint, - s: var PGdkKeymapKey, n_keys: Pgint): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_keymap_get_entries_for_keyval".} -proc gdk_keymap_get_entries_for_keycode*(keymap: PGdkKeymap, - hardware_keycode: guint, s: var PGdkKeymapKey, sasdf: var Pguint, - n_entries: Pgint): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_keymap_get_entries_for_keycode".} -proc gdk_keymap_get_direction*(keymap: PGdkKeymap): TPangoDirection{.cdecl, - dynlib: gdklib, importc: "gdk_keymap_get_direction".} -proc gdk_keyval_name*(keyval: guint): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_keyval_name".} -proc gdk_keyval_from_name*(keyval_name: cstring): guint{.cdecl, dynlib: gdklib, - importc: "gdk_keyval_from_name".} -proc gdk_keyval_convert_case*(symbol: guint, lower: Pguint, upper: Pguint){. - cdecl, dynlib: gdklib, importc: "gdk_keyval_convert_case".} -proc gdk_keyval_to_upper*(keyval: guint): guint{.cdecl, dynlib: gdklib, - importc: "gdk_keyval_to_upper".} -proc gdk_keyval_to_lower*(keyval: guint): guint{.cdecl, dynlib: gdklib, - importc: "gdk_keyval_to_lower".} -proc gdk_keyval_is_upper*(keyval: guint): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_keyval_is_upper".} -proc gdk_keyval_is_lower*(keyval: guint): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_keyval_is_lower".} -proc gdk_keyval_to_unicode*(keyval: guint): guint32{.cdecl, dynlib: gdklib, - importc: "gdk_keyval_to_unicode".} -proc gdk_unicode_to_keyval*(wc: guint32): guint{.cdecl, dynlib: gdklib, - importc: "gdk_unicode_to_keyval".} -const - GDK_KEY_VoidSymbol* = 0x00FFFFFF - GDK_KEY_BackSpace* = 0x0000FF08 - GDK_KEY_Tab* = 0x0000FF09 - GDK_KEY_Linefeed* = 0x0000FF0A - GDK_KEY_Clear* = 0x0000FF0B - GDK_KEY_Return* = 0x0000FF0D - GDK_KEY_Pause* = 0x0000FF13 - GDK_KEY_Scroll_Lock* = 0x0000FF14 - GDK_KEY_Sys_Req* = 0x0000FF15 - GDK_KEY_Escape* = 0x0000FF1B - GDK_KEY_Delete* = 0x0000FFFF - GDK_KEY_Multi_key* = 0x0000FF20 - GDK_KEY_Codeinput* = 0x0000FF37 - GDK_KEY_SingleCandidate* = 0x0000FF3C - GDK_KEY_MultipleCandidate* = 0x0000FF3D - GDK_KEY_PreviousCandidate* = 0x0000FF3E - GDK_KEY_Kanji* = 0x0000FF21 - GDK_KEY_Muhenkan* = 0x0000FF22 - GDK_KEY_Henkan_Mode* = 0x0000FF23 - GDK_KEY_Henkan* = 0x0000FF23 - GDK_KEY_Romaji* = 0x0000FF24 - GDK_KEY_Hiragana* = 0x0000FF25 - GDK_KEY_Katakana* = 0x0000FF26 - GDK_KEY_Hiragana_Katakana* = 0x0000FF27 - GDK_KEY_Zenkaku* = 0x0000FF28 - GDK_KEY_Hankaku* = 0x0000FF29 - GDK_KEY_Zenkaku_Hankaku* = 0x0000FF2A - GDK_KEY_Touroku* = 0x0000FF2B - GDK_KEY_Massyo* = 0x0000FF2C - GDK_KEY_Kana_Lock* = 0x0000FF2D - GDK_KEY_Kana_Shift* = 0x0000FF2E - GDK_KEY_Eisu_Shift* = 0x0000FF2F - GDK_KEY_Eisu_toggle* = 0x0000FF30 - GDK_KEY_Kanji_Bangou* = 0x0000FF37 - GDK_KEY_Zen_Koho* = 0x0000FF3D - GDK_KEY_Mae_Koho* = 0x0000FF3E - GDK_KEY_Home* = 0x0000FF50 - GDK_KEY_Left* = 0x0000FF51 - GDK_KEY_Up* = 0x0000FF52 - GDK_KEY_Right* = 0x0000FF53 - GDK_KEY_Down* = 0x0000FF54 - GDK_KEY_Prior* = 0x0000FF55 - GDK_KEY_Page_Up* = 0x0000FF55 - GDK_KEY_Next* = 0x0000FF56 - GDK_KEY_Page_Down* = 0x0000FF56 - GDK_KEY_End* = 0x0000FF57 - GDK_KEY_Begin* = 0x0000FF58 - GDK_KEY_Select* = 0x0000FF60 - GDK_KEY_Print* = 0x0000FF61 - GDK_KEY_Execute* = 0x0000FF62 - GDK_KEY_Insert* = 0x0000FF63 - GDK_KEY_Undo* = 0x0000FF65 - GDK_KEY_Redo* = 0x0000FF66 - GDK_KEY_Menu* = 0x0000FF67 - GDK_KEY_Find* = 0x0000FF68 - GDK_KEY_Cancel* = 0x0000FF69 - GDK_KEY_Help* = 0x0000FF6A - GDK_KEY_Break* = 0x0000FF6B - GDK_KEY_Mode_switch* = 0x0000FF7E - GDK_KEY_script_switch* = 0x0000FF7E - GDK_KEY_Num_Lock* = 0x0000FF7F - GDK_KEY_KP_Space* = 0x0000FF80 - GDK_KEY_KP_Tab* = 0x0000FF89 - GDK_KEY_KP_Enter* = 0x0000FF8D - GDK_KEY_KP_F1* = 0x0000FF91 - GDK_KEY_KP_F2* = 0x0000FF92 - GDK_KEY_KP_F3* = 0x0000FF93 - GDK_KEY_KP_F4* = 0x0000FF94 - GDK_KEY_KP_Home* = 0x0000FF95 - GDK_KEY_KP_Left* = 0x0000FF96 - GDK_KEY_KP_Up* = 0x0000FF97 - GDK_KEY_KP_Right* = 0x0000FF98 - GDK_KEY_KP_Down* = 0x0000FF99 - GDK_KEY_KP_Prior* = 0x0000FF9A - GDK_KEY_KP_Page_Up* = 0x0000FF9A - GDK_KEY_KP_Next* = 0x0000FF9B - GDK_KEY_KP_Page_Down* = 0x0000FF9B - GDK_KEY_KP_End* = 0x0000FF9C - GDK_KEY_KP_Begin* = 0x0000FF9D - GDK_KEY_KP_Insert* = 0x0000FF9E - GDK_KEY_KP_Delete* = 0x0000FF9F - GDK_KEY_KP_Equal* = 0x0000FFBD - GDK_KEY_KP_Multiply* = 0x0000FFAA - GDK_KEY_KP_Add* = 0x0000FFAB - GDK_KEY_KP_Separator* = 0x0000FFAC - GDK_KEY_KP_Subtract* = 0x0000FFAD - GDK_KEY_KP_Decimal* = 0x0000FFAE - GDK_KEY_KP_Divide* = 0x0000FFAF - GDK_KEY_KP_0* = 0x0000FFB0 - GDK_KEY_KP_1* = 0x0000FFB1 - GDK_KEY_KP_2* = 0x0000FFB2 - GDK_KEY_KP_3* = 0x0000FFB3 - GDK_KEY_KP_4* = 0x0000FFB4 - GDK_KEY_KP_5* = 0x0000FFB5 - GDK_KEY_KP_6* = 0x0000FFB6 - GDK_KEY_KP_7* = 0x0000FFB7 - GDK_KEY_KP_8* = 0x0000FFB8 - GDK_KEY_KP_9* = 0x0000FFB9 - GDK_KEY_F1* = 0x0000FFBE - GDK_KEY_F2* = 0x0000FFBF - GDK_KEY_F3* = 0x0000FFC0 - GDK_KEY_F4* = 0x0000FFC1 - GDK_KEY_F5* = 0x0000FFC2 - GDK_KEY_F6* = 0x0000FFC3 - GDK_KEY_F7* = 0x0000FFC4 - GDK_KEY_F8* = 0x0000FFC5 - GDK_KEY_F9* = 0x0000FFC6 - GDK_KEY_F10* = 0x0000FFC7 - GDK_KEY_F11* = 0x0000FFC8 - GDK_KEY_L1* = 0x0000FFC8 - GDK_KEY_F12* = 0x0000FFC9 - GDK_KEY_L2* = 0x0000FFC9 - GDK_KEY_F13* = 0x0000FFCA - GDK_KEY_L3* = 0x0000FFCA - GDK_KEY_F14* = 0x0000FFCB - GDK_KEY_L4* = 0x0000FFCB - GDK_KEY_F15* = 0x0000FFCC - GDK_KEY_L5* = 0x0000FFCC - GDK_KEY_F16* = 0x0000FFCD - GDK_KEY_L6* = 0x0000FFCD - GDK_KEY_F17* = 0x0000FFCE - GDK_KEY_L7* = 0x0000FFCE - GDK_KEY_F18* = 0x0000FFCF - GDK_KEY_L8* = 0x0000FFCF - GDK_KEY_F19* = 0x0000FFD0 - GDK_KEY_L9* = 0x0000FFD0 - GDK_KEY_F20* = 0x0000FFD1 - GDK_KEY_L10* = 0x0000FFD1 - GDK_KEY_F21* = 0x0000FFD2 - GDK_KEY_R1* = 0x0000FFD2 - GDK_KEY_F22* = 0x0000FFD3 - GDK_KEY_R2* = 0x0000FFD3 - GDK_KEY_F23* = 0x0000FFD4 - GDK_KEY_R3* = 0x0000FFD4 - GDK_KEY_F24* = 0x0000FFD5 - GDK_KEY_R4* = 0x0000FFD5 - GDK_KEY_F25* = 0x0000FFD6 - GDK_KEY_R5* = 0x0000FFD6 - GDK_KEY_F26* = 0x0000FFD7 - GDK_KEY_R6* = 0x0000FFD7 - GDK_KEY_F27* = 0x0000FFD8 - GDK_KEY_R7* = 0x0000FFD8 - GDK_KEY_F28* = 0x0000FFD9 - GDK_KEY_R8* = 0x0000FFD9 - GDK_KEY_F29* = 0x0000FFDA - GDK_KEY_R9* = 0x0000FFDA - GDK_KEY_F30* = 0x0000FFDB - GDK_KEY_R10* = 0x0000FFDB - GDK_KEY_F31* = 0x0000FFDC - GDK_KEY_R11* = 0x0000FFDC - GDK_KEY_F32* = 0x0000FFDD - GDK_KEY_R12* = 0x0000FFDD - GDK_KEY_F33* = 0x0000FFDE - GDK_KEY_R13* = 0x0000FFDE - GDK_KEY_F34* = 0x0000FFDF - GDK_KEY_R14* = 0x0000FFDF - GDK_KEY_F35* = 0x0000FFE0 - GDK_KEY_R15* = 0x0000FFE0 - GDK_KEY_Shift_L* = 0x0000FFE1 - GDK_KEY_Shift_R* = 0x0000FFE2 - GDK_KEY_Control_L* = 0x0000FFE3 - GDK_KEY_Control_R* = 0x0000FFE4 - GDK_KEY_Caps_Lock* = 0x0000FFE5 - GDK_KEY_Shift_Lock* = 0x0000FFE6 - GDK_KEY_Meta_L* = 0x0000FFE7 - GDK_KEY_Meta_R* = 0x0000FFE8 - GDK_KEY_Alt_L* = 0x0000FFE9 - GDK_KEY_Alt_R* = 0x0000FFEA - GDK_KEY_Super_L* = 0x0000FFEB - GDK_KEY_Super_R* = 0x0000FFEC - GDK_KEY_Hyper_L* = 0x0000FFED - GDK_KEY_Hyper_R* = 0x0000FFEE - GDK_KEY_ISO_Lock* = 0x0000FE01 - GDK_KEY_ISO_Level2_Latch* = 0x0000FE02 - GDK_KEY_ISO_Level3_Shift* = 0x0000FE03 - GDK_KEY_ISO_Level3_Latch* = 0x0000FE04 - GDK_KEY_ISO_Level3_Lock* = 0x0000FE05 - GDK_KEY_ISO_Group_Shift* = 0x0000FF7E - GDK_KEY_ISO_Group_Latch* = 0x0000FE06 - GDK_KEY_ISO_Group_Lock* = 0x0000FE07 - GDK_KEY_ISO_Next_Group* = 0x0000FE08 - GDK_KEY_ISO_Next_Group_Lock* = 0x0000FE09 - GDK_KEY_ISO_Prev_Group* = 0x0000FE0A - GDK_KEY_ISO_Prev_Group_Lock* = 0x0000FE0B - GDK_KEY_ISO_First_Group* = 0x0000FE0C - GDK_KEY_ISO_First_Group_Lock* = 0x0000FE0D - GDK_KEY_ISO_Last_Group* = 0x0000FE0E - GDK_KEY_ISO_Last_Group_Lock* = 0x0000FE0F - GDK_KEY_ISO_Left_Tab* = 0x0000FE20 - GDK_KEY_ISO_Move_Line_Up* = 0x0000FE21 - GDK_KEY_ISO_Move_Line_Down* = 0x0000FE22 - GDK_KEY_ISO_Partial_Line_Up* = 0x0000FE23 - GDK_KEY_ISO_Partial_Line_Down* = 0x0000FE24 - GDK_KEY_ISO_Partial_Space_Left* = 0x0000FE25 - GDK_KEY_ISO_Partial_Space_Right* = 0x0000FE26 - GDK_KEY_ISO_Set_Margin_Left* = 0x0000FE27 - GDK_KEY_ISO_Set_Margin_Right* = 0x0000FE28 - GDK_KEY_ISO_Release_Margin_Left* = 0x0000FE29 - GDK_KEY_ISO_Release_Margin_Right* = 0x0000FE2A - GDK_KEY_ISO_Release_Both_Margins* = 0x0000FE2B - GDK_KEY_ISO_Fast_Cursor_Left* = 0x0000FE2C - GDK_KEY_ISO_Fast_Cursor_Right* = 0x0000FE2D - GDK_KEY_ISO_Fast_Cursor_Up* = 0x0000FE2E - GDK_KEY_ISO_Fast_Cursor_Down* = 0x0000FE2F - GDK_KEY_ISO_Continuous_Underline* = 0x0000FE30 - GDK_KEY_ISO_Discontinuous_Underline* = 0x0000FE31 - GDK_KEY_ISO_Emphasize* = 0x0000FE32 - GDK_KEY_ISO_Center_Object* = 0x0000FE33 - GDK_KEY_ISO_Enter* = 0x0000FE34 - GDK_KEY_dead_grave* = 0x0000FE50 - GDK_KEY_dead_acute* = 0x0000FE51 - GDK_KEY_dead_circumflex* = 0x0000FE52 - GDK_KEY_dead_tilde* = 0x0000FE53 - GDK_KEY_dead_macron* = 0x0000FE54 - GDK_KEY_dead_breve* = 0x0000FE55 - GDK_KEY_dead_abovedot* = 0x0000FE56 - GDK_KEY_dead_diaeresis* = 0x0000FE57 - GDK_KEY_dead_abovering* = 0x0000FE58 - GDK_KEY_dead_doubleacute* = 0x0000FE59 - GDK_KEY_dead_caron* = 0x0000FE5A - GDK_KEY_dead_cedilla* = 0x0000FE5B - GDK_KEY_dead_ogonek* = 0x0000FE5C - GDK_KEY_dead_iota* = 0x0000FE5D - GDK_KEY_dead_voiced_sound* = 0x0000FE5E - GDK_KEY_dead_semivoiced_sound* = 0x0000FE5F - GDK_KEY_dead_belowdot* = 0x0000FE60 - GDK_KEY_First_Virtual_Screen* = 0x0000FED0 - GDK_KEY_Prev_Virtual_Screen* = 0x0000FED1 - GDK_KEY_Next_Virtual_Screen* = 0x0000FED2 - GDK_KEY_Last_Virtual_Screen* = 0x0000FED4 - GDK_KEY_Terminate_Server* = 0x0000FED5 - GDK_KEY_AccessX_Enable* = 0x0000FE70 - GDK_KEY_AccessX_Feedback_Enable* = 0x0000FE71 - GDK_KEY_RepeatKeys_Enable* = 0x0000FE72 - GDK_KEY_SlowKeys_Enable* = 0x0000FE73 - GDK_KEY_BounceKeys_Enable* = 0x0000FE74 - GDK_KEY_StickyKeys_Enable* = 0x0000FE75 - GDK_KEY_MouseKeys_Enable* = 0x0000FE76 - GDK_KEY_MouseKeys_Accel_Enable* = 0x0000FE77 - GDK_KEY_Overlay1_Enable* = 0x0000FE78 - GDK_KEY_Overlay2_Enable* = 0x0000FE79 - GDK_KEY_AudibleBell_Enable* = 0x0000FE7A - GDK_KEY_Pointer_Left* = 0x0000FEE0 - GDK_KEY_Pointer_Right* = 0x0000FEE1 - GDK_KEY_Pointer_Up* = 0x0000FEE2 - GDK_KEY_Pointer_Down* = 0x0000FEE3 - GDK_KEY_Pointer_UpLeft* = 0x0000FEE4 - GDK_KEY_Pointer_UpRight* = 0x0000FEE5 - GDK_KEY_Pointer_DownLeft* = 0x0000FEE6 - GDK_KEY_Pointer_DownRight* = 0x0000FEE7 - GDK_KEY_Pointer_Button_Dflt* = 0x0000FEE8 - GDK_KEY_Pointer_Button1* = 0x0000FEE9 - GDK_KEY_Pointer_Button2* = 0x0000FEEA - GDK_KEY_Pointer_Button3* = 0x0000FEEB - GDK_KEY_Pointer_Button4* = 0x0000FEEC - GDK_KEY_Pointer_Button5* = 0x0000FEED - GDK_KEY_Pointer_DblClick_Dflt* = 0x0000FEEE - GDK_KEY_Pointer_DblClick1* = 0x0000FEEF - GDK_KEY_Pointer_DblClick2* = 0x0000FEF0 - GDK_KEY_Pointer_DblClick3* = 0x0000FEF1 - GDK_KEY_Pointer_DblClick4* = 0x0000FEF2 - GDK_KEY_Pointer_DblClick5* = 0x0000FEF3 - GDK_KEY_Pointer_Drag_Dflt* = 0x0000FEF4 - GDK_KEY_Pointer_Drag1* = 0x0000FEF5 - GDK_KEY_Pointer_Drag2* = 0x0000FEF6 - GDK_KEY_Pointer_Drag3* = 0x0000FEF7 - GDK_KEY_Pointer_Drag4* = 0x0000FEF8 - GDK_KEY_Pointer_Drag5* = 0x0000FEFD - GDK_KEY_Pointer_EnableKeys* = 0x0000FEF9 - GDK_KEY_Pointer_Accelerate* = 0x0000FEFA - GDK_KEY_Pointer_DfltBtnNext* = 0x0000FEFB - GDK_KEY_Pointer_DfltBtnPrev* = 0x0000FEFC - GDK_KEY_3270_Duplicate* = 0x0000FD01 - GDK_KEY_3270_FieldMark* = 0x0000FD02 - GDK_KEY_3270_Right2* = 0x0000FD03 - GDK_KEY_3270_Left2* = 0x0000FD04 - GDK_KEY_3270_BackTab* = 0x0000FD05 - GDK_KEY_3270_EraseEOF* = 0x0000FD06 - GDK_KEY_3270_EraseInput* = 0x0000FD07 - GDK_KEY_3270_Reset* = 0x0000FD08 - GDK_KEY_3270_Quit* = 0x0000FD09 - GDK_KEY_3270_PA1* = 0x0000FD0A - GDK_KEY_3270_PA2* = 0x0000FD0B - GDK_KEY_3270_PA3* = 0x0000FD0C - GDK_KEY_3270_Test* = 0x0000FD0D - GDK_KEY_3270_Attn* = 0x0000FD0E - GDK_KEY_3270_CursorBlink* = 0x0000FD0F - GDK_KEY_3270_AltCursor* = 0x0000FD10 - GDK_KEY_3270_KeyClick* = 0x0000FD11 - GDK_KEY_3270_Jump* = 0x0000FD12 - GDK_KEY_3270_Ident* = 0x0000FD13 - GDK_KEY_3270_Rule* = 0x0000FD14 - GDK_KEY_3270_Copy* = 0x0000FD15 - GDK_KEY_3270_Play* = 0x0000FD16 - GDK_KEY_3270_Setup* = 0x0000FD17 - GDK_KEY_3270_Record* = 0x0000FD18 - GDK_KEY_3270_ChangeScreen* = 0x0000FD19 - GDK_KEY_3270_DeleteWord* = 0x0000FD1A - GDK_KEY_3270_ExSelect* = 0x0000FD1B - GDK_KEY_3270_CursorSelect* = 0x0000FD1C - GDK_KEY_3270_PrintScreen* = 0x0000FD1D - GDK_KEY_3270_Enter* = 0x0000FD1E - GDK_KEY_space* = 0x00000020 - GDK_KEY_exclam* = 0x00000021 - GDK_KEY_quotedbl* = 0x00000022 - GDK_KEY_numbersign* = 0x00000023 - GDK_KEY_dollar* = 0x00000024 - GDK_KEY_percent* = 0x00000025 - GDK_KEY_ampersand* = 0x00000026 - GDK_KEY_apostrophe* = 0x00000027 - GDK_KEY_quoteright* = 0x00000027 - GDK_KEY_parenleft* = 0x00000028 - GDK_KEY_parenright* = 0x00000029 - GDK_KEY_asterisk* = 0x0000002A - GDK_KEY_plus* = 0x0000002B - GDK_KEY_comma* = 0x0000002C - GDK_KEY_minus* = 0x0000002D - GDK_KEY_period* = 0x0000002E - GDK_KEY_slash* = 0x0000002F - GDK_KEY_0* = 0x00000030 - GDK_KEY_1* = 0x00000031 - GDK_KEY_2* = 0x00000032 - GDK_KEY_3* = 0x00000033 - GDK_KEY_4* = 0x00000034 - GDK_KEY_5* = 0x00000035 - GDK_KEY_6* = 0x00000036 - GDK_KEY_7* = 0x00000037 - GDK_KEY_8* = 0x00000038 - GDK_KEY_9* = 0x00000039 - GDK_KEY_colon* = 0x0000003A - GDK_KEY_semicolon* = 0x0000003B - GDK_KEY_less* = 0x0000003C - GDK_KEY_equal* = 0x0000003D - GDK_KEY_greater* = 0x0000003E - GDK_KEY_question* = 0x0000003F - GDK_KEY_at* = 0x00000040 - GDK_KEY_CAPITAL_A* = 0x00000041 - GDK_KEY_CAPITAL_B* = 0x00000042 - GDK_KEY_CAPITAL_C* = 0x00000043 - GDK_KEY_CAPITAL_D* = 0x00000044 - GDK_KEY_CAPITAL_E* = 0x00000045 - GDK_KEY_CAPITAL_F* = 0x00000046 - GDK_KEY_CAPITAL_G* = 0x00000047 - GDK_KEY_CAPITAL_H* = 0x00000048 - GDK_KEY_CAPITAL_I* = 0x00000049 - GDK_KEY_CAPITAL_J* = 0x0000004A - GDK_KEY_CAPITAL_K* = 0x0000004B - GDK_KEY_CAPITAL_L* = 0x0000004C - GDK_KEY_CAPITAL_M* = 0x0000004D - GDK_KEY_CAPITAL_N* = 0x0000004E - GDK_KEY_CAPITAL_O* = 0x0000004F - GDK_KEY_CAPITAL_P* = 0x00000050 - GDK_KEY_CAPITAL_Q* = 0x00000051 - GDK_KEY_CAPITAL_R* = 0x00000052 - GDK_KEY_CAPITAL_S* = 0x00000053 - GDK_KEY_CAPITAL_T* = 0x00000054 - GDK_KEY_CAPITAL_U* = 0x00000055 - GDK_KEY_CAPITAL_V* = 0x00000056 - GDK_KEY_CAPITAL_W* = 0x00000057 - GDK_KEY_CAPITAL_X* = 0x00000058 - GDK_KEY_CAPITAL_Y* = 0x00000059 - GDK_KEY_CAPITAL_Z* = 0x0000005A - GDK_KEY_bracketleft* = 0x0000005B - GDK_KEY_backslash* = 0x0000005C - GDK_KEY_bracketright* = 0x0000005D - GDK_KEY_asciicircum* = 0x0000005E - GDK_KEY_underscore* = 0x0000005F - GDK_KEY_grave* = 0x00000060 - GDK_KEY_quoteleft* = 0x00000060 - GDK_KEY_a* = 0x00000061 - GDK_KEY_b* = 0x00000062 - GDK_KEY_c* = 0x00000063 - GDK_KEY_d* = 0x00000064 - GDK_KEY_e* = 0x00000065 - GDK_KEY_f* = 0x00000066 - GDK_KEY_g* = 0x00000067 - GDK_KEY_h* = 0x00000068 - GDK_KEY_i* = 0x00000069 - GDK_KEY_j* = 0x0000006A - GDK_KEY_k* = 0x0000006B - GDK_KEY_l* = 0x0000006C - GDK_KEY_m* = 0x0000006D - GDK_KEY_n* = 0x0000006E - GDK_KEY_o* = 0x0000006F - GDK_KEY_p* = 0x00000070 - GDK_KEY_q* = 0x00000071 - GDK_KEY_r* = 0x00000072 - GDK_KEY_s* = 0x00000073 - GDK_KEY_t* = 0x00000074 - GDK_KEY_u* = 0x00000075 - GDK_KEY_v* = 0x00000076 - GDK_KEY_w* = 0x00000077 - GDK_KEY_x* = 0x00000078 - GDK_KEY_y* = 0x00000079 - GDK_KEY_z* = 0x0000007A - GDK_KEY_braceleft* = 0x0000007B - GDK_KEY_bar* = 0x0000007C - GDK_KEY_braceright* = 0x0000007D - GDK_KEY_asciitilde* = 0x0000007E - GDK_KEY_nobreakspace* = 0x000000A0 - GDK_KEY_exclamdown* = 0x000000A1 - GDK_KEY_cent* = 0x000000A2 - GDK_KEY_sterling* = 0x000000A3 - GDK_KEY_currency* = 0x000000A4 - GDK_KEY_yen* = 0x000000A5 - GDK_KEY_brokenbar* = 0x000000A6 - GDK_KEY_section* = 0x000000A7 - GDK_KEY_diaeresis* = 0x000000A8 - GDK_KEY_copyright* = 0x000000A9 - GDK_KEY_ordfeminine* = 0x000000AA - GDK_KEY_guillemotleft* = 0x000000AB - GDK_KEY_notsign* = 0x000000AC - GDK_KEY_hyphen* = 0x000000AD - GDK_KEY_registered* = 0x000000AE - GDK_KEY_macron* = 0x000000AF - GDK_KEY_degree* = 0x000000B0 - GDK_KEY_plusminus* = 0x000000B1 - GDK_KEY_twosuperior* = 0x000000B2 - GDK_KEY_threesuperior* = 0x000000B3 - GDK_KEY_acute* = 0x000000B4 - GDK_KEY_mu* = 0x000000B5 - GDK_KEY_paragraph* = 0x000000B6 - GDK_KEY_periodcentered* = 0x000000B7 - GDK_KEY_cedilla* = 0x000000B8 - GDK_KEY_onesuperior* = 0x000000B9 - GDK_KEY_masculine* = 0x000000BA - GDK_KEY_guillemotright* = 0x000000BB - GDK_KEY_onequarter* = 0x000000BC - GDK_KEY_onehalf* = 0x000000BD - GDK_KEY_threequarters* = 0x000000BE - GDK_KEY_questiondown* = 0x000000BF - GDK_KEY_CAPITAL_Agrave* = 0x000000C0 - GDK_KEY_CAPITAL_Aacute* = 0x000000C1 - GDK_KEY_CAPITAL_Acircumflex* = 0x000000C2 - GDK_KEY_CAPITAL_Atilde* = 0x000000C3 - GDK_KEY_CAPITAL_Adiaeresis* = 0x000000C4 - GDK_KEY_CAPITAL_Aring* = 0x000000C5 - GDK_KEY_CAPITAL_AE* = 0x000000C6 - GDK_KEY_CAPITAL_Ccedilla* = 0x000000C7 - GDK_KEY_CAPITAL_Egrave* = 0x000000C8 - GDK_KEY_CAPITAL_Eacute* = 0x000000C9 - GDK_KEY_CAPITAL_Ecircumflex* = 0x000000CA - GDK_KEY_CAPITAL_Ediaeresis* = 0x000000CB - GDK_KEY_CAPITAL_Igrave* = 0x000000CC - GDK_KEY_CAPITAL_Iacute* = 0x000000CD - GDK_KEY_CAPITAL_Icircumflex* = 0x000000CE - GDK_KEY_CAPITAL_Idiaeresis* = 0x000000CF - GDK_KEY_CAPITAL_ETH* = 0x000000D0 - GDK_KEY_CAPITAL_Ntilde* = 0x000000D1 - GDK_KEY_CAPITAL_Ograve* = 0x000000D2 - GDK_KEY_CAPITAL_Oacute* = 0x000000D3 - GDK_KEY_CAPITAL_Ocircumflex* = 0x000000D4 - GDK_KEY_CAPITAL_Otilde* = 0x000000D5 - GDK_KEY_CAPITAL_Odiaeresis* = 0x000000D6 - GDK_KEY_multiply* = 0x000000D7 - GDK_KEY_Ooblique* = 0x000000D8 - GDK_KEY_CAPITAL_Ugrave* = 0x000000D9 - GDK_KEY_CAPITAL_Uacute* = 0x000000DA - GDK_KEY_CAPITAL_Ucircumflex* = 0x000000DB - GDK_KEY_CAPITAL_Udiaeresis* = 0x000000DC - GDK_KEY_CAPITAL_Yacute* = 0x000000DD - GDK_KEY_CAPITAL_THORN* = 0x000000DE - GDK_KEY_ssharp* = 0x000000DF - GDK_KEY_agrave* = 0x000000E0 - GDK_KEY_aacute* = 0x000000E1 - GDK_KEY_acircumflex* = 0x000000E2 - GDK_KEY_atilde* = 0x000000E3 - GDK_KEY_adiaeresis* = 0x000000E4 - GDK_KEY_aring* = 0x000000E5 - GDK_KEY_ae* = 0x000000E6 - GDK_KEY_ccedilla* = 0x000000E7 - GDK_KEY_egrave* = 0x000000E8 - GDK_KEY_eacute* = 0x000000E9 - GDK_KEY_ecircumflex* = 0x000000EA - GDK_KEY_ediaeresis* = 0x000000EB - GDK_KEY_igrave* = 0x000000EC - GDK_KEY_iacute* = 0x000000ED - GDK_KEY_icircumflex* = 0x000000EE - GDK_KEY_idiaeresis* = 0x000000EF - GDK_KEY_eth* = 0x000000F0 - GDK_KEY_ntilde* = 0x000000F1 - GDK_KEY_ograve* = 0x000000F2 - GDK_KEY_oacute* = 0x000000F3 - GDK_KEY_ocircumflex* = 0x000000F4 - GDK_KEY_otilde* = 0x000000F5 - GDK_KEY_odiaeresis* = 0x000000F6 - GDK_KEY_division* = 0x000000F7 - GDK_KEY_oslash* = 0x000000F8 - GDK_KEY_ugrave* = 0x000000F9 - GDK_KEY_uacute* = 0x000000FA - GDK_KEY_ucircumflex* = 0x000000FB - GDK_KEY_udiaeresis* = 0x000000FC - GDK_KEY_yacute* = 0x000000FD - GDK_KEY_thorn* = 0x000000FE - GDK_KEY_ydiaeresis* = 0x000000FF - GDK_KEY_CAPITAL_Aogonek* = 0x000001A1 - GDK_KEY_breve* = 0x000001A2 - GDK_KEY_CAPITAL_Lstroke* = 0x000001A3 - GDK_KEY_CAPITAL_Lcaron* = 0x000001A5 - GDK_KEY_CAPITAL_Sacute* = 0x000001A6 - GDK_KEY_CAPITAL_Scaron* = 0x000001A9 - GDK_KEY_CAPITAL_Scedilla* = 0x000001AA - GDK_KEY_CAPITAL_Tcaron* = 0x000001AB - GDK_KEY_CAPITAL_Zacute* = 0x000001AC - GDK_KEY_CAPITAL_Zcaron* = 0x000001AE - GDK_KEY_CAPITAL_Zabovedot* = 0x000001AF - GDK_KEY_aogonek* = 0x000001B1 - GDK_KEY_ogonek* = 0x000001B2 - GDK_KEY_lstroke* = 0x000001B3 - GDK_KEY_lcaron* = 0x000001B5 - GDK_KEY_sacute* = 0x000001B6 - GDK_KEY_caron* = 0x000001B7 - GDK_KEY_scaron* = 0x000001B9 - GDK_KEY_scedilla* = 0x000001BA - GDK_KEY_tcaron* = 0x000001BB - GDK_KEY_zacute* = 0x000001BC - GDK_KEY_doubleacute* = 0x000001BD - GDK_KEY_zcaron* = 0x000001BE - GDK_KEY_zabovedot* = 0x000001BF - GDK_KEY_CAPITAL_Racute* = 0x000001C0 - GDK_KEY_CAPITAL_Abreve* = 0x000001C3 - GDK_KEY_CAPITAL_Lacute* = 0x000001C5 - GDK_KEY_CAPITAL_Cacute* = 0x000001C6 - GDK_KEY_CAPITAL_Ccaron* = 0x000001C8 - GDK_KEY_CAPITAL_Eogonek* = 0x000001CA - GDK_KEY_CAPITAL_Ecaron* = 0x000001CC - GDK_KEY_CAPITAL_Dcaron* = 0x000001CF - GDK_KEY_CAPITAL_Dstroke* = 0x000001D0 - GDK_KEY_CAPITAL_Nacute* = 0x000001D1 - GDK_KEY_CAPITAL_Ncaron* = 0x000001D2 - GDK_KEY_CAPITAL_Odoubleacute* = 0x000001D5 - GDK_KEY_CAPITAL_Rcaron* = 0x000001D8 - GDK_KEY_CAPITAL_Uring* = 0x000001D9 - GDK_KEY_CAPITAL_Udoubleacute* = 0x000001DB - GDK_KEY_CAPITAL_Tcedilla* = 0x000001DE - GDK_KEY_racute* = 0x000001E0 - GDK_KEY_abreve* = 0x000001E3 - GDK_KEY_lacute* = 0x000001E5 - GDK_KEY_cacute* = 0x000001E6 - GDK_KEY_ccaron* = 0x000001E8 - GDK_KEY_eogonek* = 0x000001EA - GDK_KEY_ecaron* = 0x000001EC - GDK_KEY_dcaron* = 0x000001EF - GDK_KEY_dstroke* = 0x000001F0 - GDK_KEY_nacute* = 0x000001F1 - GDK_KEY_ncaron* = 0x000001F2 - GDK_KEY_odoubleacute* = 0x000001F5 - GDK_KEY_udoubleacute* = 0x000001FB - GDK_KEY_rcaron* = 0x000001F8 - GDK_KEY_uring* = 0x000001F9 - GDK_KEY_tcedilla* = 0x000001FE - GDK_KEY_abovedot* = 0x000001FF - GDK_KEY_CAPITAL_Hstroke* = 0x000002A1 - GDK_KEY_CAPITAL_Hcircumflex* = 0x000002A6 - GDK_KEY_CAPITAL_Iabovedot* = 0x000002A9 - GDK_KEY_CAPITAL_Gbreve* = 0x000002AB - GDK_KEY_CAPITAL_Jcircumflex* = 0x000002AC - GDK_KEY_hstroke* = 0x000002B1 - GDK_KEY_hcircumflex* = 0x000002B6 - GDK_KEY_idotless* = 0x000002B9 - GDK_KEY_gbreve* = 0x000002BB - GDK_KEY_jcircumflex* = 0x000002BC - GDK_KEY_CAPITAL_Cabovedot* = 0x000002C5 - GDK_KEY_CAPITAL_Ccircumflex* = 0x000002C6 - GDK_KEY_CAPITAL_Gabovedot* = 0x000002D5 - GDK_KEY_CAPITAL_Gcircumflex* = 0x000002D8 - GDK_KEY_CAPITAL_Ubreve* = 0x000002DD - GDK_KEY_CAPITAL_Scircumflex* = 0x000002DE - GDK_KEY_cabovedot* = 0x000002E5 - GDK_KEY_ccircumflex* = 0x000002E6 - GDK_KEY_gabovedot* = 0x000002F5 - GDK_KEY_gcircumflex* = 0x000002F8 - GDK_KEY_ubreve* = 0x000002FD - GDK_KEY_scircumflex* = 0x000002FE - GDK_KEY_kra* = 0x000003A2 - GDK_KEY_kappa* = 0x000003A2 - GDK_KEY_CAPITAL_Rcedilla* = 0x000003A3 - GDK_KEY_CAPITAL_Itilde* = 0x000003A5 - GDK_KEY_CAPITAL_Lcedilla* = 0x000003A6 - GDK_KEY_CAPITAL_Emacron* = 0x000003AA - GDK_KEY_CAPITAL_Gcedilla* = 0x000003AB - GDK_KEY_CAPITAL_Tslash* = 0x000003AC - GDK_KEY_rcedilla* = 0x000003B3 - GDK_KEY_itilde* = 0x000003B5 - GDK_KEY_lcedilla* = 0x000003B6 - GDK_KEY_emacron* = 0x000003BA - GDK_KEY_gcedilla* = 0x000003BB - GDK_KEY_tslash* = 0x000003BC - GDK_KEY_CAPITAL_ENG* = 0x000003BD - GDK_KEY_eng* = 0x000003BF - GDK_KEY_CAPITAL_Amacron* = 0x000003C0 - GDK_KEY_CAPITAL_Iogonek* = 0x000003C7 - GDK_KEY_CAPITAL_Eabovedot* = 0x000003CC - GDK_KEY_CAPITAL_Imacron* = 0x000003CF - GDK_KEY_CAPITAL_Ncedilla* = 0x000003D1 - GDK_KEY_CAPITAL_Omacron* = 0x000003D2 - GDK_KEY_CAPITAL_Kcedilla* = 0x000003D3 - GDK_KEY_CAPITAL_Uogonek* = 0x000003D9 - GDK_KEY_CAPITAL_Utilde* = 0x000003DD - GDK_KEY_CAPITAL_Umacron* = 0x000003DE - GDK_KEY_amacron* = 0x000003E0 - GDK_KEY_iogonek* = 0x000003E7 - GDK_KEY_eabovedot* = 0x000003EC - GDK_KEY_imacron* = 0x000003EF - GDK_KEY_ncedilla* = 0x000003F1 - GDK_KEY_omacron* = 0x000003F2 - GDK_KEY_kcedilla* = 0x000003F3 - GDK_KEY_uogonek* = 0x000003F9 - GDK_KEY_utilde* = 0x000003FD - GDK_KEY_umacron* = 0x000003FE - GDK_KEY_CAPITAL_OE* = 0x000013BC - GDK_KEY_oe* = 0x000013BD - GDK_KEY_CAPITAL_Ydiaeresis* = 0x000013BE - GDK_KEY_overline* = 0x0000047E - GDK_KEY_kana_fullstop* = 0x000004A1 - GDK_KEY_kana_openingbracket* = 0x000004A2 - GDK_KEY_kana_closingbracket* = 0x000004A3 - GDK_KEY_kana_comma* = 0x000004A4 - GDK_KEY_kana_conjunctive* = 0x000004A5 - GDK_KEY_kana_middledot* = 0x000004A5 - GDK_KEY_kana_WO* = 0x000004A6 - GDK_KEY_kana_a* = 0x000004A7 - GDK_KEY_kana_i* = 0x000004A8 - GDK_KEY_kana_u* = 0x000004A9 - GDK_KEY_kana_e* = 0x000004AA - GDK_KEY_kana_o* = 0x000004AB - GDK_KEY_kana_ya* = 0x000004AC - GDK_KEY_kana_yu* = 0x000004AD - GDK_KEY_kana_yo* = 0x000004AE - GDK_KEY_kana_tsu* = 0x000004AF - GDK_KEY_kana_tu* = 0x000004AF - GDK_KEY_prolongedsound* = 0x000004B0 - GDK_KEY_kana_CAPITAL_A* = 0x000004B1 - GDK_KEY_kana_CAPITAL_I* = 0x000004B2 - GDK_KEY_kana_CAPITAL_U* = 0x000004B3 - GDK_KEY_kana_CAPITAL_E* = 0x000004B4 - GDK_KEY_kana_CAPITAL_O* = 0x000004B5 - GDK_KEY_kana_KA* = 0x000004B6 - GDK_KEY_kana_KI* = 0x000004B7 - GDK_KEY_kana_KU* = 0x000004B8 - GDK_KEY_kana_KE* = 0x000004B9 - GDK_KEY_kana_KO* = 0x000004BA - GDK_KEY_kana_SA* = 0x000004BB - GDK_KEY_kana_SHI* = 0x000004BC - GDK_KEY_kana_SU* = 0x000004BD - GDK_KEY_kana_SE* = 0x000004BE - GDK_KEY_kana_SO* = 0x000004BF - GDK_KEY_kana_TA* = 0x000004C0 - GDK_KEY_kana_CHI* = 0x000004C1 - GDK_KEY_kana_TI* = 0x000004C1 - GDK_KEY_kana_CAPITAL_TSU* = 0x000004C2 - GDK_KEY_kana_CAPITAL_TU* = 0x000004C2 - GDK_KEY_kana_TE* = 0x000004C3 - GDK_KEY_kana_TO* = 0x000004C4 - GDK_KEY_kana_NA* = 0x000004C5 - GDK_KEY_kana_NI* = 0x000004C6 - GDK_KEY_kana_NU* = 0x000004C7 - GDK_KEY_kana_NE* = 0x000004C8 - GDK_KEY_kana_NO* = 0x000004C9 - GDK_KEY_kana_HA* = 0x000004CA - GDK_KEY_kana_HI* = 0x000004CB - GDK_KEY_kana_FU* = 0x000004CC - GDK_KEY_kana_HU* = 0x000004CC - GDK_KEY_kana_HE* = 0x000004CD - GDK_KEY_kana_HO* = 0x000004CE - GDK_KEY_kana_MA* = 0x000004CF - GDK_KEY_kana_MI* = 0x000004D0 - GDK_KEY_kana_MU* = 0x000004D1 - GDK_KEY_kana_ME* = 0x000004D2 - GDK_KEY_kana_MO* = 0x000004D3 - GDK_KEY_kana_CAPITAL_YA* = 0x000004D4 - GDK_KEY_kana_CAPITAL_YU* = 0x000004D5 - GDK_KEY_kana_CAPITAL_YO* = 0x000004D6 - GDK_KEY_kana_RA* = 0x000004D7 - GDK_KEY_kana_RI* = 0x000004D8 - GDK_KEY_kana_RU* = 0x000004D9 - GDK_KEY_kana_RE* = 0x000004DA - GDK_KEY_kana_RO* = 0x000004DB - GDK_KEY_kana_WA* = 0x000004DC - GDK_KEY_kana_N* = 0x000004DD - GDK_KEY_voicedsound* = 0x000004DE - GDK_KEY_semivoicedsound* = 0x000004DF - GDK_KEY_kana_switch* = 0x0000FF7E - GDK_KEY_Arabic_comma* = 0x000005AC - GDK_KEY_Arabic_semicolon* = 0x000005BB - GDK_KEY_Arabic_question_mark* = 0x000005BF - GDK_KEY_Arabic_hamza* = 0x000005C1 - GDK_KEY_Arabic_maddaonalef* = 0x000005C2 - GDK_KEY_Arabic_hamzaonalef* = 0x000005C3 - GDK_KEY_Arabic_hamzaonwaw* = 0x000005C4 - GDK_KEY_Arabic_hamzaunderalef* = 0x000005C5 - GDK_KEY_Arabic_hamzaonyeh* = 0x000005C6 - GDK_KEY_Arabic_alef* = 0x000005C7 - GDK_KEY_Arabic_beh* = 0x000005C8 - GDK_KEY_Arabic_tehmarbuta* = 0x000005C9 - GDK_KEY_Arabic_teh* = 0x000005CA - GDK_KEY_Arabic_theh* = 0x000005CB - GDK_KEY_Arabic_jeem* = 0x000005CC - GDK_KEY_Arabic_hah* = 0x000005CD - GDK_KEY_Arabic_khah* = 0x000005CE - GDK_KEY_Arabic_dal* = 0x000005CF - GDK_KEY_Arabic_thal* = 0x000005D0 - GDK_KEY_Arabic_ra* = 0x000005D1 - GDK_KEY_Arabic_zain* = 0x000005D2 - GDK_KEY_Arabic_seen* = 0x000005D3 - GDK_KEY_Arabic_sheen* = 0x000005D4 - GDK_KEY_Arabic_sad* = 0x000005D5 - GDK_KEY_Arabic_dad* = 0x000005D6 - GDK_KEY_Arabic_tah* = 0x000005D7 - GDK_KEY_Arabic_zah* = 0x000005D8 - GDK_KEY_Arabic_ain* = 0x000005D9 - GDK_KEY_Arabic_ghain* = 0x000005DA - GDK_KEY_Arabic_tatweel* = 0x000005E0 - GDK_KEY_Arabic_feh* = 0x000005E1 - GDK_KEY_Arabic_qaf* = 0x000005E2 - GDK_KEY_Arabic_kaf* = 0x000005E3 - GDK_KEY_Arabic_lam* = 0x000005E4 - GDK_KEY_Arabic_meem* = 0x000005E5 - GDK_KEY_Arabic_noon* = 0x000005E6 - GDK_KEY_Arabic_ha* = 0x000005E7 - GDK_KEY_Arabic_heh* = 0x000005E7 - GDK_KEY_Arabic_waw* = 0x000005E8 - GDK_KEY_Arabic_alefmaksura* = 0x000005E9 - GDK_KEY_Arabic_yeh* = 0x000005EA - GDK_KEY_Arabic_fathatan* = 0x000005EB - GDK_KEY_Arabic_dammatan* = 0x000005EC - GDK_KEY_Arabic_kasratan* = 0x000005ED - GDK_KEY_Arabic_fatha* = 0x000005EE - GDK_KEY_Arabic_damma* = 0x000005EF - GDK_KEY_Arabic_kasra* = 0x000005F0 - GDK_KEY_Arabic_shadda* = 0x000005F1 - GDK_KEY_Arabic_sukun* = 0x000005F2 - GDK_KEY_Arabic_switch* = 0x0000FF7E - GDK_KEY_Serbian_dje* = 0x000006A1 - GDK_KEY_Macedonia_gje* = 0x000006A2 - GDK_KEY_Cyrillic_io* = 0x000006A3 - GDK_KEY_Ukrainian_ie* = 0x000006A4 - GDK_KEY_Ukranian_je* = 0x000006A4 - GDK_KEY_Macedonia_dse* = 0x000006A5 - GDK_KEY_Ukrainian_i* = 0x000006A6 - GDK_KEY_Ukranian_i* = 0x000006A6 - GDK_KEY_Ukrainian_yi* = 0x000006A7 - GDK_KEY_Ukranian_yi* = 0x000006A7 - GDK_KEY_Cyrillic_je* = 0x000006A8 - GDK_KEY_Serbian_je* = 0x000006A8 - GDK_KEY_Cyrillic_lje* = 0x000006A9 - GDK_KEY_Serbian_lje* = 0x000006A9 - GDK_KEY_Cyrillic_nje* = 0x000006AA - GDK_KEY_Serbian_nje* = 0x000006AA - GDK_KEY_Serbian_tshe* = 0x000006AB - GDK_KEY_Macedonia_kje* = 0x000006AC - GDK_KEY_Byelorussian_shortu* = 0x000006AE - GDK_KEY_Cyrillic_dzhe* = 0x000006AF - GDK_KEY_Serbian_dze* = 0x000006AF - GDK_KEY_numerosign* = 0x000006B0 - GDK_KEY_Serbian_CAPITAL_DJE* = 0x000006B1 - GDK_KEY_Macedonia_CAPITAL_GJE* = 0x000006B2 - GDK_KEY_Cyrillic_CAPITAL_IO* = 0x000006B3 - GDK_KEY_Ukrainian_CAPITAL_IE* = 0x000006B4 - GDK_KEY_Ukranian_CAPITAL_JE* = 0x000006B4 - GDK_KEY_Macedonia_CAPITAL_DSE* = 0x000006B5 - GDK_KEY_Ukrainian_CAPITAL_I* = 0x000006B6 - GDK_KEY_Ukranian_CAPITAL_I* = 0x000006B6 - GDK_KEY_Ukrainian_CAPITAL_YI* = 0x000006B7 - GDK_KEY_Ukranian_CAPITAL_YI* = 0x000006B7 - GDK_KEY_Cyrillic_CAPITAL_JE* = 0x000006B8 - GDK_KEY_Serbian_CAPITAL_JE* = 0x000006B8 - GDK_KEY_Cyrillic_CAPITAL_LJE* = 0x000006B9 - GDK_KEY_Serbian_CAPITAL_LJE* = 0x000006B9 - GDK_KEY_Cyrillic_CAPITAL_NJE* = 0x000006BA - GDK_KEY_Serbian_CAPITAL_NJE* = 0x000006BA - GDK_KEY_Serbian_CAPITAL_TSHE* = 0x000006BB - GDK_KEY_Macedonia_CAPITAL_KJE* = 0x000006BC - GDK_KEY_Byelorussian_CAPITAL_SHORTU* = 0x000006BE - GDK_KEY_Cyrillic_CAPITAL_DZHE* = 0x000006BF - GDK_KEY_Serbian_CAPITAL_DZE* = 0x000006BF - GDK_KEY_Cyrillic_yu* = 0x000006C0 - GDK_KEY_Cyrillic_a* = 0x000006C1 - GDK_KEY_Cyrillic_be* = 0x000006C2 - GDK_KEY_Cyrillic_tse* = 0x000006C3 - GDK_KEY_Cyrillic_de* = 0x000006C4 - GDK_KEY_Cyrillic_ie* = 0x000006C5 - GDK_KEY_Cyrillic_ef* = 0x000006C6 - GDK_KEY_Cyrillic_ghe* = 0x000006C7 - GDK_KEY_Cyrillic_ha* = 0x000006C8 - GDK_KEY_Cyrillic_i* = 0x000006C9 - GDK_KEY_Cyrillic_shorti* = 0x000006CA - GDK_KEY_Cyrillic_ka* = 0x000006CB - GDK_KEY_Cyrillic_el* = 0x000006CC - GDK_KEY_Cyrillic_em* = 0x000006CD - GDK_KEY_Cyrillic_en* = 0x000006CE - GDK_KEY_Cyrillic_o* = 0x000006CF - GDK_KEY_Cyrillic_pe* = 0x000006D0 - GDK_KEY_Cyrillic_ya* = 0x000006D1 - GDK_KEY_Cyrillic_er* = 0x000006D2 - GDK_KEY_Cyrillic_es* = 0x000006D3 - GDK_KEY_Cyrillic_te* = 0x000006D4 - GDK_KEY_Cyrillic_u* = 0x000006D5 - GDK_KEY_Cyrillic_zhe* = 0x000006D6 - GDK_KEY_Cyrillic_ve* = 0x000006D7 - GDK_KEY_Cyrillic_softsign* = 0x000006D8 - GDK_KEY_Cyrillic_yeru* = 0x000006D9 - GDK_KEY_Cyrillic_ze* = 0x000006DA - GDK_KEY_Cyrillic_sha* = 0x000006DB - GDK_KEY_Cyrillic_e* = 0x000006DC - GDK_KEY_Cyrillic_shcha* = 0x000006DD - GDK_KEY_Cyrillic_che* = 0x000006DE - GDK_KEY_Cyrillic_hardsign* = 0x000006DF - GDK_KEY_Cyrillic_CAPITAL_YU* = 0x000006E0 - GDK_KEY_Cyrillic_CAPITAL_A* = 0x000006E1 - GDK_KEY_Cyrillic_CAPITAL_BE* = 0x000006E2 - GDK_KEY_Cyrillic_CAPITAL_TSE* = 0x000006E3 - GDK_KEY_Cyrillic_CAPITAL_DE* = 0x000006E4 - GDK_KEY_Cyrillic_CAPITAL_IE* = 0x000006E5 - GDK_KEY_Cyrillic_CAPITAL_EF* = 0x000006E6 - GDK_KEY_Cyrillic_CAPITAL_GHE* = 0x000006E7 - GDK_KEY_Cyrillic_CAPITAL_HA* = 0x000006E8 - GDK_KEY_Cyrillic_CAPITAL_I* = 0x000006E9 - GDK_KEY_Cyrillic_CAPITAL_SHORTI* = 0x000006EA - GDK_KEY_Cyrillic_CAPITAL_KA* = 0x000006EB - GDK_KEY_Cyrillic_CAPITAL_EL* = 0x000006EC - GDK_KEY_Cyrillic_CAPITAL_EM* = 0x000006ED - GDK_KEY_Cyrillic_CAPITAL_EN* = 0x000006EE - GDK_KEY_Cyrillic_CAPITAL_O* = 0x000006EF - GDK_KEY_Cyrillic_CAPITAL_PE* = 0x000006F0 - GDK_KEY_Cyrillic_CAPITAL_YA* = 0x000006F1 - GDK_KEY_Cyrillic_CAPITAL_ER* = 0x000006F2 - GDK_KEY_Cyrillic_CAPITAL_ES* = 0x000006F3 - GDK_KEY_Cyrillic_CAPITAL_TE* = 0x000006F4 - GDK_KEY_Cyrillic_CAPITAL_U* = 0x000006F5 - GDK_KEY_Cyrillic_CAPITAL_ZHE* = 0x000006F6 - GDK_KEY_Cyrillic_CAPITAL_VE* = 0x000006F7 - GDK_KEY_Cyrillic_CAPITAL_SOFTSIGN* = 0x000006F8 - GDK_KEY_Cyrillic_CAPITAL_YERU* = 0x000006F9 - GDK_KEY_Cyrillic_CAPITAL_ZE* = 0x000006FA - GDK_KEY_Cyrillic_CAPITAL_SHA* = 0x000006FB - GDK_KEY_Cyrillic_CAPITAL_E* = 0x000006FC - GDK_KEY_Cyrillic_CAPITAL_SHCHA* = 0x000006FD - GDK_KEY_Cyrillic_CAPITAL_CHE* = 0x000006FE - GDK_KEY_Cyrillic_CAPITAL_HARDSIGN* = 0x000006FF - GDK_KEY_Greek_CAPITAL_ALPHAaccent* = 0x000007A1 - GDK_KEY_Greek_CAPITAL_EPSILONaccent* = 0x000007A2 - GDK_KEY_Greek_CAPITAL_ETAaccent* = 0x000007A3 - GDK_KEY_Greek_CAPITAL_IOTAaccent* = 0x000007A4 - GDK_KEY_Greek_CAPITAL_IOTAdiaeresis* = 0x000007A5 - GDK_KEY_Greek_CAPITAL_OMICRONaccent* = 0x000007A7 - GDK_KEY_Greek_CAPITAL_UPSILONaccent* = 0x000007A8 - GDK_KEY_Greek_CAPITAL_UPSILONdieresis* = 0x000007A9 - GDK_KEY_Greek_CAPITAL_OMEGAaccent* = 0x000007AB - GDK_KEY_Greek_accentdieresis* = 0x000007AE - GDK_KEY_Greek_horizbar* = 0x000007AF - GDK_KEY_Greek_alphaaccent* = 0x000007B1 - GDK_KEY_Greek_epsilonaccent* = 0x000007B2 - GDK_KEY_Greek_etaaccent* = 0x000007B3 - GDK_KEY_Greek_iotaaccent* = 0x000007B4 - GDK_KEY_Greek_iotadieresis* = 0x000007B5 - GDK_KEY_Greek_iotaaccentdieresis* = 0x000007B6 - GDK_KEY_Greek_omicronaccent* = 0x000007B7 - GDK_KEY_Greek_upsilonaccent* = 0x000007B8 - GDK_KEY_Greek_upsilondieresis* = 0x000007B9 - GDK_KEY_Greek_upsilonaccentdieresis* = 0x000007BA - GDK_KEY_Greek_omegaaccent* = 0x000007BB - GDK_KEY_Greek_CAPITAL_ALPHA* = 0x000007C1 - GDK_KEY_Greek_CAPITAL_BETA* = 0x000007C2 - GDK_KEY_Greek_CAPITAL_GAMMA* = 0x000007C3 - GDK_KEY_Greek_CAPITAL_DELTA* = 0x000007C4 - GDK_KEY_Greek_CAPITAL_EPSILON* = 0x000007C5 - GDK_KEY_Greek_CAPITAL_ZETA* = 0x000007C6 - GDK_KEY_Greek_CAPITAL_ETA* = 0x000007C7 - GDK_KEY_Greek_CAPITAL_THETA* = 0x000007C8 - GDK_KEY_Greek_CAPITAL_IOTA* = 0x000007C9 - GDK_KEY_Greek_CAPITAL_KAPPA* = 0x000007CA - GDK_KEY_Greek_CAPITAL_LAMDA* = 0x000007CB - GDK_KEY_Greek_CAPITAL_LAMBDA* = 0x000007CB - GDK_KEY_Greek_CAPITAL_MU* = 0x000007CC - GDK_KEY_Greek_CAPITAL_NU* = 0x000007CD - GDK_KEY_Greek_CAPITAL_XI* = 0x000007CE - GDK_KEY_Greek_CAPITAL_OMICRON* = 0x000007CF - GDK_KEY_Greek_CAPITAL_PI* = 0x000007D0 - GDK_KEY_Greek_CAPITAL_RHO* = 0x000007D1 - GDK_KEY_Greek_CAPITAL_SIGMA* = 0x000007D2 - GDK_KEY_Greek_CAPITAL_TAU* = 0x000007D4 - GDK_KEY_Greek_CAPITAL_UPSILON* = 0x000007D5 - GDK_KEY_Greek_CAPITAL_PHI* = 0x000007D6 - GDK_KEY_Greek_CAPITAL_CHI* = 0x000007D7 - GDK_KEY_Greek_CAPITAL_PSI* = 0x000007D8 - GDK_KEY_Greek_CAPITAL_OMEGA* = 0x000007D9 - GDK_KEY_Greek_alpha* = 0x000007E1 - GDK_KEY_Greek_beta* = 0x000007E2 - GDK_KEY_Greek_gamma* = 0x000007E3 - GDK_KEY_Greek_delta* = 0x000007E4 - GDK_KEY_Greek_epsilon* = 0x000007E5 - GDK_KEY_Greek_zeta* = 0x000007E6 - GDK_KEY_Greek_eta* = 0x000007E7 - GDK_KEY_Greek_theta* = 0x000007E8 - GDK_KEY_Greek_iota* = 0x000007E9 - GDK_KEY_Greek_kappa* = 0x000007EA - GDK_KEY_Greek_lamda* = 0x000007EB - GDK_KEY_Greek_lambda* = 0x000007EB - GDK_KEY_Greek_mu* = 0x000007EC - GDK_KEY_Greek_nu* = 0x000007ED - GDK_KEY_Greek_xi* = 0x000007EE - GDK_KEY_Greek_omicron* = 0x000007EF - GDK_KEY_Greek_pi* = 0x000007F0 - GDK_KEY_Greek_rho* = 0x000007F1 - GDK_KEY_Greek_sigma* = 0x000007F2 - GDK_KEY_Greek_finalsmallsigma* = 0x000007F3 - GDK_KEY_Greek_tau* = 0x000007F4 - GDK_KEY_Greek_upsilon* = 0x000007F5 - GDK_KEY_Greek_phi* = 0x000007F6 - GDK_KEY_Greek_chi* = 0x000007F7 - GDK_KEY_Greek_psi* = 0x000007F8 - GDK_KEY_Greek_omega* = 0x000007F9 - GDK_KEY_Greek_switch* = 0x0000FF7E - GDK_KEY_leftradical* = 0x000008A1 - GDK_KEY_topleftradical* = 0x000008A2 - GDK_KEY_horizconnector* = 0x000008A3 - GDK_KEY_topintegral* = 0x000008A4 - GDK_KEY_botintegral* = 0x000008A5 - GDK_KEY_vertconnector* = 0x000008A6 - GDK_KEY_topleftsqbracket* = 0x000008A7 - GDK_KEY_botleftsqbracket* = 0x000008A8 - GDK_KEY_toprightsqbracket* = 0x000008A9 - GDK_KEY_botrightsqbracket* = 0x000008AA - GDK_KEY_topleftparens* = 0x000008AB - GDK_KEY_botleftparens* = 0x000008AC - GDK_KEY_toprightparens* = 0x000008AD - GDK_KEY_botrightparens* = 0x000008AE - GDK_KEY_leftmiddlecurlybrace* = 0x000008AF - GDK_KEY_rightmiddlecurlybrace* = 0x000008B0 - GDK_KEY_topleftsummation* = 0x000008B1 - GDK_KEY_botleftsummation* = 0x000008B2 - GDK_KEY_topvertsummationconnector* = 0x000008B3 - GDK_KEY_botvertsummationconnector* = 0x000008B4 - GDK_KEY_toprightsummation* = 0x000008B5 - GDK_KEY_botrightsummation* = 0x000008B6 - GDK_KEY_rightmiddlesummation* = 0x000008B7 - GDK_KEY_lessthanequal* = 0x000008BC - GDK_KEY_notequal* = 0x000008BD - GDK_KEY_greaterthanequal* = 0x000008BE - GDK_KEY_integral* = 0x000008BF - GDK_KEY_therefore* = 0x000008C0 - GDK_KEY_variation* = 0x000008C1 - GDK_KEY_infinity* = 0x000008C2 - GDK_KEY_nabla* = 0x000008C5 - GDK_KEY_approximate* = 0x000008C8 - GDK_KEY_similarequal* = 0x000008C9 - GDK_KEY_ifonlyif* = 0x000008CD - GDK_KEY_implies* = 0x000008CE - GDK_KEY_identical* = 0x000008CF - GDK_KEY_radical* = 0x000008D6 - GDK_KEY_includedin* = 0x000008DA - GDK_KEY_includes* = 0x000008DB - GDK_KEY_intersection* = 0x000008DC - GDK_KEY_union* = 0x000008DD - GDK_KEY_logicaland* = 0x000008DE - GDK_KEY_logicalor* = 0x000008DF - GDK_KEY_partialderivative* = 0x000008EF - GDK_KEY_function* = 0x000008F6 - GDK_KEY_leftarrow* = 0x000008FB - GDK_KEY_uparrow* = 0x000008FC - GDK_KEY_rightarrow* = 0x000008FD - GDK_KEY_downarrow* = 0x000008FE - GDK_KEY_blank* = 0x000009DF - GDK_KEY_soliddiamond* = 0x000009E0 - GDK_KEY_checkerboard* = 0x000009E1 - GDK_KEY_ht* = 0x000009E2 - GDK_KEY_ff* = 0x000009E3 - GDK_KEY_cr* = 0x000009E4 - GDK_KEY_lf* = 0x000009E5 - GDK_KEY_nl* = 0x000009E8 - GDK_KEY_vt* = 0x000009E9 - GDK_KEY_lowrightcorner* = 0x000009EA - GDK_KEY_uprightcorner* = 0x000009EB - GDK_KEY_upleftcorner* = 0x000009EC - GDK_KEY_lowleftcorner* = 0x000009ED - GDK_KEY_crossinglines* = 0x000009EE - GDK_KEY_horizlinescan1* = 0x000009EF - GDK_KEY_horizlinescan3* = 0x000009F0 - GDK_KEY_horizlinescan5* = 0x000009F1 - GDK_KEY_horizlinescan7* = 0x000009F2 - GDK_KEY_horizlinescan9* = 0x000009F3 - GDK_KEY_leftt* = 0x000009F4 - GDK_KEY_rightt* = 0x000009F5 - GDK_KEY_bott* = 0x000009F6 - GDK_KEY_topt* = 0x000009F7 - GDK_KEY_vertbar* = 0x000009F8 - GDK_KEY_emspace* = 0x00000AA1 - GDK_KEY_enspace* = 0x00000AA2 - GDK_KEY_em3space* = 0x00000AA3 - GDK_KEY_em4space* = 0x00000AA4 - GDK_KEY_digitspace* = 0x00000AA5 - GDK_KEY_punctspace* = 0x00000AA6 - GDK_KEY_thinspace* = 0x00000AA7 - GDK_KEY_hairspace* = 0x00000AA8 - GDK_KEY_emdash* = 0x00000AA9 - GDK_KEY_endash* = 0x00000AAA - GDK_KEY_signifblank* = 0x00000AAC - GDK_KEY_ellipsis* = 0x00000AAE - GDK_KEY_doubbaselinedot* = 0x00000AAF - GDK_KEY_onethird* = 0x00000AB0 - GDK_KEY_twothirds* = 0x00000AB1 - GDK_KEY_onefifth* = 0x00000AB2 - GDK_KEY_twofifths* = 0x00000AB3 - GDK_KEY_threefifths* = 0x00000AB4 - GDK_KEY_fourfifths* = 0x00000AB5 - GDK_KEY_onesixth* = 0x00000AB6 - GDK_KEY_fivesixths* = 0x00000AB7 - GDK_KEY_careof* = 0x00000AB8 - GDK_KEY_figdash* = 0x00000ABB - GDK_KEY_leftanglebracket* = 0x00000ABC - GDK_KEY_decimalpoint* = 0x00000ABD - GDK_KEY_rightanglebracket* = 0x00000ABE - GDK_KEY_marker* = 0x00000ABF - GDK_KEY_oneeighth* = 0x00000AC3 - GDK_KEY_threeeighths* = 0x00000AC4 - GDK_KEY_fiveeighths* = 0x00000AC5 - GDK_KEY_seveneighths* = 0x00000AC6 - GDK_KEY_trademark* = 0x00000AC9 - GDK_KEY_signaturemark* = 0x00000ACA - GDK_KEY_trademarkincircle* = 0x00000ACB - GDK_KEY_leftopentriangle* = 0x00000ACC - GDK_KEY_rightopentriangle* = 0x00000ACD - GDK_KEY_emopencircle* = 0x00000ACE - GDK_KEY_emopenrectangle* = 0x00000ACF - GDK_KEY_leftsinglequotemark* = 0x00000AD0 - GDK_KEY_rightsinglequotemark* = 0x00000AD1 - GDK_KEY_leftdoublequotemark* = 0x00000AD2 - GDK_KEY_rightdoublequotemark* = 0x00000AD3 - GDK_KEY_prescription* = 0x00000AD4 - GDK_KEY_minutes* = 0x00000AD6 - GDK_KEY_seconds* = 0x00000AD7 - GDK_KEY_latincross* = 0x00000AD9 - GDK_KEY_hexagram* = 0x00000ADA - GDK_KEY_filledrectbullet* = 0x00000ADB - GDK_KEY_filledlefttribullet* = 0x00000ADC - GDK_KEY_filledrighttribullet* = 0x00000ADD - GDK_KEY_emfilledcircle* = 0x00000ADE - GDK_KEY_emfilledrect* = 0x00000ADF - GDK_KEY_enopencircbullet* = 0x00000AE0 - GDK_KEY_enopensquarebullet* = 0x00000AE1 - GDK_KEY_openrectbullet* = 0x00000AE2 - GDK_KEY_opentribulletup* = 0x00000AE3 - GDK_KEY_opentribulletdown* = 0x00000AE4 - GDK_KEY_openstar* = 0x00000AE5 - GDK_KEY_enfilledcircbullet* = 0x00000AE6 - GDK_KEY_enfilledsqbullet* = 0x00000AE7 - GDK_KEY_filledtribulletup* = 0x00000AE8 - GDK_KEY_filledtribulletdown* = 0x00000AE9 - GDK_KEY_leftpointer* = 0x00000AEA - GDK_KEY_rightpointer* = 0x00000AEB - GDK_KEY_club* = 0x00000AEC - GDK_KEY_diamond* = 0x00000AED - GDK_KEY_heart* = 0x00000AEE - GDK_KEY_maltesecross* = 0x00000AF0 - GDK_KEY_dagger* = 0x00000AF1 - GDK_KEY_doubledagger* = 0x00000AF2 - GDK_KEY_checkmark* = 0x00000AF3 - GDK_KEY_ballotcross* = 0x00000AF4 - GDK_KEY_musicalsharp* = 0x00000AF5 - GDK_KEY_musicalflat* = 0x00000AF6 - GDK_KEY_malesymbol* = 0x00000AF7 - GDK_KEY_femalesymbol* = 0x00000AF8 - GDK_KEY_telephone* = 0x00000AF9 - GDK_KEY_telephonerecorder* = 0x00000AFA - GDK_KEY_phonographcopyright* = 0x00000AFB - GDK_KEY_caret* = 0x00000AFC - GDK_KEY_singlelowquotemark* = 0x00000AFD - GDK_KEY_doublelowquotemark* = 0x00000AFE - GDK_KEY_cursor* = 0x00000AFF - GDK_KEY_leftcaret* = 0x00000BA3 - GDK_KEY_rightcaret* = 0x00000BA6 - GDK_KEY_downcaret* = 0x00000BA8 - GDK_KEY_upcaret* = 0x00000BA9 - GDK_KEY_overbar* = 0x00000BC0 - GDK_KEY_downtack* = 0x00000BC2 - GDK_KEY_upshoe* = 0x00000BC3 - GDK_KEY_downstile* = 0x00000BC4 - GDK_KEY_underbar* = 0x00000BC6 - GDK_KEY_jot* = 0x00000BCA - GDK_KEY_quad* = 0x00000BCC - GDK_KEY_uptack* = 0x00000BCE - GDK_KEY_circle* = 0x00000BCF - GDK_KEY_upstile* = 0x00000BD3 - GDK_KEY_downshoe* = 0x00000BD6 - GDK_KEY_rightshoe* = 0x00000BD8 - GDK_KEY_leftshoe* = 0x00000BDA - GDK_KEY_lefttack* = 0x00000BDC - GDK_KEY_righttack* = 0x00000BFC - GDK_KEY_hebrew_doublelowline* = 0x00000CDF - GDK_KEY_hebrew_aleph* = 0x00000CE0 - GDK_KEY_hebrew_bet* = 0x00000CE1 - GDK_KEY_hebrew_beth* = 0x00000CE1 - GDK_KEY_hebrew_gimel* = 0x00000CE2 - GDK_KEY_hebrew_gimmel* = 0x00000CE2 - GDK_KEY_hebrew_dalet* = 0x00000CE3 - GDK_KEY_hebrew_daleth* = 0x00000CE3 - GDK_KEY_hebrew_he* = 0x00000CE4 - GDK_KEY_hebrew_waw* = 0x00000CE5 - GDK_KEY_hebrew_zain* = 0x00000CE6 - GDK_KEY_hebrew_zayin* = 0x00000CE6 - GDK_KEY_hebrew_chet* = 0x00000CE7 - GDK_KEY_hebrew_het* = 0x00000CE7 - GDK_KEY_hebrew_tet* = 0x00000CE8 - GDK_KEY_hebrew_teth* = 0x00000CE8 - GDK_KEY_hebrew_yod* = 0x00000CE9 - GDK_KEY_hebrew_finalkaph* = 0x00000CEA - GDK_KEY_hebrew_kaph* = 0x00000CEB - GDK_KEY_hebrew_lamed* = 0x00000CEC - GDK_KEY_hebrew_finalmem* = 0x00000CED - GDK_KEY_hebrew_mem* = 0x00000CEE - GDK_KEY_hebrew_finalnun* = 0x00000CEF - GDK_KEY_hebrew_nun* = 0x00000CF0 - GDK_KEY_hebrew_samech* = 0x00000CF1 - GDK_KEY_hebrew_samekh* = 0x00000CF1 - GDK_KEY_hebrew_ayin* = 0x00000CF2 - GDK_KEY_hebrew_finalpe* = 0x00000CF3 - GDK_KEY_hebrew_pe* = 0x00000CF4 - GDK_KEY_hebrew_finalzade* = 0x00000CF5 - GDK_KEY_hebrew_finalzadi* = 0x00000CF5 - GDK_KEY_hebrew_zade* = 0x00000CF6 - GDK_KEY_hebrew_zadi* = 0x00000CF6 - GDK_KEY_hebrew_qoph* = 0x00000CF7 - GDK_KEY_hebrew_kuf* = 0x00000CF7 - GDK_KEY_hebrew_resh* = 0x00000CF8 - GDK_KEY_hebrew_shin* = 0x00000CF9 - GDK_KEY_hebrew_taw* = 0x00000CFA - GDK_KEY_hebrew_taf* = 0x00000CFA - GDK_KEY_Hebrew_switch* = 0x0000FF7E - GDK_KEY_Thai_kokai* = 0x00000DA1 - GDK_KEY_Thai_khokhai* = 0x00000DA2 - GDK_KEY_Thai_khokhuat* = 0x00000DA3 - GDK_KEY_Thai_khokhwai* = 0x00000DA4 - GDK_KEY_Thai_khokhon* = 0x00000DA5 - GDK_KEY_Thai_khorakhang* = 0x00000DA6 - GDK_KEY_Thai_ngongu* = 0x00000DA7 - GDK_KEY_Thai_chochan* = 0x00000DA8 - GDK_KEY_Thai_choching* = 0x00000DA9 - GDK_KEY_Thai_chochang* = 0x00000DAA - GDK_KEY_Thai_soso* = 0x00000DAB - GDK_KEY_Thai_chochoe* = 0x00000DAC - GDK_KEY_Thai_yoying* = 0x00000DAD - GDK_KEY_Thai_dochada* = 0x00000DAE - GDK_KEY_Thai_topatak* = 0x00000DAF - GDK_KEY_Thai_thothan* = 0x00000DB0 - GDK_KEY_Thai_thonangmontho* = 0x00000DB1 - GDK_KEY_Thai_thophuthao* = 0x00000DB2 - GDK_KEY_Thai_nonen* = 0x00000DB3 - GDK_KEY_Thai_dodek* = 0x00000DB4 - GDK_KEY_Thai_totao* = 0x00000DB5 - GDK_KEY_Thai_thothung* = 0x00000DB6 - GDK_KEY_Thai_thothahan* = 0x00000DB7 - GDK_KEY_Thai_thothong* = 0x00000DB8 - GDK_KEY_Thai_nonu* = 0x00000DB9 - GDK_KEY_Thai_bobaimai* = 0x00000DBA - GDK_KEY_Thai_popla* = 0x00000DBB - GDK_KEY_Thai_phophung* = 0x00000DBC - GDK_KEY_Thai_fofa* = 0x00000DBD - GDK_KEY_Thai_phophan* = 0x00000DBE - GDK_KEY_Thai_fofan* = 0x00000DBF - GDK_KEY_Thai_phosamphao* = 0x00000DC0 - GDK_KEY_Thai_moma* = 0x00000DC1 - GDK_KEY_Thai_yoyak* = 0x00000DC2 - GDK_KEY_Thai_rorua* = 0x00000DC3 - GDK_KEY_Thai_ru* = 0x00000DC4 - GDK_KEY_Thai_loling* = 0x00000DC5 - GDK_KEY_Thai_lu* = 0x00000DC6 - GDK_KEY_Thai_wowaen* = 0x00000DC7 - GDK_KEY_Thai_sosala* = 0x00000DC8 - GDK_KEY_Thai_sorusi* = 0x00000DC9 - GDK_KEY_Thai_sosua* = 0x00000DCA - GDK_KEY_Thai_hohip* = 0x00000DCB - GDK_KEY_Thai_lochula* = 0x00000DCC - GDK_KEY_Thai_oang* = 0x00000DCD - GDK_KEY_Thai_honokhuk* = 0x00000DCE - GDK_KEY_Thai_paiyannoi* = 0x00000DCF - GDK_KEY_Thai_saraa* = 0x00000DD0 - GDK_KEY_Thai_maihanakat* = 0x00000DD1 - GDK_KEY_Thai_saraaa* = 0x00000DD2 - GDK_KEY_Thai_saraam* = 0x00000DD3 - GDK_KEY_Thai_sarai* = 0x00000DD4 - GDK_KEY_Thai_saraii* = 0x00000DD5 - GDK_KEY_Thai_saraue* = 0x00000DD6 - GDK_KEY_Thai_sarauee* = 0x00000DD7 - GDK_KEY_Thai_sarau* = 0x00000DD8 - GDK_KEY_Thai_sarauu* = 0x00000DD9 - GDK_KEY_Thai_phinthu* = 0x00000DDA - GDK_KEY_Thai_maihanakat_maitho* = 0x00000DDE - GDK_KEY_Thai_baht* = 0x00000DDF - GDK_KEY_Thai_sarae* = 0x00000DE0 - GDK_KEY_Thai_saraae* = 0x00000DE1 - GDK_KEY_Thai_sarao* = 0x00000DE2 - GDK_KEY_Thai_saraaimaimuan* = 0x00000DE3 - GDK_KEY_Thai_saraaimaimalai* = 0x00000DE4 - GDK_KEY_Thai_lakkhangyao* = 0x00000DE5 - GDK_KEY_Thai_maiyamok* = 0x00000DE6 - GDK_KEY_Thai_maitaikhu* = 0x00000DE7 - GDK_KEY_Thai_maiek* = 0x00000DE8 - GDK_KEY_Thai_maitho* = 0x00000DE9 - GDK_KEY_Thai_maitri* = 0x00000DEA - GDK_KEY_Thai_maichattawa* = 0x00000DEB - GDK_KEY_Thai_thanthakhat* = 0x00000DEC - GDK_KEY_Thai_nikhahit* = 0x00000DED - GDK_KEY_Thai_leksun* = 0x00000DF0 - GDK_KEY_Thai_leknung* = 0x00000DF1 - GDK_KEY_Thai_leksong* = 0x00000DF2 - GDK_KEY_Thai_leksam* = 0x00000DF3 - GDK_KEY_Thai_leksi* = 0x00000DF4 - GDK_KEY_Thai_lekha* = 0x00000DF5 - GDK_KEY_Thai_lekhok* = 0x00000DF6 - GDK_KEY_Thai_lekchet* = 0x00000DF7 - GDK_KEY_Thai_lekpaet* = 0x00000DF8 - GDK_KEY_Thai_lekkao* = 0x00000DF9 - GDK_KEY_Hangul* = 0x0000FF31 - GDK_KEY_Hangul_Start* = 0x0000FF32 - GDK_KEY_Hangul_End* = 0x0000FF33 - GDK_KEY_Hangul_Hanja* = 0x0000FF34 - GDK_KEY_Hangul_Jamo* = 0x0000FF35 - GDK_KEY_Hangul_Romaja* = 0x0000FF36 - GDK_KEY_Hangul_Codeinput* = 0x0000FF37 - GDK_KEY_Hangul_Jeonja* = 0x0000FF38 - GDK_KEY_Hangul_Banja* = 0x0000FF39 - GDK_KEY_Hangul_PreHanja* = 0x0000FF3A - GDK_KEY_Hangul_PostHanja* = 0x0000FF3B - GDK_KEY_Hangul_SingleCandidate* = 0x0000FF3C - GDK_KEY_Hangul_MultipleCandidate* = 0x0000FF3D - GDK_KEY_Hangul_PreviousCandidate* = 0x0000FF3E - GDK_KEY_Hangul_Special* = 0x0000FF3F - GDK_KEY_Hangul_switch* = 0x0000FF7E - GDK_KEY_Hangul_Kiyeog* = 0x00000EA1 - GDK_KEY_Hangul_SsangKiyeog* = 0x00000EA2 - GDK_KEY_Hangul_KiyeogSios* = 0x00000EA3 - GDK_KEY_Hangul_Nieun* = 0x00000EA4 - GDK_KEY_Hangul_NieunJieuj* = 0x00000EA5 - GDK_KEY_Hangul_NieunHieuh* = 0x00000EA6 - GDK_KEY_Hangul_Dikeud* = 0x00000EA7 - GDK_KEY_Hangul_SsangDikeud* = 0x00000EA8 - GDK_KEY_Hangul_Rieul* = 0x00000EA9 - GDK_KEY_Hangul_RieulKiyeog* = 0x00000EAA - GDK_KEY_Hangul_RieulMieum* = 0x00000EAB - GDK_KEY_Hangul_RieulPieub* = 0x00000EAC - GDK_KEY_Hangul_RieulSios* = 0x00000EAD - GDK_KEY_Hangul_RieulTieut* = 0x00000EAE - GDK_KEY_Hangul_RieulPhieuf* = 0x00000EAF - GDK_KEY_Hangul_RieulHieuh* = 0x00000EB0 - GDK_KEY_Hangul_Mieum* = 0x00000EB1 - GDK_KEY_Hangul_Pieub* = 0x00000EB2 - GDK_KEY_Hangul_SsangPieub* = 0x00000EB3 - GDK_KEY_Hangul_PieubSios* = 0x00000EB4 - GDK_KEY_Hangul_Sios* = 0x00000EB5 - GDK_KEY_Hangul_SsangSios* = 0x00000EB6 - GDK_KEY_Hangul_Ieung* = 0x00000EB7 - GDK_KEY_Hangul_Jieuj* = 0x00000EB8 - GDK_KEY_Hangul_SsangJieuj* = 0x00000EB9 - GDK_KEY_Hangul_Cieuc* = 0x00000EBA - GDK_KEY_Hangul_Khieuq* = 0x00000EBB - GDK_KEY_Hangul_Tieut* = 0x00000EBC - GDK_KEY_Hangul_Phieuf* = 0x00000EBD - GDK_KEY_Hangul_Hieuh* = 0x00000EBE - GDK_KEY_Hangul_A* = 0x00000EBF - GDK_KEY_Hangul_AE* = 0x00000EC0 - GDK_KEY_Hangul_YA* = 0x00000EC1 - GDK_KEY_Hangul_YAE* = 0x00000EC2 - GDK_KEY_Hangul_EO* = 0x00000EC3 - GDK_KEY_Hangul_E* = 0x00000EC4 - GDK_KEY_Hangul_YEO* = 0x00000EC5 - GDK_KEY_Hangul_YE* = 0x00000EC6 - GDK_KEY_Hangul_O* = 0x00000EC7 - GDK_KEY_Hangul_WA* = 0x00000EC8 - GDK_KEY_Hangul_WAE* = 0x00000EC9 - GDK_KEY_Hangul_OE* = 0x00000ECA - GDK_KEY_Hangul_YO* = 0x00000ECB - GDK_KEY_Hangul_U* = 0x00000ECC - GDK_KEY_Hangul_WEO* = 0x00000ECD - GDK_KEY_Hangul_WE* = 0x00000ECE - GDK_KEY_Hangul_WI* = 0x00000ECF - GDK_KEY_Hangul_YU* = 0x00000ED0 - GDK_KEY_Hangul_EU* = 0x00000ED1 - GDK_KEY_Hangul_YI* = 0x00000ED2 - GDK_KEY_Hangul_I* = 0x00000ED3 - GDK_KEY_Hangul_J_Kiyeog* = 0x00000ED4 - GDK_KEY_Hangul_J_SsangKiyeog* = 0x00000ED5 - GDK_KEY_Hangul_J_KiyeogSios* = 0x00000ED6 - GDK_KEY_Hangul_J_Nieun* = 0x00000ED7 - GDK_KEY_Hangul_J_NieunJieuj* = 0x00000ED8 - GDK_KEY_Hangul_J_NieunHieuh* = 0x00000ED9 - GDK_KEY_Hangul_J_Dikeud* = 0x00000EDA - GDK_KEY_Hangul_J_Rieul* = 0x00000EDB - GDK_KEY_Hangul_J_RieulKiyeog* = 0x00000EDC - GDK_KEY_Hangul_J_RieulMieum* = 0x00000EDD - GDK_KEY_Hangul_J_RieulPieub* = 0x00000EDE - GDK_KEY_Hangul_J_RieulSios* = 0x00000EDF - GDK_KEY_Hangul_J_RieulTieut* = 0x00000EE0 - GDK_KEY_Hangul_J_RieulPhieuf* = 0x00000EE1 - GDK_KEY_Hangul_J_RieulHieuh* = 0x00000EE2 - GDK_KEY_Hangul_J_Mieum* = 0x00000EE3 - GDK_KEY_Hangul_J_Pieub* = 0x00000EE4 - GDK_KEY_Hangul_J_PieubSios* = 0x00000EE5 - GDK_KEY_Hangul_J_Sios* = 0x00000EE6 - GDK_KEY_Hangul_J_SsangSios* = 0x00000EE7 - GDK_KEY_Hangul_J_Ieung* = 0x00000EE8 - GDK_KEY_Hangul_J_Jieuj* = 0x00000EE9 - GDK_KEY_Hangul_J_Cieuc* = 0x00000EEA - GDK_KEY_Hangul_J_Khieuq* = 0x00000EEB - GDK_KEY_Hangul_J_Tieut* = 0x00000EEC - GDK_KEY_Hangul_J_Phieuf* = 0x00000EED - GDK_KEY_Hangul_J_Hieuh* = 0x00000EEE - GDK_KEY_Hangul_RieulYeorinHieuh* = 0x00000EEF - GDK_KEY_Hangul_SunkyeongeumMieum* = 0x00000EF0 - GDK_KEY_Hangul_SunkyeongeumPieub* = 0x00000EF1 - GDK_KEY_Hangul_PanSios* = 0x00000EF2 - GDK_KEY_Hangul_KkogjiDalrinIeung* = 0x00000EF3 - GDK_KEY_Hangul_SunkyeongeumPhieuf* = 0x00000EF4 - GDK_KEY_Hangul_YeorinHieuh* = 0x00000EF5 - GDK_KEY_Hangul_AraeA* = 0x00000EF6 - GDK_KEY_Hangul_AraeAE* = 0x00000EF7 - GDK_KEY_Hangul_J_PanSios* = 0x00000EF8 - GDK_KEY_Hangul_J_KkogjiDalrinIeung* = 0x00000EF9 - GDK_KEY_Hangul_J_YeorinHieuh* = 0x00000EFA - GDK_KEY_Korean_Won* = 0x00000EFF - GDK_KEY_EcuSign* = 0x000020A0 - GDK_KEY_ColonSign* = 0x000020A1 - GDK_KEY_CruzeiroSign* = 0x000020A2 - GDK_KEY_FFrancSign* = 0x000020A3 - GDK_KEY_LiraSign* = 0x000020A4 - GDK_KEY_MillSign* = 0x000020A5 - GDK_KEY_NairaSign* = 0x000020A6 - GDK_KEY_PesetaSign* = 0x000020A7 - GDK_KEY_RupeeSign* = 0x000020A8 - GDK_KEY_WonSign* = 0x000020A9 - GDK_KEY_NewSheqelSign* = 0x000020AA - GDK_KEY_DongSign* = 0x000020AB - GDK_KEY_EuroSign* = 0x000020AC - -proc gdk_pango_context_get_for_screen*(screen: PGdkScreen): PPangoContext{. - cdecl, dynlib: gdklib, importc: "gdk_pango_context_get_for_screen".} -proc gdk_pango_context_set_colormap*(context: PPangoContext, - colormap: PGdkColormap){.cdecl, - dynlib: gdklib, importc: "gdk_pango_context_set_colormap".} -proc gdk_pango_layout_line_get_clip_region*(line: PPangoLayoutLine, - x_origin: gint, y_origin: gint, index_ranges: Pgint, n_ranges: gint): PGdkRegion{. - cdecl, dynlib: gdklib, importc: "gdk_pango_layout_line_get_clip_region".} -proc gdk_pango_layout_get_clip_region*(layout: PPangoLayout, x_origin: gint, - y_origin: gint, index_ranges: Pgint, - n_ranges: gint): PGdkRegion{.cdecl, - dynlib: gdklib, importc: "gdk_pango_layout_get_clip_region".} -proc gdk_pango_attr_stipple_new*(stipple: PGdkBitmap): PPangoAttribute{.cdecl, - dynlib: gdklib, importc: "gdk_pango_attr_stipple_new".} -proc gdk_pango_attr_embossed_new*(embossed: gboolean): PPangoAttribute{.cdecl, - dynlib: gdklib, importc: "gdk_pango_attr_embossed_new".} -proc gdk_pixbuf_render_threshold_alpha*(pixbuf: PGdkPixbuf, bitmap: PGdkBitmap, - src_x: int32, src_y: int32, - dest_x: int32, dest_y: int32, - width: int32, height: int32, - alpha_threshold: int32){.cdecl, - dynlib: gdklib, importc: "gdk_pixbuf_render_threshold_alpha".} -proc gdk_pixbuf_render_to_drawable*(pixbuf: PGdkPixbuf, drawable: PGdkDrawable, - gc: PGdkGC, src_x: int32, src_y: int32, - dest_x: int32, dest_y: int32, width: int32, - height: int32, dither: TGdkRgbDither, - x_dither: int32, y_dither: int32){.cdecl, - dynlib: gdklib, importc: "gdk_pixbuf_render_to_drawable".} -proc gdk_pixbuf_render_to_drawable_alpha*(pixbuf: PGdkPixbuf, - drawable: PGdkDrawable, src_x: int32, src_y: int32, dest_x: int32, - dest_y: int32, width: int32, height: int32, alpha_mode: TGdkPixbufAlphaMode, - alpha_threshold: int32, dither: TGdkRgbDither, x_dither: int32, - y_dither: int32){.cdecl, dynlib: gdklib, - importc: "gdk_pixbuf_render_to_drawable_alpha".} -proc gdk_pixbuf_render_pixmap_and_mask_for_colormap*(pixbuf: PGdkPixbuf, - colormap: PGdkColormap, n: var PGdkPixmap, nasdfdsafw4e: var PGdkBitmap, - alpha_threshold: int32){.cdecl, dynlib: gdklib, importc: "gdk_pixbuf_render_pixmap_and_mask_for_colormap".} -proc gdk_pixbuf_get_from_drawable*(dest: PGdkPixbuf, src: PGdkDrawable, - cmap: PGdkColormap, src_x: int32, - src_y: int32, dest_x: int32, dest_y: int32, - width: int32, height: int32): PGdkPixbuf{. - cdecl, dynlib: gdklib, importc: "gdk_pixbuf_get_from_drawable".} -proc gdk_pixbuf_get_from_image*(dest: PGdkPixbuf, src: PGdkImage, - cmap: PGdkColormap, src_x: int32, src_y: int32, - dest_x: int32, dest_y: int32, width: int32, - height: int32): PGdkPixbuf{.cdecl, - dynlib: gdklib, importc: "gdk_pixbuf_get_from_image".} -proc GDK_TYPE_PIXMAP*(): GType -proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap -proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass -proc GDK_IS_PIXMAP*(anObject: Pointer): bool -proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool -proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass -proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject -proc gdk_pixmap_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_pixmap_get_type".} -proc gdk_pixmap_new*(window: PGdkWindow, width: gint, height: gint, depth: gint): PGdkPixmap{. - cdecl, dynlib: gdklib, importc: "gdk_pixmap_new".} -proc gdk_bitmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint, - height: gint): PGdkBitmap{.cdecl, - dynlib: gdklib, importc: "gdk_bitmap_create_from_data".} -proc gdk_pixmap_create_from_data*(window: PGdkWindow, data: cstring, width: gint, - height: gint, depth: gint, fg: PGdkColor, - bg: PGdkColor): PGdkPixmap{.cdecl, - dynlib: gdklib, importc: "gdk_pixmap_create_from_data".} -proc gdk_pixmap_create_from_xpm*(window: PGdkWindow, k: var PGdkBitmap, - transparent_color: PGdkColor, filename: cstring): PGdkPixmap{. - cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm".} -proc gdk_pixmap_colormap_create_from_xpm*(window: PGdkWindow, - colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor, - filename: cstring): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm".} -proc gdk_pixmap_create_from_xpm_d*(window: PGdkWindow, k: var PGdkBitmap, - transparent_color: PGdkColor, data: PPgchar): PGdkPixmap{. - cdecl, dynlib: gdklib, importc: "gdk_pixmap_create_from_xpm_d".} -proc gdk_pixmap_colormap_create_from_xpm_d*(window: PGdkWindow, - colormap: PGdkColormap, k: var PGdkBitmap, transparent_color: PGdkColor, - data: PPgchar): PGdkPixmap{.cdecl, dynlib: gdklib, importc: "gdk_pixmap_colormap_create_from_xpm_d".} -proc gdk_pixmap_foreign_new_for_display*(display: PGdkDisplay, - anid: TGdkNativeWindow): PGdkPixmap{.cdecl, dynlib: gdklib, - importc: "gdk_pixmap_foreign_new_for_display".} -proc gdk_pixmap_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkPixmap{. - cdecl, dynlib: gdklib, importc: "gdk_pixmap_lookup_for_display".} -proc gdk_atom_intern*(atom_name: cstring, only_if_exists: gboolean): TGdkAtom{. - cdecl, dynlib: gdklib, importc: "gdk_atom_intern".} -proc gdk_atom_name*(atom: TGdkAtom): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_atom_name".} -proc gdk_property_get*(window: PGdkWindow, `property`: TGdkAtom, - `type`: TGdkAtom, offset: gulong, length: gulong, - pdelete: gint, actual_property_type: PGdkAtom, - actual_format: Pgint, actual_length: Pgint, - data: PPguchar): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_property_get".} -proc gdk_property_change*(window: PGdkWindow, `property`: TGdkAtom, - `type`: TGdkAtom, format: gint, mode: TGdkPropMode, - data: Pguchar, nelements: gint){.cdecl, - dynlib: gdklib, importc: "gdk_property_change".} -proc gdk_property_delete*(window: PGdkWindow, `property`: TGdkAtom){.cdecl, - dynlib: gdklib, importc: "gdk_property_delete".} -proc gdk_text_property_to_text_list_for_display*(display: PGdkDisplay, - encoding: TGdkAtom, format: gint, text: Pguchar, length: gint, - t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_text_list_for_display".} -proc gdk_text_property_to_utf8_list_for_display*(display: PGdkDisplay, - encoding: TGdkAtom, format: gint, text: Pguchar, length: gint, - t: var PPgchar): gint{.cdecl, dynlib: gdklib, importc: "gdk_text_property_to_utf8_list_for_display".} -proc gdk_utf8_to_string_target*(str: cstring): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_utf8_to_string_target".} -proc gdk_string_to_compound_text_for_display*(display: PGdkDisplay, str: cstring, - encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gint{. - cdecl, dynlib: gdklib, importc: "gdk_string_to_compound_text_for_display".} -proc gdk_utf8_to_compound_text_for_display*(display: PGdkDisplay, str: cstring, - encoding: PGdkAtom, format: Pgint, ctext: PPguchar, length: Pgint): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_utf8_to_compound_text_for_display".} -proc gdk_free_text_list*(list: PPgchar){.cdecl, dynlib: gdklib, - importc: "gdk_free_text_list".} -proc gdk_free_compound_text*(ctext: Pguchar){.cdecl, dynlib: gdklib, - importc: "gdk_free_compound_text".} -proc gdk_region_new*(): PGdkRegion{.cdecl, dynlib: gdklib, - importc: "gdk_region_new".} -proc gdk_region_polygon*(points: PGdkPoint, npoints: gint, - fill_rule: TGdkFillRule): PGdkRegion{.cdecl, - dynlib: gdklib, importc: "gdk_region_polygon".} -proc gdk_region_copy*(region: PGdkRegion): PGdkRegion{.cdecl, dynlib: gdklib, - importc: "gdk_region_copy".} -proc gdk_region_rectangle*(rectangle: PGdkRectangle): PGdkRegion{.cdecl, - dynlib: gdklib, importc: "gdk_region_rectangle".} -proc gdk_region_destroy*(region: PGdkRegion){.cdecl, dynlib: gdklib, - importc: "gdk_region_destroy".} -proc gdk_region_get_clipbox*(region: PGdkRegion, rectangle: PGdkRectangle){. - cdecl, dynlib: gdklib, importc: "gdk_region_get_clipbox".} -proc gdk_region_get_rectangles*(region: PGdkRegion, s: var PGdkRectangle, - n_rectangles: Pgint){.cdecl, dynlib: gdklib, - importc: "gdk_region_get_rectangles".} -proc gdk_region_empty*(region: PGdkRegion): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_region_empty".} -proc gdk_region_equal*(region1: PGdkRegion, region2: PGdkRegion): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_region_equal".} -proc gdk_region_point_in*(region: PGdkRegion, x: int32, y: int32): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_region_point_in".} -proc gdk_region_rect_in*(region: PGdkRegion, rect: PGdkRectangle): TGdkOverlapType{. - cdecl, dynlib: gdklib, importc: "gdk_region_rect_in".} -proc gdk_region_offset*(region: PGdkRegion, dx: gint, dy: gint){.cdecl, - dynlib: gdklib, importc: "gdk_region_offset".} -proc gdk_region_shrink*(region: PGdkRegion, dx: gint, dy: gint){.cdecl, - dynlib: gdklib, importc: "gdk_region_shrink".} -proc gdk_region_union_with_rect*(region: PGdkRegion, rect: PGdkRectangle){. - cdecl, dynlib: gdklib, importc: "gdk_region_union_with_rect".} -proc gdk_region_intersect*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, - dynlib: gdklib, importc: "gdk_region_intersect".} -proc gdk_region_union*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, - dynlib: gdklib, importc: "gdk_region_union".} -proc gdk_region_subtract*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, - dynlib: gdklib, importc: "gdk_region_subtract".} -proc gdk_region_xor*(source1: PGdkRegion, source2: PGdkRegion){.cdecl, - dynlib: gdklib, importc: "gdk_region_xor".} -proc gdk_region_spans_intersect_foreach*(region: PGdkRegion, spans: PGdkSpan, - n_spans: int32, sorted: gboolean, `function`: TGdkSpanFunc, data: gpointer){. - cdecl, dynlib: gdklib, importc: "gdk_region_spans_intersect_foreach".} -proc gdk_rgb_find_color*(colormap: PGdkColormap, color: PGdkColor){.cdecl, - dynlib: gdklib, importc: "gdk_rgb_find_color".} -proc gdk_draw_rgb_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, - width: gint, height: gint, dith: TGdkRgbDither, - rgb_buf: Pguchar, rowstride: gint){.cdecl, - dynlib: gdklib, importc: "gdk_draw_rgb_image".} -proc gdk_draw_rgb_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, - y: gint, width: gint, height: gint, - dith: TGdkRgbDither, rgb_buf: Pguchar, - rowstride: gint, xdith: gint, ydith: gint){. - cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_image_dithalign".} -proc gdk_draw_rgb_32_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, - y: gint, width: gint, height: gint, - dith: TGdkRgbDither, buf: Pguchar, rowstride: gint){. - cdecl, dynlib: gdklib, importc: "gdk_draw_rgb_32_image".} -proc gdk_draw_rgb_32_image_dithalign*(drawable: PGdkDrawable, gc: PGdkGC, - x: gint, y: gint, width: gint, - height: gint, dith: TGdkRgbDither, - buf: Pguchar, rowstride: gint, - xdith: gint, ydith: gint){.cdecl, - dynlib: gdklib, importc: "gdk_draw_rgb_32_image_dithalign".} -proc gdk_draw_gray_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, y: gint, - width: gint, height: gint, dith: TGdkRgbDither, - buf: Pguchar, rowstride: gint){.cdecl, dynlib: gdklib, - importc: "gdk_draw_gray_image".} -proc gdk_draw_indexed_image*(drawable: PGdkDrawable, gc: PGdkGC, x: gint, - y: gint, width: gint, height: gint, - dith: TGdkRgbDither, buf: Pguchar, rowstride: gint, - cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib, - importc: "gdk_draw_indexed_image".} -proc gdk_rgb_cmap_new*(colors: Pguint32, n_colors: gint): PGdkRgbCmap{.cdecl, - dynlib: gdklib, importc: "gdk_rgb_cmap_new".} -proc gdk_rgb_cmap_free*(cmap: PGdkRgbCmap){.cdecl, dynlib: gdklib, - importc: "gdk_rgb_cmap_free".} -proc gdk_rgb_set_verbose*(verbose: gboolean){.cdecl, dynlib: gdklib, - importc: "gdk_rgb_set_verbose".} -proc gdk_rgb_set_install*(install: gboolean){.cdecl, dynlib: gdklib, - importc: "gdk_rgb_set_install".} -proc gdk_rgb_set_min_colors*(min_colors: gint){.cdecl, dynlib: gdklib, - importc: "gdk_rgb_set_min_colors".} -proc GDK_TYPE_DISPLAY*(): GType -proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay -proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass -proc GDK_IS_DISPLAY*(anObject: pointer): bool -proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool -proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass -proc gdk_display_open*(display_name: cstring): PGdkDisplay{.cdecl, - dynlib: gdklib, importc: "gdk_display_open".} -proc gdk_display_get_name*(display: PGdkDisplay): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_display_get_name".} -proc gdk_display_get_n_screens*(display: PGdkDisplay): gint{.cdecl, - dynlib: gdklib, importc: "gdk_display_get_n_screens".} -proc gdk_display_get_screen*(display: PGdkDisplay, screen_num: gint): PGdkScreen{. - cdecl, dynlib: gdklib, importc: "gdk_display_get_screen".} -proc gdk_display_get_default_screen*(display: PGdkDisplay): PGdkScreen{.cdecl, - dynlib: gdklib, importc: "gdk_display_get_default_screen".} -proc gdk_display_pointer_ungrab*(display: PGdkDisplay, time: guint32){.cdecl, - dynlib: gdklib, importc: "gdk_display_pointer_ungrab".} -proc gdk_display_keyboard_ungrab*(display: PGdkDisplay, time: guint32){.cdecl, - dynlib: gdklib, importc: "gdk_display_keyboard_ungrab".} -proc gdk_display_pointer_is_grabbed*(display: PGdkDisplay): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_display_pointer_is_grabbed".} -proc gdk_display_beep*(display: PGdkDisplay){.cdecl, dynlib: gdklib, - importc: "gdk_display_beep".} -proc gdk_display_sync*(display: PGdkDisplay){.cdecl, dynlib: gdklib, - importc: "gdk_display_sync".} -proc gdk_display_close*(display: PGdkDisplay){.cdecl, dynlib: gdklib, - importc: "gdk_display_close".} -proc gdk_display_list_devices*(display: PGdkDisplay): PGList{.cdecl, - dynlib: gdklib, importc: "gdk_display_list_devices".} -proc gdk_display_get_event*(display: PGdkDisplay): PGdkEvent{.cdecl, - dynlib: gdklib, importc: "gdk_display_get_event".} -proc gdk_display_peek_event*(display: PGdkDisplay): PGdkEvent{.cdecl, - dynlib: gdklib, importc: "gdk_display_peek_event".} -proc gdk_display_put_event*(display: PGdkDisplay, event: PGdkEvent){.cdecl, - dynlib: gdklib, importc: "gdk_display_put_event".} -proc gdk_display_add_client_message_filter*(display: PGdkDisplay, - message_type: TGdkAtom, func: TGdkFilterFunc, data: gpointer){.cdecl, - dynlib: gdklib, importc: "gdk_display_add_client_message_filter".} -proc gdk_display_set_double_click_time*(display: PGdkDisplay, msec: guint){. - cdecl, dynlib: gdklib, importc: "gdk_display_set_double_click_time".} -proc gdk_display_set_sm_client_id*(display: PGdkDisplay, sm_client_id: cstring){. - cdecl, dynlib: gdklib, importc: "gdk_display_set_sm_client_id".} -proc gdk_set_default_display*(display: PGdkDisplay){.cdecl, dynlib: gdklib, - importc: "gdk_set_default_display".} -proc gdk_get_default_display*(): PGdkDisplay{.cdecl, dynlib: gdklib, - importc: "gdk_get_default_display".} -proc GDK_TYPE_SCREEN*(): GType -proc GDK_SCREEN*(anObject: Pointer): PGdkScreen -proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass -proc GDK_IS_SCREEN*(anObject: Pointer): bool -proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool -proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass -proc gdk_screen_get_default_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_default_colormap".} -proc gdk_screen_set_default_colormap*(screen: PGdkScreen, colormap: PGdkColormap){. - cdecl, dynlib: gdklib, importc: "gdk_screen_set_default_colormap".} -proc gdk_screen_get_system_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_system_colormap".} -proc gdk_screen_get_system_visual*(screen: PGdkScreen): PGdkVisual{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_system_visual".} -proc gdk_screen_get_rgb_colormap*(screen: PGdkScreen): PGdkColormap{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_rgb_colormap".} -proc gdk_screen_get_rgb_visual*(screen: PGdkScreen): PGdkVisual{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_rgb_visual".} -proc gdk_screen_get_root_window*(screen: PGdkScreen): PGdkWindow{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_root_window".} -proc gdk_screen_get_display*(screen: PGdkScreen): PGdkDisplay{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_display".} -proc gdk_screen_get_number*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_get_number".} -proc gdk_screen_get_window_at_pointer*(screen: PGdkScreen, win_x: Pgint, - win_y: Pgint): PGdkWindow{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_window_at_pointer".} -proc gdk_screen_get_width*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_get_width".} -proc gdk_screen_get_height*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_get_height".} -proc gdk_screen_get_width_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_get_width_mm".} -proc gdk_screen_get_height_mm*(screen: PGdkScreen): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_get_height_mm".} -proc gdk_screen_close*(screen: PGdkScreen){.cdecl, dynlib: gdklib, - importc: "gdk_screen_close".} -proc gdk_screen_list_visuals*(screen: PGdkScreen): PGList{.cdecl, - dynlib: gdklib, importc: "gdk_screen_list_visuals".} -proc gdk_screen_get_toplevel_windows*(screen: PGdkScreen): PGList{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_toplevel_windows".} -proc gdk_screen_get_n_monitors*(screen: PGdkScreen): gint{.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_n_monitors".} -proc gdk_screen_get_monitor_geometry*(screen: PGdkScreen, monitor_num: gint, - dest: PGdkRectangle){.cdecl, - dynlib: gdklib, importc: "gdk_screen_get_monitor_geometry".} -proc gdk_screen_get_monitor_at_point*(screen: PGdkScreen, x: gint, y: gint): gint{. - cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_point".} -proc gdk_screen_get_monitor_at_window*(screen: PGdkScreen, window: PGdkWindow): gint{. - cdecl, dynlib: gdklib, importc: "gdk_screen_get_monitor_at_window".} -proc gdk_screen_broadcast_client_message*(screen: PGdkScreen, event: PGdkEvent){. - cdecl, dynlib: gdklib, importc: "gdk_screen_broadcast_client_message".} -proc gdk_get_default_screen*(): PGdkScreen{.cdecl, dynlib: gdklib, - importc: "gdk_get_default_screen".} -proc gdk_screen_get_setting*(screen: PGdkScreen, name: cstring, value: PGValue): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_screen_get_setting".} -proc GDK_SELECTION_PRIMARY*(): TGdkAtom -proc GDK_SELECTION_SECONDARY*(): TGdkAtom -proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom -proc GDK_TARGET_BITMAP*(): TGdkAtom -proc GDK_TARGET_COLORMAP*(): TGdkAtom -proc GDK_TARGET_DRAWABLE*(): TGdkAtom -proc GDK_TARGET_PIXMAP*(): TGdkAtom -proc GDK_TARGET_STRING*(): TGdkAtom -proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom -proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom -proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom -proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom -proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom -proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom -proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom -proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom -proc gdk_selection_owner_set_for_display*(display: PGdkDisplay, - owner: PGdkWindow, selection: TGdkAtom, time: guint32, send_event: gboolean): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_selection_owner_set_for_display".} -proc gdk_selection_owner_get_for_display*(display: PGdkDisplay, - selection: TGdkAtom): PGdkWindow{.cdecl, dynlib: gdklib, importc: "gdk_selection_owner_get_for_display".} -proc gdk_selection_convert*(requestor: PGdkWindow, selection: TGdkAtom, - target: TGdkAtom, time: guint32){.cdecl, - dynlib: gdklib, importc: "gdk_selection_convert".} -proc gdk_selection_property_get*(requestor: PGdkWindow, data: PPguchar, - prop_type: PGdkAtom, prop_format: Pgint): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_selection_property_get".} -proc gdk_selection_send_notify_for_display*(display: PGdkDisplay, - requestor: guint32, selection: TGdkAtom, target: TGdkAtom, - `property`: TGdkAtom, time: guint32){.cdecl, dynlib: gdklib, - importc: "gdk_selection_send_notify_for_display".} -const - GDK_CURRENT_TIME* = 0 - GDK_PARENT_RELATIVE* = 1 - GDK_OK* = 0 - GDK_ERROR* = - (1) - GDK_ERROR_PARAM* = - (2) - GDK_ERROR_FILE* = - (3) - GDK_ERROR_MEM* = - (4) - GDK_SHIFT_MASK* = 1 shl 0 - GDK_LOCK_MASK* = 1 shl 1 - GDK_CONTROL_MASK* = 1 shl 2 - GDK_MOD1_MASK* = 1 shl 3 - GDK_MOD2_MASK* = 1 shl 4 - GDK_MOD3_MASK* = 1 shl 5 - GDK_MOD4_MASK* = 1 shl 6 - GDK_MOD5_MASK* = 1 shl 7 - GDK_BUTTON1_MASK* = 1 shl 8 - GDK_BUTTON2_MASK* = 1 shl 9 - GDK_BUTTON3_MASK* = 1 shl 10 - GDK_BUTTON4_MASK* = 1 shl 11 - GDK_BUTTON5_MASK* = 1 shl 12 - GDK_RELEASE_MASK* = 1 shl 30 - GDK_MODIFIER_MASK* = ord(GDK_RELEASE_MASK) or 0x00001FFF - GDK_INPUT_READ* = 1 shl 0 - GDK_INPUT_WRITE* = 1 shl 1 - GDK_INPUT_EXCEPTION* = 1 shl 2 - GDK_GRAB_SUCCESS* = 0 - GDK_GRAB_ALREADY_GRABBED* = 1 - GDK_GRAB_INVALID_TIME* = 2 - GDK_GRAB_NOT_VIEWABLE* = 3 - GDK_GRAB_FROZEN* = 4 - -proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): Pointer -proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom -proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom -proc GDK_NONE*(): TGdkAtom -proc GDK_TYPE_VISUAL*(): GType -proc GDK_VISUAL*(anObject: Pointer): PGdkVisual -proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass -proc GDK_IS_VISUAL*(anObject: Pointer): bool -proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool -proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass -proc gdk_visual_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_visual_get_type".} -const - GDK_WA_TITLE* = 1 shl 1 - GDK_WA_X* = 1 shl 2 - GDK_WA_Y* = 1 shl 3 - GDK_WA_CURSOR* = 1 shl 4 - GDK_WA_COLORMAP* = 1 shl 5 - GDK_WA_VISUAL* = 1 shl 6 - GDK_WA_WMCLASS* = 1 shl 7 - GDK_WA_NOREDIR* = 1 shl 8 - GDK_HINT_POS* = 1 shl 0 - GDK_HINT_MIN_SIZE* = 1 shl 1 - GDK_HINT_MAX_SIZE* = 1 shl 2 - GDK_HINT_BASE_SIZE* = 1 shl 3 - GDK_HINT_ASPECT* = 1 shl 4 - GDK_HINT_RESIZE_INC* = 1 shl 5 - GDK_HINT_WIN_GRAVITY* = 1 shl 6 - GDK_HINT_USER_POS* = 1 shl 7 - GDK_HINT_USER_SIZE* = 1 shl 8 - GDK_DECOR_ALL* = 1 shl 0 - GDK_DECOR_BORDER* = 1 shl 1 - GDK_DECOR_RESIZEH* = 1 shl 2 - GDK_DECOR_TITLE* = 1 shl 3 - GDK_DECOR_MENU* = 1 shl 4 - GDK_DECOR_MINIMIZE* = 1 shl 5 - GDK_DECOR_MAXIMIZE* = 1 shl 6 - GDK_FUNC_ALL* = 1 shl 0 - GDK_FUNC_RESIZE* = 1 shl 1 - GDK_FUNC_MOVE* = 1 shl 2 - GDK_FUNC_MINIMIZE* = 1 shl 3 - GDK_FUNC_MAXIMIZE* = 1 shl 4 - GDK_FUNC_CLOSE* = 1 shl 5 - GDK_GRAVITY_NORTH_WEST* = 1 - GDK_GRAVITY_NORTH* = 2 - GDK_GRAVITY_NORTH_EAST* = 3 - GDK_GRAVITY_WEST* = 4 - GDK_GRAVITY_CENTER* = 5 - GDK_GRAVITY_EAST* = 6 - GDK_GRAVITY_SOUTH_WEST* = 7 - GDK_GRAVITY_SOUTH* = 8 - GDK_GRAVITY_SOUTH_EAST* = 9 - GDK_GRAVITY_STATIC* = 10 - -proc GDK_TYPE_WINDOW*(): GType -proc GDK_WINDOW*(anObject: Pointer): PGdkWindow -proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass -proc GDK_IS_WINDOW*(anObject: Pointer): bool -proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool -proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass -proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject -const - bm_TGdkWindowObject_guffaw_gravity* = 0x00000001'i16 - bp_TGdkWindowObject_guffaw_gravity* = 0'i16 - bm_TGdkWindowObject_input_only* = 0x00000002'i16 - bp_TGdkWindowObject_input_only* = 1'i16 - bm_TGdkWindowObject_modal_hint* = 0x00000004'i16 - bp_TGdkWindowObject_modal_hint* = 2'i16 - bm_TGdkWindowObject_destroyed* = 0x00000018'i16 - bp_TGdkWindowObject_destroyed* = 3'i16 - -proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint -proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject, - `guffaw_gravity`: guint) -proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint -proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject, - `input_only`: guint) -proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint -proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject, - `modal_hint`: guint) -proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint -proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint) -proc gdk_window_object_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_window_object_get_type".} -proc gdk_window_new*(parent: PGdkWindow, attributes: PGdkWindowAttr, - attributes_mask: gint): PGdkWindow{.cdecl, dynlib: gdklib, - importc: "gdk_window_new".} -proc gdk_window_destroy*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_destroy".} -proc gdk_window_get_window_type*(window: PGdkWindow): TGdkWindowType{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_window_type".} -proc gdk_window_at_pointer*(win_x: Pgint, win_y: Pgint): PGdkWindow{.cdecl, - dynlib: gdklib, importc: "gdk_window_at_pointer".} -proc gdk_window_show*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_show".} -proc gdk_window_hide*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_hide".} -proc gdk_window_withdraw*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_withdraw".} -proc gdk_window_show_unraised*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_show_unraised".} -proc gdk_window_move*(window: PGdkWindow, x: gint, y: gint){.cdecl, - dynlib: gdklib, importc: "gdk_window_move".} -proc gdk_window_resize*(window: PGdkWindow, width: gint, height: gint){.cdecl, - dynlib: gdklib, importc: "gdk_window_resize".} -proc gdk_window_move_resize*(window: PGdkWindow, x: gint, y: gint, width: gint, - height: gint){.cdecl, dynlib: gdklib, - importc: "gdk_window_move_resize".} -proc gdk_window_reparent*(window: PGdkWindow, new_parent: PGdkWindow, x: gint, - y: gint){.cdecl, dynlib: gdklib, - importc: "gdk_window_reparent".} -proc gdk_window_clear*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_clear".} -proc gdk_window_clear_area*(window: PGdkWindow, x: gint, y: gint, width: gint, - height: gint){.cdecl, dynlib: gdklib, - importc: "gdk_window_clear_area".} -proc gdk_window_clear_area_e*(window: PGdkWindow, x: gint, y: gint, width: gint, - height: gint){.cdecl, dynlib: gdklib, - importc: "gdk_window_clear_area_e".} -proc gdk_window_raise*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_raise".} -proc gdk_window_lower*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_lower".} -proc gdk_window_focus*(window: PGdkWindow, timestamp: guint32){.cdecl, - dynlib: gdklib, importc: "gdk_window_focus".} -proc gdk_window_set_user_data*(window: PGdkWindow, user_data: gpointer){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_user_data".} -proc gdk_window_set_override_redirect*(window: PGdkWindow, - override_redirect: gboolean){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_override_redirect".} -proc gdk_window_add_filter*(window: PGdkWindow, `function`: TGdkFilterFunc, - data: gpointer){.cdecl, dynlib: gdklib, - importc: "gdk_window_add_filter".} -proc gdk_window_remove_filter*(window: PGdkWindow, `function`: TGdkFilterFunc, - data: gpointer){.cdecl, dynlib: gdklib, - importc: "gdk_window_remove_filter".} -proc gdk_window_scroll*(window: PGdkWindow, dx: gint, dy: gint){.cdecl, - dynlib: gdklib, importc: "gdk_window_scroll".} -proc gdk_window_shape_combine_mask*(window: PGdkWindow, mask: PGdkBitmap, - x: gint, y: gint){.cdecl, dynlib: gdklib, - importc: "gdk_window_shape_combine_mask".} -proc gdk_window_shape_combine_region*(window: PGdkWindow, - shape_region: PGdkRegion, offset_x: gint, - offset_y: gint){.cdecl, dynlib: gdklib, - importc: "gdk_window_shape_combine_region".} -proc gdk_window_set_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_set_child_shapes".} -proc gdk_window_merge_child_shapes*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_merge_child_shapes".} -proc gdk_window_is_visible*(window: PGdkWindow): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_window_is_visible".} -proc gdk_window_is_viewable*(window: PGdkWindow): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_window_is_viewable".} -proc gdk_window_get_state*(window: PGdkWindow): TGdkWindowState{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_state".} -proc gdk_window_set_static_gravities*(window: PGdkWindow, use_static: gboolean): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_window_set_static_gravities".} -proc gdk_window_foreign_new_for_display*(display: PGdkDisplay, - anid: TGdkNativeWindow): PGdkWindow{.cdecl, dynlib: gdklib, - importc: "gdk_window_foreign_new_for_display".} -proc gdk_window_lookup_for_display*(display: PGdkDisplay, anid: TGdkNativeWindow): PGdkWindow{. - cdecl, dynlib: gdklib, importc: "gdk_window_lookup_for_display".} -proc gdk_window_set_type_hint*(window: PGdkWindow, hint: TGdkWindowTypeHint){. - cdecl, dynlib: gdklib, importc: "gdk_window_set_type_hint".} -proc gdk_window_set_modal_hint*(window: PGdkWindow, modal: gboolean){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_modal_hint".} -proc gdk_window_set_geometry_hints*(window: PGdkWindow, geometry: PGdkGeometry, - geom_mask: TGdkWindowHints){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_geometry_hints".} -proc gdk_set_sm_client_id*(sm_client_id: cstring){.cdecl, dynlib: gdklib, - importc: "gdk_set_sm_client_id".} -proc gdk_window_begin_paint_rect*(window: PGdkWindow, rectangle: PGdkRectangle){. - cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_rect".} -proc gdk_window_begin_paint_region*(window: PGdkWindow, region: PGdkRegion){. - cdecl, dynlib: gdklib, importc: "gdk_window_begin_paint_region".} -proc gdk_window_end_paint*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_end_paint".} -proc gdk_window_set_title*(window: PGdkWindow, title: cstring){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_title".} -proc gdk_window_set_role*(window: PGdkWindow, role: cstring){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_role".} -proc gdk_window_set_transient_for*(window: PGdkWindow, parent: PGdkWindow){. - cdecl, dynlib: gdklib, importc: "gdk_window_set_transient_for".} -proc gdk_window_set_background*(window: PGdkWindow, color: PGdkColor){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_background".} -proc gdk_window_set_back_pixmap*(window: PGdkWindow, pixmap: PGdkPixmap, - parent_relative: gboolean){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_back_pixmap".} -proc gdk_window_set_cursor*(window: PGdkWindow, cursor: PGdkCursor){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_cursor".} -proc gdk_window_get_user_data*(window: PGdkWindow, data: gpointer){.cdecl, - dynlib: gdklib, importc: "gdk_window_get_user_data".} -proc gdk_window_get_geometry*(window: PGdkWindow, x: Pgint, y: Pgint, - width: Pgint, height: Pgint, depth: Pgint){.cdecl, - dynlib: gdklib, importc: "gdk_window_get_geometry".} -proc gdk_window_get_position*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl, - dynlib: gdklib, importc: "gdk_window_get_position".} -proc gdk_window_get_origin*(window: PGdkWindow, x: Pgint, y: Pgint): gint{. - cdecl, dynlib: gdklib, importc: "gdk_window_get_origin".} -proc gdk_window_get_root_origin*(window: PGdkWindow, x: Pgint, y: Pgint){.cdecl, - dynlib: gdklib, importc: "gdk_window_get_root_origin".} -proc gdk_window_get_frame_extents*(window: PGdkWindow, rect: PGdkRectangle){. - cdecl, dynlib: gdklib, importc: "gdk_window_get_frame_extents".} -proc gdk_window_get_pointer*(window: PGdkWindow, x: Pgint, y: Pgint, - mask: PGdkModifierType): PGdkWindow{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_pointer".} -proc gdk_window_get_parent*(window: PGdkWindow): PGdkWindow{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_parent".} -proc gdk_window_get_toplevel*(window: PGdkWindow): PGdkWindow{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_toplevel".} -proc gdk_window_get_children*(window: PGdkWindow): PGList{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_children".} -proc gdk_window_peek_children*(window: PGdkWindow): PGList{.cdecl, - dynlib: gdklib, importc: "gdk_window_peek_children".} -proc gdk_window_get_events*(window: PGdkWindow): TGdkEventMask{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_events".} -proc gdk_window_set_events*(window: PGdkWindow, event_mask: TGdkEventMask){. - cdecl, dynlib: gdklib, importc: "gdk_window_set_events".} -proc gdk_window_set_icon_list*(window: PGdkWindow, pixbufs: PGList){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_icon_list".} -proc gdk_window_set_icon*(window: PGdkWindow, icon_window: PGdkWindow, - pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_icon".} -proc gdk_window_set_icon_name*(window: PGdkWindow, name: cstring){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_icon_name".} -proc gdk_window_set_group*(window: PGdkWindow, leader: PGdkWindow){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_group".} -proc gdk_window_set_decorations*(window: PGdkWindow, - decorations: TGdkWMDecoration){.cdecl, - dynlib: gdklib, importc: "gdk_window_set_decorations".} -proc gdk_window_get_decorations*(window: PGdkWindow, - decorations: PGdkWMDecoration): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_window_get_decorations".} -proc gdk_window_set_functions*(window: PGdkWindow, functions: TGdkWMFunction){. - cdecl, dynlib: gdklib, importc: "gdk_window_set_functions".} -proc gdk_window_iconify*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_iconify".} -proc gdk_window_deiconify*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_deiconify".} -proc gdk_window_stick*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_stick".} -proc gdk_window_unstick*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_unstick".} -proc gdk_window_maximize*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_maximize".} -proc gdk_window_unmaximize*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_unmaximize".} -proc gdk_window_register_dnd*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_register_dnd".} -proc gdk_window_begin_resize_drag*(window: PGdkWindow, edge: TGdkWindowEdge, - button: gint, root_x: gint, root_y: gint, - timestamp: guint32){.cdecl, dynlib: gdklib, - importc: "gdk_window_begin_resize_drag".} -proc gdk_window_begin_move_drag*(window: PGdkWindow, button: gint, root_x: gint, - root_y: gint, timestamp: guint32){.cdecl, - dynlib: gdklib, importc: "gdk_window_begin_move_drag".} -proc gdk_window_invalidate_rect*(window: PGdkWindow, rect: PGdkRectangle, - invalidate_children: gboolean){.cdecl, - dynlib: gdklib, importc: "gdk_window_invalidate_rect".} -proc gdk_window_invalidate_region*(window: PGdkWindow, region: PGdkRegion, - invalidate_children: gboolean){.cdecl, - dynlib: gdklib, importc: "gdk_window_invalidate_region".} -proc gdk_window_invalidate_maybe_recurse*(window: PGdkWindow, - region: PGdkRegion, - child_func: gdk_window_invalidate_maybe_recurse_child_func, - user_data: gpointer){.cdecl, dynlib: gdklib, - importc: "gdk_window_invalidate_maybe_recurse".} -proc gdk_window_get_update_area*(window: PGdkWindow): PGdkRegion{.cdecl, - dynlib: gdklib, importc: "gdk_window_get_update_area".} -proc gdk_window_freeze_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_freeze_updates".} -proc gdk_window_thaw_updates*(window: PGdkWindow){.cdecl, dynlib: gdklib, - importc: "gdk_window_thaw_updates".} -proc gdk_window_process_all_updates*(){.cdecl, dynlib: gdklib, importc: "gdk_window_process_all_updates".} -proc gdk_window_process_updates*(window: PGdkWindow, update_children: gboolean){. - cdecl, dynlib: gdklib, importc: "gdk_window_process_updates".} -proc gdk_window_set_debug_updates*(setting: gboolean){.cdecl, dynlib: gdklib, - importc: "gdk_window_set_debug_updates".} -proc gdk_window_constrain_size*(geometry: PGdkGeometry, flags: guint, - width: gint, height: gint, new_width: Pgint, - new_height: Pgint){.cdecl, dynlib: gdklib, - importc: "gdk_window_constrain_size".} -proc gdk_window_get_internal_paint_info*(window: PGdkWindow, - e: var PGdkDrawable, x_offset: Pgint, y_offset: Pgint){.cdecl, - dynlib: gdklib, importc: "gdk_window_get_internal_paint_info".} -proc gdk_set_pointer_hooks*(new_hooks: PGdkPointerHooks): PGdkPointerHooks{. - cdecl, dynlib: gdklib, importc: "gdk_set_pointer_hooks".} -proc gdk_get_default_root_window*(): PGdkWindow{.cdecl, dynlib: gdklib, - importc: "gdk_get_default_root_window".} -proc gdk_parse_args*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib, - importc: "gdk_parse_args".} -proc gdk_init*(argc: Pgint, v: var PPgchar){.cdecl, dynlib: gdklib, - importc: "gdk_init".} -proc gdk_init_check*(argc: Pgint, v: var PPgchar): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_init_check".} -when not defined(GDK_DISABLE_DEPRECATED): - proc gdk_exit*(error_code: gint){.cdecl, dynlib: gdklib, importc: "gdk_exit".} -proc gdk_set_locale*(): cstring{.cdecl, dynlib: gdklib, importc: "gdk_set_locale".} -proc gdk_get_program_class*(): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_get_program_class".} -proc gdk_set_program_class*(program_class: cstring){.cdecl, dynlib: gdklib, - importc: "gdk_set_program_class".} -proc gdk_error_trap_push*(){.cdecl, dynlib: gdklib, - importc: "gdk_error_trap_push".} -proc gdk_error_trap_pop*(): gint{.cdecl, dynlib: gdklib, - importc: "gdk_error_trap_pop".} -when not defined(GDK_DISABLE_DEPRECATED): - proc gdk_set_use_xshm*(use_xshm: gboolean){.cdecl, dynlib: gdklib, - importc: "gdk_set_use_xshm".} - proc gdk_get_use_xshm*(): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_get_use_xshm".} -proc gdk_get_display*(): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_get_display".} -proc gdk_get_display_arg_name*(): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_get_display_arg_name".} -when not defined(GDK_DISABLE_DEPRECATED): - proc gdk_input_add_full*(source: gint, condition: TGdkInputCondition, - `function`: TGdkInputFunction, data: gpointer, - destroy: TGdkDestroyNotify): gint{.cdecl, - dynlib: gdklib, importc: "gdk_input_add_full".} - proc gdk_input_add*(source: gint, condition: TGdkInputCondition, - `function`: TGdkInputFunction, data: gpointer): gint{. - cdecl, dynlib: gdklib, importc: "gdk_input_add".} - proc gdk_input_remove*(tag: gint){.cdecl, dynlib: gdklib, - importc: "gdk_input_remove".} -proc gdk_pointer_grab*(window: PGdkWindow, owner_events: gboolean, - event_mask: TGdkEventMask, confine_to: PGdkWindow, - cursor: PGdkCursor, time: guint32): TGdkGrabStatus{. - cdecl, dynlib: gdklib, importc: "gdk_pointer_grab".} -proc gdk_keyboard_grab*(window: PGdkWindow, owner_events: gboolean, - time: guint32): TGdkGrabStatus{.cdecl, dynlib: gdklib, - importc: "gdk_keyboard_grab".} -when not defined(GDK_MULTIHEAD_SAFE): - proc gdk_pointer_ungrab*(time: guint32){.cdecl, dynlib: gdklib, - importc: "gdk_pointer_ungrab".} - proc gdk_keyboard_ungrab*(time: guint32){.cdecl, dynlib: gdklib, - importc: "gdk_keyboard_ungrab".} - proc gdk_pointer_is_grabbed*(): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_pointer_is_grabbed".} - proc gdk_screen_width*(): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_width".} - proc gdk_screen_height*(): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_height".} - proc gdk_screen_width_mm*(): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_width_mm".} - proc gdk_screen_height_mm*(): gint{.cdecl, dynlib: gdklib, - importc: "gdk_screen_height_mm".} - proc gdk_beep*(){.cdecl, dynlib: gdklib, importc: "gdk_beep".} -proc gdk_flush*(){.cdecl, dynlib: gdklib, importc: "gdk_flush".} -when not defined(GDK_MULTIHEAD_SAFE): - proc gdk_set_double_click_time*(msec: guint){.cdecl, dynlib: gdklib, - importc: "gdk_set_double_click_time".} -proc gdk_rectangle_intersect*(src1: PGdkRectangle, src2: PGdkRectangle, - dest: PGdkRectangle): gboolean{.cdecl, - dynlib: gdklib, importc: "gdk_rectangle_intersect".} -proc gdk_rectangle_union*(src1: PGdkRectangle, src2: PGdkRectangle, - dest: PGdkRectangle){.cdecl, dynlib: gdklib, - importc: "gdk_rectangle_union".} -proc gdk_rectangle_get_type*(): GType{.cdecl, dynlib: gdklib, - importc: "gdk_rectangle_get_type".} -proc GDK_TYPE_RECTANGLE*(): GType -proc gdk_wcstombs*(src: PGdkWChar): cstring{.cdecl, dynlib: gdklib, - importc: "gdk_wcstombs".} -proc gdk_mbstowcs*(dest: PGdkWChar, src: cstring, dest_max: gint): gint{.cdecl, - dynlib: gdklib, importc: "gdk_mbstowcs".} -when not defined(GDK_MULTIHEAD_SAFE): - proc gdk_event_send_client_message*(event: PGdkEvent, xid: guint32): gboolean{. - cdecl, dynlib: gdklib, importc: "gdk_event_send_client_message".} - proc gdk_event_send_clientmessage_toall*(event: PGdkEvent){.cdecl, - dynlib: gdklib, importc: "gdk_event_send_clientmessage_toall".} -proc gdk_event_send_client_message_for_display*(display: PGdkDisplay, - event: PGdkEvent, xid: guint32): gboolean{.cdecl, dynlib: gdklib, - importc: "gdk_event_send_client_message_for_display".} -proc gdk_threads_enter*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_enter".} -proc gdk_threads_leave*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_leave".} -proc gdk_threads_init*(){.cdecl, dynlib: gdklib, importc: "gdk_threads_init".} - -proc GDK_TYPE_RECTANGLE*(): GType = - result = gdk_rectangle_get_type() - -proc GDK_TYPE_COLORMAP*(): GType = - result = gdk_colormap_get_type() - -proc GDK_COLORMAP*(anObject: pointer): PGdkColormap = - result = cast[PGdkColormap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_COLORMAP())) - -proc GDK_COLORMAP_CLASS*(klass: pointer): PGdkColormapClass = - result = cast[PGdkColormapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_COLORMAP())) - -proc GDK_IS_COLORMAP*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_COLORMAP()) - -proc GDK_IS_COLORMAP_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_COLORMAP()) - -proc GDK_COLORMAP_GET_CLASS*(obj: pointer): PGdkColormapClass = - result = cast[PGdkColormapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_COLORMAP())) - -proc GDK_TYPE_COLOR*(): GType = - result = gdk_color_get_type() - -proc gdk_cursor_destroy*(cursor: PGdkCursor) = - gdk_cursor_unref(cursor) - -proc GDK_TYPE_CURSOR*(): GType = - result = gdk_cursor_get_type() - -proc GDK_TYPE_DRAG_CONTEXT*(): GType = - result = gdk_drag_context_get_type() - -proc GDK_DRAG_CONTEXT*(anObject: Pointer): PGdkDragContext = - result = cast[PGdkDragContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GDK_TYPE_DRAG_CONTEXT())) - -proc GDK_DRAG_CONTEXT_CLASS*(klass: Pointer): PGdkDragContextClass = - result = cast[PGdkDragContextClass](G_TYPE_CHECK_CLASS_CAST(klass, - GDK_TYPE_DRAG_CONTEXT())) - -proc GDK_IS_DRAG_CONTEXT*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAG_CONTEXT()) - -proc GDK_IS_DRAG_CONTEXT_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAG_CONTEXT()) - -proc GDK_DRAG_CONTEXT_GET_CLASS*(obj: Pointer): PGdkDragContextClass = - result = cast[PGdkDragContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GDK_TYPE_DRAG_CONTEXT())) - -proc gdkregion_EXTENTCHECK*(r1, r2: PGdkRegionBox): bool = - result = ((r1.x2) > r2.x1) and ((r1.x1) < r2.x2) and - ((r1.y2) > r2.y1) and ((r1.y1) < r2.y2) - -proc gdkregion_EXTENTS*(r: PGdkRegionBox, idRect: PGdkRegion) = - if ((r.x1) < idRect.extents.x1): - idRect.extents.x1 = r.x1 - if (r.y1) < idRect.extents.y1: - idRect.extents.y1 = r.y1 - if (r.x2) > idRect.extents.x2: - idRect.extents.x2 = r.x2 - -proc gdkregion_MEMCHECK*(reg: PGdkRegion, ARect, firstrect: var PGdkRegionBox): bool = - assert(false) # to implement - -proc gdkregion_CHECK_PREVIOUS*(Reg: PGdkRegion, R: PGdkRegionBox, - Rx1, Ry1, Rx2, Ry2: gint): bool = - assert(false) # to implement - -proc gdkregion_ADDRECT*(reg: PGdkRegion, r: PGdkRegionBox, - rx1, ry1, rx2, ry2: gint) = - if (((rx1) < rx2) and ((ry1) < ry2) and - gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)): - r.x1 = rx1 - r.y1 = ry1 - r.x2 = rx2 - r.y2 = ry2 - -proc gdkregion_ADDRECTNOX*(reg: PGdkRegion, r: PGdkRegionBox, - rx1, ry1, rx2, ry2: gint) = - if (((rx1) < rx2) and ((ry1) < ry2) and - gdkregion_CHECK_PREVIOUS(reg, r, rx1, ry1, rx2, ry2)): - r.x1 = rx1 - r.y1 = ry1 - r.x2 = rx2 - r.y2 = ry2 - inc(reg . numRects) - -proc gdkregion_EMPTY_REGION*(pReg: PGdkRegion): bool = - result = pReg.numRects == 0'i32 - -proc gdkregion_REGION_NOT_EMPTY*(pReg: PGdkRegion): bool = - result = pReg.numRects != 0'i32 - -proc gdkregion_INBOX*(r: TGdkRegionBox, x, y: gint): bool = - result = ((((r.x2) > x) and ((r.x1) <= x)) and - ((r.y2) > y)) and ((r.y1) <= y) - -proc GDK_TYPE_DRAWABLE*(): GType = - result = gdk_drawable_get_type() - -proc GDK_DRAWABLE*(anObject: Pointer): PGdkDrawable = - result = cast[PGdkDrawable](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DRAWABLE())) - -proc GDK_DRAWABLE_CLASS*(klass: Pointer): PGdkDrawableClass = - result = cast[PGdkDrawableClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DRAWABLE())) - -proc GDK_IS_DRAWABLE*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DRAWABLE()) - -proc GDK_IS_DRAWABLE_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DRAWABLE()) - -proc GDK_DRAWABLE_GET_CLASS*(obj: Pointer): PGdkDrawableClass = - result = cast[PGdkDrawableClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DRAWABLE())) - -proc gdk_draw_pixmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, - xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, - width: gint, height: gint) = - gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height) - -proc gdk_draw_bitmap*(drawable: PGdkDrawable, gc: PGdkGC, src: PGdkDrawable, - xsrc: gint, ysrc: gint, xdest: gint, ydest: gint, - width: gint, height: gint) = - gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height) - -proc GDK_TYPE_EVENT*(): GType = - result = gdk_event_get_type() - -proc GDK_TYPE_FONT*(): GType = - result = gdk_font_get_type() - -proc GDK_TYPE_GC*(): GType = - result = gdk_gc_get_type() - -proc GDK_GC*(anObject: Pointer): PGdkGC = - result = cast[PGdkGC](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GC())) - -proc GDK_GC_CLASS*(klass: Pointer): PGdkGCClass = - result = cast[PGdkGCClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GC())) - -proc GDK_IS_GC*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GC()) - -proc GDK_IS_GC_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GC()) - -proc GDK_GC_GET_CLASS*(obj: Pointer): PGdkGCClass = - result = cast[PGdkGCClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GC())) - -proc gdk_gc_destroy*(gc: PGdkGC) = - g_object_unref(G_OBJECT(gc)) - -proc GDK_TYPE_IMAGE*(): GType = - result = gdk_image_get_type() - -proc GDK_IMAGE*(anObject: Pointer): PGdkImage = - result = cast[PGdkImage](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_IMAGE())) - -proc GDK_IMAGE_CLASS*(klass: Pointer): PGdkImageClass = - result = cast[PGdkImageClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_IMAGE())) - -proc GDK_IS_IMAGE*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_IMAGE()) - -proc GDK_IS_IMAGE_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_IMAGE()) - -proc GDK_IMAGE_GET_CLASS*(obj: Pointer): PGdkImageClass = - result = cast[PGdkImageClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_IMAGE())) - -proc gdk_image_destroy*(image: PGdkImage) = - g_object_unref(G_OBJECT(image)) - -proc GDK_TYPE_DEVICE*(): GType = - result = gdk_device_get_type() - -proc GDK_DEVICE*(anObject: Pointer): PGdkDevice = - result = cast[PGdkDevice](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DEVICE())) - -proc GDK_DEVICE_CLASS*(klass: Pointer): PGdkDeviceClass = - result = cast[PGdkDeviceClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DEVICE())) - -proc GDK_IS_DEVICE*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DEVICE()) - -proc GDK_IS_DEVICE_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DEVICE()) - -proc GDK_DEVICE_GET_CLASS*(obj: Pointer): PGdkDeviceClass = - result = cast[PGdkDeviceClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DEVICE())) - -proc GDK_TYPE_KEYMAP*(): GType = - result = gdk_keymap_get_type() - -proc GDK_KEYMAP*(anObject: Pointer): PGdkKeymap = - result = cast[PGdkKeymap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_KEYMAP())) - -proc GDK_KEYMAP_CLASS*(klass: Pointer): PGdkKeymapClass = - result = cast[PGdkKeymapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_KEYMAP())) - -proc GDK_IS_KEYMAP*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_KEYMAP()) - -proc GDK_IS_KEYMAP_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_KEYMAP()) - -proc GDK_KEYMAP_GET_CLASS*(obj: Pointer): PGdkKeymapClass = - result = cast[PGdkKeymapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_KEYMAP())) - -proc GDK_TYPE_PIXMAP*(): GType = - result = gdk_pixmap_get_type() - -proc GDK_PIXMAP*(anObject: Pointer): PGdkPixmap = - result = cast[PGdkPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXMAP())) - -proc GDK_PIXMAP_CLASS*(klass: Pointer): PGdkPixmapObjectClass = - result = cast[PGdkPixmapObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_PIXMAP())) - -proc GDK_IS_PIXMAP*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXMAP()) - -proc GDK_IS_PIXMAP_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXMAP()) - -proc GDK_PIXMAP_GET_CLASS*(obj: Pointer): PGdkPixmapObjectClass = - result = cast[PGdkPixmapObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_PIXMAP())) - -proc GDK_PIXMAP_OBJECT*(anObject: Pointer): PGdkPixmapObject = - result = cast[PGdkPixmapObject](GDK_PIXMAP(anObject)) - -proc gdk_bitmap_ref*(drawable: PGdkDrawable): PGdkDrawable = - result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable))) - -proc gdk_bitmap_unref*(drawable: PGdkDrawable) = - g_object_unref(G_OBJECT(drawable)) - -proc gdk_pixmap_ref*(drawable: PGdkDrawable): PGdkDrawable = - result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable))) - -proc gdk_pixmap_unref*(drawable: PGdkDrawable) = - g_object_unref(G_OBJECT(drawable)) - -proc gdk_rgb_get_cmap*(): PGdkColormap = - result = nil #gdk_rgb_get_colormap() - -proc GDK_TYPE_DISPLAY*(): GType = - nil - #result = nil - -proc GDK_DISPLAY_OBJECT*(anObject: pointer): PGdkDisplay = - result = cast[PGdkDisplay](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_DISPLAY())) - -proc GDK_DISPLAY_CLASS*(klass: pointer): PGdkDisplayClass = - result = cast[PGdkDisplayClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_DISPLAY())) - -proc GDK_IS_DISPLAY*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_DISPLAY()) - -proc GDK_IS_DISPLAY_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_DISPLAY()) - -proc GDK_DISPLAY_GET_CLASS*(obj: pointer): PGdkDisplayClass = - result = cast[PGdkDisplayClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_DISPLAY())) - -proc GDK_TYPE_SCREEN*(): GType = - nil - -proc GDK_SCREEN*(anObject: Pointer): PGdkScreen = - result = cast[PGdkScreen](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_SCREEN())) - -proc GDK_SCREEN_CLASS*(klass: Pointer): PGdkScreenClass = - result = cast[PGdkScreenClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_SCREEN())) - -proc GDK_IS_SCREEN*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_SCREEN()) - -proc GDK_IS_SCREEN_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_SCREEN()) - -proc GDK_SCREEN_GET_CLASS*(obj: Pointer): PGdkScreenClass = - result = cast[PGdkScreenClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_SCREEN())) - -proc GDK_SELECTION_PRIMARY*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(1) - -proc GDK_SELECTION_SECONDARY*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(2) - -proc GDK_SELECTION_CLIPBOARD*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(69) - -proc GDK_TARGET_BITMAP*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(5) - -proc GDK_TARGET_COLORMAP*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(7) - -proc GDK_TARGET_DRAWABLE*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(17) - -proc GDK_TARGET_PIXMAP*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(20) - -proc GDK_TARGET_STRING*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(31) - -proc GDK_SELECTION_TYPE_ATOM*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(4) - -proc GDK_SELECTION_TYPE_BITMAP*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(5) - -proc GDK_SELECTION_TYPE_COLORMAP*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(7) - -proc GDK_SELECTION_TYPE_DRAWABLE*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(17) - -proc GDK_SELECTION_TYPE_INTEGER*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(19) - -proc GDK_SELECTION_TYPE_PIXMAP*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(20) - -proc GDK_SELECTION_TYPE_WINDOW*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(33) - -proc GDK_SELECTION_TYPE_STRING*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(31) - -proc GDK_ATOM_TO_POINTER*(atom: TGdkAtom): pointer = - result = cast[Pointer](atom) - -proc GDK_POINTER_TO_ATOM*(p: Pointer): TGdkAtom = - result = cast[TGdkAtom](p) - -proc `GDK_MAKE_ATOM`*(val: guint): TGdkAtom = - result = cast[TGdkAtom](val) - -proc GDK_NONE*(): TGdkAtom = - result = `GDK_MAKE_ATOM`(0) - -proc GDK_TYPE_VISUAL*(): GType = - result = gdk_visual_get_type() - -proc GDK_VISUAL*(anObject: Pointer): PGdkVisual = - result = cast[PGdkVisual](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_VISUAL())) - -proc GDK_VISUAL_CLASS*(klass: Pointer): PGdkVisualClass = - result = cast[PGdkVisualClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_VISUAL())) - -proc GDK_IS_VISUAL*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_VISUAL()) - -proc GDK_IS_VISUAL_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_VISUAL()) - -proc GDK_VISUAL_GET_CLASS*(obj: Pointer): PGdkVisualClass = - result = cast[PGdkVisualClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_VISUAL())) - -proc gdk_visual_ref*(v: PGdkVisual) = - discard g_object_ref(v) - -proc gdk_visual_unref*(v: PGdkVisual) = - g_object_unref(v) - -proc GDK_TYPE_WINDOW*(): GType = - result = gdk_window_object_get_type() - -proc GDK_WINDOW*(anObject: Pointer): PGdkWindow = - result = cast[PGdkWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_WINDOW())) - -proc GDK_WINDOW_CLASS*(klass: Pointer): PGdkWindowObjectClass = - result = cast[PGdkWindowObjectClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_WINDOW())) - -proc GDK_IS_WINDOW*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_WINDOW()) - -proc GDK_IS_WINDOW_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_WINDOW()) - -proc GDK_WINDOW_GET_CLASS*(obj: Pointer): PGdkWindowObjectClass = - result = cast[PGdkWindowObjectClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_WINDOW())) - -proc GDK_WINDOW_OBJECT*(anObject: Pointer): PGdkWindowObject = - result = cast[PGdkWindowObject](GDK_WINDOW(anObject)) - -proc GdkWindowObject_guffaw_gravity*(a: var TGdkWindowObject): guint = - result = (a.flag0 and bm_TGdkWindowObject_guffaw_gravity) shr - bp_TGdkWindowObject_guffaw_gravity - -proc GdkWindowObject_set_guffaw_gravity*(a: var TGdkWindowObject, - `guffaw_gravity`: guint) = - a.flag0 = a.flag0 or - (int16(`guffaw_gravity` shl bp_TGdkWindowObject_guffaw_gravity) and - bm_TGdkWindowObject_guffaw_gravity) - -proc GdkWindowObject_input_only*(a: var TGdkWindowObject): guint = - result = (a.flag0 and bm_TGdkWindowObject_input_only) shr - bp_TGdkWindowObject_input_only - -proc GdkWindowObject_set_input_only*(a: var TGdkWindowObject, - `input_only`: guint) = - a.flag0 = a.flag0 or - (int16(`input_only` shl bp_TGdkWindowObject_input_only) and - bm_TGdkWindowObject_input_only) - -proc GdkWindowObject_modal_hint*(a: var TGdkWindowObject): guint = - result = (a.flag0 and bm_TGdkWindowObject_modal_hint) shr - bp_TGdkWindowObject_modal_hint - -proc GdkWindowObject_set_modal_hint*(a: var TGdkWindowObject, - `modal_hint`: guint) = - a.flag0 = a.flag0 or - (int16(`modal_hint` shl bp_TGdkWindowObject_modal_hint) and - bm_TGdkWindowObject_modal_hint) - -proc GdkWindowObject_destroyed*(a: var TGdkWindowObject): guint = - result = (a.flag0 and bm_TGdkWindowObject_destroyed) shr - bp_TGdkWindowObject_destroyed - -proc GdkWindowObject_set_destroyed*(a: var TGdkWindowObject, `destroyed`: guint) = - a.flag0 = a.flag0 or - (int16(`destroyed` shl bp_TGdkWindowObject_destroyed) and - bm_TGdkWindowObject_destroyed) - -proc GDK_ROOT_PARENT*(): PGdkWindow = - result = gdk_get_default_root_window() - -proc gdk_window_get_size*(drawable: PGdkDrawable, width: Pgint, height: Pgint) = - gdk_drawable_get_size(drawable, width, height) - -proc gdk_window_get_type*(window: PGdkWindow): TGdkWindowType = - result = gdk_window_get_window_type(window) - -proc gdk_window_get_colormap*(drawable: PGdkDrawable): PGdkColormap = - result = gdk_drawable_get_colormap(drawable) - -proc gdk_window_set_colormap*(drawable: PGdkDrawable, colormap: PGdkColormap) = - gdk_drawable_set_colormap(drawable, colormap) - -proc gdk_window_get_visual*(drawable: PGdkDrawable): PGdkVisual = - result = gdk_drawable_get_visual(drawable) - -proc gdk_window_ref*(drawable: PGdkDrawable): PGdkDrawable = - result = GDK_DRAWABLE(g_object_ref(G_OBJECT(drawable))) - -proc gdk_window_unref*(drawable: PGdkDrawable) = - g_object_unref(G_OBJECT(drawable)) - -proc gdk_window_copy_area*(drawable: PGdkDrawable, gc: PGdkGC, x, y: gint, - source_drawable: PGdkDrawable, - source_x, source_y: gint, width, height: gint) = - gdk_draw_pixmap(drawable, gc, source_drawable, source_x, source_y, x, y, - width, height) diff --git a/lib/oldwrappers/gtk/gdk2pixbuf.nim b/lib/oldwrappers/gtk/gdk2pixbuf.nim deleted file mode 100755 index daaa1479b..000000000 --- a/lib/oldwrappers/gtk/gdk2pixbuf.nim +++ /dev/null @@ -1,277 +0,0 @@ -{.deadCodeElim: on.} - -import - glib2 - -when defined(win32): - const - gdkpixbuflib = "libgdk_pixbuf-2.0-0.dll" -elif defined(darwin): - const - gdkpixbuflib = "gdk_pixbuf-2.0.0" - # linklib gtk-x11-2.0 - # linklib gdk-x11-2.0 - # linklib pango-1.0.0 - # linklib glib-2.0.0 - # linklib gobject-2.0.0 - # linklib gdk_pixbuf-2.0.0 - # linklib atk-1.0.0 -else: - const - gdkpixbuflib = "libgdk_pixbuf-2.0.so" - -type - PGdkPixbuf* = pointer - PGdkPixbufAnimation* = pointer - PGdkPixbufAnimationIter* = pointer - PGdkPixbufAlphaMode* = ptr TGdkPixbufAlphaMode - TGdkPixbufAlphaMode* = enum - GDK_PIXBUF_ALPHA_BILEVEL, GDK_PIXBUF_ALPHA_FULL - PGdkColorspace* = ptr TGdkColorspace - TGdkColorspace* = enum - GDK_COLORSPACE_RGB - TGdkPixbufDestroyNotify* = proc (pixels: Pguchar, data: gpointer){.cdecl.} - PGdkPixbufError* = ptr TGdkPixbufError - TGdkPixbufError* = enum - GDK_PIXBUF_ERROR_CORRUPT_IMAGE, GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY, - GDK_PIXBUF_ERROR_BAD_OPTION, GDK_PIXBUF_ERROR_UNKNOWN_TYPE, - GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION, GDK_PIXBUF_ERROR_FAILED - PGdkInterpType* = ptr TGdkInterpType - TGdkInterpType* = enum - GDK_INTERP_NEAREST, GDK_INTERP_TILES, GDK_INTERP_BILINEAR, GDK_INTERP_HYPER - -proc GDK_TYPE_PIXBUF*(): GType -proc GDK_PIXBUF*(anObject: pointer): PGdkPixbuf -proc GDK_IS_PIXBUF*(anObject: pointer): bool -proc GDK_TYPE_PIXBUF_ANIMATION*(): GType -proc GDK_PIXBUF_ANIMATION*(anObject: pointer): PGdkPixbufAnimation -proc GDK_IS_PIXBUF_ANIMATION*(anObject: pointer): bool -proc GDK_TYPE_PIXBUF_ANIMATION_ITER*(): GType -proc GDK_PIXBUF_ANIMATION_ITER*(anObject: pointer): PGdkPixbufAnimationIter -proc GDK_IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool -proc GDK_PIXBUF_ERROR*(): TGQuark -proc gdk_pixbuf_error_quark*(): TGQuark{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_error_quark".} -proc gdk_pixbuf_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_get_type".} -when not defined(GDK_PIXBUF_DISABLE_DEPRECATED): - proc gdk_pixbuf_ref*(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_ref".} - proc gdk_pixbuf_unref*(pixbuf: PGdkPixbuf){.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_unref".} -proc gdk_pixbuf_get_colorspace*(pixbuf: PGdkPixbuf): TGdkColorspace{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_colorspace".} -proc gdk_pixbuf_get_n_channels*(pixbuf: PGdkPixbuf): int32{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_n_channels".} -proc gdk_pixbuf_get_has_alpha*(pixbuf: PGdkPixbuf): gboolean{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_has_alpha".} -proc gdk_pixbuf_get_bits_per_sample*(pixbuf: PGdkPixbuf): int32{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_bits_per_sample".} -proc gdk_pixbuf_get_pixels*(pixbuf: PGdkPixbuf): Pguchar{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_pixels".} -proc gdk_pixbuf_get_width*(pixbuf: PGdkPixbuf): int32{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_width".} -proc gdk_pixbuf_get_height*(pixbuf: PGdkPixbuf): int32{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_height".} -proc gdk_pixbuf_get_rowstride*(pixbuf: PGdkPixbuf): int32{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_rowstride".} -proc gdk_pixbuf_new*(colorspace: TGdkColorspace, has_alpha: gboolean, - bits_per_sample: int32, width: int32, height: int32): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new".} -proc gdk_pixbuf_copy*(pixbuf: PGdkPixbuf): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_copy".} -proc gdk_pixbuf_new_subpixbuf*(src_pixbuf: PGdkPixbuf, src_x: int32, - src_y: int32, width: int32, height: int32): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_subpixbuf".} -proc gdk_pixbuf_new_from_file*(filename: cstring, error: pointer): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file".} -proc gdk_pixbuf_new_from_data*(data: Pguchar, colorspace: TGdkColorspace, - has_alpha: gboolean, bits_per_sample: int32, - width: int32, height: int32, rowstride: int32, - destroy_fn: TGdkPixbufDestroyNotify, - destroy_fn_data: gpointer): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_data".} -proc gdk_pixbuf_new_from_xpm_data*(data: PPchar): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_xpm_data".} -proc gdk_pixbuf_new_from_inline*(data_length: gint, a: var guint8, - copy_pixels: gboolean, error: pointer): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_inline".} -proc gdk_pixbuf_new_from_file_at_size*(filename: cstring, width, height: gint, - error: pointer): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_size".} -proc gdk_pixbuf_new_from_file_at_scale*(filename: cstring, width, height: gint, - preserve_aspect_ratio: gboolean, error: pointer): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_new_from_file_at_scale".} -proc gdk_pixbuf_fill*(pixbuf: PGdkPixbuf, pixel: guint32){.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_fill".} -proc gdk_pixbuf_save*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring, - error: pointer): gboolean{.cdecl, varargs, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_save".} -proc gdk_pixbuf_savev*(pixbuf: PGdkPixbuf, filename: cstring, `type`: cstring, - option_keys: PPchar, option_values: PPchar, - error: pointer): gboolean{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_savev".} -proc gdk_pixbuf_add_alpha*(pixbuf: PGdkPixbuf, substitute_color: gboolean, - r: guchar, g: guchar, b: guchar): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_add_alpha".} -proc gdk_pixbuf_copy_area*(src_pixbuf: PGdkPixbuf, src_x: int32, src_y: int32, - width: int32, height: int32, dest_pixbuf: PGdkPixbuf, - dest_x: int32, dest_y: int32){.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_copy_area".} -proc gdk_pixbuf_saturate_and_pixelate*(src: PGdkPixbuf, dest: PGdkPixbuf, - saturation: gfloat, pixelate: gboolean){. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_saturate_and_pixelate".} -proc gdk_pixbuf_scale*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32, - dest_y: int32, dest_width: int32, dest_height: int32, - offset_x: float64, offset_y: float64, scale_x: float64, - scale_y: float64, interp_type: TGdkInterpType){.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_scale".} -proc gdk_pixbuf_composite*(src: PGdkPixbuf, dest: PGdkPixbuf, dest_x: int32, - dest_y: int32, dest_width: int32, dest_height: int32, - offset_x: float64, offset_y: float64, - scale_x: float64, scale_y: float64, - interp_type: TGdkInterpType, overall_alpha: int32){. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite".} -proc gdk_pixbuf_composite_color*(src: PGdkPixbuf, dest: PGdkPixbuf, - dest_x: int32, dest_y: int32, - dest_width: int32, dest_height: int32, - offset_x: float64, offset_y: float64, - scale_x: float64, scale_y: float64, - interp_type: TGdkInterpType, - overall_alpha: int32, check_x: int32, - check_y: int32, check_size: int32, - color1: guint32, color2: guint32){.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite_color".} -proc gdk_pixbuf_scale_simple*(src: PGdkPixbuf, dest_width: int32, - dest_height: int32, interp_type: TGdkInterpType): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_scale_simple".} -proc gdk_pixbuf_composite_color_simple*(src: PGdkPixbuf, dest_width: int32, - dest_height: int32, - interp_type: TGdkInterpType, - overall_alpha: int32, check_size: int32, - color1: guint32, color2: guint32): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_composite_color_simple".} -proc gdk_pixbuf_animation_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_animation_get_type".} -proc gdk_pixbuf_animation_new_from_file*(filename: cstring, error: pointer): PGdkPixbufAnimation{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_new_from_file".} -when not defined(GDK_PIXBUF_DISABLE_DEPRECATED): - proc gdk_pixbuf_animation_ref*(animation: PGdkPixbufAnimation): PGdkPixbufAnimation{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_ref".} - proc gdk_pixbuf_animation_unref*(animation: PGdkPixbufAnimation){.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_unref".} -proc gdk_pixbuf_animation_get_width*(animation: PGdkPixbufAnimation): int32{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_width".} -proc gdk_pixbuf_animation_get_height*(animation: PGdkPixbufAnimation): int32{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_height".} -proc gdk_pixbuf_animation_is_static_image*(animation: PGdkPixbufAnimation): gboolean{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_is_static_image".} -proc gdk_pixbuf_animation_get_static_image*(animation: PGdkPixbufAnimation): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_animation_get_static_image".} -proc gdk_pixbuf_animation_get_iter*(animation: PGdkPixbufAnimation, - e: var TGTimeVal): PGdkPixbufAnimationIter{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_get_iter".} -proc gdk_pixbuf_animation_iter_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_animation_iter_get_type".} -proc gdk_pixbuf_animation_iter_get_delay_time*(iter: PGdkPixbufAnimationIter): int32{. - cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_animation_iter_get_delay_time".} -proc gdk_pixbuf_animation_iter_get_pixbuf*(iter: PGdkPixbufAnimationIter): PGdkPixbuf{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_iter_get_pixbuf".} -proc gdk_pixbuf_animation_iter_on_currently_loading_frame*( - iter: PGdkPixbufAnimationIter): gboolean{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_animation_iter_on_currently_loading_frame".} -proc gdk_pixbuf_animation_iter_advance*(iter: PGdkPixbufAnimationIter, - e: var TGTimeVal): gboolean{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_animation_iter_advance".} -proc gdk_pixbuf_get_option*(pixbuf: PGdkPixbuf, key: cstring): cstring{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_get_option".} -type - PGdkPixbufLoader* = ptr TGdkPixbufLoader - TGdkPixbufLoader* {.final, pure.} = object - parent_instance*: TGObject - priv*: gpointer - - PGdkPixbufLoaderClass* = ptr TGdkPixbufLoaderClass - TGdkPixbufLoaderClass* {.final, pure.} = object - parent_class*: TGObjectClass - area_prepared*: proc (loader: PGdkPixbufLoader){.cdecl.} - area_updated*: proc (loader: PGdkPixbufLoader, x: int32, y: int32, - width: int32, height: int32){.cdecl.} - closed*: proc (loader: PGdkPixbufLoader){.cdecl.} - - -proc GDK_TYPE_PIXBUF_LOADER*(): GType -proc GDK_PIXBUF_LOADER*(obj: pointer): PGdkPixbufLoader -proc GDK_PIXBUF_LOADER_CLASS*(klass: pointer): PGdkPixbufLoaderClass -proc GDK_IS_PIXBUF_LOADER*(obj: pointer): bool -proc GDK_IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool -proc GDK_PIXBUF_LOADER_GET_CLASS*(obj: pointer): PGdkPixbufLoaderClass -proc gdk_pixbuf_loader_get_type*(): GType{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_loader_get_type".} -proc gdk_pixbuf_loader_new*(): PGdkPixbufLoader{.cdecl, dynlib: gdkpixbuflib, - importc: "gdk_pixbuf_loader_new".} -proc gdk_pixbuf_loader_new_with_type*(image_type: cstring, error: pointer): PGdkPixbufLoader{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_new_with_type".} -proc gdk_pixbuf_loader_write*(loader: PGdkPixbufLoader, buf: Pguchar, - count: gsize, error: pointer): gboolean{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_write".} -proc gdk_pixbuf_loader_get_pixbuf*(loader: PGdkPixbufLoader): PGdkPixbuf{.cdecl, - dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_get_pixbuf".} -proc gdk_pixbuf_loader_get_animation*(loader: PGdkPixbufLoader): PGdkPixbufAnimation{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_get_animation".} -proc gdk_pixbuf_loader_close*(loader: PGdkPixbufLoader, error: pointer): gboolean{. - cdecl, dynlib: gdkpixbuflib, importc: "gdk_pixbuf_loader_close".} -proc GDK_TYPE_PIXBUF_LOADER*(): GType = - result = gdk_pixbuf_loader_get_type() - -proc GDK_PIXBUF_LOADER*(obj: pointer): PGdkPixbufLoader = - result = cast[PGdkPixbufLoader](G_TYPE_CHECK_INSTANCE_CAST(obj, - GDK_TYPE_PIXBUF_LOADER())) - -proc GDK_PIXBUF_LOADER_CLASS*(klass: pointer): PGdkPixbufLoaderClass = - result = cast[PGdkPixbufLoaderClass](G_TYPE_CHECK_CLASS_CAST(klass, - GDK_TYPE_PIXBUF_LOADER())) - -proc GDK_IS_PIXBUF_LOADER*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GDK_TYPE_PIXBUF_LOADER()) - -proc GDK_IS_PIXBUF_LOADER_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_PIXBUF_LOADER()) - -proc GDK_PIXBUF_LOADER_GET_CLASS*(obj: pointer): PGdkPixbufLoaderClass = - result = cast[PGdkPixbufLoaderClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GDK_TYPE_PIXBUF_LOADER())) - -proc GDK_TYPE_PIXBUF*(): GType = - result = gdk_pixbuf_get_type() - -proc GDK_PIXBUF*(anObject: pointer): PGdkPixbuf = - result = cast[PGdkPixbuf](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_PIXBUF())) - -proc GDK_IS_PIXBUF*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF()) - -proc GDK_TYPE_PIXBUF_ANIMATION*(): GType = - result = gdk_pixbuf_animation_get_type() - -proc GDK_PIXBUF_ANIMATION*(anObject: pointer): PGdkPixbufAnimation = - result = cast[PGdkPixbufAnimation](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GDK_TYPE_PIXBUF_ANIMATION())) - -proc GDK_IS_PIXBUF_ANIMATION*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF_ANIMATION()) - -proc GDK_TYPE_PIXBUF_ANIMATION_ITER*(): GType = - result = gdk_pixbuf_animation_iter_get_type() - -proc GDK_PIXBUF_ANIMATION_ITER*(anObject: pointer): PGdkPixbufAnimationIter = - result = cast[PGdkPixbufAnimationIter](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GDK_TYPE_PIXBUF_ANIMATION_ITER())) - -proc GDK_IS_PIXBUF_ANIMATION_ITER*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_PIXBUF_ANIMATION_ITER()) - -proc GDK_PIXBUF_ERROR*(): TGQuark = - result = gdk_pixbuf_error_quark() diff --git a/lib/oldwrappers/gtk/gdkglext.nim b/lib/oldwrappers/gtk/gdkglext.nim deleted file mode 100755 index 524b5f730..000000000 --- a/lib/oldwrappers/gtk/gdkglext.nim +++ /dev/null @@ -1,564 +0,0 @@ -{.deadCodeElim: on.} - -import - Glib2, Gdk2 - -when defined(WIN32): - const - GdkGLExtLib = "libgdkglext-win32-1.0-0.dll" -else: - const - GdkGLExtLib = "libgdkglext-x11-1.0.so" -type - TGdkGLConfigAttrib* = int32 - TGdkGLConfigCaveat* = int32 - TGdkGLVisualType* = int32 - TGdkGLTransparentType* = int32 - TGdkGLDrawableTypeMask* = int32 - TGdkGLRenderTypeMask* = int32 - TGdkGLBufferMask* = int32 - TGdkGLConfigError* = int32 - TGdkGLRenderType* = int32 - TGdkGLDrawableAttrib* = int32 - TGdkGLPbufferAttrib* = int32 - TGdkGLEventMask* = int32 - TGdkGLEventType* = int32 - TGdkGLDrawableType* = int32 - TGdkGLProc* = Pointer - PGdkGLConfig* = ptr TGdkGLConfig - PGdkGLContext* = ptr TGdkGLContext - PGdkGLDrawable* = ptr TGdkGLDrawable - PGdkGLPixmap* = ptr TGdkGLPixmap - PGdkGLWindow* = ptr TGdkGLWindow - TGdkGLConfig* = object of TGObject - layer_plane*: gint - n_aux_buffers*: gint - n_sample_buffers*: gint - flag0*: int16 - - PGdkGLConfigClass* = ptr TGdkGLConfigClass - TGdkGLConfigClass* = object of TGObjectClass - - TGdkGLContext* = object of TGObject - - PGdkGLContextClass* = ptr TGdkGLContextClass - TGdkGLContextClass* = object of TGObjectClass - - TGdkGLDrawable* = object of TGObject - - PGdkGLDrawableClass* = ptr TGdkGLDrawableClass - TGdkGLDrawableClass* = object of TGTypeInterface - create_new_context*: proc (gldrawable: PGdkGLDrawable, - share_list: PGdkGLContext, direct: gboolean, - render_type: int32): PGdkGLContext{.cdecl.} - make_context_current*: proc (draw: PGdkGLDrawable, a_read: PGdkGLDrawable, - glcontext: PGdkGLContext): gboolean{.cdecl.} - is_double_buffered*: proc (gldrawable: PGdkGLDrawable): gboolean{.cdecl.} - swap_buffers*: proc (gldrawable: PGdkGLDrawable){.cdecl.} - wait_gl*: proc (gldrawable: PGdkGLDrawable){.cdecl.} - wait_gdk*: proc (gldrawable: PGdkGLDrawable){.cdecl.} - gl_begin*: proc (draw: PGdkGLDrawable, a_read: PGdkGLDrawable, - glcontext: PGdkGLContext): gboolean{.cdecl.} - gl_end*: proc (gldrawable: PGdkGLDrawable){.cdecl.} - get_gl_config*: proc (gldrawable: PGdkGLDrawable): PGdkGLConfig{.cdecl.} - get_size*: proc (gldrawable: PGdkGLDrawable, width, height: PGInt){.cdecl.} - - TGdkGLPixmap* = object of TGObject - drawable*: PGdkDrawable - - PGdkGLPixmapClass* = ptr TGdkGLPixmapClass - TGdkGLPixmapClass* = object of TGObjectClass - - TGdkGLWindow* = object of TGObject - drawable*: PGdkDrawable - - PGdkGLWindowClass* = ptr TGdkGLWindowClass - TGdkGLWindowClass* = object of TGObjectClass - - -const - HEADER_GDKGLEXT_MAJOR_VERSION* = 1 - HEADER_GDKGLEXT_MINOR_VERSION* = 0 - HEADER_GDKGLEXT_MICRO_VERSION* = 6 - HEADER_GDKGLEXT_INTERFACE_AGE* = 4 - HEADER_GDKGLEXT_BINARY_AGE* = 6 - -proc HEADER_GDKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool -var - gdkglext_major_version*{.importc, dynlib: GdkGLExtLib.}: guint - gdkglext_minor_version*{.importc, dynlib: GdkGLExtLib.}: guint - gdkglext_micro_version*{.importc, dynlib: GdkGLExtLib.}: guint - gdkglext_interface_age*{.importc, dynlib: GdkGLExtLib.}: guint - gdkglext_binary_age*{.importc, dynlib: GdkGLExtLib.}: guint - -const - GDK_GL_SUCCESS* = 0 - GDK_GL_ATTRIB_LIST_NONE* = 0 - GDK_GL_USE_GL* = 1 - GDK_GL_BUFFER_SIZE* = 2 - GDK_GL_LEVEL* = 3 - GDK_GL_RGBA* = 4 - GDK_GL_DOUBLEBUFFER* = 5 - GDK_GL_STEREO* = 6 - GDK_GL_AUX_BUFFERS* = 7 - GDK_GL_RED_SIZE* = 8 - GDK_GL_GREEN_SIZE* = 9 - GDK_GL_BLUE_SIZE* = 10 - GDK_GL_ALPHA_SIZE* = 11 - GDK_GL_DEPTH_SIZE* = 12 - GDK_GL_STENCIL_SIZE* = 13 - GDK_GL_ACCUM_RED_SIZE* = 14 - GDK_GL_ACCUM_GREEN_SIZE* = 15 - GDK_GL_ACCUM_BLUE_SIZE* = 16 - GDK_GL_ACCUM_ALPHA_SIZE* = 17 - GDK_GL_CONFIG_CAVEAT* = 0x00000020 - GDK_GL_X_VISUAL_TYPE* = 0x00000022 - GDK_GL_TRANSPARENT_TYPE* = 0x00000023 - GDK_GL_TRANSPARENT_INDEX_VALUE* = 0x00000024 - GDK_GL_TRANSPARENT_RED_VALUE* = 0x00000025 - GDK_GL_TRANSPARENT_GREEN_VALUE* = 0x00000026 - GDK_GL_TRANSPARENT_BLUE_VALUE* = 0x00000027 - GDK_GL_TRANSPARENT_ALPHA_VALUE* = 0x00000028 - GDK_GL_DRAWABLE_TYPE* = 0x00008010 - GDK_GL_RENDER_TYPE* = 0x00008011 - GDK_GL_X_RENDERABLE* = 0x00008012 - GDK_GL_FBCONFIG_ID* = 0x00008013 - GDK_GL_MAX_PBUFFER_WIDTH* = 0x00008016 - GDK_GL_MAX_PBUFFER_HEIGHT* = 0x00008017 - GDK_GL_MAX_PBUFFER_PIXELS* = 0x00008018 - GDK_GL_VISUAL_ID* = 0x0000800B - GDK_GL_SCREEN* = 0x0000800C - GDK_GL_SAMPLE_BUFFERS* = 100000 - GDK_GL_SAMPLES* = 100001 - GDK_GL_DONT_CARE* = 0xFFFFFFFF - GDK_GL_NONE* = 0x00008000 - GDK_GL_CONFIG_CAVEAT_DONT_CARE* = 0xFFFFFFFF - GDK_GL_CONFIG_CAVEAT_NONE* = 0x00008000 - GDK_GL_SLOW_CONFIG* = 0x00008001 - GDK_GL_NON_CONFORMANT_CONFIG* = 0x0000800D - GDK_GL_VISUAL_TYPE_DONT_CARE* = 0xFFFFFFFF - GDK_GL_TRUE_COLOR* = 0x00008002 - GDK_GL_DIRECT_COLOR* = 0x00008003 - GDK_GL_PSEUDO_COLOR* = 0x00008004 - GDK_GL_STATIC_COLOR* = 0x00008005 - GDK_GL_GRAY_SCALE* = 0x00008006 - GDK_GL_STATIC_GRAY* = 0x00008007 - GDK_GL_TRANSPARENT_NONE* = 0x00008000 - GDK_GL_TRANSPARENT_RGB* = 0x00008008 - GDK_GL_TRANSPARENT_INDEX* = 0x00008009 - GDK_GL_WINDOW_BIT* = 1 shl 0 - GDK_GL_PIXMAP_BIT* = 1 shl 1 - GDK_GL_PBUFFER_BIT* = 1 shl 2 - GDK_GL_RGBA_BIT* = 1 shl 0 - GDK_GL_COLOR_INDEX_BIT* = 1 shl 1 - GDK_GL_FRONT_LEFT_BUFFER_BIT* = 1 shl 0 - GDK_GL_FRONT_RIGHT_BUFFER_BIT* = 1 shl 1 - GDK_GL_BACK_LEFT_BUFFER_BIT* = 1 shl 2 - GDK_GL_BACK_RIGHT_BUFFER_BIT* = 1 shl 3 - GDK_GL_AUX_BUFFERS_BIT* = 1 shl 4 - GDK_GL_DEPTH_BUFFER_BIT* = 1 shl 5 - GDK_GL_STENCIL_BUFFER_BIT* = 1 shl 6 - GDK_GL_ACCUM_BUFFER_BIT* = 1 shl 7 - GDK_GL_BAD_SCREEN* = 1 - GDK_GL_BAD_ATTRIBUTE* = 2 - GDK_GL_NO_EXTENSION* = 3 - GDK_GL_BAD_VISUAL* = 4 - GDK_GL_BAD_CONTEXT* = 5 - GDK_GL_BAD_VALUE* = 6 - GDK_GL_BAD_ENUM* = 7 - GDK_GL_RGBA_TYPE* = 0x00008014 - GDK_GL_COLOR_INDEX_TYPE* = 0x00008015 - GDK_GL_PRESERVED_CONTENTS* = 0x0000801B - GDK_GL_LARGEST_PBUFFER* = 0x0000801C - GDK_GL_WIDTH* = 0x0000801D - GDK_GL_HEIGHT* = 0x0000801E - GDK_GL_EVENT_MASK* = 0x0000801F - GDK_GL_PBUFFER_PRESERVED_CONTENTS* = 0x0000801B - GDK_GL_PBUFFER_LARGEST_PBUFFER* = 0x0000801C - GDK_GL_PBUFFER_HEIGHT* = 0x00008040 - GDK_GL_PBUFFER_WIDTH* = 0x00008041 - GDK_GL_PBUFFER_CLOBBER_MASK* = 1 shl 27 - GDK_GL_DAMAGED* = 0x00008020 - GDK_GL_SAVED* = 0x00008021 - GDK_GL_WINDOW_VALUE* = 0x00008022 - GDK_GL_PBUFFER* = 0x00008023 - -proc gdk_gl_config_attrib_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_attrib_get_type".} -proc GDK_TYPE_GL_CONFIG_ATTRIB*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_attrib_get_type".} -proc gdk_gl_config_caveat_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_caveat_get_type".} -proc GDK_TYPE_GL_CONFIG_CAVEAT*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_caveat_get_type".} -proc gdk_gl_visual_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_visual_type_get_type".} -proc GDK_TYPE_GL_VISUAL_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_visual_type_get_type".} -proc gdk_gl_transparent_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_transparent_type_get_type".} -proc GDK_TYPE_GL_TRANSPARENT_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_transparent_type_get_type".} -proc gdk_gl_drawable_type_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_type_mask_get_type".} -proc GDK_TYPE_GL_DRAWABLE_TYPE_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_type_mask_get_type".} -proc gdk_gl_render_type_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_render_type_mask_get_type".} -proc GDK_TYPE_GL_RENDER_TYPE_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_render_type_mask_get_type".} -proc gdk_gl_buffer_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_buffer_mask_get_type".} -proc GDK_TYPE_GL_BUFFER_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_buffer_mask_get_type".} -proc gdk_gl_config_error_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_error_get_type".} -proc GDK_TYPE_GL_CONFIG_ERROR*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_error_get_type".} -proc gdk_gl_render_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_render_type_get_type".} -proc GDK_TYPE_GL_RENDER_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_render_type_get_type".} -proc gdk_gl_drawable_attrib_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_attrib_get_type".} -proc GDK_TYPE_GL_DRAWABLE_ATTRIB*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_attrib_get_type".} -proc gdk_gl_pbuffer_attrib_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_pbuffer_attrib_get_type".} -proc GDK_TYPE_GL_PBUFFER_ATTRIB*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_pbuffer_attrib_get_type".} -proc gdk_gl_event_mask_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_event_mask_get_type".} -proc GDK_TYPE_GL_EVENT_MASK*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_event_mask_get_type".} -proc gdk_gl_event_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_event_type_get_type".} -proc GDK_TYPE_GL_EVENT_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_event_type_get_type".} -proc gdk_gl_drawable_type_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_type_get_type".} -proc GDK_TYPE_GL_DRAWABLE_TYPE*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_type_get_type".} -proc gdk_gl_config_mode_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_mode_get_type".} -proc GDK_TYPE_GL_CONFIG_MODE*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_mode_get_type".} -proc gdk_gl_parse_args*(argc: var int32, argv: ptr cstringArray): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_parse_args".} -proc gdk_gl_init_check*(argc: var int32, argv: ptr cstringArray): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_init_check".} -proc gdk_gl_init*(argc: var int32, argv: ptr cstringArray){. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_init".} -proc gdk_gl_query_gl_extension*(extension: cstring): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_query_gl_extension".} -proc gdk_gl_get_proc_address*(proc_name: cstring): TGdkGLProc{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_get_proc_address".} -const - bm_TGdkGLConfig_is_rgba* = 1 shl 0 - bp_TGdkGLConfig_is_rgba* = 0 - bm_TGdkGLConfig_is_double_buffered* = 1 shl 1 - bp_TGdkGLConfig_is_double_buffered* = 1 - bm_TGdkGLConfig_as_single_mode* = 1 shl 2 - bp_TGdkGLConfig_as_single_mode* = 2 - bm_TGdkGLConfig_is_stereo* = 1 shl 3 - bp_TGdkGLConfig_is_stereo* = 3 - bm_TGdkGLConfig_has_alpha* = 1 shl 4 - bp_TGdkGLConfig_has_alpha* = 4 - bm_TGdkGLConfig_has_depth_buffer* = 1 shl 5 - bp_TGdkGLConfig_has_depth_buffer* = 5 - bm_TGdkGLConfig_has_stencil_buffer* = 1 shl 6 - bp_TGdkGLConfig_has_stencil_buffer* = 6 - bm_TGdkGLConfig_has_accum_buffer* = 1 shl 7 - bp_TGdkGLConfig_has_accum_buffer* = 7 - -const - GDK_GL_MODE_RGB* = 0 - GDK_GL_MODE_RGBA* = 0 - GDK_GL_MODE_INDEX* = 1 shl 0 - GDK_GL_MODE_SINGLE* = 0 - GDK_GL_MODE_DOUBLE* = 1 shl 1 - GDK_GL_MODE_STEREO* = 1 shl 2 - GDK_GL_MODE_ALPHA* = 1 shl 3 - GDK_GL_MODE_DEPTH* = 1 shl 4 - GDK_GL_MODE_STENCIL* = 1 shl 5 - GDK_GL_MODE_ACCUM* = 1 shl 6 - GDK_GL_MODE_MULTISAMPLE* = 1 shl 7 - -type - TGdkGLConfigMode* = int32 - PGdkGLConfigMode* = ptr TGdkGLConfigMode - -proc GDK_TYPE_GL_CONFIG*(): GType -proc GDK_GL_CONFIG*(anObject: Pointer): PGdkGLConfig -proc GDK_GL_CONFIG_CLASS*(klass: Pointer): PGdkGLConfigClass -proc GDK_IS_GL_CONFIG*(anObject: Pointer): bool -proc GDK_IS_GL_CONFIG_CLASS*(klass: Pointer): bool -proc GDK_GL_CONFIG_GET_CLASS*(obj: Pointer): PGdkGLConfigClass -proc gdk_gl_config_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_config_get_type".} -proc gdk_gl_config_get_screen*(glconfig: PGdkGLConfig): PGdkScreen{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_screen".} -proc gdk_gl_config_get_attrib*(glconfig: PGdkGLConfig, attribute: int, - value: var cint): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_attrib".} -proc gdk_gl_config_get_colormap*(glconfig: PGdkGLConfig): PGdkColormap{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_colormap".} -proc gdk_gl_config_get_visual*(glconfig: PGdkGLConfig): PGdkVisual{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_visual".} -proc gdk_gl_config_get_depth*(glconfig: PGdkGLConfig): gint{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_depth".} -proc gdk_gl_config_get_layer_plane*(glconfig: PGdkGLConfig): gint{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_layer_plane".} -proc gdk_gl_config_get_n_aux_buffers*(glconfig: PGdkGLConfig): gint{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_n_aux_buffers".} -proc gdk_gl_config_get_n_sample_buffers*(glconfig: PGdkGLConfig): gint{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_get_n_sample_buffers".} -proc gdk_gl_config_is_rgba*(glconfig: PGdkGLConfig): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_is_rgba".} -proc gdk_gl_config_is_double_buffered*(glconfig: PGdkGLConfig): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_is_double_buffered".} -proc gdk_gl_config_is_stereo*(glconfig: PGdkGLConfig): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_is_stereo".} -proc gdk_gl_config_has_alpha*(glconfig: PGdkGLConfig): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_alpha".} -proc gdk_gl_config_has_depth_buffer*(glconfig: PGdkGLConfig): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_depth_buffer".} -proc gdk_gl_config_has_stencil_buffer*(glconfig: PGdkGLConfig): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_stencil_buffer".} -proc gdk_gl_config_has_accum_buffer*(glconfig: PGdkGLConfig): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_config_has_accum_buffer".} -proc GDK_TYPE_GL_CONTEXT*(): GType -proc GDK_GL_CONTEXT*(anObject: Pointer): PGdkGLContext -proc GDK_GL_CONTEXT_CLASS*(klass: Pointer): PGdkGLContextClass -proc GDK_IS_GL_CONTEXT*(anObject: Pointer): bool -proc GDK_IS_GL_CONTEXT_CLASS*(klass: Pointer): bool -proc GDK_GL_CONTEXT_GET_CLASS*(obj: Pointer): PGdkGLContextClass -proc gdk_gl_context_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_context_get_type".} -proc gdk_gl_context_new*(gldrawable: PGdkGLDrawable, share_list: PGdkGLContext, - direct: gboolean, render_type: int32): PGdkGLContext{. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_new".} -proc gdk_gl_context_destroy*(glcontext: PGdkGLContext){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_context_destroy".} -proc gdk_gl_context_copy*(glcontext: PGdkGLContext, src: PGdkGLContext, - mask: int32): gboolean{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_context_copy".} -proc gdk_gl_context_get_gl_drawable*(glcontext: PGdkGLContext): PGdkGLDrawable{. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_gl_drawable".} -proc gdk_gl_context_get_gl_config*(glcontext: PGdkGLContext): PGdkGLConfig{. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_gl_config".} -proc gdk_gl_context_get_share_list*(glcontext: PGdkGLContext): PGdkGLContext{. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_share_list".} -proc gdk_gl_context_is_direct*(glcontext: PGdkGLContext): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_context_is_direct".} -proc gdk_gl_context_get_render_type*(glcontext: PGdkGLContext): int32{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_context_get_render_type".} -proc gdk_gl_context_get_current*(): PGdkGLContext{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_context_get_current".} -proc GDK_TYPE_GL_DRAWABLE*(): GType -proc GDK_GL_DRAWABLE*(inst: Pointer): PGdkGLDrawable -proc GDK_GL_DRAWABLE_CLASS*(vtable: Pointer): PGdkGLDrawableClass -proc GDK_IS_GL_DRAWABLE*(inst: Pointer): bool -proc GDK_IS_GL_DRAWABLE_CLASS*(vtable: Pointer): bool -proc GDK_GL_DRAWABLE_GET_CLASS*(inst: Pointer): PGdkGLDrawableClass -proc gdk_gl_drawable_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_get_type".} -proc gdk_gl_drawable_make_current*(gldrawable: PGdkGLDrawable, - glcontext: PGdkGLContext): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_make_current".} -proc gdk_gl_drawable_is_double_buffered*(gldrawable: PGdkGLDrawable): gboolean{. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_is_double_buffered".} -proc gdk_gl_drawable_swap_buffers*(gldrawable: PGdkGLDrawable){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_swap_buffers".} -proc gdk_gl_drawable_wait_gl*(gldrawable: PGdkGLDrawable){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_wait_gl".} -proc gdk_gl_drawable_wait_gdk*(gldrawable: PGdkGLDrawable){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_wait_gdk".} -proc gdk_gl_drawable_gl_begin*(gldrawable: PGdkGLDrawable, - glcontext: PGdkGLContext): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_gl_begin".} -proc gdk_gl_drawable_gl_end*(gldrawable: PGdkGLDrawable){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_gl_end".} -proc gdk_gl_drawable_get_gl_config*(gldrawable: PGdkGLDrawable): PGdkGLConfig{. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_get_gl_config".} -proc gdk_gl_drawable_get_size*(gldrawable: PGdkGLDrawable, width, height: PGInt){. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_drawable_get_size".} -proc gdk_gl_drawable_get_current*(): PGdkGLDrawable{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_drawable_get_current".} -proc GDK_TYPE_GL_PIXMAP*(): GType -proc GDK_GL_PIXMAP*(anObject: Pointer): PGdkGLPixmap -proc GDK_GL_PIXMAP_CLASS*(klass: Pointer): PGdkGLPixmapClass -proc GDK_IS_GL_PIXMAP*(anObject: Pointer): bool -proc GDK_IS_GL_PIXMAP_CLASS*(klass: Pointer): bool -proc GDK_GL_PIXMAP_GET_CLASS*(obj: Pointer): PGdkGLPixmapClass -proc gdk_gl_pixmap_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_pixmap_get_type".} -proc gdk_gl_pixmap_new*(glconfig: PGdkGLConfig, pixmap: PGdkPixmap, - attrib_list: ptr int32): PGdkGLPixmap{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_pixmap_new".} -proc gdk_gl_pixmap_destroy*(glpixmap: PGdkGLPixmap){.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_pixmap_destroy".} -proc gdk_gl_pixmap_get_pixmap*(glpixmap: PGdkGLPixmap): PGdkPixmap{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_pixmap_get_pixmap".} -proc gdk_pixmap_set_gl_capability*(pixmap: PGdkPixmap, glconfig: PGdkGLConfig, - attrib_list: ptr int32): PGdkGLPixmap{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_pixmap_set_gl_capability".} -proc gdk_pixmap_unset_gl_capability*(pixmap: PGdkPixmap){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_pixmap_unset_gl_capability".} -proc gdk_pixmap_is_gl_capable*(pixmap: PGdkPixmap): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_pixmap_is_gl_capable".} -proc gdk_pixmap_get_gl_pixmap*(pixmap: PGdkPixmap): PGdkGLPixmap{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_pixmap_get_gl_pixmap".} -proc gdk_pixmap_get_gl_drawable*(pixmap: PGdkPixmap): PGdkGLDrawable -proc GDK_TYPE_GL_WINDOW*(): GType -proc GDK_GL_WINDOW*(anObject: Pointer): PGdkGLWindow -proc GDK_GL_WINDOW_CLASS*(klass: Pointer): PGdkGLWindowClass -proc GDK_IS_GL_WINDOW*(anObject: Pointer): bool -proc GDK_IS_GL_WINDOW_CLASS*(klass: Pointer): bool -proc GDK_GL_WINDOW_GET_CLASS*(obj: Pointer): PGdkGLWindowClass -proc gdk_gl_window_get_type*(): GType{.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_window_get_type".} -proc gdk_gl_window_new*(glconfig: PGdkGLConfig, window: PGdkWindow, - attrib_list: ptr int32): PGdkGLWindow{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_window_new".} -proc gdk_gl_window_destroy*(glwindow: PGdkGLWindow){.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_window_destroy".} -proc gdk_gl_window_get_window*(glwindow: PGdkGLWindow): PGdkWindow{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_window_get_window".} -proc gdk_window_set_gl_capability*(window: PGdkWindow, glconfig: PGdkGLConfig, - attrib_list: ptr int32): PGdkGLWindow{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_window_set_gl_capability".} -proc gdk_window_unset_gl_capability*(window: PGdkWindow){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_window_unset_gl_capability".} -proc gdk_window_is_gl_capable*(window: PGdkWindow): gboolean{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_window_is_gl_capable".} -proc gdk_window_get_gl_window*(window: PGdkWindow): PGdkGLWindow{.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_window_get_gl_window".} -proc gdk_window_get_gl_drawable*(window: PGdkWindow): PGdkGLDrawable -proc gdk_gl_draw_cube*(solid: gboolean, size: float64){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_draw_cube".} -proc gdk_gl_draw_sphere*(solid: gboolean, radius: float64, slices: int32, - stacks: int32){.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_draw_sphere".} -proc gdk_gl_draw_cone*(solid: gboolean, base: float64, height: float64, - slices: int32, stacks: int32){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_draw_cone".} -proc gdk_gl_draw_torus*(solid: gboolean, inner_radius: float64, - outer_radius: float64, nsides: int32, rings: int32){. - cdecl, dynlib: GdkGLExtLib, importc: "gdk_gl_draw_torus".} -proc gdk_gl_draw_tetrahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_draw_tetrahedron".} -proc gdk_gl_draw_octahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_draw_octahedron".} -proc gdk_gl_draw_dodecahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_draw_dodecahedron".} -proc gdk_gl_draw_icosahedron*(solid: gboolean){.cdecl, dynlib: GdkGLExtLib, - importc: "gdk_gl_draw_icosahedron".} -proc gdk_gl_draw_teapot*(solid: gboolean, scale: float64){.cdecl, - dynlib: GdkGLExtLib, importc: "gdk_gl_draw_teapot".} -proc HEADER_GDKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool = - result = (HEADER_GDKGLEXT_MAJOR_VERSION > major) or - ((HEADER_GDKGLEXT_MAJOR_VERSION == major) and - (HEADER_GDKGLEXT_MINOR_VERSION > minor)) or - ((HEADER_GDKGLEXT_MAJOR_VERSION == major) and - (HEADER_GDKGLEXT_MINOR_VERSION == minor) and - (HEADER_GDKGLEXT_MICRO_VERSION >= micro)) - -proc GDK_TYPE_GL_CONFIG*(): GType = - result = gdk_gl_config_get_type() - -proc GDK_GL_CONFIG*(anObject: Pointer): PGdkGLConfig = - result = cast[PGdkGLConfig](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GL_CONFIG())) - -proc GDK_GL_CONFIG_CLASS*(klass: Pointer): PGdkGLConfigClass = - result = cast[PGdkGLConfigClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_CONFIG())) - -proc GDK_IS_GL_CONFIG*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_CONFIG()) - -proc GDK_IS_GL_CONFIG_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_CONFIG()) - -proc GDK_GL_CONFIG_GET_CLASS*(obj: Pointer): PGdkGLConfigClass = - result = cast[PGdkGLConfigClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_CONFIG())) - -proc GDK_TYPE_GL_CONTEXT*(): GType = - result = gdk_gl_context_get_type() - -proc GDK_GL_CONTEXT*(anObject: Pointer): PGdkGLContext = - result = cast[PGdkGLContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GDK_TYPE_GL_CONTEXT())) - -proc GDK_GL_CONTEXT_CLASS*(klass: Pointer): PGdkGLContextClass = - result = cast[PGdkGLContextClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_CONTEXT())) - -proc GDK_IS_GL_CONTEXT*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_CONTEXT()) - -proc GDK_IS_GL_CONTEXT_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_CONTEXT()) - -proc GDK_GL_CONTEXT_GET_CLASS*(obj: Pointer): PGdkGLContextClass = - result = cast[PGdkGLContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_CONTEXT())) - -proc GDK_TYPE_GL_DRAWABLE*(): GType = - result = gdk_gl_drawable_get_type() - -proc GDK_GL_DRAWABLE*(inst: Pointer): PGdkGLDrawable = - result = cast[PGdkGLDrawable](G_TYPE_CHECK_INSTANCE_CAST(inst, GDK_TYPE_GL_DRAWABLE())) - -proc GDK_GL_DRAWABLE_CLASS*(vtable: Pointer): PGdkGLDrawableClass = - result = cast[PGdkGLDrawableClass](G_TYPE_CHECK_CLASS_CAST(vtable, - GDK_TYPE_GL_DRAWABLE())) - -proc GDK_IS_GL_DRAWABLE*(inst: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(inst, GDK_TYPE_GL_DRAWABLE()) - -proc GDK_IS_GL_DRAWABLE_CLASS*(vtable: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(vtable, GDK_TYPE_GL_DRAWABLE()) - -proc GDK_GL_DRAWABLE_GET_CLASS*(inst: Pointer): PGdkGLDrawableClass = - result = cast[PGdkGLDrawableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, - GDK_TYPE_GL_DRAWABLE())) - -proc GDK_TYPE_GL_PIXMAP*(): GType = - result = gdk_gl_pixmap_get_type() - -proc GDK_GL_PIXMAP*(anObject: Pointer): PGdkGLPixmap = - result = cast[PGdkGLPixmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GL_PIXMAP())) - -proc GDK_GL_PIXMAP_CLASS*(klass: Pointer): PGdkGLPixmapClass = - result = cast[PGdkGLPixmapClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_PIXMAP())) - -proc GDK_IS_GL_PIXMAP*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_PIXMAP()) - -proc GDK_IS_GL_PIXMAP_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_PIXMAP()) - -proc GDK_GL_PIXMAP_GET_CLASS*(obj: Pointer): PGdkGLPixmapClass = - result = cast[PGdkGLPixmapClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_PIXMAP())) - -proc gdk_pixmap_get_gl_drawable*(pixmap: PGdkPixmap): PGdkGLDrawable = - result = GDK_GL_DRAWABLE(gdk_pixmap_get_gl_pixmap(pixmap)) - -proc GDK_TYPE_GL_WINDOW*(): GType = - result = gdk_gl_window_get_type() - -proc GDK_GL_WINDOW*(anObject: Pointer): PGdkGLWindow = - result = cast[PGdkGLWindow](G_TYPE_CHECK_INSTANCE_CAST(anObject, GDK_TYPE_GL_WINDOW())) - -proc GDK_GL_WINDOW_CLASS*(klass: Pointer): PGdkGLWindowClass = - result = cast[PGdkGLWindowClass](G_TYPE_CHECK_CLASS_CAST(klass, GDK_TYPE_GL_WINDOW())) - -proc GDK_IS_GL_WINDOW*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GDK_TYPE_GL_WINDOW()) - -proc GDK_IS_GL_WINDOW_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GDK_TYPE_GL_WINDOW()) - -proc GDK_GL_WINDOW_GET_CLASS*(obj: Pointer): PGdkGLWindowClass = - result = cast[PGdkGLWindowClass](G_TYPE_INSTANCE_GET_CLASS(obj, GDK_TYPE_GL_WINDOW())) - -proc gdk_window_get_gl_drawable*(window: PGdkWindow): PGdkGLDrawable = - result = GDK_GL_DRAWABLE(gdk_window_get_gl_window(window)) diff --git a/lib/oldwrappers/gtk/glib2.nim b/lib/oldwrappers/gtk/glib2.nim deleted file mode 100755 index 3f33501e8..000000000 --- a/lib/oldwrappers/gtk/glib2.nim +++ /dev/null @@ -1,4503 +0,0 @@ -{.deadCodeElim: on.} - -when defined(windows): - const - gliblib = "libglib-2.0-0.dll" - gmodulelib = "libgmodule-2.0-0.dll" - gobjectlib = "libgobject-2.0-0.dll" -else: - const - gliblib = "libglib-2.0.so" - gmodulelib = "libgmodule-2.0.so" - gobjectlib = "libgobject-2.0.so" - -# gthreadlib = "libgthread-2.0.so" - -type - PGTypePlugin* = pointer - PGParamSpecPool* = pointer - PPchar* = ptr cstring - PPPchar* = ptr PPchar - PPPgchar* = ptr PPgchar - PPgchar* = ptr cstring - gchar* = char - gshort* = cshort - glong* = clong - gint* = cint - gboolean* = bool - guchar* = char - gushort* = int16 - gulong* = int - guint* = cint - gfloat* = cfloat - gdouble* = cdouble - gpointer* = pointer - Pgshort* = ptr gshort - Pglong* = ptr glong - Pgint* = ptr gint - PPgint* = ptr Pgint - Pgboolean* = ptr gboolean - Pguchar* = ptr guchar - PPguchar* = ptr Pguchar - Pgushort* = ptr gushort - Pgulong* = ptr gulong - Pguint* = ptr guint - Pgfloat* = ptr gfloat - Pgdouble* = ptr gdouble - pgpointer* = ptr gpointer - gconstpointer* = pointer - PGCompareFunc* = ptr TGCompareFunc - TGCompareFunc* = proc (a, b: gconstpointer): gint{.cdecl.} - PGCompareDataFunc* = ptr TGCompareDataFunc - TGCompareDataFunc* = proc (a, b: gconstpointer, user_data: gpointer): gint{. - cdecl.} - PGEqualFunc* = ptr TGEqualFunc - TGEqualFunc* = proc (a, b: gconstpointer): gboolean{.cdecl.} - PGDestroyNotify* = ptr TGDestroyNotify - TGDestroyNotify* = proc (data: gpointer){.cdecl.} - PGFunc* = ptr TGFunc - TGFunc* = proc (data, userdata: gpointer, key: gconstpointer){.cdecl.} - PGHashFunc* = ptr TGHashFunc - TGHashFunc* = proc (key: gconstpointer): guint{.cdecl.} - PGHFunc* = ptr TGHFunc - TGHFunc* = proc (key, value, user_data: gpointer){.cdecl.} - PGFreeFunc* = proc (data: gpointer){.cdecl.} - PGTimeVal* = ptr TGTimeVal - TGTimeVal* {.final.} = object - tv_sec*: glong - tv_usec*: glong - - guint64* = int64 - gint8* = int8 - guint8* = int8 - gint16* = int16 - guint16* = int16 - gint32* = int32 - guint32* = int32 - gint64* = int64 - gssize* = int32 - gsize* = int32 - Pgint8* = ptr gint8 - Pguint8* = ptr guint8 - Pgint16* = ptr gint16 - Pguint16* = ptr guint16 - Pgint32* = ptr gint32 - Pguint32* = ptr guint32 - Pgint64* = ptr gint64 - Pguint64* = ptr guint64 - pgssize* = ptr gssize - pgsize* = ptr gsize - TGQuark* = guint32 - PGQuark* = ptr TGQuark - PGTypeCValue* = ptr TGTypeCValue - TGTypeCValue* {.final.} = object - v_double*: gdouble - - GType* = gulong - PGType* = ptr GType - PGTypeClass* = ptr TGTypeClass - TGTypeClass* {.final.} = object - g_type*: GType - - PGTypeInstance* = ptr TGTypeInstance - TGTypeInstance* {.final.} = object - g_class*: PGTypeClass - - PGTypeInterface* = ptr TGTypeInterface - TGTypeInterface* {.pure.} = object - g_type*: GType - g_instance_type*: GType - - PGTypeQuery* = ptr TGTypeQuery - TGTypeQuery* {.final.} = object - theType*: GType - type_name*: cstring - class_size*: guint - instance_size*: guint - - PGValue* = ptr TGValue - TGValue* {.final.} = object - g_type*: GType - data*: array[0..1, gdouble] - - PGData* = pointer - PPGData* = ptr PGData - PGSList* = ptr TGSList - PPGSList* = ptr PGSList - TGSList* {.final.} = object - data*: gpointer - next*: PGSList - - PGList* = ptr TGList - TGList* {.final.} = object - data*: gpointer - next*: PGList - prev*: PGList - - TGParamFlags* = int32 - PGParamFlags* = ptr TGParamFlags - PGParamSpec* = ptr TGParamSpec - PPGParamSpec* = ptr PGParamSpec - TGParamSpec* {.final.} = object - g_type_instance*: TGTypeInstance - name*: cstring - flags*: TGParamFlags - value_type*: GType - owner_type*: GType - nick*: cstring - blurb*: cstring - qdata*: PGData - ref_count*: guint - param_id*: guint - - PGParamSpecClass* = ptr TGParamSpecClass - TGParamSpecClass* {.final.} = object - g_type_class*: TGTypeClass - value_type*: GType - finalize*: proc (pspec: PGParamSpec){.cdecl.} - value_set_default*: proc (pspec: PGParamSpec, value: PGValue){.cdecl.} - value_validate*: proc (pspec: PGParamSpec, value: PGValue): gboolean{.cdecl.} - values_cmp*: proc (pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{. - cdecl.} - dummy*: array[0..3, gpointer] - - PGParameter* = ptr TGParameter - TGParameter* {.final.} = object - name*: cstring - value*: TGValue - - TGBoxedCopyFunc* = proc (boxed: gpointer): gpointer{.cdecl.} - TGBoxedFreeFunc* = proc (boxed: gpointer){.cdecl.} - - PGsource = pointer # I don't know and don't care - -const - G_TYPE_FUNDAMENTAL_SHIFT* = 2 - G_TYPE_FUNDAMENTAL_MAX* = 255 shl G_TYPE_FUNDAMENTAL_SHIFT - G_TYPE_INVALID* = GType(0 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_NONE* = GType(1 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_INTERFACE* = GType(2 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_CHAR* = GType(3 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_UCHAR* = GType(4 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_BOOLEAN* = GType(5 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_INT* = GType(6 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_UINT* = GType(7 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_LONG* = GType(8 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_ULONG* = GType(9 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_INT64* = GType(10 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_UINT64* = GType(11 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_ENUM* = GType(12 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_FLAGS* = GType(13 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_FLOAT* = GType(14 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_DOUBLE* = GType(15 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_STRING* = GType(16 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_POINTER* = GType(17 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_BOXED* = GType(18 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_PARAM* = GType(19 shl G_TYPE_FUNDAMENTAL_SHIFT) - G_TYPE_OBJECT* = GType(20 shl G_TYPE_FUNDAMENTAL_SHIFT) - -proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType -const - G_TYPE_RESERVED_GLIB_FIRST* = 21 - G_TYPE_RESERVED_GLIB_LAST* = 31 - G_TYPE_RESERVED_BSE_FIRST* = 32 - G_TYPE_RESERVED_BSE_LAST* = 48 - G_TYPE_RESERVED_USER_FIRST* = 49 - -proc G_TYPE_IS_FUNDAMENTAL*(theType: GType): bool -proc G_TYPE_IS_DERIVED*(theType: GType): bool -proc G_TYPE_IS_INTERFACE*(theType: GType): bool -proc G_TYPE_IS_CLASSED*(theType: GType): gboolean -proc G_TYPE_IS_INSTANTIATABLE*(theType: GType): bool -proc G_TYPE_IS_DERIVABLE*(theType: GType): bool -proc G_TYPE_IS_DEEP_DERIVABLE*(theType: GType): bool -proc G_TYPE_IS_ABSTRACT*(theType: GType): bool -proc G_TYPE_IS_VALUE_ABSTRACT*(theType: GType): bool -proc G_TYPE_IS_VALUE_TYPE*(theType: GType): bool -proc G_TYPE_HAS_VALUE_TABLE*(theType: GType): bool -proc G_TYPE_CHECK_INSTANCE*(instance: Pointer): gboolean -proc G_TYPE_CHECK_INSTANCE_CAST*(instance: Pointer, g_type: GType): PGTypeInstance -proc G_TYPE_CHECK_INSTANCE_TYPE*(instance: Pointer, g_type: GType): bool -proc G_TYPE_INSTANCE_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass -proc G_TYPE_INSTANCE_GET_INTERFACE*(instance: Pointer, g_type: GType): Pointer -proc G_TYPE_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer -proc G_TYPE_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool -proc G_TYPE_CHECK_VALUE*(value: Pointer): bool -proc G_TYPE_CHECK_VALUE_TYPE*(value: pointer, g_type: GType): bool -proc G_TYPE_FROM_INSTANCE*(instance: Pointer): GType -proc G_TYPE_FROM_CLASS*(g_class: Pointer): GType -proc G_TYPE_FROM_INTERFACE*(g_iface: Pointer): GType -type - TGTypeDebugFlags* = int32 - PGTypeDebugFlags* = ptr TGTypeDebugFlags - -const - G_TYPE_DEBUG_NONE* = 0 - G_TYPE_DEBUG_OBJECTS* = 1 shl 0 - G_TYPE_DEBUG_SIGNALS* = 1 shl 1 - G_TYPE_DEBUG_MASK* = 0x00000003 - -proc g_type_init*(){.cdecl, dynlib: gobjectlib, importc: "g_type_init".} -proc g_type_init_with_debug_flags*(debug_flags: TGTypeDebugFlags){.cdecl, - dynlib: gobjectlib, importc: "g_type_init_with_debug_flags".} -proc g_type_name*(theType: GType): cstring{.cdecl, dynlib: gobjectlib, - importc: "g_type_name".} -proc g_type_qname*(theType: GType): TGQuark{.cdecl, dynlib: gobjectlib, - importc: "g_type_qname".} -proc g_type_from_name*(name: cstring): GType{.cdecl, dynlib: gobjectlib, - importc: "g_type_from_name".} -proc g_type_parent*(theType: GType): GType{.cdecl, dynlib: gobjectlib, - importc: "g_type_parent".} -proc g_type_depth*(theType: GType): guint{.cdecl, dynlib: gobjectlib, - importc: "g_type_depth".} -proc g_type_next_base*(leaf_type: GType, root_type: GType): GType{.cdecl, - dynlib: gobjectlib, importc: "g_type_next_base".} -proc g_type_is_a*(theType: GType, is_a_type: GType): gboolean{.cdecl, - dynlib: gobjectlib, importc: "g_type_is_a".} -proc g_type_class_ref*(theType: GType): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_type_class_ref".} -proc g_type_class_peek*(theType: GType): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_type_class_peek".} -proc g_type_class_unref*(g_class: gpointer){.cdecl, dynlib: gobjectlib, - importc: "g_type_class_unref".} -proc g_type_class_peek_parent*(g_class: gpointer): gpointer{.cdecl, - dynlib: gobjectlib, importc: "g_type_class_peek_parent".} -proc g_type_interface_peek*(instance_class: gpointer, iface_type: GType): gpointer{. - cdecl, dynlib: gobjectlib, importc: "g_type_interface_peek".} -proc g_type_interface_peek_parent*(g_iface: gpointer): gpointer{.cdecl, - dynlib: gobjectlib, importc: "g_type_interface_peek_parent".} -proc g_type_children*(theType: GType, n_children: Pguint): PGType{.cdecl, - dynlib: gobjectlib, importc: "g_type_children".} -proc g_type_interfaces*(theType: GType, n_interfaces: Pguint): PGType{.cdecl, - dynlib: gobjectlib, importc: "g_type_interfaces".} -proc g_type_set_qdata*(theType: GType, quark: TGQuark, data: gpointer){.cdecl, - dynlib: gobjectlib, importc: "g_type_set_qdata".} -proc g_type_get_qdata*(theType: GType, quark: TGQuark): gpointer{.cdecl, - dynlib: gobjectlib, importc: "g_type_get_qdata".} -proc g_type_query*(theType: GType, query: PGTypeQuery){.cdecl, - dynlib: gobjectlib, importc: "g_type_query".} -type - TGBaseInitFunc* = proc (g_class: gpointer){.cdecl.} - TGBaseFinalizeFunc* = proc (g_class: gpointer){.cdecl.} - TGClassInitFunc* = proc (g_class: gpointer, class_data: gpointer){.cdecl.} - TGClassFinalizeFunc* = proc (g_class: gpointer, class_data: gpointer){.cdecl.} - TGInstanceInitFunc* = proc (instance: PGTypeInstance, g_class: gpointer){. - cdecl.} - TGInterfaceInitFunc* = proc (g_iface: gpointer, iface_data: gpointer){.cdecl.} - TGInterfaceFinalizeFunc* = proc (g_iface: gpointer, iface_data: gpointer){. - cdecl.} - TGTypeClassCacheFunc* = proc (cache_data: gpointer, g_class: PGTypeClass): gboolean{. - cdecl.} - TGTypeFundamentalFlags* = int32 - PGTypeFundamentalFlags* = ptr TGTypeFundamentalFlags - -const - G_TYPE_FLAG_CLASSED* = 1 shl 0 - G_TYPE_FLAG_INSTANTIATABLE* = 1 shl 1 - G_TYPE_FLAG_DERIVABLE* = 1 shl 2 - G_TYPE_FLAG_DEEP_DERIVABLE* = 1 shl 3 - -type - TGTypeFlags* = int32 - PGTypeFlags* = ptr TGTypeFlags - -const - G_TYPE_FLAG_ABSTRACT* = 1 shl 4 - G_TYPE_FLAG_VALUE_ABSTRACT* = 1 shl 5 - -type - PGTypeValueTable* = ptr TGTypeValueTable - TGTypeValueTable* {.final.} = object - value_init*: proc (value: PGValue){.cdecl.} - value_free*: proc (value: PGValue){.cdecl.} - value_copy*: proc (src_value: PGValue, dest_value: PGValue){.cdecl.} - value_peek_pointer*: proc (value: PGValue): gpointer{.cdecl.} - collect_format*: cstring - collect_value*: proc (value: PGValue, n_collect_values: guint, - collect_values: PGTypeCValue, collect_flags: guint): cstring{. - cdecl.} - lcopy_format*: cstring - lcopy_value*: proc (value: PGValue, n_collect_values: guint, - collect_values: PGTypeCValue, collect_flags: guint): cstring{. - cdecl.} - - PGTypeInfo* = ptr TGTypeInfo - TGTypeInfo* {.final.} = object - class_size*: guint16 - base_init*: TGBaseInitFunc - base_finalize*: TGBaseFinalizeFunc - class_init*: TGClassInitFunc - class_finalize*: TGClassFinalizeFunc - class_data*: gconstpointer - instance_size*: guint16 - n_preallocs*: guint16 - instance_init*: TGInstanceInitFunc - value_table*: PGTypeValueTable - - PGTypeFundamentalInfo* = ptr TGTypeFundamentalInfo - TGTypeFundamentalInfo* {.final.} = object - type_flags*: TGTypeFundamentalFlags - - PGInterfaceInfo* = ptr TGInterfaceInfo - TGInterfaceInfo* {.final.} = object - interface_init*: TGInterfaceInitFunc - interface_finalize*: TGInterfaceFinalizeFunc - interface_data*: gpointer - - -proc g_type_register_static*(parent_type: GType, type_name: cstring, - info: PGTypeInfo, flags: TGTypeFlags): GType{. - cdecl, dynlib: gobjectlib, importc: "g_type_register_static".} -proc g_type_register_dynamic*(parent_type: GType, type_name: cstring, - plugin: PGTypePlugin, flags: TGTypeFlags): GType{. - cdecl, dynlib: gobjectlib, importc: "g_type_register_dynamic".} -proc g_type_register_fundamental*(type_id: GType, type_name: cstring, - info: PGTypeInfo, - finfo: PGTypeFundamentalInfo, - flags: TGTypeFlags): GType{.cdecl, - dynlib: gobjectlib, importc: "g_type_register_fundamental".} -proc g_type_add_interface_static*(instance_type: GType, interface_type: GType, - info: PGInterfaceInfo){.cdecl, - dynlib: gobjectlib, importc: "g_type_add_interface_static".} -proc g_type_add_interface_dynamic*(instance_type: GType, interface_type: GType, - plugin: PGTypePlugin){.cdecl, - dynlib: gobjectlib, importc: "g_type_add_interface_dynamic".} -proc g_type_interface_add_prerequisite*(interface_type: GType, - prerequisite_type: GType){.cdecl, - dynlib: gobjectlib, importc: "g_type_interface_add_prerequisite".} -proc g_type_get_plugin*(theType: GType): PGTypePlugin{.cdecl, - dynlib: gobjectlib, importc: "g_type_get_plugin".} -proc g_type_interface_get_plugin*(instance_type: GType, - implementation_type: GType): PGTypePlugin{. - cdecl, dynlib: gobjectlib, importc: "g_type_interface_get_plugin".} -proc g_type_fundamental_next*(): GType{.cdecl, dynlib: gobjectlib, - importc: "g_type_fundamental_next".} -proc g_type_fundamental*(type_id: GType): GType{.cdecl, dynlib: gobjectlib, - importc: "g_type_fundamental".} -proc g_type_create_instance*(theType: GType): PGTypeInstance{.cdecl, - dynlib: gobjectlib, importc: "g_type_create_instance".} -proc g_type_free_instance*(instance: PGTypeInstance){.cdecl, dynlib: gobjectlib, - importc: "g_type_free_instance".} -proc g_type_add_class_cache_func*(cache_data: gpointer, - cache_func: TGTypeClassCacheFunc){.cdecl, - dynlib: gobjectlib, importc: "g_type_add_class_cache_func".} -proc g_type_remove_class_cache_func*(cache_data: gpointer, - cache_func: TGTypeClassCacheFunc){.cdecl, - dynlib: gobjectlib, importc: "g_type_remove_class_cache_func".} -proc g_type_class_unref_uncached*(g_class: gpointer){.cdecl, dynlib: gobjectlib, - importc: "g_type_class_unref_uncached".} -proc g_type_value_table_peek*(theType: GType): PGTypeValueTable{.cdecl, - dynlib: gobjectlib, importc: "g_type_value_table_peek".} -proc private_g_type_check_instance*(instance: PGTypeInstance): gboolean{.cdecl, - dynlib: gobjectlib, importc: "g_type_check_instance".} -proc private_g_type_check_instance_cast*(instance: PGTypeInstance, - iface_type: GType): PGTypeInstance{.cdecl, dynlib: gobjectlib, - importc: "g_type_check_instance_cast".} -proc private_g_type_check_instance_is_a*(instance: PGTypeInstance, - iface_type: GType): gboolean{.cdecl, dynlib: gobjectlib, - importc: "g_type_check_instance_is_a".} -proc private_g_type_check_class_cast*(g_class: PGTypeClass, is_a_type: GType): PGTypeClass{. - cdecl, dynlib: gobjectlib, importc: "g_type_check_class_cast".} -proc private_g_type_check_class_is_a*(g_class: PGTypeClass, is_a_type: GType): gboolean{. - cdecl, dynlib: gobjectlib, importc: "g_type_check_class_is_a".} -proc private_g_type_check_is_value_type*(theType: GType): gboolean{.cdecl, - dynlib: gobjectlib, importc: "g_type_check_is_value_type".} -proc private_g_type_check_value*(value: PGValue): gboolean{.cdecl, - dynlib: gobjectlib, importc: "g_type_check_value".} -proc private_g_type_check_value_holds*(value: PGValue, theType: GType): gboolean{. - cdecl, dynlib: gobjectlib, importc: "g_type_check_value_holds".} -proc private_g_type_test_flags*(theType: GType, flags: guint): gboolean{.cdecl, - dynlib: gobjectlib, importc: "g_type_test_flags".} -proc g_type_name_from_instance*(instance: PGTypeInstance): cstring{.cdecl, - dynlib: gobjectlib, importc: "g_type_name_from_instance".} -proc g_type_name_from_class*(g_class: PGTypeClass): cstring{.cdecl, - dynlib: gobjectlib, importc: "g_type_name_from_class".} -const - G_TYPE_FLAG_RESERVED_ID_BIT* = GType(1 shl 0) - -proc G_TYPE_IS_VALUE*(theType: GType): bool -proc G_IS_VALUE*(value: pointer): bool -proc G_VALUE_TYPE*(value: Pointer): GType -proc G_VALUE_TYPE_NAME*(value: Pointer): cstring -proc G_VALUE_HOLDS*(value: pointer, g_type: GType): bool -type - TGValueTransform* = proc (src_value: PGValue, dest_value: PGValue){.cdecl.} - -proc g_value_init*(value: PGValue, g_type: GType): PGValue{.cdecl, - dynlib: gobjectlib, importc: "g_value_init".} -proc g_value_copy*(src_value: PGValue, dest_value: PGValue){.cdecl, - dynlib: gobjectlib, importc: "g_value_copy".} -proc g_value_reset*(value: PGValue): PGValue{.cdecl, dynlib: gobjectlib, - importc: "g_value_reset".} -proc g_value_unset*(value: PGValue){.cdecl, dynlib: gobjectlib, - importc: "g_value_unset".} -proc g_value_set_instance*(value: PGValue, instance: gpointer){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_instance".} -proc g_value_fits_pointer*(value: PGValue): gboolean{.cdecl, dynlib: gobjectlib, - importc: "g_value_fits_pointer".} -proc g_value_peek_pointer*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_value_peek_pointer".} -proc g_value_type_compatible*(src_type: GType, dest_type: GType): gboolean{. - cdecl, dynlib: gobjectlib, importc: "g_value_type_compatible".} -proc g_value_type_transformable*(src_type: GType, dest_type: GType): gboolean{. - cdecl, dynlib: gobjectlib, importc: "g_value_type_transformable".} -proc g_value_transform*(src_value: PGValue, dest_value: PGValue): gboolean{. - cdecl, dynlib: gobjectlib, importc: "g_value_transform".} -proc g_value_register_transform_func*(src_type: GType, dest_type: GType, - transform_func: TGValueTransform){.cdecl, - dynlib: gobjectlib, importc: "g_value_register_transform_func".} -const - G_VALUE_NOCOPY_CONTENTS* = 1 shl 27 - -type - PGValueArray* = ptr TGValueArray - TGValueArray* {.final.} = object - n_values*: guint - values*: PGValue - n_prealloced*: guint - - -proc g_value_array_get_nth*(value_array: PGValueArray, index: guint): PGValue{. - cdecl, dynlib: gobjectlib, importc: "g_value_array_get_nth".} -proc g_value_array_new*(n_prealloced: guint): PGValueArray{.cdecl, - dynlib: gobjectlib, importc: "g_value_array_new".} -proc g_value_array_free*(value_array: PGValueArray){.cdecl, dynlib: gobjectlib, - importc: "g_value_array_free".} -proc g_value_array_copy*(value_array: PGValueArray): PGValueArray{.cdecl, - dynlib: gobjectlib, importc: "g_value_array_copy".} -proc g_value_array_prepend*(value_array: PGValueArray, value: PGValue): PGValueArray{. - cdecl, dynlib: gobjectlib, importc: "g_value_array_prepend".} -proc g_value_array_append*(value_array: PGValueArray, value: PGValue): PGValueArray{. - cdecl, dynlib: gobjectlib, importc: "g_value_array_append".} -proc g_value_array_insert*(value_array: PGValueArray, index: guint, - value: PGValue): PGValueArray{.cdecl, - dynlib: gobjectlib, importc: "g_value_array_insert".} -proc g_value_array_remove*(value_array: PGValueArray, index: guint): PGValueArray{. - cdecl, dynlib: gobjectlib, importc: "g_value_array_remove".} -proc g_value_array_sort*(value_array: PGValueArray, compare_func: TGCompareFunc): PGValueArray{. - cdecl, dynlib: gobjectlib, importc: "g_value_array_sort".} -proc g_value_array_sort_with_data*(value_array: PGValueArray, - compare_func: TGCompareDataFunc, - user_data: gpointer): PGValueArray{.cdecl, - dynlib: gobjectlib, importc: "g_value_array_sort_with_data".} -const - G_VALUE_COLLECT_INT* = 'i' - G_VALUE_COLLECT_LONG* = 'l' - G_VALUE_COLLECT_INT64* = 'q' - G_VALUE_COLLECT_DOUBLE* = 'd' - G_VALUE_COLLECT_POINTER* = 'p' - G_VALUE_COLLECT_FORMAT_MAX_LENGTH* = 8 - -proc G_VALUE_HOLDS_CHAR*(value: PGValue): bool -proc G_VALUE_HOLDS_UCHAR*(value: PGValue): bool -proc G_VALUE_HOLDS_BOOLEAN*(value: PGValue): bool -proc G_VALUE_HOLDS_INT*(value: PGValue): bool -proc G_VALUE_HOLDS_UINT*(value: PGValue): bool -proc G_VALUE_HOLDS_LONG*(value: PGValue): bool -proc G_VALUE_HOLDS_ULONG*(value: PGValue): bool -proc G_VALUE_HOLDS_INT64*(value: PGValue): bool -proc G_VALUE_HOLDS_UINT64*(value: PGValue): bool -proc G_VALUE_HOLDS_FLOAT*(value: PGValue): bool -proc G_VALUE_HOLDS_DOUBLE*(value: PGValue): bool -proc G_VALUE_HOLDS_STRING*(value: PGValue): bool -proc G_VALUE_HOLDS_POINTER*(value: PGValue): bool -proc g_value_set_char*(value: PGValue, v_char: gchar){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_char".} -proc g_value_get_char*(value: PGValue): gchar{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_char".} -proc g_value_set_uchar*(value: PGValue, v_uchar: guchar){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_uchar".} -proc g_value_get_uchar*(value: PGValue): guchar{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_uchar".} -proc g_value_set_boolean*(value: PGValue, v_boolean: gboolean){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_boolean".} -proc g_value_get_boolean*(value: PGValue): gboolean{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_boolean".} -proc g_value_set_int*(value: PGValue, v_int: gint){.cdecl, dynlib: gobjectlib, - importc: "g_value_set_int".} -proc g_value_get_int*(value: PGValue): gint{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_int".} -proc g_value_set_uint*(value: PGValue, v_uint: guint){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_uint".} -proc g_value_get_uint*(value: PGValue): guint{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_uint".} -proc g_value_set_long*(value: PGValue, v_long: glong){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_long".} -proc g_value_get_long*(value: PGValue): glong{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_long".} -proc g_value_set_ulong*(value: PGValue, v_ulong: gulong){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_ulong".} -proc g_value_get_ulong*(value: PGValue): gulong{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_ulong".} -proc g_value_set_int64*(value: PGValue, v_int64: gint64){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_int64".} -proc g_value_get_int64*(value: PGValue): gint64{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_int64".} -proc g_value_set_uint64*(value: PGValue, v_uint64: guint64){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_uint64".} -proc g_value_get_uint64*(value: PGValue): guint64{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_uint64".} -proc g_value_set_float*(value: PGValue, v_float: gfloat){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_float".} -proc g_value_get_float*(value: PGValue): gfloat{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_float".} -proc g_value_set_double*(value: PGValue, v_double: gdouble){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_double".} -proc g_value_get_double*(value: PGValue): gdouble{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_double".} -proc g_value_set_string*(value: PGValue, v_string: cstring){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_string".} -proc g_value_set_static_string*(value: PGValue, v_string: cstring){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_static_string".} -proc g_value_get_string*(value: PGValue): cstring{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_string".} -proc g_value_dup_string*(value: PGValue): cstring{.cdecl, dynlib: gobjectlib, - importc: "g_value_dup_string".} -proc g_value_set_pointer*(value: PGValue, v_pointer: gpointer){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_pointer".} -proc g_value_get_pointer*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_pointer".} -proc g_pointer_type_register_static*(name: cstring): GType{.cdecl, - dynlib: gobjectlib, importc: "g_pointer_type_register_static".} -proc g_strdup_value_contents*(value: PGValue): cstring{.cdecl, - dynlib: gobjectlib, importc: "g_strdup_value_contents".} -proc g_value_set_string_take_ownership*(value: PGValue, v_string: cstring){. - cdecl, dynlib: gobjectlib, importc: "g_value_set_string_take_ownership".} -type - Tgchararray* = gchar - Pgchararray* = ptr Tgchararray - -proc G_TYPE_IS_PARAM*(theType: GType): bool -proc G_PARAM_SPEC*(pspec: Pointer): PGParamSpec -proc G_IS_PARAM_SPEC*(pspec: Pointer): bool -proc G_PARAM_SPEC_CLASS*(pclass: Pointer): PGParamSpecClass -proc G_IS_PARAM_SPEC_CLASS*(pclass: Pointer): bool -proc G_PARAM_SPEC_GET_CLASS*(pspec: Pointer): PGParamSpecClass -proc G_PARAM_SPEC_TYPE*(pspec: Pointer): GType -proc G_PARAM_SPEC_TYPE_NAME*(pspec: Pointer): cstring -proc G_PARAM_SPEC_VALUE_TYPE*(pspec: Pointer): GType -proc G_VALUE_HOLDS_PARAM*(value: Pointer): bool -const - G_PARAM_READABLE* = 1 shl 0 - G_PARAM_WRITABLE* = 1 shl 1 - G_PARAM_CONSTRUCT* = 1 shl 2 - G_PARAM_CONSTRUCT_ONLY* = 1 shl 3 - G_PARAM_LAX_VALIDATION* = 1 shl 4 - G_PARAM_PRIVATE* = 1 shl 5 - G_PARAM_READWRITE* = G_PARAM_READABLE or G_PARAM_WRITABLE - G_PARAM_MASK* = 0x000000FF - G_PARAM_USER_SHIFT* = 8 - -proc g_param_spec_ref*(pspec: PGParamSpec): PGParamSpec{.cdecl, dynlib: gliblib, - importc: "g_param_spec_ref".} -proc g_param_spec_unref*(pspec: PGParamSpec){.cdecl, dynlib: gliblib, - importc: "g_param_spec_unref".} -proc g_param_spec_sink*(pspec: PGParamSpec){.cdecl, dynlib: gliblib, - importc: "g_param_spec_sink".} -proc g_param_spec_get_qdata*(pspec: PGParamSpec, quark: TGQuark): gpointer{. - cdecl, dynlib: gliblib, importc: "g_param_spec_get_qdata".} -proc g_param_spec_set_qdata*(pspec: PGParamSpec, quark: TGQuark, data: gpointer){. - cdecl, dynlib: gliblib, importc: "g_param_spec_set_qdata".} -proc g_param_spec_set_qdata_full*(pspec: PGParamSpec, quark: TGQuark, - data: gpointer, destroy: TGDestroyNotify){. - cdecl, dynlib: gliblib, importc: "g_param_spec_set_qdata_full".} -proc g_param_spec_steal_qdata*(pspec: PGParamSpec, quark: TGQuark): gpointer{. - cdecl, dynlib: gliblib, importc: "g_param_spec_steal_qdata".} -proc g_param_value_set_default*(pspec: PGParamSpec, value: PGValue){.cdecl, - dynlib: gliblib, importc: "g_param_value_set_default".} -proc g_param_value_defaults*(pspec: PGParamSpec, value: PGValue): gboolean{. - cdecl, dynlib: gliblib, importc: "g_param_value_defaults".} -proc g_param_value_validate*(pspec: PGParamSpec, value: PGValue): gboolean{. - cdecl, dynlib: gliblib, importc: "g_param_value_validate".} -proc g_param_value_convert*(pspec: PGParamSpec, src_value: PGValue, - dest_value: PGValue, strict_validation: gboolean): gboolean{. - cdecl, dynlib: gliblib, importc: "g_param_value_convert".} -proc g_param_values_cmp*(pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{. - cdecl, dynlib: gliblib, importc: "g_param_values_cmp".} -proc g_param_spec_get_name*(pspec: PGParamSpec): cstring{.cdecl, - dynlib: gliblib, importc: "g_param_spec_get_name".} -proc g_param_spec_get_nick*(pspec: PGParamSpec): cstring{.cdecl, - dynlib: gliblib, importc: "g_param_spec_get_nick".} -proc g_param_spec_get_blurb*(pspec: PGParamSpec): cstring{.cdecl, - dynlib: gliblib, importc: "g_param_spec_get_blurb".} -proc g_value_set_param*(value: PGValue, param: PGParamSpec){.cdecl, - dynlib: gliblib, importc: "g_value_set_param".} -proc g_value_get_param*(value: PGValue): PGParamSpec{.cdecl, dynlib: gliblib, - importc: "g_value_get_param".} -proc g_value_dup_param*(value: PGValue): PGParamSpec{.cdecl, dynlib: gliblib, - importc: "g_value_dup_param".} -proc g_value_set_param_take_ownership*(value: PGValue, param: PGParamSpec){. - cdecl, dynlib: gliblib, importc: "g_value_set_param_take_ownership".} -type - PGParamSpecTypeInfo* = ptr TGParamSpecTypeInfo - TGParamSpecTypeInfo* {.final.} = object - instance_size*: guint16 - n_preallocs*: guint16 - instance_init*: proc (pspec: PGParamSpec){.cdecl.} - value_type*: GType - finalize*: proc (pspec: PGParamSpec){.cdecl.} - value_set_default*: proc (pspec: PGParamSpec, value: PGValue){.cdecl.} - value_validate*: proc (pspec: PGParamSpec, value: PGValue): gboolean{.cdecl.} - values_cmp*: proc (pspec: PGParamSpec, value1: PGValue, value2: PGValue): gint{. - cdecl.} - - -proc g_param_type_register_static*(name: cstring, - pspec_info: PGParamSpecTypeInfo): GType{. - cdecl, dynlib: gliblib, importc: "g_param_type_register_static".} -proc g_param_type_register_static_constant*(name: cstring, - pspec_info: PGParamSpecTypeInfo, opt_type: GType): GType{.cdecl, - dynlib: gliblib, importc: "`g_param_type_register_static_constant`".} -proc g_param_spec_internal*(param_type: GType, name: cstring, nick: cstring, - blurb: cstring, flags: TGParamFlags): gpointer{. - cdecl, dynlib: gliblib, importc: "g_param_spec_internal".} -proc g_param_spec_pool_new*(type_prefixing: gboolean): PGParamSpecPool{.cdecl, - dynlib: gliblib, importc: "g_param_spec_pool_new".} -proc g_param_spec_pool_insert*(pool: PGParamSpecPool, pspec: PGParamSpec, - owner_type: GType){.cdecl, dynlib: gliblib, - importc: "g_param_spec_pool_insert".} -proc g_param_spec_pool_remove*(pool: PGParamSpecPool, pspec: PGParamSpec){. - cdecl, dynlib: gliblib, importc: "g_param_spec_pool_remove".} -proc g_param_spec_pool_lookup*(pool: PGParamSpecPool, param_name: cstring, - owner_type: GType, walk_ancestors: gboolean): PGParamSpec{. - cdecl, dynlib: gliblib, importc: "g_param_spec_pool_lookup".} -proc g_param_spec_pool_list_owned*(pool: PGParamSpecPool, owner_type: GType): PGList{. - cdecl, dynlib: gliblib, importc: "g_param_spec_pool_list_owned".} -proc g_param_spec_pool_list*(pool: PGParamSpecPool, owner_type: GType, - n_pspecs_p: Pguint): PPGParamSpec{.cdecl, - dynlib: gliblib, importc: "g_param_spec_pool_list".} -type - PGClosure* = ptr TGClosure - PGClosureNotifyData* = ptr TGClosureNotifyData - TGClosureNotify* = proc (data: gpointer, closure: PGClosure){.cdecl.} - TGClosure* {.final.} = object - flag0*: int32 - marshal*: proc (closure: PGClosure, return_value: PGValue, - n_param_values: guint, param_values: PGValue, - invocation_hint, marshal_data: gpointer){.cdecl.} - data*: gpointer - notifiers*: PGClosureNotifyData - - TGCallBackProcedure* = proc () {.cdecl.} - TGCallback* = proc () {.cdecl.} - TGClosureMarshal* = proc (closure: PGClosure, return_value: PGValue, - n_param_values: guint, param_values: PGValue, - invocation_hint: gpointer, marshal_data: gpointer){. - cdecl.} - TGClosureNotifyData* {.final.} = object - data*: gpointer - notify*: TGClosureNotify - - -proc G_CLOSURE_NEEDS_MARSHAL*(closure: Pointer): bool -proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32 -proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32 -proc G_CALLBACK*(f: pointer): TGCallback -const - bm_TGClosure_ref_count* = 0x00007FFF'i32 - bp_TGClosure_ref_count* = 0'i32 - bm_TGClosure_meta_marshal* = 0x00008000'i32 - bp_TGClosure_meta_marshal* = 15'i32 - bm_TGClosure_n_guards* = 0x00010000'i32 - bp_TGClosure_n_guards* = 16'i32 - bm_TGClosure_n_fnotifiers* = 0x00060000'i32 - bp_TGClosure_n_fnotifiers* = 17'i32 - bm_TGClosure_n_inotifiers* = 0x07F80000'i32 - bp_TGClosure_n_inotifiers* = 19'i32 - bm_TGClosure_in_inotify* = 0x08000000'i32 - bp_TGClosure_in_inotify* = 27'i32 - bm_TGClosure_floating* = 0x10000000'i32 - bp_TGClosure_floating* = 28'i32 - bm_TGClosure_derivative_flag* = 0x20000000'i32 - bp_TGClosure_derivative_flag* = 29'i32 - bm_TGClosure_in_marshal* = 0x40000000'i32 - bp_TGClosure_in_marshal* = 30'i32 - bm_TGClosure_is_invalid* = 0x80000000'i32 - bp_TGClosure_is_invalid* = 31'i32 - -proc ref_count*(a: var TGClosure): guint -proc set_ref_count*(a: var TGClosure, ref_count: guint) -proc meta_marshal*(a: PGClosure): guint -proc set_meta_marshal*(a: var TGClosure, meta_marshal: guint) -proc n_guards*(a: PGClosure): guint -proc set_n_guards*(a: var TGClosure, n_guards: guint) -proc n_fnotifiers*(a: PGClosure): guint -proc set_n_fnotifiers*(a: var TGClosure, n_fnotifiers: guint) -proc n_inotifiers*(a: PGClosure): guint -proc in_inotify*(a: var TGClosure): guint -proc set_in_inotify*(a: var TGClosure, in_inotify: guint) -proc floating*(a: var TGClosure): guint -proc set_floating*(a: var TGClosure, floating: guint) -proc derivative_flag*(a: PGClosure): guint -proc set_derivative_flag*(a: var TGClosure, derivative_flag: guint) -proc in_marshal*(a: var TGClosure): guint -proc set_in_marshal*(a: var TGClosure, in_marshal: guint) -proc is_invalid*(a: var TGClosure): guint -proc set_is_invalid*(a: var TGClosure, is_invalid: guint) -type - PGCClosure* = ptr TGCClosure - TGCClosure* {.final.} = object - closure*: TGClosure - callback*: gpointer - - -proc g_cclosure_new*(callback_func: TGCallback, user_data: gpointer, - destroy_data: TGClosureNotify): PGClosure{.cdecl, - dynlib: gliblib, importc: "g_cclosure_new".} -proc g_cclosure_new_swap*(callback_func: TGCallback, user_data: gpointer, - destroy_data: TGClosureNotify): PGClosure{.cdecl, - dynlib: gliblib, importc: "g_cclosure_new_swap".} -proc g_signal_type_cclosure_new*(itype: GType, struct_offset: guint): PGClosure{. - cdecl, dynlib: gliblib, importc: "g_signal_type_cclosure_new".} -proc g_closure_ref*(closure: PGClosure): PGClosure{.cdecl, dynlib: gliblib, - importc: "g_closure_ref".} -proc g_closure_sink*(closure: PGClosure){.cdecl, dynlib: gliblib, - importc: "g_closure_sink".} -proc g_closure_unref*(closure: PGClosure){.cdecl, dynlib: gliblib, - importc: "g_closure_unref".} -proc g_closure_new_simple*(sizeof_closure: guint, data: gpointer): PGClosure{. - cdecl, dynlib: gliblib, importc: "g_closure_new_simple".} -proc g_closure_add_finalize_notifier*(closure: PGClosure, notify_data: gpointer, - notify_func: TGClosureNotify){.cdecl, - dynlib: gliblib, importc: "g_closure_add_finalize_notifier".} -proc g_closure_remove_finalize_notifier*(closure: PGClosure, - notify_data: gpointer, notify_func: TGClosureNotify){.cdecl, - dynlib: gliblib, importc: "g_closure_remove_finalize_notifier".} -proc g_closure_add_invalidate_notifier*(closure: PGClosure, - notify_data: gpointer, - notify_func: TGClosureNotify){.cdecl, - dynlib: gliblib, importc: "g_closure_add_invalidate_notifier".} -proc g_closure_remove_invalidate_notifier*(closure: PGClosure, - notify_data: gpointer, notify_func: TGClosureNotify){.cdecl, - dynlib: gliblib, importc: "g_closure_remove_invalidate_notifier".} -proc g_closure_add_marshal_guards*(closure: PGClosure, - pre_marshal_data: gpointer, - pre_marshal_notify: TGClosureNotify, - post_marshal_data: gpointer, - post_marshal_notify: TGClosureNotify){.cdecl, - dynlib: gliblib, importc: "g_closure_add_marshal_guards".} -proc g_closure_set_marshal*(closure: PGClosure, marshal: TGClosureMarshal){. - cdecl, dynlib: gliblib, importc: "g_closure_set_marshal".} -proc g_closure_set_meta_marshal*(closure: PGClosure, marshal_data: gpointer, - meta_marshal: TGClosureMarshal){.cdecl, - dynlib: gliblib, importc: "g_closure_set_meta_marshal".} -proc g_closure_invalidate*(closure: PGClosure){.cdecl, dynlib: gliblib, - importc: "g_closure_invalidate".} -proc g_closure_invoke*(closure: PGClosure, return_value: PGValue, - n_param_values: guint, param_values: PGValue, - invocation_hint: gpointer){.cdecl, dynlib: gliblib, - importc: "g_closure_invoke".} -type - PGSignalInvocationHint* = ptr TGSignalInvocationHint - PGSignalCMarshaller* = ptr TGSignalCMarshaller - TGSignalCMarshaller* = TGClosureMarshal - TGSignalEmissionHook* = proc (ihint: PGSignalInvocationHint, - n_param_values: guint, param_values: PGValue, - data: gpointer): gboolean{.cdecl.} - TGSignalAccumulator* = proc (ihint: PGSignalInvocationHint, - return_accu: PGValue, handler_return: PGValue, - data: gpointer): gboolean{.cdecl.} - PGSignalFlags* = ptr TGSignalFlags - TGSignalFlags* = int32 - TGSignalInvocationHint* {.final.} = object - signal_id*: guint - detail*: TGQuark - run_type*: TGSignalFlags - - PGSignalQuery* = ptr TGSignalQuery - TGSignalQuery* {.final.} = object - signal_id*: guint - signal_name*: cstring - itype*: GType - signal_flags*: TGSignalFlags - return_type*: GType - n_params*: guint - param_types*: PGType - - -const - G_SIGNAL_RUN_FIRST* = 1 shl 0 - G_SIGNAL_RUN_LAST* = 1 shl 1 - G_SIGNAL_RUN_CLEANUP* = 1 shl 2 - G_SIGNAL_NO_RECURSE* = 1 shl 3 - G_SIGNAL_DETAILED* = 1 shl 4 - G_SIGNAL_ACTION* = 1 shl 5 - G_SIGNAL_NO_HOOKS* = 1 shl 6 - G_SIGNAL_FLAGS_MASK* = 0x0000007F - -type - PGConnectFlags* = ptr TGConnectFlags - TGConnectFlags* = int32 - -const - G_CONNECT_AFTER* = 1 shl 0 - G_CONNECT_SWAPPED* = 1 shl 1 - -type - PGSignalMatchType* = ptr TGSignalMatchType - TGSignalMatchType* = int32 - -const - G_SIGNAL_MATCH_ID* = 1 shl 0 - G_SIGNAL_MATCH_DETAIL* = 1 shl 1 - G_SIGNAL_MATCH_CLOSURE* = 1 shl 2 - G_SIGNAL_MATCH_FUNC* = 1 shl 3 - G_SIGNAL_MATCH_DATA* = 1 shl 4 - G_SIGNAL_MATCH_UNBLOCKED* = 1 shl 5 - G_SIGNAL_MATCH_MASK* = 0x0000003F - G_SIGNAL_TYPE_STATIC_SCOPE* = G_TYPE_FLAG_RESERVED_ID_BIT - -proc g_signal_newv*(signal_name: cstring, itype: GType, - signal_flags: TGSignalFlags, class_closure: PGClosure, - accumulator: TGSignalAccumulator, accu_data: gpointer, - c_marshaller: TGSignalCMarshaller, return_type: GType, - n_params: guint, param_types: PGType): guint{.cdecl, - dynlib: gobjectlib, importc: "g_signal_newv".} -proc g_signal_emitv*(instance_and_params: PGValue, signal_id: guint, - detail: TGQuark, return_value: PGValue){.cdecl, - dynlib: gobjectlib, importc: "g_signal_emitv".} -proc g_signal_lookup*(name: cstring, itype: GType): guint{.cdecl, - dynlib: gobjectlib, importc: "g_signal_lookup".} -proc g_signal_name*(signal_id: guint): cstring{.cdecl, dynlib: gobjectlib, - importc: "g_signal_name".} -proc g_signal_query*(signal_id: guint, query: PGSignalQuery){.cdecl, - dynlib: gobjectlib, importc: "g_signal_query".} -proc g_signal_list_ids*(itype: GType, n_ids: Pguint): Pguint{.cdecl, - dynlib: gobjectlib, importc: "g_signal_list_ids".} -proc g_signal_parse_name*(detailed_signal: cstring, itype: GType, - signal_id_p: Pguint, detail_p: PGQuark, - force_detail_quark: gboolean): gboolean{.cdecl, - dynlib: gobjectlib, importc: "g_signal_parse_name".} -proc g_signal_get_invocation_hint*(instance: gpointer): PGSignalInvocationHint{. - cdecl, dynlib: gobjectlib, importc: "g_signal_get_invocation_hint".} -proc g_signal_stop_emission*(instance: gpointer, signal_id: guint, - detail: TGQuark){.cdecl, dynlib: gobjectlib, - importc: "g_signal_stop_emission".} -proc g_signal_stop_emission_by_name*(instance: gpointer, - detailed_signal: cstring){.cdecl, - dynlib: gobjectlib, importc: "g_signal_stop_emission_by_name".} -proc g_signal_add_emission_hook*(signal_id: guint, quark: TGQuark, - hook_func: TGSignalEmissionHook, - hook_data: gpointer, - data_destroy: TGDestroyNotify): gulong{.cdecl, - dynlib: gobjectlib, importc: "g_signal_add_emission_hook".} -proc g_signal_remove_emission_hook*(signal_id: guint, hook_id: gulong){.cdecl, - dynlib: gobjectlib, importc: "g_signal_remove_emission_hook".} -proc g_signal_has_handler_pending*(instance: gpointer, signal_id: guint, - detail: TGQuark, may_be_blocked: gboolean): gboolean{. - cdecl, dynlib: gobjectlib, importc: "g_signal_has_handler_pending".} -proc g_signal_connect_closure_by_id*(instance: gpointer, signal_id: guint, - detail: TGQuark, closure: PGClosure, - after: gboolean): gulong{.cdecl, - dynlib: gobjectlib, importc: "g_signal_connect_closure_by_id".} -proc g_signal_connect_closure*(instance: gpointer, detailed_signal: cstring, - closure: PGClosure, after: gboolean): gulong{. - cdecl, dynlib: gobjectlib, importc: "g_signal_connect_closure".} -proc g_signal_connect_data*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, data: gpointer, - destroy_data: TGClosureNotify, - connect_flags: TGConnectFlags): gulong{.cdecl, - dynlib: gobjectlib, importc: "g_signal_connect_data".} -proc g_signal_handler_block*(instance: gpointer, handler_id: gulong){.cdecl, - dynlib: gobjectlib, importc: "g_signal_handler_block".} -proc g_signal_handler_unblock*(instance: gpointer, handler_id: gulong){.cdecl, - dynlib: gobjectlib, importc: "g_signal_handler_unblock".} -proc g_signal_handler_disconnect*(instance: gpointer, handler_id: gulong){. - cdecl, dynlib: gobjectlib, importc: "g_signal_handler_disconnect".} -proc g_signal_handler_is_connected*(instance: gpointer, handler_id: gulong): gboolean{. - cdecl, dynlib: gobjectlib, importc: "g_signal_handler_is_connected".} -proc g_signal_handler_find*(instance: gpointer, mask: TGSignalMatchType, - signal_id: guint, detail: TGQuark, - closure: PGClosure, func: gpointer, data: gpointer): gulong{. - cdecl, dynlib: gobjectlib, importc: "g_signal_handler_find".} -proc g_signal_handlers_block_matched*(instance: gpointer, - mask: TGSignalMatchType, signal_id: guint, - detail: TGQuark, closure: PGClosure, - func: gpointer, data: gpointer): guint{. - cdecl, dynlib: gobjectlib, importc: "g_signal_handlers_block_matched".} -proc g_signal_handlers_unblock_matched*(instance: gpointer, - mask: TGSignalMatchType, - signal_id: guint, detail: TGQuark, - closure: PGClosure, func: gpointer, - data: gpointer): guint{.cdecl, - dynlib: gobjectlib, importc: "g_signal_handlers_unblock_matched".} -proc g_signal_handlers_disconnect_matched*(instance: gpointer, - mask: TGSignalMatchType, signal_id: guint, detail: TGQuark, - closure: PGClosure, func: gpointer, data: gpointer): guint{.cdecl, - dynlib: gobjectlib, importc: "g_signal_handlers_disconnect_matched".} -proc g_signal_override_class_closure*(signal_id: guint, instance_type: GType, - class_closure: PGClosure){.cdecl, - dynlib: gobjectlib, importc: "g_signal_override_class_closure".} -proc g_signal_chain_from_overridden*(instance_and_params: PGValue, - return_value: PGValue){.cdecl, - dynlib: gobjectlib, importc: "g_signal_chain_from_overridden".} -proc g_signal_connect*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, data: gpointer): gulong -proc g_signal_connect_after*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, data: gpointer): gulong -proc g_signal_connect_swapped*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, data: gpointer): gulong -proc g_signal_handlers_disconnect_by_func*(instance: gpointer, - func, data: gpointer): guint -proc g_signal_handlers_block_by_func*(instance: gpointer, func, data: gpointer) -proc g_signal_handlers_unblock_by_func*(instance: gpointer, func, data: gpointer) -proc g_signal_handlers_destroy*(instance: gpointer){.cdecl, dynlib: gobjectlib, - importc: "g_signal_handlers_destroy".} -proc g_signals_destroy*(itype: GType){.cdecl, dynlib: gobjectlib, - importc: "`g_signals_destroy`".} -type - TGTypePluginUse* = proc (plugin: PGTypePlugin){.cdecl.} - TGTypePluginUnuse* = proc (plugin: PGTypePlugin){.cdecl.} - TGTypePluginCompleteTypeInfo* = proc (plugin: PGTypePlugin, g_type: GType, - info: PGTypeInfo, - value_table: PGTypeValueTable){.cdecl.} - TGTypePluginCompleteInterfaceInfo* = proc (plugin: PGTypePlugin, - instance_type: GType, interface_type: GType, info: PGInterfaceInfo){.cdecl.} - PGTypePluginClass* = ptr TGTypePluginClass - TGTypePluginClass* {.final.} = object - base_iface*: TGTypeInterface - use_plugin*: TGTypePluginUse - unuse_plugin*: TGTypePluginUnuse - complete_type_info*: TGTypePluginCompleteTypeInfo - complete_interface_info*: TGTypePluginCompleteInterfaceInfo - - -proc G_TYPE_TYPE_PLUGIN*(): GType -proc G_TYPE_PLUGIN*(inst: Pointer): PGTypePlugin -proc G_TYPE_PLUGIN_CLASS*(vtable: Pointer): PGTypePluginClass -proc G_IS_TYPE_PLUGIN*(inst: Pointer): bool -proc G_IS_TYPE_PLUGIN_CLASS*(vtable: Pointer): bool -proc G_TYPE_PLUGIN_GET_CLASS*(inst: Pointer): PGTypePluginClass -proc g_type_plugin_get_type*(): GType{.cdecl, dynlib: gliblib, - importc: "g_type_plugin_get_type".} -proc g_type_plugin_use*(plugin: PGTypePlugin){.cdecl, dynlib: gliblib, - importc: "g_type_plugin_use".} -proc g_type_plugin_unuse*(plugin: PGTypePlugin){.cdecl, dynlib: gliblib, - importc: "g_type_plugin_unuse".} -proc g_type_plugin_complete_type_info*(plugin: PGTypePlugin, g_type: GType, - info: PGTypeInfo, - value_table: PGTypeValueTable){.cdecl, - dynlib: gliblib, importc: "g_type_plugin_complete_type_info".} -proc g_type_plugin_complete_interface_info*(plugin: PGTypePlugin, - instance_type: GType, interface_type: GType, info: PGInterfaceInfo){.cdecl, - dynlib: gliblib, importc: "g_type_plugin_complete_interface_info".} -type - PGObject* = ptr TGObject - TGObject* {.pure.} = object - g_type_instance*: TGTypeInstance - ref_count*: guint - qdata*: PGData - - TGObjectGetPropertyFunc* = proc (anObject: PGObject, property_id: guint, - value: PGValue, pspec: PGParamSpec){.cdecl.} - TGObjectSetPropertyFunc* = proc (anObject: PGObject, property_id: guint, - value: PGValue, pspec: PGParamSpec){.cdecl.} - TGObjectFinalizeFunc* = proc (anObject: PGObject){.cdecl.} - TGWeakNotify* = proc (data: gpointer, where_the_object_was: PGObject){.cdecl.} - PGObjectConstructParam* = ptr TGObjectConstructParam - PGObjectClass* = ptr TGObjectClass - TGObjectClass* {.pure.} = object - g_type_class*: TGTypeClass - construct_properties*: PGSList - constructor*: proc (theType: GType, n_construct_properties: guint, - construct_properties: PGObjectConstructParam): PGObject{. - cdecl.} - set_property*: proc (anObject: PGObject, property_id: guint, value: PGValue, - pspec: PGParamSpec){.cdecl.} - get_property*: proc (anObject: PGObject, property_id: guint, value: PGValue, - pspec: PGParamSpec){.cdecl.} - dispose*: proc (anObject: PGObject){.cdecl.} - finalize*: proc (anObject: PGObject){.cdecl.} - dispatch_properties_changed*: proc (anObject: PGObject, n_pspecs: guint, - pspecs: PPGParamSpec){.cdecl.} - notify*: proc (anObject: PGObject, pspec: PGParamSpec){.cdecl.} - pdummy*: array[0..7, gpointer] - - TGObjectConstructParam* {.final.} = object - pspec*: PGParamSpec - value*: PGValue - - -proc G_TYPE_IS_OBJECT*(theType: GType): bool -proc G_OBJECT*(anObject: pointer): PGObject -proc G_OBJECT_CLASS*(class: Pointer): PGObjectClass -proc G_IS_OBJECT*(anObject: pointer): bool -proc G_IS_OBJECT_CLASS*(class: Pointer): bool -proc G_OBJECT_GET_CLASS*(anObject: pointer): PGObjectClass -proc G_OBJECT_TYPE*(anObject: pointer): GType -proc G_OBJECT_TYPE_NAME*(anObject: pointer): cstring -proc G_OBJECT_CLASS_TYPE*(class: Pointer): GType -proc G_OBJECT_CLASS_NAME*(class: Pointer): cstring -proc G_VALUE_HOLDS_OBJECT*(value: Pointer): bool -proc g_object_class_install_property*(oclass: PGObjectClass, property_id: guint, - pspec: PGParamSpec){.cdecl, - dynlib: gobjectlib, importc: "g_object_class_install_property".} -proc g_object_class_find_property*(oclass: PGObjectClass, property_name: cstring): PGParamSpec{. - cdecl, dynlib: gobjectlib, importc: "g_object_class_find_property".} -proc g_object_class_list_properties*(oclass: PGObjectClass, n_properties: Pguint): PPGParamSpec{. - cdecl, dynlib: gobjectlib, importc: "g_object_class_list_properties".} -proc g_object_set_property*(anObject: PGObject, property_name: cstring, - value: PGValue){.cdecl, dynlib: gobjectlib, - importc: "g_object_set_property".} -proc g_object_get_property*(anObject: PGObject, property_name: cstring, - value: PGValue){.cdecl, dynlib: gobjectlib, - importc: "g_object_get_property".} -proc g_object_freeze_notify*(anObject: PGObject){.cdecl, dynlib: gobjectlib, - importc: "g_object_freeze_notify".} -proc g_object_notify*(anObject: PGObject, property_name: cstring){.cdecl, - dynlib: gobjectlib, importc: "g_object_notify".} -proc g_object_thaw_notify*(anObject: PGObject){.cdecl, dynlib: gobjectlib, - importc: "g_object_thaw_notify".} -proc g_object_ref*(anObject: gpointer): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_object_ref".} -proc g_object_unref*(anObject: gpointer){.cdecl, dynlib: gobjectlib, - importc: "g_object_unref".} -proc g_object_weak_ref*(anObject: PGObject, notify: TGWeakNotify, data: gpointer){. - cdecl, dynlib: gobjectlib, importc: "g_object_weak_ref".} -proc g_object_weak_unref*(anObject: PGObject, notify: TGWeakNotify, - data: gpointer){.cdecl, dynlib: gobjectlib, - importc: "g_object_weak_unref".} -proc g_object_add_weak_pointer*(anObject: PGObject, - weak_pointer_location: Pgpointer){.cdecl, - dynlib: gobjectlib, importc: "g_object_add_weak_pointer".} -proc g_object_remove_weak_pointer*(anObject: PGObject, - weak_pointer_location: Pgpointer){.cdecl, - dynlib: gobjectlib, importc: "g_object_remove_weak_pointer".} -proc g_object_get_qdata*(anObject: PGObject, quark: TGQuark): gpointer{.cdecl, - dynlib: gobjectlib, importc: "g_object_get_qdata".} -proc g_object_set_qdata*(anObject: PGObject, quark: TGQuark, data: gpointer){. - cdecl, dynlib: gobjectlib, importc: "g_object_set_qdata".} -proc g_object_set_qdata_full*(anObject: PGObject, quark: TGQuark, - data: gpointer, destroy: TGDestroyNotify){.cdecl, - dynlib: gobjectlib, importc: "g_object_set_qdata_full".} -proc g_object_steal_qdata*(anObject: PGObject, quark: TGQuark): gpointer{.cdecl, - dynlib: gobjectlib, importc: "g_object_steal_qdata".} -proc g_object_get_data*(anObject: PGObject, key: cstring): gpointer{.cdecl, - dynlib: gobjectlib, importc: "g_object_get_data".} -proc g_object_set_data*(anObject: PGObject, key: cstring, data: gpointer){. - cdecl, dynlib: gobjectlib, importc: "g_object_set_data".} -proc g_object_set_data_full*(anObject: PGObject, key: cstring, data: gpointer, - destroy: TGDestroyNotify){.cdecl, - dynlib: gobjectlib, importc: "g_object_set_data_full".} -proc g_object_steal_data*(anObject: PGObject, key: cstring): gpointer{.cdecl, - dynlib: gobjectlib, importc: "g_object_steal_data".} -proc g_object_watch_closure*(anObject: PGObject, closure: PGClosure){.cdecl, - dynlib: gobjectlib, importc: "g_object_watch_closure".} -proc g_cclosure_new_object*(callback_func: TGCallback, anObject: PGObject): PGClosure{. - cdecl, dynlib: gobjectlib, importc: "g_cclosure_new_object".} -proc g_cclosure_new_object_swap*(callback_func: TGCallback, anObject: PGObject): PGClosure{. - cdecl, dynlib: gobjectlib, importc: "g_cclosure_new_object_swap".} -proc g_closure_new_object*(sizeof_closure: guint, anObject: PGObject): PGClosure{. - cdecl, dynlib: gobjectlib, importc: "g_closure_new_object".} -proc g_value_set_object*(value: PGValue, v_object: gpointer){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_object".} -proc g_value_get_object*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_object".} -proc g_value_dup_object*(value: PGValue): PGObject{.cdecl, dynlib: gobjectlib, - importc: "g_value_dup_object".} -proc g_signal_connect_object*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, gobject: gpointer, - connect_flags: TGConnectFlags): gulong{.cdecl, - dynlib: gobjectlib, importc: "g_signal_connect_object".} -proc g_object_run_dispose*(anObject: PGObject){.cdecl, dynlib: gobjectlib, - importc: "g_object_run_dispose".} -proc g_value_set_object_take_ownership*(value: PGValue, v_object: gpointer){. - cdecl, dynlib: gobjectlib, importc: "g_value_set_object_take_ownership".} -proc G_OBJECT_WARN_INVALID_PSPEC*(anObject: gpointer, pname: cstring, - property_id: gint, pspec: gpointer) -proc G_OBJECT_WARN_INVALID_PROPERTY_ID*(anObject: gpointer, property_id: gint, - pspec: gpointer) -type - G_FLAGS_TYPE* = GType - -const - G_E* = 2.7182818284590451 - G_LN2* = 0.6931471805599452 - G_LN10* = 2.3025850929940455 - G_PI* = 3.1415926535897936 - G_PI_2* = 1.5707963267948968 - G_PI_4* = 0.7853981633974483 - G_SQRT2* = 1.4142135623730951 - G_LITTLE_ENDIAN* = 1234 - G_BIG_ENDIAN* = 4321 - G_PDP_ENDIAN* = 3412 - -proc GUINT16_SWAP_LE_BE_CONSTANT*(val: guint16): guint16 -proc GUINT32_SWAP_LE_BE_CONSTANT*(val: guint32): guint32 -type - PGEnumClass* = ptr TGEnumClass - PGEnumValue* = ptr TGEnumValue - TGEnumClass* {.final.} = object - g_type_class*: TGTypeClass - minimum*: gint - maximum*: gint - n_values*: guint - values*: PGEnumValue - - TGEnumValue* {.final.} = object - value*: gint - value_name*: cstring - value_nick*: cstring - - PGFlagsClass* = ptr TGFlagsClass - PGFlagsValue* = ptr TGFlagsValue - TGFlagsClass* {.final.} = object - g_type_class*: TGTypeClass - mask*: guint - n_values*: guint - values*: PGFlagsValue - - TGFlagsValue* {.final.} = object - value*: guint - value_name*: cstring - value_nick*: cstring - - -proc G_TYPE_IS_ENUM*(theType: GType): gboolean -proc G_ENUM_CLASS*(class: pointer): PGEnumClass -proc G_IS_ENUM_CLASS*(class: pointer): gboolean -proc G_ENUM_CLASS_TYPE*(class: pointer): GType -proc G_ENUM_CLASS_TYPE_NAME*(class: pointer): cstring -proc G_TYPE_IS_FLAGS*(theType: GType): gboolean -proc G_FLAGS_CLASS*(class: pointer): PGFlagsClass -proc G_IS_FLAGS_CLASS*(class: pointer): gboolean -proc G_FLAGS_CLASS_TYPE*(class: pointer): GType -proc G_FLAGS_CLASS_TYPE_NAME*(class: pointer): cstring -proc G_VALUE_HOLDS_ENUM*(value: pointer): gboolean -proc G_VALUE_HOLDS_FLAGS*(value: pointer): gboolean -proc g_enum_get_value*(enum_class: PGEnumClass, value: gint): PGEnumValue{. - cdecl, dynlib: gliblib, importc: "g_enum_get_value".} -proc g_enum_get_value_by_name*(enum_class: PGEnumClass, name: cstring): PGEnumValue{. - cdecl, dynlib: gliblib, importc: "g_enum_get_value_by_name".} -proc g_enum_get_value_by_nick*(enum_class: PGEnumClass, nick: cstring): PGEnumValue{. - cdecl, dynlib: gliblib, importc: "g_enum_get_value_by_nick".} -proc g_flags_get_first_value*(flags_class: PGFlagsClass, value: guint): PGFlagsValue{. - cdecl, dynlib: gliblib, importc: "g_flags_get_first_value".} -proc g_flags_get_value_by_name*(flags_class: PGFlagsClass, name: cstring): PGFlagsValue{. - cdecl, dynlib: gliblib, importc: "g_flags_get_value_by_name".} -proc g_flags_get_value_by_nick*(flags_class: PGFlagsClass, nick: cstring): PGFlagsValue{. - cdecl, dynlib: gliblib, importc: "g_flags_get_value_by_nick".} -proc g_value_set_enum*(value: PGValue, v_enum: gint){.cdecl, dynlib: gliblib, - importc: "g_value_set_enum".} -proc g_value_get_enum*(value: PGValue): gint{.cdecl, dynlib: gliblib, - importc: "g_value_get_enum".} -proc g_value_set_flags*(value: PGValue, v_flags: guint){.cdecl, dynlib: gliblib, - importc: "g_value_set_flags".} -proc g_value_get_flags*(value: PGValue): guint{.cdecl, dynlib: gliblib, - importc: "g_value_get_flags".} -proc g_enum_register_static*(name: cstring, const_static_values: PGEnumValue): GType{. - cdecl, dynlib: gliblib, importc: "g_enum_register_static".} -proc g_flags_register_static*(name: cstring, const_static_values: PGFlagsValue): GType{. - cdecl, dynlib: gliblib, importc: "g_flags_register_static".} -proc g_enum_complete_type_info*(g_enum_type: GType, info: PGTypeInfo, - const_values: PGEnumValue){.cdecl, - dynlib: gliblib, importc: "g_enum_complete_type_info".} -proc g_flags_complete_type_info*(g_flags_type: GType, info: PGTypeInfo, - const_values: PGFlagsValue){.cdecl, - dynlib: gliblib, importc: "g_flags_complete_type_info".} -const - G_MINFLOAT* = 0.0 - G_MAXFLOAT* = 1.6999999999999995E308 - G_MINDOUBLE* = G_MINFLOAT - G_MAXDOUBLE* = G_MAXFLOAT - G_MAXSHORT* = 32767 - G_MINSHORT* = - G_MAXSHORT - 1 - G_MAXUSHORT* = 2 * G_MAXSHORT + 1 - G_MAXINT* = 2147483647 - G_MININT* = - G_MAXINT - 1 - G_MAXUINT* = -1 - G_MINLONG* = G_MININT - G_MAXLONG* = G_MAXINT - G_MAXULONG* = G_MAXUINT - G_MAXINT64* = high(int64) - G_MININT64* = low(int64) - -const - G_GINT16_FORMAT* = "hi" - G_GUINT16_FORMAT* = "hu" - G_GINT32_FORMAT* = 'i' - G_GUINT32_FORMAT* = 'u' - G_HAVE_GINT64* = 1 - G_GINT64_FORMAT* = "I64i" - G_GUINT64_FORMAT* = "I64u" - GLIB_SIZEOF_VOID_P* = SizeOf(Pointer) - GLIB_SIZEOF_LONG* = SizeOf(int32) - GLIB_SIZEOF_SIZE_T* = SizeOf(int32) - -type - PGSystemThread* = ptr TGSystemThread - TGSystemThread* {.final.} = object - data*: array[0..3, char] - dummy_double*: float64 - dummy_pointer*: pointer - dummy_long*: int32 - - -const - GLIB_SYSDEF_POLLIN* = 1 - GLIB_SYSDEF_POLLOUT* = 4 - GLIB_SYSDEF_POLLPRI* = 2 - GLIB_SYSDEF_POLLERR* = 8 - GLIB_SYSDEF_POLLHUP* = 16 - GLIB_SYSDEF_POLLNVAL* = 32 - -proc GUINT_TO_POINTER*(i: guint): pointer -type - PGAsciiType* = ptr TGAsciiType - TGAsciiType* = int32 - -const - G_ASCII_ALNUM* = 1 shl 0 - G_ASCII_ALPHA* = 1 shl 1 - G_ASCII_CNTRL* = 1 shl 2 - G_ASCII_DIGIT* = 1 shl 3 - G_ASCII_GRAPH* = 1 shl 4 - G_ASCII_LOWER* = 1 shl 5 - G_ASCII_PRINT* = 1 shl 6 - G_ASCII_PUNCT* = 1 shl 7 - G_ASCII_SPACE* = 1 shl 8 - G_ASCII_UPPER* = 1 shl 9 - G_ASCII_XDIGIT* = 1 shl 10 - -proc g_ascii_tolower*(c: gchar): gchar{.cdecl, dynlib: gliblib, - importc: "g_ascii_tolower".} -proc g_ascii_toupper*(c: gchar): gchar{.cdecl, dynlib: gliblib, - importc: "g_ascii_toupper".} -proc g_ascii_digit_value*(c: gchar): gint{.cdecl, dynlib: gliblib, - importc: "g_ascii_digit_value".} -proc g_ascii_xdigit_value*(c: gchar): gint{.cdecl, dynlib: gliblib, - importc: "g_ascii_xdigit_value".} -const - G_STR_DELIMITERS* = "``-|> <." - -proc g_strdelimit*(str: cstring, delimiters: cstring, new_delimiter: gchar): cstring{. - cdecl, dynlib: gliblib, importc: "g_strdelimit".} -proc g_strcanon*(str: cstring, valid_chars: cstring, substitutor: gchar): cstring{. - cdecl, dynlib: gliblib, importc: "g_strcanon".} -proc g_strerror*(errnum: gint): cstring{.cdecl, dynlib: gliblib, - importc: "g_strerror".} -proc g_strsignal*(signum: gint): cstring{.cdecl, dynlib: gliblib, - importc: "g_strsignal".} -proc g_strreverse*(str: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_strreverse".} -proc g_strlcpy*(dest: cstring, src: cstring, dest_size: gsize): gsize{.cdecl, - dynlib: gliblib, importc: "g_strlcpy".} -proc g_strlcat*(dest: cstring, src: cstring, dest_size: gsize): gsize{.cdecl, - dynlib: gliblib, importc: "g_strlcat".} -proc g_strstr_len*(haystack: cstring, haystack_len: gssize, needle: cstring): cstring{. - cdecl, dynlib: gliblib, importc: "g_strstr_len".} -proc g_strrstr*(haystack: cstring, needle: cstring): cstring{.cdecl, - dynlib: gliblib, importc: "g_strrstr".} -proc g_strrstr_len*(haystack: cstring, haystack_len: gssize, needle: cstring): cstring{. - cdecl, dynlib: gliblib, importc: "g_strrstr_len".} -proc g_str_has_suffix*(str: cstring, suffix: cstring): gboolean{.cdecl, - dynlib: gliblib, importc: "g_str_has_suffix".} -proc g_str_has_prefix*(str: cstring, prefix: cstring): gboolean{.cdecl, - dynlib: gliblib, importc: "g_str_has_prefix".} -proc g_strtod*(nptr: cstring, endptr: PPgchar): gdouble{.cdecl, dynlib: gliblib, - importc: "g_strtod".} -proc g_ascii_strtod*(nptr: cstring, endptr: PPgchar): gdouble{.cdecl, - dynlib: gliblib, importc: "g_ascii_strtod".} -const - G_ASCII_DTOSTR_BUF_SIZE* = 29 + 10 - -proc g_ascii_dtostr*(buffer: cstring, buf_len: gint, d: gdouble): cstring{. - cdecl, dynlib: gliblib, importc: "g_ascii_dtostr".} -proc g_ascii_formatd*(buffer: cstring, buf_len: gint, format: cstring, - d: gdouble): cstring{.cdecl, dynlib: gliblib, - importc: "g_ascii_formatd".} -proc g_strchug*(str: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_strchug".} -proc g_strchomp*(str: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_strchomp".} -proc g_ascii_strcasecmp*(s1: cstring, s2: cstring): gint{.cdecl, - dynlib: gliblib, importc: "g_ascii_strcasecmp".} -proc g_ascii_strncasecmp*(s1: cstring, s2: cstring, n: gsize): gint{.cdecl, - dynlib: gliblib, importc: "g_ascii_strncasecmp".} -proc g_ascii_strdown*(str: cstring, len: gssize): cstring{.cdecl, - dynlib: gliblib, importc: "g_ascii_strdown".} -proc g_ascii_strup*(str: cstring, len: gssize): cstring{.cdecl, dynlib: gliblib, - importc: "g_ascii_strup".} -proc g_strdup*(str: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_strdup".} -proc g_strndup*(str: cstring, n: gsize): cstring{.cdecl, dynlib: gliblib, - importc: "g_strndup".} -proc g_strnfill*(length: gsize, fill_char: gchar): cstring{.cdecl, - dynlib: gliblib, importc: "g_strnfill".} -proc g_strcompress*(source: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_strcompress".} -proc g_strescape*(source: cstring, exceptions: cstring): cstring{.cdecl, - dynlib: gliblib, importc: "g_strescape".} -proc g_memdup*(mem: gconstpointer, byte_size: guint): gpointer{.cdecl, - dynlib: gliblib, importc: "g_memdup".} -proc g_strsplit*(str: cstring, delimiter: cstring, max_tokens: gint): PPgchar{. - cdecl, dynlib: gliblib, importc: "g_strsplit".} -proc g_strjoinv*(separator: cstring, str_array: PPgchar): cstring{.cdecl, - dynlib: gliblib, importc: "g_strjoinv".} -proc g_strfreev*(str_array: PPgchar){.cdecl, dynlib: gliblib, - importc: "g_strfreev".} -proc g_strdupv*(str_array: PPgchar): PPgchar{.cdecl, dynlib: gliblib, - importc: "g_strdupv".} -proc g_stpcpy*(dest: cstring, src: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_stpcpy".} -proc g_get_user_name*(): cstring{.cdecl, dynlib: gliblib, - importc: "g_get_user_name".} -proc g_get_real_name*(): cstring{.cdecl, dynlib: gliblib, - importc: "g_get_real_name".} -proc g_get_home_dir*(): cstring{.cdecl, dynlib: gliblib, - importc: "g_get_home_dir".} -proc g_get_tmp_dir*(): cstring{.cdecl, dynlib: gliblib, importc: "g_get_tmp_dir".} -proc g_get_prgname*(): cstring{.cdecl, dynlib: gliblib, importc: "g_get_prgname".} -proc g_set_prgname*(prgname: cstring){.cdecl, dynlib: gliblib, - importc: "g_set_prgname".} -type - PGDebugKey* = ptr TGDebugKey - TGDebugKey* {.final.} = object - key*: cstring - value*: guint - - -proc g_parse_debug_string*(str: cstring, keys: PGDebugKey, nkeys: guint): guint{. - cdecl, dynlib: gliblib, importc: "g_parse_debug_string".} -proc g_path_is_absolute*(file_name: cstring): gboolean{.cdecl, dynlib: gliblib, - importc: "g_path_is_absolute".} -proc g_path_skip_root*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_path_skip_root".} -proc g_basename*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_basename".} -proc g_dirname*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_path_get_dirname".} -proc g_get_current_dir*(): cstring{.cdecl, dynlib: gliblib, - importc: "g_get_current_dir".} -proc g_path_get_basename*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_path_get_basename".} -proc g_path_get_dirname*(file_name: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_path_get_dirname".} -proc g_nullify_pointer*(nullify_location: Pgpointer){.cdecl, dynlib: gliblib, - importc: "g_nullify_pointer".} -proc g_getenv*(variable: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_getenv".} -type - TGVoidFunc* = proc (){.cdecl.} - -proc g_atexit*(func: TGVoidFunc){.cdecl, dynlib: gliblib, importc: "g_atexit".} -proc g_find_program_in_path*(program: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_find_program_in_path".} -proc g_bit_nth_lsf*(mask: gulong, nth_bit: gint): gint{.cdecl, dynlib: gliblib, - importc: "g_bit_nth_lsf".} -proc g_bit_nth_msf*(mask: gulong, nth_bit: gint): gint{.cdecl, dynlib: gliblib, - importc: "g_bit_nth_msf".} -proc g_bit_storage*(number: gulong): guint{.cdecl, dynlib: gliblib, - importc: "g_bit_storage".} -type - PPGTrashStack* = ptr PGTrashStack - PGTrashStack* = ptr TGTrashStack - TGTrashStack* {.final.} = object - next*: PGTrashStack - - -proc g_trash_stack_push*(stack_p: PPGTrashStack, data_p: gpointer){.cdecl, - dynlib: gliblib, importc: "g_trash_stack_push".} -proc g_trash_stack_pop*(stack_p: PPGTrashStack): gpointer{.cdecl, - dynlib: gliblib, importc: "g_trash_stack_pop".} -proc g_trash_stack_peek*(stack_p: PPGTrashStack): gpointer{.cdecl, - dynlib: gliblib, importc: "g_trash_stack_peek".} -proc g_trash_stack_height*(stack_p: PPGTrashStack): guint{.cdecl, - dynlib: gliblib, importc: "g_trash_stack_height".} -type - PGHashTable* = pointer - TGHRFunc* = proc (key, value, user_data: gpointer): gboolean{.cdecl.} - -proc g_hash_table_new*(hash_func: TGHashFunc, key_equal_func: TGEqualFunc): PGHashTable{. - cdecl, dynlib: gliblib, importc: "g_hash_table_new".} -proc g_hash_table_new_full*(hash_func: TGHashFunc, key_equal_func: TGEqualFunc, - key_destroy_func: TGDestroyNotify, - value_destroy_func: TGDestroyNotify): PGHashTable{. - cdecl, dynlib: gliblib, importc: "g_hash_table_new_full".} -proc g_hash_table_destroy*(hash_table: PGHashTable){.cdecl, dynlib: gliblib, - importc: "g_hash_table_destroy".} -proc g_hash_table_insert*(hash_table: PGHashTable, key: gpointer, - value: gpointer){.cdecl, dynlib: gliblib, - importc: "g_hash_table_insert".} -proc g_hash_table_replace*(hash_table: PGHashTable, key: gpointer, - value: gpointer){.cdecl, dynlib: gliblib, - importc: "g_hash_table_replace".} -proc g_hash_table_remove*(hash_table: PGHashTable, key: gconstpointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_hash_table_remove".} -proc g_hash_table_steal*(hash_table: PGHashTable, key: gconstpointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_hash_table_steal".} -proc g_hash_table_lookup*(hash_table: PGHashTable, key: gconstpointer): gpointer{. - cdecl, dynlib: gliblib, importc: "g_hash_table_lookup".} -proc g_hash_table_lookup_extended*(hash_table: PGHashTable, - lookup_key: gconstpointer, - orig_key: Pgpointer, value: Pgpointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_hash_table_lookup_extended".} -proc g_hash_table_foreach*(hash_table: PGHashTable, func: TGHFunc, - user_data: gpointer){.cdecl, dynlib: gliblib, - importc: "g_hash_table_foreach".} -proc g_hash_table_foreach_remove*(hash_table: PGHashTable, func: TGHRFunc, - user_data: gpointer): guint{.cdecl, - dynlib: gliblib, importc: "g_hash_table_foreach_remove".} -proc g_hash_table_foreach_steal*(hash_table: PGHashTable, func: TGHRFunc, - user_data: gpointer): guint{.cdecl, - dynlib: gliblib, importc: "g_hash_table_foreach_steal".} -proc g_hash_table_size*(hash_table: PGHashTable): guint{.cdecl, dynlib: gliblib, - importc: "g_hash_table_size".} -proc g_str_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl, - dynlib: gliblib, importc: "g_str_equal".} -proc g_str_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib, - importc: "g_str_hash".} -proc g_int_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl, - dynlib: gliblib, importc: "g_int_equal".} -proc g_int_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib, - importc: "g_int_hash".} -proc g_direct_hash*(v: gconstpointer): guint{.cdecl, dynlib: gliblib, - importc: "g_direct_hash".} -proc g_direct_equal*(v: gconstpointer, v2: gconstpointer): gboolean{.cdecl, - dynlib: gliblib, importc: "g_direct_equal".} -proc g_quark_try_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_quark_try_string".} -proc g_quark_from_static_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_quark_from_static_string".} -proc g_quark_from_string*(str: cstring): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_quark_from_string".} -proc g_quark_to_string*(quark: TGQuark): cstring{.cdecl, dynlib: gliblib, - importc: "g_quark_to_string".} -const - G_MEM_ALIGN* = GLIB_SIZEOF_VOID_P - -type - PGMemVTable* = ptr TGMemVTable - TGMemVTable* {.final.} = object - malloc*: proc (n_bytes: gsize): gpointer{.cdecl.} - realloc*: proc (mem: gpointer, n_bytes: gsize): gpointer{.cdecl.} - free*: proc (mem: gpointer){.cdecl.} - calloc*: proc (n_blocks: gsize, n_block_bytes: gsize): gpointer{.cdecl.} - try_malloc*: proc (n_bytes: gsize): gpointer{.cdecl.} - try_realloc*: proc (mem: gpointer, n_bytes: gsize): gpointer{.cdecl.} - - PGMemChunk* = pointer - PGAllocator* = pointer - -proc g_malloc*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib, - importc: "g_malloc".} -proc g_malloc0*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib, - importc: "g_malloc0".} -proc g_realloc*(mem: gpointer, n_bytes: gulong): gpointer{.cdecl, - dynlib: gliblib, importc: "g_realloc".} -proc g_free*(mem: gpointer){.cdecl, dynlib: gliblib, importc: "g_free".} -proc g_try_malloc*(n_bytes: gulong): gpointer{.cdecl, dynlib: gliblib, - importc: "g_try_malloc".} -proc g_try_realloc*(mem: gpointer, n_bytes: gulong): gpointer{.cdecl, - dynlib: gliblib, importc: "g_try_realloc".} -#proc g_new*(bytes_per_struct, n_structs: gsize): gpointer -#proc g_new0*(bytes_per_struct, n_structs: gsize): gpointer -#proc g_renew*(struct_size: gsize, OldMem: gpointer, n_structs: gsize): gpointer -proc g_mem_set_vtable*(vtable: PGMemVTable){.cdecl, dynlib: gliblib, - importc: "g_mem_set_vtable".} -proc g_mem_is_system_malloc*(): gboolean{.cdecl, dynlib: gliblib, - importc: "g_mem_is_system_malloc".} -proc g_mem_profile*(){.cdecl, dynlib: gliblib, importc: "g_mem_profile".} -proc g_chunk_new*(chunk: Pointer): Pointer -proc g_chunk_new0*(chunk: Pointer): Pointer -proc g_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer) -const - G_ALLOC_ONLY* = 1 - G_ALLOC_AND_FREE* = 2 - -proc g_mem_chunk_new*(name: cstring, atom_size: gint, area_size: gulong, - theType: gint): PGMemChunk{.cdecl, dynlib: gliblib, - importc: "g_mem_chunk_new".} -proc g_mem_chunk_destroy*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, - importc: "g_mem_chunk_destroy".} -proc g_mem_chunk_alloc*(mem_chunk: PGMemChunk): gpointer{.cdecl, - dynlib: gliblib, importc: "g_mem_chunk_alloc".} -proc g_mem_chunk_alloc0*(mem_chunk: PGMemChunk): gpointer{.cdecl, - dynlib: gliblib, importc: "g_mem_chunk_alloc0".} -proc g_mem_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer){.cdecl, - dynlib: gliblib, importc: "g_mem_chunk_free".} -proc g_mem_chunk_clean*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, - importc: "g_mem_chunk_clean".} -proc g_mem_chunk_reset*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, - importc: "g_mem_chunk_reset".} -proc g_mem_chunk_print*(mem_chunk: PGMemChunk){.cdecl, dynlib: gliblib, - importc: "g_mem_chunk_print".} -proc g_mem_chunk_info*(){.cdecl, dynlib: gliblib, importc: "g_mem_chunk_info".} -proc g_blow_chunks*(){.cdecl, dynlib: gliblib, importc: "g_blow_chunks".} -proc g_allocator_new*(name: cstring, n_preallocs: guint): PGAllocator{.cdecl, - dynlib: gliblib, importc: "g_allocator_new".} -proc g_allocator_free*(allocator: PGAllocator){.cdecl, dynlib: gliblib, - importc: "g_allocator_free".} -const - G_ALLOCATOR_LIST* = 1 - G_ALLOCATOR_SLIST* = 2 - G_ALLOCATOR_NODE* = 3 - -proc g_slist_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib, - importc: "g_slist_push_allocator".} -proc g_slist_pop_allocator*(){.cdecl, dynlib: gliblib, - importc: "g_slist_pop_allocator".} -proc g_slist_alloc*(): PGSList{.cdecl, dynlib: gliblib, importc: "g_slist_alloc".} -proc g_slist_free*(list: PGSList){.cdecl, dynlib: gliblib, - importc: "g_slist_free".} -proc g_slist_free_1*(list: PGSList){.cdecl, dynlib: gliblib, - importc: "g_slist_free_1".} -proc g_slist_append*(list: PGSList, data: gpointer): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_append".} -proc g_slist_prepend*(list: PGSList, data: gpointer): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_prepend".} -proc g_slist_insert*(list: PGSList, data: gpointer, position: gint): PGSList{. - cdecl, dynlib: gliblib, importc: "g_slist_insert".} -proc g_slist_insert_sorted*(list: PGSList, data: gpointer, func: TGCompareFunc): PGSList{. - cdecl, dynlib: gliblib, importc: "g_slist_insert_sorted".} -proc g_slist_insert_before*(slist: PGSList, sibling: PGSList, data: gpointer): PGSList{. - cdecl, dynlib: gliblib, importc: "g_slist_insert_before".} -proc g_slist_concat*(list1: PGSList, list2: PGSList): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_concat".} -proc g_slist_remove*(list: PGSList, data: gconstpointer): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_remove".} -proc g_slist_remove_all*(list: PGSList, data: gconstpointer): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_remove_all".} -proc g_slist_remove_link*(list: PGSList, link: PGSList): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_remove_link".} -proc g_slist_delete_link*(list: PGSList, link: PGSList): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_delete_link".} -proc g_slist_reverse*(list: PGSList): PGSList{.cdecl, dynlib: gliblib, - importc: "g_slist_reverse".} -proc g_slist_copy*(list: PGSList): PGSList{.cdecl, dynlib: gliblib, - importc: "g_slist_copy".} -proc g_slist_nth*(list: PGSList, n: guint): PGSList{.cdecl, dynlib: gliblib, - importc: "g_slist_nth".} -proc g_slist_find*(list: PGSList, data: gconstpointer): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_find".} -proc g_slist_find_custom*(list: PGSList, data: gconstpointer, - func: TGCompareFunc): PGSList{.cdecl, dynlib: gliblib, - importc: "g_slist_find_custom".} -proc g_slist_position*(list: PGSList, llink: PGSList): gint{.cdecl, - dynlib: gliblib, importc: "g_slist_position".} -proc g_slist_index*(list: PGSList, data: gconstpointer): gint{.cdecl, - dynlib: gliblib, importc: "g_slist_index".} -proc g_slist_last*(list: PGSList): PGSList{.cdecl, dynlib: gliblib, - importc: "g_slist_last".} -proc g_slist_length*(list: PGSList): guint{.cdecl, dynlib: gliblib, - importc: "g_slist_length".} -proc g_slist_foreach*(list: PGSList, func: TGFunc, user_data: gpointer){.cdecl, - dynlib: gliblib, importc: "g_slist_foreach".} -proc g_slist_sort*(list: PGSList, compare_func: TGCompareFunc): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_sort".} -proc g_slist_sort_with_data*(list: PGSList, compare_func: TGCompareDataFunc, - user_data: gpointer): PGSList{.cdecl, - dynlib: gliblib, importc: "g_slist_sort_with_data".} -proc g_slist_nth_data*(list: PGSList, n: guint): gpointer{.cdecl, - dynlib: gliblib, importc: "g_slist_nth_data".} -proc g_slist_next*(slist: PGSList): PGSList -proc g_list_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib, - importc: "g_list_push_allocator".} -proc g_list_pop_allocator*(){.cdecl, dynlib: gliblib, - importc: "g_list_pop_allocator".} -proc g_list_alloc*(): PGList{.cdecl, dynlib: gliblib, importc: "g_list_alloc".} -proc g_list_free*(list: PGList){.cdecl, dynlib: gliblib, importc: "g_list_free".} -proc g_list_free_1*(list: PGList){.cdecl, dynlib: gliblib, - importc: "g_list_free_1".} -proc g_list_append*(list: PGList, data: gpointer): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_append".} -proc g_list_prepend*(list: PGList, data: gpointer): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_prepend".} -proc g_list_insert*(list: PGList, data: gpointer, position: gint): PGList{. - cdecl, dynlib: gliblib, importc: "g_list_insert".} -proc g_list_insert_sorted*(list: PGList, data: gpointer, func: TGCompareFunc): PGList{. - cdecl, dynlib: gliblib, importc: "g_list_insert_sorted".} -proc g_list_insert_before*(list: PGList, sibling: PGList, data: gpointer): PGList{. - cdecl, dynlib: gliblib, importc: "g_list_insert_before".} -proc g_list_concat*(list1: PGList, list2: PGList): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_concat".} -proc g_list_remove*(list: PGList, data: gconstpointer): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_remove".} -proc g_list_remove_all*(list: PGList, data: gconstpointer): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_remove_all".} -proc g_list_remove_link*(list: PGList, llink: PGList): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_remove_link".} -proc g_list_delete_link*(list: PGList, link: PGList): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_delete_link".} -proc g_list_reverse*(list: PGList): PGList{.cdecl, dynlib: gliblib, - importc: "g_list_reverse".} -proc g_list_copy*(list: PGList): PGList{.cdecl, dynlib: gliblib, - importc: "g_list_copy".} -proc g_list_nth*(list: PGList, n: guint): PGList{.cdecl, dynlib: gliblib, - importc: "g_list_nth".} -proc g_list_nth_prev*(list: PGList, n: guint): PGList{.cdecl, dynlib: gliblib, - importc: "g_list_nth_prev".} -proc g_list_find*(list: PGList, data: gconstpointer): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_find".} -proc g_list_find_custom*(list: PGList, data: gconstpointer, func: TGCompareFunc): PGList{. - cdecl, dynlib: gliblib, importc: "g_list_find_custom".} -proc g_list_position*(list: PGList, llink: PGList): gint{.cdecl, - dynlib: gliblib, importc: "g_list_position".} -proc g_list_index*(list: PGList, data: gconstpointer): gint{.cdecl, - dynlib: gliblib, importc: "g_list_index".} -proc g_list_last*(list: PGList): PGList{.cdecl, dynlib: gliblib, - importc: "g_list_last".} -proc g_list_first*(list: PGList): PGList{.cdecl, dynlib: gliblib, - importc: "g_list_first".} -proc g_list_length*(list: PGList): guint{.cdecl, dynlib: gliblib, - importc: "g_list_length".} -proc g_list_foreach*(list: PGList, func: TGFunc, user_data: gpointer){.cdecl, - dynlib: gliblib, importc: "g_list_foreach".} -proc g_list_sort*(list: PGList, compare_func: TGCompareFunc): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_sort".} -proc g_list_sort_with_data*(list: PGList, compare_func: TGCompareDataFunc, - user_data: gpointer): PGList{.cdecl, - dynlib: gliblib, importc: "g_list_sort_with_data".} -proc g_list_nth_data*(list: PGList, n: guint): gpointer{.cdecl, dynlib: gliblib, - importc: "g_list_nth_data".} -proc g_list_previous*(list: PGList): PGList -proc g_list_next*(list: PGList): PGList -type - PGCache* = pointer - TGCacheNewFunc* = proc (key: gpointer): gpointer{.cdecl.} - TGCacheDupFunc* = proc (value: gpointer): gpointer{.cdecl.} - TGCacheDestroyFunc* = proc (value: gpointer){.cdecl.} - -proc g_cache_new*(value_new_func: TGCacheNewFunc, - value_destroy_func: TGCacheDestroyFunc, - key_dup_func: TGCacheDupFunc, - key_destroy_func: TGCacheDestroyFunc, - hash_key_func: TGHashFunc, hash_value_func: TGHashFunc, - key_equal_func: TGEqualFunc): PGCache{.cdecl, dynlib: gliblib, - importc: "g_cache_new".} -proc g_cache_destroy*(cache: PGCache){.cdecl, dynlib: gliblib, - importc: "g_cache_destroy".} -proc g_cache_insert*(cache: PGCache, key: gpointer): gpointer{.cdecl, - dynlib: gliblib, importc: "g_cache_insert".} -proc g_cache_remove*(cache: PGCache, value: gconstpointer){.cdecl, - dynlib: gliblib, importc: "g_cache_remove".} -proc g_cache_key_foreach*(cache: PGCache, func: TGHFunc, user_data: gpointer){. - cdecl, dynlib: gliblib, importc: "g_cache_key_foreach".} -proc g_cache_value_foreach*(cache: PGCache, func: TGHFunc, user_data: gpointer){. - cdecl, dynlib: gliblib, importc: "g_cache_value_foreach".} -type - PGCompletionFunc* = ptr TGCompletionFunc - TGCompletionFunc* = gchar - TGCompletionStrncmpFunc* = proc (s1: cstring, s2: cstring, n: gsize): gint{. - cdecl.} - PGCompletion* = ptr TGCompletion - TGCompletion* {.final.} = object - items*: PGList - func*: TGCompletionFunc - prefix*: cstring - cache*: PGList - strncmp_func*: TGCompletionStrncmpFunc - - -proc g_completion_new*(func: TGCompletionFunc): PGCompletion{.cdecl, - dynlib: gliblib, importc: "g_completion_new".} -proc g_completion_add_items*(cmp: PGCompletion, items: PGList){.cdecl, - dynlib: gliblib, importc: "g_completion_add_items".} -proc g_completion_remove_items*(cmp: PGCompletion, items: PGList){.cdecl, - dynlib: gliblib, importc: "g_completion_remove_items".} -proc g_completion_clear_items*(cmp: PGCompletion){.cdecl, dynlib: gliblib, - importc: "g_completion_clear_items".} -proc g_completion_complete*(cmp: PGCompletion, prefix: cstring, - new_prefix: PPgchar): PGList{.cdecl, - dynlib: gliblib, importc: "g_completion_complete".} -proc g_completion_set_compare*(cmp: PGCompletion, - strncmp_func: TGCompletionStrncmpFunc){.cdecl, - dynlib: gliblib, importc: "g_completion_set_compare".} -proc g_completion_free*(cmp: PGCompletion){.cdecl, dynlib: gliblib, - importc: "g_completion_free".} -type - PGConvertError* = ptr TGConvertError - TGConvertError* = enum - G_CONVERT_ERROR_NO_CONVERSION, G_CONVERT_ERROR_ILLEGAL_SEQUENCE, - G_CONVERT_ERROR_FAILED, G_CONVERT_ERROR_PARTIAL_INPUT, - G_CONVERT_ERROR_BAD_URI, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH - -proc G_CONVERT_ERROR*(): TGQuark -proc g_convert_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_convert_error_quark".} -type - PGIConv* = ptr TGIConv - TGIConv* = pointer - -proc g_iconv_open*(to_codeset: cstring, from_codeset: cstring): TGIConv{.cdecl, - dynlib: gliblib, importc: "g_iconv_open".} -proc g_iconv*(`converter`: TGIConv, inbuf: PPgchar, inbytes_left: Pgsize, - outbuf: PPgchar, outbytes_left: Pgsize): gsize{.cdecl, - dynlib: gliblib, importc: "g_iconv".} -proc g_iconv_close*(`converter`: TGIConv): gint{.cdecl, dynlib: gliblib, - importc: "g_iconv_close".} -proc g_convert*(str: cstring, len: gssize, to_codeset: cstring, - from_codeset: cstring, bytes_read: Pgsize, - bytes_written: Pgsize, error: pointer): cstring{.cdecl, - dynlib: gliblib, importc: "g_convert".} -proc g_convert_with_iconv*(str: cstring, len: gssize, `converter`: TGIConv, - bytes_read: Pgsize, bytes_written: Pgsize, - error: pointer): cstring{.cdecl, dynlib: gliblib, - importc: "g_convert_with_iconv".} -proc g_convert_with_fallback*(str: cstring, len: gssize, to_codeset: cstring, - from_codeset: cstring, fallback: cstring, - bytes_read: Pgsize, bytes_written: Pgsize, - error: pointer): cstring{.cdecl, dynlib: gliblib, - importc: "g_convert_with_fallback".} -proc g_locale_to_utf8*(opsysstring: cstring, len: gssize, bytes_read: Pgsize, - bytes_written: Pgsize, error: pointer): cstring{.cdecl, - dynlib: gliblib, importc: "g_locale_to_utf8".} -proc g_locale_from_utf8*(utf8string: cstring, len: gssize, bytes_read: Pgsize, - bytes_written: Pgsize, error: pointer): cstring{. - cdecl, dynlib: gliblib, importc: "g_locale_from_utf8".} -proc g_filename_to_utf8*(opsysstring: cstring, len: gssize, bytes_read: Pgsize, - bytes_written: Pgsize, error: pointer): cstring{. - cdecl, dynlib: gliblib, importc: "g_filename_to_utf8".} -proc g_filename_from_utf8*(utf8string: cstring, len: gssize, bytes_read: Pgsize, - bytes_written: Pgsize, error: pointer): cstring{. - cdecl, dynlib: gliblib, importc: "g_filename_from_utf8".} -proc g_filename_from_uri*(uri: cstring, hostname: PPchar, error: pointer): cstring{. - cdecl, dynlib: gliblib, importc: "g_filename_from_uri".} -proc g_filename_to_uri*(filename: cstring, hostname: cstring, error: pointer): cstring{. - cdecl, dynlib: gliblib, importc: "g_filename_to_uri".} -type - TGDataForeachFunc* = proc (key_id: TGQuark, data: gpointer, - user_data: gpointer){.cdecl.} - -proc g_datalist_init*(datalist: PPGData){.cdecl, dynlib: gliblib, - importc: "g_datalist_init".} -proc g_datalist_clear*(datalist: PPGData){.cdecl, dynlib: gliblib, - importc: "g_datalist_clear".} -proc g_datalist_id_get_data*(datalist: PPGData, key_id: TGQuark): gpointer{. - cdecl, dynlib: gliblib, importc: "g_datalist_id_get_data".} -proc g_datalist_id_set_data_full*(datalist: PPGData, key_id: TGQuark, - data: gpointer, destroy_func: TGDestroyNotify){. - cdecl, dynlib: gliblib, importc: "g_datalist_id_set_data_full".} -proc g_datalist_id_remove_no_notify*(datalist: PPGData, key_id: TGQuark): gpointer{. - cdecl, dynlib: gliblib, importc: "g_datalist_id_remove_no_notify".} -proc g_datalist_foreach*(datalist: PPGData, func: TGDataForeachFunc, - user_data: gpointer){.cdecl, dynlib: gliblib, - importc: "g_datalist_foreach".} -proc g_datalist_id_set_data*(datalist: PPGData, key_id: TGQuark, data: gpointer) -proc g_datalist_id_remove_data*(datalist: PPGData, key_id: TGQuark) -proc g_datalist_get_data*(datalist: PPGData, key_str: cstring): PPGData -proc g_datalist_set_data_full*(datalist: PPGData, key_str: cstring, - data: gpointer, destroy_func: TGDestroyNotify) -proc g_datalist_set_data*(datalist: PPGData, key_str: cstring, data: gpointer) -proc g_datalist_remove_no_notify*(datalist: PPGData, key_str: cstring) -proc g_datalist_remove_data*(datalist: PPGData, key_str: cstring) -proc g_dataset_id_get_data*(dataset_location: gconstpointer, key_id: TGQuark): gpointer{. - cdecl, dynlib: gliblib, importc: "g_dataset_id_get_data".} -proc g_dataset_id_set_data_full*(dataset_location: gconstpointer, - key_id: TGQuark, data: gpointer, - destroy_func: TGDestroyNotify){.cdecl, - dynlib: gliblib, importc: "g_dataset_id_set_data_full".} -proc g_dataset_id_remove_no_notify*(dataset_location: gconstpointer, - key_id: TGQuark): gpointer{.cdecl, - dynlib: gliblib, importc: "g_dataset_id_remove_no_notify".} -proc g_dataset_foreach*(dataset_location: gconstpointer, - func: TGDataForeachFunc, user_data: gpointer){.cdecl, - dynlib: gliblib, importc: "g_dataset_foreach".} -proc g_dataset_id_set_data*(location: gconstpointer, key_id: TGQuark, - data: gpointer) -proc g_dataset_id_remove_data*(location: gconstpointer, key_id: TGQuark) -proc g_dataset_get_data*(location: gconstpointer, key_str: cstring): gpointer -proc g_dataset_set_data_full*(location: gconstpointer, key_str: cstring, - data: gpointer, destroy_func: TGDestroyNotify) -proc g_dataset_remove_no_notify*(location: gconstpointer, key_str: cstring) -proc g_dataset_set_data*(location: gconstpointer, key_str: cstring, - data: gpointer) -proc g_dataset_remove_data*(location: gconstpointer, key_str: cstring) -type - PGTime* = ptr TGTime - TGTime* = gint32 - PGDateYear* = ptr TGDateYear - TGDateYear* = guint16 - PGDateDay* = ptr TGDateDay - TGDateDay* = guint8 - Ptm* = ptr Ttm - Ttm* {.final.} = object - tm_sec*: gint - tm_min*: gint - tm_hour*: gint - tm_mday*: gint - tm_mon*: gint - tm_year*: gint - tm_wday*: gint - tm_yday*: gint - tm_isdst*: gint - tm_gmtoff*: glong - tm_zone*: cstring - - -type - PGDateDMY* = ptr TGDateDMY - TGDateDMY* = int - -const - G_DATE_DAY* = 0 - G_DATE_MONTH* = 1 - G_DATE_YEAR* = 2 - -type - PGDateWeekday* = ptr TGDateWeekday - TGDateWeekday* = int - -const - G_DATE_BAD_WEEKDAY* = 0 - G_DATE_MONDAY* = 1 - G_DATE_TUESDAY* = 2 - G_DATE_WEDNESDAY* = 3 - G_DATE_THURSDAY* = 4 - G_DATE_FRIDAY* = 5 - G_DATE_SATURDAY* = 6 - G_DATE_SUNDAY* = 7 - -type - PGDateMonth* = ptr TGDateMonth - TGDateMonth* = int - -const - G_DATE_BAD_MONTH* = 0 - G_DATE_JANUARY* = 1 - G_DATE_FEBRUARY* = 2 - G_DATE_MARCH* = 3 - G_DATE_APRIL* = 4 - G_DATE_MAY* = 5 - G_DATE_JUNE* = 6 - G_DATE_JULY* = 7 - G_DATE_AUGUST* = 8 - G_DATE_SEPTEMBER* = 9 - G_DATE_OCTOBER* = 10 - G_DATE_NOVEMBER* = 11 - G_DATE_DECEMBER* = 12 - -const - G_DATE_BAD_JULIAN* = 0 - G_DATE_BAD_DAY* = 0 - G_DATE_BAD_YEAR* = 0 - -type - PGDate* = ptr TGDate - TGDate* {.final.} = object - flag0*: int32 - flag1*: int32 - - -proc g_date_new*(): PGDate{.cdecl, dynlib: gliblib, importc: "g_date_new".} -proc g_date_new_dmy*(day: TGDateDay, month: TGDateMonth, year: TGDateYear): PGDate{. - cdecl, dynlib: gliblib, importc: "g_date_new_dmy".} -proc g_date_new_julian*(julian_day: guint32): PGDate{.cdecl, dynlib: gliblib, - importc: "g_date_new_julian".} -proc g_date_free*(date: PGDate){.cdecl, dynlib: gliblib, importc: "g_date_free".} -proc g_date_valid*(date: PGDate): gboolean{.cdecl, dynlib: gliblib, - importc: "g_date_valid".} -proc g_date_valid_month*(month: TGDateMonth): gboolean{.cdecl, dynlib: gliblib, - importc: "g_date_valid_month".} -proc g_date_valid_year*(year: TGDateYear): gboolean{.cdecl, dynlib: gliblib, - importc: "g_date_valid_year".} -proc g_date_valid_weekday*(weekday: TGDateWeekday): gboolean{.cdecl, - dynlib: gliblib, importc: "g_date_valid_weekday".} -proc g_date_valid_julian*(julian_date: guint32): gboolean{.cdecl, - dynlib: gliblib, importc: "g_date_valid_julian".} -proc g_date_get_weekday*(date: PGDate): TGDateWeekday{.cdecl, dynlib: gliblib, - importc: "g_date_get_weekday".} -proc g_date_get_month*(date: PGDate): TGDateMonth{.cdecl, dynlib: gliblib, - importc: "g_date_get_month".} -proc g_date_get_year*(date: PGDate): TGDateYear{.cdecl, dynlib: gliblib, - importc: "g_date_get_year".} -proc g_date_get_day*(date: PGDate): TGDateDay{.cdecl, dynlib: gliblib, - importc: "g_date_get_day".} -proc g_date_get_julian*(date: PGDate): guint32{.cdecl, dynlib: gliblib, - importc: "g_date_get_julian".} -proc g_date_get_day_of_year*(date: PGDate): guint{.cdecl, dynlib: gliblib, - importc: "g_date_get_day_of_year".} -proc g_date_get_monday_week_of_year*(date: PGDate): guint{.cdecl, - dynlib: gliblib, importc: "g_date_get_monday_week_of_year".} -proc g_date_get_sunday_week_of_year*(date: PGDate): guint{.cdecl, - dynlib: gliblib, importc: "g_date_get_sunday_week_of_year".} -proc g_date_clear*(date: PGDate, n_dates: guint){.cdecl, dynlib: gliblib, - importc: "g_date_clear".} -proc g_date_set_parse*(date: PGDate, str: cstring){.cdecl, dynlib: gliblib, - importc: "g_date_set_parse".} -proc g_date_set_time*(date: PGDate, time: TGTime){.cdecl, dynlib: gliblib, - importc: "g_date_set_time".} -proc g_date_set_month*(date: PGDate, month: TGDateMonth){.cdecl, - dynlib: gliblib, importc: "g_date_set_month".} -proc g_date_set_day*(date: PGDate, day: TGDateDay){.cdecl, dynlib: gliblib, - importc: "g_date_set_day".} -proc g_date_set_year*(date: PGDate, year: TGDateYear){.cdecl, dynlib: gliblib, - importc: "g_date_set_year".} -proc g_date_set_dmy*(date: PGDate, day: TGDateDay, month: TGDateMonth, - y: TGDateYear){.cdecl, dynlib: gliblib, - importc: "g_date_set_dmy".} -proc g_date_set_julian*(date: PGDate, julian_date: guint32){.cdecl, - dynlib: gliblib, importc: "g_date_set_julian".} -proc g_date_is_first_of_month*(date: PGDate): gboolean{.cdecl, dynlib: gliblib, - importc: "g_date_is_first_of_month".} -proc g_date_is_last_of_month*(date: PGDate): gboolean{.cdecl, dynlib: gliblib, - importc: "g_date_is_last_of_month".} -proc g_date_add_days*(date: PGDate, n_days: guint){.cdecl, dynlib: gliblib, - importc: "g_date_add_days".} -proc g_date_subtract_days*(date: PGDate, n_days: guint){.cdecl, dynlib: gliblib, - importc: "g_date_subtract_days".} -proc g_date_add_months*(date: PGDate, n_months: guint){.cdecl, dynlib: gliblib, - importc: "g_date_add_months".} -proc g_date_subtract_months*(date: PGDate, n_months: guint){.cdecl, - dynlib: gliblib, importc: "g_date_subtract_months".} -proc g_date_add_years*(date: PGDate, n_years: guint){.cdecl, dynlib: gliblib, - importc: "g_date_add_years".} -proc g_date_subtract_years*(date: PGDate, n_years: guint){.cdecl, - dynlib: gliblib, importc: "g_date_subtract_years".} -proc g_date_is_leap_year*(year: TGDateYear): gboolean{.cdecl, dynlib: gliblib, - importc: "g_date_is_leap_year".} -proc g_date_get_days_in_month*(month: TGDateMonth, year: TGDateYear): guint8{. - cdecl, dynlib: gliblib, importc: "g_date_get_days_in_month".} -proc g_date_get_monday_weeks_in_year*(year: TGDateYear): guint8{.cdecl, - dynlib: gliblib, importc: "g_date_get_monday_weeks_in_year".} -proc g_date_get_sunday_weeks_in_year*(year: TGDateYear): guint8{.cdecl, - dynlib: gliblib, importc: "g_date_get_sunday_weeks_in_year".} -proc g_date_days_between*(date1: PGDate, date2: PGDate): gint{.cdecl, - dynlib: gliblib, importc: "g_date_days_between".} -proc g_date_compare*(lhs: PGDate, rhs: PGDate): gint{.cdecl, dynlib: gliblib, - importc: "g_date_compare".} -proc g_date_to_struct_tm*(date: PGDate, tm: Ptm){.cdecl, dynlib: gliblib, - importc: "g_date_to_struct_tm".} -proc g_date_clamp*(date: PGDate, min_date: PGDate, max_date: PGDate){.cdecl, - dynlib: gliblib, importc: "g_date_clamp".} -proc g_date_order*(date1: PGDate, date2: PGDate){.cdecl, dynlib: gliblib, - importc: "g_date_order".} -proc g_date_strftime*(s: cstring, slen: gsize, format: cstring, date: PGDate): gsize{. - cdecl, dynlib: gliblib, importc: "g_date_strftime".} -type - PGDir* = pointer - -proc g_dir_open*(path: cstring, flags: guint, error: pointer): PGDir{.cdecl, - dynlib: gliblib, importc: "g_dir_open".} -proc g_dir_read_name*(dir: PGDir): cstring{.cdecl, dynlib: gliblib, - importc: "g_dir_read_name".} -proc g_dir_rewind*(dir: PGDir){.cdecl, dynlib: gliblib, importc: "g_dir_rewind".} -proc g_dir_close*(dir: PGDir){.cdecl, dynlib: gliblib, importc: "g_dir_close".} -type - PGFileError* = ptr TGFileError - TGFileError* = gint - -type - PGFileTest* = ptr TGFileTest - TGFileTest* = int - -const - G_FILE_TEST_IS_REGULAR* = 1 shl 0 - G_FILE_TEST_IS_SYMLINK* = 1 shl 1 - G_FILE_TEST_IS_DIR* = 1 shl 2 - G_FILE_TEST_IS_EXECUTABLE* = 1 shl 3 - G_FILE_TEST_EXISTS* = 1 shl 4 - -const - G_FILE_ERROR_EXIST* = 0 - G_FILE_ERROR_ISDIR* = 1 - G_FILE_ERROR_ACCES* = 2 - G_FILE_ERROR_NAMETOOLONG* = 3 - G_FILE_ERROR_NOENT* = 4 - G_FILE_ERROR_NOTDIR* = 5 - G_FILE_ERROR_NXIO* = 6 - G_FILE_ERROR_NODEV* = 7 - G_FILE_ERROR_ROFS* = 8 - G_FILE_ERROR_TXTBSY* = 9 - G_FILE_ERROR_FAULT* = 10 - G_FILE_ERROR_LOOP* = 11 - G_FILE_ERROR_NOSPC* = 12 - G_FILE_ERROR_NOMEM* = 13 - G_FILE_ERROR_MFILE* = 14 - G_FILE_ERROR_NFILE* = 15 - G_FILE_ERROR_BADF* = 16 - G_FILE_ERROR_INVAL* = 17 - G_FILE_ERROR_PIPE* = 18 - G_FILE_ERROR_AGAIN* = 19 - G_FILE_ERROR_INTR* = 20 - G_FILE_ERROR_IO* = 21 - G_FILE_ERROR_PERM* = 22 - G_FILE_ERROR_FAILED* = 23 - -proc G_FILE_ERROR*(): TGQuark -proc g_file_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_file_error_quark".} -proc g_file_error_from_errno*(err_no: gint): TGFileError{.cdecl, - dynlib: gliblib, importc: "g_file_error_from_errno".} -proc g_file_test*(filename: cstring, test: TGFileTest): gboolean{.cdecl, - dynlib: gliblib, importc: "g_file_test".} -proc g_file_get_contents*(filename: cstring, contents: PPgchar, length: Pgsize, - error: pointer): gboolean{.cdecl, dynlib: gliblib, - importc: "g_file_get_contents".} -proc g_mkstemp*(tmpl: cstring): int32{.cdecl, dynlib: gliblib, - importc: "g_mkstemp".} -proc g_file_open_tmp*(tmpl: cstring, name_used: PPchar, error: pointer): int32{. - cdecl, dynlib: gliblib, importc: "g_file_open_tmp".} -type - PGHook* = ptr TGHook - TGHook* {.final.} = object - data*: gpointer - next*: PGHook - prev*: PGHook - ref_count*: guint - hook_id*: gulong - flags*: guint - func*: gpointer - destroy*: TGDestroyNotify - - PGHookList* = ptr TGHookList - TGHookCompareFunc* = proc (new_hook: PGHook, sibling: PGHook): gint{.cdecl.} - TGHookFindFunc* = proc (hook: PGHook, data: gpointer): gboolean{.cdecl.} - TGHookMarshaller* = proc (hook: PGHook, marshal_data: gpointer){.cdecl.} - TGHookCheckMarshaller* = proc (hook: PGHook, marshal_data: gpointer): gboolean{. - cdecl.} - TGHookFunc* = proc (data: gpointer){.cdecl.} - TGHookCheckFunc* = proc (data: gpointer): gboolean{.cdecl.} - TGHookFinalizeFunc* = proc (hook_list: PGHookList, hook: PGHook){.cdecl.} - TGHookList* {.final.} = object - seq_id*: gulong - flag0*: int32 - hooks*: PGHook - hook_memchunk*: PGMemChunk - finalize_hook*: TGHookFinalizeFunc - dummy*: array[0..1, gpointer] - - -type - PGHookFlagMask* = ptr TGHookFlagMask - TGHookFlagMask* = int - -const - G_HOOK_FLAG_ACTIVE* = 1'i32 shl 0'i32 - G_HOOK_FLAG_IN_CALL* = 1'i32 shl 1'i32 - G_HOOK_FLAG_MASK* = 0x0000000F'i32 - -const - G_HOOK_FLAG_USER_SHIFT* = 4'i32 - bm_TGHookList_hook_size* = 0x0000FFFF'i32 - bp_TGHookList_hook_size* = 0'i32 - bm_TGHookList_is_setup* = 0x00010000'i32 - bp_TGHookList_is_setup* = 16'i32 - -proc TGHookList_hook_size*(a: var TGHookList): guint -proc TGHookList_set_hook_size*(a: var TGHookList, `hook_size`: guint) -proc TGHookList_is_setup*(a: var TGHookList): guint -proc TGHookList_set_is_setup*(a: var TGHookList, `is_setup`: guint) -proc G_HOOK*(hook: pointer): PGHook -proc G_HOOK_FLAGS*(hook: PGHook): guint -proc G_HOOK_ACTIVE*(hook: PGHook): bool -proc G_HOOK_IN_CALL*(hook: PGHook): bool -proc G_HOOK_IS_VALID*(hook: PGHook): bool -proc G_HOOK_IS_UNLINKED*(hook: PGHook): bool -proc g_hook_list_init*(hook_list: PGHookList, hook_size: guint){.cdecl, - dynlib: gliblib, importc: "g_hook_list_init".} -proc g_hook_list_clear*(hook_list: PGHookList){.cdecl, dynlib: gliblib, - importc: "g_hook_list_clear".} -proc g_hook_alloc*(hook_list: PGHookList): PGHook{.cdecl, dynlib: gliblib, - importc: "g_hook_alloc".} -proc g_hook_free*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib, - importc: "g_hook_free".} -proc g_hook_ref*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib, - importc: "g_hook_ref".} -proc g_hook_unref*(hook_list: PGHookList, hook: PGHook){.cdecl, dynlib: gliblib, - importc: "g_hook_unref".} -proc g_hook_destroy*(hook_list: PGHookList, hook_id: gulong): gboolean{.cdecl, - dynlib: gliblib, importc: "g_hook_destroy".} -proc g_hook_destroy_link*(hook_list: PGHookList, hook: PGHook){.cdecl, - dynlib: gliblib, importc: "g_hook_destroy_link".} -proc g_hook_prepend*(hook_list: PGHookList, hook: PGHook){.cdecl, - dynlib: gliblib, importc: "g_hook_prepend".} -proc g_hook_insert_before*(hook_list: PGHookList, sibling: PGHook, hook: PGHook){. - cdecl, dynlib: gliblib, importc: "g_hook_insert_before".} -proc g_hook_insert_sorted*(hook_list: PGHookList, hook: PGHook, - func: TGHookCompareFunc){.cdecl, dynlib: gliblib, - importc: "g_hook_insert_sorted".} -proc g_hook_get*(hook_list: PGHookList, hook_id: gulong): PGHook{.cdecl, - dynlib: gliblib, importc: "g_hook_get".} -proc g_hook_find*(hook_list: PGHookList, need_valids: gboolean, - func: TGHookFindFunc, data: gpointer): PGHook{.cdecl, - dynlib: gliblib, importc: "g_hook_find".} -proc g_hook_find_data*(hook_list: PGHookList, need_valids: gboolean, - data: gpointer): PGHook{.cdecl, dynlib: gliblib, - importc: "g_hook_find_data".} -proc g_hook_find_func*(hook_list: PGHookList, need_valids: gboolean, - func: gpointer): PGHook{.cdecl, dynlib: gliblib, - importc: "g_hook_find_func".} -proc g_hook_find_func_data*(hook_list: PGHookList, need_valids: gboolean, - func: gpointer, data: gpointer): PGHook{.cdecl, - dynlib: gliblib, importc: "g_hook_find_func_data".} -proc g_hook_first_valid*(hook_list: PGHookList, may_be_in_call: gboolean): PGHook{. - cdecl, dynlib: gliblib, importc: "g_hook_first_valid".} -proc g_hook_next_valid*(hook_list: PGHookList, hook: PGHook, - may_be_in_call: gboolean): PGHook{.cdecl, - dynlib: gliblib, importc: "g_hook_next_valid".} -proc g_hook_compare_ids*(new_hook: PGHook, sibling: PGHook): gint{.cdecl, - dynlib: gliblib, importc: "g_hook_compare_ids".} -proc g_hook_append*(hook_list: PGHookList, hook: PGHook) -proc g_hook_list_invoke_check*(hook_list: PGHookList, may_recurse: gboolean){. - cdecl, dynlib: gliblib, importc: "g_hook_list_invoke_check".} -proc g_hook_list_marshal*(hook_list: PGHookList, may_recurse: gboolean, - marshaller: TGHookMarshaller, marshal_data: gpointer){. - cdecl, dynlib: gliblib, importc: "g_hook_list_marshal".} -proc g_hook_list_marshal_check*(hook_list: PGHookList, may_recurse: gboolean, - marshaller: TGHookCheckMarshaller, - marshal_data: gpointer){.cdecl, dynlib: gliblib, - importc: "g_hook_list_marshal_check".} -type - PGThreadPool* = ptr TGThreadPool - TGThreadPool* {.final.} = object - func*: TGFunc - user_data*: gpointer - exclusive*: gboolean - - -proc g_thread_pool_new*(func: TGFunc, user_data: gpointer, max_threads: gint, - exclusive: gboolean, error: pointer): PGThreadPool{. - cdecl, dynlib: gliblib, importc: "g_thread_pool_new".} -proc g_thread_pool_push*(pool: PGThreadPool, data: gpointer, error: pointer){. - cdecl, dynlib: gliblib, importc: "g_thread_pool_push".} -proc g_thread_pool_set_max_threads*(pool: PGThreadPool, max_threads: gint, - error: pointer){.cdecl, dynlib: gliblib, - importc: "g_thread_pool_set_max_threads".} -proc g_thread_pool_get_max_threads*(pool: PGThreadPool): gint{.cdecl, - dynlib: gliblib, importc: "g_thread_pool_get_max_threads".} -proc g_thread_pool_get_num_threads*(pool: PGThreadPool): guint{.cdecl, - dynlib: gliblib, importc: "g_thread_pool_get_num_threads".} -proc g_thread_pool_unprocessed*(pool: PGThreadPool): guint{.cdecl, - dynlib: gliblib, importc: "g_thread_pool_unprocessed".} -proc g_thread_pool_free*(pool: PGThreadPool, immediate: gboolean, wait: gboolean){. - cdecl, dynlib: gliblib, importc: "g_thread_pool_free".} -proc g_thread_pool_set_max_unused_threads*(max_threads: gint){.cdecl, - dynlib: gliblib, importc: "g_thread_pool_set_max_unused_threads".} -proc g_thread_pool_get_max_unused_threads*(): gint{.cdecl, dynlib: gliblib, - importc: "g_thread_pool_get_max_unused_threads".} -proc g_thread_pool_get_num_unused_threads*(): guint{.cdecl, dynlib: gliblib, - importc: "g_thread_pool_get_num_unused_threads".} -proc g_thread_pool_stop_unused_threads*(){.cdecl, dynlib: gliblib, - importc: "g_thread_pool_stop_unused_threads".} -type - PGTimer* = pointer - -const - G_USEC_PER_SEC* = 1000000 - -proc g_timer_new*(): PGTimer{.cdecl, dynlib: gliblib, importc: "g_timer_new".} -proc g_timer_destroy*(timer: PGTimer){.cdecl, dynlib: gliblib, - importc: "g_timer_destroy".} -proc g_timer_start*(timer: PGTimer){.cdecl, dynlib: gliblib, - importc: "g_timer_start".} -proc g_timer_stop*(timer: PGTimer){.cdecl, dynlib: gliblib, - importc: "g_timer_stop".} -proc g_timer_reset*(timer: PGTimer){.cdecl, dynlib: gliblib, - importc: "g_timer_reset".} -proc g_timer_elapsed*(timer: PGTimer, microseconds: Pgulong): gdouble{.cdecl, - dynlib: gliblib, importc: "g_timer_elapsed".} -proc g_usleep*(microseconds: gulong){.cdecl, dynlib: gliblib, - importc: "g_usleep".} -proc g_time_val_add*(time: PGTimeVal, microseconds: glong){.cdecl, - dynlib: gliblib, importc: "g_time_val_add".} -type - Pgunichar* = ptr gunichar - gunichar* = guint32 - Pgunichar2* = ptr gunichar2 - gunichar2* = guint16 - PGUnicodeType* = ptr TGUnicodeType - TGUnicodeType* = enum - G_UNICODE_CONTROL, G_UNICODE_FORMAT, G_UNICODE_UNASSIGNED, - G_UNICODE_PRIVATE_USE, G_UNICODE_SURROGATE, G_UNICODE_LOWERCASE_LETTER, - G_UNICODE_MODIFIER_LETTER, G_UNICODE_OTHER_LETTER, - G_UNICODE_TITLECASE_LETTER, G_UNICODE_UPPERCASE_LETTER, - G_UNICODE_COMBINING_MARK, G_UNICODE_ENCLOSING_MARK, - G_UNICODE_NON_SPACING_MARK, G_UNICODE_DECIMAL_NUMBER, - G_UNICODE_LETTER_NUMBER, G_UNICODE_OTHER_NUMBER, - G_UNICODE_CONNECT_PUNCTUATION, G_UNICODE_DASH_PUNCTUATION, - G_UNICODE_CLOSE_PUNCTUATION, G_UNICODE_FINAL_PUNCTUATION, - G_UNICODE_INITIAL_PUNCTUATION, G_UNICODE_OTHER_PUNCTUATION, - G_UNICODE_OPEN_PUNCTUATION, G_UNICODE_CURRENCY_SYMBOL, - G_UNICODE_MODIFIER_SYMBOL, G_UNICODE_MATH_SYMBOL, G_UNICODE_OTHER_SYMBOL, - G_UNICODE_LINE_SEPARATOR, G_UNICODE_PARAGRAPH_SEPARATOR, - G_UNICODE_SPACE_SEPARATOR - PGUnicodeBreakType* = ptr TGUnicodeBreakType - TGUnicodeBreakType* = enum - G_UNICODE_BREAK_MANDATORY, G_UNICODE_BREAK_CARRIAGE_RETURN, - G_UNICODE_BREAK_LINE_FEED, G_UNICODE_BREAK_COMBINING_MARK, - G_UNICODE_BREAK_SURROGATE, G_UNICODE_BREAK_ZERO_WIDTH_SPACE, - G_UNICODE_BREAK_INSEPARABLE, G_UNICODE_BREAK_NON_BREAKING_GLUE, - G_UNICODE_BREAK_CONTINGENT, G_UNICODE_BREAK_SPACE, G_UNICODE_BREAK_AFTER, - G_UNICODE_BREAK_BEFORE, G_UNICODE_BREAK_BEFORE_AND_AFTER, - G_UNICODE_BREAK_HYPHEN, G_UNICODE_BREAK_NON_STARTER, - G_UNICODE_BREAK_OPEN_PUNCTUATION, G_UNICODE_BREAK_CLOSE_PUNCTUATION, - G_UNICODE_BREAK_QUOTATION, G_UNICODE_BREAK_EXCLAMATION, - G_UNICODE_BREAK_IDEOGRAPHIC, G_UNICODE_BREAK_NUMERIC, - G_UNICODE_BREAK_INFIX_SEPARATOR, G_UNICODE_BREAK_SYMBOL, - G_UNICODE_BREAK_ALPHABETIC, G_UNICODE_BREAK_PREFIX, G_UNICODE_BREAK_POSTFIX, - G_UNICODE_BREAK_COMPLEX_CONTEXT, G_UNICODE_BREAK_AMBIGUOUS, - G_UNICODE_BREAK_UNKNOWN - -proc g_get_charset*(charset: PPchar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_get_charset".} -proc g_unichar_isalnum*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isalnum".} -proc g_unichar_isalpha*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isalpha".} -proc g_unichar_iscntrl*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_iscntrl".} -proc g_unichar_isdigit*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isdigit".} -proc g_unichar_isgraph*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isgraph".} -proc g_unichar_islower*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_islower".} -proc g_unichar_isprint*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isprint".} -proc g_unichar_ispunct*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_ispunct".} -proc g_unichar_isspace*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isspace".} -proc g_unichar_isupper*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isupper".} -proc g_unichar_isxdigit*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isxdigit".} -proc g_unichar_istitle*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_istitle".} -proc g_unichar_isdefined*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_isdefined".} -proc g_unichar_iswide*(c: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_iswide".} -proc g_unichar_toupper*(c: gunichar): gunichar{.cdecl, dynlib: gliblib, - importc: "g_unichar_toupper".} -proc g_unichar_tolower*(c: gunichar): gunichar{.cdecl, dynlib: gliblib, - importc: "g_unichar_tolower".} -proc g_unichar_totitle*(c: gunichar): gunichar{.cdecl, dynlib: gliblib, - importc: "g_unichar_totitle".} -proc g_unichar_digit_value*(c: gunichar): gint{.cdecl, dynlib: gliblib, - importc: "g_unichar_digit_value".} -proc g_unichar_xdigit_value*(c: gunichar): gint{.cdecl, dynlib: gliblib, - importc: "g_unichar_xdigit_value".} -proc g_unichar_type*(c: gunichar): TGUnicodeType{.cdecl, dynlib: gliblib, - importc: "g_unichar_type".} -proc g_unichar_break_type*(c: gunichar): TGUnicodeBreakType{.cdecl, - dynlib: gliblib, importc: "g_unichar_break_type".} -proc g_unicode_canonical_ordering*(str: Pgunichar, len: gsize){.cdecl, - dynlib: gliblib, importc: "g_unicode_canonical_ordering".} -proc g_unicode_canonical_decomposition*(ch: gunichar, result_len: Pgsize): Pgunichar{. - cdecl, dynlib: gliblib, importc: "g_unicode_canonical_decomposition".} -proc g_utf8_next_char*(p: pguchar): pguchar -proc g_utf8_get_char*(p: cstring): gunichar{.cdecl, dynlib: gliblib, - importc: "g_utf8_get_char".} -proc g_utf8_get_char_validated*(p: cstring, max_len: gssize): gunichar{.cdecl, - dynlib: gliblib, importc: "g_utf8_get_char_validated".} -proc g_utf8_offset_to_pointer*(str: cstring, offset: glong): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_offset_to_pointer".} -proc g_utf8_pointer_to_offset*(str: cstring, pos: cstring): glong{.cdecl, - dynlib: gliblib, importc: "g_utf8_pointer_to_offset".} -proc g_utf8_prev_char*(p: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_utf8_prev_char".} -proc g_utf8_find_next_char*(p: cstring, `end`: cstring): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_find_next_char".} -proc g_utf8_find_prev_char*(str: cstring, p: cstring): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_find_prev_char".} -proc g_utf8_strlen*(p: cstring, max: gssize): glong{.cdecl, dynlib: gliblib, - importc: "g_utf8_strlen".} -proc g_utf8_strncpy*(dest: cstring, src: cstring, n: gsize): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_strncpy".} -proc g_utf8_strchr*(p: cstring, len: gssize, c: gunichar): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_strchr".} -proc g_utf8_strrchr*(p: cstring, len: gssize, c: gunichar): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_strrchr".} -proc g_utf8_to_utf16*(str: cstring, len: glong, items_read: Pglong, - items_written: Pglong, error: pointer): Pgunichar2{. - cdecl, dynlib: gliblib, importc: "g_utf8_to_utf16".} -proc g_utf8_to_ucs4*(str: cstring, len: glong, items_read: Pglong, - items_written: Pglong, error: pointer): Pgunichar{.cdecl, - dynlib: gliblib, importc: "g_utf8_to_ucs4".} -proc g_utf8_to_ucs4_fast*(str: cstring, len: glong, items_written: Pglong): Pgunichar{. - cdecl, dynlib: gliblib, importc: "g_utf8_to_ucs4_fast".} -proc g_utf16_to_ucs4*(str: Pgunichar2, len: glong, items_read: Pglong, - items_written: Pglong, error: pointer): Pgunichar{.cdecl, - dynlib: gliblib, importc: "g_utf16_to_ucs4".} -proc g_utf16_to_utf8*(str: Pgunichar2, len: glong, items_read: Pglong, - items_written: Pglong, error: pointer): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf16_to_utf8".} -proc g_ucs4_to_utf16*(str: Pgunichar, len: glong, items_read: Pglong, - items_written: Pglong, error: pointer): Pgunichar2{. - cdecl, dynlib: gliblib, importc: "g_ucs4_to_utf16".} -proc g_ucs4_to_utf8*(str: Pgunichar, len: glong, items_read: Pglong, - items_written: Pglong, error: pointer): cstring{.cdecl, - dynlib: gliblib, importc: "g_ucs4_to_utf8".} -proc g_unichar_to_utf8*(c: gunichar, outbuf: cstring): gint{.cdecl, - dynlib: gliblib, importc: "g_unichar_to_utf8".} -proc g_utf8_validate*(str: cstring, max_len: gssize, `end`: PPgchar): gboolean{. - cdecl, dynlib: gliblib, importc: "g_utf8_validate".} -proc g_unichar_validate*(ch: gunichar): gboolean{.cdecl, dynlib: gliblib, - importc: "g_unichar_validate".} -proc g_utf8_strup*(str: cstring, len: gssize): cstring{.cdecl, dynlib: gliblib, - importc: "g_utf8_strup".} -proc g_utf8_strdown*(str: cstring, len: gssize): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_strdown".} -proc g_utf8_casefold*(str: cstring, len: gssize): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_casefold".} -type - PGNormalizeMode* = ptr TGNormalizeMode - TGNormalizeMode* = gint - -const - G_NORMALIZE_DEFAULT* = 0 - G_NORMALIZE_NFD* = G_NORMALIZE_DEFAULT - G_NORMALIZE_DEFAULT_COMPOSE* = 1 - G_NORMALIZE_NFC* = G_NORMALIZE_DEFAULT_COMPOSE - G_NORMALIZE_ALL* = 2 - G_NORMALIZE_NFKD* = G_NORMALIZE_ALL - G_NORMALIZE_ALL_COMPOSE* = 3 - G_NORMALIZE_NFKC* = G_NORMALIZE_ALL_COMPOSE - -proc g_utf8_normalize*(str: cstring, len: gssize, mode: TGNormalizeMode): cstring{. - cdecl, dynlib: gliblib, importc: "g_utf8_normalize".} -proc g_utf8_collate*(str1: cstring, str2: cstring): gint{.cdecl, - dynlib: gliblib, importc: "g_utf8_collate".} -proc g_utf8_collate_key*(str: cstring, len: gssize): cstring{.cdecl, - dynlib: gliblib, importc: "g_utf8_collate_key".} -type - PGString* = ptr TGString - TGString* {.final.} = object - str*: cstring - len*: gsize - allocated_len*: gsize - - PGStringChunk* = pointer - -proc g_string_chunk_new*(size: gsize): PGStringChunk{.cdecl, dynlib: gliblib, - importc: "g_string_chunk_new".} -proc g_string_chunk_free*(chunk: PGStringChunk){.cdecl, dynlib: gliblib, - importc: "g_string_chunk_free".} -proc g_string_chunk_insert*(chunk: PGStringChunk, str: cstring): cstring{.cdecl, - dynlib: gliblib, importc: "g_string_chunk_insert".} -proc g_string_chunk_insert_const*(chunk: PGStringChunk, str: cstring): cstring{. - cdecl, dynlib: gliblib, importc: "g_string_chunk_insert_const".} -proc g_string_new*(init: cstring): PGString{.cdecl, dynlib: gliblib, - importc: "g_string_new".} -proc g_string_new_len*(init: cstring, len: gssize): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_new_len".} -proc g_string_sized_new*(dfl_size: gsize): PGString{.cdecl, dynlib: gliblib, - importc: "g_string_sized_new".} -proc g_string_free*(str: PGString, free_segment: gboolean): cstring{.cdecl, - dynlib: gliblib, importc: "g_string_free".} -proc g_string_equal*(v: PGString, v2: PGString): gboolean{.cdecl, - dynlib: gliblib, importc: "g_string_equal".} -proc g_string_hash*(str: PGString): guint{.cdecl, dynlib: gliblib, - importc: "g_string_hash".} -proc g_string_assign*(str: PGString, rval: cstring): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_assign".} -proc g_string_truncate*(str: PGString, len: gsize): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_truncate".} -proc g_string_set_size*(str: PGString, len: gsize): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_set_size".} -proc g_string_insert_len*(str: PGString, pos: gssize, val: cstring, len: gssize): PGString{. - cdecl, dynlib: gliblib, importc: "g_string_insert_len".} -proc g_string_append*(str: PGString, val: cstring): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_append".} -proc g_string_append_len*(str: PGString, val: cstring, len: gssize): PGString{. - cdecl, dynlib: gliblib, importc: "g_string_append_len".} -proc g_string_append_c*(str: PGString, c: gchar): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_append_c".} -proc g_string_append_unichar*(str: PGString, wc: gunichar): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_append_unichar".} -proc g_string_prepend*(str: PGString, val: cstring): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_prepend".} -proc g_string_prepend_c*(str: PGString, c: gchar): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_prepend_c".} -proc g_string_prepend_unichar*(str: PGString, wc: gunichar): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_prepend_unichar".} -proc g_string_prepend_len*(str: PGString, val: cstring, len: gssize): PGString{. - cdecl, dynlib: gliblib, importc: "g_string_prepend_len".} -proc g_string_insert*(str: PGString, pos: gssize, val: cstring): PGString{. - cdecl, dynlib: gliblib, importc: "g_string_insert".} -proc g_string_insert_c*(str: PGString, pos: gssize, c: gchar): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_insert_c".} -proc g_string_insert_unichar*(str: PGString, pos: gssize, wc: gunichar): PGString{. - cdecl, dynlib: gliblib, importc: "g_string_insert_unichar".} -proc g_string_erase*(str: PGString, pos: gssize, len: gssize): PGString{.cdecl, - dynlib: gliblib, importc: "g_string_erase".} -proc g_string_ascii_down*(str: PGString): PGString{.cdecl, dynlib: gliblib, - importc: "g_string_ascii_down".} -proc g_string_ascii_up*(str: PGString): PGString{.cdecl, dynlib: gliblib, - importc: "g_string_ascii_up".} -proc g_string_down*(str: PGString): PGString{.cdecl, dynlib: gliblib, - importc: "g_string_down".} -proc g_string_up*(str: PGString): PGString{.cdecl, dynlib: gliblib, - importc: "g_string_up".} -type - PGIOError* = ptr TGIOError - TGIOError* = enum - G_IO_ERROR_NONE, G_IO_ERROR_AGAIN, G_IO_ERROR_INVAL, G_IO_ERROR_UNKNOWN - -proc G_IO_CHANNEL_ERROR*(): TGQuark -type - PGIOChannelError* = ptr TGIOChannelError - TGIOChannelError* = enum - G_IO_CHANNEL_ERROR_FBIG, G_IO_CHANNEL_ERROR_INVAL, G_IO_CHANNEL_ERROR_IO, - G_IO_CHANNEL_ERROR_ISDIR, G_IO_CHANNEL_ERROR_NOSPC, G_IO_CHANNEL_ERROR_NXIO, - G_IO_CHANNEL_ERROR_OVERFLOW, G_IO_CHANNEL_ERROR_PIPE, - G_IO_CHANNEL_ERROR_FAILED - PGIOStatus* = ptr TGIOStatus - TGIOStatus* = enum - G_IO_STATUS_ERROR, G_IO_STATUS_NORMAL, G_IO_STATUS_EOF, G_IO_STATUS_AGAIN - PGSeekType* = ptr TGSeekType - TGSeekType* = enum - G_SEEK_CUR, G_SEEK_SET, G_SEEK_END - PGIOCondition* = ptr TGIOCondition - TGIOCondition* = gint - -const - G_IO_IN* = GLIB_SYSDEF_POLLIN - G_IO_OUT* = GLIB_SYSDEF_POLLOUT - G_IO_PRI* = GLIB_SYSDEF_POLLPRI - G_IO_ERR* = GLIB_SYSDEF_POLLERR - G_IO_HUP* = GLIB_SYSDEF_POLLHUP - G_IO_NVAL* = GLIB_SYSDEF_POLLNVAL - -type - PGIOFlags* = ptr TGIOFlags - TGIOFlags* = gint - -const - G_IO_FLAG_APPEND* = 1 shl 0 - G_IO_FLAG_NONBLOCK* = 1 shl 1 - G_IO_FLAG_IS_READABLE* = 1 shl 2 - G_IO_FLAG_IS_WRITEABLE* = 1 shl 3 - G_IO_FLAG_IS_SEEKABLE* = 1 shl 4 - G_IO_FLAG_MASK* = (1 shl 5) - 1 - G_IO_FLAG_GET_MASK* = G_IO_FLAG_MASK - G_IO_FLAG_SET_MASK* = G_IO_FLAG_APPEND or G_IO_FLAG_NONBLOCK - -type - PGIOChannel* = ptr TGIOChannel - TGIOFunc* = proc (source: PGIOChannel, condition: TGIOCondition, - data: gpointer): gboolean{.cdecl.} - PGIOFuncs* = ptr TGIOFuncs - TGIOFuncs* {.final.} = object - io_read*: proc (channel: PGIOChannel, buf: cstring, count: gsize, - bytes_read: Pgsize, err: pointer): TGIOStatus{.cdecl.} - io_write*: proc (channel: PGIOChannel, buf: cstring, count: gsize, - bytes_written: Pgsize, err: pointer): TGIOStatus{.cdecl.} - io_seek*: proc (channel: PGIOChannel, offset: gint64, theType: TGSeekType, - err: pointer): TGIOStatus{.cdecl.} - io_close*: proc (channel: PGIOChannel, err: pointer): TGIOStatus{.cdecl.} - io_create_watch*: proc (channel: PGIOChannel, condition: TGIOCondition): PGSource{. - cdecl.} - io_free*: proc (channel: PGIOChannel){.cdecl.} - io_set_flags*: proc (channel: PGIOChannel, flags: TGIOFlags, err: pointer): TGIOStatus{. - cdecl.} - io_get_flags*: proc (channel: PGIOChannel): TGIOFlags{.cdecl.} - - TGIOChannel* {.final.} = object - ref_count*: guint - funcs*: PGIOFuncs - encoding*: cstring - read_cd*: TGIConv - write_cd*: TGIConv - line_term*: cstring - line_term_len*: guint - buf_size*: gsize - read_buf*: PGString - encoded_read_buf*: PGString - write_buf*: PGString - partial_write_buf*: array[0..5, gchar] - flag0*: guint16 - reserved1*: gpointer - reserved2*: gpointer - - -const - bm_TGIOChannel_use_buffer* = 0x00000001'i16 - bp_TGIOChannel_use_buffer* = 0'i16 - bm_TGIOChannel_do_encode* = 0x00000002'i16 - bp_TGIOChannel_do_encode* = 1'i16 - bm_TGIOChannel_close_on_unref* = 0x00000004'i16 - bp_TGIOChannel_close_on_unref* = 2'i16 - bm_TGIOChannel_is_readable* = 0x00000008'i16 - bp_TGIOChannel_is_readable* = 3'i16 - bm_TGIOChannel_is_writeable* = 0x00000010'i16 - bp_TGIOChannel_is_writeable* = 4'i16 - bm_TGIOChannel_is_seekable* = 0x00000020'i16 - bp_TGIOChannel_is_seekable* = 5'i16 - -proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint -proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint) -proc TGIOChannel_do_encode*(a: var TGIOChannel): guint -proc TGIOChannel_set_do_encode*(a: var TGIOChannel, `do_encode`: guint) -proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint -proc TGIOChannel_set_close_on_unref*(a: var TGIOChannel, `close_on_unref`: guint) -proc TGIOChannel_is_readable*(a: var TGIOChannel): guint -proc TGIOChannel_set_is_readable*(a: var TGIOChannel, `is_readable`: guint) -proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint -proc TGIOChannel_set_is_writeable*(a: var TGIOChannel, `is_writeable`: guint) -proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint -proc TGIOChannel_set_is_seekable*(a: var TGIOChannel, `is_seekable`: guint) -proc g_io_channel_init*(channel: PGIOChannel){.cdecl, dynlib: gliblib, - importc: "g_io_channel_init".} -proc g_io_channel_ref*(channel: PGIOChannel){.cdecl, dynlib: gliblib, - importc: "g_io_channel_ref".} -proc g_io_channel_unref*(channel: PGIOChannel){.cdecl, dynlib: gliblib, - importc: "g_io_channel_unref".} -proc g_io_channel_read*(channel: PGIOChannel, buf: cstring, count: gsize, - bytes_read: Pgsize): TGIOError{.cdecl, dynlib: gliblib, - importc: "g_io_channel_read".} -proc g_io_channel_write*(channel: PGIOChannel, buf: cstring, count: gsize, - bytes_written: Pgsize): TGIOError{.cdecl, - dynlib: gliblib, importc: "g_io_channel_write".} -proc g_io_channel_seek*(channel: PGIOChannel, offset: gint64, - theType: TGSeekType): TGIOError{.cdecl, dynlib: gliblib, - importc: "g_io_channel_seek".} -proc g_io_channel_close*(channel: PGIOChannel){.cdecl, dynlib: gliblib, - importc: "g_io_channel_close".} -proc g_io_channel_shutdown*(channel: PGIOChannel, flush: gboolean, err: pointer): TGIOStatus{. - cdecl, dynlib: gliblib, importc: "g_io_channel_shutdown".} -proc g_io_add_watch_full*(channel: PGIOChannel, priority: gint, - condition: TGIOCondition, func: TGIOFunc, - user_data: gpointer, notify: TGDestroyNotify): guint{. - cdecl, dynlib: gliblib, importc: "g_io_add_watch_full".} -proc g_io_create_watch*(channel: PGIOChannel, condition: TGIOCondition): PGSource{. - cdecl, dynlib: gliblib, importc: "g_io_create_watch".} -proc g_io_add_watch*(channel: PGIOChannel, condition: TGIOCondition, - func: TGIOFunc, user_data: gpointer): guint{.cdecl, - dynlib: gliblib, importc: "g_io_add_watch".} -proc g_io_channel_set_buffer_size*(channel: PGIOChannel, size: gsize){.cdecl, - dynlib: gliblib, importc: "g_io_channel_set_buffer_size".} -proc g_io_channel_get_buffer_size*(channel: PGIOChannel): gsize{.cdecl, - dynlib: gliblib, importc: "g_io_channel_get_buffer_size".} -proc g_io_channel_get_buffer_condition*(channel: PGIOChannel): TGIOCondition{. - cdecl, dynlib: gliblib, importc: "g_io_channel_get_buffer_condition".} -proc g_io_channel_set_flags*(channel: PGIOChannel, flags: TGIOFlags, - error: pointer): TGIOStatus{.cdecl, - dynlib: gliblib, importc: "g_io_channel_set_flags".} -proc g_io_channel_get_flags*(channel: PGIOChannel): TGIOFlags{.cdecl, - dynlib: gliblib, importc: "g_io_channel_get_flags".} -proc g_io_channel_set_line_term*(channel: PGIOChannel, line_term: cstring, - length: gint){.cdecl, dynlib: gliblib, - importc: "g_io_channel_set_line_term".} -proc g_io_channel_get_line_term*(channel: PGIOChannel, length: Pgint): cstring{. - cdecl, dynlib: gliblib, importc: "g_io_channel_get_line_term".} -proc g_io_channel_set_buffered*(channel: PGIOChannel, buffered: gboolean){. - cdecl, dynlib: gliblib, importc: "g_io_channel_set_buffered".} -proc g_io_channel_get_buffered*(channel: PGIOChannel): gboolean{.cdecl, - dynlib: gliblib, importc: "g_io_channel_get_buffered".} -proc g_io_channel_set_encoding*(channel: PGIOChannel, encoding: cstring, - error: pointer): TGIOStatus{.cdecl, - dynlib: gliblib, importc: "g_io_channel_set_encoding".} -proc g_io_channel_get_encoding*(channel: PGIOChannel): cstring{.cdecl, - dynlib: gliblib, importc: "g_io_channel_get_encoding".} -proc g_io_channel_set_close_on_unref*(channel: PGIOChannel, do_close: gboolean){. - cdecl, dynlib: gliblib, importc: "g_io_channel_set_close_on_unref".} -proc g_io_channel_get_close_on_unref*(channel: PGIOChannel): gboolean{.cdecl, - dynlib: gliblib, importc: "g_io_channel_get_close_on_unref".} -proc g_io_channel_flush*(channel: PGIOChannel, error: pointer): TGIOStatus{. - cdecl, dynlib: gliblib, importc: "g_io_channel_flush".} -proc g_io_channel_read_line*(channel: PGIOChannel, str_return: PPgchar, - length: Pgsize, terminator_pos: Pgsize, - error: pointer): TGIOStatus{.cdecl, - dynlib: gliblib, importc: "g_io_channel_read_line".} -proc g_io_channel_read_line_string*(channel: PGIOChannel, buffer: PGString, - terminator_pos: Pgsize, error: pointer): TGIOStatus{. - cdecl, dynlib: gliblib, importc: "g_io_channel_read_line_string".} -proc g_io_channel_read_to_end*(channel: PGIOChannel, str_return: PPgchar, - length: Pgsize, error: pointer): TGIOStatus{. - cdecl, dynlib: gliblib, importc: "g_io_channel_read_to_end".} -proc g_io_channel_read_chars*(channel: PGIOChannel, buf: cstring, count: gsize, - bytes_read: Pgsize, error: pointer): TGIOStatus{. - cdecl, dynlib: gliblib, importc: "g_io_channel_read_chars".} -proc g_io_channel_read_unichar*(channel: PGIOChannel, thechar: Pgunichar, - error: pointer): TGIOStatus{.cdecl, - dynlib: gliblib, importc: "g_io_channel_read_unichar".} -proc g_io_channel_write_chars*(channel: PGIOChannel, buf: cstring, - count: gssize, bytes_written: Pgsize, - error: pointer): TGIOStatus{.cdecl, - dynlib: gliblib, importc: "g_io_channel_write_chars".} -proc g_io_channel_write_unichar*(channel: PGIOChannel, thechar: gunichar, - error: pointer): TGIOStatus{.cdecl, - dynlib: gliblib, importc: "g_io_channel_write_unichar".} -proc g_io_channel_seek_position*(channel: PGIOChannel, offset: gint64, - theType: TGSeekType, error: pointer): TGIOStatus{. - cdecl, dynlib: gliblib, importc: "g_io_channel_seek_position".} -proc g_io_channel_new_file*(filename: cstring, mode: cstring, error: pointer): PGIOChannel{. - cdecl, dynlib: gliblib, importc: "g_io_channel_new_file".} -proc g_io_channel_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_io_channel_error_quark".} -proc g_io_channel_error_from_errno*(en: gint): TGIOChannelError{.cdecl, - dynlib: gliblib, importc: "g_io_channel_error_from_errno".} -proc g_io_channel_unix_new*(fd: int32): PGIOChannel{.cdecl, dynlib: gliblib, - importc: "g_io_channel_unix_new".} -proc g_io_channel_unix_get_fd*(channel: PGIOChannel): gint{.cdecl, - dynlib: gliblib, importc: "g_io_channel_unix_get_fd".} -const - G_LOG_LEVEL_USER_SHIFT* = 8 - -type - PGLogLevelFlags* = ptr TGLogLevelFlags - TGLogLevelFlags* = int32 - -const - G_LOG_FLAG_RECURSION* = 1 shl 0 - G_LOG_FLAG_FATAL* = 1 shl 1 - G_LOG_LEVEL_ERROR* = 1 shl 2 - G_LOG_LEVEL_CRITICAL* = 1 shl 3 - G_LOG_LEVEL_WARNING* = 1 shl 4 - G_LOG_LEVEL_MESSAGE* = 1 shl 5 - G_LOG_LEVEL_INFO* = 1 shl 6 - G_LOG_LEVEL_DEBUG* = 1 shl 7 - G_LOG_LEVEL_MASK* = not 3 - -const - G_LOG_FATAL_MASK* = 5 - -type - TGLogFunc* = proc (log_domain: cstring, log_level: TGLogLevelFlags, - TheMessage: cstring, user_data: gpointer){.cdecl.} - -proc g_log_set_handler*(log_domain: cstring, log_levels: TGLogLevelFlags, - log_func: TGLogFunc, user_data: gpointer): guint{.cdecl, - dynlib: gliblib, importc: "g_log_set_handler".} -proc g_log_remove_handler*(log_domain: cstring, handler_id: guint){.cdecl, - dynlib: gliblib, importc: "g_log_remove_handler".} -proc g_log_default_handler*(log_domain: cstring, log_level: TGLogLevelFlags, - TheMessage: cstring, unused_data: gpointer){.cdecl, - dynlib: gliblib, importc: "g_log_default_handler".} -proc g_log_set_fatal_mask*(log_domain: cstring, fatal_mask: TGLogLevelFlags): TGLogLevelFlags{. - cdecl, dynlib: gliblib, importc: "g_log_set_fatal_mask".} -proc g_log_set_always_fatal*(fatal_mask: TGLogLevelFlags): TGLogLevelFlags{. - cdecl, dynlib: gliblib, importc: "g_log_set_always_fatal".} -proc `g_log_fallback_handler`*(log_domain: cstring, log_level: TGLogLevelFlags, - message: cstring, unused_data: gpointer){.cdecl, - dynlib: gliblib, importc: "g_log_fallback_handler".} -const - G_LOG_DOMAIN* = nil - -when false: - proc g_error*(format: cstring){.varargs.} - proc g_message*(format: cstring){.varargs.} - proc g_critical*(format: cstring){.varargs.} - proc g_warning*(format: cstring){.varargs.} - -type - TGPrintFunc* = proc (str: cstring) - -proc g_set_print_handler*(func: TGPrintFunc): TGPrintFunc{.cdecl, - dynlib: gliblib, importc: "g_set_print_handler".} -proc g_set_printerr_handler*(func: TGPrintFunc): TGPrintFunc{.cdecl, - dynlib: gliblib, importc: "g_set_printerr_handler".} -type - PGMarkupError* = ptr TGMarkupError - TGMarkupError* = enum - G_MARKUP_ERROR_BAD_UTF8, G_MARKUP_ERROR_EMPTY, G_MARKUP_ERROR_PARSE, - G_MARKUP_ERROR_UNKNOWN_ELEMENT, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, - G_MARKUP_ERROR_INVALID_CONTENT - -proc G_MARKUP_ERROR*(): TGQuark -proc g_markup_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_markup_error_quark".} -type - PGMarkupParseFlags* = ptr TGMarkupParseFlags - TGMarkupParseFlags* = int - -const - G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG* = 1 shl 0 - -type - PGMarkupParseContext* = ptr TGMarkupParseContext - TGMarkupParseContext* = pointer - PGMarkupParser* = ptr TGMarkupParser - TGMarkupParser* {.final.} = object - start_element*: proc (context: PGMarkupParseContext, element_name: cstring, - attribute_names: PPgchar, attribute_values: PPgchar, - user_data: gpointer, error: pointer){.cdecl.} - end_element*: proc (context: PGMarkupParseContext, element_name: cstring, - user_data: gpointer, error: pointer){.cdecl.} - text*: proc (context: PGMarkupParseContext, text: cstring, text_len: gsize, - user_data: gpointer, error: pointer){.cdecl.} - passthrough*: proc (context: PGMarkupParseContext, - passthrough_text: cstring, text_len: gsize, - user_data: gpointer, error: pointer){.cdecl.} - error*: proc (context: PGMarkupParseContext, error: pointer, - user_data: gpointer){.cdecl.} - - -proc g_markup_parse_context_new*(parser: PGMarkupParser, - flags: TGMarkupParseFlags, user_data: gpointer, - user_data_dnotify: TGDestroyNotify): PGMarkupParseContext{. - cdecl, dynlib: gliblib, importc: "g_markup_parse_context_new".} -proc g_markup_parse_context_free*(context: PGMarkupParseContext){.cdecl, - dynlib: gliblib, importc: "g_markup_parse_context_free".} -proc g_markup_parse_context_parse*(context: PGMarkupParseContext, text: cstring, - text_len: gssize, error: pointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_markup_parse_context_parse".} -proc g_markup_parse_context_end_parse*(context: PGMarkupParseContext, - error: pointer): gboolean{.cdecl, - dynlib: gliblib, importc: "g_markup_parse_context_end_parse".} -proc g_markup_parse_context_get_position*(context: PGMarkupParseContext, - line_number: Pgint, char_number: Pgint){.cdecl, dynlib: gliblib, - importc: "g_markup_parse_context_get_position".} -proc g_markup_escape_text*(text: cstring, length: gssize): cstring{.cdecl, - dynlib: gliblib, importc: "g_markup_escape_text".} -type - PGNode* = ptr TGNode - TGNode* {.final.} = object - data*: gpointer - next*: PGNode - prev*: PGNode - parent*: PGNode - children*: PGNode - - PGTraverseFlags* = ptr TGTraverseFlags - TGTraverseFlags* = gint - -const - G_TRAVERSE_LEAFS* = 1 shl 0 - G_TRAVERSE_NON_LEAFS* = 1 shl 1 - G_TRAVERSE_ALL* = G_TRAVERSE_LEAFS or G_TRAVERSE_NON_LEAFS - G_TRAVERSE_MASK* = 0x00000003 - -type - PGTraverseType* = ptr TGTraverseType - TGTraverseType* = enum - G_IN_ORDER, G_PRE_ORDER, G_POST_ORDER, G_LEVEL_ORDER - TGNodeTraverseFunc* = proc (node: PGNode, data: gpointer): gboolean{.cdecl.} - TGNodeForeachFunc* = proc (node: PGNode, data: gpointer){.cdecl.} - -proc G_NODE_IS_ROOT*(node: PGNode): bool -proc G_NODE_IS_LEAF*(node: PGNode): bool -proc g_node_push_allocator*(allocator: PGAllocator){.cdecl, dynlib: gliblib, - importc: "g_node_push_allocator".} -proc g_node_pop_allocator*(){.cdecl, dynlib: gliblib, - importc: "g_node_pop_allocator".} -proc g_node_new*(data: gpointer): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_new".} -proc g_node_destroy*(root: PGNode){.cdecl, dynlib: gliblib, - importc: "g_node_destroy".} -proc g_node_unlink*(node: PGNode){.cdecl, dynlib: gliblib, - importc: "g_node_unlink".} -proc g_node_copy*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_copy".} -proc g_node_insert*(parent: PGNode, position: gint, node: PGNode): PGNode{. - cdecl, dynlib: gliblib, importc: "g_node_insert".} -proc g_node_insert_before*(parent: PGNode, sibling: PGNode, node: PGNode): PGNode{. - cdecl, dynlib: gliblib, importc: "g_node_insert_before".} -proc g_node_insert_after*(parent: PGNode, sibling: PGNode, node: PGNode): PGNode{. - cdecl, dynlib: gliblib, importc: "g_node_insert_after".} -proc g_node_prepend*(parent: PGNode, node: PGNode): PGNode{.cdecl, - dynlib: gliblib, importc: "g_node_prepend".} -proc g_node_n_nodes*(root: PGNode, flags: TGTraverseFlags): guint{.cdecl, - dynlib: gliblib, importc: "g_node_n_nodes".} -proc g_node_get_root*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_get_root".} -proc g_node_is_ancestor*(node: PGNode, descendant: PGNode): gboolean{.cdecl, - dynlib: gliblib, importc: "g_node_is_ancestor".} -proc g_node_depth*(node: PGNode): guint{.cdecl, dynlib: gliblib, - importc: "g_node_depth".} -proc g_node_find*(root: PGNode, order: TGTraverseType, flags: TGTraverseFlags, - data: gpointer): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_find".} -proc g_node_append*(parent: PGNode, node: PGNode): PGNode -proc g_node_insert_data*(parent: PGNode, position: gint, data: gpointer): PGNode -proc g_node_insert_data_before*(parent: PGNode, sibling: PGNode, data: gpointer): PGNode -proc g_node_prepend_data*(parent: PGNode, data: gpointer): PGNode -proc g_node_append_data*(parent: PGNode, data: gpointer): PGNode -proc g_node_traverse*(root: PGNode, order: TGTraverseType, - flags: TGTraverseFlags, max_depth: gint, - func: TGNodeTraverseFunc, data: gpointer): guint{.cdecl, - dynlib: gliblib, importc: "g_node_traverse".} -proc g_node_max_height*(root: PGNode): guint{.cdecl, dynlib: gliblib, - importc: "g_node_max_height".} -proc g_node_children_foreach*(node: PGNode, flags: TGTraverseFlags, - func: TGNodeForeachFunc, data: gpointer){.cdecl, - dynlib: gliblib, importc: "g_node_children_foreach".} -proc g_node_reverse_children*(node: PGNode){.cdecl, dynlib: gliblib, - importc: "g_node_reverse_children".} -proc g_node_n_children*(node: PGNode): guint{.cdecl, dynlib: gliblib, - importc: "g_node_n_children".} -proc g_node_nth_child*(node: PGNode, n: guint): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_nth_child".} -proc g_node_last_child*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_last_child".} -proc g_node_find_child*(node: PGNode, flags: TGTraverseFlags, data: gpointer): PGNode{. - cdecl, dynlib: gliblib, importc: "g_node_find_child".} -proc g_node_child_position*(node: PGNode, child: PGNode): gint{.cdecl, - dynlib: gliblib, importc: "g_node_child_position".} -proc g_node_child_index*(node: PGNode, data: gpointer): gint{.cdecl, - dynlib: gliblib, importc: "g_node_child_index".} -proc g_node_first_sibling*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_first_sibling".} -proc g_node_last_sibling*(node: PGNode): PGNode{.cdecl, dynlib: gliblib, - importc: "g_node_last_sibling".} -proc g_node_prev_sibling*(node: PGNode): PGNode -proc g_node_next_sibling*(node: PGNode): PGNode -proc g_node_first_child*(node: PGNode): PGNode -type - PGTree* = pointer - TGTraverseFunc* = proc (key: gpointer, value: gpointer, data: gpointer): gboolean{. - cdecl.} - -proc g_tree_new*(key_compare_func: TGCompareFunc): PGTree{.cdecl, - dynlib: gliblib, importc: "g_tree_new".} -proc g_tree_new_with_data*(key_compare_func: TGCompareDataFunc, - key_compare_data: gpointer): PGTree{.cdecl, - dynlib: gliblib, importc: "g_tree_new_with_data".} -proc g_tree_new_full*(key_compare_func: TGCompareDataFunc, - key_compare_data: gpointer, - key_destroy_func: TGDestroyNotify, - value_destroy_func: TGDestroyNotify): PGTree{.cdecl, - dynlib: gliblib, importc: "g_tree_new_full".} -proc g_tree_destroy*(tree: PGTree){.cdecl, dynlib: gliblib, - importc: "g_tree_destroy".} -proc g_tree_insert*(tree: PGTree, key: gpointer, value: gpointer){.cdecl, - dynlib: gliblib, importc: "g_tree_insert".} -proc g_tree_replace*(tree: PGTree, key: gpointer, value: gpointer){.cdecl, - dynlib: gliblib, importc: "g_tree_replace".} -proc g_tree_remove*(tree: PGTree, key: gconstpointer){.cdecl, dynlib: gliblib, - importc: "g_tree_remove".} -proc g_tree_steal*(tree: PGTree, key: gconstpointer){.cdecl, dynlib: gliblib, - importc: "g_tree_steal".} -proc g_tree_lookup*(tree: PGTree, key: gconstpointer): gpointer{.cdecl, - dynlib: gliblib, importc: "g_tree_lookup".} -proc g_tree_lookup_extended*(tree: PGTree, lookup_key: gconstpointer, - orig_key: Pgpointer, value: Pgpointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_tree_lookup_extended".} -proc g_tree_foreach*(tree: PGTree, func: TGTraverseFunc, user_data: gpointer){. - cdecl, dynlib: gliblib, importc: "g_tree_foreach".} -proc g_tree_search*(tree: PGTree, search_func: TGCompareFunc, - user_data: gconstpointer): gpointer{.cdecl, dynlib: gliblib, - importc: "g_tree_search".} -proc g_tree_height*(tree: PGTree): gint{.cdecl, dynlib: gliblib, - importc: "g_tree_height".} -proc g_tree_nnodes*(tree: PGTree): gint{.cdecl, dynlib: gliblib, - importc: "g_tree_nnodes".} -type - PGPatternSpec* = pointer - -proc g_pattern_spec_new*(pattern: cstring): PGPatternSpec{.cdecl, - dynlib: gliblib, importc: "g_pattern_spec_new".} -proc g_pattern_spec_free*(pspec: PGPatternSpec){.cdecl, dynlib: gliblib, - importc: "g_pattern_spec_free".} -proc g_pattern_spec_equal*(pspec1: PGPatternSpec, pspec2: PGPatternSpec): gboolean{. - cdecl, dynlib: gliblib, importc: "g_pattern_spec_equal".} -proc g_pattern_match*(pspec: PGPatternSpec, string_length: guint, str: cstring, - string_reversed: cstring): gboolean{.cdecl, - dynlib: gliblib, importc: "g_pattern_match".} -proc g_pattern_match_string*(pspec: PGPatternSpec, str: cstring): gboolean{. - cdecl, dynlib: gliblib, importc: "g_pattern_match_string".} -proc g_pattern_match_simple*(pattern: cstring, str: cstring): gboolean{.cdecl, - dynlib: gliblib, importc: "g_pattern_match_simple".} -proc g_spaced_primes_closest*(num: guint): guint{.cdecl, dynlib: gliblib, - importc: "g_spaced_primes_closest".} -proc g_qsort_with_data*(pbase: gconstpointer, total_elems: gint, size: gsize, - compare_func: TGCompareDataFunc, user_data: gpointer){. - cdecl, dynlib: gliblib, importc: "g_qsort_with_data".} -type - PGQueue* = ptr TGQueue - TGQueue* {.final.} = object - head*: PGList - tail*: PGList - length*: guint - - -proc g_queue_new*(): PGQueue{.cdecl, dynlib: gliblib, importc: "g_queue_new".} -proc g_queue_free*(queue: PGQueue){.cdecl, dynlib: gliblib, - importc: "g_queue_free".} -proc g_queue_push_head*(queue: PGQueue, data: gpointer){.cdecl, dynlib: gliblib, - importc: "g_queue_push_head".} -proc g_queue_push_tail*(queue: PGQueue, data: gpointer){.cdecl, dynlib: gliblib, - importc: "g_queue_push_tail".} -proc g_queue_pop_head*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, - importc: "g_queue_pop_head".} -proc g_queue_pop_tail*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, - importc: "g_queue_pop_tail".} -proc g_queue_is_empty*(queue: PGQueue): gboolean{.cdecl, dynlib: gliblib, - importc: "g_queue_is_empty".} -proc g_queue_peek_head*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, - importc: "g_queue_peek_head".} -proc g_queue_peek_tail*(queue: PGQueue): gpointer{.cdecl, dynlib: gliblib, - importc: "g_queue_peek_tail".} -proc g_queue_push_head_link*(queue: PGQueue, link: PGList){.cdecl, - dynlib: gliblib, importc: "g_queue_push_head_link".} -proc g_queue_push_tail_link*(queue: PGQueue, link: PGList){.cdecl, - dynlib: gliblib, importc: "g_queue_push_tail_link".} -proc g_queue_pop_head_link*(queue: PGQueue): PGList{.cdecl, dynlib: gliblib, - importc: "g_queue_pop_head_link".} -proc g_queue_pop_tail_link*(queue: PGQueue): PGList{.cdecl, dynlib: gliblib, - importc: "g_queue_pop_tail_link".} -type - PGRand* = pointer - -proc g_rand_new_with_seed*(seed: guint32): PGRand{.cdecl, dynlib: gliblib, - importc: "g_rand_new_with_seed".} -proc g_rand_new*(): PGRand{.cdecl, dynlib: gliblib, importc: "g_rand_new".} -proc g_rand_free*(rand: PGRand){.cdecl, dynlib: gliblib, importc: "g_rand_free".} -proc g_rand_set_seed*(rand: PGRand, seed: guint32){.cdecl, dynlib: gliblib, - importc: "g_rand_set_seed".} -proc g_rand_boolean*(rand: PGRand): gboolean -proc g_rand_int*(rand: PGRand): guint32{.cdecl, dynlib: gliblib, - importc: "g_rand_int".} -proc g_rand_int_range*(rand: PGRand, `begin`: gint32, `end`: gint32): gint32{. - cdecl, dynlib: gliblib, importc: "g_rand_int_range".} -proc g_rand_double*(rand: PGRand): gdouble{.cdecl, dynlib: gliblib, - importc: "g_rand_double".} -proc g_rand_double_range*(rand: PGRand, `begin`: gdouble, `end`: gdouble): gdouble{. - cdecl, dynlib: gliblib, importc: "g_rand_double_range".} -proc g_random_set_seed*(seed: guint32){.cdecl, dynlib: gliblib, - importc: "g_random_set_seed".} -proc g_random_boolean*(): gboolean -proc g_random_int*(): guint32{.cdecl, dynlib: gliblib, importc: "g_random_int".} -proc g_random_int_range*(`begin`: gint32, `end`: gint32): gint32{.cdecl, - dynlib: gliblib, importc: "g_random_int_range".} -proc g_random_double*(): gdouble{.cdecl, dynlib: gliblib, - importc: "g_random_double".} -proc g_random_double_range*(`begin`: gdouble, `end`: gdouble): gdouble{.cdecl, - dynlib: gliblib, importc: "g_random_double_range".} -type - PGTuples* = ptr TGTuples - TGTuples* {.final.} = object - len*: guint - - PGRelation* = pointer - -proc g_relation_new*(fields: gint): PGRelation{.cdecl, dynlib: gliblib, - importc: "g_relation_new".} -proc g_relation_destroy*(relation: PGRelation){.cdecl, dynlib: gliblib, - importc: "g_relation_destroy".} -proc g_relation_index*(relation: PGRelation, field: gint, hash_func: TGHashFunc, - key_equal_func: TGEqualFunc){.cdecl, dynlib: gliblib, - importc: "g_relation_index".} -proc g_relation_delete*(relation: PGRelation, key: gconstpointer, field: gint): gint{. - cdecl, dynlib: gliblib, importc: "g_relation_delete".} -proc g_relation_select*(relation: PGRelation, key: gconstpointer, field: gint): PGTuples{. - cdecl, dynlib: gliblib, importc: "g_relation_select".} -proc g_relation_count*(relation: PGRelation, key: gconstpointer, field: gint): gint{. - cdecl, dynlib: gliblib, importc: "g_relation_count".} -proc g_relation_print*(relation: PGRelation){.cdecl, dynlib: gliblib, - importc: "g_relation_print".} -proc g_tuples_destroy*(tuples: PGTuples){.cdecl, dynlib: gliblib, - importc: "g_tuples_destroy".} -proc g_tuples_index*(tuples: PGTuples, index: gint, field: gint): gpointer{. - cdecl, dynlib: gliblib, importc: "g_tuples_index".} -type - PGTokenType* = ptr TGTokenType - TGTokenType* = gint - -const - G_TOKEN_LEFT_PAREN* = 40 - G_TOKEN_RIGHT_PAREN* = 41 - G_TOKEN_LEFT_CURLY* = 123 - G_TOKEN_RIGHT_CURLY* = 125 - G_TOKEN_LEFT_BRACE* = 91 - G_TOKEN_RIGHT_BRACE* = 93 - G_TOKEN_EQUAL_SIGN* = 61 - G_TOKEN_COMMA* = 44 - G_TOKEN_NONE* = 256 - G_TOKEN_ERROR* = 257 - G_TOKEN_CHAR* = 258 - G_TOKEN_OCTAL* = 260 - G_TOKEN_INT* = 261 - G_TOKEN_HEX* = 262 - G_TOKEN_FLOAT* = 263 - G_TOKEN_STRING* = 264 - G_TOKEN_SYMBOL* = 265 - G_TOKEN_IDENTIFIER* = 266 - G_TOKEN_IDENTIFIER_NULL* = 267 - G_TOKEN_COMMENT_SINGLE* = 268 - G_TOKEN_COMMENT_MULTI* = 269 - G_TOKEN_LAST* = 270 - -type - PGScanner* = ptr TGScanner - PGScannerConfig* = ptr TGScannerConfig - PGTokenValue* = ptr TGTokenValue - TGTokenValue* {.final.} = object - v_float*: gdouble - - TGScannerMsgFunc* = proc (scanner: PGScanner, message: cstring, - error: gboolean){.cdecl.} - TGScanner* {.final.} = object - user_data*: gpointer - max_parse_errors*: guint - parse_errors*: guint - input_name*: cstring - qdata*: PGData - config*: PGScannerConfig - token*: TGTokenType - value*: TGTokenValue - line*: guint - position*: guint - next_token*: TGTokenType - next_value*: TGTokenValue - next_line*: guint - next_position*: guint - symbol_table*: PGHashTable - input_fd*: gint - text*: cstring - text_end*: cstring - buffer*: cstring - scope_id*: guint - msg_handler*: TGScannerMsgFunc - - TGScannerConfig* {.final.} = object - cset_skip_characters*: cstring - cset_identifier_first*: cstring - cset_identifier_nth*: cstring - cpair_comment_single*: cstring - flag0*: int32 - padding_dummy*: guint - - -const - G_CSET_A_2_Z_UCASE* = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - G_CSET_a_2_z_lcase* = "abcdefghijklmnopqrstuvwxyz" - G_CSET_DIGITS* = "0123456789" - -const - bm_TGScannerConfig_case_sensitive* = 0x00000001'i32 - bp_TGScannerConfig_case_sensitive* = 0'i32 - bm_TGScannerConfig_skip_comment_multi* = 0x00000002'i32 - bp_TGScannerConfig_skip_comment_multi* = 1'i32 - bm_TGScannerConfig_skip_comment_single* = 0x00000004'i32 - bp_TGScannerConfig_skip_comment_single* = 2'i32 - bm_TGScannerConfig_scan_comment_multi* = 0x00000008'i32 - bp_TGScannerConfig_scan_comment_multi* = 3'i32 - bm_TGScannerConfig_scan_identifier* = 0x00000010'i32 - bp_TGScannerConfig_scan_identifier* = 4'i32 - bm_TGScannerConfig_scan_identifier_1char* = 0x00000020'i32 - bp_TGScannerConfig_scan_identifier_1char* = 5'i32 - bm_TGScannerConfig_scan_identifier_NULL* = 0x00000040'i32 - bp_TGScannerConfig_scan_identifier_NULL* = 6'i32 - bm_TGScannerConfig_scan_symbols* = 0x00000080'i32 - bp_TGScannerConfig_scan_symbols* = 7'i32 - bm_TGScannerConfig_scan_binary* = 0x00000100'i32 - bp_TGScannerConfig_scan_binary* = 8'i32 - bm_TGScannerConfig_scan_octal* = 0x00000200'i32 - bp_TGScannerConfig_scan_octal* = 9'i32 - bm_TGScannerConfig_scan_float* = 0x00000400'i32 - bp_TGScannerConfig_scan_float* = 10'i32 - bm_TGScannerConfig_scan_hex* = 0x00000800'i32 - bp_TGScannerConfig_scan_hex* = 11'i32 - bm_TGScannerConfig_scan_hex_dollar* = 0x00001000'i32 - bp_TGScannerConfig_scan_hex_dollar* = 12'i32 - bm_TGScannerConfig_scan_string_sq* = 0x00002000'i32 - bp_TGScannerConfig_scan_string_sq* = 13'i32 - bm_TGScannerConfig_scan_string_dq* = 0x00004000'i32 - bp_TGScannerConfig_scan_string_dq* = 14'i32 - bm_TGScannerConfig_numbers_2_int* = 0x00008000'i32 - bp_TGScannerConfig_numbers_2_int* = 15'i32 - bm_TGScannerConfig_int_2_float* = 0x00010000'i32 - bp_TGScannerConfig_int_2_float* = 16'i32 - bm_TGScannerConfig_identifier_2_string* = 0x00020000'i32 - bp_TGScannerConfig_identifier_2_string* = 17'i32 - bm_TGScannerConfig_char_2_token* = 0x00040000'i32 - bp_TGScannerConfig_char_2_token* = 18'i32 - bm_TGScannerConfig_symbol_2_token* = 0x00080000'i32 - bp_TGScannerConfig_symbol_2_token* = 19'i32 - bm_TGScannerConfig_scope_0_fallback* = 0x00100000'i32 - bp_TGScannerConfig_scope_0_fallback* = 20'i32 - -proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_case_sensitive*(a: var TGScannerConfig, - `case_sensitive`: guint) -proc TGScannerConfig_skip_comment_multi*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_skip_comment_multi*(a: var TGScannerConfig, - `skip_comment_multi`: guint) -proc TGScannerConfig_skip_comment_single*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_skip_comment_single*(a: var TGScannerConfig, - `skip_comment_single`: guint) -proc TGScannerConfig_scan_comment_multi*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_comment_multi*(a: var TGScannerConfig, - `scan_comment_multi`: guint) -proc TGScannerConfig_scan_identifier*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_identifier*(a: var TGScannerConfig, - `scan_identifier`: guint) -proc TGScannerConfig_scan_identifier_1char*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_identifier_1char*(a: var TGScannerConfig, - `scan_identifier_1char`: guint) -proc TGScannerConfig_scan_identifier_NULL*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_identifier_NULL*(a: var TGScannerConfig, - `scan_identifier_NULL`: guint) -proc TGScannerConfig_scan_symbols*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_symbols*(a: var TGScannerConfig, - `scan_symbols`: guint) -proc TGScannerConfig_scan_binary*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_binary*(a: var TGScannerConfig, - `scan_binary`: guint) -proc TGScannerConfig_scan_octal*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_octal*(a: var TGScannerConfig, `scan_octal`: guint) -proc TGScannerConfig_scan_float*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_float*(a: var TGScannerConfig, `scan_float`: guint) -proc TGScannerConfig_scan_hex*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_hex*(a: var TGScannerConfig, `scan_hex`: guint) -proc TGScannerConfig_scan_hex_dollar*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_hex_dollar*(a: var TGScannerConfig, - `scan_hex_dollar`: guint) -proc TGScannerConfig_scan_string_sq*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_string_sq*(a: var TGScannerConfig, - `scan_string_sq`: guint) -proc TGScannerConfig_scan_string_dq*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scan_string_dq*(a: var TGScannerConfig, - `scan_string_dq`: guint) -proc TGScannerConfig_numbers_2_int*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_numbers_2_int*(a: var TGScannerConfig, - `numbers_2_int`: guint) -proc TGScannerConfig_int_2_float*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_int_2_float*(a: var TGScannerConfig, - `int_2_float`: guint) -proc TGScannerConfig_identifier_2_string*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_identifier_2_string*(a: var TGScannerConfig, - `identifier_2_string`: guint) -proc TGScannerConfig_char_2_token*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_char_2_token*(a: var TGScannerConfig, - `char_2_token`: guint) -proc TGScannerConfig_symbol_2_token*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_symbol_2_token*(a: var TGScannerConfig, - `symbol_2_token`: guint) -proc TGScannerConfig_scope_0_fallback*(a: var TGScannerConfig): guint -proc TGScannerConfig_set_scope_0_fallback*(a: var TGScannerConfig, - `scope_0_fallback`: guint) -proc g_scanner_new*(config_templ: PGScannerConfig): PGScanner{.cdecl, - dynlib: gliblib, importc: "g_scanner_new".} -proc g_scanner_destroy*(scanner: PGScanner){.cdecl, dynlib: gliblib, - importc: "g_scanner_destroy".} -proc g_scanner_input_file*(scanner: PGScanner, input_fd: gint){.cdecl, - dynlib: gliblib, importc: "g_scanner_input_file".} -proc g_scanner_sync_file_offset*(scanner: PGScanner){.cdecl, dynlib: gliblib, - importc: "g_scanner_sync_file_offset".} -proc g_scanner_input_text*(scanner: PGScanner, text: cstring, text_len: guint){. - cdecl, dynlib: gliblib, importc: "g_scanner_input_text".} -proc g_scanner_get_next_token*(scanner: PGScanner): TGTokenType{.cdecl, - dynlib: gliblib, importc: "g_scanner_get_next_token".} -proc g_scanner_peek_next_token*(scanner: PGScanner): TGTokenType{.cdecl, - dynlib: gliblib, importc: "g_scanner_peek_next_token".} -proc g_scanner_cur_token*(scanner: PGScanner): TGTokenType{.cdecl, - dynlib: gliblib, importc: "g_scanner_cur_token".} -proc g_scanner_cur_value*(scanner: PGScanner): TGTokenValue{.cdecl, - dynlib: gliblib, importc: "g_scanner_cur_value".} -proc g_scanner_cur_line*(scanner: PGScanner): guint{.cdecl, dynlib: gliblib, - importc: "g_scanner_cur_line".} -proc g_scanner_cur_position*(scanner: PGScanner): guint{.cdecl, dynlib: gliblib, - importc: "g_scanner_cur_position".} -proc g_scanner_eof*(scanner: PGScanner): gboolean{.cdecl, dynlib: gliblib, - importc: "g_scanner_eof".} -proc g_scanner_set_scope*(scanner: PGScanner, scope_id: guint): guint{.cdecl, - dynlib: gliblib, importc: "g_scanner_set_scope".} -proc g_scanner_scope_add_symbol*(scanner: PGScanner, scope_id: guint, - symbol: cstring, value: gpointer){.cdecl, - dynlib: gliblib, importc: "g_scanner_scope_add_symbol".} -proc g_scanner_scope_remove_symbol*(scanner: PGScanner, scope_id: guint, - symbol: cstring){.cdecl, dynlib: gliblib, - importc: "g_scanner_scope_remove_symbol".} -proc g_scanner_scope_lookup_symbol*(scanner: PGScanner, scope_id: guint, - symbol: cstring): gpointer{.cdecl, - dynlib: gliblib, importc: "g_scanner_scope_lookup_symbol".} -proc g_scanner_scope_foreach_symbol*(scanner: PGScanner, scope_id: guint, - func: TGHFunc, user_data: gpointer){.cdecl, - dynlib: gliblib, importc: "g_scanner_scope_foreach_symbol".} -proc g_scanner_lookup_symbol*(scanner: PGScanner, symbol: cstring): gpointer{. - cdecl, dynlib: gliblib, importc: "g_scanner_lookup_symbol".} -proc g_scanner_unexp_token*(scanner: PGScanner, expected_token: TGTokenType, - identifier_spec: cstring, symbol_spec: cstring, - symbol_name: cstring, `message`: cstring, - is_error: gint){.cdecl, dynlib: gliblib, - importc: "g_scanner_unexp_token".} -proc G_SHELL_ERROR*(): TGQuark -type - PGShellError* = ptr TGShellError - TGShellError* = enum - G_SHELL_ERROR_BAD_QUOTING, G_SHELL_ERROR_EMPTY_STRING, G_SHELL_ERROR_FAILED - -proc g_shell_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_shell_error_quark".} -proc g_shell_quote*(unquoted_string: cstring): cstring{.cdecl, dynlib: gliblib, - importc: "g_shell_quote".} -proc g_shell_unquote*(quoted_string: cstring, error: pointer): cstring{.cdecl, - dynlib: gliblib, importc: "g_shell_unquote".} -proc g_shell_parse_argv*(command_line: cstring, argcp: Pgint, argvp: PPPgchar, - error: pointer): gboolean{.cdecl, dynlib: gliblib, - importc: "g_shell_parse_argv".} -proc G_SPAWN_ERROR*(): TGQuark -type - PGSpawnError* = ptr TGSpawnError - TGSpawnError* = enum - G_SPAWN_ERROR_FORK, G_SPAWN_ERROR_READ, G_SPAWN_ERROR_CHDIR, - G_SPAWN_ERROR_ACCES, G_SPAWN_ERROR_PERM, G_SPAWN_ERROR_2BIG, - G_SPAWN_ERROR_NOEXEC, G_SPAWN_ERROR_NAMETOOLONG, G_SPAWN_ERROR_NOENT, - G_SPAWN_ERROR_NOMEM, G_SPAWN_ERROR_NOTDIR, G_SPAWN_ERROR_LOOP, - G_SPAWN_ERROR_TXTBUSY, G_SPAWN_ERROR_IO, G_SPAWN_ERROR_NFILE, - G_SPAWN_ERROR_MFILE, G_SPAWN_ERROR_INVAL, G_SPAWN_ERROR_ISDIR, - G_SPAWN_ERROR_LIBBAD, G_SPAWN_ERROR_FAILED - TGSpawnChildSetupFunc* = proc (user_data: gpointer){.cdecl.} - PGSpawnFlags* = ptr TGSpawnFlags - TGSpawnFlags* = int - -const - G_SPAWN_LEAVE_DESCRIPTORS_OPEN* = 1 shl 0 - G_SPAWN_DO_NOT_REAP_CHILD* = 1 shl 1 - G_SPAWN_SEARCH_PATH* = 1 shl 2 - G_SPAWN_STDOUT_TO_DEV_NULL* = 1 shl 3 - G_SPAWN_STDERR_TO_DEV_NULL* = 1 shl 4 - G_SPAWN_CHILD_INHERITS_STDIN* = 1 shl 5 - G_SPAWN_FILE_AND_ARGV_ZERO* = 1 shl 6 - -proc g_spawn_error_quark*(): TGQuark{.cdecl, dynlib: gliblib, - importc: "g_spawn_error_quark".} -proc g_spawn_async*(working_directory: cstring, argv: PPgchar, envp: PPgchar, - flags: TGSpawnFlags, child_setup: TGSpawnChildSetupFunc, - user_data: gpointer, child_pid: Pgint, error: pointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_spawn_async".} -proc g_spawn_async_with_pipes*(working_directory: cstring, argv: PPgchar, - envp: PPgchar, flags: TGSpawnFlags, - child_setup: TGSpawnChildSetupFunc, - user_data: gpointer, child_pid: Pgint, - standard_input: Pgint, standard_output: Pgint, - standard_error: Pgint, error: pointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_spawn_async_with_pipes".} -proc g_spawn_sync*(working_directory: cstring, argv: PPgchar, envp: PPgchar, - flags: TGSpawnFlags, child_setup: TGSpawnChildSetupFunc, - user_data: gpointer, standard_output: PPgchar, - standard_error: PPgchar, exit_status: Pgint, error: pointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_spawn_sync".} -proc g_spawn_command_line_sync*(command_line: cstring, standard_output: PPgchar, - standard_error: PPgchar, exit_status: Pgint, - error: pointer): gboolean{.cdecl, - dynlib: gliblib, importc: "g_spawn_command_line_sync".} -proc g_spawn_command_line_async*(command_line: cstring, error: pointer): gboolean{. - cdecl, dynlib: gliblib, importc: "g_spawn_command_line_async".} -proc G_TYPE_IS_BOXED*(theType: GType): gboolean -proc G_VALUE_HOLDS_BOXED*(value: PGValue): gboolean -proc G_TYPE_CLOSURE*(): GType -proc G_TYPE_VALUE*(): GType -proc G_TYPE_VALUE_ARRAY*(): GType -proc G_TYPE_GSTRING*(): GType -proc g_boxed_copy*(boxed_type: GType, src_boxed: gconstpointer): gpointer{. - cdecl, dynlib: gobjectlib, importc: "g_boxed_copy".} -proc g_boxed_free*(boxed_type: GType, boxed: gpointer){.cdecl, - dynlib: gobjectlib, importc: "g_boxed_free".} -proc g_value_set_boxed*(value: PGValue, v_boxed: gconstpointer){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_boxed".} -proc g_value_set_static_boxed*(value: PGValue, v_boxed: gconstpointer){.cdecl, - dynlib: gobjectlib, importc: "g_value_set_static_boxed".} -proc g_value_get_boxed*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_boxed".} -proc g_value_dup_boxed*(value: PGValue): gpointer{.cdecl, dynlib: gobjectlib, - importc: "g_value_dup_boxed".} -proc g_boxed_type_register_static*(name: cstring, boxed_copy: TGBoxedCopyFunc, - boxed_free: TGBoxedFreeFunc): GType{.cdecl, - dynlib: gobjectlib, importc: "g_boxed_type_register_static".} -proc g_value_set_boxed_take_ownership*(value: PGValue, v_boxed: gconstpointer){. - cdecl, dynlib: gobjectlib, importc: "g_value_set_boxed_take_ownership".} -proc g_closure_get_type*(): GType{.cdecl, dynlib: gobjectlib, - importc: "g_closure_get_type".} -proc g_value_get_type*(): GType{.cdecl, dynlib: gobjectlib, - importc: "g_value_get_type".} -proc g_value_array_get_type*(): GType{.cdecl, dynlib: gobjectlib, - importc: "g_value_array_get_type".} -proc g_gstring_get_type*(): GType{.cdecl, dynlib: gobjectlib, - importc: "g_gstring_get_type".} -type - PGModule* = pointer - TGModuleFlags* = int32 - TGModuleCheckInit* = proc (module: PGModule): cstring{.cdecl.} - TGModuleUnload* = proc (module: PGModule){.cdecl.} - -const - G_MODULE_BIND_LAZY* = 1 shl 0 - G_MODULE_BIND_MASK* = 1 - -proc g_module_supported*(): gboolean{.cdecl, dynlib: gmodulelib, - importc: "g_module_supported".} -proc g_module_open*(file_name: cstring, flags: TGModuleFlags): PGModule{.cdecl, - dynlib: gmodulelib, importc: "g_module_open".} -proc g_module_close*(module: PGModule): gboolean{.cdecl, dynlib: gmodulelib, - importc: "g_module_close".} -proc g_module_make_resident*(module: PGModule){.cdecl, dynlib: gmodulelib, - importc: "g_module_make_resident".} -proc g_module_error*(): cstring{.cdecl, dynlib: gmodulelib, - importc: "g_module_error".} -proc g_module_symbol*(module: PGModule, symbol_name: cstring, symbol: Pgpointer): gboolean{. - cdecl, dynlib: gmodulelib, importc: "g_module_symbol".} -proc g_module_name*(module: PGModule): cstring{.cdecl, dynlib: gmodulelib, - importc: "g_module_name".} -proc g_module_build_path*(directory: cstring, module_name: cstring): cstring{. - cdecl, dynlib: gmodulelib, importc: "g_module_build_path".} -proc g_cclosure_marshal_VOID_VOID*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__VOID".} -proc g_cclosure_marshal_VOID_BOOLEAN*(closure: PGClosure, - return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__BOOLEAN".} -proc g_cclosure_marshal_VOID_CHAR*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__CHAR".} -proc g_cclosure_marshal_VOID_UCHAR*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UCHAR".} -proc g_cclosure_marshal_VOID_INT*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__INT".} -proc g_cclosure_marshal_VOID_UINT*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UINT".} -proc g_cclosure_marshal_VOID_LONG*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__LONG".} -proc g_cclosure_marshal_VOID_ULONG*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__ULONG".} -proc g_cclosure_marshal_VOID_ENUM*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__ENUM".} -proc g_cclosure_marshal_VOID_FLAGS*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__FLAGS".} -proc g_cclosure_marshal_VOID_FLOAT*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__FLOAT".} -proc g_cclosure_marshal_VOID_DOUBLE*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__DOUBLE".} -proc g_cclosure_marshal_VOID_STRING*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__STRING".} -proc g_cclosure_marshal_VOID_PARAM*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__PARAM".} -proc g_cclosure_marshal_VOID_BOXED*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__BOXED".} -proc g_cclosure_marshal_VOID_POINTER*(closure: PGClosure, - return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__POINTER".} -proc g_cclosure_marshal_VOID_OBJECT*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__OBJECT".} -proc g_cclosure_marshal_STRING_OBJECT_POINTER*(closure: PGClosure, - return_value: PGValue, n_param_values: GUInt, param_values: PGValue, - invocation_hint: GPointer, marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_STRING__OBJECT_POINTER".} -proc g_cclosure_marshal_VOID_UINT_POINTER*(closure: PGClosure, - return_value: PGValue, n_param_values: GUInt, param_values: PGValue, - invocation_hint: GPointer, marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_VOID__UINT_POINTER".} -proc g_cclosure_marshal_BOOLEAN_FLAGS*(closure: PGClosure, - return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gobjectlib, importc: "g_cclosure_marshal_BOOLEAN__FLAGS".} -proc g_cclosure_marshal_BOOL_FLAGS*(closure: PGClosure, return_value: PGValue, - n_param_values: GUInt, - param_values: PGValue, - invocation_hint: GPointer, - marshal_data: GPointer){.cdecl, - dynlib: gliblib, importc: "g_cclosure_marshal_BOOLEAN__FLAGS".} - -proc GUINT16_SWAP_LE_BE_CONSTANT*(val: guint16): guint16 = - Result = ((val and 0x00FF'i16) shl 8'i16) or ((val and 0xFF00'i16) shr 8'i16) - -proc GUINT32_SWAP_LE_BE_CONSTANT*(val: guint32): guint32 = - Result = ((val and 0x000000FF'i32) shl 24'i32) or ((val and 0x0000FF00'i32) shl 8'i32) or - ((val and 0x00FF0000'i32) shr 8'i32) or ((val and 0xFF000000'i32) shr 24'i32) - -proc GUINT_TO_POINTER*(i: guint): pointer = - Result = cast[Pointer](TAddress(i)) - - -when false: - - type - PGArray* = pointer - - proc g_array_append_val*(a: PGArray, v: gpointer): PGArray = - result = g_array_append_vals(a, addr(v), 1) - - proc g_array_prepend_val*(a: PGArray, v: gpointer): PGArray = - result = g_array_prepend_vals(a, addr(v), 1) - - proc g_array_insert_val*(a: PGArray, i: guint, v: gpointer): PGArray = - result = g_array_insert_vals(a, i, addr(v), 1) - - proc g_ptr_array_index*(parray: PGPtrArray, index: guint): gpointer = - result = cast[PGPointer](cast[int](parray ^. pdata) + - index * SizeOf(GPointer))^ - - proc G_THREAD_ERROR*(): TGQuark = - result = g_thread_error_quark() - - proc g_mutex_lock*(mutex: PGMutex) = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.mutex_lock(mutex) - - proc g_mutex_trylock*(mutex: PGMutex): gboolean = - if g_threads_got_initialized: - result = g_thread_functions_for_glib_use.mutex_trylock(mutex) - else: - result = true - - proc g_mutex_unlock*(mutex: PGMutex) = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.mutex_unlock(mutex) - - proc g_mutex_free*(mutex: PGMutex) = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.mutex_free(mutex) - - proc g_cond_wait*(cond: PGCond, mutex: PGMutex) = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.cond_wait(cond, mutex) - - proc g_cond_timed_wait*(cond: PGCond, mutex: PGMutex, end_time: PGTimeVal): gboolean = - if g_threads_got_initialized: - result = g_thread_functions_for_glib_use.cond_timed_wait(cond, mutex, - end_time) - else: - result = true - - proc g_thread_supported*(): gboolean = - result = g_threads_got_initialized - - proc g_mutex_new*(): PGMutex = - result = g_thread_functions_for_glib_use.mutex_new() - - proc g_cond_new*(): PGCond = - result = g_thread_functions_for_glib_use.cond_new() - - proc g_cond_signal*(cond: PGCond) = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.cond_signal(cond) - - proc g_cond_broadcast*(cond: PGCond) = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.cond_broadcast(cond) - - proc g_cond_free*(cond: PGCond) = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.cond_free(cond) - - proc g_private_new*(dest: TGDestroyNotify): PGPrivate = - result = g_thread_functions_for_glib_use.private_new(dest) - - proc g_private_get*(private_key: PGPrivate): gpointer = - if g_threads_got_initialized: - result = g_thread_functions_for_glib_use.private_get(private_key) - else: - result = private_key - - proc g_private_set*(private_key: var PGPrivate, data: gpointer) = - if g_threads_got_initialized: - nil - else: - private_key = data - - proc g_thread_yield*() = - if g_threads_got_initialized: - g_thread_functions_for_glib_use.thread_yield - - proc g_thread_create*(func: TGThreadFunc, data: gpointer, joinable: gboolean, - error: pointer): PGThread = - result = g_thread_create_full(func, data, 0, joinable, false, - G_THREAD_PRIORITY_NORMAL, error) - - proc g_static_mutex_get_mutex*(mutex: PPGMutex): PGMutex = - result = g_static_mutex_get_mutex_impl(mutex) - - proc g_static_mutex_lock*(mutex: PGStaticMutex) = - g_mutex_lock(g_static_mutex_get_mutex_impl(PPGMutex(mutex))) - - proc g_static_mutex_trylock*(mutex: PGStaticMutex): gboolean = - result = g_mutex_trylock(g_static_mutex_get_mutex(PPGMutex(mutex))) - - proc g_static_mutex_unlock*(mutex: PGStaticMutex) = - g_mutex_unlock(g_static_mutex_get_mutex_impl(PPGMutex(mutex))) - - proc g_main_new*(is_running: gboolean): PGMainLoop = - result = g_main_loop_new(nil, is_running) - - proc g_main_iteration*(may_block: gboolean): gboolean = - result = g_main_context_iteration(nil, may_block) - - proc g_main_pending*(): gboolean = - result = g_main_context_pending(nil) - - proc g_main_set_poll_func*(func: TGPollFunc) = - g_main_context_set_poll_func(nil, func) - -proc g_slist_next*(slist: PGSList): PGSList = - if slist != nil: - result = slist.next - else: - result = nil - -proc g_new*(bytes_per_struct, n_structs: int): gpointer = - result = g_malloc(n_structs * bytes_per_struct) - -proc g_new0*(bytes_per_struct, n_structs: int): gpointer = - result = g_malloc0(n_structs * bytes_per_struct) - -proc g_renew*(struct_size: int, OldMem: gpointer, n_structs: int): gpointer = - result = g_realloc(OldMem, struct_size * n_structs) - -proc g_chunk_new*(chunk: Pointer): Pointer = - result = g_mem_chunk_alloc(chunk) - -proc g_chunk_new0*(chunk: Pointer): Pointer = - result = g_mem_chunk_alloc0(chunk) - -proc g_chunk_free*(mem_chunk: PGMemChunk, mem: gpointer) = - g_mem_chunk_free(mem_chunk, mem) - -proc g_list_previous*(list: PGList): PGList = - if list != nil: - result = list.prev - else: - result = nil - -proc g_list_next*(list: PGList): PGList = - if list != nil: - result = list.next - else: - result = nil - -proc G_CONVERT_ERROR*(): TGQuark = - result = g_convert_error_quark() - -proc g_datalist_id_set_data*(datalist: PPGData, key_id: TGQuark, data: gpointer) = - g_datalist_id_set_data_full(datalist, key_id, data, TGDestroyNotify(nil)) - -proc g_datalist_id_remove_data*(datalist: PPGData, key_id: TGQuark) = - g_datalist_id_set_data(datalist, key_id, nil) - -proc g_datalist_get_data*(datalist: PPGData, key_str: cstring): PPGData = - result = cast[PPGData](g_datalist_id_get_data(datalist, - g_quark_try_string(key_str))) - -proc g_datalist_set_data_full*(datalist: PPGData, key_str: cstring, - data: gpointer, destroy_func: TGDestroyNotify) = - g_datalist_id_set_data_full(datalist, g_quark_from_string(key_str), data, - destroy_func) - -proc g_datalist_set_data*(datalist: PPGData, key_str: cstring, data: gpointer) = - g_datalist_set_data_full(datalist, key_str, data, nil) - -proc g_datalist_remove_no_notify*(datalist: PPGData, key_str: cstring) = - discard g_datalist_id_remove_no_notify(datalist, g_quark_try_string(key_str)) - -proc g_datalist_remove_data*(datalist: PPGData, key_str: cstring) = - g_datalist_id_set_data(datalist, g_quark_try_string(key_str), nil) - -proc g_dataset_id_set_data*(location: gconstpointer, key_id: TGQuark, - data: gpointer) = - g_dataset_id_set_data_full(location, key_id, data, nil) - -proc g_dataset_id_remove_data*(location: gconstpointer, key_id: TGQuark) = - g_dataset_id_set_data(location, key_id, nil) - -proc g_dataset_get_data*(location: gconstpointer, key_str: cstring): gpointer = - result = g_dataset_id_get_data(location, g_quark_try_string(key_str)) - -proc g_dataset_set_data_full*(location: gconstpointer, key_str: cstring, - data: gpointer, destroy_func: TGDestroyNotify) = - g_dataset_id_set_data_full(location, g_quark_from_string(key_str), data, - destroy_func) - -proc g_dataset_remove_no_notify*(location: gconstpointer, key_str: cstring) = - discard g_dataset_id_remove_no_notify(location, g_quark_try_string(key_str)) - -proc g_dataset_set_data*(location: gconstpointer, key_str: cstring, - data: gpointer) = - g_dataset_set_data_full(location, key_str, data, nil) - -proc g_dataset_remove_data*(location: gconstpointer, key_str: cstring) = - g_dataset_id_set_data(location, g_quark_try_string(key_str), nil) - -proc G_FILE_ERROR*(): TGQuark = - result = g_file_error_quark() - -proc TGHookList_hook_size*(a: var TGHookList): guint = - result = (a.flag0 and bm_TGHookList_hook_size) shr bp_TGHookList_hook_size - -proc TGHookList_set_hook_size*(a: var TGHookList, `hook_size`: guint) = - a.flag0 = a.flag0 or - ((`hook_size` shl bp_TGHookList_hook_size) and bm_TGHookList_hook_size) - -proc TGHookList_is_setup*(a: var TGHookList): guint = - result = (a.flag0 and bm_TGHookList_is_setup) shr bp_TGHookList_is_setup - -proc TGHookList_set_is_setup*(a: var TGHookList, `is_setup`: guint) = - a.flag0 = a.flag0 or - ((`is_setup` shl bp_TGHookList_is_setup) and bm_TGHookList_is_setup) - -proc G_HOOK*(hook: pointer): PGHook = - result = cast[PGHook](hook) - -proc G_HOOK_FLAGS*(hook: PGHook): guint = - result = hook.flags - -proc G_HOOK_ACTIVE*(hook: PGHook): bool = - result = (hook.flags and G_HOOK_FLAG_ACTIVE) != 0'i32 - -proc G_HOOK_IN_CALL*(hook: PGHook): bool = - result = (hook.flags and G_HOOK_FLAG_IN_CALL) != 0'i32 - -proc G_HOOK_IS_VALID*(hook: PGHook): bool = - result = (hook.hook_id != 0) and G_HOOK_ACTIVE(hook) - -proc G_HOOK_IS_UNLINKED*(hook: PGHook): bool = - result = (hook.next == nil) and (hook.prev == nil) and - (hook.hook_id == 0) and (hook.ref_count == 0'i32) - -proc g_hook_append*(hook_list: PGHookList, hook: PGHook) = - g_hook_insert_before(hook_list, nil, hook) - -proc G_IO_CHANNEL_ERROR*(): TGQuark = - result = g_io_channel_error_quark() - -proc TGIOChannel_use_buffer*(a: var TGIOChannel): guint = - result = (a.flag0 and bm_TGIOChannel_use_buffer) shr - bp_TGIOChannel_use_buffer - -proc TGIOChannel_set_use_buffer*(a: var TGIOChannel, `use_buffer`: guint) = - a.flag0 = a.flag0 or - (int16(`use_buffer` shl bp_TGIOChannel_use_buffer) and - bm_TGIOChannel_use_buffer) - -proc TGIOChannel_do_encode*(a: var TGIOChannel): guint = - result = (a.flag0 and bm_TGIOChannel_do_encode) shr - bp_TGIOChannel_do_encode - -proc TGIOChannel_set_do_encode*(a: var TGIOChannel, `do_encode`: guint) = - a.flag0 = a.flag0 or - (int16(`do_encode` shl bp_TGIOChannel_do_encode) and - bm_TGIOChannel_do_encode) - -proc TGIOChannel_close_on_unref*(a: var TGIOChannel): guint = - result = (a.flag0 and bm_TGIOChannel_close_on_unref) shr - bp_TGIOChannel_close_on_unref - -proc TGIOChannel_set_close_on_unref*(a: var TGIOChannel, `close_on_unref`: guint) = - a.flag0 = a.flag0 or - (int16(`close_on_unref` shl bp_TGIOChannel_close_on_unref) and - bm_TGIOChannel_close_on_unref) - -proc TGIOChannel_is_readable*(a: var TGIOChannel): guint = - result = (a.flag0 and bm_TGIOChannel_is_readable) shr - bp_TGIOChannel_is_readable - -proc TGIOChannel_set_is_readable*(a: var TGIOChannel, `is_readable`: guint) = - a.flag0 = a.flag0 or - (int16(`is_readable` shl bp_TGIOChannel_is_readable) and - bm_TGIOChannel_is_readable) - -proc TGIOChannel_is_writeable*(a: var TGIOChannel): guint = - result = (a.flag0 and bm_TGIOChannel_is_writeable) shr - bp_TGIOChannel_is_writeable - -proc TGIOChannel_set_is_writeable*(a: var TGIOChannel, `is_writeable`: guint) = - a.flag0 = a.flag0 or - (int16(`is_writeable` shl bp_TGIOChannel_is_writeable) and - bm_TGIOChannel_is_writeable) - -proc TGIOChannel_is_seekable*(a: var TGIOChannel): guint = - result = (a.flag0 and bm_TGIOChannel_is_seekable) shr - bp_TGIOChannel_is_seekable - -proc TGIOChannel_set_is_seekable*(a: var TGIOChannel, `is_seekable`: guint) = - a.flag0 = a.flag0 or - (int16(`is_seekable` shl bp_TGIOChannel_is_seekable) and - bm_TGIOChannel_is_seekable) - -proc g_utf8_next_char*(p: pguchar): pguchar = - result = cast[pguchar](cast[TAddress](p)+1) # p + ord((g_utf8_skip + p^ )^ ) - -when false: - proc GLIB_CHECK_VERSION*(major, minor, micro: guint): bool = - result = ((GLIB_MAJOR_VERSION > major) or - ((GLIB_MAJOR_VERSION == major) and (GLIB_MINOR_VERSION > minor)) or - ((GLIB_MAJOR_VERSION == major) and (GLIB_MINOR_VERSION == minor) and - (GLIB_MICRO_VERSION >= micro))) - - proc g_error*(format: cstring) = - g_log(G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, format) - - proc g_message*(format: cstring) = - g_log(G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, format) - - proc g_critical*(format: cstring) = - g_log(G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, format) - - proc g_warning*(format: cstring) = - g_log(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, format) - -proc G_MARKUP_ERROR*(): TGQuark = - result = g_markup_error_quark() - -proc G_NODE_IS_ROOT*(node: PGNode): bool = - result = (node . parent == nil) and (node . next == nil) and - (node . prev == nil) - -proc G_NODE_IS_LEAF*(node: PGNode): bool = - result = node . children == nil - -proc g_node_append*(parent: PGNode, node: PGNode): PGNode = - result = g_node_insert_before(parent, nil, node) - -proc g_node_insert_data*(parent: PGNode, position: gint, data: gpointer): PGNode = - result = g_node_insert(parent, position, g_node_new(data)) - -proc g_node_insert_data_before*(parent: PGNode, sibling: PGNode, data: gpointer): PGNode = - result = g_node_insert_before(parent, sibling, g_node_new(data)) - -proc g_node_prepend_data*(parent: PGNode, data: gpointer): PGNode = - result = g_node_prepend(parent, g_node_new(data)) - -proc g_node_append_data*(parent: PGNode, data: gpointer): PGNode = - result = g_node_insert_before(parent, nil, g_node_new(data)) - -proc g_node_prev_sibling*(node: PGNode): PGNode = - if node != nil: - result = node.prev - else: - result = nil - -proc g_node_next_sibling*(node: PGNode): PGNode = - if node != nil: - result = node.next - else: - result = nil - -proc g_node_first_child*(node: PGNode): PGNode = - if node != nil: - result = node.children - else: - result = nil - -proc g_rand_boolean*(rand: PGRand): gboolean = - result = (int(g_rand_int(rand)) and (1 shl 15)) != 0 - -proc g_random_boolean*(): gboolean = - result = (int(g_random_int()) and (1 shl 15)) != 0 - -proc TGScannerConfig_case_sensitive*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_case_sensitive) shr - bp_TGScannerConfig_case_sensitive - -proc TGScannerConfig_set_case_sensitive*(a: var TGScannerConfig, - `case_sensitive`: guint) = - a.flag0 = a.flag0 or - ((`case_sensitive` shl bp_TGScannerConfig_case_sensitive) and - bm_TGScannerConfig_case_sensitive) - -proc TGScannerConfig_skip_comment_multi*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_skip_comment_multi) shr - bp_TGScannerConfig_skip_comment_multi - -proc TGScannerConfig_set_skip_comment_multi*(a: var TGScannerConfig, - `skip_comment_multi`: guint) = - a.flag0 = a.flag0 or - ((`skip_comment_multi` shl bp_TGScannerConfig_skip_comment_multi) and - bm_TGScannerConfig_skip_comment_multi) - -proc TGScannerConfig_skip_comment_single*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_skip_comment_single) shr - bp_TGScannerConfig_skip_comment_single - -proc TGScannerConfig_set_skip_comment_single*(a: var TGScannerConfig, - `skip_comment_single`: guint) = - a.flag0 = a.flag0 or - ((`skip_comment_single` shl bp_TGScannerConfig_skip_comment_single) and - bm_TGScannerConfig_skip_comment_single) - -proc TGScannerConfig_scan_comment_multi*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_comment_multi) shr - bp_TGScannerConfig_scan_comment_multi - -proc TGScannerConfig_set_scan_comment_multi*(a: var TGScannerConfig, - `scan_comment_multi`: guint) = - a.flag0 = a.flag0 or - ((`scan_comment_multi` shl bp_TGScannerConfig_scan_comment_multi) and - bm_TGScannerConfig_scan_comment_multi) - -proc TGScannerConfig_scan_identifier*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_identifier) shr - bp_TGScannerConfig_scan_identifier - -proc TGScannerConfig_set_scan_identifier*(a: var TGScannerConfig, - `scan_identifier`: guint) = - a.flag0 = a.flag0 or - ((`scan_identifier` shl bp_TGScannerConfig_scan_identifier) and - bm_TGScannerConfig_scan_identifier) - -proc TGScannerConfig_scan_identifier_1char*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_identifier_1char) shr - bp_TGScannerConfig_scan_identifier_1char - -proc TGScannerConfig_set_scan_identifier_1char*(a: var TGScannerConfig, - `scan_identifier_1char`: guint) = - a.flag0 = a.flag0 or - ((`scan_identifier_1char` shl bp_TGScannerConfig_scan_identifier_1char) and - bm_TGScannerConfig_scan_identifier_1char) - -proc TGScannerConfig_scan_identifier_NULL*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_identifier_NULL) shr - bp_TGScannerConfig_scan_identifier_NULL - -proc TGScannerConfig_set_scan_identifier_NULL*(a: var TGScannerConfig, - `scan_identifier_NULL`: guint) = - a.flag0 = a.flag0 or - ((`scan_identifier_NULL` shl bp_TGScannerConfig_scan_identifier_NULL) and - bm_TGScannerConfig_scan_identifier_NULL) - -proc TGScannerConfig_scan_symbols*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_symbols) shr - bp_TGScannerConfig_scan_symbols - -proc TGScannerConfig_set_scan_symbols*(a: var TGScannerConfig, - `scan_symbols`: guint) = - a.flag0 = a.flag0 or - ((`scan_symbols` shl bp_TGScannerConfig_scan_symbols) and - bm_TGScannerConfig_scan_symbols) - -proc TGScannerConfig_scan_binary*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_binary) shr - bp_TGScannerConfig_scan_binary - -proc TGScannerConfig_set_scan_binary*(a: var TGScannerConfig, - `scan_binary`: guint) = - a.flag0 = a.flag0 or - ((`scan_binary` shl bp_TGScannerConfig_scan_binary) and - bm_TGScannerConfig_scan_binary) - -proc TGScannerConfig_scan_octal*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_octal) shr - bp_TGScannerConfig_scan_octal - -proc TGScannerConfig_set_scan_octal*(a: var TGScannerConfig, `scan_octal`: guint) = - a.flag0 = a.flag0 or - ((`scan_octal` shl bp_TGScannerConfig_scan_octal) and - bm_TGScannerConfig_scan_octal) - -proc TGScannerConfig_scan_float*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_float) shr - bp_TGScannerConfig_scan_float - -proc TGScannerConfig_set_scan_float*(a: var TGScannerConfig, `scan_float`: guint) = - a.flag0 = a.flag0 or - ((`scan_float` shl bp_TGScannerConfig_scan_float) and - bm_TGScannerConfig_scan_float) - -proc TGScannerConfig_scan_hex*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_hex) shr - bp_TGScannerConfig_scan_hex - -proc TGScannerConfig_set_scan_hex*(a: var TGScannerConfig, `scan_hex`: guint) = - a.flag0 = a.flag0 or - ((`scan_hex` shl bp_TGScannerConfig_scan_hex) and - bm_TGScannerConfig_scan_hex) - -proc TGScannerConfig_scan_hex_dollar*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_hex_dollar) shr - bp_TGScannerConfig_scan_hex_dollar - -proc TGScannerConfig_set_scan_hex_dollar*(a: var TGScannerConfig, - `scan_hex_dollar`: guint) = - a.flag0 = a.flag0 or - ((`scan_hex_dollar` shl bp_TGScannerConfig_scan_hex_dollar) and - bm_TGScannerConfig_scan_hex_dollar) - -proc TGScannerConfig_scan_string_sq*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_string_sq) shr - bp_TGScannerConfig_scan_string_sq - -proc TGScannerConfig_set_scan_string_sq*(a: var TGScannerConfig, - `scan_string_sq`: guint) = - a.flag0 = a.flag0 or - ((`scan_string_sq` shl bp_TGScannerConfig_scan_string_sq) and - bm_TGScannerConfig_scan_string_sq) - -proc TGScannerConfig_scan_string_dq*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scan_string_dq) shr - bp_TGScannerConfig_scan_string_dq - -proc TGScannerConfig_set_scan_string_dq*(a: var TGScannerConfig, - `scan_string_dq`: guint) = - a.flag0 = a.flag0 or - ((`scan_string_dq` shl bp_TGScannerConfig_scan_string_dq) and - bm_TGScannerConfig_scan_string_dq) - -proc TGScannerConfig_numbers_2_int*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_numbers_2_int) shr - bp_TGScannerConfig_numbers_2_int - -proc TGScannerConfig_set_numbers_2_int*(a: var TGScannerConfig, - `numbers_2_int`: guint) = - a.flag0 = a.flag0 or - ((`numbers_2_int` shl bp_TGScannerConfig_numbers_2_int) and - bm_TGScannerConfig_numbers_2_int) - -proc TGScannerConfig_int_2_float*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_int_2_float) shr - bp_TGScannerConfig_int_2_float - -proc TGScannerConfig_set_int_2_float*(a: var TGScannerConfig, - `int_2_float`: guint) = - a.flag0 = a.flag0 or - ((`int_2_float` shl bp_TGScannerConfig_int_2_float) and - bm_TGScannerConfig_int_2_float) - -proc TGScannerConfig_identifier_2_string*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_identifier_2_string) shr - bp_TGScannerConfig_identifier_2_string - -proc TGScannerConfig_set_identifier_2_string*(a: var TGScannerConfig, - `identifier_2_string`: guint) = - a.flag0 = a.flag0 or - ((`identifier_2_string` shl bp_TGScannerConfig_identifier_2_string) and - bm_TGScannerConfig_identifier_2_string) - -proc TGScannerConfig_char_2_token*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_char_2_token) shr - bp_TGScannerConfig_char_2_token - -proc TGScannerConfig_set_char_2_token*(a: var TGScannerConfig, - `char_2_token`: guint) = - a.flag0 = a.flag0 or - ((`char_2_token` shl bp_TGScannerConfig_char_2_token) and - bm_TGScannerConfig_char_2_token) - -proc TGScannerConfig_symbol_2_token*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_symbol_2_token) shr - bp_TGScannerConfig_symbol_2_token - -proc TGScannerConfig_set_symbol_2_token*(a: var TGScannerConfig, - `symbol_2_token`: guint) = - a.flag0 = a.flag0 or - ((`symbol_2_token` shl bp_TGScannerConfig_symbol_2_token) and - bm_TGScannerConfig_symbol_2_token) - -proc TGScannerConfig_scope_0_fallback*(a: var TGScannerConfig): guint = - result = (a.flag0 and bm_TGScannerConfig_scope_0_fallback) shr - bp_TGScannerConfig_scope_0_fallback - -proc TGScannerConfig_set_scope_0_fallback*(a: var TGScannerConfig, - `scope_0_fallback`: guint) = - a.flag0 = a.flag0 or - ((`scope_0_fallback` shl bp_TGScannerConfig_scope_0_fallback) and - bm_TGScannerConfig_scope_0_fallback) - -proc g_scanner_freeze_symbol_table*(scanner: PGScanner) = - if Scanner == nil: nil - -proc g_scanner_thaw_symbol_table*(scanner: PGScanner) = - if Scanner == nil: nil - -proc G_SHELL_ERROR*(): TGQuark = - result = g_shell_error_quark() - -proc G_SPAWN_ERROR*(): TGQuark = - result = g_spawn_error_quark() - -when false: - proc g_ascii_isalnum*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_ALNUM) != 0 - - proc g_ascii_isalpha*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_ALPHA) != 0 - - proc g_ascii_iscntrl*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_CNTRL) != 0 - - proc g_ascii_isdigit*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_DIGIT) != 0 - - proc g_ascii_isgraph*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_GRAPH) != 0 - - proc g_ascii_islower*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_LOWER) != 0 - - proc g_ascii_isprint*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_PRINT) != 0 - - proc g_ascii_ispunct*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_PUNCT) != 0 - - proc g_ascii_isspace*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_SPACE) != 0 - - proc g_ascii_isupper*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_UPPER) != 0 - - proc g_ascii_isxdigit*(c: gchar): bool = - result = ((g_ascii_table[guchar(c)]) and G_ASCII_XDIGIT) != 0 - - proc g_strstrip*(str: cstring): cstring = - result = g_strchomp(g_strchug(str)) - -proc G_TYPE_MAKE_FUNDAMENTAL*(x: int): GType = - result = GType(x shl G_TYPE_FUNDAMENTAL_SHIFT) - -proc G_TYPE_IS_FUNDAMENTAL*(theType: GType): bool = - result = theType <= G_TYPE_FUNDAMENTAL_MAX - -proc G_TYPE_IS_DERIVED*(theType: GType): bool = - result = theType > G_TYPE_FUNDAMENTAL_MAX - -proc G_TYPE_IS_INTERFACE*(theType: GType): bool = - result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_INTERFACE - -proc G_TYPE_IS_CLASSED*(theType: GType): gboolean = - result = private_g_type_test_flags(theType, G_TYPE_FLAG_CLASSED) - -proc G_TYPE_IS_INSTANTIATABLE*(theType: GType): bool = - result = private_g_type_test_flags(theType, G_TYPE_FLAG_INSTANTIATABLE) - -proc G_TYPE_IS_DERIVABLE*(theType: GType): bool = - result = private_g_type_test_flags(theType, G_TYPE_FLAG_DERIVABLE) - -proc G_TYPE_IS_DEEP_DERIVABLE*(theType: GType): bool = - result = private_g_type_test_flags(theType, G_TYPE_FLAG_DEEP_DERIVABLE) - -proc G_TYPE_IS_ABSTRACT*(theType: GType): bool = - result = private_g_type_test_flags(theType, G_TYPE_FLAG_ABSTRACT) - -proc G_TYPE_IS_VALUE_ABSTRACT*(theType: GType): bool = - result = private_g_type_test_flags(theType, G_TYPE_FLAG_VALUE_ABSTRACT) - -proc G_TYPE_IS_VALUE_TYPE*(theType: GType): bool = - result = private_g_type_check_is_value_type(theType) - -proc G_TYPE_HAS_VALUE_TABLE*(theType: GType): bool = - result = (g_type_value_table_peek(theType)) != nil - -proc G_TYPE_CHECK_INSTANCE*(instance: Pointer): gboolean = - result = private_g_type_check_instance(cast[PGTypeInstance](instance)) - -proc G_TYPE_CHECK_INSTANCE_CAST*(instance: Pointer, g_type: GType): PGTypeInstance = - result = cast[PGTypeInstance](private_g_type_check_instance_cast( - cast[PGTypeInstance](instance), g_type)) - -proc G_TYPE_CHECK_INSTANCE_TYPE*(instance: Pointer, g_type: GType): bool = - result = private_g_type_check_instance_is_a( - cast[PGTypeInstance](instance), g_type) - -proc G_TYPE_INSTANCE_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass = - result = cast[PGTypeInstance](Instance).g_class - result = private_g_type_check_class_cast(result, g_type) - -proc G_TYPE_INSTANCE_GET_INTERFACE*(instance: Pointer, g_type: GType): Pointer = - result = g_type_interface_peek((cast[PGTypeInstance](instance)).g_class, g_type) - -proc G_TYPE_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer = - result = private_g_type_check_class_cast(cast[PGTypeClass](g_class), g_type) - -proc G_TYPE_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool = - result = private_g_type_check_class_is_a(cast[PGTypeClass](g_class), g_type) - -proc G_TYPE_CHECK_VALUE*(value: Pointer): bool = - result = private_g_type_check_value(cast[PGValue](Value)) - -proc G_TYPE_CHECK_VALUE_TYPE*(value: pointer, g_type: GType): bool = - result = private_g_type_check_value_holds(cast[PGValue](value), g_type) - -proc G_TYPE_FROM_INSTANCE*(instance: Pointer): GType = - result = G_TYPE_FROM_CLASS((cast[PGTypeInstance](instance)) . g_class) - -proc G_TYPE_FROM_CLASS*(g_class: Pointer): GType = - result = (cast[PGTypeClass](g_class)) . g_type - -proc G_TYPE_FROM_INTERFACE*(g_iface: Pointer): GType = - result = (cast[PGTypeInterface](g_iface)) . g_type - -proc G_TYPE_IS_VALUE*(theType: GType): bool = - result = private_g_type_check_is_value_type(theType) - -proc G_IS_VALUE*(value: Pointer): bool = - result = G_TYPE_CHECK_VALUE(value) - -proc G_VALUE_TYPE*(value: Pointer): GType = - result = (cast[PGValue](value)) . g_type - -proc G_VALUE_TYPE_NAME*(value: Pointer): cstring = - result = g_type_name(G_VALUE_TYPE(value)) - -proc G_VALUE_HOLDS*(value: pointer, g_type: GType): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, g_type) - -proc G_TYPE_IS_PARAM*(theType: GType): bool = - result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_PARAM - -proc G_PARAM_SPEC*(pspec: Pointer): PGParamSpec = - result = cast[PGParamSpec](G_TYPE_CHECK_INSTANCE_CAST(pspec, G_TYPE_PARAM)) - -proc G_IS_PARAM_SPEC*(pspec: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(pspec, G_TYPE_PARAM) - -proc G_PARAM_SPEC_CLASS*(pclass: Pointer): PGParamSpecClass = - result = cast[PGParamSpecClass]( - G_TYPE_CHECK_CLASS_CAST(pclass, G_TYPE_PARAM)) - -proc G_IS_PARAM_SPEC_CLASS*(pclass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(pclass, G_TYPE_PARAM) - -proc G_PARAM_SPEC_GET_CLASS*(pspec: Pointer): PGParamSpecClass = - result = cast[PGParamSpecClass](G_TYPE_INSTANCE_GET_CLASS(pspec, G_TYPE_PARAM)) - -proc G_PARAM_SPEC_TYPE*(pspec: Pointer): GType = - result = G_TYPE_FROM_INSTANCE(pspec) - -proc G_PARAM_SPEC_TYPE_NAME*(pspec: Pointer): cstring = - result = g_type_name(G_PARAM_SPEC_TYPE(pspec)) - -proc G_PARAM_SPEC_VALUE_TYPE*(pspec: Pointer): GType = - result = (G_PARAM_SPEC(pspec)) . value_type - -proc G_VALUE_HOLDS_PARAM*(value: Pointer): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_PARAM) - -proc G_CLOSURE_NEEDS_MARSHAL*(closure: Pointer): bool = - result = cast[PGClosure](closure).marshal == nil - -proc G_CLOSURE_N_NOTIFIERS*(cl: PGClosure): int32 = - result = ((meta_marshal(cl) + ((n_guards(cl)) shl 1'i32)) + (n_fnotifiers(cl))) + - (n_inotifiers(cl)) - -proc G_CCLOSURE_SWAP_DATA*(cclosure: PGClosure): int32 = - result = derivative_flag(cclosure) - -proc G_CALLBACK*(f: pointer): TGCallback = - result = cast[TGCallback](f) - -proc ref_count*(a: var TGClosure): guint = - result = (a.flag0 and bm_TGClosure_ref_count) shr bp_TGClosure_ref_count - -proc set_ref_count*(a: var TGClosure, `ref_count`: guint) = - a.flag0 = a.flag0 or - ((`ref_count` shl bp_TGClosure_ref_count) and bm_TGClosure_ref_count) - -proc meta_marshal*(a: PGClosure): guint = - result = (a . flag0 and bm_TGClosure_meta_marshal) shr - bp_TGClosure_meta_marshal - -proc set_meta_marshal*(a: var TGClosure, `meta_marshal`: guint) = - a.flag0 = a.flag0 or - ((`meta_marshal` shl bp_TGClosure_meta_marshal) and - bm_TGClosure_meta_marshal) - -proc n_guards*(a: PGClosure): guint = - result = (a . flag0 and bm_TGClosure_n_guards) shr bp_TGClosure_n_guards - -proc set_n_guards*(a: var TGClosure, `n_guards`: guint) = - a.flag0 = a.flag0 or - ((`n_guards` shl bp_TGClosure_n_guards) and bm_TGClosure_n_guards) - -proc n_fnotifiers*(a: PGClosure): guint = - result = (a . flag0 and bm_TGClosure_n_fnotifiers) shr - bp_TGClosure_n_fnotifiers - -proc set_n_fnotifiers*(a: var TGClosure, `n_fnotifiers`: guint) = - a.flag0 = a.flag0 or - ((`n_fnotifiers` shl bp_TGClosure_n_fnotifiers) and - bm_TGClosure_n_fnotifiers) - -proc n_inotifiers*(a: PGClosure): guint = - result = (a . flag0 and bm_TGClosure_n_inotifiers) shr - bp_TGClosure_n_inotifiers - -proc set_n_inotifiers*(a: var TGClosure, `n_inotifiers`: guint) = - a.flag0 = a.flag0 or - ((`n_inotifiers` shl bp_TGClosure_n_inotifiers) and - bm_TGClosure_n_inotifiers) - -proc in_inotify*(a: var TGClosure): guint = - result = (a.flag0 and bm_TGClosure_in_inotify) shr bp_TGClosure_in_inotify - -proc set_in_inotify*(a: var TGClosure, `in_inotify`: guint) = - a.flag0 = a.flag0 or - ((`in_inotify` shl bp_TGClosure_in_inotify) and bm_TGClosure_in_inotify) - -proc floating*(a: var TGClosure): guint = - result = (a.flag0 and bm_TGClosure_floating) shr bp_TGClosure_floating - -proc set_floating*(a: var TGClosure, `floating`: guint) = - a.flag0 = a.flag0 or - ((`floating` shl bp_TGClosure_floating) and bm_TGClosure_floating) - -proc derivative_flag*(a: PGClosure): guint = - result = (a . flag0 and bm_TGClosure_derivative_flag) shr - bp_TGClosure_derivative_flag - -proc set_derivative_flag*(a: var TGClosure, `derivative_flag`: guint) = - a.flag0 = a.flag0 or - ((`derivative_flag` shl bp_TGClosure_derivative_flag) and - bm_TGClosure_derivative_flag) - -proc in_marshal*(a: var TGClosure): guint = - result = (a.flag0 and bm_TGClosure_in_marshal) shr bp_TGClosure_in_marshal - -proc set_in_marshal*(a: var TGClosure, in_marshal: guint) = - a.flag0 = a.flag0 or - ((in_marshal shl bp_TGClosure_in_marshal) and bm_TGClosure_in_marshal) - -proc is_invalid*(a: var TGClosure): guint = - result = (a.flag0 and bm_TGClosure_is_invalid) shr bp_TGClosure_is_invalid - -proc set_is_invalid*(a: var TGClosure, is_invalid: guint) = - a.flag0 = a.flag0 or - ((is_invalid shl bp_TGClosure_is_invalid) and bm_TGClosure_is_invalid) - -proc g_signal_connect*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, data: gpointer): gulong = - result = g_signal_connect_data(instance, detailed_signal, c_handler, data, - nil, TGConnectFlags(0)) - -proc g_signal_connect_after*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, data: gpointer): gulong = - result = g_signal_connect_data(instance, detailed_signal, c_handler, data, - nil, G_CONNECT_AFTER) - -proc g_signal_connect_swapped*(instance: gpointer, detailed_signal: cstring, - c_handler: TGCallback, data: gpointer): gulong = - result = g_signal_connect_data(instance, detailed_signal, c_handler, data, - nil, G_CONNECT_SWAPPED) - -proc g_signal_handlers_disconnect_by_func*(instance: gpointer, - func, data: gpointer): guint = - result = g_signal_handlers_disconnect_matched(instance, - TGSignalMatchType(G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, - func, data) - -proc g_signal_handlers_block_by_func*(instance: gpointer, func, data: gpointer) = - discard g_signal_handlers_block_matched(instance, TGSignalMatchType( - G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, func, data) - -proc g_signal_handlers_unblock_by_func*(instance: gpointer, func, data: gpointer) = - discard g_signal_handlers_unblock_matched(instance, TGSignalMatchType( - G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0, 0, nil, func, data) - -proc G_TYPE_IS_OBJECT*(theType: GType): bool = - result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_OBJECT - -proc G_OBJECT*(anObject: pointer): PGObject = - result = cast[PGObject](G_TYPE_CHECK_INSTANCE_CAST(anObject, G_TYPE_OBJECT)) - -proc G_OBJECT_CLASS*(class: Pointer): PGObjectClass = - result = cast[PGObjectClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_OBJECT)) - -proc G_IS_OBJECT*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, G_TYPE_OBJECT) - -proc G_IS_OBJECT_CLASS*(class: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_OBJECT) - -proc G_OBJECT_GET_CLASS*(anObject: pointer): PGObjectClass = - result = cast[PGObjectClass](G_TYPE_INSTANCE_GET_CLASS(anObject, G_TYPE_OBJECT)) - -proc G_OBJECT_TYPE*(anObject: pointer): GType = - result = G_TYPE_FROM_INSTANCE(anObject) - -proc G_OBJECT_TYPE_NAME*(anObject: pointer): cstring = - result = g_type_name(G_OBJECT_TYPE(anObject)) - -proc G_OBJECT_CLASS_TYPE*(class: Pointer): GType = - result = G_TYPE_FROM_CLASS(class) - -proc G_OBJECT_CLASS_NAME*(class: Pointer): cstring = - result = g_type_name(G_OBJECT_CLASS_TYPE(class)) - -proc G_VALUE_HOLDS_OBJECT*(value: Pointer): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_OBJECT) - -proc G_OBJECT_WARN_INVALID_PROPERTY_ID*(anObject: gpointer, property_id: gint, - pspec: gpointer) = - G_OBJECT_WARN_INVALID_PSPEC(anObject, "property", property_id, pspec) - -proc G_OBJECT_WARN_INVALID_PSPEC*(anObject: gpointer, pname: cstring, - property_id: gint, pspec: gpointer) = - var - theObject: PGObject - pspec2: PGParamSpec - property_id: guint - theObject = cast[PGObject](anObject) - pspec2 = cast[PGParamSpec](pspec) - property_id = (property_id) - write(stdout, "invalid thingy\n") - #g_warning("%s: invalid %s id %u for \"%s\" of type `%s\' in `%s\'", "", pname, - # `property_id`, `pspec` . name, - # g_type_name(G_PARAM_SPEC_TYPE(`pspec`)), - # G_OBJECT_TYPE_NAME(theobject)) - -proc G_TYPE_TYPE_PLUGIN*(): GType = - result = g_type_plugin_get_type() - -proc G_TYPE_PLUGIN*(inst: Pointer): PGTypePlugin = - result = PGTypePlugin(G_TYPE_CHECK_INSTANCE_CAST(inst, G_TYPE_TYPE_PLUGIN())) - -proc G_TYPE_PLUGIN_CLASS*(vtable: Pointer): PGTypePluginClass = - result = cast[PGTypePluginClass](G_TYPE_CHECK_CLASS_CAST(vtable, - G_TYPE_TYPE_PLUGIN())) - -proc G_IS_TYPE_PLUGIN*(inst: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(inst, G_TYPE_TYPE_PLUGIN()) - -proc G_IS_TYPE_PLUGIN_CLASS*(vtable: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(vtable, G_TYPE_TYPE_PLUGIN()) - -proc G_TYPE_PLUGIN_GET_CLASS*(inst: Pointer): PGTypePluginClass = - result = cast[PGTypePluginClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, - G_TYPE_TYPE_PLUGIN())) - -proc G_TYPE_IS_ENUM*(theType: GType): gboolean = - result = (G_TYPE_FUNDAMENTAL(theType) == G_TYPE_ENUM) - -proc G_ENUM_CLASS*(class: pointer): PGEnumClass = - result = cast[PGEnumClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_ENUM)) - -proc G_IS_ENUM_CLASS*(class: pointer): gboolean = - result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_ENUM) - -proc G_ENUM_CLASS_TYPE*(class: pointer): GType = - result = G_TYPE_FROM_CLASS(class) - -proc G_ENUM_CLASS_TYPE_NAME*(class: pointer): cstring = - result = g_type_name(G_ENUM_CLASS_TYPE(class)) - -proc G_TYPE_IS_FLAGS*(theType: GType): gboolean = - result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_FLAGS - -proc G_FLAGS_CLASS*(class: pointer): PGFlagsClass = - result = cast[PGFlagsClass](G_TYPE_CHECK_CLASS_CAST(class, G_TYPE_FLAGS)) - -proc G_IS_FLAGS_CLASS*(class: pointer): gboolean = - result = G_TYPE_CHECK_CLASS_TYPE(class, G_TYPE_FLAGS) - -proc G_FLAGS_CLASS_TYPE*(class: pointer): GType = - result = G_TYPE_FROM_CLASS(class) - -proc G_FLAGS_CLASS_TYPE_NAME*(class: pointer): cstring = - result = g_type_name(G_FLAGS_TYPE(cast[TAddress](class))) - -proc G_VALUE_HOLDS_ENUM*(value: pointer): gboolean = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_ENUM) - -proc G_VALUE_HOLDS_FLAGS*(value: pointer): gboolean = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_FLAGS) - -proc CLAMP*(x, MinX, MaxX: int): int = - if x < MinX: - result = MinX - elif x > MaxX: - result = MaxX - else: - result = x - -proc GPOINTER_TO_SIZE*(p: GPointer): GSize = - result = GSize(cast[TAddress](p)) - -proc GSIZE_TO_POINTER*(s: GSize): GPointer = - result = cast[GPointer](s) - -proc G_VALUE_HOLDS_CHAR*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_CHAR) - -proc G_VALUE_HOLDS_UCHAR*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UCHAR) - -proc G_VALUE_HOLDS_BOOLEAN*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_BOOLEAN) - -proc G_VALUE_HOLDS_INT*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_INT) - -proc G_VALUE_HOLDS_UINT*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UINT) - -proc G_VALUE_HOLDS_LONG*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_LONG) - -proc G_VALUE_HOLDS_ULONG*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_ULONG) - -proc G_VALUE_HOLDS_INT64*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_INT64) - -proc G_VALUE_HOLDS_UINT64*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_UINT64) - -proc G_VALUE_HOLDS_FLOAT*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_FLOAT) - -proc G_VALUE_HOLDS_DOUBLE*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_DOUBLE) - -proc G_VALUE_HOLDS_STRING*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_STRING) - -proc G_VALUE_HOLDS_POINTER*(value: PGValue): bool = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_POINTER) - -proc G_TYPE_IS_BOXED*(theType: GType): gboolean = - result = (G_TYPE_FUNDAMENTAL(theType)) == G_TYPE_BOXED - -proc G_VALUE_HOLDS_BOXED*(value: PGValue): gboolean = - result = G_TYPE_CHECK_VALUE_TYPE(value, G_TYPE_BOXED) - -proc G_TYPE_CLOSURE*(): GType = - result = g_closure_get_type() - -proc G_TYPE_VALUE*(): GType = - result = g_value_get_type() - -proc G_TYPE_VALUE_ARRAY*(): GType = - result = g_value_array_get_type() - -proc G_TYPE_GSTRING*(): GType = - result = g_gstring_get_type() diff --git a/lib/oldwrappers/gtk/gtk2.nim b/lib/oldwrappers/gtk/gtk2.nim deleted file mode 100755 index e7c5be7be..000000000 --- a/lib/oldwrappers/gtk/gtk2.nim +++ /dev/null @@ -1,17271 +0,0 @@ -{.deadCodeElim: on.} - -import - glib2, atk, pango, gdk2pixbuf, gdk2 - -when defined(win32): - const - gtklib = "libgtk-win32-2.0-0.dll" -elif defined(darwin): - const - gtklib = "gtk-x11-2.0" - # linklib gtk-x11-2.0 - # linklib gdk-x11-2.0 - # linklib pango-1.0.0 - # linklib glib-2.0.0 - # linklib gobject-2.0.0 - # linklib gdk_pixbuf-2.0.0 - # linklib atk-1.0.0 -else: - const - gtklib = "libgtk-x11-2.0.so" -type - PPPchar* = PPPgchar - -const - GTK_MAX_COMPOSE_LEN* = 7 - -type - PGtkObject* = ptr TGtkObject - PPGtkObject* = ptr PGtkObject - PGtkArg* = ptr TGtkArg - PGtkType* = ptr TGtkType - TGtkType* = GType - PGtkWidget* = ptr TGtkWidget - PGtkMisc* = ptr TGtkMisc - PGtkLabel* = ptr TGtkLabel - PGtkMenu* = ptr TGtkMenu - PGtkAnchorType* = ptr TGtkAnchorType - TGtkAnchorType* = int32 - PGtkArrowType* = ptr TGtkArrowType - TGtkArrowType* = int32 - PGtkAttachOptions* = ptr TGtkAttachOptions - TGtkAttachOptions* = int32 - PGtkButtonBoxStyle* = ptr TGtkButtonBoxStyle - TGtkButtonBoxStyle* = int32 - PGtkCurveType* = ptr TGtkCurveType - TGtkCurveType* = int32 - PGtkDeleteType* = ptr TGtkDeleteType - TGtkDeleteType* = int32 - PGtkDirectionType* = ptr TGtkDirectionType - TGtkDirectionType* = int32 - PGtkExpanderStyle* = ptr TGtkExpanderStyle - TGtkExpanderStyle* = int32 - PPGtkIconSize* = ptr PGtkIconSize - PGtkIconSize* = ptr TGtkIconSize - TGtkIconSize* = int32 - PGtkTextDirection* = ptr TGtkTextDirection - TGtkTextDirection* = int32 - PGtkJustification* = ptr TGtkJustification - TGtkJustification* = int32 - PGtkMenuDirectionType* = ptr TGtkMenuDirectionType - TGtkMenuDirectionType* = int32 - PGtkMetricType* = ptr TGtkMetricType - TGtkMetricType* = int32 - PGtkMovementStep* = ptr TGtkMovementStep - TGtkMovementStep* = int32 - PGtkOrientation* = ptr TGtkOrientation - TGtkOrientation* = int32 - PGtkCornerType* = ptr TGtkCornerType - TGtkCornerType* = int32 - PGtkPackType* = ptr TGtkPackType - TGtkPackType* = int32 - PGtkPathPriorityType* = ptr TGtkPathPriorityType - TGtkPathPriorityType* = int32 - PGtkPathType* = ptr TGtkPathType - TGtkPathType* = int32 - PGtkPolicyType* = ptr TGtkPolicyType - TGtkPolicyType* = int32 - PGtkPositionType* = ptr TGtkPositionType - TGtkPositionType* = int32 - PGtkReliefStyle* = ptr TGtkReliefStyle - TGtkReliefStyle* = int32 - PGtkResizeMode* = ptr TGtkResizeMode - TGtkResizeMode* = int32 - PGtkScrollType* = ptr TGtkScrollType - TGtkScrollType* = int32 - PGtkSelectionMode* = ptr TGtkSelectionMode - TGtkSelectionMode* = int32 - PGtkShadowType* = ptr TGtkShadowType - TGtkShadowType* = int32 - PGtkStateType* = ptr TGtkStateType - TGtkStateType* = int32 - PGtkSubmenuDirection* = ptr TGtkSubmenuDirection - TGtkSubmenuDirection* = int32 - PGtkSubmenuPlacement* = ptr TGtkSubmenuPlacement - TGtkSubmenuPlacement* = int32 - PGtkToolbarStyle* = ptr TGtkToolbarStyle - TGtkToolbarStyle* = int32 - PGtkUpdateType* = ptr TGtkUpdateType - TGtkUpdateType* = int32 - PGtkVisibility* = ptr TGtkVisibility - TGtkVisibility* = int32 - PGtkWindowPosition* = ptr TGtkWindowPosition - TGtkWindowPosition* = int32 - PGtkWindowType* = ptr TGtkWindowType - TGtkWindowType* = int32 - PGtkWrapMode* = ptr TGtkWrapMode - TGtkWrapMode* = int32 - PGtkSortType* = ptr TGtkSortType - TGtkSortType* = int32 - PGtkStyle* = ptr TGtkStyle - PPGtkTreeModel* = ptr PGtkTreeModel - PGtkTreeModel* = pointer - PGtkTreePath* = pointer - PGtkTreeIter* = ptr TGtkTreeIter - PGtkSelectionData* = ptr TGtkSelectionData - PGtkTextTagTable* = ptr TGtkTextTagTable - PGtkTextBTreeNode* = pointer - PGtkTextBTree* = pointer - PGtkTextLine* = ptr TGtkTextLine - PGtkTreeViewColumn* = ptr TGtkTreeViewColumn - PGtkTreeView* = ptr TGtkTreeView - TGtkTreeViewColumnDropFunc* = proc (tree_view: PGtkTreeView, - column: PGtkTreeViewColumn, - prev_column: PGtkTreeViewColumn, - next_column: PGtkTreeViewColumn, - data: gpointer): gboolean{.cdecl.} - TGtkTreeViewMappingFunc* = proc (tree_view: PGtkTreeView, path: PGtkTreePath, - user_data: gpointer){.cdecl.} - TGtkTreeViewSearchEqualFunc* = proc (model: PGtkTreeModel, column: gint, - key: cstring, iter: PGtkTreeIter, - search_data: gpointer): gboolean{.cdecl.} - TGtkTreeDestroyCountFunc* = proc (tree_view: PGtkTreeView, path: PGtkTreePath, - children: gint, user_data: gpointer){.cdecl.} - PGtkTreeViewDropPosition* = ptr TGtkTreeViewDropPosition - TGtkTreeViewDropPosition* = enum - GTK_TREE_VIEW_DROP_BEFORE, GTK_TREE_VIEW_DROP_AFTER, - GTK_TREE_VIEW_DROP_INTO_OR_BEFORE, GTK_TREE_VIEW_DROP_INTO_OR_AFTER - PGtkObjectFlags* = ptr TGtkObjectFlags - TGtkObjectFlags* = int32 - TGtkObject* = object of TGObject - flags*: guint32 - - PGtkObjectClass* = ptr TGtkObjectClass - TGtkObjectClass* = object of TGObjectClass - set_arg*: proc (anObject: PGtkObject, arg: PGtkArg, arg_id: guint){.cdecl.} - get_arg*: proc (anObject: PGtkObject, arg: PGtkArg, arg_id: guint){.cdecl.} - destroy*: proc (anObject: PGtkObject){.cdecl.} - - PGtkFundamentalType* = ptr TGtkFundamentalType - TGtkFundamentalType* = GType - TGtkFunction* = proc (data: gpointer): gboolean{.cdecl.} - TGtkDestroyNotify* = proc (data: gpointer){.cdecl.} - TGtkCallbackMarshal* = proc (anObject: PGtkObject, data: gpointer, - n_args: guint, args: PGtkArg){.cdecl.} - TGtkSignalFuncProc* = proc () - TGtkSignalFunc* = proc (para1: TGtkSignalFuncProc){.cdecl.} - PGtkSignalMarshaller* = ptr TGtkSignalMarshaller - TGtkSignalMarshaller* = TGSignalCMarshaller - TGtkArgSignalData* {.final, pure.} = object - f*: TGtkSignalFunc - d*: gpointer - - TGtkArg* {.final, pure.} = object - `type`*: TGtkType - name*: cstring - d*: gdouble # was a union type - - PGtkTypeInfo* = ptr TGtkTypeInfo - TGtkTypeInfo* {.final, pure.} = object - type_name*: cstring - object_size*: guint - class_size*: guint - class_init_func*: pointer #TGtkClassInitFunc - object_init_func*: pointer #TGtkObjectInitFunc - reserved_1*: gpointer - reserved_2*: gpointer - base_class_init_func*: pointer #TGtkClassInitFunc - - PGtkEnumValue* = ptr TGtkEnumValue - TGtkEnumValue* = TGEnumValue - PGtkFlagValue* = ptr TGtkFlagValue - TGtkFlagValue* = TGFlagsValue - PGtkWidgetFlags* = ptr TGtkWidgetFlags - TGtkWidgetFlags* = int32 - PGtkWidgetHelpType* = ptr TGtkWidgetHelpType - TGtkWidgetHelpType* = enum - GTK_WIDGET_HELP_TOOLTIP, GTK_WIDGET_HELP_WHATS_THIS - PGtkAllocation* = ptr TGtkAllocation - TGtkAllocation* = TGdkRectangle - TGtkCallback* = proc (widget: PGtkWidget, data: gpointer){.cdecl.} - PGtkRequisition* = ptr TGtkRequisition - TGtkRequisition* {.final, pure.} = object - width*: gint - height*: gint - - TGtkWidget* = object of TGtkObject - private_flags*: guint16 - state*: guint8 - saved_state*: guint8 - name*: cstring - style*: PGtkStyle - requisition*: TGtkRequisition - allocation*: TGtkAllocation - window*: PGdkWindow - parent*: PGtkWidget - - PGtkWidgetClass* = ptr TGtkWidgetClass - TGtkWidgetClass* = object of TGtkObjectClass - activate_signal*: guint - set_scroll_adjustments_signal*: guint - dispatch_child_properties_changed*: proc (widget: PGtkWidget, - n_pspecs: guint, pspecs: PPGParamSpec){.cdecl.} - show*: proc (widget: PGtkWidget){.cdecl.} - show_all*: proc (widget: PGtkWidget){.cdecl.} - hide*: proc (widget: PGtkWidget){.cdecl.} - hide_all*: proc (widget: PGtkWidget){.cdecl.} - map*: proc (widget: PGtkWidget){.cdecl.} - unmap*: proc (widget: PGtkWidget){.cdecl.} - realize*: proc (widget: PGtkWidget){.cdecl.} - unrealize*: proc (widget: PGtkWidget){.cdecl.} - size_request*: proc (widget: PGtkWidget, requisition: PGtkRequisition){. - cdecl.} - size_allocate*: proc (widget: PGtkWidget, allocation: PGtkAllocation){.cdecl.} - state_changed*: proc (widget: PGtkWidget, previous_state: TGtkStateType){. - cdecl.} - parent_set*: proc (widget: PGtkWidget, previous_parent: PGtkWidget){.cdecl.} - hierarchy_changed*: proc (widget: PGtkWidget, previous_toplevel: PGtkWidget){. - cdecl.} - style_set*: proc (widget: PGtkWidget, previous_style: PGtkStyle){.cdecl.} - direction_changed*: proc (widget: PGtkWidget, - previous_direction: TGtkTextDirection){.cdecl.} - grab_notify*: proc (widget: PGtkWidget, was_grabbed: gboolean){.cdecl.} - child_notify*: proc (widget: PGtkWidget, pspec: PGParamSpec){.cdecl.} - mnemonic_activate*: proc (widget: PGtkWidget, group_cycling: gboolean): gboolean{. - cdecl.} - grab_focus*: proc (widget: PGtkWidget){.cdecl.} - focus*: proc (widget: PGtkWidget, direction: TGtkDirectionType): gboolean{. - cdecl.} - event*: proc (widget: PGtkWidget, event: PGdkEvent): gboolean{.cdecl.} - button_press_event*: proc (widget: PGtkWidget, event: PGdkEventButton): gboolean{. - cdecl.} - button_release_event*: proc (widget: PGtkWidget, event: PGdkEventButton): gboolean{. - cdecl.} - scroll_event*: proc (widget: PGtkWidget, event: PGdkEventScroll): gboolean{. - cdecl.} - motion_notify_event*: proc (widget: PGtkWidget, event: PGdkEventMotion): gboolean{. - cdecl.} - delete_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{. - cdecl.} - destroy_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{. - cdecl.} - expose_event*: proc (widget: PGtkWidget, event: PGdkEventExpose): gboolean{. - cdecl.} - key_press_event*: proc (widget: PGtkWidget, event: PGdkEventKey): gboolean{. - cdecl.} - key_release_event*: proc (widget: PGtkWidget, event: PGdkEventKey): gboolean{. - cdecl.} - enter_notify_event*: proc (widget: PGtkWidget, event: PGdkEventCrossing): gboolean{. - cdecl.} - leave_notify_event*: proc (widget: PGtkWidget, event: PGdkEventCrossing): gboolean{. - cdecl.} - configure_event*: proc (widget: PGtkWidget, event: PGdkEventConfigure): gboolean{. - cdecl.} - focus_in_event*: proc (widget: PGtkWidget, event: PGdkEventFocus): gboolean{. - cdecl.} - focus_out_event*: proc (widget: PGtkWidget, event: PGdkEventFocus): gboolean{. - cdecl.} - map_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{.cdecl.} - unmap_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{. - cdecl.} - property_notify_event*: proc (widget: PGtkWidget, event: PGdkEventProperty): gboolean{. - cdecl.} - selection_clear_event*: proc (widget: PGtkWidget, event: PGdkEventSelection): gboolean{. - cdecl.} - selection_request_event*: proc (widget: PGtkWidget, - event: PGdkEventSelection): gboolean{.cdecl.} - selection_notify_event*: proc (widget: PGtkWidget, event: PGdkEventSelection): gboolean{. - cdecl.} - proximity_in_event*: proc (widget: PGtkWidget, event: PGdkEventProximity): gboolean{. - cdecl.} - proximity_out_event*: proc (widget: PGtkWidget, event: PGdkEventProximity): gboolean{. - cdecl.} - visibility_notify_event*: proc (widget: PGtkWidget, - event: PGdkEventVisibility): gboolean{.cdecl.} - client_event*: proc (widget: PGtkWidget, event: PGdkEventClient): gboolean{. - cdecl.} - no_expose_event*: proc (widget: PGtkWidget, event: PGdkEventAny): gboolean{. - cdecl.} - window_state_event*: proc (widget: PGtkWidget, event: PGdkEventWindowState): gboolean{. - cdecl.} - selection_get*: proc (widget: PGtkWidget, selection_data: PGtkSelectionData, - info: guint, time: guint){.cdecl.} - selection_received*: proc (widget: PGtkWidget, - selection_data: PGtkSelectionData, time: guint){. - cdecl.} - drag_begin*: proc (widget: PGtkWidget, context: PGdkDragContext){.cdecl.} - drag_end*: proc (widget: PGtkWidget, context: PGdkDragContext){.cdecl.} - drag_data_get*: proc (widget: PGtkWidget, context: PGdkDragContext, - selection_data: PGtkSelectionData, info: guint, - time: guint){.cdecl.} - drag_data_delete*: proc (widget: PGtkWidget, context: PGdkDragContext){. - cdecl.} - drag_leave*: proc (widget: PGtkWidget, context: PGdkDragContext, time: guint){. - cdecl.} - drag_motion*: proc (widget: PGtkWidget, context: PGdkDragContext, x: gint, - y: gint, time: guint): gboolean{.cdecl.} - drag_drop*: proc (widget: PGtkWidget, context: PGdkDragContext, x: gint, - y: gint, time: guint): gboolean{.cdecl.} - drag_data_received*: proc (widget: PGtkWidget, context: PGdkDragContext, - x: gint, y: gint, - selection_data: PGtkSelectionData, info: guint, - time: guint){.cdecl.} - popup_menu*: proc (widget: PGtkWidget): gboolean{.cdecl.} - show_help*: proc (widget: PGtkWidget, help_type: TGtkWidgetHelpType): gboolean{. - cdecl.} - get_accessible*: proc (widget: PGtkWidget): PAtkObject{.cdecl.} - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - gtk_reserved5*: proc (){.cdecl.} - gtk_reserved6*: proc (){.cdecl.} - gtk_reserved7*: proc (){.cdecl.} - gtk_reserved8*: proc (){.cdecl.} - - PGtkWidgetAuxInfo* = ptr TGtkWidgetAuxInfo - TGtkWidgetAuxInfo* {.final, pure.} = object - x*: gint - y*: gint - width*: gint - height*: gint - flag0*: guint16 - - PGtkWidgetShapeInfo* = ptr TGtkWidgetShapeInfo - TGtkWidgetShapeInfo* {.final, pure.} = object - offset_x*: gint16 - offset_y*: gint16 - shape_mask*: PGdkBitmap - - TGtkMisc* = object of TGtkWidget - xalign*: gfloat - yalign*: gfloat - xpad*: guint16 - ypad*: guint16 - - PGtkMiscClass* = ptr TGtkMiscClass - TGtkMiscClass* = object of TGtkWidgetClass - - PGtkAccelFlags* = ptr TGtkAccelFlags - TGtkAccelFlags* = int32 - PGtkAccelGroup* = ptr TGtkAccelGroup - PGtkAccelGroupEntry* = ptr TGtkAccelGroupEntry - TGtkAccelGroupActivate* = proc (accel_group: PGtkAccelGroup, - acceleratable: PGObject, keyval: guint, - modifier: TGdkModifierType): gboolean{.cdecl.} - TGtkAccelGroup* = object of TGObject - lock_count*: guint - modifier_mask*: TGdkModifierType - acceleratables*: PGSList - n_accels*: guint - priv_accels*: PGtkAccelGroupEntry - - PGtkAccelGroupClass* = ptr TGtkAccelGroupClass - TGtkAccelGroupClass* = object of TGObjectClass - accel_changed*: proc (accel_group: PGtkAccelGroup, keyval: guint, - modifier: TGdkModifierType, accel_closure: PGClosure){. - cdecl.} - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - - PGtkAccelKey* = ptr TGtkAccelKey - TGtkAccelKey* {.final, pure.} = object - accel_key*: guint - accel_mods*: TGdkModifierType - flag0*: guint16 - - TGtkAccelGroupEntry* {.final, pure.} = object - key*: TGtkAccelKey - closure*: PGClosure - accel_path_quark*: TGQuark - - Tgtk_accel_group_find_func* = proc (key: PGtkAccelKey, closure: PGClosure, - data: gpointer): gboolean{.cdecl.} - PGtkContainer* = ptr TGtkContainer - TGtkContainer* = object of TGtkWidget - focus_child*: PGtkWidget - GtkContainer_flag0*: int32 - - PGtkContainerClass* = ptr TGtkContainerClass - TGtkContainerClass* = object of TGtkWidgetClass - add*: proc (container: PGtkContainer, widget: PGtkWidget){.cdecl.} - remove*: proc (container: PGtkContainer, widget: PGtkWidget){.cdecl.} - check_resize*: proc (container: PGtkContainer){.cdecl.} - forall*: proc (container: PGtkContainer, include_internals: gboolean, - callback: TGtkCallback, callback_data: gpointer){.cdecl.} - set_focus_child*: proc (container: PGtkContainer, widget: PGtkWidget){.cdecl.} - child_type*: proc (container: PGtkContainer): TGtkType{.cdecl.} - composite_name*: proc (container: PGtkContainer, child: PGtkWidget): cstring{. - cdecl.} - set_child_property*: proc (container: PGtkContainer, child: PGtkWidget, - property_id: guint, value: PGValue, - pspec: PGParamSpec){.cdecl.} - get_child_property*: proc (container: PGtkContainer, child: PGtkWidget, - property_id: guint, value: PGValue, - pspec: PGParamSpec){.cdecl.} - gtk_reserved20: proc (){.cdecl.} - gtk_reserved21: proc (){.cdecl.} - gtk_reserved23: proc (){.cdecl.} - gtk_reserved24: proc (){.cdecl.} - - PGtkBin* = ptr TGtkBin - TGtkBin* = object of TGtkContainer - child*: PGtkWidget - - PGtkBinClass* = ptr TGtkBinClass - TGtkBinClass* = object of TGtkContainerClass - - PGtkWindowGeometryInfo* = pointer - PGtkWindowGroup* = ptr TGtkWindowGroup - PGtkWindow* = ptr TGtkWindow - TGtkWindow* = object of TGtkBin - title*: cstring - wmclass_name*: cstring - wmclass_class*: cstring - wm_role*: cstring - focus_widget*: PGtkWidget - default_widget*: PGtkWidget - transient_parent*: PGtkWindow - geometry_info*: PGtkWindowGeometryInfo - frame*: PGdkWindow - group*: PGtkWindowGroup - configure_request_count*: guint16 - gtkwindow_flag0*: int32 - frame_left*: guint - frame_top*: guint - frame_right*: guint - frame_bottom*: guint - keys_changed_handler*: guint - mnemonic_modifier*: TGdkModifierType - screen*: PGdkScreen - - PGtkWindowClass* = ptr TGtkWindowClass - TGtkWindowClass* = object of TGtkBinClass - set_focus*: proc (window: PGtkWindow, focus: PGtkWidget){.cdecl.} - frame_event*: proc (window: PGtkWindow, event: PGdkEvent): gboolean{.cdecl.} - activate_focus*: proc (window: PGtkWindow){.cdecl.} - activate_default*: proc (window: PGtkWindow){.cdecl.} - move_focus*: proc (window: PGtkWindow, direction: TGtkDirectionType){.cdecl.} - keys_changed*: proc (window: PGtkWindow){.cdecl.} - gtk_reserved30: proc (){.cdecl.} - gtk_reserved31: proc (){.cdecl.} - gtk_reserved32: proc (){.cdecl.} - gtk_reserved33: proc (){.cdecl.} - - TGtkWindowGroup* = object of TGObject - grabs*: PGSList - - PGtkWindowGroupClass* = ptr TGtkWindowGroupClass - TGtkWindowGroupClass* = object of TGObjectClass - gtk_reserved40: proc (){.cdecl.} - gtk_reserved41: proc (){.cdecl.} - gtk_reserved42: proc (){.cdecl.} - gtk_reserved43: proc (){.cdecl.} - - TGtkWindowKeysForeachFunc* = proc (window: PGtkWindow, keyval: guint, - modifiers: TGdkModifierType, - is_mnemonic: gboolean, data: gpointer){. - cdecl.} - PGtkLabelSelectionInfo* = pointer - TGtkLabel* = object of TGtkMisc - `label`*: cstring - GtkLabel_flag0*: guint16 - mnemonic_keyval*: guint - text*: cstring - attrs*: PPangoAttrList - effective_attrs*: PPangoAttrList - layout*: PPangoLayout - mnemonic_widget*: PGtkWidget - mnemonic_window*: PGtkWindow - select_info*: PGtkLabelSelectionInfo - - PGtkLabelClass* = ptr TGtkLabelClass - TGtkLabelClass* = object of TGtkMiscClass - move_cursor*: proc (`label`: PGtkLabel, step: TGtkMovementStep, count: gint, - extend_selection: gboolean){.cdecl.} - copy_clipboard*: proc (`label`: PGtkLabel){.cdecl.} - populate_popup*: proc (`label`: PGtkLabel, menu: PGtkMenu){.cdecl.} - gtk_reserved50: proc (){.cdecl.} - gtk_reserved51: proc (){.cdecl.} - gtk_reserved52: proc (){.cdecl.} - gtk_reserved53: proc (){.cdecl.} - - PGtkAccelLabel* = ptr TGtkAccelLabel - TGtkAccelLabel* = object of TGtkLabel - queue_id*: guint - accel_padding*: guint - accel_widget*: PGtkWidget - accel_closure*: PGClosure - accel_group*: PGtkAccelGroup - accel_string*: cstring - accel_string_width*: guint16 - - PGtkAccelLabelClass* = ptr TGtkAccelLabelClass - TGtkAccelLabelClass* = object of TGtkLabelClass - signal_quote1*: cstring - signal_quote2*: cstring - mod_name_shift*: cstring - mod_name_control*: cstring - mod_name_alt*: cstring - mod_separator*: cstring - accel_seperator*: cstring - GtkAccelLabelClass_flag0*: guint16 - gtk_reserved61: proc (){.cdecl.} - gtk_reserved62: proc (){.cdecl.} - gtk_reserved63: proc (){.cdecl.} - gtk_reserved64: proc (){.cdecl.} - - TGtkAccelMapForeach* = proc (data: gpointer, accel_path: cstring, - accel_key: guint, accel_mods: TGdkModifierType, - changed: gboolean){.cdecl.} - PGtkAccessible* = ptr TGtkAccessible - TGtkAccessible* = object of TAtkObject - widget*: PGtkWidget - - PGtkAccessibleClass* = ptr TGtkAccessibleClass - TGtkAccessibleClass* = object of TAtkObjectClass - connect_widget_destroyed*: proc (accessible: PGtkAccessible){.cdecl.} - gtk_reserved71: proc (){.cdecl.} - gtk_reserved72: proc (){.cdecl.} - gtk_reserved73: proc (){.cdecl.} - gtk_reserved74: proc (){.cdecl.} - - PGtkAdjustment* = ptr TGtkAdjustment - TGtkAdjustment* = object of TGtkObject - lower*: gdouble - upper*: gdouble - value*: gdouble - step_increment*: gdouble - page_increment*: gdouble - page_size*: gdouble - - PGtkAdjustmentClass* = ptr TGtkAdjustmentClass - TGtkAdjustmentClass* = object of TGtkObjectClass - changed*: proc (adjustment: PGtkAdjustment){.cdecl.} - value_changed*: proc (adjustment: PGtkAdjustment){.cdecl.} - gtk_reserved81: proc (){.cdecl.} - gtk_reserved82: proc (){.cdecl.} - gtk_reserved83: proc (){.cdecl.} - gtk_reserved84: proc (){.cdecl.} - - PGtkAlignment* = ptr TGtkAlignment - TGtkAlignment* = object of TGtkBin - xalign*: gfloat - yalign*: gfloat - xscale*: gfloat - yscale*: gfloat - - PGtkAlignmentClass* = ptr TGtkAlignmentClass - TGtkAlignmentClass* = object of TGtkBinClass - - PGtkFrame* = ptr TGtkFrame - TGtkFrame* = object of TGtkBin - label_widget*: PGtkWidget - shadow_type*: gint16 - label_xalign*: gfloat - label_yalign*: gfloat - child_allocation*: TGtkAllocation - - PGtkFrameClass* = ptr TGtkFrameClass - TGtkFrameClass* = object of TGtkBinClass - compute_child_allocation*: proc (frame: PGtkFrame, - allocation: PGtkAllocation){.cdecl.} - - PGtkAspectFrame* = ptr TGtkAspectFrame - TGtkAspectFrame* = object of TGtkFrame - xalign*: gfloat - yalign*: gfloat - ratio*: gfloat - obey_child*: gboolean - center_allocation*: TGtkAllocation - - PGtkAspectFrameClass* = ptr TGtkAspectFrameClass - TGtkAspectFrameClass* = object of TGtkFrameClass - - PGtkArrow* = ptr TGtkArrow - TGtkArrow* = object of TGtkMisc - arrow_type*: gint16 - shadow_type*: gint16 - - PGtkArrowClass* = ptr TGtkArrowClass - TGtkArrowClass* = object of TGtkMiscClass - - PGtkBindingEntry* = ptr TGtkBindingEntry - PGtkBindingSignal* = ptr TGtkBindingSignal - PGtkBindingArg* = ptr TGtkBindingArg - PGtkBindingSet* = ptr TGtkBindingSet - TGtkBindingSet* {.final, pure.} = object - set_name*: cstring - priority*: gint - widget_path_pspecs*: PGSList - widget_class_pspecs*: PGSList - class_branch_pspecs*: PGSList - entries*: PGtkBindingEntry - current*: PGtkBindingEntry - flag0*: guint16 - - TGtkBindingEntry* {.final, pure.} = object - keyval*: guint - modifiers*: TGdkModifierType - binding_set*: PGtkBindingSet - flag0*: guint16 - set_next*: PGtkBindingEntry - hash_next*: PGtkBindingEntry - signals*: PGtkBindingSignal - - TGtkBindingSignal* {.final, pure.} = object - next*: PGtkBindingSignal - signal_name*: cstring - n_args*: guint - args*: PGtkBindingArg - - TGtkBindingArg* {.final, pure.} = object - arg_type*: TGtkType - d*: gdouble - - PGtkBox* = ptr TGtkBox - TGtkBox* = object of TGtkContainer - children*: PGList - spacing*: gint16 - gtkbox_flag0*: guint16 - - PGtkBoxClass* = ptr TGtkBoxClass - TGtkBoxClass* = object of TGtkContainerClass - - PGtkBoxChild* = ptr TGtkBoxChild - TGtkBoxChild* {.final, pure.} = object - widget*: PGtkWidget - padding*: guint16 - flag0*: guint16 - - PGtkButtonBox* = ptr TGtkButtonBox - TGtkButtonBox* = object of TGtkBox - child_min_width*: gint - child_min_height*: gint - child_ipad_x*: gint - child_ipad_y*: gint - layout_style*: TGtkButtonBoxStyle - - PGtkButtonBoxClass* = ptr TGtkButtonBoxClass - TGtkButtonBoxClass* = object of TGtkBoxClass - - PGtkButton* = ptr TGtkButton - TGtkButton* = object of TGtkBin - event_window*: PGdkWindow - label_text*: cstring - activate_timeout*: guint - gtkbutton_flag0*: guint16 - - PGtkButtonClass* = ptr TGtkButtonClass - TGtkButtonClass* = object of TGtkBinClass - pressed*: proc (button: PGtkButton){.cdecl.} - released*: proc (button: PGtkButton){.cdecl.} - clicked*: proc (button: PGtkButton){.cdecl.} - enter*: proc (button: PGtkButton){.cdecl.} - leave*: proc (button: PGtkButton){.cdecl.} - activate*: proc (button: PGtkButton){.cdecl.} - gtk_reserved101: proc (){.cdecl.} - gtk_reserved102: proc (){.cdecl.} - gtk_reserved103: proc (){.cdecl.} - gtk_reserved104: proc (){.cdecl.} - - PGtkCalendarDisplayOptions* = ptr TGtkCalendarDisplayOptions - TGtkCalendarDisplayOptions* = int32 - PGtkCalendar* = ptr TGtkCalendar - TGtkCalendar* = object of TGtkWidget - header_style*: PGtkStyle - label_style*: PGtkStyle - month*: gint - year*: gint - selected_day*: gint - day_month*: array[0..5, array[0..6, gint]] - day*: array[0..5, array[0..6, gint]] - num_marked_dates*: gint - marked_date*: array[0..30, gint] - display_flags*: TGtkCalendarDisplayOptions - marked_date_color*: array[0..30, TGdkColor] - gc*: PGdkGC - xor_gc*: PGdkGC - focus_row*: gint - focus_col*: gint - highlight_row*: gint - highlight_col*: gint - private_data*: gpointer - grow_space*: array[0..31, gchar] - gtk_reserved111: proc (){.cdecl.} - gtk_reserved112: proc (){.cdecl.} - gtk_reserved113: proc (){.cdecl.} - gtk_reserved114: proc (){.cdecl.} - - PGtkCalendarClass* = ptr TGtkCalendarClass - TGtkCalendarClass* = object of TGtkWidgetClass - month_changed*: proc (calendar: PGtkCalendar){.cdecl.} - day_selected*: proc (calendar: PGtkCalendar){.cdecl.} - day_selected_double_click*: proc (calendar: PGtkCalendar){.cdecl.} - prev_month*: proc (calendar: PGtkCalendar){.cdecl.} - next_month*: proc (calendar: PGtkCalendar){.cdecl.} - prev_year*: proc (calendar: PGtkCalendar){.cdecl.} - next_year*: proc (calendar: PGtkCalendar){.cdecl.} - - PGtkCellEditable* = pointer - PGtkCellEditableIface* = ptr TGtkCellEditableIface - TGtkCellEditableIface* = object of TGTypeInterface - editing_done*: proc (cell_editable: PGtkCellEditable){.cdecl.} - remove_widget*: proc (cell_editable: PGtkCellEditable){.cdecl.} - start_editing*: proc (cell_editable: PGtkCellEditable, event: PGdkEvent){. - cdecl.} - - PGtkCellRendererState* = ptr TGtkCellRendererState - TGtkCellRendererState* = int32 - PGtkCellRendererMode* = ptr TGtkCellRendererMode - TGtkCellRendererMode* = enum - GTK_CELL_RENDERER_MODE_INERT, GTK_CELL_RENDERER_MODE_ACTIVATABLE, - GTK_CELL_RENDERER_MODE_EDITABLE - PGtkCellRenderer* = ptr TGtkCellRenderer - TGtkCellRenderer* = object of TGtkObject - xalign*: gfloat - yalign*: gfloat - width*: gint - height*: gint - xpad*: guint16 - ypad*: guint16 - GtkCellRenderer_flag0*: guint16 - - PGtkCellRendererClass* = ptr TGtkCellRendererClass - TGtkCellRendererClass* = object of TGtkObjectClass - get_size*: proc (cell: PGtkCellRenderer, widget: PGtkWidget, - cell_area: PGdkRectangle, x_offset: Pgint, y_offset: Pgint, - width: Pgint, height: Pgint){.cdecl.} - render*: proc (cell: PGtkCellRenderer, window: PGdkWindow, - widget: PGtkWidget, background_area: PGdkRectangle, - cell_area: PGdkRectangle, expose_area: PGdkRectangle, - flags: TGtkCellRendererState){.cdecl.} - activate*: proc (cell: PGtkCellRenderer, event: PGdkEvent, - widget: PGtkWidget, path: cstring, - background_area: PGdkRectangle, cell_area: PGdkRectangle, - flags: TGtkCellRendererState): gboolean{.cdecl.} - start_editing*: proc (cell: PGtkCellRenderer, event: PGdkEvent, - widget: PGtkWidget, path: cstring, - background_area: PGdkRectangle, - cell_area: PGdkRectangle, flags: TGtkCellRendererState): PGtkCellEditable{. - cdecl.} - gtk_reserved121: proc (){.cdecl.} - gtk_reserved122: proc (){.cdecl.} - gtk_reserved123: proc (){.cdecl.} - gtk_reserved124: proc (){.cdecl.} - - PGtkCellRendererText* = ptr TGtkCellRendererText - TGtkCellRendererText* = object of TGtkCellRenderer - text*: cstring - font*: PPangoFontDescription - font_scale*: gdouble - foreground*: TPangoColor - background*: TPangoColor - extra_attrs*: PPangoAttrList - underline_style*: TPangoUnderline - rise*: gint - fixed_height_rows*: gint - GtkCellRendererText_flag0*: guint16 - - PGtkCellRendererTextClass* = ptr TGtkCellRendererTextClass - TGtkCellRendererTextClass* = object of TGtkCellRendererClass - edited*: proc (cell_renderer_text: PGtkCellRendererText, path: cstring, - new_text: cstring){.cdecl.} - gtk_reserved131: proc (){.cdecl.} - gtk_reserved132: proc (){.cdecl.} - gtk_reserved133: proc (){.cdecl.} - gtk_reserved134: proc (){.cdecl.} - - PGtkCellRendererToggle* = ptr TGtkCellRendererToggle - TGtkCellRendererToggle* = object of TGtkCellRenderer - GtkCellRendererToggle_flag0*: guint16 - - PGtkCellRendererToggleClass* = ptr TGtkCellRendererToggleClass - TGtkCellRendererToggleClass* = object of TGtkCellRendererClass - toggled*: proc (cell_renderer_toggle: PGtkCellRendererToggle, path: cstring){. - cdecl.} - gtk_reserved141: proc (){.cdecl.} - gtk_reserved142: proc (){.cdecl.} - gtk_reserved143: proc (){.cdecl.} - gtk_reserved144: proc (){.cdecl.} - - PGtkCellRendererPixbuf* = ptr TGtkCellRendererPixbuf - TGtkCellRendererPixbuf* = object of TGtkCellRenderer - pixbuf*: PGdkPixbuf - pixbuf_expander_open*: PGdkPixbuf - pixbuf_expander_closed*: PGdkPixbuf - - PGtkCellRendererPixbufClass* = ptr TGtkCellRendererPixbufClass - TGtkCellRendererPixbufClass* = object of TGtkCellRendererClass - gtk_reserved151: proc (){.cdecl.} - gtk_reserved152: proc (){.cdecl.} - gtk_reserved153: proc (){.cdecl.} - gtk_reserved154: proc (){.cdecl.} - - PGtkItem* = ptr TGtkItem - TGtkItem* = object of TGtkBin - - PGtkItemClass* = ptr TGtkItemClass - TGtkItemClass* = object of TGtkBinClass - select*: proc (item: PGtkItem){.cdecl.} - deselect*: proc (item: PGtkItem){.cdecl.} - toggle*: proc (item: PGtkItem){.cdecl.} - gtk_reserved161: proc (){.cdecl.} - gtk_reserved162: proc (){.cdecl.} - gtk_reserved163: proc (){.cdecl.} - gtk_reserved164: proc (){.cdecl.} - - PGtkMenuItem* = ptr TGtkMenuItem - TGtkMenuItem* = object of TGtkItem - submenu*: PGtkWidget - event_window*: PGdkWindow - toggle_size*: guint16 - accelerator_width*: guint16 - accel_path*: cstring - GtkMenuItem_flag0*: guint16 - timer*: guint - - PGtkMenuItemClass* = ptr TGtkMenuItemClass - TGtkMenuItemClass* = object of TGtkItemClass - GtkMenuItemClass_flag0*: guint16 - activate*: proc (menu_item: PGtkMenuItem){.cdecl.} - activate_item*: proc (menu_item: PGtkMenuItem){.cdecl.} - toggle_size_request*: proc (menu_item: PGtkMenuItem, requisition: Pgint){. - cdecl.} - toggle_size_allocate*: proc (menu_item: PGtkMenuItem, allocation: gint){. - cdecl.} - gtk_reserved171: proc (){.cdecl.} - gtk_reserved172: proc (){.cdecl.} - gtk_reserved173: proc (){.cdecl.} - gtk_reserved174: proc (){.cdecl.} - - PGtkToggleButton* = ptr TGtkToggleButton - TGtkToggleButton* = object of TGtkButton - GtkToggleButton_flag0*: guint16 - - PGtkToggleButtonClass* = ptr TGtkToggleButtonClass - TGtkToggleButtonClass* = object of TGtkButtonClass - toggled*: proc (toggle_button: PGtkToggleButton){.cdecl.} - gtk_reserved171: proc (){.cdecl.} - gtk_reserved172: proc (){.cdecl.} - gtk_reserved173: proc (){.cdecl.} - gtk_reserved174: proc (){.cdecl.} - - PGtkCheckButton* = ptr TGtkCheckButton - TGtkCheckButton* = object of TGtkToggleButton - - PGtkCheckButtonClass* = ptr TGtkCheckButtonClass - TGtkCheckButtonClass* = object of TGtkToggleButtonClass - draw_indicator*: proc (check_button: PGtkCheckButton, area: PGdkRectangle){. - cdecl.} - gtk_reserved181: proc (){.cdecl.} - gtk_reserved182: proc (){.cdecl.} - gtk_reserved183: proc (){.cdecl.} - gtk_reserved184: proc (){.cdecl.} - - PGtkCheckMenuItem* = ptr TGtkCheckMenuItem - TGtkCheckMenuItem* = object of TGtkMenuItem - GtkCheckMenuItem_flag0*: guint16 - - PGtkCheckMenuItemClass* = ptr TGtkCheckMenuItemClass - TGtkCheckMenuItemClass* = object of TGtkMenuItemClass - toggled*: proc (check_menu_item: PGtkCheckMenuItem){.cdecl.} - draw_indicator*: proc (check_menu_item: PGtkCheckMenuItem, - area: PGdkRectangle){.cdecl.} - gtk_reserved191: proc (){.cdecl.} - gtk_reserved192: proc (){.cdecl.} - gtk_reserved193: proc (){.cdecl.} - gtk_reserved194: proc (){.cdecl.} - - PGtkClipboard* = pointer - TGtkClipboardReceivedFunc* = proc (clipboard: PGtkClipboard, - selection_data: PGtkSelectionData, - data: gpointer){.cdecl.} - TGtkClipboardTextReceivedFunc* = proc (clipboard: PGtkClipboard, text: cstring, - data: gpointer){.cdecl.} - TGtkClipboardGetFunc* = proc (clipboard: PGtkClipboard, - selection_data: PGtkSelectionData, info: guint, - user_data_or_owner: gpointer){.cdecl.} - TGtkClipboardClearFunc* = proc (clipboard: PGtkClipboard, - user_data_or_owner: gpointer){.cdecl.} - PGtkCList* = ptr TGtkCList - PGtkCListColumn* = ptr TGtkCListColumn - PGtkCListRow* = ptr TGtkCListRow - PGtkCell* = ptr TGtkCell - PGtkCellType* = ptr TGtkCellType - TGtkCellType* = enum - GTK_CELL_EMPTY, GTK_CELL_TEXT, GTK_CELL_PIXMAP, GTK_CELL_PIXTEXT, - GTK_CELL_WIDGET - PGtkCListDragPos* = ptr TGtkCListDragPos - TGtkCListDragPos* = enum - GTK_CLIST_DRAG_NONE, GTK_CLIST_DRAG_BEFORE, GTK_CLIST_DRAG_INTO, - GTK_CLIST_DRAG_AFTER - PGtkButtonAction* = ptr TGtkButtonAction - TGtkButtonAction* = int32 - TGtkCListCompareFunc* = proc (clist: PGtkCList, ptr1: gconstpointer, - ptr2: gconstpointer): gint{.cdecl.} - PGtkCListCellInfo* = ptr TGtkCListCellInfo - TGtkCListCellInfo* {.final, pure.} = object - row*: gint - column*: gint - - PGtkCListDestInfo* = ptr TGtkCListDestInfo - TGtkCListDestInfo* {.final, pure.} = object - cell*: TGtkCListCellInfo - insert_pos*: TGtkCListDragPos - - TGtkCList* = object of TGtkContainer - GtkCList_flags*: guint16 - row_mem_chunk*: PGMemChunk - cell_mem_chunk*: PGMemChunk - freeze_count*: guint - internal_allocation*: TGdkRectangle - rows*: gint - row_height*: gint - row_list*: PGList - row_list_end*: PGList - columns*: gint - column_title_area*: TGdkRectangle - title_window*: PGdkWindow - column*: PGtkCListColumn - clist_window*: PGdkWindow - clist_window_width*: gint - clist_window_height*: gint - hoffset*: gint - voffset*: gint - shadow_type*: TGtkShadowType - selection_mode*: TGtkSelectionMode - selection*: PGList - selection_end*: PGList - undo_selection*: PGList - undo_unselection*: PGList - undo_anchor*: gint - button_actions*: array[0..4, guint8] - drag_button*: guint8 - click_cell*: TGtkCListCellInfo - hadjustment*: PGtkAdjustment - vadjustment*: PGtkAdjustment - xor_gc*: PGdkGC - fg_gc*: PGdkGC - bg_gc*: PGdkGC - cursor_drag*: PGdkCursor - x_drag*: gint - focus_row*: gint - focus_header_column*: gint - anchor*: gint - anchor_state*: TGtkStateType - drag_pos*: gint - htimer*: gint - vtimer*: gint - sort_type*: TGtkSortType - compare*: TGtkCListCompareFunc - sort_column*: gint - drag_highlight_row*: gint - drag_highlight_pos*: TGtkCListDragPos - - PGtkCListClass* = ptr TGtkCListClass - TGtkCListClass* = object of TGtkContainerClass - set_scroll_adjustments*: proc (clist: PGtkCList, - hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment){.cdecl.} - refresh*: proc (clist: PGtkCList){.cdecl.} - select_row*: proc (clist: PGtkCList, row: gint, column: gint, - event: PGdkEvent){.cdecl.} - unselect_row*: proc (clist: PGtkCList, row: gint, column: gint, - event: PGdkEvent){.cdecl.} - row_move*: proc (clist: PGtkCList, source_row: gint, dest_row: gint){.cdecl.} - click_column*: proc (clist: PGtkCList, column: gint){.cdecl.} - resize_column*: proc (clist: PGtkCList, column: gint, width: gint){.cdecl.} - toggle_focus_row*: proc (clist: PGtkCList){.cdecl.} - select_all*: proc (clist: PGtkCList){.cdecl.} - unselect_all*: proc (clist: PGtkCList){.cdecl.} - undo_selection*: proc (clist: PGtkCList){.cdecl.} - start_selection*: proc (clist: PGtkCList){.cdecl.} - end_selection*: proc (clist: PGtkCList){.cdecl.} - extend_selection*: proc (clist: PGtkCList, scroll_type: TGtkScrollType, - position: gfloat, auto_start_selection: gboolean){. - cdecl.} - scroll_horizontal*: proc (clist: PGtkCList, scroll_type: TGtkScrollType, - position: gfloat){.cdecl.} - scroll_vertical*: proc (clist: PGtkCList, scroll_type: TGtkScrollType, - position: gfloat){.cdecl.} - toggle_add_mode*: proc (clist: PGtkCList){.cdecl.} - abort_column_resize*: proc (clist: PGtkCList){.cdecl.} - resync_selection*: proc (clist: PGtkCList, event: PGdkEvent){.cdecl.} - selection_find*: proc (clist: PGtkCList, row_number: gint, - row_list_element: PGList): PGList{.cdecl.} - draw_row*: proc (clist: PGtkCList, area: PGdkRectangle, row: gint, - clist_row: PGtkCListRow){.cdecl.} - draw_drag_highlight*: proc (clist: PGtkCList, target_row: PGtkCListRow, - target_row_number: gint, - drag_pos: TGtkCListDragPos){.cdecl.} - clear*: proc (clist: PGtkCList){.cdecl.} - fake_unselect_all*: proc (clist: PGtkCList, row: gint){.cdecl.} - sort_list*: proc (clist: PGtkCList){.cdecl.} - insert_row*: proc (clist: PGtkCList, row: gint): gint{.cdecl, varargs.} - remove_row*: proc (clist: PGtkCList, row: gint){.cdecl.} - set_cell_contents*: proc (clist: PGtkCList, clist_row: PGtkCListRow, - column: gint, thetype: TGtkCellType, text: cstring, - spacing: guint8, pixmap: PGdkPixmap, - mask: PGdkBitmap){.cdecl.} - cell_size_request*: proc (clist: PGtkCList, clist_row: PGtkCListRow, - column: gint, requisition: PGtkRequisition){.cdecl.} - - PGPtrArray = pointer - PGArray = pointer - TGtkCListColumn* {.final, pure.} = object - title*: cstring - area*: TGdkRectangle - button*: PGtkWidget - window*: PGdkWindow - width*: gint - min_width*: gint - max_width*: gint - justification*: TGtkJustification - flag0*: guint16 - - TGtkCListRow* {.final, pure.} = object - cell*: PGtkCell - state*: TGtkStateType - foreground*: TGdkColor - background*: TGdkColor - style*: PGtkStyle - data*: gpointer - destroy*: TGtkDestroyNotify - flag0*: guint16 - - PGtkCellText* = ptr TGtkCellText - TGtkCellText* {.final, pure.} = object - `type`*: TGtkCellType - vertical*: gint16 - horizontal*: gint16 - style*: PGtkStyle - text*: cstring - - PGtkCellPixmap* = ptr TGtkCellPixmap - TGtkCellPixmap* {.final, pure.} = object - `type`*: TGtkCellType - vertical*: gint16 - horizontal*: gint16 - style*: PGtkStyle - pixmap*: PGdkPixmap - mask*: PGdkBitmap - - PGtkCellPixText* = ptr TGtkCellPixText - TGtkCellPixText* {.final, pure.} = object - `type`*: TGtkCellType - vertical*: gint16 - horizontal*: gint16 - style*: PGtkStyle - text*: cstring - spacing*: guint8 - pixmap*: PGdkPixmap - mask*: PGdkBitmap - - PGtkCellWidget* = ptr TGtkCellWidget - TGtkCellWidget* {.final, pure.} = object - `type`*: TGtkCellType - vertical*: gint16 - horizontal*: gint16 - style*: PGtkStyle - widget*: PGtkWidget - - TGtkCell* {.final, pure.} = object - `type`*: TGtkCellType - vertical*: gint16 - horizontal*: gint16 - style*: PGtkStyle - text*: cstring - spacing*: guint8 - pixmap*: PGdkPixmap - mask*: PGdkBitmap - - PGtkDialogFlags* = ptr TGtkDialogFlags - TGtkDialogFlags* = int32 - PGtkResponseType* = ptr TGtkResponseType - TGtkResponseType* = int32 - PGtkDialog* = ptr TGtkDialog - TGtkDialog* = object of TGtkWindow - vbox*: PGtkWidget - action_area*: PGtkWidget - separator*: PGtkWidget - - PGtkDialogClass* = ptr TGtkDialogClass - TGtkDialogClass* = object of TGtkWindowClass - response*: proc (dialog: PGtkDialog, response_id: gint){.cdecl.} - closeFile*: proc (dialog: PGtkDialog){.cdecl.} - gtk_reserved201: proc (){.cdecl.} - gtk_reserved202: proc (){.cdecl.} - gtk_reserved203: proc (){.cdecl.} - gtk_reserved204: proc (){.cdecl.} - - PGtkVBox* = ptr TGtkVBox - TGtkVBox* = object of TGtkBox - - PGtkVBoxClass* = ptr TGtkVBoxClass - TGtkVBoxClass* = object of TGtkBoxClass - - TGtkColorSelectionChangePaletteFunc* = proc (colors: PGdkColor, n_colors: gint){. - cdecl.} - TGtkColorSelectionChangePaletteWithScreenFunc* = proc (screen: PGdkScreen, - colors: PGdkColor, n_colors: gint){.cdecl.} - PGtkColorSelection* = ptr TGtkColorSelection - TGtkColorSelection* = object of TGtkVBox - private_data*: gpointer - - PGtkColorSelectionClass* = ptr TGtkColorSelectionClass - TGtkColorSelectionClass* = object of TGtkVBoxClass - color_changed*: proc (color_selection: PGtkColorSelection){.cdecl.} - gtk_reserved211: proc (){.cdecl.} - gtk_reserved212: proc (){.cdecl.} - gtk_reserved213: proc (){.cdecl.} - gtk_reserved214: proc (){.cdecl.} - - PGtkColorSelectionDialog* = ptr TGtkColorSelectionDialog - TGtkColorSelectionDialog* = object of TGtkDialog - colorsel*: PGtkWidget - ok_button*: PGtkWidget - cancel_button*: PGtkWidget - help_button*: PGtkWidget - - PGtkColorSelectionDialogClass* = ptr TGtkColorSelectionDialogClass - TGtkColorSelectionDialogClass* = object of TGtkDialogClass - gtk_reserved221: proc (){.cdecl.} - gtk_reserved222: proc (){.cdecl.} - gtk_reserved223: proc (){.cdecl.} - gtk_reserved224: proc (){.cdecl.} - - PGtkHBox* = ptr TGtkHBox - TGtkHBox* = object of TGtkBox - - PGtkHBoxClass* = ptr TGtkHBoxClass - TGtkHBoxClass* = object of TGtkBoxClass - - PGtkCombo* = ptr TGtkCombo - TGtkCombo* = object of TGtkHBox - entry*: PGtkWidget - button*: PGtkWidget - popup*: PGtkWidget - popwin*: PGtkWidget - list*: PGtkWidget - entry_change_id*: guint - list_change_id*: guint - GtkCombo_flag0*: guint16 - current_button*: guint16 - activate_id*: guint - - PGtkComboClass* = ptr TGtkComboClass - TGtkComboClass* = object of TGtkHBoxClass - gtk_reserved231: proc (){.cdecl.} - gtk_reserved232: proc (){.cdecl.} - gtk_reserved233: proc (){.cdecl.} - gtk_reserved234: proc (){.cdecl.} - - PGtkCTreePos* = ptr TGtkCTreePos - TGtkCTreePos* = enum - GTK_CTREE_POS_BEFORE, GTK_CTREE_POS_AS_CHILD, GTK_CTREE_POS_AFTER - PGtkCTreeLineStyle* = ptr TGtkCTreeLineStyle - TGtkCTreeLineStyle* = enum - GTK_CTREE_LINES_NONE, GTK_CTREE_LINES_SOLID, GTK_CTREE_LINES_DOTTED, - GTK_CTREE_LINES_TABBED - PGtkCTreeExpanderStyle* = ptr TGtkCTreeExpanderStyle - TGtkCTreeExpanderStyle* = enum - GTK_CTREE_EXPANDER_NONE, GTK_CTREE_EXPANDER_SQUARE, - GTK_CTREE_EXPANDER_TRIANGLE, GTK_CTREE_EXPANDER_CIRCULAR - PGtkCTreeExpansionType* = ptr TGtkCTreeExpansionType - TGtkCTreeExpansionType* = enum - GTK_CTREE_EXPANSION_EXPAND, GTK_CTREE_EXPANSION_EXPAND_RECURSIVE, - GTK_CTREE_EXPANSION_COLLAPSE, GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE, - GTK_CTREE_EXPANSION_TOGGLE, GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE - PGtkCTree* = ptr TGtkCTree - PGtkCTreeNode* = ptr TGtkCTreeNode - TGtkCTreeFunc* = proc (ctree: PGtkCTree, node: PGtkCTreeNode, data: gpointer){. - cdecl.} - TGtkCTreeGNodeFunc* = proc (ctree: PGtkCTree, depth: guint, gnode: PGNode, - cnode: PGtkCTreeNode, data: gpointer): gboolean{. - cdecl.} - TGtkCTreeCompareDragFunc* = proc (ctree: PGtkCTree, - source_node: PGtkCTreeNode, - new_parent: PGtkCTreeNode, - new_sibling: PGtkCTreeNode): gboolean{.cdecl.} - TGtkCTree* = object of TGtkCList - lines_gc*: PGdkGC - tree_indent*: gint - tree_spacing*: gint - tree_column*: gint - GtkCTree_flag0*: guint16 - drag_compare*: TGtkCTreeCompareDragFunc - - PGtkCTreeClass* = ptr TGtkCTreeClass - TGtkCTreeClass* = object of TGtkCListClass - tree_select_row*: proc (ctree: PGtkCTree, row: PGtkCTreeNode, column: gint){. - cdecl.} - tree_unselect_row*: proc (ctree: PGtkCTree, row: PGtkCTreeNode, column: gint){. - cdecl.} - tree_expand*: proc (ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl.} - tree_collapse*: proc (ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl.} - tree_move*: proc (ctree: PGtkCTree, node: PGtkCTreeNode, - new_parent: PGtkCTreeNode, new_sibling: PGtkCTreeNode){. - cdecl.} - change_focus_row_expansion*: proc (ctree: PGtkCTree, - action: TGtkCTreeExpansionType){.cdecl.} - - PGtkCTreeRow* = ptr TGtkCTreeRow - TGtkCTreeRow* {.final, pure.} = object - row*: TGtkCListRow - parent*: PGtkCTreeNode - sibling*: PGtkCTreeNode - children*: PGtkCTreeNode - pixmap_closed*: PGdkPixmap - mask_closed*: PGdkBitmap - pixmap_opened*: PGdkPixmap - mask_opened*: PGdkBitmap - level*: guint16 - GtkCTreeRow_flag0*: guint16 - - TGtkCTreeNode* {.final, pure.} = object - list*: TGList - - PGtkDrawingArea* = ptr TGtkDrawingArea - TGtkDrawingArea* = object of TGtkWidget - draw_data*: gpointer - - PGtkDrawingAreaClass* = ptr TGtkDrawingAreaClass - TGtkDrawingAreaClass* = object of TGtkWidgetClass - gtk_reserved241: proc (){.cdecl.} - gtk_reserved242: proc (){.cdecl.} - gtk_reserved243: proc (){.cdecl.} - gtk_reserved244: proc (){.cdecl.} - - Tctlpoint* = array[0..1, gfloat] - Pctlpoint* = ptr Tctlpoint - PGtkCurve* = ptr TGtkCurve - TGtkCurve* = object of TGtkDrawingArea - cursor_type*: gint - min_x*: gfloat - max_x*: gfloat - min_y*: gfloat - max_y*: gfloat - pixmap*: PGdkPixmap - curve_type*: TGtkCurveType - height*: gint - grab_point*: gint - last*: gint - num_points*: gint - point*: PGdkPoint - num_ctlpoints*: gint - ctlpoint*: Pctlpoint - - PGtkCurveClass* = ptr TGtkCurveClass - TGtkCurveClass* = object of TGtkDrawingAreaClass - curve_type_changed*: proc (curve: PGtkCurve){.cdecl.} - gtk_reserved251: proc (){.cdecl.} - gtk_reserved252: proc (){.cdecl.} - gtk_reserved253: proc (){.cdecl.} - gtk_reserved254: proc (){.cdecl.} - - PGtkDestDefaults* = ptr TGtkDestDefaults - TGtkDestDefaults* = int32 - PGtkTargetFlags* = ptr TGtkTargetFlags - TGtkTargetFlags* = int32 - PGtkEditable* = pointer - PGtkEditableClass* = ptr TGtkEditableClass - TGtkEditableClass* = object of TGTypeInterface - insert_text*: proc (editable: PGtkEditable, text: cstring, length: gint, - position: Pgint){.cdecl.} - delete_text*: proc (editable: PGtkEditable, start_pos: gint, end_pos: gint){. - cdecl.} - changed*: proc (editable: PGtkEditable){.cdecl.} - do_insert_text*: proc (editable: PGtkEditable, text: cstring, length: gint, - position: Pgint){.cdecl.} - do_delete_text*: proc (editable: PGtkEditable, start_pos: gint, - end_pos: gint){.cdecl.} - get_chars*: proc (editable: PGtkEditable, start_pos: gint, end_pos: gint): cstring{. - cdecl.} - set_selection_bounds*: proc (editable: PGtkEditable, start_pos: gint, - end_pos: gint){.cdecl.} - get_selection_bounds*: proc (editable: PGtkEditable, start_pos: Pgint, - end_pos: Pgint): gboolean{.cdecl.} - set_position*: proc (editable: PGtkEditable, position: gint){.cdecl.} - get_position*: proc (editable: PGtkEditable): gint{.cdecl.} - - PGtkIMContext* = ptr TGtkIMContext - TGtkIMContext* = object of TGObject - - PGtkIMContextClass* = ptr TGtkIMContextClass - TGtkIMContextClass* = object of TGtkObjectClass - preedit_start*: proc (context: PGtkIMContext){.cdecl.} - preedit_end*: proc (context: PGtkIMContext){.cdecl.} - preedit_changed*: proc (context: PGtkIMContext){.cdecl.} - commit*: proc (context: PGtkIMContext, str: cstring){.cdecl.} - retrieve_surrounding*: proc (context: PGtkIMContext): gboolean{.cdecl.} - delete_surrounding*: proc (context: PGtkIMContext, offset: gint, - n_chars: gint): gboolean{.cdecl.} - set_client_window*: proc (context: PGtkIMContext, window: PGdkWindow){.cdecl.} - get_preedit_string*: proc (context: PGtkIMContext, str: PPgchar, - attrs: var PPangoAttrList, cursor_pos: Pgint){. - cdecl.} - filter_keypress*: proc (context: PGtkIMContext, event: PGdkEventKey): gboolean{. - cdecl.} - focus_in*: proc (context: PGtkIMContext){.cdecl.} - focus_out*: proc (context: PGtkIMContext){.cdecl.} - reset*: proc (context: PGtkIMContext){.cdecl.} - set_cursor_location*: proc (context: PGtkIMContext, area: PGdkRectangle){. - cdecl.} - set_use_preedit*: proc (context: PGtkIMContext, use_preedit: gboolean){. - cdecl.} - set_surrounding*: proc (context: PGtkIMContext, text: cstring, len: gint, - cursor_index: gint){.cdecl.} - get_surrounding*: proc (context: PGtkIMContext, text: PPgchar, - cursor_index: Pgint): gboolean{.cdecl.} - gtk_reserved261: proc (){.cdecl.} - gtk_reserved262: proc (){.cdecl.} - gtk_reserved263: proc (){.cdecl.} - gtk_reserved264: proc (){.cdecl.} - gtk_reserved265: proc (){.cdecl.} - gtk_reserved266: proc (){.cdecl.} - - PGtkMenuShell* = ptr TGtkMenuShell - TGtkMenuShell* = object of TGtkContainer - children*: PGList - active_menu_item*: PGtkWidget - parent_menu_shell*: PGtkWidget - button*: guint - activate_time*: guint32 - GtkMenuShell_flag0*: guint16 - - PGtkMenuShellClass* = ptr TGtkMenuShellClass - TGtkMenuShellClass* = object of TGtkContainerClass - GtkMenuShellClass_flag0*: guint16 - deactivate*: proc (menu_shell: PGtkMenuShell){.cdecl.} - selection_done*: proc (menu_shell: PGtkMenuShell){.cdecl.} - move_current*: proc (menu_shell: PGtkMenuShell, - direction: TGtkMenuDirectionType){.cdecl.} - activate_current*: proc (menu_shell: PGtkMenuShell, force_hide: gboolean){. - cdecl.} - cancel*: proc (menu_shell: PGtkMenuShell){.cdecl.} - select_item*: proc (menu_shell: PGtkMenuShell, menu_item: PGtkWidget){.cdecl.} - insert*: proc (menu_shell: PGtkMenuShell, child: PGtkWidget, position: gint){. - cdecl.} - gtk_reserved271: proc (){.cdecl.} - gtk_reserved272: proc (){.cdecl.} - gtk_reserved273: proc (){.cdecl.} - gtk_reserved274: proc (){.cdecl.} - - TGtkMenuPositionFunc* = proc (menu: PGtkMenu, x: Pgint, y: Pgint, - push_in: Pgboolean, user_data: gpointer){.cdecl.} - TGtkMenuDetachFunc* = proc (attach_widget: PGtkWidget, menu: PGtkMenu){.cdecl.} - TGtkMenu* = object of TGtkMenuShell - parent_menu_item*: PGtkWidget - old_active_menu_item*: PGtkWidget - accel_group*: PGtkAccelGroup - accel_path*: cstring - position_func*: TGtkMenuPositionFunc - position_func_data*: gpointer - toggle_size*: guint - toplevel*: PGtkWidget - tearoff_window*: PGtkWidget - tearoff_hbox*: PGtkWidget - tearoff_scrollbar*: PGtkWidget - tearoff_adjustment*: PGtkAdjustment - view_window*: PGdkWindow - bin_window*: PGdkWindow - scroll_offset*: gint - saved_scroll_offset*: gint - scroll_step*: gint - timeout_id*: guint - navigation_region*: PGdkRegion - navigation_timeout*: guint - GtkMenu_flag0*: guint16 - - PGtkMenuClass* = ptr TGtkMenuClass - TGtkMenuClass* = object of TGtkMenuShellClass - gtk_reserved281: proc (){.cdecl.} - gtk_reserved282: proc (){.cdecl.} - gtk_reserved283: proc (){.cdecl.} - gtk_reserved284: proc (){.cdecl.} - - PGtkEntry* = ptr TGtkEntry - TGtkEntry* = object of TGtkWidget - text*: cstring - GtkEntry_flag0*: guint16 - text_length*: guint16 - text_max_length*: guint16 - text_area*: PGdkWindow - im_context*: PGtkIMContext - popup_menu*: PGtkWidget - current_pos*: gint - selection_bound*: gint - cached_layout*: PPangoLayout - flag1*: guint16 - button*: guint - blink_timeout*: guint - recompute_idle*: guint - scroll_offset*: gint - ascent*: gint - descent*: gint - text_size*: guint16 - n_bytes*: guint16 - preedit_length*: guint16 - preedit_cursor*: guint16 - dnd_position*: gint - drag_start_x*: gint - drag_start_y*: gint - invisible_char*: gunichar - width_chars*: gint - - PGtkEntryClass* = ptr TGtkEntryClass - TGtkEntryClass* = object of TGtkWidgetClass - populate_popup*: proc (entry: PGtkEntry, menu: PGtkMenu){.cdecl.} - activate*: proc (entry: PGtkEntry){.cdecl.} - move_cursor*: proc (entry: PGtkEntry, step: TGtkMovementStep, count: gint, - extend_selection: gboolean){.cdecl.} - insert_at_cursor*: proc (entry: PGtkEntry, str: cstring){.cdecl.} - delete_from_cursor*: proc (entry: PGtkEntry, thetype: TGtkDeleteType, - count: gint){.cdecl.} - cut_clipboard*: proc (entry: PGtkEntry){.cdecl.} - copy_clipboard*: proc (entry: PGtkEntry){.cdecl.} - paste_clipboard*: proc (entry: PGtkEntry){.cdecl.} - toggle_overwrite*: proc (entry: PGtkEntry){.cdecl.} - gtk_reserved291: proc (){.cdecl.} - gtk_reserved292: proc (){.cdecl.} - gtk_reserved293: proc (){.cdecl.} - gtk_reserved294: proc (){.cdecl.} - - PGtkEventBox* = ptr TGtkEventBox - TGtkEventBox* = object of TGtkBin - - PGtkEventBoxClass* = ptr TGtkEventBoxClass - TGtkEventBoxClass* = object of TGtkBinClass - - PGtkFileSelection* = ptr TGtkFileSelection - TGtkFileSelection* = object of TGtkDialog - dir_list*: PGtkWidget - file_list*: PGtkWidget - selection_entry*: PGtkWidget - selection_text*: PGtkWidget - main_vbox*: PGtkWidget - ok_button*: PGtkWidget - cancel_button*: PGtkWidget - help_button*: PGtkWidget - history_pulldown*: PGtkWidget - history_menu*: PGtkWidget - history_list*: PGList - fileop_dialog*: PGtkWidget - fileop_entry*: PGtkWidget - fileop_file*: cstring - cmpl_state*: gpointer - fileop_c_dir*: PGtkWidget - fileop_del_file*: PGtkWidget - fileop_ren_file*: PGtkWidget - button_area*: PGtkWidget - gtkFileSelection_action_area*: PGtkWidget - selected_names*: PGPtrArray - last_selected*: cstring - - PGtkFileSelectionClass* = ptr TGtkFileSelectionClass - TGtkFileSelectionClass* = object of TGtkDialogClass - gtk_reserved301: proc (){.cdecl.} - gtk_reserved302: proc (){.cdecl.} - gtk_reserved303: proc (){.cdecl.} - gtk_reserved304: proc (){.cdecl.} - - PGtkFixed* = ptr TGtkFixed - TGtkFixed* = object of TGtkContainer - children*: PGList - - PGtkFixedClass* = ptr TGtkFixedClass - TGtkFixedClass* = object of TGtkContainerClass - - PGtkFixedChild* = ptr TGtkFixedChild - TGtkFixedChild* {.final, pure.} = object - widget*: PGtkWidget - x*: gint - y*: gint - - PGtkFontSelection* = ptr TGtkFontSelection - TGtkFontSelection* = object of TGtkVBox - font_entry*: PGtkWidget - family_list*: PGtkWidget - font_style_entry*: PGtkWidget - face_list*: PGtkWidget - size_entry*: PGtkWidget - size_list*: PGtkWidget - pixels_button*: PGtkWidget - points_button*: PGtkWidget - filter_button*: PGtkWidget - preview_entry*: PGtkWidget - family*: PPangoFontFamily - face*: PPangoFontFace - size*: gint - font*: PGdkFont - - PGtkFontSelectionClass* = ptr TGtkFontSelectionClass - TGtkFontSelectionClass* = object of TGtkVBoxClass - gtk_reserved311: proc (){.cdecl.} - gtk_reserved312: proc (){.cdecl.} - gtk_reserved313: proc (){.cdecl.} - gtk_reserved314: proc (){.cdecl.} - - PGtkFontSelectionDialog* = ptr TGtkFontSelectionDialog - TGtkFontSelectionDialog* = object of TGtkDialog - fontsel*: PGtkWidget - main_vbox*: PGtkWidget - GtkFontSelectionDialog_action_area*: PGtkWidget - ok_button*: PGtkWidget - apply_button*: PGtkWidget - cancel_button*: PGtkWidget - dialog_width*: gint - auto_resize*: gboolean - - PGtkFontSelectionDialogClass* = ptr TGtkFontSelectionDialogClass - TGtkFontSelectionDialogClass* = object of TGtkDialogClass - gtk_reserved321: proc (){.cdecl.} - gtk_reserved322: proc (){.cdecl.} - gtk_reserved323: proc (){.cdecl.} - gtk_reserved324: proc (){.cdecl.} - - PGtkGammaCurve* = ptr TGtkGammaCurve - TGtkGammaCurve* = object of TGtkVBox - table*: PGtkWidget - curve*: PGtkWidget - button*: array[0..4, PGtkWidget] - gamma*: gfloat - gamma_dialog*: PGtkWidget - gamma_text*: PGtkWidget - - PGtkGammaCurveClass* = ptr TGtkGammaCurveClass - TGtkGammaCurveClass* = object of TGtkVBoxClass - gtk_reserved331: proc (){.cdecl.} - gtk_reserved332: proc (){.cdecl.} - gtk_reserved333: proc (){.cdecl.} - gtk_reserved334: proc (){.cdecl.} - - PGtkHandleBox* = ptr TGtkHandleBox - TGtkHandleBox* = object of TGtkBin - bin_window*: PGdkWindow - float_window*: PGdkWindow - shadow_type*: TGtkShadowType - GtkHandleBox_flag0*: guint16 - deskoff_x*: gint - deskoff_y*: gint - attach_allocation*: TGtkAllocation - float_allocation*: TGtkAllocation - - PGtkHandleBoxClass* = ptr TGtkHandleBoxClass - TGtkHandleBoxClass* = object of TGtkBinClass - child_attached*: proc (handle_box: PGtkHandleBox, child: PGtkWidget){.cdecl.} - child_detached*: proc (handle_box: PGtkHandleBox, child: PGtkWidget){.cdecl.} - gtk_reserved341: proc (){.cdecl.} - gtk_reserved342: proc (){.cdecl.} - gtk_reserved343: proc (){.cdecl.} - gtk_reserved344: proc (){.cdecl.} - - PGtkPaned* = ptr TGtkPaned - TGtkPaned* = object of TGtkContainer - child1*: PGtkWidget - child2*: PGtkWidget - handle*: PGdkWindow - xor_gc*: PGdkGC - cursor_type*: TGdkCursorType - handle_pos*: TGdkRectangle - child1_size*: gint - last_allocation*: gint - min_position*: gint - max_position*: gint - GtkPaned_flag0*: guint16 - last_child1_focus*: PGtkWidget - last_child2_focus*: PGtkWidget - saved_focus*: PGtkWidget - drag_pos*: gint - original_position*: gint - - PGtkPanedClass* = ptr TGtkPanedClass - TGtkPanedClass* = object of TGtkContainerClass - cycle_child_focus*: proc (paned: PGtkPaned, reverse: gboolean): gboolean{. - cdecl.} - toggle_handle_focus*: proc (paned: PGtkPaned): gboolean{.cdecl.} - move_handle*: proc (paned: PGtkPaned, scroll: TGtkScrollType): gboolean{. - cdecl.} - cycle_handle_focus*: proc (paned: PGtkPaned, reverse: gboolean): gboolean{. - cdecl.} - accept_position*: proc (paned: PGtkPaned): gboolean{.cdecl.} - cancel_position*: proc (paned: PGtkPaned): gboolean{.cdecl.} - gtk_reserved351: proc (){.cdecl.} - gtk_reserved352: proc (){.cdecl.} - gtk_reserved353: proc (){.cdecl.} - gtk_reserved354: proc (){.cdecl.} - - PGtkHButtonBox* = ptr TGtkHButtonBox - TGtkHButtonBox* = object of TGtkButtonBox - - PGtkHButtonBoxClass* = ptr TGtkHButtonBoxClass - TGtkHButtonBoxClass* = object of TGtkButtonBoxClass - - PGtkHPaned* = ptr TGtkHPaned - TGtkHPaned* = object of TGtkPaned - - PGtkHPanedClass* = ptr TGtkHPanedClass - TGtkHPanedClass* = object of TGtkPanedClass - - PGtkRulerMetric* = ptr TGtkRulerMetric - PGtkRuler* = ptr TGtkRuler - TGtkRuler* = object of TGtkWidget - backing_store*: PGdkPixmap - non_gr_exp_gc*: PGdkGC - metric*: PGtkRulerMetric - xsrc*: gint - ysrc*: gint - slider_size*: gint - lower*: gdouble - upper*: gdouble - position*: gdouble - max_size*: gdouble - - PGtkRulerClass* = ptr TGtkRulerClass - TGtkRulerClass* = object of TGtkWidgetClass - draw_ticks*: proc (ruler: PGtkRuler){.cdecl.} - draw_pos*: proc (ruler: PGtkRuler){.cdecl.} - gtk_reserved361: proc (){.cdecl.} - gtk_reserved362: proc (){.cdecl.} - gtk_reserved363: proc (){.cdecl.} - gtk_reserved364: proc (){.cdecl.} - - TGtkRulerMetric* {.final, pure.} = object - metric_name*: cstring - abbrev*: cstring - pixels_per_unit*: gdouble - ruler_scale*: array[0..9, gdouble] - subdivide*: array[0..4, gint] - - PGtkHRuler* = ptr TGtkHRuler - TGtkHRuler* = object of TGtkRuler - - PGtkHRulerClass* = ptr TGtkHRulerClass - TGtkHRulerClass* = object of TGtkRulerClass - - PGtkRcContext* = pointer - PGtkSettings* = ptr TGtkSettings - TGtkSettings* = object of TGObject - queued_settings*: PGData - property_values*: PGValue - rc_context*: PGtkRcContext - screen*: PGdkScreen - - PGtkSettingsClass* = ptr TGtkSettingsClass - TGtkSettingsClass* = object of TGObjectClass - - PGtkSettingsValue* = ptr TGtkSettingsValue - TGtkSettingsValue* {.final, pure.} = object - origin*: cstring - value*: TGValue - - PGtkRcFlags* = ptr TGtkRcFlags - TGtkRcFlags* = int32 - PGtkRcStyle* = ptr TGtkRcStyle - TGtkRcStyle* = object of TGObject - name*: cstring - bg_pixmap_name*: array[0..4, cstring] - font_desc*: PPangoFontDescription - color_flags*: array[0..4, TGtkRcFlags] - fg*: array[0..4, TGdkColor] - bg*: array[0..4, TGdkColor] - text*: array[0..4, TGdkColor] - base*: array[0..4, TGdkColor] - xthickness*: gint - ythickness*: gint - rc_properties*: PGArray - rc_style_lists*: PGSList - icon_factories*: PGSList - GtkRcStyle_flag0*: guint16 - - PGtkRcStyleClass* = ptr TGtkRcStyleClass - TGtkRcStyleClass* = object of TGObjectClass - create_rc_style*: proc (rc_style: PGtkRcStyle): PGtkRcStyle{.cdecl.} - parse*: proc (rc_style: PGtkRcStyle, settings: PGtkSettings, - scanner: PGScanner): guint{.cdecl.} - merge*: proc (dest: PGtkRcStyle, src: PGtkRcStyle){.cdecl.} - create_style*: proc (rc_style: PGtkRcStyle): PGtkStyle{.cdecl.} - gtk_reserved371: proc (){.cdecl.} - gtk_reserved372: proc (){.cdecl.} - gtk_reserved373: proc (){.cdecl.} - gtk_reserved374: proc (){.cdecl.} - - PGtkRcTokenType* = ptr TGtkRcTokenType - TGtkRcTokenType* = enum - GTK_RC_TOKEN_INVALID, GTK_RC_TOKEN_INCLUDE, GTK_RC_TOKEN_NORMAL, - GTK_RC_TOKEN_ACTIVE, GTK_RC_TOKEN_PRELIGHT, GTK_RC_TOKEN_SELECTED, - GTK_RC_TOKEN_INSENSITIVE, GTK_RC_TOKEN_FG, GTK_RC_TOKEN_BG, - GTK_RC_TOKEN_TEXT, GTK_RC_TOKEN_BASE, GTK_RC_TOKEN_XTHICKNESS, - GTK_RC_TOKEN_YTHICKNESS, GTK_RC_TOKEN_FONT, GTK_RC_TOKEN_FONTSET, - GTK_RC_TOKEN_FONT_NAME, GTK_RC_TOKEN_BG_PIXMAP, GTK_RC_TOKEN_PIXMAP_PATH, - GTK_RC_TOKEN_STYLE, GTK_RC_TOKEN_BINDING, GTK_RC_TOKEN_BIND, - GTK_RC_TOKEN_WIDGET, GTK_RC_TOKEN_WIDGET_CLASS, GTK_RC_TOKEN_CLASS, - GTK_RC_TOKEN_LOWEST, GTK_RC_TOKEN_GTK, GTK_RC_TOKEN_APPLICATION, - GTK_RC_TOKEN_THEME, GTK_RC_TOKEN_RC, GTK_RC_TOKEN_HIGHEST, - GTK_RC_TOKEN_ENGINE, GTK_RC_TOKEN_MODULE_PATH, GTK_RC_TOKEN_IM_MODULE_PATH, - GTK_RC_TOKEN_IM_MODULE_FILE, GTK_RC_TOKEN_STOCK, GTK_RC_TOKEN_LTR, - GTK_RC_TOKEN_RTL, GTK_RC_TOKEN_LAST - PGtkRcProperty* = ptr TGtkRcProperty - TGtkRcProperty* {.final, pure.} = object - type_name*: TGQuark - property_name*: TGQuark - origin*: cstring - value*: TGValue - - PGtkIconSource* = pointer - TGtkRcPropertyParser* = proc (pspec: PGParamSpec, rc_string: PGString, - property_value: PGValue): gboolean{.cdecl.} - TGtkStyle* = object of TGObject - fg*: array[0..4, TGdkColor] - bg*: array[0..4, TGdkColor] - light*: array[0..4, TGdkColor] - dark*: array[0..4, TGdkColor] - mid*: array[0..4, TGdkColor] - text*: array[0..4, TGdkColor] - base*: array[0..4, TGdkColor] - text_aa*: array[0..4, TGdkColor] - black*: TGdkColor - white*: TGdkColor - font_desc*: PPangoFontDescription - xthickness*: gint - ythickness*: gint - fg_gc*: array[0..4, PGdkGC] - bg_gc*: array[0..4, PGdkGC] - light_gc*: array[0..4, PGdkGC] - dark_gc*: array[0..4, PGdkGC] - mid_gc*: array[0..4, PGdkGC] - text_gc*: array[0..4, PGdkGC] - base_gc*: array[0..4, PGdkGC] - text_aa_gc*: array[0..4, PGdkGC] - black_gc*: PGdkGC - white_gc*: PGdkGC - bg_pixmap*: array[0..4, PGdkPixmap] - attach_count*: gint - depth*: gint - colormap*: PGdkColormap - private_font*: PGdkFont - private_font_desc*: PPangoFontDescription - rc_style*: PGtkRcStyle - styles*: PGSList - property_cache*: PGArray - icon_factories*: PGSList - - PGtkStyleClass* = ptr TGtkStyleClass - TGtkStyleClass* = object of TGObjectClass - realize*: proc (style: PGtkStyle){.cdecl.} - unrealize*: proc (style: PGtkStyle){.cdecl.} - copy*: proc (style: PGtkStyle, src: PGtkStyle){.cdecl.} - clone*: proc (style: PGtkStyle): PGtkStyle{.cdecl.} - init_from_rc*: proc (style: PGtkStyle, rc_style: PGtkRcStyle){.cdecl.} - set_background*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType){.cdecl.} - render_icon*: proc (style: PGtkStyle, source: PGtkIconSource, - direction: TGtkTextDirection, state: TGtkStateType, - size: TGtkIconSize, widget: PGtkWidget, detail: cstring): PGdkPixbuf{. - cdecl.} - draw_hline*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x1: gint, x2: gint, - y: gint){.cdecl.} - draw_vline*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, y1: gint, y2: gint, - x: gint){.cdecl.} - draw_shadow*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl.} - draw_polygon*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, - detail: cstring, point: PGdkPoint, npoints: gint, - fill: gboolean){.cdecl.} - draw_arrow*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - arrow_type: TGtkArrowType, fill: gboolean, x: gint, - y: gint, width: gint, height: gint){.cdecl.} - draw_diamond*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, - detail: cstring, x: gint, y: gint, width: gint, - height: gint){.cdecl.} - draw_string*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - `string`: cstring){.cdecl.} - draw_box*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl.} - draw_flat_box*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, - shadow_type: TGtkShadowType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - width: gint, height: gint){.cdecl.} - draw_check*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl.} - draw_option*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl.} - draw_tab*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl.} - draw_shadow_gap*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, - shadow_type: TGtkShadowType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, - y: gint, width: gint, height: gint, - gap_side: TGtkPositionType, gap_x: gint, - gap_width: gint){.cdecl.} - draw_box_gap*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, - detail: cstring, x: gint, y: gint, width: gint, - height: gint, gap_side: TGtkPositionType, gap_x: gint, - gap_width: gint){.cdecl.} - draw_extension*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, - shadow_type: TGtkShadowType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - width: gint, height: gint, gap_side: TGtkPositionType){. - cdecl.} - draw_focus*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - width: gint, height: gint){.cdecl.} - draw_slider*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint, - orientation: TGtkOrientation){.cdecl.} - draw_handle*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint, - orientation: TGtkOrientation){.cdecl.} - draw_expander*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - expander_style: TGtkExpanderStyle){.cdecl.} - draw_layout*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, use_text: gboolean, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, layout: PPangoLayout){.cdecl.} - draw_resize_grip*: proc (style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, - edge: TGdkWindowEdge, x: gint, y: gint, - width: gint, height: gint){.cdecl.} - gtk_reserved381: proc (){.cdecl.} - gtk_reserved382: proc (){.cdecl.} - gtk_reserved383: proc (){.cdecl.} - gtk_reserved384: proc (){.cdecl.} - gtk_reserved385: proc (){.cdecl.} - gtk_reserved386: proc (){.cdecl.} - gtk_reserved387: proc (){.cdecl.} - gtk_reserved388: proc (){.cdecl.} - gtk_reserved389: proc (){.cdecl.} - gtk_reserved3810: proc (){.cdecl.} - gtk_reserved3811: proc (){.cdecl.} - gtk_reserved3812: proc (){.cdecl.} - - PGtkBorder* = ptr TGtkBorder - TGtkBorder* {.final, pure.} = object - left*: gint - right*: gint - top*: gint - bottom*: gint - - PGtkRangeLayout* = pointer - PGtkRangeStepTimer* = pointer - PGtkRange* = ptr TGtkRange - TGtkRange* = object of TGtkWidget - adjustment*: PGtkAdjustment - update_policy*: TGtkUpdateType - GtkRange_flag0*: guint16 - min_slider_size*: gint - orientation*: TGtkOrientation - range_rect*: TGdkRectangle - slider_start*: gint - slider_end*: gint - round_digits*: gint - flag1*: guint16 - layout*: PGtkRangeLayout - timer*: PGtkRangeStepTimer - slide_initial_slider_position*: gint - slide_initial_coordinate*: gint - update_timeout_id*: guint - event_window*: PGdkWindow - - PGtkRangeClass* = ptr TGtkRangeClass - TGtkRangeClass* = object of TGtkWidgetClass - slider_detail*: cstring - stepper_detail*: cstring - value_changed*: proc (range: PGtkRange){.cdecl.} - adjust_bounds*: proc (range: PGtkRange, new_value: gdouble){.cdecl.} - move_slider*: proc (range: PGtkRange, scroll: TGtkScrollType){.cdecl.} - get_range_border*: proc (range: PGtkRange, border: PGtkBorder){.cdecl.} - gtk_reserved401: proc (){.cdecl.} - gtk_reserved402: proc (){.cdecl.} - gtk_reserved403: proc (){.cdecl.} - gtk_reserved404: proc (){.cdecl.} - - PGtkScale* = ptr TGtkScale - TGtkScale* = object of TGtkRange - digits*: gint - GtkScale_flag0*: guint16 - - PGtkScaleClass* = ptr TGtkScaleClass - TGtkScaleClass* = object of TGtkRangeClass - format_value*: proc (scale: PGtkScale, value: gdouble): cstring{.cdecl.} - draw_value*: proc (scale: PGtkScale){.cdecl.} - gtk_reserved411: proc (){.cdecl.} - gtk_reserved412: proc (){.cdecl.} - gtk_reserved413: proc (){.cdecl.} - gtk_reserved414: proc (){.cdecl.} - - PGtkHScale* = ptr TGtkHScale - TGtkHScale* = object of TGtkScale - - PGtkHScaleClass* = ptr TGtkHScaleClass - TGtkHScaleClass* = object of TGtkScaleClass - - PGtkScrollbar* = ptr TGtkScrollbar - TGtkScrollbar* = object of TGtkRange - - PGtkScrollbarClass* = ptr TGtkScrollbarClass - TGtkScrollbarClass* = object of TGtkRangeClass - gtk_reserved421: proc (){.cdecl.} - gtk_reserved422: proc (){.cdecl.} - gtk_reserved423: proc (){.cdecl.} - gtk_reserved424: proc (){.cdecl.} - - PGtkHScrollbar* = ptr TGtkHScrollbar - TGtkHScrollbar* = object of TGtkScrollbar - - PGtkHScrollbarClass* = ptr TGtkHScrollbarClass - TGtkHScrollbarClass* = object of TGtkScrollbarClass - - PGtkSeparator* = ptr TGtkSeparator - TGtkSeparator* = object of TGtkWidget - - PGtkSeparatorClass* = ptr TGtkSeparatorClass - TGtkSeparatorClass* = object of TGtkWidgetClass - - PGtkHSeparator* = ptr TGtkHSeparator - TGtkHSeparator* = object of TGtkSeparator - - PGtkHSeparatorClass* = ptr TGtkHSeparatorClass - TGtkHSeparatorClass* = object of TGtkSeparatorClass - - PGtkIconFactory* = ptr TGtkIconFactory - TGtkIconFactory* = object of TGObject - icons*: PGHashTable - - PGtkIconFactoryClass* = ptr TGtkIconFactoryClass - TGtkIconFactoryClass* = object of TGObjectClass - gtk_reserved431: proc (){.cdecl.} - gtk_reserved432: proc (){.cdecl.} - gtk_reserved433: proc (){.cdecl.} - gtk_reserved434: proc (){.cdecl.} - - PGtkIconSet* = pointer - PGtkImagePixmapData* = ptr TGtkImagePixmapData - TGtkImagePixmapData* {.final, pure.} = object - pixmap*: PGdkPixmap - - PGtkImageImageData* = ptr TGtkImageImageData - TGtkImageImageData* {.final, pure.} = object - image*: PGdkImage - - PGtkImagePixbufData* = ptr TGtkImagePixbufData - TGtkImagePixbufData* {.final, pure.} = object - pixbuf*: PGdkPixbuf - - PGtkImageStockData* = ptr TGtkImageStockData - TGtkImageStockData* {.final, pure.} = object - stock_id*: cstring - - PGtkImageIconSetData* = ptr TGtkImageIconSetData - TGtkImageIconSetData* {.final, pure.} = object - icon_set*: PGtkIconSet - - PGtkImageAnimationData* = ptr TGtkImageAnimationData - TGtkImageAnimationData* {.final, pure.} = object - anim*: PGdkPixbufAnimation - iter*: PGdkPixbufAnimationIter - frame_timeout*: guint - - PGtkImageType* = ptr TGtkImageType - TGtkImageType* = enum - GTK_IMAGE_EMPTY, GTK_IMAGE_PIXMAP, GTK_IMAGE_IMAGE, GTK_IMAGE_PIXBUF, - GTK_IMAGE_STOCK, GTK_IMAGE_ICON_SET, GTK_IMAGE_ANIMATION - PGtkImage* = ptr TGtkImage - TGtkImage* = object of TGtkMisc - storage_type*: TGtkImageType - pixmap*: TGtkImagePixmapData - mask*: PGdkBitmap - icon_size*: TGtkIconSize - - PGtkImageClass* = ptr TGtkImageClass - TGtkImageClass* = object of TGtkMiscClass - gtk_reserved441: proc (){.cdecl.} - gtk_reserved442: proc (){.cdecl.} - gtk_reserved443: proc (){.cdecl.} - gtk_reserved444: proc (){.cdecl.} - - PGtkImageMenuItem* = ptr TGtkImageMenuItem - TGtkImageMenuItem* = object of TGtkMenuItem - image*: PGtkWidget - - PGtkImageMenuItemClass* = ptr TGtkImageMenuItemClass - TGtkImageMenuItemClass* = object of TGtkMenuItemClass - - PGtkIMContextSimple* = ptr TGtkIMContextSimple - TGtkIMContextSimple* = object of TGtkIMContext - tables*: PGSList - compose_buffer*: array[0..(GTK_MAX_COMPOSE_LEN + 1) - 1, guint] - tentative_match*: gunichar - tentative_match_len*: gint - GtkIMContextSimple_flag0*: guint16 - - PGtkIMContextSimpleClass* = ptr TGtkIMContextSimpleClass - TGtkIMContextSimpleClass* = object of TGtkIMContextClass - - PGtkIMMulticontext* = ptr TGtkIMMulticontext - TGtkIMMulticontext* = object of TGtkIMContext - slave*: PGtkIMContext - client_window*: PGdkWindow - context_id*: cstring - - PGtkIMMulticontextClass* = ptr TGtkIMMulticontextClass - TGtkIMMulticontextClass* = object of TGtkIMContextClass - gtk_reserved451: proc (){.cdecl.} - gtk_reserved452: proc (){.cdecl.} - gtk_reserved453: proc (){.cdecl.} - gtk_reserved454: proc (){.cdecl.} - - PGtkInputDialog* = ptr TGtkInputDialog - TGtkInputDialog* = object of TGtkDialog - axis_list*: PGtkWidget - axis_listbox*: PGtkWidget - mode_optionmenu*: PGtkWidget - close_button*: PGtkWidget - save_button*: PGtkWidget - axis_items*: array[0..(GDK_AXIS_LAST) - 1, PGtkWidget] - current_device*: PGdkDevice - keys_list*: PGtkWidget - keys_listbox*: PGtkWidget - - PGtkInputDialogClass* = ptr TGtkInputDialogClass - TGtkInputDialogClass* = object of TGtkDialogClass - enable_device*: proc (inputd: PGtkInputDialog, device: PGdkDevice){.cdecl.} - disable_device*: proc (inputd: PGtkInputDialog, device: PGdkDevice){.cdecl.} - gtk_reserved461: proc (){.cdecl.} - gtk_reserved462: proc (){.cdecl.} - gtk_reserved463: proc (){.cdecl.} - gtk_reserved464: proc (){.cdecl.} - - PGtkInvisible* = ptr TGtkInvisible - TGtkInvisible* = object of TGtkWidget - has_user_ref_count*: gboolean - screen*: PGdkScreen - - PGtkInvisibleClass* = ptr TGtkInvisibleClass - TGtkInvisibleClass* = object of TGtkWidgetClass - gtk_reserved701: proc (){.cdecl.} - gtk_reserved702: proc (){.cdecl.} - gtk_reserved703: proc (){.cdecl.} - gtk_reserved704: proc (){.cdecl.} - - TGtkPrintFunc* = proc (func_data: gpointer, str: cstring){.cdecl.} - PGtkTranslateFunc* = ptr TGtkTranslateFunc - TGtkTranslateFunc* = gchar - TGtkItemFactoryCallback* = proc (){.cdecl.} - TGtkItemFactoryCallback1* = proc (callback_data: gpointer, - callback_action: guint, widget: PGtkWidget){. - cdecl.} - PGtkItemFactory* = ptr TGtkItemFactory - TGtkItemFactory* = object of TGtkObject - path*: cstring - accel_group*: PGtkAccelGroup - widget*: PGtkWidget - items*: PGSList - translate_func*: TGtkTranslateFunc - translate_data*: gpointer - translate_notify*: TGtkDestroyNotify - - PGtkItemFactoryClass* = ptr TGtkItemFactoryClass - TGtkItemFactoryClass* = object of TGtkObjectClass - item_ht*: PGHashTable - gtk_reserved471: proc (){.cdecl.} - gtk_reserved472: proc (){.cdecl.} - gtk_reserved473: proc (){.cdecl.} - gtk_reserved474: proc (){.cdecl.} - - PGtkItemFactoryEntry* = ptr TGtkItemFactoryEntry - TGtkItemFactoryEntry* {.final, pure.} = object - path*: cstring - accelerator*: cstring - callback*: TGtkItemFactoryCallback - callback_action*: guint - item_type*: cstring - extra_data*: gconstpointer - - PGtkItemFactoryItem* = ptr TGtkItemFactoryItem - TGtkItemFactoryItem* {.final, pure.} = object - path*: cstring - widgets*: PGSList - - PGtkLayout* = ptr TGtkLayout - TGtkLayout* = object of TGtkContainer - children*: PGList - width*: guint - height*: guint - hadjustment*: PGtkAdjustment - vadjustment*: PGtkAdjustment - bin_window*: PGdkWindow - visibility*: TGdkVisibilityState - scroll_x*: gint - scroll_y*: gint - freeze_count*: guint - - PGtkLayoutClass* = ptr TGtkLayoutClass - TGtkLayoutClass* = object of TGtkContainerClass - set_scroll_adjustments*: proc (layout: PGtkLayout, - hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment){.cdecl.} - gtk_reserved481: proc (){.cdecl.} - gtk_reserved482: proc (){.cdecl.} - gtk_reserved483: proc (){.cdecl.} - gtk_reserved484: proc (){.cdecl.} - - PGtkList* = ptr TGtkList - TGtkList* = object of TGtkContainer - children*: PGList - selection*: PGList - undo_selection*: PGList - undo_unselection*: PGList - last_focus_child*: PGtkWidget - undo_focus_child*: PGtkWidget - htimer*: guint - vtimer*: guint - anchor*: gint - drag_pos*: gint - anchor_state*: TGtkStateType - GtkList_flag0*: guint16 - - PGtkListClass* = ptr TGtkListClass - TGtkListClass* = object of TGtkContainerClass - selection_changed*: proc (list: PGtkList){.cdecl.} - select_child*: proc (list: PGtkList, child: PGtkWidget){.cdecl.} - unselect_child*: proc (list: PGtkList, child: PGtkWidget){.cdecl.} - - TGtkTreeModelForeachFunc* = proc (model: PGtkTreeModel, path: PGtkTreePath, - iter: PGtkTreeIter, data: gpointer): gboolean{. - cdecl.} - PGtkTreeModelFlags* = ptr TGtkTreeModelFlags - TGtkTreeModelFlags* = int32 - TGtkTreeIter* {.final, pure.} = object - stamp*: gint - user_data*: gpointer - user_data2*: gpointer - user_data3*: gpointer - - PGtkTreeModelIface* = ptr TGtkTreeModelIface - TGtkTreeModelIface* = object of TGTypeInterface - row_changed*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath, - iter: PGtkTreeIter){.cdecl.} - row_inserted*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath, - iter: PGtkTreeIter){.cdecl.} - row_has_child_toggled*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath, - iter: PGtkTreeIter){.cdecl.} - row_deleted*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath){.cdecl.} - rows_reordered*: proc (tree_model: PGtkTreeModel, path: PGtkTreePath, - iter: PGtkTreeIter, new_order: Pgint){.cdecl.} - get_flags*: proc (tree_model: PGtkTreeModel): TGtkTreeModelFlags{.cdecl.} - get_n_columns*: proc (tree_model: PGtkTreeModel): gint{.cdecl.} - get_column_type*: proc (tree_model: PGtkTreeModel, index: gint): GType{. - cdecl.} - get_iter*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter, - path: PGtkTreePath): gboolean{.cdecl.} - get_path*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): PGtkTreePath{. - cdecl.} - get_value*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter, - column: gint, value: PGValue){.cdecl.} - iter_next*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean{. - cdecl.} - iter_children*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter, - parent: PGtkTreeIter): gboolean{.cdecl.} - iter_has_child*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean{. - cdecl.} - iter_n_children*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter): gint{. - cdecl.} - iter_nth_child*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter, - parent: PGtkTreeIter, n: gint): gboolean{.cdecl.} - iter_parent*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter, - child: PGtkTreeIter): gboolean{.cdecl.} - ref_node*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter){.cdecl.} - unref_node*: proc (tree_model: PGtkTreeModel, iter: PGtkTreeIter){.cdecl.} - - PGtkTreeSortable* = pointer - TGtkTreeIterCompareFunc* = proc (model: PGtkTreeModel, a: PGtkTreeIter, - b: PGtkTreeIter, user_data: gpointer): gint{. - cdecl.} - PGtkTreeSortableIface* = ptr TGtkTreeSortableIface - TGtkTreeSortableIface* = object of TGTypeInterface - sort_column_changed*: proc (sortable: PGtkTreeSortable){.cdecl.} - get_sort_column_id*: proc (sortable: PGtkTreeSortable, - sort_column_id: Pgint, order: PGtkSortType): gboolean{. - cdecl.} - set_sort_column_id*: proc (sortable: PGtkTreeSortable, sort_column_id: gint, - order: TGtkSortType){.cdecl.} - set_sort_func*: proc (sortable: PGtkTreeSortable, sort_column_id: gint, - func: TGtkTreeIterCompareFunc, data: gpointer, - destroy: TGtkDestroyNotify){.cdecl.} - set_default_sort_func*: proc (sortable: PGtkTreeSortable, - func: TGtkTreeIterCompareFunc, data: gpointer, - destroy: TGtkDestroyNotify){.cdecl.} - has_default_sort_func*: proc (sortable: PGtkTreeSortable): gboolean{.cdecl.} - - PGtkTreeModelSort* = ptr TGtkTreeModelSort - TGtkTreeModelSort* = object of TGObject - root*: gpointer - stamp*: gint - child_flags*: guint - child_model*: PGtkTreeModel - zero_ref_count*: gint - sort_list*: PGList - sort_column_id*: gint - order*: TGtkSortType - default_sort_func*: TGtkTreeIterCompareFunc - default_sort_data*: gpointer - default_sort_destroy*: TGtkDestroyNotify - changed_id*: guint - inserted_id*: guint - has_child_toggled_id*: guint - deleted_id*: guint - reordered_id*: guint - - PGtkTreeModelSortClass* = ptr TGtkTreeModelSortClass - TGtkTreeModelSortClass* = object of TGObjectClass - gtk_reserved491: proc (){.cdecl.} - gtk_reserved492: proc (){.cdecl.} - gtk_reserved493: proc (){.cdecl.} - gtk_reserved494: proc (){.cdecl.} - - PGtkListStore* = ptr TGtkListStore - TGtkListStore* = object of TGObject - stamp*: gint - root*: gpointer - tail*: gpointer - sort_list*: PGList - n_columns*: gint - sort_column_id*: gint - order*: TGtkSortType - column_headers*: PGType - length*: gint - default_sort_func*: TGtkTreeIterCompareFunc - default_sort_data*: gpointer - default_sort_destroy*: TGtkDestroyNotify - GtkListStore_flag0*: guint16 - - PGtkListStoreClass* = ptr TGtkListStoreClass - TGtkListStoreClass* = object of TGObjectClass - gtk_reserved501: proc (){.cdecl.} - gtk_reserved502: proc (){.cdecl.} - gtk_reserved503: proc (){.cdecl.} - gtk_reserved504: proc (){.cdecl.} - - TGtkModuleInitFunc* = proc (argc: Pgint, argv: PPPgchar){.cdecl.} - TGtkKeySnoopFunc* = proc (grab_widget: PGtkWidget, event: PGdkEventKey, - func_data: gpointer): gint{.cdecl.} - PGtkMenuBar* = ptr TGtkMenuBar - TGtkMenuBar* = object of TGtkMenuShell - - PGtkMenuBarClass* = ptr TGtkMenuBarClass - TGtkMenuBarClass* = object of TGtkMenuShellClass - gtk_reserved511: proc (){.cdecl.} - gtk_reserved512: proc (){.cdecl.} - gtk_reserved513: proc (){.cdecl.} - gtk_reserved514: proc (){.cdecl.} - - PGtkMessageType* = ptr TGtkMessageType - TGtkMessageType* = enum - GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, GTK_MESSAGE_QUESTION, - GTK_MESSAGE_ERROR - PGtkButtonsType* = ptr TGtkButtonsType - TGtkButtonsType* = enum - GTK_BUTTONS_NONE, GTK_BUTTONS_OK, GTK_BUTTONS_CLOSE, GTK_BUTTONS_CANCEL, - GTK_BUTTONS_YES_NO, GTK_BUTTONS_OK_CANCEL - PGtkMessageDialog* = ptr TGtkMessageDialog - TGtkMessageDialog* = object of TGtkDialog - image*: PGtkWidget - label*: PGtkWidget - - PGtkMessageDialogClass* = ptr TGtkMessageDialogClass - TGtkMessageDialogClass* = object of TGtkDialogClass - gtk_reserved521: proc (){.cdecl.} - gtk_reserved522: proc (){.cdecl.} - gtk_reserved523: proc (){.cdecl.} - gtk_reserved524: proc (){.cdecl.} - - PGtkNotebookPage* = pointer - PGtkNotebookTab* = ptr TGtkNotebookTab - TGtkNotebookTab* = enum - GTK_NOTEBOOK_TAB_FIRST, GTK_NOTEBOOK_TAB_LAST - PGtkNotebook* = ptr TGtkNotebook - TGtkNotebook* = object of TGtkContainer - cur_page*: PGtkNotebookPage - children*: PGList - first_tab*: PGList - focus_tab*: PGList - menu*: PGtkWidget - event_window*: PGdkWindow - timer*: guint32 - tab_hborder*: guint16 - tab_vborder*: guint16 - GtkNotebook_flag0*: guint16 - - PGtkNotebookClass* = ptr TGtkNotebookClass - TGtkNotebookClass* = object of TGtkContainerClass - switch_page*: proc (notebook: PGtkNotebook, page: PGtkNotebookPage, - page_num: guint){.cdecl.} - select_page*: proc (notebook: PGtkNotebook, move_focus: gboolean): gboolean{. - cdecl.} - focus_tab*: proc (notebook: PGtkNotebook, thetype: TGtkNotebookTab): gboolean{. - cdecl.} - change_current_page*: proc (notebook: PGtkNotebook, offset: gint){.cdecl.} - move_focus_out*: proc (notebook: PGtkNotebook, direction: TGtkDirectionType){. - cdecl.} - gtk_reserved531: proc (){.cdecl.} - gtk_reserved532: proc (){.cdecl.} - gtk_reserved533: proc (){.cdecl.} - gtk_reserved534: proc (){.cdecl.} - - PGtkOldEditable* = ptr TGtkOldEditable - TGtkOldEditable* = object of TGtkWidget - current_pos*: guint - selection_start_pos*: guint - selection_end_pos*: guint - GtkOldEditable_flag0*: guint16 - clipboard_text*: cstring - - TGtkTextFunction* = proc (editable: PGtkOldEditable, time: guint32){.cdecl.} - PGtkOldEditableClass* = ptr TGtkOldEditableClass - TGtkOldEditableClass* = object of TGtkWidgetClass - activate*: proc (editable: PGtkOldEditable){.cdecl.} - set_editable*: proc (editable: PGtkOldEditable, is_editable: gboolean){. - cdecl.} - move_cursor*: proc (editable: PGtkOldEditable, x: gint, y: gint){.cdecl.} - move_word*: proc (editable: PGtkOldEditable, n: gint){.cdecl.} - move_page*: proc (editable: PGtkOldEditable, x: gint, y: gint){.cdecl.} - move_to_row*: proc (editable: PGtkOldEditable, row: gint){.cdecl.} - move_to_column*: proc (editable: PGtkOldEditable, row: gint){.cdecl.} - kill_char*: proc (editable: PGtkOldEditable, direction: gint){.cdecl.} - kill_word*: proc (editable: PGtkOldEditable, direction: gint){.cdecl.} - kill_line*: proc (editable: PGtkOldEditable, direction: gint){.cdecl.} - cut_clipboard*: proc (editable: PGtkOldEditable){.cdecl.} - copy_clipboard*: proc (editable: PGtkOldEditable){.cdecl.} - paste_clipboard*: proc (editable: PGtkOldEditable){.cdecl.} - update_text*: proc (editable: PGtkOldEditable, start_pos: gint, - end_pos: gint){.cdecl.} - get_chars*: proc (editable: PGtkOldEditable, start_pos: gint, end_pos: gint): cstring{. - cdecl.} - set_selection*: proc (editable: PGtkOldEditable, start_pos: gint, - end_pos: gint){.cdecl.} - set_position*: proc (editable: PGtkOldEditable, position: gint){.cdecl.} - - PGtkOptionMenu* = ptr TGtkOptionMenu - TGtkOptionMenu* = object of TGtkButton - menu*: PGtkWidget - menu_item*: PGtkWidget - width*: guint16 - height*: guint16 - - PGtkOptionMenuClass* = ptr TGtkOptionMenuClass - TGtkOptionMenuClass* = object of TGtkButtonClass - changed*: proc (option_menu: PGtkOptionMenu){.cdecl.} - gtk_reserved541: proc (){.cdecl.} - gtk_reserved542: proc (){.cdecl.} - gtk_reserved543: proc (){.cdecl.} - gtk_reserved544: proc (){.cdecl.} - - PGtkPixmap* = ptr TGtkPixmap - TGtkPixmap* = object of TGtkMisc - pixmap*: PGdkPixmap - mask*: PGdkBitmap - pixmap_insensitive*: PGdkPixmap - GtkPixmap_flag0*: guint16 - - PGtkPixmapClass* = ptr TGtkPixmapClass - TGtkPixmapClass* = object of TGtkMiscClass - - PGtkPlug* = ptr TGtkPlug - TGtkPlug* = object of TGtkWindow - socket_window*: PGdkWindow - modality_window*: PGtkWidget - modality_group*: PGtkWindowGroup - grabbed_keys*: PGHashTable - GtkPlug_flag0*: guint16 - - PGtkPlugClass* = ptr TGtkPlugClass - TGtkPlugClass* = object of TGtkWindowClass - embedded*: proc (plug: PGtkPlug){.cdecl.} - gtk_reserved551: proc (){.cdecl.} - gtk_reserved552: proc (){.cdecl.} - gtk_reserved553: proc (){.cdecl.} - gtk_reserved554: proc (){.cdecl.} - - PGtkPreview* = ptr TGtkPreview - TGtkPreview* = object of TGtkWidget - buffer*: Pguchar - buffer_width*: guint16 - buffer_height*: guint16 - bpp*: guint16 - rowstride*: guint16 - dither*: TGdkRgbDither - GtkPreview_flag0*: guint16 - - PGtkPreviewInfo* = ptr TGtkPreviewInfo - TGtkPreviewInfo* {.final, pure.} = object - lookup*: Pguchar - gamma*: gdouble - - PGtkDitherInfo* = ptr TGtkDitherInfo - TGtkDitherInfo* {.final, pure.} = object - c*: array[0..3, guchar] - - PGtkPreviewClass* = ptr TGtkPreviewClass - TGtkPreviewClass* = object of TGtkWidgetClass - info*: TGtkPreviewInfo - - PGtkProgress* = ptr TGtkProgress - TGtkProgress* = object of TGtkWidget - adjustment*: PGtkAdjustment - offscreen_pixmap*: PGdkPixmap - format*: cstring - x_align*: gfloat - y_align*: gfloat - GtkProgress_flag0*: guint16 - - PGtkProgressClass* = ptr TGtkProgressClass - TGtkProgressClass* = object of TGtkWidgetClass - paint*: proc (progress: PGtkProgress){.cdecl.} - update*: proc (progress: PGtkProgress){.cdecl.} - act_mode_enter*: proc (progress: PGtkProgress){.cdecl.} - gtk_reserved561: proc (){.cdecl.} - gtk_reserved562: proc (){.cdecl.} - gtk_reserved563: proc (){.cdecl.} - gtk_reserved564: proc (){.cdecl.} - - PGtkProgressBarStyle* = ptr TGtkProgressBarStyle - TGtkProgressBarStyle* = enum - GTK_PROGRESS_CONTINUOUS, GTK_PROGRESS_DISCRETE - PGtkProgressBarOrientation* = ptr TGtkProgressBarOrientation - TGtkProgressBarOrientation* = enum - GTK_PROGRESS_LEFT_TO_RIGHT, GTK_PROGRESS_RIGHT_TO_LEFT, - GTK_PROGRESS_BOTTOM_TO_TOP, GTK_PROGRESS_TOP_TO_BOTTOM - PGtkProgressBar* = ptr TGtkProgressBar - TGtkProgressBar* = object of TGtkProgress - bar_style*: TGtkProgressBarStyle - orientation*: TGtkProgressBarOrientation - blocks*: guint - in_block*: gint - activity_pos*: gint - activity_step*: guint - activity_blocks*: guint - pulse_fraction*: gdouble - GtkProgressBar_flag0*: guint16 - - PGtkProgressBarClass* = ptr TGtkProgressBarClass - TGtkProgressBarClass* = object of TGtkProgressClass - gtk_reserved571: proc (){.cdecl.} - gtk_reserved572: proc (){.cdecl.} - gtk_reserved573: proc (){.cdecl.} - gtk_reserved574: proc (){.cdecl.} - - PGtkRadioButton* = ptr TGtkRadioButton - TGtkRadioButton* = object of TGtkCheckButton - group*: PGSList - - PGtkRadioButtonClass* = ptr TGtkRadioButtonClass - TGtkRadioButtonClass* = object of TGtkCheckButtonClass - gtk_reserved581: proc (){.cdecl.} - gtk_reserved582: proc (){.cdecl.} - gtk_reserved583: proc (){.cdecl.} - gtk_reserved584: proc (){.cdecl.} - - PGtkRadioMenuItem* = ptr TGtkRadioMenuItem - TGtkRadioMenuItem* = object of TGtkCheckMenuItem - group*: PGSList - - PGtkRadioMenuItemClass* = ptr TGtkRadioMenuItemClass - TGtkRadioMenuItemClass* = object of TGtkCheckMenuItemClass - gtk_reserved591: proc (){.cdecl.} - gtk_reserved592: proc (){.cdecl.} - gtk_reserved593: proc (){.cdecl.} - gtk_reserved594: proc (){.cdecl.} - - PGtkScrolledWindow* = ptr TGtkScrolledWindow - TGtkScrolledWindow* = object of TGtkBin - hscrollbar*: PGtkWidget - vscrollbar*: PGtkWidget - GtkScrolledWindow_flag0*: guint16 - shadow_type*: guint16 - - PGtkScrolledWindowClass* = ptr TGtkScrolledWindowClass - TGtkScrolledWindowClass* = object of TGtkBinClass - scrollbar_spacing*: gint - scroll_child*: proc (scrolled_window: PGtkScrolledWindow, - scroll: TGtkScrollType, horizontal: gboolean){.cdecl.} - move_focus_out*: proc (scrolled_window: PGtkScrolledWindow, - direction: TGtkDirectionType){.cdecl.} - gtk_reserved601: proc (){.cdecl.} - gtk_reserved602: proc (){.cdecl.} - gtk_reserved603: proc (){.cdecl.} - gtk_reserved604: proc (){.cdecl.} - - TGtkSelectionData* {.final, pure.} = object - selection*: TGdkAtom - target*: TGdkAtom - thetype*: TGdkAtom - format*: gint - data*: Pguchar - length*: gint - display*: PGdkDisplay - - PGtkTargetEntry* = ptr TGtkTargetEntry - TGtkTargetEntry* {.final, pure.} = object - target*: cstring - flags*: guint - info*: guint - - PGtkTargetList* = ptr TGtkTargetList - TGtkTargetList* {.final, pure.} = object - list*: PGList - ref_count*: guint - - PGtkTargetPair* = ptr TGtkTargetPair - TGtkTargetPair* {.final, pure.} = object - target*: TGdkAtom - flags*: guint - info*: guint - - PGtkSeparatorMenuItem* = ptr TGtkSeparatorMenuItem - TGtkSeparatorMenuItem* = object of TGtkMenuItem - - PGtkSeparatorMenuItemClass* = ptr TGtkSeparatorMenuItemClass - TGtkSeparatorMenuItemClass* = object of TGtkMenuItemClass - - PGtkSizeGroup* = ptr TGtkSizeGroup - TGtkSizeGroup* = object of TGObject - widgets*: PGSList - mode*: guint8 - GtkSizeGroup_flag0*: guint16 - requisition*: TGtkRequisition - - PGtkSizeGroupClass* = ptr TGtkSizeGroupClass - TGtkSizeGroupClass* = object of TGObjectClass - gtk_reserved611: proc (){.cdecl.} - gtk_reserved612: proc (){.cdecl.} - gtk_reserved613: proc (){.cdecl.} - gtk_reserved614: proc (){.cdecl.} - - PGtkSizeGroupMode* = ptr TGtkSizeGroupMode - TGtkSizeGroupMode* = enum - GTK_SIZE_GROUP_NONE, GTK_SIZE_GROUP_HORIZONTAL, GTK_SIZE_GROUP_VERTICAL, - GTK_SIZE_GROUP_BOTH - PGtkSocket* = ptr TGtkSocket - TGtkSocket* = object of TGtkContainer - request_width*: guint16 - request_height*: guint16 - current_width*: guint16 - current_height*: guint16 - plug_window*: PGdkWindow - plug_widget*: PGtkWidget - xembed_version*: gshort - GtkSocket_flag0*: guint16 - accel_group*: PGtkAccelGroup - toplevel*: PGtkWidget - - PGtkSocketClass* = ptr TGtkSocketClass - TGtkSocketClass* = object of TGtkContainerClass - plug_added*: proc (socket: PGtkSocket){.cdecl.} - plug_removed*: proc (socket: PGtkSocket): gboolean{.cdecl.} - gtk_reserved621: proc (){.cdecl.} - gtk_reserved622: proc (){.cdecl.} - gtk_reserved623: proc (){.cdecl.} - gtk_reserved624: proc (){.cdecl.} - - PGtkSpinButtonUpdatePolicy* = ptr TGtkSpinButtonUpdatePolicy - TGtkSpinButtonUpdatePolicy* = enum - GTK_UPDATE_ALWAYS, GTK_UPDATE_IF_VALID - PGtkSpinType* = ptr TGtkSpinType - TGtkSpinType* = enum - GTK_SPIN_STEP_FORWARD, GTK_SPIN_STEP_BACKWARD, GTK_SPIN_PAGE_FORWARD, - GTK_SPIN_PAGE_BACKWARD, GTK_SPIN_HOME, GTK_SPIN_END, GTK_SPIN_USER_DEFINED - PGtkSpinButton* = ptr TGtkSpinButton - TGtkSpinButton* = object of TGtkEntry - adjustment*: PGtkAdjustment - panel*: PGdkWindow - timer*: guint32 - climb_rate*: gdouble - timer_step*: gdouble - update_policy*: TGtkSpinButtonUpdatePolicy - GtkSpinButton_flag0*: int32 - - PGtkSpinButtonClass* = ptr TGtkSpinButtonClass - TGtkSpinButtonClass* = object of TGtkEntryClass - input*: proc (spin_button: PGtkSpinButton, new_value: Pgdouble): gint{.cdecl.} - output*: proc (spin_button: PGtkSpinButton): gint{.cdecl.} - value_changed*: proc (spin_button: PGtkSpinButton){.cdecl.} - change_value*: proc (spin_button: PGtkSpinButton, scroll: TGtkScrollType){. - cdecl.} - gtk_reserved631: proc (){.cdecl.} - gtk_reserved632: proc (){.cdecl.} - gtk_reserved633: proc (){.cdecl.} - gtk_reserved634: proc (){.cdecl.} - - PGtkStockItem* = ptr TGtkStockItem - TGtkStockItem* {.final, pure.} = object - stock_id*: cstring - label*: cstring - modifier*: TGdkModifierType - keyval*: guint - translation_domain*: cstring - - PGtkStatusbar* = ptr TGtkStatusbar - TGtkStatusbar* = object of TGtkHBox - frame*: PGtkWidget - `label`*: PGtkWidget - messages*: PGSList - keys*: PGSList - seq_context_id*: guint - seq_message_id*: guint - grip_window*: PGdkWindow - GtkStatusbar_flag0*: guint16 - - PGtkStatusbarClass* = ptr TGtkStatusbarClass - TGtkStatusbarClass* = object of TGtkHBoxClass - messages_mem_chunk*: PGMemChunk - text_pushed*: proc (statusbar: PGtkStatusbar, context_id: guint, - text: cstring){.cdecl.} - text_popped*: proc (statusbar: PGtkStatusbar, context_id: guint, - text: cstring){.cdecl.} - gtk_reserved641: proc (){.cdecl.} - gtk_reserved642: proc (){.cdecl.} - gtk_reserved643: proc (){.cdecl.} - gtk_reserved644: proc (){.cdecl.} - - PGtkTableRowCol* = ptr TGtkTableRowCol - PGtkTable* = ptr TGtkTable - TGtkTable* = object of TGtkContainer - children*: PGList - rows*: PGtkTableRowCol - cols*: PGtkTableRowCol - nrows*: guint16 - ncols*: guint16 - column_spacing*: guint16 - row_spacing*: guint16 - GtkTable_flag0*: guint16 - - PGtkTableClass* = ptr TGtkTableClass - TGtkTableClass* = object of TGtkContainerClass - - PGtkTableChild* = ptr TGtkTableChild - TGtkTableChild* {.final, pure.} = object - widget*: PGtkWidget - left_attach*: guint16 - right_attach*: guint16 - top_attach*: guint16 - bottom_attach*: guint16 - xpadding*: guint16 - ypadding*: guint16 - GtkTableChild_flag0*: guint16 - - TGtkTableRowCol* {.final, pure.} = object - requisition*: guint16 - allocation*: guint16 - spacing*: guint16 - flag0*: guint16 - - PGtkTearoffMenuItem* = ptr TGtkTearoffMenuItem - TGtkTearoffMenuItem* = object of TGtkMenuItem - GtkTearoffMenuItem_flag0*: guint16 - - PGtkTearoffMenuItemClass* = ptr TGtkTearoffMenuItemClass - TGtkTearoffMenuItemClass* = object of TGtkMenuItemClass - gtk_reserved651: proc (){.cdecl.} - gtk_reserved652: proc (){.cdecl.} - gtk_reserved653: proc (){.cdecl.} - gtk_reserved654: proc (){.cdecl.} - - PGtkTextFont* = pointer - PGtkPropertyMark* = ptr TGtkPropertyMark - TGtkPropertyMark* {.final, pure.} = object - `property`*: PGList - offset*: guint - index*: guint - - PGtkText* = ptr TGtkText - TGtkText* = object of TGtkOldEditable - text_area*: PGdkWindow - hadj*: PGtkAdjustment - vadj*: PGtkAdjustment - gc*: PGdkGC - line_wrap_bitmap*: PGdkPixmap - line_arrow_bitmap*: PGdkPixmap - text*: Pguchar - text_len*: guint - gap_position*: guint - gap_size*: guint - text_end*: guint - line_start_cache*: PGList - first_line_start_index*: guint - first_cut_pixels*: guint - first_onscreen_hor_pixel*: guint - first_onscreen_ver_pixel*: guint - GtkText_flag0*: guint16 - freeze_count*: guint - text_properties*: PGList - text_properties_end*: PGList - point*: TGtkPropertyMark - scratch_buffer*: Pguchar - scratch_buffer_len*: guint - last_ver_value*: gint - cursor_pos_x*: gint - cursor_pos_y*: gint - cursor_mark*: TGtkPropertyMark - cursor_char*: TGdkWChar - cursor_char_offset*: gchar - cursor_virtual_x*: gint - cursor_drawn_level*: gint - current_line*: PGList - tab_stops*: PGList - default_tab_width*: gint - current_font*: PGtkTextFont - timer*: gint - button*: guint - bg_gc*: PGdkGC - - PGtkTextClass* = ptr TGtkTextClass - TGtkTextClass* = object of TGtkOldEditableClass - set_scroll_adjustments*: proc (text: PGtkText, hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment){.cdecl.} - - PGtkTextSearchFlags* = ptr TGtkTextSearchFlags - TGtkTextSearchFlags* = int32 - PGtkTextIter* = ptr TGtkTextIter - TGtkTextIter* {.final, pure.} = object - dummy1*: gpointer - dummy2*: gpointer - dummy3*: gint - dummy4*: gint - dummy5*: gint - dummy6*: gint - dummy7*: gint - dummy8*: gint - dummy9*: gpointer - dummy10*: gpointer - dummy11*: gint - dummy12*: gint - dummy13*: gint - dummy14*: gpointer - - TGtkTextCharPredicate* = proc (ch: gunichar, user_data: gpointer): gboolean{. - cdecl.} - PGtkTextTagClass* = ptr TGtkTextTagClass - PGtkTextAttributes* = ptr TGtkTextAttributes - PGtkTextTag* = ptr TGtkTextTag - PPGtkTextTag* = ptr PGtkTextTag - TGtkTextTag* = object of TGObject - table*: PGtkTextTagTable - name*: cstring - priority*: int32 - values*: PGtkTextAttributes - GtkTextTag_flag0*: int32 - - TGtkTextTagClass* = object of TGObjectClass - event*: proc (tag: PGtkTextTag, event_object: PGObject, event: PGdkEvent, - iter: PGtkTextIter): gboolean{.cdecl.} - gtk_reserved661: proc (){.cdecl.} - gtk_reserved662: proc (){.cdecl.} - gtk_reserved663: proc (){.cdecl.} - gtk_reserved664: proc (){.cdecl.} - - PGtkTextAppearance* = ptr TGtkTextAppearance - TGtkTextAppearance* {.final, pure.} = object - bg_color*: TGdkColor - fg_color*: TGdkColor - bg_stipple*: PGdkBitmap - fg_stipple*: PGdkBitmap - rise*: gint - padding1*: gpointer - flag0*: guint16 - - TGtkTextAttributes* {.final, pure.} = object - refcount*: guint - appearance*: TGtkTextAppearance - justification*: TGtkJustification - direction*: TGtkTextDirection - font*: PPangoFontDescription - font_scale*: gdouble - left_margin*: gint - indent*: gint - right_margin*: gint - pixels_above_lines*: gint - pixels_below_lines*: gint - pixels_inside_wrap*: gint - tabs*: PPangoTabArray - wrap_mode*: TGtkWrapMode - language*: PPangoLanguage - padding1*: gpointer - flag0*: guint16 - - TGtkTextTagTableForeach* = proc (tag: PGtkTextTag, data: gpointer){.cdecl.} - TGtkTextTagTable* = object of TGObject - hash*: PGHashTable - anonymous*: PGSList - anon_count*: gint - buffers*: PGSList - - PGtkTextTagTableClass* = ptr TGtkTextTagTableClass - TGtkTextTagTableClass* = object of TGObjectClass - tag_changed*: proc (table: PGtkTextTagTable, tag: PGtkTextTag, - size_changed: gboolean){.cdecl.} - tag_added*: proc (table: PGtkTextTagTable, tag: PGtkTextTag){.cdecl.} - tag_removed*: proc (table: PGtkTextTagTable, tag: PGtkTextTag){.cdecl.} - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - - PGtkTextMark* = ptr TGtkTextMark - TGtkTextMark* = object of TGObject - segment*: gpointer - - PGtkTextMarkClass* = ptr TGtkTextMarkClass - TGtkTextMarkClass* = object of TGObjectClass - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - - PGtkTextMarkBody* = ptr TGtkTextMarkBody - TGtkTextMarkBody* {.final, pure.} = object - obj*: PGtkTextMark - name*: cstring - tree*: PGtkTextBTree - line*: PGtkTextLine - flag0*: guint16 - - PGtkTextChildAnchor* = ptr TGtkTextChildAnchor - TGtkTextChildAnchor* = object of TGObject - segment*: gpointer - - PGtkTextChildAnchorClass* = ptr TGtkTextChildAnchorClass - TGtkTextChildAnchorClass* = object of TGObjectClass - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - - PGtkTextPixbuf* = ptr TGtkTextPixbuf - TGtkTextPixbuf* {.final, pure.} = object - pixbuf*: PGdkPixbuf - - PGtkTextChildBody* = ptr TGtkTextChildBody - TGtkTextChildBody* {.final, pure.} = object - obj*: PGtkTextChildAnchor - widgets*: PGSList - tree*: PGtkTextBTree - line*: PGtkTextLine - - PGtkTextLineSegment* = ptr TGtkTextLineSegment - PGtkTextLineSegmentClass* = ptr TGtkTextLineSegmentClass - PGtkTextTagInfo* = ptr TGtkTextTagInfo - TGtkTextTagInfo* {.final, pure.} = object - tag*: PGtkTextTag - tag_root*: PGtkTextBTreeNode - toggle_count*: gint - - PGtkTextToggleBody* = ptr TGtkTextToggleBody - TGtkTextToggleBody* {.final, pure.} = object - info*: PGtkTextTagInfo - inNodeCounts*: gboolean - - TGtkTextLineSegment* {.final, pure.} = object - `type`*: PGtkTextLineSegmentClass - next*: PGtkTextLineSegment - char_count*: int32 - byte_count*: int32 - body*: TGtkTextChildBody - - PGtkTextSegSplitFunc* = ptr TGtkTextSegSplitFunc - TGtkTextSegSplitFunc* = TGtkTextLineSegment - TGtkTextSegDeleteFunc* = proc (seg: PGtkTextLineSegment, line: PGtkTextLine, - tree_gone: gboolean): gboolean{.cdecl.} - PGtkTextSegCleanupFunc* = ptr TGtkTextSegCleanupFunc - TGtkTextSegCleanupFunc* = TGtkTextLineSegment - TGtkTextSegLineChangeFunc* = proc (seg: PGtkTextLineSegment, - line: PGtkTextLine){.cdecl.} - TGtkTextSegCheckFunc* = proc (seg: PGtkTextLineSegment, line: PGtkTextLine){. - cdecl.} - TGtkTextLineSegmentClass* {.final, pure.} = object - name*: cstring - leftGravity*: gboolean - splitFunc*: TGtkTextSegSplitFunc - deleteFunc*: TGtkTextSegDeleteFunc - cleanupFunc*: TGtkTextSegCleanupFunc - lineChangeFunc*: TGtkTextSegLineChangeFunc - checkFunc*: TGtkTextSegCheckFunc - - PGtkTextLineData* = ptr TGtkTextLineData - TGtkTextLineData* {.final, pure.} = object - view_id*: gpointer - next*: PGtkTextLineData - height*: gint - flag0*: int32 - - TGtkTextLine* {.final, pure.} = object - parent*: PGtkTextBTreeNode - next*: PGtkTextLine - segments*: PGtkTextLineSegment - views*: PGtkTextLineData - - PGtkTextLogAttrCache* = pointer - PGtkTextBuffer* = ptr TGtkTextBuffer - TGtkTextBuffer* = object of TGObject - tag_table*: PGtkTextTagTable - btree*: PGtkTextBTree - clipboard_contents_buffers*: PGSList - selection_clipboards*: PGSList - log_attr_cache*: PGtkTextLogAttrCache - user_action_count*: guint - GtkTextBuffer_flag0*: guint16 - - PGtkTextBufferClass* = ptr TGtkTextBufferClass - TGtkTextBufferClass* = object of TGObjectClass - insert_text*: proc (buffer: PGtkTextBuffer, pos: PGtkTextIter, text: cstring, - length: gint){.cdecl.} - insert_pixbuf*: proc (buffer: PGtkTextBuffer, pos: PGtkTextIter, - pixbuf: PGdkPixbuf){.cdecl.} - insert_child_anchor*: proc (buffer: PGtkTextBuffer, pos: PGtkTextIter, - anchor: PGtkTextChildAnchor){.cdecl.} - delete_range*: proc (buffer: PGtkTextBuffer, start: PGtkTextIter, - theEnd: PGtkTextIter){.cdecl.} - changed*: proc (buffer: PGtkTextBuffer){.cdecl.} - modified_changed*: proc (buffer: PGtkTextBuffer){.cdecl.} - mark_set*: proc (buffer: PGtkTextBuffer, location: PGtkTextIter, - mark: PGtkTextMark){.cdecl.} - mark_deleted*: proc (buffer: PGtkTextBuffer, mark: PGtkTextMark){.cdecl.} - apply_tag*: proc (buffer: PGtkTextBuffer, tag: PGtkTextTag, - start_char: PGtkTextIter, end_char: PGtkTextIter){.cdecl.} - remove_tag*: proc (buffer: PGtkTextBuffer, tag: PGtkTextTag, - start_char: PGtkTextIter, end_char: PGtkTextIter){.cdecl.} - begin_user_action*: proc (buffer: PGtkTextBuffer){.cdecl.} - end_user_action*: proc (buffer: PGtkTextBuffer){.cdecl.} - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - gtk_reserved5: proc (){.cdecl.} - gtk_reserved6: proc (){.cdecl.} - - PGtkTextLineDisplay* = ptr TGtkTextLineDisplay - PGtkTextLayout* = ptr TGtkTextLayout - TGtkTextLayout* = object of TGObject - screen_width*: gint - width*: gint - height*: gint - buffer*: PGtkTextBuffer - default_style*: PGtkTextAttributes - ltr_context*: PPangoContext - rtl_context*: PPangoContext - one_style_cache*: PGtkTextAttributes - one_display_cache*: PGtkTextLineDisplay - wrap_loop_count*: gint - GtkTextLayout_flag0*: guint16 - preedit_string*: cstring - preedit_attrs*: PPangoAttrList - preedit_len*: gint - preedit_cursor*: gint - - PGtkTextLayoutClass* = ptr TGtkTextLayoutClass - TGtkTextLayoutClass* = object of TGObjectClass - invalidated*: proc (layout: PGtkTextLayout){.cdecl.} - changed*: proc (layout: PGtkTextLayout, y: gint, old_height: gint, - new_height: gint){.cdecl.} - wrap*: proc (layout: PGtkTextLayout, line: PGtkTextLine, - line_data: PGtkTextLineData): PGtkTextLineData{.cdecl.} - get_log_attrs*: proc (layout: PGtkTextLayout, line: PGtkTextLine, - attrs: var PPangoLogAttr, n_attrs: Pgint){.cdecl.} - invalidate*: proc (layout: PGtkTextLayout, start: PGtkTextIter, - theEnd: PGtkTextIter){.cdecl.} - free_line_data*: proc (layout: PGtkTextLayout, line: PGtkTextLine, - line_data: PGtkTextLineData){.cdecl.} - allocate_child*: proc (layout: PGtkTextLayout, child: PGtkWidget, x: gint, - y: gint){.cdecl.} - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - - PGtkTextAttrAppearance* = ptr TGtkTextAttrAppearance - TGtkTextAttrAppearance* {.final, pure.} = object - attr*: TPangoAttribute - appearance*: TGtkTextAppearance - - PGtkTextCursorDisplay* = ptr TGtkTextCursorDisplay - TGtkTextCursorDisplay* {.final, pure.} = object - x*: gint - y*: gint - height*: gint - flag0*: guint16 - - TGtkTextLineDisplay* {.final, pure.} = object - layout*: PPangoLayout - cursors*: PGSList - shaped_objects*: PGSList - direction*: TGtkTextDirection - width*: gint - total_width*: gint - height*: gint - x_offset*: gint - left_margin*: gint - right_margin*: gint - top_margin*: gint - bottom_margin*: gint - insert_index*: gint - size_only*: gboolean - line*: PGtkTextLine - - PGtkTextWindow* = pointer - PGtkTextPendingScroll* = pointer - PGtkTextWindowType* = ptr TGtkTextWindowType - TGtkTextWindowType* = enum - GTK_TEXT_WINDOW_PRIVATE, GTK_TEXT_WINDOW_WIDGET, GTK_TEXT_WINDOW_TEXT, - GTK_TEXT_WINDOW_LEFT, GTK_TEXT_WINDOW_RIGHT, GTK_TEXT_WINDOW_TOP, - GTK_TEXT_WINDOW_BOTTOM - PGtkTextView* = ptr TGtkTextView - TGtkTextView* = object of TGtkContainer - layout*: PGtkTextLayout - buffer*: PGtkTextBuffer - selection_drag_handler*: guint - scroll_timeout*: guint - pixels_above_lines*: gint - pixels_below_lines*: gint - pixels_inside_wrap*: gint - wrap_mode*: TGtkWrapMode - justify*: TGtkJustification - left_margin*: gint - right_margin*: gint - indent*: gint - tabs*: PPangoTabArray - GtkTextView_flag0*: guint16 - text_window*: PGtkTextWindow - left_window*: PGtkTextWindow - right_window*: PGtkTextWindow - top_window*: PGtkTextWindow - bottom_window*: PGtkTextWindow - hadjustment*: PGtkAdjustment - vadjustment*: PGtkAdjustment - xoffset*: gint - yoffset*: gint - width*: gint - height*: gint - virtual_cursor_x*: gint - virtual_cursor_y*: gint - first_para_mark*: PGtkTextMark - first_para_pixels*: gint - dnd_mark*: PGtkTextMark - blink_timeout*: guint - first_validate_idle*: guint - incremental_validate_idle*: guint - im_context*: PGtkIMContext - popup_menu*: PGtkWidget - drag_start_x*: gint - drag_start_y*: gint - children*: PGSList - pending_scroll*: PGtkTextPendingScroll - pending_place_cursor_button*: gint - - PGtkTextViewClass* = ptr TGtkTextViewClass - TGtkTextViewClass* = object of TGtkContainerClass - set_scroll_adjustments*: proc (text_view: PGtkTextView, - hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment){.cdecl.} - populate_popup*: proc (text_view: PGtkTextView, menu: PGtkMenu){.cdecl.} - move_cursor*: proc (text_view: PGtkTextView, step: TGtkMovementStep, - count: gint, extend_selection: gboolean){.cdecl.} - page_horizontally*: proc (text_view: PGtkTextView, count: gint, - extend_selection: gboolean){.cdecl.} - set_anchor*: proc (text_view: PGtkTextView){.cdecl.} - insert_at_cursor*: proc (text_view: PGtkTextView, str: cstring){.cdecl.} - delete_from_cursor*: proc (text_view: PGtkTextView, thetype: TGtkDeleteType, - count: gint){.cdecl.} - cut_clipboard*: proc (text_view: PGtkTextView){.cdecl.} - copy_clipboard*: proc (text_view: PGtkTextView){.cdecl.} - paste_clipboard*: proc (text_view: PGtkTextView){.cdecl.} - toggle_overwrite*: proc (text_view: PGtkTextView){.cdecl.} - move_focus*: proc (text_view: PGtkTextView, direction: TGtkDirectionType){. - cdecl.} - gtk_reserved711: proc (){.cdecl.} - gtk_reserved712: proc (){.cdecl.} - gtk_reserved713: proc (){.cdecl.} - gtk_reserved714: proc (){.cdecl.} - gtk_reserved715: proc (){.cdecl.} - gtk_reserved716: proc (){.cdecl.} - gtk_reserved717: proc (){.cdecl.} - gtk_reserved718: proc (){.cdecl.} - - PGtkTipsQuery* = ptr TGtkTipsQuery - TGtkTipsQuery* = object of TGtkLabel - GtkTipsQuery_flag0*: guint16 - label_inactive*: cstring - label_no_tip*: cstring - caller*: PGtkWidget - last_crossed*: PGtkWidget - query_cursor*: PGdkCursor - - PGtkTipsQueryClass* = ptr TGtkTipsQueryClass - TGtkTipsQueryClass* = object of TGtkLabelClass - start_query*: proc (tips_query: PGtkTipsQuery){.cdecl.} - stop_query*: proc (tips_query: PGtkTipsQuery){.cdecl.} - widget_entered*: proc (tips_query: PGtkTipsQuery, widget: PGtkWidget, - tip_text: cstring, tip_private: cstring){.cdecl.} - widget_selected*: proc (tips_query: PGtkTipsQuery, widget: PGtkWidget, - tip_text: cstring, tip_private: cstring, - event: PGdkEventButton): gint{.cdecl.} - gtk_reserved721: proc (){.cdecl.} - gtk_reserved722: proc (){.cdecl.} - gtk_reserved723: proc (){.cdecl.} - gtk_reserved724: proc (){.cdecl.} - - PGtkTooltips* = ptr TGtkTooltips - PGtkTooltipsData* = ptr TGtkTooltipsData - TGtkTooltipsData* {.final, pure.} = object - tooltips*: PGtkTooltips - widget*: PGtkWidget - tip_text*: cstring - tip_private*: cstring - - TGtkTooltips* = object of TGtkObject - tip_window*: PGtkWidget - tip_label*: PGtkWidget - active_tips_data*: PGtkTooltipsData - tips_data_list*: PGList - GtkTooltips_flag0*: int32 - flag1*: guint16 - timer_tag*: gint - last_popdown*: TGTimeVal - - PGtkTooltipsClass* = ptr TGtkTooltipsClass - TGtkTooltipsClass* = object of TGtkObjectClass - gtk_reserved1: proc (){.cdecl.} - gtk_reserved2: proc (){.cdecl.} - gtk_reserved3: proc (){.cdecl.} - gtk_reserved4: proc (){.cdecl.} - - PGtkToolbarChildType* = ptr TGtkToolbarChildType - TGtkToolbarChildType* = enum - GTK_TOOLBAR_CHILD_SPACE, GTK_TOOLBAR_CHILD_BUTTON, - GTK_TOOLBAR_CHILD_TOGGLEBUTTON, GTK_TOOLBAR_CHILD_RADIOBUTTON, - GTK_TOOLBAR_CHILD_WIDGET - PGtkToolbarSpaceStyle* = ptr TGtkToolbarSpaceStyle - TGtkToolbarSpaceStyle* = enum - GTK_TOOLBAR_SPACE_EMPTY, GTK_TOOLBAR_SPACE_LINE - PGtkToolbarChild* = ptr TGtkToolbarChild - TGtkToolbarChild* {.final, pure.} = object - `type`*: TGtkToolbarChildType - widget*: PGtkWidget - icon*: PGtkWidget - label*: PGtkWidget - - PGtkToolbar* = ptr TGtkToolbar - TGtkToolbar* = object of TGtkContainer - num_children*: gint - children*: PGList - orientation*: TGtkOrientation - GtkToolbar_style*: TGtkToolbarStyle - icon_size*: TGtkIconSize - tooltips*: PGtkTooltips - button_maxw*: gint - button_maxh*: gint - style_set_connection*: guint - icon_size_connection*: guint - GtkToolbar_flag0*: guint16 - - PGtkToolbarClass* = ptr TGtkToolbarClass - TGtkToolbarClass* = object of TGtkContainerClass - orientation_changed*: proc (toolbar: PGtkToolbar, - orientation: TGtkOrientation){.cdecl.} - style_changed*: proc (toolbar: PGtkToolbar, style: TGtkToolbarStyle){.cdecl.} - gtk_reserved731: proc (){.cdecl.} - gtk_reserved732: proc (){.cdecl.} - gtk_reserved733: proc (){.cdecl.} - gtk_reserved734: proc (){.cdecl.} - - PGtkTreeViewMode* = ptr TGtkTreeViewMode - TGtkTreeViewMode* = enum - GTK_TREE_VIEW_LINE, GTK_TREE_VIEW_ITEM - PGtkTree* = ptr TGtkTree - TGtkTree* = object of TGtkContainer - children*: PGList - root_tree*: PGtkTree - tree_owner*: PGtkWidget - selection*: PGList - level*: guint - indent_value*: guint - current_indent*: guint - GtkTree_flag0*: guint16 - - PGtkTreeClass* = ptr TGtkTreeClass - TGtkTreeClass* = object of TGtkContainerClass - selection_changed*: proc (tree: PGtkTree){.cdecl.} - select_child*: proc (tree: PGtkTree, child: PGtkWidget){.cdecl.} - unselect_child*: proc (tree: PGtkTree, child: PGtkWidget){.cdecl.} - - PGtkTreeDragSource* = pointer - PGtkTreeDragDest* = pointer - PGtkTreeDragSourceIface* = ptr TGtkTreeDragSourceIface - TGtkTreeDragSourceIface* = object of TGTypeInterface - row_draggable*: proc (drag_source: PGtkTreeDragSource, path: PGtkTreePath): gboolean{. - cdecl.} - drag_data_get*: proc (drag_source: PGtkTreeDragSource, path: PGtkTreePath, - selection_data: PGtkSelectionData): gboolean{.cdecl.} - drag_data_delete*: proc (drag_source: PGtkTreeDragSource, path: PGtkTreePath): gboolean{. - cdecl.} - - PGtkTreeDragDestIface* = ptr TGtkTreeDragDestIface - TGtkTreeDragDestIface* = object of TGTypeInterface - drag_data_received*: proc (drag_dest: PGtkTreeDragDest, dest: PGtkTreePath, - selection_data: PGtkSelectionData): gboolean{. - cdecl.} - row_drop_possible*: proc (drag_dest: PGtkTreeDragDest, - dest_path: PGtkTreePath, - selection_data: PGtkSelectionData): gboolean{. - cdecl.} - - PGtkTreeItem* = ptr TGtkTreeItem - TGtkTreeItem* = object of TGtkItem - subtree*: PGtkWidget - pixmaps_box*: PGtkWidget - plus_pix_widget*: PGtkWidget - minus_pix_widget*: PGtkWidget - pixmaps*: PGList - GtkTreeItem_flag0*: guint16 - - PGtkTreeItemClass* = ptr TGtkTreeItemClass - TGtkTreeItemClass* = object of TGtkItemClass - expand*: proc (tree_item: PGtkTreeItem){.cdecl.} - collapse*: proc (tree_item: PGtkTreeItem){.cdecl.} - - PGtkTreeSelection* = ptr TGtkTreeSelection - TGtkTreeSelectionFunc* = proc (selection: PGtkTreeSelection, - model: PGtkTreeModel, path: PGtkTreePath, - path_currently_selected: gboolean, - data: gpointer): gboolean{.cdecl.} - TGtkTreeSelectionForeachFunc* = proc (model: PGtkTreeModel, - path: PGtkTreePath, iter: PGtkTreeIter, - data: gpointer){.cdecl.} - TGtkTreeSelection* = object of TGObject - tree_view*: PGtkTreeView - thetype*: TGtkSelectionMode - user_func*: TGtkTreeSelectionFunc - user_data*: gpointer - destroy*: TGtkDestroyNotify - - PGtkTreeSelectionClass* = ptr TGtkTreeSelectionClass - TGtkTreeSelectionClass* = object of TGObjectClass - changed*: proc (selection: PGtkTreeSelection){.cdecl.} - gtk_reserved741: proc (){.cdecl.} - gtk_reserved742: proc (){.cdecl.} - gtk_reserved743: proc (){.cdecl.} - gtk_reserved744: proc (){.cdecl.} - - PGtkTreeStore* = ptr TGtkTreeStore - TGtkTreeStore* = object of TGObject - stamp*: gint - root*: gpointer - last*: gpointer - n_columns*: gint - sort_column_id*: gint - sort_list*: PGList - order*: TGtkSortType - column_headers*: PGType - default_sort_func*: TGtkTreeIterCompareFunc - default_sort_data*: gpointer - default_sort_destroy*: TGtkDestroyNotify - GtkTreeStore_flag0*: guint16 - - PGtkTreeStoreClass* = ptr TGtkTreeStoreClass - TGtkTreeStoreClass* = object of TGObjectClass - gtk_reserved751: proc (){.cdecl.} - gtk_reserved752: proc (){.cdecl.} - gtk_reserved753: proc (){.cdecl.} - gtk_reserved754: proc (){.cdecl.} - - PGtkTreeViewColumnSizing* = ptr TGtkTreeViewColumnSizing - TGtkTreeViewColumnSizing* = enum - GTK_TREE_VIEW_COLUMN_GROW_ONLY, GTK_TREE_VIEW_COLUMN_AUTOSIZE, - GTK_TREE_VIEW_COLUMN_FIXED - TGtkTreeCellDataFunc* = proc (tree_column: PGtkTreeViewColumn, - cell: PGtkCellRenderer, - tree_model: PGtkTreeModel, iter: PGtkTreeIter, - data: gpointer){.cdecl.} - TGtkTreeViewColumn* = object of TGtkObject - tree_view*: PGtkWidget - button*: PGtkWidget - child*: PGtkWidget - arrow*: PGtkWidget - alignment*: PGtkWidget - window*: PGdkWindow - editable_widget*: PGtkCellEditable - xalign*: gfloat - property_changed_signal*: guint - spacing*: gint - column_type*: TGtkTreeViewColumnSizing - requested_width*: gint - button_request*: gint - resized_width*: gint - width*: gint - fixed_width*: gint - min_width*: gint - max_width*: gint - drag_x*: gint - drag_y*: gint - title*: cstring - cell_list*: PGList - sort_clicked_signal*: guint - sort_column_changed_signal*: guint - sort_column_id*: gint - sort_order*: TGtkSortType - GtkTreeViewColumn_flag0*: guint16 - - PGtkTreeViewColumnClass* = ptr TGtkTreeViewColumnClass - TGtkTreeViewColumnClass* = object of TGtkObjectClass - clicked*: proc (tree_column: PGtkTreeViewColumn){.cdecl.} - gtk_reserved751: proc (){.cdecl.} - gtk_reserved752: proc (){.cdecl.} - gtk_reserved753: proc (){.cdecl.} - gtk_reserved754: proc (){.cdecl.} - - PGtkRBNodeColor* = ptr TGtkRBNodeColor - TGtkRBNodeColor* = int32 - PGtkRBTree* = ptr TGtkRBTree - PGtkRBNode* = ptr TGtkRBNode - TGtkRBTreeTraverseFunc* = proc (tree: PGtkRBTree, node: PGtkRBNode, - data: gpointer){.cdecl.} - TGtkRBTree* {.final, pure.} = object - root*: PGtkRBNode - `nil`*: PGtkRBNode - parent_tree*: PGtkRBTree - parent_node*: PGtkRBNode - - TGtkRBNode* {.final, pure.} = object - flag0*: guint16 - left*: PGtkRBNode - right*: PGtkRBNode - parent*: PGtkRBNode - count*: gint - offset*: gint - children*: PGtkRBTree - - PGtkTreeRowReference* = pointer - PGtkTreeViewFlags* = ptr TGtkTreeViewFlags - TGtkTreeViewFlags* = int32 - TGtkTreeViewSearchDialogPositionFunc* = proc (tree_view: PGtkTreeView, - search_dialog: PGtkWidget){.cdecl.} - PGtkTreeViewColumnReorder* = ptr TGtkTreeViewColumnReorder - TGtkTreeViewColumnReorder* {.final, pure.} = object - left_align*: gint - right_align*: gint - left_column*: PGtkTreeViewColumn - right_column*: PGtkTreeViewColumn - - PGtkTreeViewPrivate* = ptr TGtkTreeViewPrivate - TGtkTreeViewPrivate* {.final, pure.} = object - model*: PGtkTreeModel - flags*: guint - tree*: PGtkRBTree - button_pressed_node*: PGtkRBNode - button_pressed_tree*: PGtkRBTree - children*: PGList - width*: gint - height*: gint - expander_size*: gint - hadjustment*: PGtkAdjustment - vadjustment*: PGtkAdjustment - bin_window*: PGdkWindow - header_window*: PGdkWindow - drag_window*: PGdkWindow - drag_highlight_window*: PGdkWindow - drag_column*: PGtkTreeViewColumn - last_button_press*: PGtkTreeRowReference - last_button_press_2*: PGtkTreeRowReference - top_row*: PGtkTreeRowReference - top_row_dy*: gint - dy*: gint - drag_column_x*: gint - expander_column*: PGtkTreeViewColumn - edited_column*: PGtkTreeViewColumn - presize_handler_timer*: guint - validate_rows_timer*: guint - scroll_sync_timer*: guint - focus_column*: PGtkTreeViewColumn - anchor*: PGtkTreeRowReference - cursor*: PGtkTreeRowReference - drag_pos*: gint - x_drag*: gint - prelight_node*: PGtkRBNode - prelight_tree*: PGtkRBTree - expanded_collapsed_node*: PGtkRBNode - expanded_collapsed_tree*: PGtkRBTree - expand_collapse_timeout*: guint - selection*: PGtkTreeSelection - n_columns*: gint - columns*: PGList - header_height*: gint - column_drop_func*: TGtkTreeViewColumnDropFunc - column_drop_func_data*: gpointer - column_drop_func_data_destroy*: TGtkDestroyNotify - column_drag_info*: PGList - cur_reorder*: PGtkTreeViewColumnReorder - destroy_count_func*: TGtkTreeDestroyCountFunc - destroy_count_data*: gpointer - destroy_count_destroy*: TGtkDestroyNotify - scroll_timeout*: guint - drag_dest_row*: PGtkTreeRowReference - drag_dest_pos*: TGtkTreeViewDropPosition - open_dest_timeout*: guint - pressed_button*: gint - press_start_x*: gint - press_start_y*: gint - scroll_to_path*: PGtkTreeRowReference - scroll_to_column*: PGtkTreeViewColumn - scroll_to_row_align*: gfloat - scroll_to_col_align*: gfloat - flag0*: guint16 - search_column*: gint - search_dialog_position_func*: TGtkTreeViewSearchDialogPositionFunc - search_equal_func*: TGtkTreeViewSearchEqualFunc - search_user_data*: gpointer - search_destroy*: TGtkDestroyNotify - - TGtkTreeView* = object of TGtkContainer - priv*: PGtkTreeViewPrivate - - PGtkTreeViewClass* = ptr TGtkTreeViewClass - TGtkTreeViewClass* = object of TGtkContainerClass - set_scroll_adjustments*: proc (tree_view: PGtkTreeView, - hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment){.cdecl.} - row_activated*: proc (tree_view: PGtkTreeView, path: PGtkTreePath, - column: PGtkTreeViewColumn){.cdecl.} - test_expand_row*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter, - path: PGtkTreePath): gboolean{.cdecl.} - test_collapse_row*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter, - path: PGtkTreePath): gboolean{.cdecl.} - row_expanded*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter, - path: PGtkTreePath){.cdecl.} - row_collapsed*: proc (tree_view: PGtkTreeView, iter: PGtkTreeIter, - path: PGtkTreePath){.cdecl.} - columns_changed*: proc (tree_view: PGtkTreeView){.cdecl.} - cursor_changed*: proc (tree_view: PGtkTreeView){.cdecl.} - move_cursor*: proc (tree_view: PGtkTreeView, step: TGtkMovementStep, - count: gint): gboolean{.cdecl.} - select_all*: proc (tree_view: PGtkTreeView){.cdecl.} - unselect_all*: proc (tree_view: PGtkTreeView){.cdecl.} - select_cursor_row*: proc (tree_view: PGtkTreeView, start_editing: gboolean){. - cdecl.} - toggle_cursor_row*: proc (tree_view: PGtkTreeView){.cdecl.} - expand_collapse_cursor_row*: proc (tree_view: PGtkTreeView, - logical: gboolean, expand: gboolean, - open_all: gboolean){.cdecl.} - select_cursor_parent*: proc (tree_view: PGtkTreeView){.cdecl.} - start_interactive_search*: proc (tree_view: PGtkTreeView){.cdecl.} - gtk_reserved760: proc (){.cdecl.} - gtk_reserved761: proc (){.cdecl.} - gtk_reserved762: proc (){.cdecl.} - gtk_reserved763: proc (){.cdecl.} - gtk_reserved764: proc (){.cdecl.} - - PGtkVButtonBox* = ptr TGtkVButtonBox - TGtkVButtonBox* = object of TGtkButtonBox - - PGtkVButtonBoxClass* = ptr TGtkVButtonBoxClass - TGtkVButtonBoxClass* = object of TGtkButtonBoxClass - - PGtkViewport* = ptr TGtkViewport - TGtkViewport* = object of TGtkBin - shadow_type*: TGtkShadowType - view_window*: PGdkWindow - bin_window*: PGdkWindow - hadjustment*: PGtkAdjustment - vadjustment*: PGtkAdjustment - - PGtkViewportClass* = ptr TGtkViewportClass - TGtkViewportClass* = object of TGtkBinClass - set_scroll_adjustments*: proc (viewport: PGtkViewport, - hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment){.cdecl.} - - PGtkVPaned* = ptr TGtkVPaned - TGtkVPaned* = object of TGtkPaned - - PGtkVPanedClass* = ptr TGtkVPanedClass - TGtkVPanedClass* = object of TGtkPanedClass - - PGtkVRuler* = ptr TGtkVRuler - TGtkVRuler* = object of TGtkRuler - - PGtkVRulerClass* = ptr TGtkVRulerClass - TGtkVRulerClass* = object of TGtkRulerClass - - PGtkVScale* = ptr TGtkVScale - TGtkVScale* = object of TGtkScale - - PGtkVScaleClass* = ptr TGtkVScaleClass - TGtkVScaleClass* = object of TGtkScaleClass - - PGtkVScrollbar* = ptr TGtkVScrollbar - TGtkVScrollbar* = object of TGtkScrollbar - - PGtkVScrollbarClass* = ptr TGtkVScrollbarClass - TGtkVScrollbarClass* = object of TGtkScrollbarClass - - PGtkVSeparator* = ptr TGtkVSeparator - TGtkVSeparator* = object of TGtkSeparator - - PGtkVSeparatorClass* = ptr TGtkVSeparatorClass - TGtkVSeparatorClass* = object of TGtkSeparatorClass - - -const - GTK_IN_DESTRUCTION* = 1 shl 0 - GTK_FLOATING* = 1 shl 1 - GTK_RESERVED_1* = 1 shl 2 - GTK_RESERVED_2* = 1 shl 3 - GTK_ARG_READABLE* = G_PARAM_READABLE - GTK_ARG_WRITABLE* = G_PARAM_WRITABLE - GTK_ARG_CONSTRUCT* = G_PARAM_CONSTRUCT - GTK_ARG_CONSTRUCT_ONLY* = G_PARAM_CONSTRUCT_ONLY - GTK_ARG_CHILD_ARG* = 1 shl 4 - -proc GTK_TYPE_OBJECT*(): GType -proc GTK_OBJECT*(anObject: pointer): PGtkObject -proc GTK_OBJECT_CLASS*(klass: pointer): PGtkObjectClass -proc GTK_IS_OBJECT*(anObject: pointer): bool -proc GTK_IS_OBJECT_CLASS*(klass: pointer): bool -proc GTK_OBJECT_GET_CLASS*(anObject: pointer): PGtkObjectClass -proc GTK_OBJECT_TYPE*(anObject: pointer): GType -proc GTK_OBJECT_TYPE_NAME*(anObject: pointer): cstring -proc GTK_OBJECT_FLAGS*(obj: pointer): guint32 -proc GTK_OBJECT_FLOATING*(obj: pointer): gboolean -proc GTK_OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) -proc GTK_OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32) -proc gtk_object_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_object_get_type".} -proc gtk_object_new*(thetype: TGtkType, first_property_name: cstring): PGtkObject{. - cdecl, varargs, dynlib: gtklib, importc: "gtk_object_new".} -proc gtk_object_sink*(anObject: PGtkObject){.cdecl, dynlib: gtklib, - importc: "gtk_object_sink".} -proc gtk_object_destroy*(anObject: PGtkObject){.cdecl, dynlib: gtklib, - importc: "gtk_object_destroy".} -const - GTK_TYPE_INVALID* = G_TYPE_INVALID - GTK_TYPE_NONE* = G_TYPE_NONE - GTK_TYPE_ENUM* = G_TYPE_ENUM - GTK_TYPE_FLAGS* = G_TYPE_FLAGS - GTK_TYPE_CHAR* = G_TYPE_CHAR - GTK_TYPE_UCHAR* = G_TYPE_UCHAR - GTK_TYPE_BOOL* = G_TYPE_BOOLEAN - GTK_TYPE_INT* = G_TYPE_INT - GTK_TYPE_UINT* = G_TYPE_UINT - GTK_TYPE_LONG* = G_TYPE_LONG - GTK_TYPE_ULONG* = G_TYPE_ULONG - GTK_TYPE_FLOAT* = G_TYPE_FLOAT - GTK_TYPE_DOUBLE* = G_TYPE_DOUBLE - GTK_TYPE_STRING* = G_TYPE_STRING - GTK_TYPE_BOXED* = G_TYPE_BOXED - GTK_TYPE_POINTER* = G_TYPE_POINTER - -proc GTK_TYPE_IDENTIFIER*(): GType -proc gtk_identifier_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_identifier_get_type".} -proc GTK_SIGNAL_FUNC*(f: pointer): TGtkSignalFunc -proc gtk_type_class*(thetype: TGtkType): gpointer{.cdecl, dynlib: gtklib, - importc: "gtk_type_class".} -const - GTK_TOPLEVEL* = 1 shl 4 - GTK_NO_WINDOW* = 1 shl 5 - GTK_REALIZED* = 1 shl 6 - GTK_MAPPED* = 1 shl 7 - GTK_VISIBLE* = 1 shl 8 - GTK_SENSITIVE* = 1 shl 9 - GTK_PARENT_SENSITIVE* = 1 shl 10 - GTK_CAN_FOCUS* = 1 shl 11 - GTK_HAS_FOCUS* = 1 shl 12 - GTK_CAN_DEFAULT* = 1 shl 13 - GTK_HAS_DEFAULT* = 1 shl 14 - GTK_HAS_GRAB* = 1 shl 15 - GTK_RC_STYLE* = 1 shl 16 - GTK_COMPOSITE_CHILD* = 1 shl 17 - GTK_NO_REPARENT* = 1 shl 18 - GTK_APP_PAINTABLE* = 1 shl 19 - GTK_RECEIVES_DEFAULT* = 1 shl 20 - GTK_DOUBLE_BUFFERED* = 1 shl 21 - -const - bm_TGtkWidgetAuxInfo_x_set* = 0x00000001'i16 - bp_TGtkWidgetAuxInfo_x_set* = 0'i16 - bm_TGtkWidgetAuxInfo_y_set* = 0x00000002'i16 - bp_TGtkWidgetAuxInfo_y_set* = 1'i16 - -proc GTK_TYPE_WIDGET*(): GType -proc GTK_WIDGET*(widget: pointer): PGtkWidget -proc GTK_WIDGET_CLASS*(klass: pointer): PGtkWidgetClass -proc GTK_IS_WIDGET*(widget: pointer): bool -proc GTK_IS_WIDGET_CLASS*(klass: pointer): bool -proc GTK_WIDGET_GET_CLASS*(obj: pointer): PGtkWidgetClass -proc GTK_WIDGET_TYPE*(wid: pointer): GType -proc GTK_WIDGET_STATE*(wid: pointer): int32 -proc GTK_WIDGET_SAVED_STATE*(wid: pointer): int32 -proc GTK_WIDGET_FLAGS*(wid: pointer): guint32 -proc GTK_WIDGET_TOPLEVEL*(wid: pointer): gboolean -proc GTK_WIDGET_NO_WINDOW*(wid: pointer): gboolean -proc GTK_WIDGET_REALIZED*(wid: pointer): gboolean -proc GTK_WIDGET_MAPPED*(wid: pointer): gboolean -proc GTK_WIDGET_VISIBLE*(wid: pointer): gboolean -proc GTK_WIDGET_DRAWABLE*(wid: pointer): gboolean -proc GTK_WIDGET_SENSITIVE*(wid: pointer): gboolean -proc GTK_WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean -proc GTK_WIDGET_IS_SENSITIVE*(wid: pointer): gboolean -proc GTK_WIDGET_CAN_FOCUS*(wid: pointer): gboolean -proc GTK_WIDGET_HAS_FOCUS*(wid: pointer): gboolean -proc GTK_WIDGET_CAN_DEFAULT*(wid: pointer): gboolean -proc GTK_WIDGET_HAS_DEFAULT*(wid: pointer): gboolean -proc GTK_WIDGET_HAS_GRAB*(wid: pointer): gboolean -proc GTK_WIDGET_RC_STYLE*(wid: pointer): gboolean -proc GTK_WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean -proc GTK_WIDGET_APP_PAINTABLE*(wid: pointer): gboolean -proc GTK_WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean -proc GTK_WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean -proc GTK_WIDGET_SET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags -proc GTK_WIDGET_UNSET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags -proc GTK_TYPE_REQUISITION*(): GType -proc x_set*(a: var TGtkWidgetAuxInfo): guint -proc set_x_set*(a: var TGtkWidgetAuxInfo, x_set: guint) -proc y_set*(a: var TGtkWidgetAuxInfo): guint -proc set_y_set*(a: var TGtkWidgetAuxInfo, y_set: guint) -proc gtk_widget_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_widget_get_type".} -proc gtk_widget_ref*(widget: PGtkWidget): PGtkWidget{.cdecl, dynlib: gtklib, - importc: "gtk_widget_ref".} -proc gtk_widget_unref*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_unref".} -proc gtk_widget_destroy*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_destroy".} -proc gtk_widget_destroyed*(widget: PGtkWidget, r: var PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_widget_destroyed".} -proc gtk_widget_unparent*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_unparent".} -proc gtk_widget_show*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_show".} -proc gtk_widget_show_now*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_show_now".} -proc gtk_widget_hide*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_hide".} -proc gtk_widget_show_all*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_show_all".} -proc gtk_widget_hide_all*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_hide_all".} -proc gtk_widget_map*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_map".} -proc gtk_widget_unmap*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_unmap".} -proc gtk_widget_realize*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_realize".} -proc gtk_widget_unrealize*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_unrealize".} -proc gtk_widget_queue_draw*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_queue_draw".} -proc gtk_widget_queue_draw_area*(widget: PGtkWidget, x: gint, y: gint, - width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_widget_queue_draw_area".} -proc gtk_widget_queue_resize*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_queue_resize".} -proc gtk_widget_size_request*(widget: PGtkWidget, requisition: PGtkRequisition){. - cdecl, dynlib: gtklib, importc: "gtk_widget_size_request".} -proc gtk_widget_size_allocate*(widget: PGtkWidget, allocation: PGtkAllocation){. - cdecl, dynlib: gtklib, importc: "gtk_widget_size_allocate".} -proc gtk_widget_get_child_requisition*(widget: PGtkWidget, - requisition: PGtkRequisition){.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_child_requisition".} -proc gtk_widget_add_accelerator*(widget: PGtkWidget, accel_signal: cstring, - accel_group: PGtkAccelGroup, accel_key: guint, - accel_mods: TGdkModifierType, - accel_flags: TGtkAccelFlags){.cdecl, - dynlib: gtklib, importc: "gtk_widget_add_accelerator".} -proc gtk_widget_remove_accelerator*(widget: PGtkWidget, - accel_group: PGtkAccelGroup, - accel_key: guint, - accel_mods: TGdkModifierType): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_widget_remove_accelerator".} -proc gtk_widget_set_accel_path*(widget: PGtkWidget, accel_path: cstring, - accel_group: PGtkAccelGroup){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_accel_path".} -proc gtk_widget_get_accel_path*(widget: PGtkWidget, locked: Pgboolean): cstring{. - cdecl, dynlib: gtklib, importc: "_gtk_widget_get_accel_path".} -proc gtk_widget_list_accel_closures*(widget: PGtkWidget): PGList{.cdecl, - dynlib: gtklib, importc: "gtk_widget_list_accel_closures".} -proc gtk_widget_mnemonic_activate*(widget: PGtkWidget, group_cycling: gboolean): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_widget_mnemonic_activate".} -proc gtk_widget_event*(widget: PGtkWidget, event: PGdkEvent): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_widget_event".} -proc gtk_widget_send_expose*(widget: PGtkWidget, event: PGdkEvent): gint{.cdecl, - dynlib: gtklib, importc: "gtk_widget_send_expose".} -proc gtk_widget_activate*(widget: PGtkWidget): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_widget_activate".} -proc gtk_widget_set_scroll_adjustments*(widget: PGtkWidget, - hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_widget_set_scroll_adjustments".} -proc gtk_widget_reparent*(widget: PGtkWidget, new_parent: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_widget_reparent".} -proc gtk_widget_intersect*(widget: PGtkWidget, area: PGdkRectangle, - intersection: PGdkRectangle): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_widget_intersect".} -proc gtk_widget_region_intersect*(widget: PGtkWidget, region: PGdkRegion): PGdkRegion{. - cdecl, dynlib: gtklib, importc: "gtk_widget_region_intersect".} -proc gtk_widget_freeze_child_notify*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_freeze_child_notify".} -proc gtk_widget_child_notify*(widget: PGtkWidget, child_property: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_widget_child_notify".} -proc gtk_widget_thaw_child_notify*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_thaw_child_notify".} -proc gtk_widget_is_focus*(widget: PGtkWidget): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_widget_is_focus".} -proc gtk_widget_grab_focus*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_grab_focus".} -proc gtk_widget_grab_default*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_grab_default".} -proc gtk_widget_set_name*(widget: PGtkWidget, name: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_name".} -proc gtk_widget_get_name*(widget: PGtkWidget): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_widget_get_name".} -proc gtk_widget_set_state*(widget: PGtkWidget, state: TGtkStateType){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_state".} -proc gtk_widget_set_sensitive*(widget: PGtkWidget, sensitive: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_sensitive".} -proc gtk_widget_set_app_paintable*(widget: PGtkWidget, app_paintable: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_widget_set_app_paintable".} -proc gtk_widget_set_double_buffered*(widget: PGtkWidget, - double_buffered: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_double_buffered".} -proc gtk_widget_set_redraw_on_allocate*(widget: PGtkWidget, - redraw_on_allocate: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_redraw_on_allocate".} -proc gtk_widget_set_parent*(widget: PGtkWidget, parent: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_parent".} -proc gtk_widget_set_parent_window*(widget: PGtkWidget, parent_window: PGdkWindow){. - cdecl, dynlib: gtklib, importc: "gtk_widget_set_parent_window".} -proc gtk_widget_set_child_visible*(widget: PGtkWidget, is_visible: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_widget_set_child_visible".} -proc gtk_widget_get_child_visible*(widget: PGtkWidget): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_child_visible".} -proc gtk_widget_get_parent*(widget: PGtkWidget): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_parent".} -proc gtk_widget_get_parent_window*(widget: PGtkWidget): PGdkWindow{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_parent_window".} -proc gtk_widget_child_focus*(widget: PGtkWidget, direction: TGtkDirectionType): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_widget_child_focus".} -proc gtk_widget_set_size_request*(widget: PGtkWidget, width: gint, height: gint){. - cdecl, dynlib: gtklib, importc: "gtk_widget_set_size_request".} -proc gtk_widget_get_size_request*(widget: PGtkWidget, width: Pgint, - height: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_widget_get_size_request".} -proc gtk_widget_set_events*(widget: PGtkWidget, events: gint){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_events".} -proc gtk_widget_add_events*(widget: PGtkWidget, events: gint){.cdecl, - dynlib: gtklib, importc: "gtk_widget_add_events".} -proc gtk_widget_set_extension_events*(widget: PGtkWidget, - mode: TGdkExtensionMode){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_extension_events".} -proc gtk_widget_get_extension_events*(widget: PGtkWidget): TGdkExtensionMode{. - cdecl, dynlib: gtklib, importc: "gtk_widget_get_extension_events".} -proc gtk_widget_get_toplevel*(widget: PGtkWidget): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_toplevel".} -proc gtk_widget_get_ancestor*(widget: PGtkWidget, widget_type: TGtkType): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_widget_get_ancestor".} -proc gtk_widget_get_colormap*(widget: PGtkWidget): PGdkColormap{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_colormap".} -proc gtk_widget_get_visual*(widget: PGtkWidget): PGdkVisual{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_visual".} -proc gtk_widget_get_screen*(widget: PGtkWidget): PGdkScreen{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_screen".} -proc gtk_widget_has_screen*(widget: PGtkWidget): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_widget_has_screen".} -proc gtk_widget_get_display*(widget: PGtkWidget): PGdkDisplay{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_display".} -proc gtk_widget_get_root_window*(widget: PGtkWidget): PGdkWindow{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_root_window".} -proc gtk_widget_get_settings*(widget: PGtkWidget): PGtkSettings{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_settings".} -proc gtk_widget_get_clipboard*(widget: PGtkWidget, selection: TGdkAtom): PGtkClipboard{. - cdecl, dynlib: gtklib, importc: "gtk_widget_get_clipboard".} -proc gtk_widget_get_accessible*(widget: PGtkWidget): PAtkObject{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_accessible".} -proc gtk_widget_set_colormap*(widget: PGtkWidget, colormap: PGdkColormap){. - cdecl, dynlib: gtklib, importc: "gtk_widget_set_colormap".} -proc gtk_widget_get_events*(widget: PGtkWidget): gint{.cdecl, dynlib: gtklib, - importc: "gtk_widget_get_events".} -proc gtk_widget_get_pointer*(widget: PGtkWidget, x: Pgint, y: Pgint){.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_pointer".} -proc gtk_widget_is_ancestor*(widget: PGtkWidget, ancestor: PGtkWidget): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_widget_is_ancestor".} -proc gtk_widget_translate_coordinates*(src_widget: PGtkWidget, - dest_widget: PGtkWidget, src_x: gint, - src_y: gint, dest_x: Pgint, dest_y: Pgint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_widget_translate_coordinates".} -proc gtk_widget_hide_on_delete*(widget: PGtkWidget): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_widget_hide_on_delete".} -proc gtk_widget_set_style*(widget: PGtkWidget, style: PGtkStyle){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_style".} -proc gtk_widget_ensure_style*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_ensure_style".} -proc gtk_widget_get_style*(widget: PGtkWidget): PGtkStyle{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_style".} -proc gtk_widget_modify_style*(widget: PGtkWidget, style: PGtkRcStyle){.cdecl, - dynlib: gtklib, importc: "gtk_widget_modify_style".} -proc gtk_widget_get_modifier_style*(widget: PGtkWidget): PGtkRcStyle{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_modifier_style".} -proc gtk_widget_modify_fg*(widget: PGtkWidget, state: TGtkStateType, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_widget_modify_fg".} -proc gtk_widget_modify_bg*(widget: PGtkWidget, state: TGtkStateType, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_widget_modify_bg".} -proc gtk_widget_modify_text*(widget: PGtkWidget, state: TGtkStateType, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_widget_modify_text".} -proc gtk_widget_modify_base*(widget: PGtkWidget, state: TGtkStateType, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_widget_modify_base".} -proc gtk_widget_modify_font*(widget: PGtkWidget, - font_desc: PPangoFontDescription){.cdecl, - dynlib: gtklib, importc: "gtk_widget_modify_font".} -proc gtk_widget_create_pango_context*(widget: PGtkWidget): PPangoContext{.cdecl, - dynlib: gtklib, importc: "gtk_widget_create_pango_context".} -proc gtk_widget_get_pango_context*(widget: PGtkWidget): PPangoContext{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_pango_context".} -proc gtk_widget_create_pango_layout*(widget: PGtkWidget, text: cstring): PPangoLayout{. - cdecl, dynlib: gtklib, importc: "gtk_widget_create_pango_layout".} -proc gtk_widget_render_icon*(widget: PGtkWidget, stock_id: cstring, - size: TGtkIconSize, detail: cstring): PGdkPixbuf{. - cdecl, dynlib: gtklib, importc: "gtk_widget_render_icon".} -proc gtk_widget_set_composite_name*(widget: PGtkWidget, name: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_composite_name".} -proc gtk_widget_get_composite_name*(widget: PGtkWidget): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_composite_name".} -proc gtk_widget_reset_rc_styles*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_reset_rc_styles".} -proc gtk_widget_push_colormap*(cmap: PGdkColormap){.cdecl, dynlib: gtklib, - importc: "gtk_widget_push_colormap".} -proc gtk_widget_push_composite_child*(){.cdecl, dynlib: gtklib, - importc: "gtk_widget_push_composite_child".} -proc gtk_widget_pop_composite_child*(){.cdecl, dynlib: gtklib, importc: "gtk_widget_pop_composite_child".} -proc gtk_widget_pop_colormap*(){.cdecl, dynlib: gtklib, - importc: "gtk_widget_pop_colormap".} -proc gtk_widget_class_install_style_property*(klass: PGtkWidgetClass, - pspec: PGParamSpec){.cdecl, dynlib: gtklib, - importc: "gtk_widget_class_install_style_property".} -proc gtk_widget_class_install_style_property_parser*(klass: PGtkWidgetClass, - pspec: PGParamSpec, parser: TGtkRcPropertyParser){.cdecl, dynlib: gtklib, - importc: "gtk_widget_class_install_style_property_parser".} -proc gtk_widget_class_find_style_property*(klass: PGtkWidgetClass, - property_name: cstring): PGParamSpec{.cdecl, dynlib: gtklib, - importc: "gtk_widget_class_find_style_property".} -proc gtk_widget_class_list_style_properties*(klass: PGtkWidgetClass, - n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: gtklib, - importc: "gtk_widget_class_list_style_properties".} -proc gtk_widget_style_get_property*(widget: PGtkWidget, property_name: cstring, - value: PGValue){.cdecl, dynlib: gtklib, - importc: "gtk_widget_style_get_property".} -proc gtk_widget_set_default_colormap*(colormap: PGdkColormap){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_default_colormap".} -proc gtk_widget_get_default_style*(): PGtkStyle{.cdecl, dynlib: gtklib, - importc: "gtk_widget_get_default_style".} -proc gtk_widget_set_direction*(widget: PGtkWidget, dir: TGtkTextDirection){. - cdecl, dynlib: gtklib, importc: "gtk_widget_set_direction".} -proc gtk_widget_get_direction*(widget: PGtkWidget): TGtkTextDirection{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_direction".} -proc gtk_widget_set_default_direction*(dir: TGtkTextDirection){.cdecl, - dynlib: gtklib, importc: "gtk_widget_set_default_direction".} -proc gtk_widget_get_default_direction*(): TGtkTextDirection{.cdecl, - dynlib: gtklib, importc: "gtk_widget_get_default_direction".} -proc gtk_widget_shape_combine_mask*(widget: PGtkWidget, shape_mask: PGdkBitmap, - offset_x: gint, offset_y: gint){.cdecl, - dynlib: gtklib, importc: "gtk_widget_shape_combine_mask".} -proc gtk_widget_reset_shapes*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_widget_reset_shapes".} -proc gtk_widget_path*(widget: PGtkWidget, path_length: Pguint, path: PPgchar, - path_reversed: PPgchar){.cdecl, dynlib: gtklib, - importc: "gtk_widget_path".} -proc gtk_widget_class_path*(widget: PGtkWidget, path_length: Pguint, - path: PPgchar, path_reversed: PPgchar){.cdecl, - dynlib: gtklib, importc: "gtk_widget_class_path".} -proc gtk_requisition_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_requisition_get_type".} -proc gtk_requisition_copy*(requisition: PGtkRequisition): PGtkRequisition{. - cdecl, dynlib: gtklib, importc: "gtk_requisition_copy".} -proc gtk_requisition_free*(requisition: PGtkRequisition){.cdecl, dynlib: gtklib, - importc: "gtk_requisition_free".} -proc gtk_widget_get_aux_info*(widget: PGtkWidget, create: gboolean): PGtkWidgetAuxInfo{. - cdecl, dynlib: gtklib, importc: "gtk_widget_get_aux_info".} -proc gtk_widget_propagate_hierarchy_changed*(widget: PGtkWidget, - previous_toplevel: PGtkWidget){.cdecl, dynlib: gtklib, importc: "_gtk_widget_propagate_hierarchy_changed".} -proc gtk_widget_peek_colormap*(): PGdkColormap{.cdecl, dynlib: gtklib, - importc: "_gtk_widget_peek_colormap".} -proc GTK_TYPE_MISC*(): GType -proc GTK_MISC*(obj: pointer): PGtkMisc -proc GTK_MISC_CLASS*(klass: pointer): PGtkMiscClass -proc GTK_IS_MISC*(obj: pointer): bool -proc GTK_IS_MISC_CLASS*(klass: pointer): bool -proc GTK_MISC_GET_CLASS*(obj: pointer): PGtkMiscClass -proc gtk_misc_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_misc_get_type".} -proc gtk_misc_set_alignment*(misc: PGtkMisc, xalign: gfloat, yalign: gfloat){. - cdecl, dynlib: gtklib, importc: "gtk_misc_set_alignment".} -proc gtk_misc_get_alignment*(misc: PGtkMisc, xalign, yalign: var Pgfloat){. - cdecl, dynlib: gtklib, importc: "gtk_misc_get_alignment".} -proc gtk_misc_set_padding*(misc: PGtkMisc, xpad: gint, ypad: gint){.cdecl, - dynlib: gtklib, importc: "gtk_misc_set_padding".} -proc gtk_misc_get_padding*(misc: PGtkMisc, xpad, ypad: var Pgint){.cdecl, - dynlib: gtklib, importc: "gtk_misc_get_padding".} -const - GTK_ACCEL_VISIBLE* = 1 shl 0 - GTK_ACCEL_LOCKED* = 1 shl 1 - GTK_ACCEL_MASK* = 0x00000007 - bm_TGtkAccelKey_accel_flags* = 0x0000FFFF'i16 - bp_TGtkAccelKey_accel_flags* = 0'i16 - -proc GTK_TYPE_ACCEL_GROUP*(): GType -proc GTK_ACCEL_GROUP*(anObject: pointer): PGtkAccelGroup -proc GTK_ACCEL_GROUP_CLASS*(klass: pointer): PGtkAccelGroupClass -proc GTK_IS_ACCEL_GROUP*(anObject: pointer): bool -proc GTK_IS_ACCEL_GROUP_CLASS*(klass: pointer): bool -proc GTK_ACCEL_GROUP_GET_CLASS*(obj: pointer): PGtkAccelGroupClass -proc accel_flags*(a: var TGtkAccelKey): guint -proc set_accel_flags*(a: var TGtkAccelKey, `accel_flags`: guint) -proc gtk_accel_group_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_accel_group_get_type".} -proc gtk_accel_group_new*(): PGtkAccelGroup{.cdecl, dynlib: gtklib, - importc: "gtk_accel_group_new".} -proc gtk_accel_group_lock*(accel_group: PGtkAccelGroup){.cdecl, dynlib: gtklib, - importc: "gtk_accel_group_lock".} -proc gtk_accel_group_unlock*(accel_group: PGtkAccelGroup){.cdecl, - dynlib: gtklib, importc: "gtk_accel_group_unlock".} -proc gtk_accel_group_connect*(accel_group: PGtkAccelGroup, accel_key: guint, - accel_mods: TGdkModifierType, - accel_flags: TGtkAccelFlags, closure: PGClosure){. - cdecl, dynlib: gtklib, importc: "gtk_accel_group_connect".} -proc gtk_accel_group_connect_by_path*(accel_group: PGtkAccelGroup, - accel_path: cstring, closure: PGClosure){. - cdecl, dynlib: gtklib, importc: "gtk_accel_group_connect_by_path".} -proc gtk_accel_group_disconnect*(accel_group: PGtkAccelGroup, closure: PGClosure): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_accel_group_disconnect".} -proc gtk_accel_group_disconnect_key*(accel_group: PGtkAccelGroup, - accel_key: guint, - accel_mods: TGdkModifierType): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_accel_group_disconnect_key".} -proc gtk_accel_group_attach*(accel_group: PGtkAccelGroup, anObject: PGObject){. - cdecl, dynlib: gtklib, importc: "_gtk_accel_group_attach".} -proc gtk_accel_group_detach*(accel_group: PGtkAccelGroup, anObject: PGObject){. - cdecl, dynlib: gtklib, importc: "_gtk_accel_group_detach".} -proc gtk_accel_groups_activate*(anObject: PGObject, accel_key: guint, - accel_mods: TGdkModifierType): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_accel_groups_activate".} -proc gtk_accel_groups_from_object*(anObject: PGObject): PGSList{.cdecl, - dynlib: gtklib, importc: "gtk_accel_groups_from_object".} -proc gtk_accel_group_find*(accel_group: PGtkAccelGroup, - find_func: Tgtk_accel_group_find_func, data: gpointer): PGtkAccelKey{. - cdecl, dynlib: gtklib, importc: "gtk_accel_group_find".} -proc gtk_accel_group_from_accel_closure*(closure: PGClosure): PGtkAccelGroup{. - cdecl, dynlib: gtklib, importc: "gtk_accel_group_from_accel_closure".} -proc gtk_accelerator_valid*(keyval: guint, modifiers: TGdkModifierType): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_accelerator_valid".} -proc gtk_accelerator_parse*(accelerator: cstring, accelerator_key: Pguint, - accelerator_mods: PGdkModifierType){.cdecl, - dynlib: gtklib, importc: "gtk_accelerator_parse".} -proc gtk_accelerator_name*(accelerator_key: guint, - accelerator_mods: TGdkModifierType): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_accelerator_name".} -proc gtk_accelerator_set_default_mod_mask*(default_mod_mask: TGdkModifierType){. - cdecl, dynlib: gtklib, importc: "gtk_accelerator_set_default_mod_mask".} -proc gtk_accelerator_get_default_mod_mask*(): guint{.cdecl, dynlib: gtklib, - importc: "gtk_accelerator_get_default_mod_mask".} -proc gtk_accel_group_query*(accel_group: PGtkAccelGroup, accel_key: guint, - accel_mods: TGdkModifierType, n_entries: Pguint): PGtkAccelGroupEntry{. - cdecl, dynlib: gtklib, importc: "gtk_accel_group_query".} -proc gtk_accel_group_reconnect*(accel_group: PGtkAccelGroup, - accel_path_quark: TGQuark){.cdecl, - dynlib: gtklib, importc: "_gtk_accel_group_reconnect".} -const - bm_TGtkContainer_border_width* = 0x0000FFFF'i32 - bp_TGtkContainer_border_width* = 0'i32 - bm_TGtkContainer_need_resize* = 0x00010000'i32 - bp_TGtkContainer_need_resize* = 16'i32 - bm_TGtkContainer_resize_mode* = 0x00060000'i32 - bp_TGtkContainer_resize_mode* = 17'i32 - bm_TGtkContainer_reallocate_redraws* = 0x00080000'i32 - bp_TGtkContainer_reallocate_redraws* = 19'i32 - bm_TGtkContainer_has_focus_chain* = 0x00100000'i32 - bp_TGtkContainer_has_focus_chain* = 20'i32 - -proc GTK_TYPE_CONTAINER*(): GType -proc GTK_CONTAINER*(obj: pointer): PGtkContainer -proc GTK_CONTAINER_CLASS*(klass: pointer): PGtkContainerClass -proc GTK_IS_CONTAINER*(obj: pointer): bool -proc GTK_IS_CONTAINER_CLASS*(klass: pointer): bool -proc GTK_CONTAINER_GET_CLASS*(obj: pointer): PGtkContainerClass -proc GTK_IS_RESIZE_CONTAINER*(widget: pointer): bool -proc border_width*(a: var TGtkContainer): guint -proc set_border_width*(a: var TGtkContainer, `border_width`: guint) -proc need_resize*(a: var TGtkContainer): guint -proc set_need_resize*(a: var TGtkContainer, `need_resize`: guint) -proc resize_mode*(a: PGtkContainer): guint -proc set_resize_mode*(a: var TGtkContainer, `resize_mode`: guint) -proc reallocate_redraws*(a: var TGtkContainer): guint -proc set_reallocate_redraws*(a: var TGtkContainer, `reallocate_redraws`: guint) -proc has_focus_chain*(a: var TGtkContainer): guint -proc set_has_focus_chain*(a: var TGtkContainer, `has_focus_chain`: guint) -proc gtk_container_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_container_get_type".} -proc gtk_container_set_border_width*(container: PGtkContainer, - border_width: guint){.cdecl, - dynlib: gtklib, importc: "gtk_container_set_border_width".} -proc gtk_container_get_border_width*(container: PGtkContainer): guint{.cdecl, - dynlib: gtklib, importc: "gtk_container_get_border_width".} -proc gtk_container_add*(container: PGtkContainer, widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_container_add".} -proc gtk_container_remove*(container: PGtkContainer, widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_container_remove".} -proc gtk_container_set_resize_mode*(container: PGtkContainer, - resize_mode: TGtkResizeMode){.cdecl, - dynlib: gtklib, importc: "gtk_container_set_resize_mode".} -proc gtk_container_get_resize_mode*(container: PGtkContainer): TGtkResizeMode{. - cdecl, dynlib: gtklib, importc: "gtk_container_get_resize_mode".} -proc gtk_container_check_resize*(container: PGtkContainer){.cdecl, - dynlib: gtklib, importc: "gtk_container_check_resize".} -proc gtk_container_foreach*(container: PGtkContainer, callback: TGtkCallback, - callback_data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_container_foreach".} -proc gtk_container_get_children*(container: PGtkContainer): PGList{.cdecl, - dynlib: gtklib, importc: "gtk_container_get_children".} -proc gtk_container_propagate_expose*(container: PGtkContainer, - child: PGtkWidget, event: PGdkEventExpose){. - cdecl, dynlib: gtklib, importc: "gtk_container_propagate_expose".} -proc gtk_container_set_focus_chain*(container: PGtkContainer, - focusable_widgets: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_container_set_focus_chain".} -proc gtk_container_get_focus_chain*(container: PGtkContainer, s: var PGList): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_container_get_focus_chain".} -proc gtk_container_unset_focus_chain*(container: PGtkContainer){.cdecl, - dynlib: gtklib, importc: "gtk_container_unset_focus_chain".} -proc gtk_container_set_reallocate_redraws*(container: PGtkContainer, - needs_redraws: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_container_set_reallocate_redraws".} -proc gtk_container_set_focus_child*(container: PGtkContainer, child: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_container_set_focus_child".} -proc gtk_container_set_focus_vadjustment*(container: PGtkContainer, - adjustment: PGtkAdjustment){.cdecl, dynlib: gtklib, - importc: "gtk_container_set_focus_vadjustment".} -proc gtk_container_get_focus_vadjustment*(container: PGtkContainer): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_container_get_focus_vadjustment".} -proc gtk_container_set_focus_hadjustment*(container: PGtkContainer, - adjustment: PGtkAdjustment){.cdecl, dynlib: gtklib, - importc: "gtk_container_set_focus_hadjustment".} -proc gtk_container_get_focus_hadjustment*(container: PGtkContainer): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_container_get_focus_hadjustment".} -proc gtk_container_resize_children*(container: PGtkContainer){.cdecl, - dynlib: gtklib, importc: "gtk_container_resize_children".} -proc gtk_container_child_type*(container: PGtkContainer): TGtkType{.cdecl, - dynlib: gtklib, importc: "gtk_container_child_type".} -proc gtk_container_class_install_child_property*(cclass: PGtkContainerClass, - property_id: guint, pspec: PGParamSpec){.cdecl, dynlib: gtklib, - importc: "gtk_container_class_install_child_property".} -proc gtk_container_class_find_child_property*(cclass: PGObjectClass, - property_name: cstring): PGParamSpec{.cdecl, dynlib: gtklib, - importc: "gtk_container_class_find_child_property".} -proc gtk_container_class_list_child_properties*(cclass: PGObjectClass, - n_properties: Pguint): PPGParamSpec{.cdecl, dynlib: gtklib, - importc: "gtk_container_class_list_child_properties".} -proc gtk_container_child_set_property*(container: PGtkContainer, - child: PGtkWidget, property_name: cstring, - value: PGValue){.cdecl, dynlib: gtklib, - importc: "gtk_container_child_set_property".} -proc gtk_container_child_get_property*(container: PGtkContainer, - child: PGtkWidget, property_name: cstring, - value: PGValue){.cdecl, dynlib: gtklib, - importc: "gtk_container_child_get_property".} -proc GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID*(anObject: pointer, - property_id: guint, pspec: pointer) -proc gtk_container_forall*(container: PGtkContainer, callback: TGtkCallback, - callback_data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_container_forall".} -proc gtk_container_queue_resize*(container: PGtkContainer){.cdecl, - dynlib: gtklib, importc: "_gtk_container_queue_resize".} -proc gtk_container_clear_resize_widgets*(container: PGtkContainer){.cdecl, - dynlib: gtklib, importc: "_gtk_container_clear_resize_widgets".} -proc gtk_container_child_composite_name*(container: PGtkContainer, - child: PGtkWidget): cstring{.cdecl, dynlib: gtklib, - importc: "_gtk_container_child_composite_name".} -proc gtk_container_dequeue_resize_handler*(container: PGtkContainer){.cdecl, - dynlib: gtklib, importc: "_gtk_container_dequeue_resize_handler".} -proc gtk_container_focus_sort*(container: PGtkContainer, children: PGList, - direction: TGtkDirectionType, - old_focus: PGtkWidget): PGList{.cdecl, - dynlib: gtklib, importc: "_gtk_container_focus_sort".} -proc GTK_TYPE_BIN*(): GType -proc GTK_BIN*(obj: pointer): PGtkBin -proc GTK_BIN_CLASS*(klass: pointer): PGtkBinClass -proc GTK_IS_BIN*(obj: pointer): bool -proc GTK_IS_BIN_CLASS*(klass: pointer): bool -proc GTK_BIN_GET_CLASS*(obj: pointer): PGtkBinClass -proc gtk_bin_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_bin_get_type".} -proc gtk_bin_get_child*(bin: PGtkBin): PGtkWidget{.cdecl, dynlib: gtklib, - importc: "gtk_bin_get_child".} -const - bm_TGtkWindow_allow_shrink* = 0x00000001'i32 - bp_TGtkWindow_allow_shrink* = 0'i32 - bm_TGtkWindow_allow_grow* = 0x00000002'i32 - bp_TGtkWindow_allow_grow* = 1'i32 - bm_TGtkWindow_configure_notify_received* = 0x00000004'i32 - bp_TGtkWindow_configure_notify_received* = 2'i32 - bm_TGtkWindow_need_default_position* = 0x00000008'i32 - bp_TGtkWindow_need_default_position* = 3'i32 - bm_TGtkWindow_need_default_size* = 0x00000010'i32 - bp_TGtkWindow_need_default_size* = 4'i32 - bm_TGtkWindow_position* = 0x000000E0'i32 - bp_TGtkWindow_position* = 5'i32 - bm_TGtkWindow_type* = 0x00000F00'i32 - bp_TGtkWindow_type* = 8'i32 - bm_TGtkWindow_has_user_ref_count* = 0x00001000'i32 - bp_TGtkWindow_has_user_ref_count* = 12'i32 - bm_TGtkWindow_has_focus* = 0x00002000'i32 - bp_TGtkWindow_has_focus* = 13'i32 - bm_TGtkWindow_modal* = 0x00004000'i32 - bp_TGtkWindow_modal* = 14'i32 - bm_TGtkWindow_destroy_with_parent* = 0x00008000'i32 - bp_TGtkWindow_destroy_with_parent* = 15'i32 - bm_TGtkWindow_has_frame* = 0x00010000'i32 - bp_TGtkWindow_has_frame* = 16'i32 - bm_TGtkWindow_iconify_initially* = 0x00020000'i32 - bp_TGtkWindow_iconify_initially* = 17'i32 - bm_TGtkWindow_stick_initially* = 0x00040000'i32 - bp_TGtkWindow_stick_initially* = 18'i32 - bm_TGtkWindow_maximize_initially* = 0x00080000'i32 - bp_TGtkWindow_maximize_initially* = 19'i32 - bm_TGtkWindow_decorated* = 0x00100000'i32 - bp_TGtkWindow_decorated* = 20'i32 - bm_TGtkWindow_type_hint* = 0x00E00000'i32 - bp_TGtkWindow_type_hint* = 21'i32 - bm_TGtkWindow_gravity* = 0x1F000000'i32 - bp_TGtkWindow_gravity* = 24'i32 - -proc GTK_TYPE_WINDOW*(): GType -proc GTK_WINDOW*(obj: pointer): PGtkWindow -proc GTK_WINDOW_CLASS*(klass: pointer): PGtkWindowClass -proc GTK_IS_WINDOW*(obj: pointer): bool -proc GTK_IS_WINDOW_CLASS*(klass: pointer): bool -proc GTK_WINDOW_GET_CLASS*(obj: pointer): PGtkWindowClass -proc allow_shrink*(a: var TGtkWindow): guint -proc set_allow_shrink*(a: var TGtkWindow, `allow_shrink`: guint) -proc allow_grow*(a: var TGtkWindow): guint -proc set_allow_grow*(a: var TGtkWindow, `allow_grow`: guint) -proc configure_notify_received*(a: var TGtkWindow): guint -proc set_configure_notify_received*(a: var TGtkWindow, - `configure_notify_received`: guint) -proc need_default_position*(a: var TGtkWindow): guint -proc set_need_default_position*(a: var TGtkWindow, - `need_default_position`: guint) -proc need_default_size*(a: var TGtkWindow): guint -proc set_need_default_size*(a: var TGtkWindow, `need_default_size`: guint) -proc position*(a: var TGtkWindow): guint -proc set_position*(a: var TGtkWindow, `position`: guint) -proc get_type*(a: var TGtkWindow): guint -proc set_type*(a: var TGtkWindow, `type`: guint) -proc has_user_ref_count*(a: var TGtkWindow): guint -proc set_has_user_ref_count*(a: var TGtkWindow, `has_user_ref_count`: guint) -proc has_focus*(a: var TGtkWindow): guint -proc set_has_focus*(a: var TGtkWindow, `has_focus`: guint) -proc modal*(a: var TGtkWindow): guint -proc set_modal*(a: var TGtkWindow, `modal`: guint) -proc destroy_with_parent*(a: var TGtkWindow): guint -proc set_destroy_with_parent*(a: var TGtkWindow, `destroy_with_parent`: guint) -proc has_frame*(a: var TGtkWindow): guint -proc set_has_frame*(a: var TGtkWindow, `has_frame`: guint) -proc iconify_initially*(a: var TGtkWindow): guint -proc set_iconify_initially*(a: var TGtkWindow, `iconify_initially`: guint) -proc stick_initially*(a: var TGtkWindow): guint -proc set_stick_initially*(a: var TGtkWindow, `stick_initially`: guint) -proc maximize_initially*(a: var TGtkWindow): guint -proc set_maximize_initially*(a: var TGtkWindow, `maximize_initially`: guint) -proc decorated*(a: var TGtkWindow): guint -proc set_decorated*(a: var TGtkWindow, `decorated`: guint) -proc type_hint*(a: var TGtkWindow): guint -proc set_type_hint*(a: var TGtkWindow, `type_hint`: guint) -proc gravity*(a: var TGtkWindow): guint -proc set_gravity*(a: var TGtkWindow, `gravity`: guint) -proc GTK_TYPE_WINDOW_GROUP*(): GType -proc GTK_WINDOW_GROUP*(anObject: pointer): PGtkWindowGroup -proc GTK_WINDOW_GROUP_CLASS*(klass: pointer): PGtkWindowGroupClass -proc GTK_IS_WINDOW_GROUP*(anObject: pointer): bool -proc GTK_IS_WINDOW_GROUP_CLASS*(klass: pointer): bool -proc GTK_WINDOW_GROUP_GET_CLASS*(obj: pointer): PGtkWindowGroupClass -proc gtk_window_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_window_get_type".} -proc gtk_window_new*(thetype: TGtkWindowType): PGtkWindow {.cdecl, - dynlib: gtklib, importc: "gtk_window_new".} -proc gtk_window_set_title*(window: PGtkWindow, title: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_title".} -proc gtk_window_get_title*(window: PGtkWindow): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_window_get_title".} -proc gtk_window_set_wmclass*(window: PGtkWindow, wmclass_name: cstring, - wmclass_class: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_window_set_wmclass".} -proc gtk_window_set_role*(window: PGtkWindow, role: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_role".} -proc gtk_window_get_role*(window: PGtkWindow): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_window_get_role".} -proc gtk_window_add_accel_group*(window: PGtkWindow, accel_group: PGtkAccelGroup){. - cdecl, dynlib: gtklib, importc: "gtk_window_add_accel_group".} -proc gtk_window_remove_accel_group*(window: PGtkWindow, - accel_group: PGtkAccelGroup){.cdecl, - dynlib: gtklib, importc: "gtk_window_remove_accel_group".} -proc gtk_window_set_position*(window: PGtkWindow, position: TGtkWindowPosition){. - cdecl, dynlib: gtklib, importc: "gtk_window_set_position".} -proc gtk_window_activate_focus*(window: PGtkWindow): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_window_activate_focus".} -proc gtk_window_set_focus*(window: PGtkWindow, focus: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_focus".} -proc gtk_window_get_focus*(window: PGtkWindow): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_focus".} -proc gtk_window_set_default*(window: PGtkWindow, default_widget: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_window_set_default".} -proc gtk_window_activate_default*(window: PGtkWindow): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_window_activate_default".} -proc gtk_window_set_transient_for*(window: PGtkWindow, parent: PGtkWindow){. - cdecl, dynlib: gtklib, importc: "gtk_window_set_transient_for".} -proc gtk_window_get_transient_for*(window: PGtkWindow): PGtkWindow{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_transient_for".} -proc gtk_window_set_type_hint*(window: PGtkWindow, hint: TGdkWindowTypeHint){. - cdecl, dynlib: gtklib, importc: "gtk_window_set_type_hint".} -proc gtk_window_get_type_hint*(window: PGtkWindow): TGdkWindowTypeHint{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_type_hint".} -proc gtk_window_set_destroy_with_parent*(window: PGtkWindow, setting: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_window_set_destroy_with_parent".} -proc gtk_window_get_destroy_with_parent*(window: PGtkWindow): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_destroy_with_parent".} -proc gtk_window_set_resizable*(window: PGtkWindow, resizable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_resizable".} -proc gtk_window_get_resizable*(window: PGtkWindow): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_resizable".} -proc gtk_window_set_gravity*(window: PGtkWindow, gravity: TGdkGravity){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_gravity".} -proc gtk_window_get_gravity*(window: PGtkWindow): TGdkGravity{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_gravity".} -proc gtk_window_set_geometry_hints*(window: PGtkWindow, - geometry_widget: PGtkWidget, - geometry: PGdkGeometry, - geom_mask: TGdkWindowHints){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_geometry_hints".} -proc gtk_window_set_screen*(window: PGtkWindow, screen: PGdkScreen){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_screen".} -proc gtk_window_get_screen*(window: PGtkWindow): PGdkScreen{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_screen".} -proc gtk_window_set_has_frame*(window: PGtkWindow, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_has_frame".} -proc gtk_window_get_has_frame*(window: PGtkWindow): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_has_frame".} -proc gtk_window_set_frame_dimensions*(window: PGtkWindow, left: gint, top: gint, - right: gint, bottom: gint){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_frame_dimensions".} -proc gtk_window_get_frame_dimensions*(window: PGtkWindow, left: Pgint, - top: Pgint, right: Pgint, bottom: Pgint){. - cdecl, dynlib: gtklib, importc: "gtk_window_get_frame_dimensions".} -proc gtk_window_set_decorated*(window: PGtkWindow, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_decorated".} -proc gtk_window_get_decorated*(window: PGtkWindow): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_decorated".} -proc gtk_window_set_icon_list*(window: PGtkWindow, list: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_icon_list".} -proc gtk_window_get_icon_list*(window: PGtkWindow): PGList{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_icon_list".} -proc gtk_window_set_icon*(window: PGtkWindow, icon: PGdkPixbuf){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_icon".} -proc gtk_window_get_icon*(window: PGtkWindow): PGdkPixbuf{.cdecl, - dynlib: gtklib, importc: "gtk_window_get_icon".} -proc gtk_window_set_default_icon_list*(list: PGList){.cdecl, dynlib: gtklib, - importc: "gtk_window_set_default_icon_list".} -proc gtk_window_get_default_icon_list*(): PGList{.cdecl, dynlib: gtklib, - importc: "gtk_window_get_default_icon_list".} -proc gtk_window_set_modal*(window: PGtkWindow, modal: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_modal".} -proc gtk_window_get_modal*(window: PGtkWindow): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_window_get_modal".} -proc gtk_window_list_toplevels*(): PGList{.cdecl, dynlib: gtklib, - importc: "gtk_window_list_toplevels".} -proc gtk_window_add_mnemonic*(window: PGtkWindow, keyval: guint, - target: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_window_add_mnemonic".} -proc gtk_window_remove_mnemonic*(window: PGtkWindow, keyval: guint, - target: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_window_remove_mnemonic".} -proc gtk_window_mnemonic_activate*(window: PGtkWindow, keyval: guint, - modifier: TGdkModifierType): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_window_mnemonic_activate".} -proc gtk_window_set_mnemonic_modifier*(window: PGtkWindow, - modifier: TGdkModifierType){.cdecl, - dynlib: gtklib, importc: "gtk_window_set_mnemonic_modifier".} -proc gtk_window_get_mnemonic_modifier*(window: PGtkWindow): TGdkModifierType{. - cdecl, dynlib: gtklib, importc: "gtk_window_get_mnemonic_modifier".} -proc gtk_window_present*(window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_present".} -proc gtk_window_iconify*(window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_iconify".} -proc gtk_window_deiconify*(window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_deiconify".} -proc gtk_window_stick*(window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_stick".} -proc gtk_window_unstick*(window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_unstick".} -proc gtk_window_maximize*(window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_maximize".} -proc gtk_window_unmaximize*(window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_unmaximize".} -proc gtk_window_begin_resize_drag*(window: PGtkWindow, edge: TGdkWindowEdge, - button: gint, root_x: gint, root_y: gint, - timestamp: guint32){.cdecl, dynlib: gtklib, - importc: "gtk_window_begin_resize_drag".} -proc gtk_window_begin_move_drag*(window: PGtkWindow, button: gint, root_x: gint, - root_y: gint, timestamp: guint32){.cdecl, - dynlib: gtklib, importc: "gtk_window_begin_move_drag".} -proc gtk_window_set_default_size*(window: PGtkWindow, width: gint, height: gint){. - cdecl, dynlib: gtklib, importc: "gtk_window_set_default_size".} -proc gtk_window_get_default_size*(window: PGtkWindow, width: Pgint, - height: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_window_get_default_size".} -proc gtk_window_resize*(window: PGtkWindow, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_window_resize".} -proc gtk_window_get_size*(window: PGtkWindow, width: Pgint, height: Pgint){. - cdecl, dynlib: gtklib, importc: "gtk_window_get_size".} -proc gtk_window_move*(window: PGtkWindow, x: gint, y: gint){.cdecl, - dynlib: gtklib, importc: "gtk_window_move".} -proc gtk_window_get_position*(window: PGtkWindow, root_x: Pgint, root_y: Pgint){. - cdecl, dynlib: gtklib, importc: "gtk_window_get_position".} -proc gtk_window_parse_geometry*(window: PGtkWindow, geometry: cstring): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_window_parse_geometry".} -proc gtk_window_reshow_with_initial_size*(window: PGtkWindow){.cdecl, - dynlib: gtklib, importc: "gtk_window_reshow_with_initial_size".} -proc gtk_window_group_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_window_group_get_type".} -proc gtk_window_group_new*(): PGtkWindowGroup{.cdecl, dynlib: gtklib, - importc: "gtk_window_group_new".} -proc gtk_window_group_add_window*(window_group: PGtkWindowGroup, - window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_group_add_window".} -proc gtk_window_group_remove_window*(window_group: PGtkWindowGroup, - window: PGtkWindow){.cdecl, dynlib: gtklib, - importc: "gtk_window_group_remove_window".} -proc gtk_window_set_default_icon_name*(name: cstring) {. - cdecl, dynlib: gtklib, importc.} -proc gtk_window_internal_set_focus*(window: PGtkWindow, focus: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "_gtk_window_internal_set_focus".} -proc gtk_window_remove_embedded_xid*(window: PGtkWindow, xid: guint){.cdecl, - dynlib: gtklib, importc: "gtk_window_remove_embedded_xid".} -proc gtk_window_add_embedded_xid*(window: PGtkWindow, xid: guint){.cdecl, - dynlib: gtklib, importc: "gtk_window_add_embedded_xid".} -proc gtk_window_reposition*(window: PGtkWindow, x: gint, y: gint){.cdecl, - dynlib: gtklib, importc: "_gtk_window_reposition".} -proc gtk_window_constrain_size*(window: PGtkWindow, width: gint, height: gint, - new_width: Pgint, new_height: Pgint){.cdecl, - dynlib: gtklib, importc: "_gtk_window_constrain_size".} -proc gtk_window_get_group*(window: PGtkWindow): PGtkWindowGroup{.cdecl, - dynlib: gtklib, importc: "_gtk_window_get_group".} -proc gtk_window_activate_key*(window: PGtkWindow, event: PGdkEventKey): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_window_activate_key".} -proc gtk_window_keys_foreach*(window: PGtkWindow, - func: TGtkWindowKeysForeachFunc, - func_data: gpointer){.cdecl, dynlib: gtklib, - importc: "_gtk_window_keys_foreach".} -proc gtk_window_query_nonaccels*(window: PGtkWindow, accel_key: guint, - accel_mods: TGdkModifierType): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_window_query_nonaccels".} -const - bm_TGtkLabel_jtype* = 0x00000003'i16 - bp_TGtkLabel_jtype* = 0'i16 - bm_TGtkLabel_wrap* = 0x00000004'i16 - bp_TGtkLabel_wrap* = 2'i16 - bm_TGtkLabel_use_underline* = 0x00000008'i16 - bp_TGtkLabel_use_underline* = 3'i16 - bm_TGtkLabel_use_markup* = 0x00000010'i16 - bp_TGtkLabel_use_markup* = 4'i16 - -proc GTK_TYPE_LABEL*(): GType -proc GTK_LABEL*(obj: pointer): PGtkLabel -proc GTK_LABEL_CLASS*(klass: pointer): PGtkLabelClass -proc GTK_IS_LABEL*(obj: pointer): bool -proc GTK_IS_LABEL_CLASS*(klass: pointer): bool -proc GTK_LABEL_GET_CLASS*(obj: pointer): PGtkLabelClass -proc jtype*(a: var TGtkLabel): guint -proc set_jtype*(a: var TGtkLabel, `jtype`: guint) -proc wrap*(a: var TGtkLabel): guint -proc set_wrap*(a: var TGtkLabel, `wrap`: guint) -proc use_underline*(a: var TGtkLabel): guint -proc set_use_underline*(a: var TGtkLabel, `use_underline`: guint) -proc use_markup*(a: var TGtkLabel): guint -proc set_use_markup*(a: var TGtkLabel, `use_markup`: guint) -proc gtk_label_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_label_get_type".} -proc gtk_label_new*(str: cstring): PGtkLabel {.cdecl, dynlib: gtklib, - importc: "gtk_label_new".} -proc gtk_label_new_with_mnemonic*(str: cstring): PGtkLabel {.cdecl, - dynlib: gtklib, importc: "gtk_label_new_with_mnemonic".} -proc gtk_label_set_text*(`label`: PGtkLabel, str: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_text".} -proc gtk_label_get_text*(`label`: PGtkLabel): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_label_get_text".} -proc gtk_label_set_attributes*(`label`: PGtkLabel, attrs: PPangoAttrList){. - cdecl, dynlib: gtklib, importc: "gtk_label_set_attributes".} -proc gtk_label_get_attributes*(`label`: PGtkLabel): PPangoAttrList{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_attributes".} -proc gtk_label_set_label*(`label`: PGtkLabel, str: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_label".} -proc gtk_label_get_label*(`label`: PGtkLabel): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_label_get_label".} -proc gtk_label_set_markup*(`label`: PGtkLabel, str: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_markup".} -proc gtk_label_set_use_markup*(`label`: PGtkLabel, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_use_markup".} -proc gtk_label_get_use_markup*(`label`: PGtkLabel): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_use_markup".} -proc gtk_label_set_use_underline*(`label`: PGtkLabel, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_use_underline".} -proc gtk_label_get_use_underline*(`label`: PGtkLabel): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_use_underline".} -proc gtk_label_set_markup_with_mnemonic*(`label`: PGtkLabel, str: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_label_set_markup_with_mnemonic".} -proc gtk_label_get_mnemonic_keyval*(`label`: PGtkLabel): guint{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_mnemonic_keyval".} -proc gtk_label_set_mnemonic_widget*(`label`: PGtkLabel, widget: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_label_set_mnemonic_widget".} -proc gtk_label_get_mnemonic_widget*(`label`: PGtkLabel): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_mnemonic_widget".} -proc gtk_label_set_text_with_mnemonic*(`label`: PGtkLabel, str: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_text_with_mnemonic".} -proc gtk_label_set_justify*(`label`: PGtkLabel, jtype: TGtkJustification){. - cdecl, dynlib: gtklib, importc: "gtk_label_set_justify".} -proc gtk_label_get_justify*(`label`: PGtkLabel): TGtkJustification{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_justify".} -proc gtk_label_set_pattern*(`label`: PGtkLabel, pattern: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_pattern".} -proc gtk_label_set_line_wrap*(`label`: PGtkLabel, wrap: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_line_wrap".} -proc gtk_label_get_line_wrap*(`label`: PGtkLabel): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_line_wrap".} -proc gtk_label_set_selectable*(`label`: PGtkLabel, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_label_set_selectable".} -proc gtk_label_get_selectable*(`label`: PGtkLabel): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_selectable".} -proc gtk_label_select_region*(`label`: PGtkLabel, start_offset: gint, - end_offset: gint){.cdecl, dynlib: gtklib, - importc: "gtk_label_select_region".} -proc gtk_label_get_selection_bounds*(`label`: PGtkLabel, start: Pgint, - theEnd: Pgint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_selection_bounds".} -proc gtk_label_get_layout*(`label`: PGtkLabel): PPangoLayout{.cdecl, - dynlib: gtklib, importc: "gtk_label_get_layout".} -proc gtk_label_get_layout_offsets*(`label`: PGtkLabel, x: Pgint, y: Pgint){. - cdecl, dynlib: gtklib, importc: "gtk_label_get_layout_offsets".} -const - bm_TGtkAccelLabelClass_latin1_to_char* = 0x00000001'i16 - bp_TGtkAccelLabelClass_latin1_to_char* = 0'i16 - -proc GTK_TYPE_ACCEL_LABEL*(): GType -proc GTK_ACCEL_LABEL*(obj: pointer): PGtkAccelLabel -proc GTK_ACCEL_LABEL_CLASS*(klass: pointer): PGtkAccelLabelClass -proc GTK_IS_ACCEL_LABEL*(obj: pointer): bool -proc GTK_IS_ACCEL_LABEL_CLASS*(klass: pointer): bool -proc GTK_ACCEL_LABEL_GET_CLASS*(obj: pointer): PGtkAccelLabelClass -proc latin1_to_char*(a: var TGtkAccelLabelClass): guint -proc set_latin1_to_char*(a: var TGtkAccelLabelClass, `latin1_to_char`: guint) -proc gtk_accel_label_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_accel_label_get_type".} -proc gtk_accel_label_new*(`string`: cstring): PGtkAccelLabel {.cdecl, dynlib: gtklib, - importc: "gtk_accel_label_new".} -proc gtk_accel_label_get_accel_widget*(accel_label: PGtkAccelLabel): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_accel_label_get_accel_widget".} -proc gtk_accel_label_get_accel_width*(accel_label: PGtkAccelLabel): guint{. - cdecl, dynlib: gtklib, importc: "gtk_accel_label_get_accel_width".} -proc gtk_accel_label_set_accel_widget*(accel_label: PGtkAccelLabel, - accel_widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_accel_label_set_accel_widget".} -proc gtk_accel_label_set_accel_closure*(accel_label: PGtkAccelLabel, - accel_closure: PGClosure){.cdecl, - dynlib: gtklib, importc: "gtk_accel_label_set_accel_closure".} -proc gtk_accel_label_refetch*(accel_label: PGtkAccelLabel): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_accel_label_refetch".} -proc gtk_accel_map_add_entry*(accel_path: cstring, accel_key: guint, - accel_mods: TGdkModifierType){.cdecl, - dynlib: gtklib, importc: "gtk_accel_map_add_entry".} -proc gtk_accel_map_lookup_entry*(accel_path: cstring, key: PGtkAccelKey): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_accel_map_lookup_entry".} -proc gtk_accel_map_change_entry*(accel_path: cstring, accel_key: guint, - accel_mods: TGdkModifierType, replace: gboolean): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_accel_map_change_entry".} -proc gtk_accel_map_load*(file_name: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_accel_map_load".} -proc gtk_accel_map_save*(file_name: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_accel_map_save".} -proc gtk_accel_map_foreach*(data: gpointer, foreach_func: TGtkAccelMapForeach){. - cdecl, dynlib: gtklib, importc: "gtk_accel_map_foreach".} -proc gtk_accel_map_load_fd*(fd: gint){.cdecl, dynlib: gtklib, - importc: "gtk_accel_map_load_fd".} -proc gtk_accel_map_load_scanner*(scanner: PGScanner){.cdecl, dynlib: gtklib, - importc: "gtk_accel_map_load_scanner".} -proc gtk_accel_map_save_fd*(fd: gint){.cdecl, dynlib: gtklib, - importc: "gtk_accel_map_save_fd".} -proc gtk_accel_map_add_filter*(filter_pattern: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_accel_map_add_filter".} -proc gtk_accel_map_foreach_unfiltered*(data: gpointer, - foreach_func: TGtkAccelMapForeach){. - cdecl, dynlib: gtklib, importc: "gtk_accel_map_foreach_unfiltered".} -proc gtk_accel_map_init*(){.cdecl, dynlib: gtklib, - importc: "_gtk_accel_map_init".} -proc gtk_accel_map_add_group*(accel_path: cstring, accel_group: PGtkAccelGroup){. - cdecl, dynlib: gtklib, importc: "_gtk_accel_map_add_group".} -proc gtk_accel_map_remove_group*(accel_path: cstring, - accel_group: PGtkAccelGroup){.cdecl, - dynlib: gtklib, importc: "_gtk_accel_map_remove_group".} -proc gtk_accel_path_is_valid*(accel_path: cstring): gboolean{.cdecl, - dynlib: gtklib, importc: "_gtk_accel_path_is_valid".} -proc GTK_TYPE_ACCESSIBLE*(): GType -proc GTK_ACCESSIBLE*(obj: pointer): PGtkAccessible -proc GTK_ACCESSIBLE_CLASS*(klass: pointer): PGtkAccessibleClass -proc GTK_IS_ACCESSIBLE*(obj: pointer): bool -proc GTK_IS_ACCESSIBLE_CLASS*(klass: pointer): bool -proc GTK_ACCESSIBLE_GET_CLASS*(obj: pointer): PGtkAccessibleClass -proc gtk_accessible_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_accessible_get_type".} -proc gtk_accessible_connect_widget_destroyed*(accessible: PGtkAccessible){. - cdecl, dynlib: gtklib, importc: "gtk_accessible_connect_widget_destroyed".} -proc GTK_TYPE_ADJUSTMENT*(): GType -proc GTK_ADJUSTMENT*(obj: pointer): PGtkAdjustment -proc GTK_ADJUSTMENT_CLASS*(klass: pointer): PGtkAdjustmentClass -proc GTK_IS_ADJUSTMENT*(obj: pointer): bool -proc GTK_IS_ADJUSTMENT_CLASS*(klass: pointer): bool -proc GTK_ADJUSTMENT_GET_CLASS*(obj: pointer): PGtkAdjustmentClass -proc gtk_adjustment_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_adjustment_get_type".} -proc gtk_adjustment_new*(value: gdouble, lower: gdouble, upper: gdouble, - step_increment: gdouble, page_increment: gdouble, - page_size: gdouble): PGtkAdjustment {.cdecl, dynlib: gtklib, - importc: "gtk_adjustment_new".} -proc gtk_adjustment_changed*(adjustment: PGtkAdjustment){.cdecl, dynlib: gtklib, - importc: "gtk_adjustment_changed".} -proc gtk_adjustment_value_changed*(adjustment: PGtkAdjustment){.cdecl, - dynlib: gtklib, importc: "gtk_adjustment_value_changed".} -proc gtk_adjustment_clamp_page*(adjustment: PGtkAdjustment, lower: gdouble, - upper: gdouble){.cdecl, dynlib: gtklib, - importc: "gtk_adjustment_clamp_page".} -proc gtk_adjustment_get_value*(adjustment: PGtkAdjustment): gdouble{.cdecl, - dynlib: gtklib, importc: "gtk_adjustment_get_value".} -proc gtk_adjustment_set_value*(adjustment: PGtkAdjustment, value: gdouble){. - cdecl, dynlib: gtklib, importc: "gtk_adjustment_set_value".} -proc GTK_TYPE_ALIGNMENT*(): GType -proc GTK_ALIGNMENT*(obj: pointer): PGtkAlignment -proc GTK_ALIGNMENT_CLASS*(klass: pointer): PGtkAlignmentClass -proc GTK_IS_ALIGNMENT*(obj: pointer): bool -proc GTK_IS_ALIGNMENT_CLASS*(klass: pointer): bool -proc GTK_ALIGNMENT_GET_CLASS*(obj: pointer): PGtkAlignmentClass -proc gtk_alignment_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_alignment_get_type".} -proc gtk_alignment_new*(xalign: gfloat, yalign: gfloat, xscale: gfloat, - yscale: gfloat): PGtkAlignment {.cdecl, dynlib: gtklib, - importc: "gtk_alignment_new".} -proc gtk_alignment_set*(alignment: PGtkAlignment, xalign: gfloat, - yalign: gfloat, xscale: gfloat, yscale: gfloat){.cdecl, - dynlib: gtklib, importc: "gtk_alignment_set".} -proc GTK_TYPE_FRAME*(): GType -proc GTK_FRAME*(obj: pointer): PGtkFrame -proc GTK_FRAME_CLASS*(klass: pointer): PGtkFrameClass -proc GTK_IS_FRAME*(obj: pointer): bool -proc GTK_IS_FRAME_CLASS*(klass: pointer): bool -proc GTK_FRAME_GET_CLASS*(obj: pointer): PGtkFrameClass -proc gtk_frame_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_frame_get_type".} -proc gtk_frame_new*(`label`: cstring): PGtkFrame {.cdecl, dynlib: gtklib, - importc: "gtk_frame_new".} -proc gtk_frame_set_label*(frame: PGtkFrame, `label`: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_frame_set_label".} -proc gtk_frame_get_label*(frame: PGtkFrame): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_frame_get_label".} -proc gtk_frame_set_label_widget*(frame: PGtkFrame, label_widget: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_frame_set_label_widget".} -proc gtk_frame_get_label_widget*(frame: PGtkFrame): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_frame_get_label_widget".} -proc gtk_frame_set_label_align*(frame: PGtkFrame, xalign: gfloat, yalign: gfloat){. - cdecl, dynlib: gtklib, importc: "gtk_frame_set_label_align".} -proc gtk_frame_get_label_align*(frame: PGtkFrame, xalign: Pgfloat, - yalign: Pgfloat){.cdecl, dynlib: gtklib, - importc: "gtk_frame_get_label_align".} -proc gtk_frame_set_shadow_type*(frame: PGtkFrame, thetype: TGtkShadowType){. - cdecl, dynlib: gtklib, importc: "gtk_frame_set_shadow_type".} -proc gtk_frame_get_shadow_type*(frame: PGtkFrame): TGtkShadowType{.cdecl, - dynlib: gtklib, importc: "gtk_frame_get_shadow_type".} -proc GTK_TYPE_ASPECT_FRAME*(): GType -proc GTK_ASPECT_FRAME*(obj: pointer): PGtkAspectFrame -proc GTK_ASPECT_FRAME_CLASS*(klass: pointer): PGtkAspectFrameClass -proc GTK_IS_ASPECT_FRAME*(obj: pointer): bool -proc GTK_IS_ASPECT_FRAME_CLASS*(klass: pointer): bool -proc GTK_ASPECT_FRAME_GET_CLASS*(obj: pointer): PGtkAspectFrameClass -proc gtk_aspect_frame_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_aspect_frame_get_type".} -proc gtk_aspect_frame_new*(`label`: cstring, xalign: gfloat, yalign: gfloat, - ratio: gfloat, obey_child: gboolean): PGtkAspectFrame {. - cdecl, dynlib: gtklib, importc: "gtk_aspect_frame_new".} -proc gtk_aspect_frame_set*(aspect_frame: PGtkAspectFrame, xalign: gfloat, - yalign: gfloat, ratio: gfloat, obey_child: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_aspect_frame_set".} -proc GTK_TYPE_ARROW*(): GType -proc GTK_ARROW*(obj: pointer): PGtkArrow -proc GTK_ARROW_CLASS*(klass: pointer): PGtkArrowClass -proc GTK_IS_ARROW*(obj: pointer): bool -proc GTK_IS_ARROW_CLASS*(klass: pointer): bool -proc GTK_ARROW_GET_CLASS*(obj: pointer): PGtkArrowClass -proc gtk_arrow_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_arrow_get_type".} -proc gtk_arrow_new*(arrow_type: TGtkArrowType, shadow_type: TGtkShadowType): PGtkArrow{. - cdecl, dynlib: gtklib, importc: "gtk_arrow_new".} -proc gtk_arrow_set*(arrow: PGtkArrow, arrow_type: TGtkArrowType, - shadow_type: TGtkShadowType){.cdecl, dynlib: gtklib, - importc: "gtk_arrow_set".} -const - bm_TGtkBindingSet_parsed* = 0x00000001'i16 - bp_TGtkBindingSet_parsed* = 0'i16 - bm_TGtkBindingEntry_destroyed* = 0x00000001'i16 - bp_TGtkBindingEntry_destroyed* = 0'i16 - bm_TGtkBindingEntry_in_emission* = 0x00000002'i16 - bp_TGtkBindingEntry_in_emission* = 1'i16 - -proc gtk_binding_entry_add*(binding_set: PGtkBindingSet, keyval: guint, - modifiers: TGdkModifierType) -proc parsed*(a: var TGtkBindingSet): guint -proc set_parsed*(a: var TGtkBindingSet, `parsed`: guint) -proc destroyed*(a: var TGtkBindingEntry): guint -proc set_destroyed*(a: var TGtkBindingEntry, `destroyed`: guint) -proc in_emission*(a: var TGtkBindingEntry): guint -proc set_in_emission*(a: var TGtkBindingEntry, `in_emission`: guint) -proc gtk_binding_set_new*(set_name: cstring): PGtkBindingSet{.cdecl, - dynlib: gtklib, importc: "gtk_binding_set_new".} -proc gtk_binding_set_by_class*(object_class: gpointer): PGtkBindingSet{.cdecl, - dynlib: gtklib, importc: "gtk_binding_set_by_class".} -proc gtk_binding_set_find*(set_name: cstring): PGtkBindingSet{.cdecl, - dynlib: gtklib, importc: "gtk_binding_set_find".} -proc gtk_bindings_activate*(anObject: PGtkObject, keyval: guint, - modifiers: TGdkModifierType): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_bindings_activate".} -proc gtk_binding_set_activate*(binding_set: PGtkBindingSet, keyval: guint, - modifiers: TGdkModifierType, anObject: PGtkObject): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_binding_set_activate".} -proc gtk_binding_entry_clear*(binding_set: PGtkBindingSet, keyval: guint, - modifiers: TGdkModifierType){.cdecl, - dynlib: gtklib, importc: "gtk_binding_entry_clear".} -proc gtk_binding_set_add_path*(binding_set: PGtkBindingSet, - path_type: TGtkPathType, path_pattern: cstring, - priority: TGtkPathPriorityType){.cdecl, - dynlib: gtklib, importc: "gtk_binding_set_add_path".} -proc gtk_binding_entry_remove*(binding_set: PGtkBindingSet, keyval: guint, - modifiers: TGdkModifierType){.cdecl, - dynlib: gtklib, importc: "gtk_binding_entry_remove".} -proc gtk_binding_entry_add_signall*(binding_set: PGtkBindingSet, keyval: guint, - modifiers: TGdkModifierType, - signal_name: cstring, binding_args: PGSList){. - cdecl, dynlib: gtklib, importc: "gtk_binding_entry_add_signall".} -proc gtk_binding_parse_binding*(scanner: PGScanner): guint{.cdecl, - dynlib: gtklib, importc: "gtk_binding_parse_binding".} -proc gtk_bindings_activate_event*(anObject: PGtkObject, event: PGdkEventKey): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_bindings_activate_event".} -proc gtk_binding_reset_parsed*(){.cdecl, dynlib: gtklib, - importc: "_gtk_binding_reset_parsed".} -const - bm_TGtkBox_homogeneous* = 0x00000001'i16 - bp_TGtkBox_homogeneous* = 0'i16 - bm_TGtkBoxChild_expand* = 0x00000001'i16 - bp_TGtkBoxChild_expand* = 0'i16 - bm_TGtkBoxChild_fill* = 0x00000002'i16 - bp_TGtkBoxChild_fill* = 1'i16 - bm_TGtkBoxChild_pack* = 0x00000004'i16 - bp_TGtkBoxChild_pack* = 2'i16 - bm_TGtkBoxChild_is_secondary* = 0x00000008'i16 - bp_TGtkBoxChild_is_secondary* = 3'i16 - -proc GTK_TYPE_BOX*(): GType -proc GTK_BOX*(obj: pointer): PGtkBox -proc GTK_BOX_CLASS*(klass: pointer): PGtkBoxClass -proc GTK_IS_BOX*(obj: pointer): bool -proc GTK_IS_BOX_CLASS*(klass: pointer): bool -proc GTK_BOX_GET_CLASS*(obj: pointer): PGtkBoxClass -proc homogeneous*(a: var TGtkBox): guint -proc set_homogeneous*(a: var TGtkBox, `homogeneous`: guint) -proc expand*(a: var TGtkBoxChild): guint -proc set_expand*(a: var TGtkBoxChild, `expand`: guint) -proc fill*(a: var TGtkBoxChild): guint -proc set_fill*(a: var TGtkBoxChild, `fill`: guint) -proc pack*(a: var TGtkBoxChild): guint -proc set_pack*(a: var TGtkBoxChild, `pack`: guint) -proc is_secondary*(a: var TGtkBoxChild): guint -proc set_is_secondary*(a: var TGtkBoxChild, `is_secondary`: guint) -proc gtk_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_box_get_type".} -proc gtk_box_pack_start*(box: PGtkBox, child: PGtkWidget, expand: gboolean, - fill: gboolean, padding: guint){.cdecl, dynlib: gtklib, - importc: "gtk_box_pack_start".} -proc gtk_box_pack_end*(box: PGtkBox, child: PGtkWidget, expand: gboolean, - fill: gboolean, padding: guint){.cdecl, dynlib: gtklib, - importc: "gtk_box_pack_end".} -proc gtk_box_pack_start_defaults*(box: PGtkBox, widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_box_pack_start_defaults".} -proc gtk_box_pack_end_defaults*(box: PGtkBox, widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_box_pack_end_defaults".} -proc gtk_box_set_homogeneous*(box: PGtkBox, homogeneous: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_box_set_homogeneous".} -proc gtk_box_get_homogeneous*(box: PGtkBox): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_box_get_homogeneous".} -proc gtk_box_set_spacing*(box: PGtkBox, spacing: gint){.cdecl, dynlib: gtklib, - importc: "gtk_box_set_spacing".} -proc gtk_box_get_spacing*(box: PGtkBox): gint{.cdecl, dynlib: gtklib, - importc: "gtk_box_get_spacing".} -proc gtk_box_reorder_child*(box: PGtkBox, child: PGtkWidget, position: gint){. - cdecl, dynlib: gtklib, importc: "gtk_box_reorder_child".} -proc gtk_box_query_child_packing*(box: PGtkBox, child: PGtkWidget, - expand: Pgboolean, fill: Pgboolean, - padding: Pguint, pack_type: PGtkPackType){. - cdecl, dynlib: gtklib, importc: "gtk_box_query_child_packing".} -proc gtk_box_set_child_packing*(box: PGtkBox, child: PGtkWidget, - expand: gboolean, fill: gboolean, - padding: guint, pack_type: TGtkPackType){.cdecl, - dynlib: gtklib, importc: "gtk_box_set_child_packing".} -const - GTK_BUTTONBOX_DEFAULT* = - (1) - -proc GTK_TYPE_BUTTON_BOX*(): GType -proc GTK_BUTTON_BOX*(obj: pointer): PGtkButtonBox -proc GTK_BUTTON_BOX_CLASS*(klass: pointer): PGtkButtonBoxClass -proc GTK_IS_BUTTON_BOX*(obj: pointer): bool -proc GTK_IS_BUTTON_BOX_CLASS*(klass: pointer): bool -proc GTK_BUTTON_BOX_GET_CLASS*(obj: pointer): PGtkButtonBoxClass -proc gtk_button_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_button_box_get_type".} -proc gtk_button_box_get_layout*(widget: PGtkButtonBox): TGtkButtonBoxStyle{. - cdecl, dynlib: gtklib, importc: "gtk_button_box_get_layout".} -proc gtk_button_box_set_layout*(widget: PGtkButtonBox, - layout_style: TGtkButtonBoxStyle){.cdecl, - dynlib: gtklib, importc: "gtk_button_box_set_layout".} -proc gtk_button_box_set_child_secondary*(widget: PGtkButtonBox, - child: PGtkWidget, is_secondary: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_button_box_set_child_secondary".} -proc gtk_button_box_child_requisition*(widget: PGtkWidget, - nvis_children: var int32, nvis_secondaries: var int32, width: var int32, - height: var int32){.cdecl, dynlib: gtklib, - importc: "_gtk_button_box_child_requisition".} -const - bm_TGtkButton_constructed* = 0x00000001'i16 - bp_TGtkButton_constructed* = 0'i16 - bm_TGtkButton_in_button* = 0x00000002'i16 - bp_TGtkButton_in_button* = 1'i16 - bm_TGtkButton_button_down* = 0x00000004'i16 - bp_TGtkButton_button_down* = 2'i16 - bm_TGtkButton_relief* = 0x00000018'i16 - bp_TGtkButton_relief* = 3'i16 - bm_TGtkButton_use_underline* = 0x00000020'i16 - bp_TGtkButton_use_underline* = 5'i16 - bm_TGtkButton_use_stock* = 0x00000040'i16 - bp_TGtkButton_use_stock* = 6'i16 - bm_TGtkButton_depressed* = 0x00000080'i16 - bp_TGtkButton_depressed* = 7'i16 - bm_TGtkButton_depress_on_activate* = 0x00000100'i16 - bp_TGtkButton_depress_on_activate* = 8'i16 - -proc GTK_TYPE_BUTTON*(): GType -proc GTK_BUTTON*(obj: pointer): PGtkButton -proc GTK_BUTTON_CLASS*(klass: pointer): PGtkButtonClass -proc GTK_IS_BUTTON*(obj: pointer): bool -proc GTK_IS_BUTTON_CLASS*(klass: pointer): bool -proc GTK_BUTTON_GET_CLASS*(obj: pointer): PGtkButtonClass -proc constructed*(a: var TGtkButton): guint -proc set_constructed*(a: var TGtkButton, `constructed`: guint) -proc in_button*(a: var TGtkButton): guint -proc set_in_button*(a: var TGtkButton, `in_button`: guint) -proc button_down*(a: var TGtkButton): guint -proc set_button_down*(a: var TGtkButton, `button_down`: guint) -proc relief*(a: var TGtkButton): guint -proc set_relief*(a: var TGtkButton, `relief`: guint) -proc use_underline*(a: var TGtkButton): guint -proc set_use_underline*(a: var TGtkButton, `use_underline`: guint) -proc use_stock*(a: var TGtkButton): guint -proc set_use_stock*(a: var TGtkButton, `use_stock`: guint) -proc depressed*(a: var TGtkButton): guint -proc set_depressed*(a: var TGtkButton, `depressed`: guint) -proc depress_on_activate*(a: var TGtkButton): guint -proc set_depress_on_activate*(a: var TGtkButton, `depress_on_activate`: guint) -proc gtk_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_button_get_type".} -proc gtk_button_new*(): PGtkButton {.cdecl, dynlib: gtklib, - importc: "gtk_button_new".} -proc gtk_button_new_with_label*(`label`: cstring): PGtkButton {.cdecl, - dynlib: gtklib, importc: "gtk_button_new_with_label".} -proc gtk_button_new_from_stock*(stock_id: cstring): PGtkButton {.cdecl, - dynlib: gtklib, importc: "gtk_button_new_from_stock".} -proc gtk_button_new_with_mnemonic*(`label`: cstring): PGtkButton {.cdecl, - dynlib: gtklib, importc: "gtk_button_new_with_mnemonic".} -proc gtk_button_pressed*(button: PGtkButton){.cdecl, dynlib: gtklib, - importc: "gtk_button_pressed".} -proc gtk_button_released*(button: PGtkButton){.cdecl, dynlib: gtklib, - importc: "gtk_button_released".} -proc gtk_button_clicked*(button: PGtkButton){.cdecl, dynlib: gtklib, - importc: "gtk_button_clicked".} -proc gtk_button_enter*(button: PGtkButton){.cdecl, dynlib: gtklib, - importc: "gtk_button_enter".} -proc gtk_button_leave*(button: PGtkButton){.cdecl, dynlib: gtklib, - importc: "gtk_button_leave".} -proc gtk_button_set_relief*(button: PGtkButton, newstyle: TGtkReliefStyle){. - cdecl, dynlib: gtklib, importc: "gtk_button_set_relief".} -proc gtk_button_get_relief*(button: PGtkButton): TGtkReliefStyle{.cdecl, - dynlib: gtklib, importc: "gtk_button_get_relief".} -proc gtk_button_set_label*(button: PGtkButton, `label`: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_button_set_label".} -proc gtk_button_get_label*(button: PGtkButton): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_button_get_label".} -proc gtk_button_set_use_underline*(button: PGtkButton, use_underline: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_button_set_use_underline".} -proc gtk_button_get_use_underline*(button: PGtkButton): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_button_get_use_underline".} -proc gtk_button_set_use_stock*(button: PGtkButton, use_stock: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_button_set_use_stock".} -proc gtk_button_get_use_stock*(button: PGtkButton): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_button_get_use_stock".} -proc gtk_button_set_depressed*(button: PGtkButton, depressed: gboolean){. - cdecl, dynlib: gtklib, importc: "_gtk_button_set_depressed".} -proc gtk_button_paint*(button: PGtkButton, area: PGdkRectangle, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - main_detail: cstring, default_detail: cstring){.cdecl, - dynlib: gtklib, importc: "_gtk_button_paint".} -proc gtk_button_set_image*(button: PGtkButton, image: PGtkWidget) {.cdecl, - dynlib: gtklib, importc.} -proc gtk_button_get_image*(button: PGtkButton): PGtkWidget {.cdecl, - dynlib: gtklib, importc.} - -const - GTK_CALENDAR_SHOW_HEADING* = 1 shl 0 - GTK_CALENDAR_SHOW_DAY_NAMES* = 1 shl 1 - GTK_CALENDAR_NO_MONTH_CHANGE* = 1 shl 2 - GTK_CALENDAR_SHOW_WEEK_NUMBERS* = 1 shl 3 - GTK_CALENDAR_WEEK_START_MONDAY* = 1 shl 4 - -proc GTK_TYPE_CALENDAR*(): GType -proc GTK_CALENDAR*(obj: pointer): PGtkCalendar -proc GTK_CALENDAR_CLASS*(klass: pointer): PGtkCalendarClass -proc GTK_IS_CALENDAR*(obj: pointer): bool -proc GTK_IS_CALENDAR_CLASS*(klass: pointer): bool -proc GTK_CALENDAR_GET_CLASS*(obj: pointer): PGtkCalendarClass -proc gtk_calendar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_calendar_get_type".} -proc gtk_calendar_new*(): PGtkCalendar {.cdecl, dynlib: gtklib, - importc: "gtk_calendar_new".} -proc gtk_calendar_select_month*(calendar: PGtkCalendar, month: guint, - year: guint): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_calendar_select_month".} -proc gtk_calendar_select_day*(calendar: PGtkCalendar, day: guint){.cdecl, - dynlib: gtklib, importc: "gtk_calendar_select_day".} -proc gtk_calendar_mark_day*(calendar: PGtkCalendar, day: guint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_calendar_mark_day".} -proc gtk_calendar_unmark_day*(calendar: PGtkCalendar, day: guint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_calendar_unmark_day".} -proc gtk_calendar_clear_marks*(calendar: PGtkCalendar){.cdecl, dynlib: gtklib, - importc: "gtk_calendar_clear_marks".} -proc gtk_calendar_display_options*(calendar: PGtkCalendar, - flags: TGtkCalendarDisplayOptions){.cdecl, - dynlib: gtklib, importc: "gtk_calendar_display_options".} -proc gtk_calendar_get_date*(calendar: PGtkCalendar, year: Pguint, month: Pguint, - day: Pguint){.cdecl, dynlib: gtklib, - importc: "gtk_calendar_get_date".} -proc gtk_calendar_freeze*(calendar: PGtkCalendar){.cdecl, dynlib: gtklib, - importc: "gtk_calendar_freeze".} -proc gtk_calendar_thaw*(calendar: PGtkCalendar){.cdecl, dynlib: gtklib, - importc: "gtk_calendar_thaw".} -proc GTK_TYPE_CELL_EDITABLE*(): GType -proc GTK_CELL_EDITABLE*(obj: pointer): PGtkCellEditable -proc GTK_CELL_EDITABLE_CLASS*(obj: pointer): PGtkCellEditableIface -proc GTK_IS_CELL_EDITABLE*(obj: pointer): bool -proc GTK_CELL_EDITABLE_GET_IFACE*(obj: pointer): PGtkCellEditableIface -proc gtk_cell_editable_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_cell_editable_get_type".} -proc gtk_cell_editable_start_editing*(cell_editable: PGtkCellEditable, - event: PGdkEvent){.cdecl, dynlib: gtklib, - importc: "gtk_cell_editable_start_editing".} -proc gtk_cell_editable_editing_done*(cell_editable: PGtkCellEditable){.cdecl, - dynlib: gtklib, importc: "gtk_cell_editable_editing_done".} -proc gtk_cell_editable_remove_widget*(cell_editable: PGtkCellEditable){.cdecl, - dynlib: gtklib, importc: "gtk_cell_editable_remove_widget".} -const - GTK_CELL_RENDERER_SELECTED* = 1 shl 0 - GTK_CELL_RENDERER_PRELIT* = 1 shl 1 - GTK_CELL_RENDERER_INSENSITIVE* = 1 shl 2 - GTK_CELL_RENDERER_SORTED* = 1 shl 3 - -const - bm_TGtkCellRenderer_mode* = 0x00000003'i16 - bp_TGtkCellRenderer_mode* = 0'i16 - bm_TGtkCellRenderer_visible* = 0x00000004'i16 - bp_TGtkCellRenderer_visible* = 2'i16 - bm_TGtkCellRenderer_is_expander* = 0x00000008'i16 - bp_TGtkCellRenderer_is_expander* = 3'i16 - bm_TGtkCellRenderer_is_expanded* = 0x00000010'i16 - bp_TGtkCellRenderer_is_expanded* = 4'i16 - bm_TGtkCellRenderer_cell_background_set* = 0x00000020'i16 - bp_TGtkCellRenderer_cell_background_set* = 5'i16 - -proc GTK_TYPE_CELL_RENDERER*(): GType -proc GTK_CELL_RENDERER*(obj: pointer): PGtkCellRenderer -proc GTK_CELL_RENDERER_CLASS*(klass: pointer): PGtkCellRendererClass -proc GTK_IS_CELL_RENDERER*(obj: pointer): bool -proc GTK_IS_CELL_RENDERER_CLASS*(klass: pointer): bool -proc GTK_CELL_RENDERER_GET_CLASS*(obj: pointer): PGtkCellRendererClass -proc mode*(a: var TGtkCellRenderer): guint -proc set_mode*(a: var TGtkCellRenderer, `mode`: guint) -proc visible*(a: var TGtkCellRenderer): guint -proc set_visible*(a: var TGtkCellRenderer, `visible`: guint) -proc is_expander*(a: var TGtkCellRenderer): guint -proc set_is_expander*(a: var TGtkCellRenderer, `is_expander`: guint) -proc is_expanded*(a: var TGtkCellRenderer): guint -proc set_is_expanded*(a: var TGtkCellRenderer, `is_expanded`: guint) -proc cell_background_set*(a: var TGtkCellRenderer): guint -proc set_cell_background_set*(a: var TGtkCellRenderer, - `cell_background_set`: guint) -proc gtk_cell_renderer_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_get_type".} -proc gtk_cell_renderer_get_size*(cell: PGtkCellRenderer, widget: PGtkWidget, - cell_area: PGdkRectangle, x_offset: Pgint, - y_offset: Pgint, width: Pgint, height: Pgint){. - cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_get_size".} -proc gtk_cell_renderer_render*(cell: PGtkCellRenderer, window: PGdkWindow, - widget: PGtkWidget, - background_area: PGdkRectangle, - cell_area: PGdkRectangle, - expose_area: PGdkRectangle, - flags: TGtkCellRendererState){.cdecl, - dynlib: gtklib, importc: "gtk_cell_renderer_render".} -proc gtk_cell_renderer_activate*(cell: PGtkCellRenderer, event: PGdkEvent, - widget: PGtkWidget, path: cstring, - background_area: PGdkRectangle, - cell_area: PGdkRectangle, - flags: TGtkCellRendererState): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_cell_renderer_activate".} -proc gtk_cell_renderer_start_editing*(cell: PGtkCellRenderer, event: PGdkEvent, - widget: PGtkWidget, path: cstring, - background_area: PGdkRectangle, - cell_area: PGdkRectangle, - flags: TGtkCellRendererState): PGtkCellEditable{. - cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_start_editing".} -proc gtk_cell_renderer_set_fixed_size*(cell: PGtkCellRenderer, width: gint, - height: gint){.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_set_fixed_size".} -proc gtk_cell_renderer_get_fixed_size*(cell: PGtkCellRenderer, width: Pgint, - height: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_get_fixed_size".} -const - bm_TGtkCellRendererText_strikethrough* = 0x00000001'i16 - bp_TGtkCellRendererText_strikethrough* = 0'i16 - bm_TGtkCellRendererText_editable* = 0x00000002'i16 - bp_TGtkCellRendererText_editable* = 1'i16 - bm_TGtkCellRendererText_scale_set* = 0x00000004'i16 - bp_TGtkCellRendererText_scale_set* = 2'i16 - bm_TGtkCellRendererText_foreground_set* = 0x00000008'i16 - bp_TGtkCellRendererText_foreground_set* = 3'i16 - bm_TGtkCellRendererText_background_set* = 0x00000010'i16 - bp_TGtkCellRendererText_background_set* = 4'i16 - bm_TGtkCellRendererText_underline_set* = 0x00000020'i16 - bp_TGtkCellRendererText_underline_set* = 5'i16 - bm_TGtkCellRendererText_rise_set* = 0x00000040'i16 - bp_TGtkCellRendererText_rise_set* = 6'i16 - bm_TGtkCellRendererText_strikethrough_set* = 0x00000080'i16 - bp_TGtkCellRendererText_strikethrough_set* = 7'i16 - bm_TGtkCellRendererText_editable_set* = 0x00000100'i16 - bp_TGtkCellRendererText_editable_set* = 8'i16 - bm_TGtkCellRendererText_calc_fixed_height* = 0x00000200'i16 - bp_TGtkCellRendererText_calc_fixed_height* = 9'i16 - -proc GTK_TYPE_CELL_RENDERER_TEXT*(): GType -proc GTK_CELL_RENDERER_TEXT*(obj: pointer): PGtkCellRendererText -proc GTK_CELL_RENDERER_TEXT_CLASS*(klass: pointer): PGtkCellRendererTextClass -proc GTK_IS_CELL_RENDERER_TEXT*(obj: pointer): bool -proc GTK_IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool -proc GTK_CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PGtkCellRendererTextClass -proc strikethrough*(a: var TGtkCellRendererText): guint -proc set_strikethrough*(a: var TGtkCellRendererText, `strikethrough`: guint) -proc editable*(a: var TGtkCellRendererText): guint -proc set_editable*(a: var TGtkCellRendererText, `editable`: guint) -proc scale_set*(a: var TGtkCellRendererText): guint -proc set_scale_set*(a: var TGtkCellRendererText, `scale_set`: guint) -proc foreground_set*(a: var TGtkCellRendererText): guint -proc set_foreground_set*(a: var TGtkCellRendererText, `foreground_set`: guint) -proc background_set*(a: var TGtkCellRendererText): guint -proc set_background_set*(a: var TGtkCellRendererText, `background_set`: guint) -proc underline_set*(a: var TGtkCellRendererText): guint -proc set_underline_set*(a: var TGtkCellRendererText, `underline_set`: guint) -proc rise_set*(a: var TGtkCellRendererText): guint -proc set_rise_set*(a: var TGtkCellRendererText, `rise_set`: guint) -proc strikethrough_set*(a: var TGtkCellRendererText): guint -proc set_strikethrough_set*(a: var TGtkCellRendererText, - `strikethrough_set`: guint) -proc editable_set*(a: var TGtkCellRendererText): guint -proc set_editable_set*(a: var TGtkCellRendererText, `editable_set`: guint) -proc calc_fixed_height*(a: var TGtkCellRendererText): guint -proc set_calc_fixed_height*(a: var TGtkCellRendererText, - `calc_fixed_height`: guint) -proc gtk_cell_renderer_text_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_text_get_type".} -proc gtk_cell_renderer_text_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_text_new".} -proc gtk_cell_renderer_text_set_fixed_height_from_font*( - renderer: PGtkCellRendererText, number_of_rows: gint){.cdecl, - dynlib: gtklib, importc: "gtk_cell_renderer_text_set_fixed_height_from_font".} -const - bm_TGtkCellRendererToggle_active* = 0x00000001'i16 - bp_TGtkCellRendererToggle_active* = 0'i16 - bm_TGtkCellRendererToggle_activatable* = 0x00000002'i16 - bp_TGtkCellRendererToggle_activatable* = 1'i16 - bm_TGtkCellRendererToggle_radio* = 0x00000004'i16 - bp_TGtkCellRendererToggle_radio* = 2'i16 - -proc GTK_TYPE_CELL_RENDERER_TOGGLE*(): GType -proc GTK_CELL_RENDERER_TOGGLE*(obj: pointer): PGtkCellRendererToggle -proc GTK_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PGtkCellRendererToggleClass -proc GTK_IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool -proc GTK_IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool -proc GTK_CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PGtkCellRendererToggleClass -proc active*(a: var TGtkCellRendererToggle): guint -proc set_active*(a: var TGtkCellRendererToggle, `active`: guint) -proc activatable*(a: var TGtkCellRendererToggle): guint -proc set_activatable*(a: var TGtkCellRendererToggle, `activatable`: guint) -proc radio*(a: var TGtkCellRendererToggle): guint -proc set_radio*(a: var TGtkCellRendererToggle, `radio`: guint) -proc gtk_cell_renderer_toggle_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_toggle_get_type".} -proc gtk_cell_renderer_toggle_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_toggle_new".} -proc gtk_cell_renderer_toggle_get_radio*(toggle: PGtkCellRendererToggle): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_toggle_get_radio".} -proc gtk_cell_renderer_toggle_set_radio*(toggle: PGtkCellRendererToggle, - radio: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_toggle_set_radio".} -proc gtk_cell_renderer_toggle_get_active*(toggle: PGtkCellRendererToggle): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_cell_renderer_toggle_get_active".} -proc gtk_cell_renderer_toggle_set_active*(toggle: PGtkCellRendererToggle, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_toggle_set_active".} -proc GTK_TYPE_CELL_RENDERER_PIXBUF*(): GType -proc GTK_CELL_RENDERER_PIXBUF*(obj: pointer): PGtkCellRendererPixbuf -proc GTK_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PGtkCellRendererPixbufClass -proc GTK_IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool -proc GTK_IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool -proc GTK_CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PGtkCellRendererPixbufClass -proc gtk_cell_renderer_pixbuf_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_pixbuf_get_type".} -proc gtk_cell_renderer_pixbuf_new*(): PGtkCellRenderer{.cdecl, dynlib: gtklib, - importc: "gtk_cell_renderer_pixbuf_new".} -proc GTK_TYPE_ITEM*(): GType -proc GTK_ITEM*(obj: pointer): PGtkItem -proc GTK_ITEM_CLASS*(klass: pointer): PGtkItemClass -proc GTK_IS_ITEM*(obj: pointer): bool -proc GTK_IS_ITEM_CLASS*(klass: pointer): bool -proc GTK_ITEM_GET_CLASS*(obj: pointer): PGtkItemClass -proc gtk_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_item_get_type".} -proc gtk_item_select*(item: PGtkItem){.cdecl, dynlib: gtklib, - importc: "gtk_item_select".} -proc gtk_item_deselect*(item: PGtkItem){.cdecl, dynlib: gtklib, - importc: "gtk_item_deselect".} -proc gtk_item_toggle*(item: PGtkItem){.cdecl, dynlib: gtklib, - importc: "gtk_item_toggle".} -const - bm_TGtkMenuItem_show_submenu_indicator* = 0x00000001'i16 - bp_TGtkMenuItem_show_submenu_indicator* = 0'i16 - bm_TGtkMenuItem_submenu_placement* = 0x00000002'i16 - bp_TGtkMenuItem_submenu_placement* = 1'i16 - bm_TGtkMenuItem_submenu_direction* = 0x00000004'i16 - bp_TGtkMenuItem_submenu_direction* = 2'i16 - bm_TGtkMenuItem_right_justify* = 0x00000008'i16 - bp_TGtkMenuItem_right_justify* = 3'i16 - bm_TGtkMenuItem_timer_from_keypress* = 0x00000010'i16 - bp_TGtkMenuItem_timer_from_keypress* = 4'i16 - bm_TGtkMenuItemClass_hide_on_activate* = 0x00000001'i16 - bp_TGtkMenuItemClass_hide_on_activate* = 0'i16 - -proc GTK_TYPE_MENU_ITEM*(): GType -proc GTK_MENU_ITEM*(obj: pointer): PGtkMenuItem -proc GTK_MENU_ITEM_CLASS*(klass: pointer): PGtkMenuItemClass -proc GTK_IS_MENU_ITEM*(obj: pointer): bool -proc GTK_IS_MENU_ITEM_CLASS*(klass: pointer): bool -proc GTK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkMenuItemClass -proc show_submenu_indicator*(a: var TGtkMenuItem): guint -proc set_show_submenu_indicator*(a: var TGtkMenuItem, - `show_submenu_indicator`: guint) -proc submenu_placement*(a: var TGtkMenuItem): guint -proc set_submenu_placement*(a: var TGtkMenuItem, `submenu_placement`: guint) -proc submenu_direction*(a: var TGtkMenuItem): guint -proc set_submenu_direction*(a: var TGtkMenuItem, `submenu_direction`: guint) -proc right_justify*(a: var TGtkMenuItem): guint -proc set_right_justify*(a: var TGtkMenuItem, `right_justify`: guint) -proc timer_from_keypress*(a: var TGtkMenuItem): guint -proc set_timer_from_keypress*(a: var TGtkMenuItem, `timer_from_keypress`: guint) -proc hide_on_activate*(a: var TGtkMenuItemClass): guint -proc set_hide_on_activate*(a: var TGtkMenuItemClass, `hide_on_activate`: guint) -proc gtk_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_menu_item_get_type".} -proc gtk_menu_item_new*(): PGtkMenuItem {.cdecl, dynlib: gtklib, - importc: "gtk_menu_item_new".} -proc gtk_menu_item_new_with_label*(`label`: cstring): PGtkMenuItem {.cdecl, - dynlib: gtklib, importc: "gtk_menu_item_new_with_label".} -proc gtk_menu_item_new_with_mnemonic*(`label`: cstring): PGtkMenuItem {.cdecl, - dynlib: gtklib, importc: "gtk_menu_item_new_with_mnemonic".} -proc gtk_menu_item_set_submenu*(menu_item: PGtkMenuItem, submenu: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_menu_item_set_submenu".} -proc gtk_menu_item_get_submenu*(menu_item: PGtkMenuItem): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_menu_item_get_submenu".} -proc gtk_menu_item_remove_submenu*(menu_item: PGtkMenuItem){.cdecl, - dynlib: gtklib, importc: "gtk_menu_item_remove_submenu".} -proc gtk_menu_item_select*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib, - importc: "gtk_menu_item_select".} -proc gtk_menu_item_deselect*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib, - importc: "gtk_menu_item_deselect".} -proc gtk_menu_item_activate*(menu_item: PGtkMenuItem){.cdecl, dynlib: gtklib, - importc: "gtk_menu_item_activate".} -proc gtk_menu_item_toggle_size_request*(menu_item: PGtkMenuItem, - requisition: Pgint){.cdecl, - dynlib: gtklib, importc: "gtk_menu_item_toggle_size_request".} -proc gtk_menu_item_toggle_size_allocate*(menu_item: PGtkMenuItem, - allocation: gint){.cdecl, dynlib: gtklib, - importc: "gtk_menu_item_toggle_size_allocate".} -proc gtk_menu_item_set_right_justified*(menu_item: PGtkMenuItem, - right_justified: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_menu_item_set_right_justified".} -proc gtk_menu_item_get_right_justified*(menu_item: PGtkMenuItem): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_menu_item_get_right_justified".} -proc gtk_menu_item_set_accel_path*(menu_item: PGtkMenuItem, accel_path: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_menu_item_set_accel_path".} -proc gtk_menu_item_refresh_accel_path*(menu_item: PGtkMenuItem, - prefix: cstring, accel_group: PGtkAccelGroup, group_changed: gboolean){. - cdecl, dynlib: gtklib, importc: "_gtk_menu_item_refresh_accel_path".} -proc gtk_menu_item_is_selectable*(menu_item: PGtkWidget): gboolean{.cdecl, - dynlib: gtklib, importc: "_gtk_menu_item_is_selectable".} -const - bm_TGtkToggleButton_active* = 0x00000001'i16 - bp_TGtkToggleButton_active* = 0'i16 - bm_TGtkToggleButton_draw_indicator* = 0x00000002'i16 - bp_TGtkToggleButton_draw_indicator* = 1'i16 - bm_TGtkToggleButton_inconsistent* = 0x00000004'i16 - bp_TGtkToggleButton_inconsistent* = 2'i16 - -proc GTK_TYPE_TOGGLE_BUTTON*(): GType -proc GTK_TOGGLE_BUTTON*(obj: pointer): PGtkToggleButton -proc GTK_TOGGLE_BUTTON_CLASS*(klass: pointer): PGtkToggleButtonClass -proc GTK_IS_TOGGLE_BUTTON*(obj: pointer): bool -proc GTK_IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool -proc GTK_TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PGtkToggleButtonClass -proc active*(a: var TGtkToggleButton): guint -proc set_active*(a: var TGtkToggleButton, `active`: guint) -proc draw_indicator*(a: var TGtkToggleButton): guint -proc set_draw_indicator*(a: var TGtkToggleButton, `draw_indicator`: guint) -proc inconsistent*(a: var TGtkToggleButton): guint -proc set_inconsistent*(a: var TGtkToggleButton, `inconsistent`: guint) -proc gtk_toggle_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_toggle_button_get_type".} -proc gtk_toggle_button_new*(): PGtkToggleButton {.cdecl, dynlib: gtklib, - importc: "gtk_toggle_button_new".} -proc gtk_toggle_button_new_with_label*(`label`: cstring): PGtkToggleButton {.cdecl, - dynlib: gtklib, importc: "gtk_toggle_button_new_with_label".} -proc gtk_toggle_button_new_with_mnemonic*(`label`: cstring): PGtkToggleButton {.cdecl, - dynlib: gtklib, importc: "gtk_toggle_button_new_with_mnemonic".} -proc gtk_toggle_button_set_mode*(toggle_button: PGtkToggleButton, - draw_indicator: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_toggle_button_set_mode".} -proc gtk_toggle_button_get_mode*(toggle_button: PGtkToggleButton): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_toggle_button_get_mode".} -proc gtk_toggle_button_set_active*(toggle_button: PGtkToggleButton, - is_active: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_toggle_button_set_active".} -proc gtk_toggle_button_get_active*(toggle_button: PGtkToggleButton): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_toggle_button_get_active".} -proc gtk_toggle_button_toggled*(toggle_button: PGtkToggleButton){.cdecl, - dynlib: gtklib, importc: "gtk_toggle_button_toggled".} -proc gtk_toggle_button_set_inconsistent*(toggle_button: PGtkToggleButton, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_toggle_button_set_inconsistent".} -proc gtk_toggle_button_get_inconsistent*(toggle_button: PGtkToggleButton): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_toggle_button_get_inconsistent".} -proc GTK_TYPE_CHECK_BUTTON*(): GType -proc GTK_CHECK_BUTTON*(obj: pointer): PGtkCheckButton -proc GTK_CHECK_BUTTON_CLASS*(klass: pointer): PGtkCheckButtonClass -proc GTK_IS_CHECK_BUTTON*(obj: pointer): bool -proc GTK_IS_CHECK_BUTTON_CLASS*(klass: pointer): bool -proc GTK_CHECK_BUTTON_GET_CLASS*(obj: pointer): PGtkCheckButtonClass -proc gtk_check_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_check_button_get_type".} -proc gtk_check_button_new*(): PGtkCheckButton{.cdecl, dynlib: gtklib, - importc: "gtk_check_button_new".} -proc gtk_check_button_new_with_label*(`label`: cstring): PGtkCheckButton{.cdecl, - dynlib: gtklib, importc: "gtk_check_button_new_with_label".} -proc gtk_check_button_new_with_mnemonic*(`label`: cstring): PGtkCheckButton {.cdecl, - dynlib: gtklib, importc: "gtk_check_button_new_with_mnemonic".} -proc gtk_check_button_get_props*(check_button: PGtkCheckButton, - indicator_size: Pgint, - indicator_spacing: Pgint){.cdecl, - dynlib: gtklib, importc: "_gtk_check_button_get_props".} -const - bm_TGtkCheckMenuItem_active* = 0x00000001'i16 - bp_TGtkCheckMenuItem_active* = 0'i16 - bm_TGtkCheckMenuItem_always_show_toggle* = 0x00000002'i16 - bp_TGtkCheckMenuItem_always_show_toggle* = 1'i16 - bm_TGtkCheckMenuItem_inconsistent* = 0x00000004'i16 - bp_TGtkCheckMenuItem_inconsistent* = 2'i16 - -proc GTK_TYPE_CHECK_MENU_ITEM*(): GType -proc GTK_CHECK_MENU_ITEM*(obj: pointer): PGtkCheckMenuItem -proc GTK_CHECK_MENU_ITEM_CLASS*(klass: pointer): PGtkCheckMenuItemClass -proc GTK_IS_CHECK_MENU_ITEM*(obj: pointer): bool -proc GTK_IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool -proc GTK_CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkCheckMenuItemClass -proc active*(a: var TGtkCheckMenuItem): guint -proc set_active*(a: var TGtkCheckMenuItem, `active`: guint) -proc always_show_toggle*(a: var TGtkCheckMenuItem): guint -proc set_always_show_toggle*(a: var TGtkCheckMenuItem, - `always_show_toggle`: guint) -proc inconsistent*(a: var TGtkCheckMenuItem): guint -proc set_inconsistent*(a: var TGtkCheckMenuItem, `inconsistent`: guint) -proc gtk_check_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_check_menu_item_get_type".} -proc gtk_check_menu_item_new*(): PGtkWidget{.cdecl, dynlib: gtklib, - importc: "gtk_check_menu_item_new".} -proc gtk_check_menu_item_new_with_label*(`label`: cstring): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_check_menu_item_new_with_label".} -proc gtk_check_menu_item_new_with_mnemonic*(`label`: cstring): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_check_menu_item_new_with_mnemonic".} -proc gtk_check_menu_item_set_active*(check_menu_item: PGtkCheckMenuItem, - is_active: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_check_menu_item_set_active".} -proc gtk_check_menu_item_get_active*(check_menu_item: PGtkCheckMenuItem): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_check_menu_item_get_active".} -proc gtk_check_menu_item_toggled*(check_menu_item: PGtkCheckMenuItem){.cdecl, - dynlib: gtklib, importc: "gtk_check_menu_item_toggled".} -proc gtk_check_menu_item_set_inconsistent*(check_menu_item: PGtkCheckMenuItem, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_check_menu_item_set_inconsistent".} -proc gtk_check_menu_item_get_inconsistent*(check_menu_item: PGtkCheckMenuItem): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_check_menu_item_get_inconsistent".} -proc gtk_clipboard_get_for_display*(display: PGdkDisplay, selection: TGdkAtom): PGtkClipboard{. - cdecl, dynlib: gtklib, importc: "gtk_clipboard_get_for_display".} -proc gtk_clipboard_get_display*(clipboard: PGtkClipboard): PGdkDisplay{.cdecl, - dynlib: gtklib, importc: "gtk_clipboard_get_display".} -proc gtk_clipboard_set_with_data*(clipboard: PGtkClipboard, - targets: PGtkTargetEntry, n_targets: guint, - get_func: TGtkClipboardGetFunc, - clear_func: TGtkClipboardClearFunc, - user_data: gpointer): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_clipboard_set_with_data".} -proc gtk_clipboard_set_with_owner*(clipboard: PGtkClipboard, - targets: PGtkTargetEntry, n_targets: guint, - get_func: TGtkClipboardGetFunc, - clear_func: TGtkClipboardClearFunc, - owner: PGObject): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_clipboard_set_with_owner".} -proc gtk_clipboard_get_owner*(clipboard: PGtkClipboard): PGObject{.cdecl, - dynlib: gtklib, importc: "gtk_clipboard_get_owner".} -proc gtk_clipboard_clear*(clipboard: PGtkClipboard){.cdecl, dynlib: gtklib, - importc: "gtk_clipboard_clear".} -proc gtk_clipboard_set_text*(clipboard: PGtkClipboard, text: cstring, len: gint){. - cdecl, dynlib: gtklib, importc: "gtk_clipboard_set_text".} -proc gtk_clipboard_request_contents*(clipboard: PGtkClipboard, target: TGdkAtom, - callback: TGtkClipboardReceivedFunc, - user_data: gpointer){.cdecl, - dynlib: gtklib, importc: "gtk_clipboard_request_contents".} -proc gtk_clipboard_request_text*(clipboard: PGtkClipboard, - callback: TGtkClipboardTextReceivedFunc, - user_data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_clipboard_request_text".} -proc gtk_clipboard_wait_for_contents*(clipboard: PGtkClipboard, target: TGdkAtom): PGtkSelectionData{. - cdecl, dynlib: gtklib, importc: "gtk_clipboard_wait_for_contents".} -proc gtk_clipboard_wait_for_text*(clipboard: PGtkClipboard): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_clipboard_wait_for_text".} -proc gtk_clipboard_wait_is_text_available*(clipboard: PGtkClipboard): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_clipboard_wait_is_text_available".} -const - GTK_CLIST_IN_DRAG* = 1 shl 0 - GTK_CLIST_ROW_HEIGHT_SET* = 1 shl 1 - GTK_CLIST_SHOW_TITLES* = 1 shl 2 - GTK_CLIST_ADD_MODE* = 1 shl 4 - GTK_CLIST_AUTO_SORT* = 1 shl 5 - GTK_CLIST_AUTO_RESIZE_BLOCKED* = 1 shl 6 - GTK_CLIST_REORDERABLE* = 1 shl 7 - GTK_CLIST_USE_DRAG_ICONS* = 1 shl 8 - GTK_CLIST_DRAW_DRAG_LINE* = 1 shl 9 - GTK_CLIST_DRAW_DRAG_RECT* = 1 shl 10 - GTK_BUTTON_IGNORED* = 0 - GTK_BUTTON_SELECTS* = 1 shl 0 - GTK_BUTTON_DRAGS* = 1 shl 1 - GTK_BUTTON_EXPANDS* = 1 shl 2 - -const - bm_TGtkCListColumn_visible* = 0x00000001'i16 - bp_TGtkCListColumn_visible* = 0'i16 - bm_TGtkCListColumn_width_set* = 0x00000002'i16 - bp_TGtkCListColumn_width_set* = 1'i16 - bm_TGtkCListColumn_resizeable* = 0x00000004'i16 - bp_TGtkCListColumn_resizeable* = 2'i16 - bm_TGtkCListColumn_auto_resize* = 0x00000008'i16 - bp_TGtkCListColumn_auto_resize* = 3'i16 - bm_TGtkCListColumn_button_passive* = 0x00000010'i16 - bp_TGtkCListColumn_button_passive* = 4'i16 - bm_TGtkCListRow_fg_set* = 0x00000001'i16 - bp_TGtkCListRow_fg_set* = 0'i16 - bm_TGtkCListRow_bg_set* = 0x00000002'i16 - bp_TGtkCListRow_bg_set* = 1'i16 - bm_TGtkCListRow_selectable* = 0x00000004'i16 - bp_TGtkCListRow_selectable* = 2'i16 - -proc GTK_TYPE_CLIST*(): GType -proc GTK_CLIST*(obj: pointer): PGtkCList -proc GTK_CLIST_CLASS*(klass: pointer): PGtkCListClass -proc GTK_IS_CLIST*(obj: pointer): bool -proc GTK_IS_CLIST_CLASS*(klass: pointer): bool -proc GTK_CLIST_GET_CLASS*(obj: pointer): PGtkCListClass -proc GTK_CLIST_FLAGS*(clist: pointer): guint16 -proc GTK_CLIST_SET_FLAG*(clist: PGtkCList, flag: guint16) -proc GTK_CLIST_UNSET_FLAG*(clist: PGtkCList, flag: guint16) -#proc GTK_CLIST_IN_DRAG_get*(clist: pointer): bool -#proc GTK_CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool -#proc GTK_CLIST_SHOW_TITLES_get*(clist: pointer): bool -#proc GTK_CLIST_ADD_MODE_get*(clist: pointer): bool -#proc GTK_CLIST_AUTO_SORT_get*(clist: pointer): bool -#proc GTK_CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool -#proc GTK_CLIST_REORDERABLE_get*(clist: pointer): bool -#proc GTK_CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool -#proc GTK_CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool -#proc GTK_CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool -#proc GTK_CLIST_ROW_get*(glist: PGList): PGtkCListRow -#proc GTK_CELL_TEXT_get*(cell: pointer): PGtkCellText -#proc GTK_CELL_PIXMAP_get*(cell: pointer): PGtkCellPixmap -#proc GTK_CELL_PIXTEXT_get*(cell: pointer): PGtkCellPixText -#proc GTK_CELL_WIDGET_get*(cell: pointer): PGtkCellWidget -proc visible*(a: var TGtkCListColumn): guint -proc set_visible*(a: var TGtkCListColumn, `visible`: guint) -proc width_set*(a: var TGtkCListColumn): guint -proc set_width_set*(a: var TGtkCListColumn, `width_set`: guint) -proc resizeable*(a: var TGtkCListColumn): guint -proc set_resizeable*(a: var TGtkCListColumn, `resizeable`: guint) -proc auto_resize*(a: var TGtkCListColumn): guint -proc set_auto_resize*(a: var TGtkCListColumn, `auto_resize`: guint) -proc button_passive*(a: var TGtkCListColumn): guint -proc set_button_passive*(a: var TGtkCListColumn, `button_passive`: guint) -proc fg_set*(a: var TGtkCListRow): guint -proc set_fg_set*(a: var TGtkCListRow, `fg_set`: guint) -proc bg_set*(a: var TGtkCListRow): guint -proc set_bg_set*(a: var TGtkCListRow, `bg_set`: guint) -proc selectable*(a: var TGtkCListRow): guint -proc set_selectable*(a: var TGtkCListRow, `selectable`: guint) -proc gtk_clist_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_clist_get_type".} -proc gtk_clist_new*(columns: gint): PGtkCList {.cdecl, dynlib: gtklib, - importc: "gtk_clist_new".} -proc gtk_clist_set_hadjustment*(clist: PGtkCList, adjustment: PGtkAdjustment){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_hadjustment".} -proc gtk_clist_set_vadjustment*(clist: PGtkCList, adjustment: PGtkAdjustment){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_vadjustment".} -proc gtk_clist_get_hadjustment*(clist: PGtkCList): PGtkAdjustment{.cdecl, - dynlib: gtklib, importc: "gtk_clist_get_hadjustment".} -proc gtk_clist_get_vadjustment*(clist: PGtkCList): PGtkAdjustment{.cdecl, - dynlib: gtklib, importc: "gtk_clist_get_vadjustment".} -proc gtk_clist_set_shadow_type*(clist: PGtkCList, thetype: TGtkShadowType){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_shadow_type".} -proc gtk_clist_set_selection_mode*(clist: PGtkCList, mode: TGtkSelectionMode){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_selection_mode".} -proc gtk_clist_set_reorderable*(clist: PGtkCList, reorderable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_reorderable".} -proc gtk_clist_set_use_drag_icons*(clist: PGtkCList, use_icons: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_use_drag_icons".} -proc gtk_clist_set_button_actions*(clist: PGtkCList, button: guint, - button_actions: guint8){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_button_actions".} -proc gtk_clist_freeze*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_freeze".} -proc gtk_clist_thaw*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_thaw".} -proc gtk_clist_column_titles_show*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_column_titles_show".} -proc gtk_clist_column_titles_hide*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_column_titles_hide".} -proc gtk_clist_column_title_active*(clist: PGtkCList, column: gint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_column_title_active".} -proc gtk_clist_column_title_passive*(clist: PGtkCList, column: gint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_column_title_passive".} -proc gtk_clist_column_titles_active*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_column_titles_active".} -proc gtk_clist_column_titles_passive*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_column_titles_passive".} -proc gtk_clist_set_column_title*(clist: PGtkCList, column: gint, title: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_column_title".} -proc gtk_clist_get_column_title*(clist: PGtkCList, column: gint): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_clist_get_column_title".} -proc gtk_clist_set_column_widget*(clist: PGtkCList, column: gint, - widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_clist_set_column_widget".} -proc gtk_clist_get_column_widget*(clist: PGtkCList, column: gint): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_clist_get_column_widget".} -proc gtk_clist_set_column_justification*(clist: PGtkCList, column: gint, - justification: TGtkJustification){.cdecl, dynlib: gtklib, importc: "gtk_clist_set_column_justification".} -proc gtk_clist_set_column_visibility*(clist: PGtkCList, column: gint, - visible: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_clist_set_column_visibility".} -proc gtk_clist_set_column_resizeable*(clist: PGtkCList, column: gint, - resizeable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_column_resizeable".} -proc gtk_clist_set_column_auto_resize*(clist: PGtkCList, column: gint, - auto_resize: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_column_auto_resize".} -proc gtk_clist_columns_autosize*(clist: PGtkCList): gint{.cdecl, dynlib: gtklib, - importc: "gtk_clist_columns_autosize".} -proc gtk_clist_optimal_column_width*(clist: PGtkCList, column: gint): gint{. - cdecl, dynlib: gtklib, importc: "gtk_clist_optimal_column_width".} -proc gtk_clist_set_column_width*(clist: PGtkCList, column: gint, width: gint){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_column_width".} -proc gtk_clist_set_column_min_width*(clist: PGtkCList, column: gint, - min_width: gint){.cdecl, dynlib: gtklib, - importc: "gtk_clist_set_column_min_width".} -proc gtk_clist_set_column_max_width*(clist: PGtkCList, column: gint, - max_width: gint){.cdecl, dynlib: gtklib, - importc: "gtk_clist_set_column_max_width".} -proc gtk_clist_set_row_height*(clist: PGtkCList, height: guint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_row_height".} -proc gtk_clist_moveto*(clist: PGtkCList, row: gint, column: gint, - row_align: gfloat, col_align: gfloat){.cdecl, - dynlib: gtklib, importc: "gtk_clist_moveto".} -proc gtk_clist_row_is_visible*(clist: PGtkCList, row: gint): TGtkVisibility{. - cdecl, dynlib: gtklib, importc: "gtk_clist_row_is_visible".} -proc gtk_clist_get_cell_type*(clist: PGtkCList, row: gint, column: gint): TGtkCellType{. - cdecl, dynlib: gtklib, importc: "gtk_clist_get_cell_type".} -proc gtk_clist_set_text*(clist: PGtkCList, row: gint, column: gint, text: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_text".} -proc gtk_clist_get_text*(clist: PGtkCList, row: gint, column: gint, - text: PPgchar): gint{.cdecl, dynlib: gtklib, - importc: "gtk_clist_get_text".} -proc gtk_clist_set_pixmap*(clist: PGtkCList, row: gint, column: gint, - pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_pixmap".} -proc gtk_clist_get_pixmap*(clist: PGtkCList, row: gint, column: gint, - pixmap: var PGdkPixmap, mask: var PGdkBitmap): gint{. - cdecl, dynlib: gtklib, importc: "gtk_clist_get_pixmap".} -proc gtk_clist_set_pixtext*(clist: PGtkCList, row: gint, column: gint, - text: cstring, spacing: guint8, pixmap: PGdkPixmap, - mask: PGdkBitmap){.cdecl, dynlib: gtklib, - importc: "gtk_clist_set_pixtext".} -proc gtk_clist_set_foreground*(clist: PGtkCList, row: gint, color: PGdkColor){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_foreground".} -proc gtk_clist_set_background*(clist: PGtkCList, row: gint, color: PGdkColor){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_background".} -proc gtk_clist_set_cell_style*(clist: PGtkCList, row: gint, column: gint, - style: PGtkStyle){.cdecl, dynlib: gtklib, - importc: "gtk_clist_set_cell_style".} -proc gtk_clist_get_cell_style*(clist: PGtkCList, row: gint, column: gint): PGtkStyle{. - cdecl, dynlib: gtklib, importc: "gtk_clist_get_cell_style".} -proc gtk_clist_set_row_style*(clist: PGtkCList, row: gint, style: PGtkStyle){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_row_style".} -proc gtk_clist_get_row_style*(clist: PGtkCList, row: gint): PGtkStyle{.cdecl, - dynlib: gtklib, importc: "gtk_clist_get_row_style".} -proc gtk_clist_set_shift*(clist: PGtkCList, row: gint, column: gint, - vertical: gint, horizontal: gint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_shift".} -proc gtk_clist_set_selectable*(clist: PGtkCList, row: gint, selectable: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_selectable".} -proc gtk_clist_get_selectable*(clist: PGtkCList, row: gint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_clist_get_selectable".} -proc gtk_clist_remove*(clist: PGtkCList, row: gint){.cdecl, dynlib: gtklib, - importc: "gtk_clist_remove".} -proc gtk_clist_set_row_data*(clist: PGtkCList, row: gint, data: gpointer){. - cdecl, dynlib: gtklib, importc: "gtk_clist_set_row_data".} -proc gtk_clist_set_row_data_full*(clist: PGtkCList, row: gint, data: gpointer, - destroy: TGtkDestroyNotify){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_row_data_full".} -proc gtk_clist_get_row_data*(clist: PGtkCList, row: gint): gpointer{.cdecl, - dynlib: gtklib, importc: "gtk_clist_get_row_data".} -proc gtk_clist_find_row_from_data*(clist: PGtkCList, data: gpointer): gint{. - cdecl, dynlib: gtklib, importc: "gtk_clist_find_row_from_data".} -proc gtk_clist_select_row*(clist: PGtkCList, row: gint, column: gint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_select_row".} -proc gtk_clist_unselect_row*(clist: PGtkCList, row: gint, column: gint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_unselect_row".} -proc gtk_clist_undo_selection*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_undo_selection".} -proc gtk_clist_clear*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_clear".} -proc gtk_clist_get_selection_info*(clist: PGtkCList, x: gint, y: gint, - row: Pgint, column: Pgint): gint{.cdecl, - dynlib: gtklib, importc: "gtk_clist_get_selection_info".} -proc gtk_clist_select_all*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_select_all".} -proc gtk_clist_unselect_all*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_unselect_all".} -proc gtk_clist_swap_rows*(clist: PGtkCList, row1: gint, row2: gint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_swap_rows".} -proc gtk_clist_row_move*(clist: PGtkCList, source_row: gint, dest_row: gint){. - cdecl, dynlib: gtklib, importc: "gtk_clist_row_move".} -proc gtk_clist_set_compare_func*(clist: PGtkCList, - cmp_func: TGtkCListCompareFunc){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_compare_func".} -proc gtk_clist_set_sort_column*(clist: PGtkCList, column: gint){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_sort_column".} -proc gtk_clist_set_sort_type*(clist: PGtkCList, sort_type: TGtkSortType){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_sort_type".} -proc gtk_clist_sort*(clist: PGtkCList){.cdecl, dynlib: gtklib, - importc: "gtk_clist_sort".} -proc gtk_clist_set_auto_sort*(clist: PGtkCList, auto_sort: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_clist_set_auto_sort".} -proc gtk_clist_create_cell_layout*(clist: PGtkCList, clist_row: PGtkCListRow, - column: gint): PPangoLayout{.cdecl, - dynlib: gtklib, importc: "_gtk_clist_create_cell_layout".} -const - GTK_DIALOG_MODAL* = 1 shl 0 - GTK_DIALOG_DESTROY_WITH_PARENT* = 1 shl 1 - GTK_DIALOG_NO_SEPARATOR* = 1 shl 2 - GTK_RESPONSE_NONE* = - (1) - GTK_RESPONSE_REJECT* = - (2) - GTK_RESPONSE_ACCEPT* = - (3) - GTK_RESPONSE_DELETE_EVENT* = - (4) - GTK_RESPONSE_OK* = - (5) - GTK_RESPONSE_CANCEL* = - (6) - GTK_RESPONSE_CLOSE* = - (7) - GTK_RESPONSE_YES* = - (8) - GTK_RESPONSE_NO* = - (9) - GTK_RESPONSE_APPLY* = - (10) - GTK_RESPONSE_HELP* = - (11) - -proc GTK_TYPE_DIALOG*(): GType -proc GTK_DIALOG*(obj: pointer): PGtkDialog -proc GTK_DIALOG_CLASS*(klass: pointer): PGtkDialogClass -proc GTK_IS_DIALOG*(obj: pointer): bool -proc GTK_IS_DIALOG_CLASS*(klass: pointer): bool -proc GTK_DIALOG_GET_CLASS*(obj: pointer): PGtkDialogClass -proc gtk_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_dialog_get_type".} -proc gtk_dialog_new*(): PGtkDialog {.cdecl, dynlib: gtklib, - importc: "gtk_dialog_new".} -proc gtk_dialog_add_action_widget*(dialog: PGtkDialog, child: PGtkWidget, - response_id: gint){.cdecl, dynlib: gtklib, - importc: "gtk_dialog_add_action_widget".} -proc gtk_dialog_add_button*(dialog: PGtkDialog, button_text: cstring, - response_id: gint): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_dialog_add_button".} -proc gtk_dialog_set_response_sensitive*(dialog: PGtkDialog, response_id: gint, - setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_dialog_set_response_sensitive".} -proc gtk_dialog_set_default_response*(dialog: PGtkDialog, response_id: gint){. - cdecl, dynlib: gtklib, importc: "gtk_dialog_set_default_response".} -proc gtk_dialog_set_has_separator*(dialog: PGtkDialog, setting: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_dialog_set_has_separator".} -proc gtk_dialog_get_has_separator*(dialog: PGtkDialog): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_dialog_get_has_separator".} -proc gtk_dialog_response*(dialog: PGtkDialog, response_id: gint){.cdecl, - dynlib: gtklib, importc: "gtk_dialog_response".} -proc gtk_dialog_run*(dialog: PGtkDialog): gint{.cdecl, dynlib: gtklib, - importc: "gtk_dialog_run".} -proc gtk_show_about_dialog*(parent: PGtkWindow, firstPropertyName: cstring) {. - cdecl, dynlib: gtklib, importc: "gtk_show_about_dialog", varargs.} - -proc GTK_TYPE_VBOX*(): GType -proc GTK_VBOX*(obj: pointer): PGtkVBox -proc GTK_VBOX_CLASS*(klass: pointer): PGtkVBoxClass -proc GTK_IS_VBOX*(obj: pointer): bool -proc GTK_IS_VBOX_CLASS*(klass: pointer): bool -proc GTK_VBOX_GET_CLASS*(obj: pointer): PGtkVBoxClass -proc gtk_vbox_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_vbox_get_type".} -proc gtk_vbox_new*(homogeneous: gboolean, spacing: gint): PGtkVBox {.cdecl, - dynlib: gtklib, importc: "gtk_vbox_new".} -proc GTK_TYPE_COLOR_SELECTION*(): GType -proc GTK_COLOR_SELECTION*(obj: pointer): PGtkColorSelection -proc GTK_COLOR_SELECTION_CLASS*(klass: pointer): PGtkColorSelectionClass -proc GTK_IS_COLOR_SELECTION*(obj: pointer): bool -proc GTK_IS_COLOR_SELECTION_CLASS*(klass: pointer): bool -proc GTK_COLOR_SELECTION_GET_CLASS*(obj: pointer): PGtkColorSelectionClass -proc gtk_color_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_get_type".} -proc gtk_color_selection_new*(): PGtkColorSelection {.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_new".} -proc gtk_color_selection_get_has_opacity_control*(colorsel: PGtkColorSelection): gboolean{. - cdecl, dynlib: gtklib, - importc: "gtk_color_selection_get_has_opacity_control".} -proc gtk_color_selection_set_has_opacity_control*(colorsel: PGtkColorSelection, - has_opacity: gboolean){.cdecl, dynlib: gtklib, importc: "gtk_color_selection_set_has_opacity_control".} -proc gtk_color_selection_get_has_palette*(colorsel: PGtkColorSelection): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_color_selection_get_has_palette".} -proc gtk_color_selection_set_has_palette*(colorsel: PGtkColorSelection, - has_palette: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_set_has_palette".} -proc gtk_color_selection_set_current_color*(colorsel: PGtkColorSelection, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_set_current_color".} -proc gtk_color_selection_set_current_alpha*(colorsel: PGtkColorSelection, - alpha: guint16){.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_set_current_alpha".} -proc gtk_color_selection_get_current_color*(colorsel: PGtkColorSelection, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_get_current_color".} -proc gtk_color_selection_get_current_alpha*(colorsel: PGtkColorSelection): guint16{. - cdecl, dynlib: gtklib, importc: "gtk_color_selection_get_current_alpha".} -proc gtk_color_selection_set_previous_color*(colorsel: PGtkColorSelection, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_set_previous_color".} -proc gtk_color_selection_set_previous_alpha*(colorsel: PGtkColorSelection, - alpha: guint16){.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_set_previous_alpha".} -proc gtk_color_selection_get_previous_color*(colorsel: PGtkColorSelection, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_get_previous_color".} -proc gtk_color_selection_get_previous_alpha*(colorsel: PGtkColorSelection): guint16{. - cdecl, dynlib: gtklib, importc: "gtk_color_selection_get_previous_alpha".} -proc gtk_color_selection_is_adjusting*(colorsel: PGtkColorSelection): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_color_selection_is_adjusting".} -proc gtk_color_selection_palette_from_string*(str: cstring, - colors: var PGdkColor, n_colors: Pgint): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_palette_from_string".} -proc gtk_color_selection_palette_to_string*(colors: PGdkColor, n_colors: gint): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_color_selection_palette_to_string".} -proc gtk_color_selection_set_change_palette_with_screen_hook*( - func: TGtkColorSelectionChangePaletteWithScreenFunc): TGtkColorSelectionChangePaletteWithScreenFunc{. - cdecl, dynlib: gtklib, - importc: "gtk_color_selection_set_change_palette_with_screen_hook".} -proc GTK_TYPE_COLOR_SELECTION_DIALOG*(): GType -proc GTK_COLOR_SELECTION_DIALOG*(obj: pointer): PGtkColorSelectionDialog -proc GTK_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkColorSelectionDialogClass -proc GTK_IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool -proc GTK_IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool -proc GTK_COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkColorSelectionDialogClass -proc gtk_color_selection_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_color_selection_dialog_get_type".} -proc gtk_color_selection_dialog_new*(title: cstring): PGtkColorSelectionDialog {.cdecl, - dynlib: gtklib, importc: "gtk_color_selection_dialog_new".} -proc GTK_TYPE_HBOX*(): GType -proc GTK_HBOX*(obj: pointer): PGtkHBox -proc GTK_HBOX_CLASS*(klass: pointer): PGtkHBoxClass -proc GTK_IS_HBOX*(obj: pointer): bool -proc GTK_IS_HBOX_CLASS*(klass: pointer): bool -proc GTK_HBOX_GET_CLASS*(obj: pointer): PGtkHBoxClass -proc gtk_hbox_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_hbox_get_type".} -proc gtk_hbox_new*(homogeneous: gboolean, spacing: gint): PGtkHBox {.cdecl, - dynlib: gtklib, importc: "gtk_hbox_new".} -const - bm_TGtkCombo_value_in_list* = 0x00000001'i16 - bp_TGtkCombo_value_in_list* = 0'i16 - bm_TGtkCombo_ok_if_empty* = 0x00000002'i16 - bp_TGtkCombo_ok_if_empty* = 1'i16 - bm_TGtkCombo_case_sensitive* = 0x00000004'i16 - bp_TGtkCombo_case_sensitive* = 2'i16 - bm_TGtkCombo_use_arrows* = 0x00000008'i16 - bp_TGtkCombo_use_arrows* = 3'i16 - bm_TGtkCombo_use_arrows_always* = 0x00000010'i16 - bp_TGtkCombo_use_arrows_always* = 4'i16 - -proc GTK_TYPE_COMBO*(): GType -proc GTK_COMBO*(obj: pointer): PGtkCombo -proc GTK_COMBO_CLASS*(klass: pointer): PGtkComboClass -proc GTK_IS_COMBO*(obj: pointer): bool -proc GTK_IS_COMBO_CLASS*(klass: pointer): bool -proc GTK_COMBO_GET_CLASS*(obj: pointer): PGtkComboClass -proc value_in_list*(a: var TGtkCombo): guint -proc set_value_in_list*(a: var TGtkCombo, `value_in_list`: guint) -proc ok_if_empty*(a: var TGtkCombo): guint -proc set_ok_if_empty*(a: var TGtkCombo, `ok_if_empty`: guint) -proc case_sensitive*(a: var TGtkCombo): guint -proc set_case_sensitive*(a: var TGtkCombo, `case_sensitive`: guint) -proc use_arrows*(a: var TGtkCombo): guint -proc set_use_arrows*(a: var TGtkCombo, `use_arrows`: guint) -proc use_arrows_always*(a: var TGtkCombo): guint -proc set_use_arrows_always*(a: var TGtkCombo, `use_arrows_always`: guint) -proc gtk_combo_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_combo_get_type".} -proc gtk_combo_new*(): PGtkCombo {.cdecl, dynlib: gtklib, - importc: "gtk_combo_new".} -proc gtk_combo_set_value_in_list*(combo: PGtkCombo, val: gboolean, - ok_if_empty: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_combo_set_value_in_list".} -proc gtk_combo_set_use_arrows*(combo: PGtkCombo, val: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_combo_set_use_arrows".} -proc gtk_combo_set_use_arrows_always*(combo: PGtkCombo, val: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_combo_set_use_arrows_always".} -proc gtk_combo_set_case_sensitive*(combo: PGtkCombo, val: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_combo_set_case_sensitive".} -proc gtk_combo_set_item_string*(combo: PGtkCombo, item: PGtkItem, - item_value: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_combo_set_item_string".} -proc gtk_combo_set_popdown_strings*(combo: PGtkCombo, strings: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_combo_set_popdown_strings".} -proc gtk_combo_disable_activate*(combo: PGtkCombo){.cdecl, dynlib: gtklib, - importc: "gtk_combo_disable_activate".} -const - bm_TGtkCTree_line_style* = 0x00000003'i16 - bp_TGtkCTree_line_style* = 0'i16 - bm_TGtkCTree_expander_style* = 0x0000000C'i16 - bp_TGtkCTree_expander_style* = 2'i16 - bm_TGtkCTree_show_stub* = 0x00000010'i16 - bp_TGtkCTree_show_stub* = 4'i16 - bm_TGtkCTreeRow_is_leaf* = 0x00000001'i16 - bp_TGtkCTreeRow_is_leaf* = 0'i16 - bm_TGtkCTreeRow_expanded* = 0x00000002'i16 - bp_TGtkCTreeRow_expanded* = 1'i16 - -proc GTK_TYPE_CTREE*(): GType -proc GTK_CTREE*(obj: pointer): PGtkCTree -proc GTK_CTREE_CLASS*(klass: pointer): PGtkCTreeClass -proc GTK_IS_CTREE*(obj: pointer): bool -proc GTK_IS_CTREE_CLASS*(klass: pointer): bool -proc GTK_CTREE_GET_CLASS*(obj: pointer): PGtkCTreeClass -proc GTK_CTREE_ROW*(`node`: TAddress): PGtkCTreeRow -proc GTK_CTREE_NODE*(`node`: TAddress): PGtkCTreeNode -proc GTK_CTREE_NODE_NEXT*(`nnode`: TAddress): PGtkCTreeNode -proc GTK_CTREE_NODE_PREV*(`pnode`: TAddress): PGtkCTreeNode -proc GTK_CTREE_FUNC*(`func`: TAddress): TGtkCTreeFunc -proc GTK_TYPE_CTREE_NODE*(): GType -proc line_style*(a: var TGtkCTree): guint -proc set_line_style*(a: var TGtkCTree, `line_style`: guint) -proc expander_style*(a: var TGtkCTree): guint -proc set_expander_style*(a: var TGtkCTree, `expander_style`: guint) -proc show_stub*(a: var TGtkCTree): guint -proc set_show_stub*(a: var TGtkCTree, `show_stub`: guint) -proc is_leaf*(a: var TGtkCTreeRow): guint -proc set_is_leaf*(a: var TGtkCTreeRow, `is_leaf`: guint) -proc expanded*(a: var TGtkCTreeRow): guint -proc set_expanded*(a: var TGtkCTreeRow, `expanded`: guint) -proc gtk_ctree_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_ctree_get_type".} -proc gtk_ctree_new*(columns: gint, tree_column: gint): PGtkCTree {.cdecl, - dynlib: gtklib, importc: "gtk_ctree_new".} -proc gtk_ctree_insert_node*(ctree: PGtkCTree, parent: PGtkCTreeNode, - sibling: PGtkCTreeNode, text: openarray[cstring], - spacing: guint8, pixmap_closed: PGdkPixmap, - mask_closed: PGdkBitmap, pixmap_opened: PGdkPixmap, - mask_opened: PGdkBitmap, is_leaf: gboolean, - expanded: gboolean): PGtkCTreeNode{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_insert_node".} -proc gtk_ctree_remove_node*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_remove_node".} -proc gtk_ctree_insert_gnode*(ctree: PGtkCTree, parent: PGtkCTreeNode, - sibling: PGtkCTreeNode, gnode: PGNode, - fun: TGtkCTreeGNodeFunc, data: gpointer): PGtkCTreeNode{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_insert_gnode".} -proc gtk_ctree_export_to_gnode*(ctree: PGtkCTree, parent: PGNode, - sibling: PGNode, node: PGtkCTreeNode, - fun: TGtkCTreeGNodeFunc, data: gpointer): PGNode{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_export_to_gnode".} -proc gtk_ctree_post_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode, - fun: TGtkCTreeFunc, data: gpointer){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_post_recursive".} -proc gtk_ctree_post_recursive_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode, - depth: gint, fun: TGtkCTreeFunc, - data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_post_recursive_to_depth".} -proc gtk_ctree_pre_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode, - fun: TGtkCTreeFunc, data: gpointer){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_pre_recursive".} -proc gtk_ctree_pre_recursive_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode, - depth: gint, fun: TGtkCTreeFunc, - data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_pre_recursive_to_depth".} -proc gtk_ctree_is_viewable*(ctree: PGtkCTree, node: PGtkCTreeNode): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_is_viewable".} -proc gtk_ctree_last*(ctree: PGtkCTree, node: PGtkCTreeNode): PGtkCTreeNode{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_last".} -proc gtk_ctree_find_node_ptr*(ctree: PGtkCTree, ctree_row: PGtkCTreeRow): PGtkCTreeNode{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_find_node_ptr".} -proc gtk_ctree_node_nth*(ctree: PGtkCTree, row: guint): PGtkCTreeNode{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_nth".} -proc gtk_ctree_find*(ctree: PGtkCTree, node: PGtkCTreeNode, - child: PGtkCTreeNode): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_ctree_find".} -proc gtk_ctree_is_ancestor*(ctree: PGtkCTree, node: PGtkCTreeNode, - child: PGtkCTreeNode): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_is_ancestor".} -proc gtk_ctree_find_by_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode, - data: gpointer): PGtkCTreeNode{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_find_by_row_data".} -proc gtk_ctree_find_all_by_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode, - data: gpointer): PGList{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_find_all_by_row_data".} -proc gtk_ctree_find_by_row_data_custom*(ctree: PGtkCTree, node: PGtkCTreeNode, - data: gpointer, fun: TGCompareFunc): PGtkCTreeNode{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_find_by_row_data_custom".} -proc gtk_ctree_find_all_by_row_data_custom*(ctree: PGtkCTree, - node: PGtkCTreeNode, data: gpointer, fun: TGCompareFunc): PGList{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_find_all_by_row_data_custom".} -proc gtk_ctree_is_hot_spot*(ctree: PGtkCTree, x: gint, y: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_is_hot_spot".} -proc gtk_ctree_move*(ctree: PGtkCTree, node: PGtkCTreeNode, - new_parent: PGtkCTreeNode, new_sibling: PGtkCTreeNode){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_move".} -proc gtk_ctree_expand*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_expand".} -proc gtk_ctree_expand_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_expand_recursive".} -proc gtk_ctree_expand_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode, - depth: gint){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_expand_to_depth".} -proc gtk_ctree_collapse*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_collapse".} -proc gtk_ctree_collapse_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_collapse_recursive".} -proc gtk_ctree_collapse_to_depth*(ctree: PGtkCTree, node: PGtkCTreeNode, - depth: gint){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_collapse_to_depth".} -proc gtk_ctree_toggle_expansion*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_toggle_expansion".} -proc gtk_ctree_toggle_expansion_recursive*(ctree: PGtkCTree, - node: PGtkCTreeNode){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_toggle_expansion_recursive".} -proc gtk_ctree_select*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_select".} -proc gtk_ctree_select_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_select_recursive".} -proc gtk_ctree_unselect*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_unselect".} -proc gtk_ctree_unselect_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_unselect_recursive".} -proc gtk_ctree_real_select_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode, - state: gint){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_real_select_recursive".} -proc gtk_ctree_node_set_text*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint, text: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_set_text".} -proc gtk_ctree_node_set_pixmap*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint, pixmap: PGdkPixmap, - mask: PGdkBitmap){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_node_set_pixmap".} -proc gtk_ctree_node_set_pixtext*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint, text: cstring, spacing: guint8, - pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_set_pixtext".} -proc gtk_ctree_set_node_info*(ctree: PGtkCTree, node: PGtkCTreeNode, - text: cstring, spacing: guint8, - pixmap_closed: PGdkPixmap, - mask_closed: PGdkBitmap, - pixmap_opened: PGdkPixmap, - mask_opened: PGdkBitmap, is_leaf: gboolean, - expanded: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_set_node_info".} -proc gtk_ctree_node_set_shift*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint, vertical: gint, horizontal: gint){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_node_set_shift".} -proc gtk_ctree_node_set_selectable*(ctree: PGtkCTree, node: PGtkCTreeNode, - selectable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_set_selectable".} -proc gtk_ctree_node_get_selectable*(ctree: PGtkCTree, node: PGtkCTreeNode): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_node_get_selectable".} -proc gtk_ctree_node_get_cell_type*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint): TGtkCellType{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_get_cell_type".} -proc gtk_ctree_node_get_text*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint, text: PPgchar): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_get_text".} -proc gtk_ctree_node_set_row_style*(ctree: PGtkCTree, node: PGtkCTreeNode, - style: PGtkStyle){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_node_set_row_style".} -proc gtk_ctree_node_get_row_style*(ctree: PGtkCTree, node: PGtkCTreeNode): PGtkStyle{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_node_get_row_style".} -proc gtk_ctree_node_set_cell_style*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint, style: PGtkStyle){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_set_cell_style".} -proc gtk_ctree_node_get_cell_style*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint): PGtkStyle{.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_get_cell_style".} -proc gtk_ctree_node_set_foreground*(ctree: PGtkCTree, node: PGtkCTreeNode, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_node_set_foreground".} -proc gtk_ctree_node_set_background*(ctree: PGtkCTree, node: PGtkCTreeNode, - color: PGdkColor){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_node_set_background".} -proc gtk_ctree_node_set_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode, - data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_ctree_node_set_row_data".} -proc gtk_ctree_node_set_row_data_full*(ctree: PGtkCTree, node: PGtkCTreeNode, - data: gpointer, - destroy: TGtkDestroyNotify){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_node_set_row_data_full".} -proc gtk_ctree_node_get_row_data*(ctree: PGtkCTree, node: PGtkCTreeNode): gpointer{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_node_get_row_data".} -proc gtk_ctree_node_moveto*(ctree: PGtkCTree, node: PGtkCTreeNode, - column: gint, row_align: gfloat, col_align: gfloat){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_node_moveto".} -proc gtk_ctree_node_is_visible*(ctree: PGtkCTree, node: PGtkCTreeNode): TGtkVisibility{. - cdecl, dynlib: gtklib, importc: "gtk_ctree_node_is_visible".} -proc gtk_ctree_set_indent*(ctree: PGtkCTree, indent: gint){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_set_indent".} -proc gtk_ctree_set_spacing*(ctree: PGtkCTree, spacing: gint){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_set_spacing".} -proc gtk_ctree_set_show_stub*(ctree: PGtkCTree, show_stub: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_set_show_stub".} -proc gtk_ctree_set_line_style*(ctree: PGtkCTree, line_style: TGtkCTreeLineStyle){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_set_line_style".} -proc gtk_ctree_set_expander_style*(ctree: PGtkCTree, - expander_style: TGtkCTreeExpanderStyle){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_set_expander_style".} -proc gtk_ctree_set_drag_compare_func*(ctree: PGtkCTree, - cmp_func: TGtkCTreeCompareDragFunc){. - cdecl, dynlib: gtklib, importc: "gtk_ctree_set_drag_compare_func".} -proc gtk_ctree_sort_node*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_sort_node".} -proc gtk_ctree_sort_recursive*(ctree: PGtkCTree, node: PGtkCTreeNode){.cdecl, - dynlib: gtklib, importc: "gtk_ctree_sort_recursive".} -proc gtk_ctree_set_reorderable*(t: pointer, r: bool) -proc gtk_ctree_node_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_ctree_node_get_type".} -proc GTK_TYPE_DRAWING_AREA*(): GType -proc GTK_DRAWING_AREA*(obj: pointer): PGtkDrawingArea -proc GTK_DRAWING_AREA_CLASS*(klass: pointer): PGtkDrawingAreaClass -proc GTK_IS_DRAWING_AREA*(obj: pointer): bool -proc GTK_IS_DRAWING_AREA_CLASS*(klass: pointer): bool -proc GTK_DRAWING_AREA_GET_CLASS*(obj: pointer): PGtkDrawingAreaClass -proc gtk_drawing_area_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_drawing_area_get_type".} -proc gtk_drawing_area_new*(): PGtkDrawingArea {.cdecl, dynlib: gtklib, - importc: "gtk_drawing_area_new".} -proc GTK_TYPE_CURVE*(): GType -proc GTK_CURVE*(obj: pointer): PGtkCurve -proc GTK_CURVE_CLASS*(klass: pointer): PGtkCurveClass -proc GTK_IS_CURVE*(obj: pointer): bool -proc GTK_IS_CURVE_CLASS*(klass: pointer): bool -proc GTK_CURVE_GET_CLASS*(obj: pointer): PGtkCurveClass -proc gtk_curve_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_curve_get_type".} -proc gtk_curve_new*(): PGtkCurve {.cdecl, dynlib: gtklib, - importc: "gtk_curve_new".} -proc gtk_curve_reset*(curve: PGtkCurve){.cdecl, dynlib: gtklib, - importc: "gtk_curve_reset".} -proc gtk_curve_set_gamma*(curve: PGtkCurve, gamma: gfloat){.cdecl, - dynlib: gtklib, importc: "gtk_curve_set_gamma".} -proc gtk_curve_set_range*(curve: PGtkCurve, min_x: gfloat, max_x: gfloat, - min_y: gfloat, max_y: gfloat){.cdecl, dynlib: gtklib, - importc: "gtk_curve_set_range".} -proc gtk_curve_set_curve_type*(curve: PGtkCurve, thetype: TGtkCurveType){.cdecl, - dynlib: gtklib, importc: "gtk_curve_set_curve_type".} -const - GTK_DEST_DEFAULT_MOTION* = 1 shl 0 - GTK_DEST_DEFAULT_HIGHLIGHT* = 1 shl 1 - GTK_DEST_DEFAULT_DROP* = 1 shl 2 - GTK_DEST_DEFAULT_ALL* = 0x00000007 - GTK_TARGET_SAME_APP* = 1 shl 0 - GTK_TARGET_SAME_WIDGET* = 1 shl 1 - -proc gtk_drag_get_data*(widget: PGtkWidget, context: PGdkDragContext, - target: TGdkAtom, time: guint32){.cdecl, dynlib: gtklib, - importc: "gtk_drag_get_data".} -proc gtk_drag_finish*(context: PGdkDragContext, success: gboolean, - del: gboolean, time: guint32){.cdecl, dynlib: gtklib, - importc: "gtk_drag_finish".} -proc gtk_drag_get_source_widget*(context: PGdkDragContext): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_drag_get_source_widget".} -proc gtk_drag_highlight*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_drag_highlight".} -proc gtk_drag_unhighlight*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_drag_unhighlight".} -proc gtk_drag_dest_set*(widget: PGtkWidget, flags: TGtkDestDefaults, - targets: PGtkTargetEntry, n_targets: gint, - actions: TGdkDragAction){.cdecl, dynlib: gtklib, - importc: "gtk_drag_dest_set".} -proc gtk_drag_dest_set_proxy*(widget: PGtkWidget, proxy_window: PGdkWindow, - protocol: TGdkDragProtocol, - use_coordinates: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_drag_dest_set_proxy".} -proc gtk_drag_dest_unset*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_drag_dest_unset".} -proc gtk_drag_dest_find_target*(widget: PGtkWidget, context: PGdkDragContext, - target_list: PGtkTargetList): TGdkAtom{.cdecl, - dynlib: gtklib, importc: "gtk_drag_dest_find_target".} -proc gtk_drag_dest_get_target_list*(widget: PGtkWidget): PGtkTargetList{.cdecl, - dynlib: gtklib, importc: "gtk_drag_dest_get_target_list".} -proc gtk_drag_dest_set_target_list*(widget: PGtkWidget, - target_list: PGtkTargetList){.cdecl, - dynlib: gtklib, importc: "gtk_drag_dest_set_target_list".} -proc gtk_drag_source_set*(widget: PGtkWidget, - start_button_mask: TGdkModifierType, - targets: PGtkTargetEntry, n_targets: gint, - actions: TGdkDragAction){.cdecl, dynlib: gtklib, - importc: "gtk_drag_source_set".} -proc gtk_drag_source_unset*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_drag_source_unset".} -proc gtk_drag_source_set_icon*(widget: PGtkWidget, colormap: PGdkColormap, - pixmap: PGdkPixmap, mask: PGdkBitmap){.cdecl, - dynlib: gtklib, importc: "gtk_drag_source_set_icon".} -proc gtk_drag_source_set_icon_pixbuf*(widget: PGtkWidget, pixbuf: PGdkPixbuf){. - cdecl, dynlib: gtklib, importc: "gtk_drag_source_set_icon_pixbuf".} -proc gtk_drag_source_set_icon_stock*(widget: PGtkWidget, stock_id: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_drag_source_set_icon_stock".} -proc gtk_drag_begin*(widget: PGtkWidget, targets: PGtkTargetList, - actions: TGdkDragAction, button: gint, event: PGdkEvent): PGdkDragContext{. - cdecl, dynlib: gtklib, importc: "gtk_drag_begin".} -proc gtk_drag_set_icon_widget*(context: PGdkDragContext, widget: PGtkWidget, - hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_drag_set_icon_widget".} -proc gtk_drag_set_icon_pixmap*(context: PGdkDragContext, colormap: PGdkColormap, - pixmap: PGdkPixmap, mask: PGdkBitmap, - hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_drag_set_icon_pixmap".} -proc gtk_drag_set_icon_pixbuf*(context: PGdkDragContext, pixbuf: PGdkPixbuf, - hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_drag_set_icon_pixbuf".} -proc gtk_drag_set_icon_stock*(context: PGdkDragContext, stock_id: cstring, - hot_x: gint, hot_y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_drag_set_icon_stock".} -proc gtk_drag_set_icon_default*(context: PGdkDragContext){.cdecl, - dynlib: gtklib, importc: "gtk_drag_set_icon_default".} -proc gtk_drag_check_threshold*(widget: PGtkWidget, start_x: gint, start_y: gint, - current_x: gint, current_y: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_drag_check_threshold".} -proc gtk_drag_source_handle_event*(widget: PGtkWidget, event: PGdkEvent){. - cdecl, dynlib: gtklib, importc: "_gtk_drag_source_handle_event".} -proc gtk_drag_dest_handle_event*(toplevel: PGtkWidget, event: PGdkEvent){. - cdecl, dynlib: gtklib, importc: "_gtk_drag_dest_handle_event".} -proc GTK_TYPE_EDITABLE*(): GType -proc GTK_EDITABLE*(obj: pointer): PGtkEditable -proc GTK_EDITABLE_CLASS*(vtable: pointer): PGtkEditableClass -proc GTK_IS_EDITABLE*(obj: pointer): bool -proc GTK_IS_EDITABLE_CLASS*(vtable: pointer): bool -proc GTK_EDITABLE_GET_CLASS*(inst: pointer): PGtkEditableClass -proc gtk_editable_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_editable_get_type".} -proc gtk_editable_select_region*(editable: PGtkEditable, start: gint, - theEnd: gint){.cdecl, dynlib: gtklib, - importc: "gtk_editable_select_region".} -proc gtk_editable_get_selection_bounds*(editable: PGtkEditable, start: Pgint, - theEnd: Pgint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_editable_get_selection_bounds".} -proc gtk_editable_insert_text*(editable: PGtkEditable, new_text: cstring, - new_text_length: gint, position: Pgint){.cdecl, - dynlib: gtklib, importc: "gtk_editable_insert_text".} -proc gtk_editable_delete_text*(editable: PGtkEditable, start_pos: gint, - end_pos: gint){.cdecl, dynlib: gtklib, - importc: "gtk_editable_delete_text".} -proc gtk_editable_get_chars*(editable: PGtkEditable, start_pos: gint, - end_pos: gint): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_editable_get_chars".} -proc gtk_editable_cut_clipboard*(editable: PGtkEditable){.cdecl, dynlib: gtklib, - importc: "gtk_editable_cut_clipboard".} -proc gtk_editable_copy_clipboard*(editable: PGtkEditable){.cdecl, - dynlib: gtklib, importc: "gtk_editable_copy_clipboard".} -proc gtk_editable_paste_clipboard*(editable: PGtkEditable){.cdecl, - dynlib: gtklib, importc: "gtk_editable_paste_clipboard".} -proc gtk_editable_delete_selection*(editable: PGtkEditable){.cdecl, - dynlib: gtklib, importc: "gtk_editable_delete_selection".} -proc gtk_editable_set_position*(editable: PGtkEditable, position: gint){.cdecl, - dynlib: gtklib, importc: "gtk_editable_set_position".} -proc gtk_editable_get_position*(editable: PGtkEditable): gint{.cdecl, - dynlib: gtklib, importc: "gtk_editable_get_position".} -proc gtk_editable_set_editable*(editable: PGtkEditable, is_editable: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_editable_set_editable".} -proc gtk_editable_get_editable*(editable: PGtkEditable): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_editable_get_editable".} -proc GTK_TYPE_IM_CONTEXT*(): GType -proc GTK_IM_CONTEXT*(obj: pointer): PGtkIMContext -proc GTK_IM_CONTEXT_CLASS*(klass: pointer): PGtkIMContextClass -proc GTK_IS_IM_CONTEXT*(obj: pointer): bool -proc GTK_IS_IM_CONTEXT_CLASS*(klass: pointer): bool -proc GTK_IM_CONTEXT_GET_CLASS*(obj: pointer): PGtkIMContextClass -proc gtk_im_context_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_im_context_get_type".} -proc gtk_im_context_set_client_window*(context: PGtkIMContext, - window: PGdkWindow){.cdecl, - dynlib: gtklib, importc: "gtk_im_context_set_client_window".} -proc gtk_im_context_filter_keypress*(context: PGtkIMContext, event: PGdkEventKey): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_im_context_filter_keypress".} -proc gtk_im_context_focus_in*(context: PGtkIMContext){.cdecl, dynlib: gtklib, - importc: "gtk_im_context_focus_in".} -proc gtk_im_context_focus_out*(context: PGtkIMContext){.cdecl, dynlib: gtklib, - importc: "gtk_im_context_focus_out".} -proc gtk_im_context_reset*(context: PGtkIMContext){.cdecl, dynlib: gtklib, - importc: "gtk_im_context_reset".} -proc gtk_im_context_set_cursor_location*(context: PGtkIMContext, - area: PGdkRectangle){.cdecl, dynlib: gtklib, - importc: "gtk_im_context_set_cursor_location".} -proc gtk_im_context_set_use_preedit*(context: PGtkIMContext, - use_preedit: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_im_context_set_use_preedit".} -proc gtk_im_context_set_surrounding*(context: PGtkIMContext, text: cstring, - len: gint, cursor_index: gint){.cdecl, - dynlib: gtklib, importc: "gtk_im_context_set_surrounding".} -proc gtk_im_context_get_surrounding*(context: PGtkIMContext, text: PPgchar, - cursor_index: Pgint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_im_context_get_surrounding".} -proc gtk_im_context_delete_surrounding*(context: PGtkIMContext, offset: gint, - n_chars: gint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_im_context_delete_surrounding".} -const - bm_TGtkMenuShell_active* = 0x00000001'i16 - bp_TGtkMenuShell_active* = 0'i16 - bm_TGtkMenuShell_have_grab* = 0x00000002'i16 - bp_TGtkMenuShell_have_grab* = 1'i16 - bm_TGtkMenuShell_have_xgrab* = 0x00000004'i16 - bp_TGtkMenuShell_have_xgrab* = 2'i16 - bm_TGtkMenuShell_ignore_leave* = 0x00000008'i16 - bp_TGtkMenuShell_ignore_leave* = 3'i16 - bm_TGtkMenuShell_menu_flag* = 0x00000010'i16 - bp_TGtkMenuShell_menu_flag* = 4'i16 - bm_TGtkMenuShell_ignore_enter* = 0x00000020'i16 - bp_TGtkMenuShell_ignore_enter* = 5'i16 - bm_TGtkMenuShellClass_submenu_placement* = 0x00000001'i16 - bp_TGtkMenuShellClass_submenu_placement* = 0'i16 - -proc GTK_TYPE_MENU_SHELL*(): GType -proc GTK_MENU_SHELL*(obj: pointer): PGtkMenuShell -proc GTK_MENU_SHELL_CLASS*(klass: pointer): PGtkMenuShellClass -proc GTK_IS_MENU_SHELL*(obj: pointer): bool -proc GTK_IS_MENU_SHELL_CLASS*(klass: pointer): bool -proc GTK_MENU_SHELL_GET_CLASS*(obj: pointer): PGtkMenuShellClass -proc active*(a: var TGtkMenuShell): guint -proc set_active*(a: var TGtkMenuShell, `active`: guint) -proc have_grab*(a: var TGtkMenuShell): guint -proc set_have_grab*(a: var TGtkMenuShell, `have_grab`: guint) -proc have_xgrab*(a: var TGtkMenuShell): guint -proc set_have_xgrab*(a: var TGtkMenuShell, `have_xgrab`: guint) -proc ignore_leave*(a: var TGtkMenuShell): guint -proc set_ignore_leave*(a: var TGtkMenuShell, `ignore_leave`: guint) -proc menu_flag*(a: var TGtkMenuShell): guint -proc set_menu_flag*(a: var TGtkMenuShell, `menu_flag`: guint) -proc ignore_enter*(a: var TGtkMenuShell): guint -proc set_ignore_enter*(a: var TGtkMenuShell, `ignore_enter`: guint) -proc submenu_placement*(a: var TGtkMenuShellClass): guint -proc set_submenu_placement*(a: var TGtkMenuShellClass, - `submenu_placement`: guint) -proc gtk_menu_shell_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_menu_shell_get_type".} -proc gtk_menu_shell_append*(menu_shell: PGtkMenuShell, child: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_menu_shell_append".} -proc gtk_menu_shell_prepend*(menu_shell: PGtkMenuShell, child: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_menu_shell_prepend".} -proc gtk_menu_shell_insert*(menu_shell: PGtkMenuShell, child: PGtkWidget, - position: gint){.cdecl, dynlib: gtklib, - importc: "gtk_menu_shell_insert".} -proc gtk_menu_shell_deactivate*(menu_shell: PGtkMenuShell){.cdecl, - dynlib: gtklib, importc: "gtk_menu_shell_deactivate".} -proc gtk_menu_shell_select_item*(menu_shell: PGtkMenuShell, - menu_item: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_menu_shell_select_item".} -proc gtk_menu_shell_deselect*(menu_shell: PGtkMenuShell){.cdecl, dynlib: gtklib, - importc: "gtk_menu_shell_deselect".} -proc gtk_menu_shell_activate_item*(menu_shell: PGtkMenuShell, - menu_item: PGtkWidget, - force_deactivate: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_menu_shell_activate_item".} -proc gtk_menu_shell_select_first*(menu_shell: PGtkMenuShell){.cdecl, - dynlib: gtklib, importc: "_gtk_menu_shell_select_first".} -proc gtk_menu_shell_activate*(menu_shell: PGtkMenuShell){.cdecl, - dynlib: gtklib, importc: "_gtk_menu_shell_activate".} -const - bm_TGtkMenu_needs_destruction_ref_count* = 0x00000001'i16 - bp_TGtkMenu_needs_destruction_ref_count* = 0'i16 - bm_TGtkMenu_torn_off* = 0x00000002'i16 - bp_TGtkMenu_torn_off* = 1'i16 - bm_TGtkMenu_tearoff_active* = 0x00000004'i16 - bp_TGtkMenu_tearoff_active* = 2'i16 - bm_TGtkMenu_scroll_fast* = 0x00000008'i16 - bp_TGtkMenu_scroll_fast* = 3'i16 - bm_TGtkMenu_upper_arrow_visible* = 0x00000010'i16 - bp_TGtkMenu_upper_arrow_visible* = 4'i16 - bm_TGtkMenu_lower_arrow_visible* = 0x00000020'i16 - bp_TGtkMenu_lower_arrow_visible* = 5'i16 - bm_TGtkMenu_upper_arrow_prelight* = 0x00000040'i16 - bp_TGtkMenu_upper_arrow_prelight* = 6'i16 - bm_TGtkMenu_lower_arrow_prelight* = 0x00000080'i16 - bp_TGtkMenu_lower_arrow_prelight* = 7'i16 - -proc GTK_TYPE_MENU*(): GType -proc GTK_MENU*(obj: pointer): PGtkMenu -proc GTK_MENU_CLASS*(klass: pointer): PGtkMenuClass -proc GTK_IS_MENU*(obj: pointer): bool -proc GTK_IS_MENU_CLASS*(klass: pointer): bool -proc GTK_MENU_GET_CLASS*(obj: pointer): PGtkMenuClass -proc needs_destruction_ref_count*(a: var TGtkMenu): guint -proc set_needs_destruction_ref_count*(a: var TGtkMenu, - `needs_destruction_ref_count`: guint) -proc torn_off*(a: var TGtkMenu): guint -proc set_torn_off*(a: var TGtkMenu, `torn_off`: guint) -proc tearoff_active*(a: var TGtkMenu): guint -proc set_tearoff_active*(a: var TGtkMenu, `tearoff_active`: guint) -proc scroll_fast*(a: var TGtkMenu): guint -proc set_scroll_fast*(a: var TGtkMenu, `scroll_fast`: guint) -proc upper_arrow_visible*(a: var TGtkMenu): guint -proc set_upper_arrow_visible*(a: var TGtkMenu, `upper_arrow_visible`: guint) -proc lower_arrow_visible*(a: var TGtkMenu): guint -proc set_lower_arrow_visible*(a: var TGtkMenu, `lower_arrow_visible`: guint) -proc upper_arrow_prelight*(a: var TGtkMenu): guint -proc set_upper_arrow_prelight*(a: var TGtkMenu, `upper_arrow_prelight`: guint) -proc lower_arrow_prelight*(a: var TGtkMenu): guint -proc set_lower_arrow_prelight*(a: var TGtkMenu, `lower_arrow_prelight`: guint) -proc gtk_menu_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_menu_get_type".} -proc gtk_menu_new*(): PGtkMenu {.cdecl, dynlib: gtklib, importc: "gtk_menu_new".} -proc gtk_menu_popup*(menu: PGtkMenu, parent_menu_shell: PGtkWidget, - parent_menu_item: PGtkWidget, fun: TGtkMenuPositionFunc, - data: gpointer, button: guint, activate_time: guint32){. - cdecl, dynlib: gtklib, importc: "gtk_menu_popup".} -proc gtk_menu_reposition*(menu: PGtkMenu){.cdecl, dynlib: gtklib, - importc: "gtk_menu_reposition".} -proc gtk_menu_popdown*(menu: PGtkMenu){.cdecl, dynlib: gtklib, - importc: "gtk_menu_popdown".} -proc gtk_menu_get_active*(menu: PGtkMenu): PGtkWidget{.cdecl, dynlib: gtklib, - importc: "gtk_menu_get_active".} -proc gtk_menu_set_active*(menu: PGtkMenu, index: guint){.cdecl, dynlib: gtklib, - importc: "gtk_menu_set_active".} -proc gtk_menu_set_accel_group*(menu: PGtkMenu, accel_group: PGtkAccelGroup){. - cdecl, dynlib: gtklib, importc: "gtk_menu_set_accel_group".} -proc gtk_menu_get_accel_group*(menu: PGtkMenu): PGtkAccelGroup{.cdecl, - dynlib: gtklib, importc: "gtk_menu_get_accel_group".} -proc gtk_menu_set_accel_path*(menu: PGtkMenu, accel_path: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_menu_set_accel_path".} -proc gtk_menu_attach_to_widget*(menu: PGtkMenu, attach_widget: PGtkWidget, - detacher: TGtkMenuDetachFunc){.cdecl, - dynlib: gtklib, importc: "gtk_menu_attach_to_widget".} -proc gtk_menu_detach*(menu: PGtkMenu){.cdecl, dynlib: gtklib, - importc: "gtk_menu_detach".} -proc gtk_menu_get_attach_widget*(menu: PGtkMenu): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_menu_get_attach_widget".} -proc gtk_menu_set_tearoff_state*(menu: PGtkMenu, torn_off: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_menu_set_tearoff_state".} -proc gtk_menu_get_tearoff_state*(menu: PGtkMenu): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_menu_get_tearoff_state".} -proc gtk_menu_set_title*(menu: PGtkMenu, title: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_menu_set_title".} -proc gtk_menu_get_title*(menu: PGtkMenu): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_menu_get_title".} -proc gtk_menu_reorder_child*(menu: PGtkMenu, child: PGtkWidget, position: gint){. - cdecl, dynlib: gtklib, importc: "gtk_menu_reorder_child".} -proc gtk_menu_set_screen*(menu: PGtkMenu, screen: PGdkScreen){.cdecl, - dynlib: gtklib, importc: "gtk_menu_set_screen".} -const - bm_TGtkEntry_editable* = 0x00000001'i16 - bp_TGtkEntry_editable* = 0'i16 - bm_TGtkEntry_visible* = 0x00000002'i16 - bp_TGtkEntry_visible* = 1'i16 - bm_TGtkEntry_overwrite_mode* = 0x00000004'i16 - bp_TGtkEntry_overwrite_mode* = 2'i16 - bm_TGtkEntry_in_drag* = 0x00000008'i16 - bp_TGtkEntry_in_drag* = 3'i16 - bm_TGtkEntry_cache_includes_preedit* = 0x00000001'i16 - bp_TGtkEntry_cache_includes_preedit* = 0'i16 - bm_TGtkEntry_need_im_reset* = 0x00000002'i16 - bp_TGtkEntry_need_im_reset* = 1'i16 - bm_TGtkEntry_has_frame* = 0x00000004'i16 - bp_TGtkEntry_has_frame* = 2'i16 - bm_TGtkEntry_activates_default* = 0x00000008'i16 - bp_TGtkEntry_activates_default* = 3'i16 - bm_TGtkEntry_cursor_visible* = 0x00000010'i16 - bp_TGtkEntry_cursor_visible* = 4'i16 - bm_TGtkEntry_in_click* = 0x00000020'i16 - bp_TGtkEntry_in_click* = 5'i16 - bm_TGtkEntry_is_cell_renderer* = 0x00000040'i16 - bp_TGtkEntry_is_cell_renderer* = 6'i16 - bm_TGtkEntry_editing_canceled* = 0x00000080'i16 - bp_TGtkEntry_editing_canceled* = 7'i16 - bm_TGtkEntry_mouse_cursor_obscured* = 0x00000100'i16 - bp_TGtkEntry_mouse_cursor_obscured* = 8'i16 - -proc GTK_TYPE_ENTRY*(): GType -proc GTK_ENTRY*(obj: pointer): PGtkEntry -proc GTK_ENTRY_CLASS*(klass: pointer): PGtkEntryClass -proc GTK_IS_ENTRY*(obj: pointer): bool -proc GTK_IS_ENTRY_CLASS*(klass: pointer): bool -proc GTK_ENTRY_GET_CLASS*(obj: pointer): PGtkEntryClass -proc editable*(a: var TGtkEntry): guint -proc set_editable*(a: var TGtkEntry, `editable`: guint) -proc visible*(a: var TGtkEntry): guint -proc set_visible*(a: var TGtkEntry, `visible`: guint) -proc overwrite_mode*(a: var TGtkEntry): guint -proc set_overwrite_mode*(a: var TGtkEntry, `overwrite_mode`: guint) -proc in_drag*(a: var TGtkEntry): guint -proc set_in_drag*(a: var TGtkEntry, `in_drag`: guint) -proc cache_includes_preedit*(a: var TGtkEntry): guint -proc set_cache_includes_preedit*(a: var TGtkEntry, - `cache_includes_preedit`: guint) -proc need_im_reset*(a: var TGtkEntry): guint -proc set_need_im_reset*(a: var TGtkEntry, `need_im_reset`: guint) -proc has_frame*(a: var TGtkEntry): guint -proc set_has_frame*(a: var TGtkEntry, `has_frame`: guint) -proc activates_default*(a: var TGtkEntry): guint -proc set_activates_default*(a: var TGtkEntry, `activates_default`: guint) -proc cursor_visible*(a: var TGtkEntry): guint -proc set_cursor_visible*(a: var TGtkEntry, `cursor_visible`: guint) -proc in_click*(a: var TGtkEntry): guint -proc set_in_click*(a: var TGtkEntry, `in_click`: guint) -proc is_cell_renderer*(a: var TGtkEntry): guint -proc set_is_cell_renderer*(a: var TGtkEntry, `is_cell_renderer`: guint) -proc editing_canceled*(a: var TGtkEntry): guint -proc set_editing_canceled*(a: var TGtkEntry, `editing_canceled`: guint) -proc mouse_cursor_obscured*(a: var TGtkEntry): guint -proc set_mouse_cursor_obscured*(a: var TGtkEntry, `mouse_cursor_obscured`: guint) -proc gtk_entry_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_entry_get_type".} -proc gtk_entry_new*(): PGtkEntry {.cdecl, dynlib: gtklib, - importc: "gtk_entry_new".} -proc gtk_entry_set_visibility*(entry: PGtkEntry, visible: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_entry_set_visibility".} -proc gtk_entry_get_visibility*(entry: PGtkEntry): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_entry_get_visibility".} -proc gtk_entry_set_invisible_char*(entry: PGtkEntry, ch: gunichar){.cdecl, - dynlib: gtklib, importc: "gtk_entry_set_invisible_char".} -proc gtk_entry_get_invisible_char*(entry: PGtkEntry): gunichar{.cdecl, - dynlib: gtklib, importc: "gtk_entry_get_invisible_char".} -proc gtk_entry_set_has_frame*(entry: PGtkEntry, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_entry_set_has_frame".} -proc gtk_entry_get_has_frame*(entry: PGtkEntry): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_entry_get_has_frame".} -proc gtk_entry_set_max_length*(entry: PGtkEntry, max: gint){.cdecl, - dynlib: gtklib, importc: "gtk_entry_set_max_length".} -proc gtk_entry_get_max_length*(entry: PGtkEntry): gint{.cdecl, dynlib: gtklib, - importc: "gtk_entry_get_max_length".} -proc gtk_entry_set_activates_default*(entry: PGtkEntry, setting: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_entry_set_activates_default".} -proc gtk_entry_get_activates_default*(entry: PGtkEntry): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_entry_get_activates_default".} -proc gtk_entry_set_width_chars*(entry: PGtkEntry, n_chars: gint){.cdecl, - dynlib: gtklib, importc: "gtk_entry_set_width_chars".} -proc gtk_entry_get_width_chars*(entry: PGtkEntry): gint{.cdecl, dynlib: gtklib, - importc: "gtk_entry_get_width_chars".} -proc gtk_entry_set_text*(entry: PGtkEntry, text: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_entry_set_text".} -proc gtk_entry_get_text*(entry: PGtkEntry): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_entry_get_text".} -proc gtk_entry_get_layout*(entry: PGtkEntry): PPangoLayout{.cdecl, - dynlib: gtklib, importc: "gtk_entry_get_layout".} -proc gtk_entry_get_layout_offsets*(entry: PGtkEntry, x: Pgint, y: Pgint){.cdecl, - dynlib: gtklib, importc: "gtk_entry_get_layout_offsets".} -const - GTK_ANCHOR_CENTER* = 0 - GTK_ANCHOR_NORTH* = 1 - GTK_ANCHOR_NORTH_WEST* = 2 - GTK_ANCHOR_NORTH_EAST* = 3 - GTK_ANCHOR_SOUTH* = 4 - GTK_ANCHOR_SOUTH_WEST* = 5 - GTK_ANCHOR_SOUTH_EAST* = 6 - GTK_ANCHOR_WEST* = 7 - GTK_ANCHOR_EAST* = 8 - GTK_ANCHOR_N* = GTK_ANCHOR_NORTH - GTK_ANCHOR_NW* = GTK_ANCHOR_NORTH_WEST - GTK_ANCHOR_NE* = GTK_ANCHOR_NORTH_EAST - GTK_ANCHOR_S* = GTK_ANCHOR_SOUTH - GTK_ANCHOR_SW* = GTK_ANCHOR_SOUTH_WEST - GTK_ANCHOR_SE* = GTK_ANCHOR_SOUTH_EAST - GTK_ANCHOR_W* = GTK_ANCHOR_WEST - GTK_ANCHOR_E* = GTK_ANCHOR_EAST - GTK_ARROW_UP* = 0 - GTK_ARROW_DOWN* = 1 - GTK_ARROW_LEFT* = 2 - GTK_ARROW_RIGHT* = 3 - GTK_EXPAND* = 1 shl 0 - GTK_SHRINK* = 1 shl 1 - GTK_FILL* = 1 shl 2 - GTK_BUTTONBOX_DEFAULT_STYLE* = 0 - GTK_BUTTONBOX_SPREAD* = 1 - GTK_BUTTONBOX_EDGE* = 2 - GTK_BUTTONBOX_START* = 3 - GTK_BUTTONBOX_END* = 4 - GTK_CURVE_TYPE_LINEAR* = 0 - GTK_CURVE_TYPE_SPLINE* = 1 - GTK_CURVE_TYPE_FREE* = 2 - GTK_DELETE_CHARS* = 0 - GTK_DELETE_WORD_ENDS* = 1 - GTK_DELETE_WORDS* = 2 - GTK_DELETE_DISPLAY_LINES* = 3 - GTK_DELETE_DISPLAY_LINE_ENDS* = 4 - GTK_DELETE_PARAGRAPH_ENDS* = 5 - GTK_DELETE_PARAGRAPHS* = 6 - GTK_DELETE_WHITESPACE* = 7 - GTK_DIR_TAB_FORWARD* = 0 - GTK_DIR_TAB_BACKWARD* = 1 - GTK_DIR_UP* = 2 - GTK_DIR_DOWN* = 3 - GTK_DIR_LEFT* = 4 - GTK_DIR_RIGHT* = 5 - GTK_EXPANDER_COLLAPSED* = 0 - GTK_EXPANDER_SEMI_COLLAPSED* = 1 - GTK_EXPANDER_SEMI_EXPANDED* = 2 - GTK_EXPANDER_EXPANDED* = 3 - GTK_ICON_SIZE_INVALID* = 0 - GTK_ICON_SIZE_MENU* = 1 - GTK_ICON_SIZE_SMALL_TOOLBAR* = 2 - GTK_ICON_SIZE_LARGE_TOOLBAR* = 3 - GTK_ICON_SIZE_BUTTON* = 4 - GTK_ICON_SIZE_DND* = 5 - GTK_ICON_SIZE_DIALOG* = 6 - GTK_TEXT_DIR_NONE* = 0 - GTK_TEXT_DIR_LTR* = 1 - GTK_TEXT_DIR_RTL* = 2 - GTK_JUSTIFY_LEFT* = 0 - GTK_JUSTIFY_RIGHT* = 1 - GTK_JUSTIFY_CENTER* = 2 - GTK_JUSTIFY_FILL* = 3 - GTK_MENU_DIR_PARENT* = 0 - GTK_MENU_DIR_CHILD* = 1 - GTK_MENU_DIR_NEXT* = 2 - GTK_MENU_DIR_PREV* = 3 - GTK_PIXELS* = 0 - GTK_INCHES* = 1 - GTK_CENTIMETERS* = 2 - GTK_MOVEMENT_LOGICAL_POSITIONS* = 0 - GTK_MOVEMENT_VISUAL_POSITIONS* = 1 - GTK_MOVEMENT_WORDS* = 2 - GTK_MOVEMENT_DISPLAY_LINES* = 3 - GTK_MOVEMENT_DISPLAY_LINE_ENDS* = 4 - GTK_MOVEMENT_PARAGRAPHS* = 5 - GTK_MOVEMENT_PARAGRAPH_ENDS* = 6 - GTK_MOVEMENT_PAGES* = 7 - GTK_MOVEMENT_BUFFER_ENDS* = 8 - GTK_ORIENTATION_HORIZONTAL* = 0 - GTK_ORIENTATION_VERTICAL* = 1 - GTK_CORNER_TOP_LEFT* = 0 - GTK_CORNER_BOTTOM_LEFT* = 1 - GTK_CORNER_TOP_RIGHT* = 2 - GTK_CORNER_BOTTOM_RIGHT* = 3 - GTK_PACK_START* = 0 - GTK_PACK_END* = 1 - GTK_PATH_PRIO_LOWEST* = 0 - GTK_PATH_PRIO_GTK* = 4 - GTK_PATH_PRIO_APPLICATION* = 8 - GTK_PATH_PRIO_THEME* = 10 - GTK_PATH_PRIO_RC* = 12 - GTK_PATH_PRIO_HIGHEST* = 15 - GTK_PATH_WIDGET* = 0 - GTK_PATH_WIDGET_CLASS* = 1 - GTK_PATH_CLASS* = 2 - GTK_POLICY_ALWAYS* = 0 - GTK_POLICY_AUTOMATIC* = 1 - GTK_POLICY_NEVER* = 2 - GTK_POS_LEFT* = 0 - GTK_POS_RIGHT* = 1 - GTK_POS_TOP* = 2 - GTK_POS_BOTTOM* = 3 - GTK_PREVIEW_COLOR* = 0 - GTK_PREVIEW_GRAYSCALE* = 1 - GTK_RELIEF_NORMAL* = 0 - GTK_RELIEF_HALF* = 1 - GTK_RELIEF_NONE* = 2 - GTK_RESIZE_PARENT* = 0 - GTK_RESIZE_QUEUE* = 1 - GTK_RESIZE_IMMEDIATE* = 2 - GTK_SCROLL_NONE* = 0 - GTK_SCROLL_JUMP* = 1 - GTK_SCROLL_STEP_BACKWARD* = 2 - GTK_SCROLL_STEP_FORWARD* = 3 - GTK_SCROLL_PAGE_BACKWARD* = 4 - GTK_SCROLL_PAGE_FORWARD* = 5 - GTK_SCROLL_STEP_UP* = 6 - GTK_SCROLL_STEP_DOWN* = 7 - GTK_SCROLL_PAGE_UP* = 8 - GTK_SCROLL_PAGE_DOWN* = 9 - GTK_SCROLL_STEP_LEFT* = 10 - GTK_SCROLL_STEP_RIGHT* = 11 - GTK_SCROLL_PAGE_LEFT* = 12 - GTK_SCROLL_PAGE_RIGHT* = 13 - GTK_SCROLL_START* = 14 - GTK_SCROLL_END* = 15 - GTK_SELECTION_NONE* = 0 - GTK_SELECTION_SINGLE* = 1 - GTK_SELECTION_BROWSE* = 2 - GTK_SELECTION_MULTIPLE* = 3 - GTK_SELECTION_EXTENDED* = GTK_SELECTION_MULTIPLE - GTK_SHADOW_NONE* = 0 - GTK_SHADOW_IN* = 1 - GTK_SHADOW_OUT* = 2 - GTK_SHADOW_ETCHED_IN* = 3 - GTK_SHADOW_ETCHED_OUT* = 4 - GTK_STATE_NORMAL* = 0 - GTK_STATE_ACTIVE* = 1 - GTK_STATE_PRELIGHT* = 2 - GTK_STATE_SELECTED* = 3 - GTK_STATE_INSENSITIVE* = 4 - GTK_DIRECTION_LEFT* = 0 - GTK_DIRECTION_RIGHT* = 1 - GTK_TOP_BOTTOM* = 0 - GTK_LEFT_RIGHT* = 1 - GTK_TOOLBAR_ICONS* = 0 - GTK_TOOLBAR_TEXT* = 1 - GTK_TOOLBAR_BOTH* = 2 - GTK_TOOLBAR_BOTH_HORIZ* = 3 - GTK_UPDATE_CONTINUOUS* = 0 - GTK_UPDATE_DISCONTINUOUS* = 1 - GTK_UPDATE_DELAYED* = 2 - GTK_VISIBILITY_NONE* = 0 - GTK_VISIBILITY_PARTIAL* = 1 - GTK_VISIBILITY_FULL* = 2 - GTK_WIN_POS_NONE* = 0 - GTK_WIN_POS_CENTER* = 1 - GTK_WIN_POS_MOUSE* = 2 - GTK_WIN_POS_CENTER_ALWAYS* = 3 - GTK_WIN_POS_CENTER_ON_PARENT* = 4 - GTK_WINDOW_TOPLEVEL* = 0 - GTK_WINDOW_POPUP* = 1 - GTK_WRAP_NONE* = 0 - GTK_WRAP_CHAR* = 1 - GTK_WRAP_WORD* = 2 - GTK_SORT_ASCENDING* = 0 - GTK_SORT_DESCENDING* = 1 - -proc GTK_TYPE_EVENT_BOX*(): GType -proc GTK_EVENT_BOX*(obj: pointer): PGtkEventBox -proc GTK_EVENT_BOX_CLASS*(klass: pointer): PGtkEventBoxClass -proc GTK_IS_EVENT_BOX*(obj: pointer): bool -proc GTK_IS_EVENT_BOX_CLASS*(klass: pointer): bool -proc GTK_EVENT_BOX_GET_CLASS*(obj: pointer): PGtkEventBoxClass -proc gtk_event_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_event_box_get_type".} -proc gtk_event_box_new*(): PGtkEventBox {.cdecl, dynlib: gtklib, - importc: "gtk_event_box_new".} -const - FNM_PATHNAME* = 1 shl 0 - FNM_NOESCAPE* = 1 shl 1 - FNM_PERIOD* = 1 shl 2 - -const - FNM_FILE_NAME* = FNM_PATHNAME - FNM_LEADING_DIR* = 1 shl 3 - FNM_CASEFOLD* = 1 shl 4 - -const - FNM_NOMATCH* = 1 - -proc fnmatch*(`pattern`: char, `string`: char, `flags`: gint): gint{.cdecl, - dynlib: gtklib, importc: "fnmatch".} -proc GTK_TYPE_FILE_SELECTION*(): GType -proc GTK_FILE_SELECTION*(obj: pointer): PGtkFileSelection -proc GTK_FILE_SELECTION_CLASS*(klass: pointer): PGtkFileSelectionClass -proc GTK_IS_FILE_SELECTION*(obj: pointer): bool -proc GTK_IS_FILE_SELECTION_CLASS*(klass: pointer): bool -proc GTK_FILE_SELECTION_GET_CLASS*(obj: pointer): PGtkFileSelectionClass -proc gtk_file_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_file_selection_get_type".} -proc gtk_file_selection_new*(title: cstring): PGtkFileSelection {.cdecl, dynlib: gtklib, - importc: "gtk_file_selection_new".} -proc gtk_file_selection_set_filename*(filesel: PGtkFileSelection, - filename: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_file_selection_set_filename".} -proc gtk_file_selection_get_filename*(filesel: PGtkFileSelection): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_file_selection_get_filename".} -proc gtk_file_selection_complete*(filesel: PGtkFileSelection, pattern: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_file_selection_complete".} -proc gtk_file_selection_show_fileop_buttons*(filesel: PGtkFileSelection){.cdecl, - dynlib: gtklib, importc: "gtk_file_selection_show_fileop_buttons".} -proc gtk_file_selection_hide_fileop_buttons*(filesel: PGtkFileSelection){.cdecl, - dynlib: gtklib, importc: "gtk_file_selection_hide_fileop_buttons".} -proc gtk_file_selection_get_selections*(filesel: PGtkFileSelection): PPgchar{. - cdecl, dynlib: gtklib, importc: "gtk_file_selection_get_selections".} -proc gtk_file_selection_set_select_multiple*(filesel: PGtkFileSelection, - select_multiple: gboolean){.cdecl, dynlib: gtklib, importc: "gtk_file_selection_set_select_multiple".} -proc gtk_file_selection_get_select_multiple*(filesel: PGtkFileSelection): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_selection_get_select_multiple".} -proc GTK_TYPE_FIXED*(): GType -proc GTK_FIXED*(obj: pointer): PGtkFixed -proc GTK_FIXED_CLASS*(klass: pointer): PGtkFixedClass -proc GTK_IS_FIXED*(obj: pointer): bool -proc GTK_IS_FIXED_CLASS*(klass: pointer): bool -proc GTK_FIXED_GET_CLASS*(obj: pointer): PGtkFixedClass -proc gtk_fixed_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_fixed_get_type".} -proc gtk_fixed_new*(): PGtkFixed {.cdecl, dynlib: gtklib, - importc: "gtk_fixed_new".} -proc gtk_fixed_put*(fixed: PGtkFixed, widget: PGtkWidget, x: gint, y: gint){. - cdecl, dynlib: gtklib, importc: "gtk_fixed_put".} -proc gtk_fixed_move*(fixed: PGtkFixed, widget: PGtkWidget, x: gint, y: gint){. - cdecl, dynlib: gtklib, importc: "gtk_fixed_move".} -proc gtk_fixed_set_has_window*(fixed: PGtkFixed, has_window: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_fixed_set_has_window".} -proc gtk_fixed_get_has_window*(fixed: PGtkFixed): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_fixed_get_has_window".} -proc GTK_TYPE_FONT_SELECTION*(): GType -proc GTK_FONT_SELECTION*(obj: pointer): PGtkFontSelection -proc GTK_FONT_SELECTION_CLASS*(klass: pointer): PGtkFontSelectionClass -proc GTK_IS_FONT_SELECTION*(obj: pointer): bool -proc GTK_IS_FONT_SELECTION_CLASS*(klass: pointer): bool -proc GTK_FONT_SELECTION_GET_CLASS*(obj: pointer): PGtkFontSelectionClass -proc GTK_TYPE_FONT_SELECTION_DIALOG*(): GType -proc GTK_FONT_SELECTION_DIALOG*(obj: pointer): PGtkFontSelectionDialog -proc GTK_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkFontSelectionDialogClass -proc GTK_IS_FONT_SELECTION_DIALOG*(obj: pointer): bool -proc GTK_IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool -proc GTK_FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkFontSelectionDialogClass -proc gtk_font_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_font_selection_get_type".} -proc gtk_font_selection_new*(): PGtkFontSelection{.cdecl, dynlib: gtklib, - importc: "gtk_font_selection_new".} -proc gtk_font_selection_get_font_name*(fontsel: PGtkFontSelection): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_font_selection_get_font_name".} -proc gtk_font_selection_set_font_name*(fontsel: PGtkFontSelection, - fontname: cstring): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_font_selection_set_font_name".} -proc gtk_font_selection_get_preview_text*(fontsel: PGtkFontSelection): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_font_selection_get_preview_text".} -proc gtk_font_selection_set_preview_text*(fontsel: PGtkFontSelection, - text: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_font_selection_set_preview_text".} -proc gtk_font_selection_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_font_selection_dialog_get_type".} -proc gtk_font_selection_dialog_new*(title: cstring): PGtkFontSelectionDialog{.cdecl, - dynlib: gtklib, importc: "gtk_font_selection_dialog_new".} -proc gtk_font_selection_dialog_get_font_name*(fsd: PGtkFontSelectionDialog): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_font_selection_dialog_get_font_name".} -proc gtk_font_selection_dialog_set_font_name*(fsd: PGtkFontSelectionDialog, - fontname: cstring): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_font_selection_dialog_set_font_name".} -proc gtk_font_selection_dialog_get_preview_text*(fsd: PGtkFontSelectionDialog): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_font_selection_dialog_get_preview_text".} -proc gtk_font_selection_dialog_set_preview_text*(fsd: PGtkFontSelectionDialog, - text: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_font_selection_dialog_set_preview_text".} -proc GTK_TYPE_GAMMA_CURVE*(): GType -proc GTK_GAMMA_CURVE*(obj: pointer): PGtkGammaCurve -proc GTK_GAMMA_CURVE_CLASS*(klass: pointer): PGtkGammaCurveClass -proc GTK_IS_GAMMA_CURVE*(obj: pointer): bool -proc GTK_IS_GAMMA_CURVE_CLASS*(klass: pointer): bool -proc GTK_GAMMA_CURVE_GET_CLASS*(obj: pointer): PGtkGammaCurveClass -proc gtk_gamma_curve_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_gamma_curve_get_type".} -proc gtk_gamma_curve_new*(): PGtkGammaCurve{.cdecl, dynlib: gtklib, - importc: "gtk_gamma_curve_new".} -proc gtk_gc_get*(depth: gint, colormap: PGdkColormap, values: PGdkGCValues, - values_mask: TGdkGCValuesMask): PGdkGC{.cdecl, dynlib: gtklib, - importc: "gtk_gc_get".} -proc gtk_gc_release*(gc: PGdkGC){.cdecl, dynlib: gtklib, - importc: "gtk_gc_release".} -const - bm_TGtkHandleBox_handle_position* = 0x00000003'i16 - bp_TGtkHandleBox_handle_position* = 0'i16 - bm_TGtkHandleBox_float_window_mapped* = 0x00000004'i16 - bp_TGtkHandleBox_float_window_mapped* = 2'i16 - bm_TGtkHandleBox_child_detached* = 0x00000008'i16 - bp_TGtkHandleBox_child_detached* = 3'i16 - bm_TGtkHandleBox_in_drag* = 0x00000010'i16 - bp_TGtkHandleBox_in_drag* = 4'i16 - bm_TGtkHandleBox_shrink_on_detach* = 0x00000020'i16 - bp_TGtkHandleBox_shrink_on_detach* = 5'i16 - bm_TGtkHandleBox_snap_edge* = 0x000001C0'i16 - bp_TGtkHandleBox_snap_edge* = 6'i16 - -proc GTK_TYPE_HANDLE_BOX*(): GType -proc GTK_HANDLE_BOX*(obj: pointer): PGtkHandleBox -proc GTK_HANDLE_BOX_CLASS*(klass: pointer): PGtkHandleBoxClass -proc GTK_IS_HANDLE_BOX*(obj: pointer): bool -proc GTK_IS_HANDLE_BOX_CLASS*(klass: pointer): bool -proc GTK_HANDLE_BOX_GET_CLASS*(obj: pointer): PGtkHandleBoxClass -proc handle_position*(a: var TGtkHandleBox): guint -proc set_handle_position*(a: var TGtkHandleBox, `handle_position`: guint) -proc float_window_mapped*(a: var TGtkHandleBox): guint -proc set_float_window_mapped*(a: var TGtkHandleBox, `float_window_mapped`: guint) -proc child_detached*(a: var TGtkHandleBox): guint -proc set_child_detached*(a: var TGtkHandleBox, `child_detached`: guint) -proc in_drag*(a: var TGtkHandleBox): guint -proc set_in_drag*(a: var TGtkHandleBox, `in_drag`: guint) -proc shrink_on_detach*(a: var TGtkHandleBox): guint -proc set_shrink_on_detach*(a: var TGtkHandleBox, `shrink_on_detach`: guint) -proc snap_edge*(a: var TGtkHandleBox): gint -proc set_snap_edge*(a: var TGtkHandleBox, `snap_edge`: gint) -proc gtk_handle_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_handle_box_get_type".} -proc gtk_handle_box_new*(): PGtkHandleBox{.cdecl, dynlib: gtklib, - importc: "gtk_handle_box_new".} -proc gtk_handle_box_set_shadow_type*(handle_box: PGtkHandleBox, - thetype: TGtkShadowType){.cdecl, - dynlib: gtklib, importc: "gtk_handle_box_set_shadow_type".} -proc gtk_handle_box_get_shadow_type*(handle_box: PGtkHandleBox): TGtkShadowType{. - cdecl, dynlib: gtklib, importc: "gtk_handle_box_get_shadow_type".} -proc gtk_handle_box_set_handle_position*(handle_box: PGtkHandleBox, - position: TGtkPositionType){.cdecl, dynlib: gtklib, - importc: "gtk_handle_box_set_handle_position".} -proc gtk_handle_box_get_handle_position*(handle_box: PGtkHandleBox): TGtkPositionType{. - cdecl, dynlib: gtklib, importc: "gtk_handle_box_get_handle_position".} -proc gtk_handle_box_set_snap_edge*(handle_box: PGtkHandleBox, - edge: TGtkPositionType){.cdecl, - dynlib: gtklib, importc: "gtk_handle_box_set_snap_edge".} -proc gtk_handle_box_get_snap_edge*(handle_box: PGtkHandleBox): TGtkPositionType{. - cdecl, dynlib: gtklib, importc: "gtk_handle_box_get_snap_edge".} -const - bm_TGtkPaned_position_set* = 0x00000001'i16 - bp_TGtkPaned_position_set* = 0'i16 - bm_TGtkPaned_in_drag* = 0x00000002'i16 - bp_TGtkPaned_in_drag* = 1'i16 - bm_TGtkPaned_child1_shrink* = 0x00000004'i16 - bp_TGtkPaned_child1_shrink* = 2'i16 - bm_TGtkPaned_child1_resize* = 0x00000008'i16 - bp_TGtkPaned_child1_resize* = 3'i16 - bm_TGtkPaned_child2_shrink* = 0x00000010'i16 - bp_TGtkPaned_child2_shrink* = 4'i16 - bm_TGtkPaned_child2_resize* = 0x00000020'i16 - bp_TGtkPaned_child2_resize* = 5'i16 - bm_TGtkPaned_orientation* = 0x00000040'i16 - bp_TGtkPaned_orientation* = 6'i16 - bm_TGtkPaned_in_recursion* = 0x00000080'i16 - bp_TGtkPaned_in_recursion* = 7'i16 - bm_TGtkPaned_handle_prelit* = 0x00000100'i16 - bp_TGtkPaned_handle_prelit* = 8'i16 - -proc GTK_TYPE_PANED*(): GType -proc GTK_PANED*(obj: pointer): PGtkPaned -proc GTK_PANED_CLASS*(klass: pointer): PGtkPanedClass -proc GTK_IS_PANED*(obj: pointer): bool -proc GTK_IS_PANED_CLASS*(klass: pointer): bool -proc GTK_PANED_GET_CLASS*(obj: pointer): PGtkPanedClass -proc position_set*(a: var TGtkPaned): guint -proc set_position_set*(a: var TGtkPaned, `position_set`: guint) -proc in_drag*(a: var TGtkPaned): guint -proc set_in_drag*(a: var TGtkPaned, `in_drag`: guint) -proc child1_shrink*(a: var TGtkPaned): guint -proc set_child1_shrink*(a: var TGtkPaned, `child1_shrink`: guint) -proc child1_resize*(a: var TGtkPaned): guint -proc set_child1_resize*(a: var TGtkPaned, `child1_resize`: guint) -proc child2_shrink*(a: var TGtkPaned): guint -proc set_child2_shrink*(a: var TGtkPaned, `child2_shrink`: guint) -proc child2_resize*(a: var TGtkPaned): guint -proc set_child2_resize*(a: var TGtkPaned, `child2_resize`: guint) -proc orientation*(a: var TGtkPaned): guint -proc set_orientation*(a: var TGtkPaned, `orientation`: guint) -proc in_recursion*(a: var TGtkPaned): guint -proc set_in_recursion*(a: var TGtkPaned, `in_recursion`: guint) -proc handle_prelit*(a: var TGtkPaned): guint -proc set_handle_prelit*(a: var TGtkPaned, `handle_prelit`: guint) -proc gtk_paned_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_paned_get_type".} -proc gtk_paned_add1*(paned: PGtkPaned, child: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_paned_add1".} -proc gtk_paned_add2*(paned: PGtkPaned, child: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_paned_add2".} -proc gtk_paned_pack1*(paned: PGtkPaned, child: PGtkWidget, resize: gboolean, - shrink: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_paned_pack1".} -proc gtk_paned_pack2*(paned: PGtkPaned, child: PGtkWidget, resize: gboolean, - shrink: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_paned_pack2".} -proc gtk_paned_get_position*(paned: PGtkPaned): gint{.cdecl, dynlib: gtklib, - importc: "gtk_paned_get_position".} -proc gtk_paned_set_position*(paned: PGtkPaned, position: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paned_set_position".} -proc gtk_paned_compute_position*(paned: PGtkPaned, allocation: gint, - child1_req: gint, child2_req: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paned_compute_position".} -proc GTK_TYPE_HBUTTON_BOX*(): GType -proc GTK_HBUTTON_BOX*(obj: pointer): PGtkHButtonBox -proc GTK_HBUTTON_BOX_CLASS*(klass: pointer): PGtkHButtonBoxClass -proc GTK_IS_HBUTTON_BOX*(obj: pointer): bool -proc GTK_IS_HBUTTON_BOX_CLASS*(klass: pointer): bool -proc GTK_HBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkHButtonBoxClass -proc gtk_hbutton_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_hbutton_box_get_type".} -proc gtk_hbutton_box_new*(): PGtkHButtonBox{.cdecl, dynlib: gtklib, - importc: "gtk_hbutton_box_new".} -proc GTK_TYPE_HPANED*(): GType -proc GTK_HPANED*(obj: pointer): PGtkHPaned -proc GTK_HPANED_CLASS*(klass: pointer): PGtkHPanedClass -proc GTK_IS_HPANED*(obj: pointer): bool -proc GTK_IS_HPANED_CLASS*(klass: pointer): bool -proc GTK_HPANED_GET_CLASS*(obj: pointer): PGtkHPanedClass -proc gtk_hpaned_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_hpaned_get_type".} -proc gtk_hpaned_new*(): PGtkHPaned{.cdecl, dynlib: gtklib, - importc: "gtk_hpaned_new".} -proc GTK_TYPE_RULER*(): GType -proc GTK_RULER*(obj: pointer): PGtkRuler -proc GTK_RULER_CLASS*(klass: pointer): PGtkRulerClass -proc GTK_IS_RULER*(obj: pointer): bool -proc GTK_IS_RULER_CLASS*(klass: pointer): bool -proc GTK_RULER_GET_CLASS*(obj: pointer): PGtkRulerClass -proc gtk_ruler_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_ruler_get_type".} -proc gtk_ruler_set_metric*(ruler: PGtkRuler, metric: TGtkMetricType){.cdecl, - dynlib: gtklib, importc: "gtk_ruler_set_metric".} -proc gtk_ruler_set_range*(ruler: PGtkRuler, lower: gdouble, upper: gdouble, - position: gdouble, max_size: gdouble){.cdecl, - dynlib: gtklib, importc: "gtk_ruler_set_range".} -proc gtk_ruler_draw_ticks*(ruler: PGtkRuler){.cdecl, dynlib: gtklib, - importc: "gtk_ruler_draw_ticks".} -proc gtk_ruler_draw_pos*(ruler: PGtkRuler){.cdecl, dynlib: gtklib, - importc: "gtk_ruler_draw_pos".} -proc gtk_ruler_get_metric*(ruler: PGtkRuler): TGtkMetricType{.cdecl, - dynlib: gtklib, importc: "gtk_ruler_get_metric".} -proc gtk_ruler_get_range*(ruler: PGtkRuler, lower: Pgdouble, upper: Pgdouble, - position: Pgdouble, max_size: Pgdouble){.cdecl, - dynlib: gtklib, importc: "gtk_ruler_get_range".} -proc GTK_TYPE_HRULER*(): GType -proc GTK_HRULER*(obj: pointer): PGtkHRuler -proc GTK_HRULER_CLASS*(klass: pointer): PGtkHRulerClass -proc GTK_IS_HRULER*(obj: pointer): bool -proc GTK_IS_HRULER_CLASS*(klass: pointer): bool -proc GTK_HRULER_GET_CLASS*(obj: pointer): PGtkHRulerClass -proc gtk_hruler_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_hruler_get_type".} -proc gtk_hruler_new*(): PGtkHRuler{.cdecl, dynlib: gtklib, - importc: "gtk_hruler_new".} -proc GTK_TYPE_SETTINGS*(): GType -proc GTK_SETTINGS*(obj: pointer): PGtkSettings -proc GTK_SETTINGS_CLASS*(klass: pointer): PGtkSettingsClass -proc GTK_IS_SETTINGS*(obj: pointer): bool -proc GTK_IS_SETTINGS_CLASS*(klass: pointer): bool -proc GTK_SETTINGS_GET_CLASS*(obj: pointer): PGtkSettingsClass -proc gtk_settings_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_settings_get_type".} -proc gtk_settings_get_for_screen*(screen: PGdkScreen): PGtkSettings{.cdecl, - dynlib: gtklib, importc: "gtk_settings_get_for_screen".} -proc gtk_settings_install_property*(pspec: PGParamSpec){.cdecl, dynlib: gtklib, - importc: "gtk_settings_install_property".} -proc gtk_settings_install_property_parser*(pspec: PGParamSpec, - parser: TGtkRcPropertyParser){.cdecl, dynlib: gtklib, importc: "gtk_settings_install_property_parser".} -proc gtk_rc_property_parse_color*(pspec: PGParamSpec, gstring: PGString, - property_value: PGValue): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_rc_property_parse_color".} -proc gtk_rc_property_parse_enum*(pspec: PGParamSpec, gstring: PGString, - property_value: PGValue): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_rc_property_parse_enum".} -proc gtk_rc_property_parse_flags*(pspec: PGParamSpec, gstring: PGString, - property_value: PGValue): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_rc_property_parse_flags".} -proc gtk_rc_property_parse_requisition*(pspec: PGParamSpec, gstring: PGString, - property_value: PGValue): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_rc_property_parse_requisition".} -proc gtk_rc_property_parse_border*(pspec: PGParamSpec, gstring: PGString, - property_value: PGValue): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_rc_property_parse_border".} -proc gtk_settings_set_property_value*(settings: PGtkSettings, name: cstring, - svalue: PGtkSettingsValue){.cdecl, - dynlib: gtklib, importc: "gtk_settings_set_property_value".} -proc gtk_settings_set_string_property*(settings: PGtkSettings, name: cstring, - v_string: cstring, origin: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_settings_set_string_property".} -proc gtk_settings_set_long_property*(settings: PGtkSettings, name: cstring, - v_long: glong, origin: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_settings_set_long_property".} -proc gtk_settings_set_double_property*(settings: PGtkSettings, name: cstring, - v_double: gdouble, origin: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_settings_set_double_property".} -proc gtk_settings_handle_event*(event: PGdkEventSetting){.cdecl, - dynlib: gtklib, importc: "_gtk_settings_handle_event".} -proc gtk_rc_property_parser_from_type*(thetype: GType): TGtkRcPropertyParser{. - cdecl, dynlib: gtklib, importc: "_gtk_rc_property_parser_from_type".} -proc gtk_settings_parse_convert*(parser: TGtkRcPropertyParser, - src_value: PGValue, pspec: PGParamSpec, - dest_value: PGValue): gboolean{.cdecl, - dynlib: gtklib, importc: "_gtk_settings_parse_convert".} -const - GTK_RC_FG* = 1 shl 0 - GTK_RC_BG* = 1 shl 1 - GTK_RC_TEXT* = 1 shl 2 - GTK_RC_BASE* = 1 shl 3 - bm_TGtkRcStyle_engine_specified* = 0x00000001'i16 - bp_TGtkRcStyle_engine_specified* = 0'i16 - -proc GTK_TYPE_RC_STYLE*(): GType -proc GTK_RC_STYLE_get*(anObject: pointer): PGtkRcStyle -proc GTK_RC_STYLE_CLASS*(klass: pointer): PGtkRcStyleClass -proc GTK_IS_RC_STYLE*(anObject: pointer): bool -proc GTK_IS_RC_STYLE_CLASS*(klass: pointer): bool -proc GTK_RC_STYLE_GET_CLASS*(obj: pointer): PGtkRcStyleClass -proc engine_specified*(a: var TGtkRcStyle): guint -proc set_engine_specified*(a: var TGtkRcStyle, `engine_specified`: guint) -proc gtk_rc_init*(){.cdecl, dynlib: gtklib, importc: "_gtk_rc_init".} -proc gtk_rc_add_default_file*(filename: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_rc_add_default_file".} -proc gtk_rc_set_default_files*(filenames: PPgchar){.cdecl, dynlib: gtklib, - importc: "gtk_rc_set_default_files".} -proc gtk_rc_get_default_files*(): PPgchar{.cdecl, dynlib: gtklib, - importc: "gtk_rc_get_default_files".} -proc gtk_rc_get_style*(widget: PGtkWidget): PGtkStyle{.cdecl, dynlib: gtklib, - importc: "gtk_rc_get_style".} -proc gtk_rc_get_style_by_paths*(settings: PGtkSettings, widget_path: cstring, - class_path: cstring, thetype: GType): PGtkStyle{. - cdecl, dynlib: gtklib, importc: "gtk_rc_get_style_by_paths".} -proc gtk_rc_reparse_all_for_settings*(settings: PGtkSettings, - force_load: gboolean): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_rc_reparse_all_for_settings".} -proc gtk_rc_find_pixmap_in_path*(settings: PGtkSettings, scanner: PGScanner, - pixmap_file: cstring): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_rc_find_pixmap_in_path".} -proc gtk_rc_parse*(filename: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_rc_parse".} -proc gtk_rc_parse_string*(rc_string: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_rc_parse_string".} -proc gtk_rc_reparse_all*(): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_rc_reparse_all".} -proc gtk_rc_style_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_rc_style_get_type".} -proc gtk_rc_style_new*(): PGtkRcStyle{.cdecl, dynlib: gtklib, - importc: "gtk_rc_style_new".} -proc gtk_rc_style_copy*(orig: PGtkRcStyle): PGtkRcStyle{.cdecl, dynlib: gtklib, - importc: "gtk_rc_style_copy".} -proc gtk_rc_style_ref*(rc_style: PGtkRcStyle){.cdecl, dynlib: gtklib, - importc: "gtk_rc_style_ref".} -proc gtk_rc_style_unref*(rc_style: PGtkRcStyle){.cdecl, dynlib: gtklib, - importc: "gtk_rc_style_unref".} -proc gtk_rc_find_module_in_path*(module_file: cstring): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_rc_find_module_in_path".} -proc gtk_rc_get_theme_dir*(): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_rc_get_theme_dir".} -proc gtk_rc_get_module_dir*(): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_rc_get_module_dir".} -proc gtk_rc_get_im_module_path*(): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_rc_get_im_module_path".} -proc gtk_rc_get_im_module_file*(): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_rc_get_im_module_file".} -proc gtk_rc_scanner_new*(): PGScanner{.cdecl, dynlib: gtklib, - importc: "gtk_rc_scanner_new".} -proc gtk_rc_parse_color*(scanner: PGScanner, color: PGdkColor): guint{.cdecl, - dynlib: gtklib, importc: "gtk_rc_parse_color".} -proc gtk_rc_parse_state*(scanner: PGScanner, state: PGtkStateType): guint{. - cdecl, dynlib: gtklib, importc: "gtk_rc_parse_state".} -proc gtk_rc_parse_priority*(scanner: PGScanner, priority: PGtkPathPriorityType): guint{. - cdecl, dynlib: gtklib, importc: "gtk_rc_parse_priority".} -proc gtk_rc_style_lookup_rc_property*(rc_style: PGtkRcStyle, - type_name: TGQuark, - property_name: TGQuark): PGtkRcProperty{. - cdecl, dynlib: gtklib, importc: "_gtk_rc_style_lookup_rc_property".} -proc gtk_rc_context_get_default_font_name*(settings: PGtkSettings): cstring{. - cdecl, dynlib: gtklib, importc: "_gtk_rc_context_get_default_font_name".} -proc GTK_TYPE_STYLE*(): GType -proc GTK_STYLE*(anObject: pointer): PGtkStyle -proc GTK_STYLE_CLASS*(klass: pointer): PGtkStyleClass -proc GTK_IS_STYLE*(anObject: pointer): bool -proc GTK_IS_STYLE_CLASS*(klass: pointer): bool -proc GTK_STYLE_GET_CLASS*(obj: pointer): PGtkStyleClass -proc GTK_TYPE_BORDER*(): GType -proc GTK_STYLE_ATTACHED*(style: pointer): bool -proc gtk_style_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_style_get_type".} -proc gtk_style_new*(): PGtkStyle{.cdecl, dynlib: gtklib, - importc: "gtk_style_new".} -proc gtk_style_copy*(style: PGtkStyle): PGtkStyle{.cdecl, dynlib: gtklib, - importc: "gtk_style_copy".} -proc gtk_style_attach*(style: PGtkStyle, window: PGdkWindow): PGtkStyle{.cdecl, - dynlib: gtklib, importc: "gtk_style_attach".} -proc gtk_style_detach*(style: PGtkStyle){.cdecl, dynlib: gtklib, - importc: "gtk_style_detach".} -proc gtk_style_set_background*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType){.cdecl, - dynlib: gtklib, importc: "gtk_style_set_background".} -proc gtk_style_apply_default_background*(style: PGtkStyle, window: PGdkWindow, - set_bg: gboolean, state_type: TGtkStateType, area: PGdkRectangle, x: gint, - y: gint, width: gint, height: gint){.cdecl, dynlib: gtklib, - importc: "gtk_style_apply_default_background".} -proc gtk_style_lookup_icon_set*(style: PGtkStyle, stock_id: cstring): PGtkIconSet{. - cdecl, dynlib: gtklib, importc: "gtk_style_lookup_icon_set".} -proc gtk_style_render_icon*(style: PGtkStyle, source: PGtkIconSource, - direction: TGtkTextDirection, state: TGtkStateType, - size: TGtkIconSize, widget: PGtkWidget, - detail: cstring): PGdkPixbuf{.cdecl, dynlib: gtklib, - importc: "gtk_style_render_icon".} -proc gtk_paint_hline*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x1: gint, x2: gint, - y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_paint_hline".} -proc gtk_paint_vline*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, y1: gint, y2: gint, - x: gint){.cdecl, dynlib: gtklib, - importc: "gtk_paint_vline".} -proc gtk_paint_shadow*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paint_shadow".} -proc gtk_paint_polygon*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - points: PGdkPoint, npoints: gint, fill: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_paint_polygon".} -proc gtk_paint_arrow*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - arrow_type: TGtkArrowType, fill: gboolean, x: gint, - y: gint, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paint_arrow".} -proc gtk_paint_diamond*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paint_diamond".} -proc gtk_paint_box*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paint_box".} -proc gtk_paint_flat_box*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, - detail: cstring, x: gint, y: gint, width: gint, - height: gint){.cdecl, dynlib: gtklib, - importc: "gtk_paint_flat_box".} -proc gtk_paint_check*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paint_check".} -proc gtk_paint_option*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paint_option".} -proc gtk_paint_tab*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_paint_tab".} -proc gtk_paint_shadow_gap*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, - shadow_type: TGtkShadowType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - width: gint, height: gint, - gap_side: TGtkPositionType, gap_x: gint, - gap_width: gint){.cdecl, dynlib: gtklib, - importc: "gtk_paint_shadow_gap".} -proc gtk_paint_box_gap*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint, - gap_side: TGtkPositionType, gap_x: gint, gap_width: gint){. - cdecl, dynlib: gtklib, importc: "gtk_paint_box_gap".} -proc gtk_paint_extension*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, - shadow_type: TGtkShadowType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - width: gint, height: gint, gap_side: TGtkPositionType){. - cdecl, dynlib: gtklib, importc: "gtk_paint_extension".} -proc gtk_paint_focus*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - width: gint, height: gint){.cdecl, dynlib: gtklib, - importc: "gtk_paint_focus".} -proc gtk_paint_slider*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint, - orientation: TGtkOrientation){.cdecl, dynlib: gtklib, - importc: "gtk_paint_slider".} -proc gtk_paint_handle*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, shadow_type: TGtkShadowType, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, width: gint, height: gint, - orientation: TGtkOrientation){.cdecl, dynlib: gtklib, - importc: "gtk_paint_handle".} -proc gtk_paint_expander*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, x: gint, y: gint, - expander_style: TGtkExpanderStyle){.cdecl, - dynlib: gtklib, importc: "gtk_paint_expander".} -proc gtk_paint_layout*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, use_text: gboolean, - area: PGdkRectangle, widget: PGtkWidget, detail: cstring, - x: gint, y: gint, layout: PPangoLayout){.cdecl, - dynlib: gtklib, importc: "gtk_paint_layout".} -proc gtk_paint_resize_grip*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, area: PGdkRectangle, - widget: PGtkWidget, detail: cstring, - edge: TGdkWindowEdge, x: gint, y: gint, width: gint, - height: gint){.cdecl, dynlib: gtklib, - importc: "gtk_paint_resize_grip".} -proc gtk_border_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_border_get_type".} -proc gtk_border_copy*(border: PGtkBorder): PGtkBorder{.cdecl, dynlib: gtklib, - importc: "gtk_border_copy".} -proc gtk_border_free*(border: PGtkBorder){.cdecl, dynlib: gtklib, - importc: "gtk_border_free".} -proc gtk_style_peek_property_value*(style: PGtkStyle, widget_type: GType, - pspec: PGParamSpec, - parser: TGtkRcPropertyParser): PGValue{. - cdecl, dynlib: gtklib, importc: "_gtk_style_peek_property_value".} -proc gtk_get_insertion_cursor_gc*(widget: PGtkWidget, is_primary: gboolean): PGdkGC{. - cdecl, dynlib: gtklib, importc: "_gtk_get_insertion_cursor_gc".} -proc gtk_draw_insertion_cursor*(widget: PGtkWidget, drawable: PGdkDrawable, - gc: PGdkGC, location: PGdkRectangle, - direction: TGtkTextDirection, - draw_arrow: gboolean){.cdecl, dynlib: gtklib, - importc: "_gtk_draw_insertion_cursor".} -const - bm_TGtkRange_inverted* = 0x00000001'i16 - bp_TGtkRange_inverted* = 0'i16 - bm_TGtkRange_flippable* = 0x00000002'i16 - bp_TGtkRange_flippable* = 1'i16 - bm_TGtkRange_has_stepper_a* = 0x00000004'i16 - bp_TGtkRange_has_stepper_a* = 2'i16 - bm_TGtkRange_has_stepper_b* = 0x00000008'i16 - bp_TGtkRange_has_stepper_b* = 3'i16 - bm_TGtkRange_has_stepper_c* = 0x00000010'i16 - bp_TGtkRange_has_stepper_c* = 4'i16 - bm_TGtkRange_has_stepper_d* = 0x00000020'i16 - bp_TGtkRange_has_stepper_d* = 5'i16 - bm_TGtkRange_need_recalc* = 0x00000040'i16 - bp_TGtkRange_need_recalc* = 6'i16 - bm_TGtkRange_slider_size_fixed* = 0x00000080'i16 - bp_TGtkRange_slider_size_fixed* = 7'i16 - bm_TGtkRange_trough_click_forward* = 0x00000001'i16 - bp_TGtkRange_trough_click_forward* = 0'i16 - bm_TGtkRange_update_pending* = 0x00000002'i16 - bp_TGtkRange_update_pending* = 1'i16 - -proc GTK_TYPE_RANGE*(): GType -proc GTK_RANGE*(obj: pointer): PGtkRange -proc GTK_RANGE_CLASS*(klass: pointer): PGtkRangeClass -proc GTK_IS_RANGE*(obj: pointer): bool -proc GTK_IS_RANGE_CLASS*(klass: pointer): bool -proc GTK_RANGE_GET_CLASS*(obj: pointer): PGtkRangeClass -proc inverted*(a: var TGtkRange): guint -proc set_inverted*(a: var TGtkRange, `inverted`: guint) -proc flippable*(a: var TGtkRange): guint -proc set_flippable*(a: var TGtkRange, `flippable`: guint) -proc has_stepper_a*(a: var TGtkRange): guint -proc set_has_stepper_a*(a: var TGtkRange, `has_stepper_a`: guint) -proc has_stepper_b*(a: var TGtkRange): guint -proc set_has_stepper_b*(a: var TGtkRange, `has_stepper_b`: guint) -proc has_stepper_c*(a: var TGtkRange): guint -proc set_has_stepper_c*(a: var TGtkRange, `has_stepper_c`: guint) -proc has_stepper_d*(a: var TGtkRange): guint -proc set_has_stepper_d*(a: var TGtkRange, `has_stepper_d`: guint) -proc need_recalc*(a: var TGtkRange): guint -proc set_need_recalc*(a: var TGtkRange, `need_recalc`: guint) -proc slider_size_fixed*(a: var TGtkRange): guint -proc set_slider_size_fixed*(a: var TGtkRange, `slider_size_fixed`: guint) -proc trough_click_forward*(a: var TGtkRange): guint -proc set_trough_click_forward*(a: var TGtkRange, `trough_click_forward`: guint) -proc update_pending*(a: var TGtkRange): guint -proc set_update_pending*(a: var TGtkRange, `update_pending`: guint) -proc gtk_range_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_range_get_type".} -proc gtk_range_set_update_policy*(range: PGtkRange, policy: TGtkUpdateType){. - cdecl, dynlib: gtklib, importc: "gtk_range_set_update_policy".} -proc gtk_range_get_update_policy*(range: PGtkRange): TGtkUpdateType{.cdecl, - dynlib: gtklib, importc: "gtk_range_get_update_policy".} -proc gtk_range_set_adjustment*(range: PGtkRange, adjustment: PGtkAdjustment){. - cdecl, dynlib: gtklib, importc: "gtk_range_set_adjustment".} -proc gtk_range_get_adjustment*(range: PGtkRange): PGtkAdjustment{.cdecl, - dynlib: gtklib, importc: "gtk_range_get_adjustment".} -proc gtk_range_set_inverted*(range: PGtkRange, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_range_set_inverted".} -proc gtk_range_get_inverted*(range: PGtkRange): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_range_get_inverted".} -proc gtk_range_set_increments*(range: PGtkRange, step: gdouble, page: gdouble){. - cdecl, dynlib: gtklib, importc: "gtk_range_set_increments".} -proc gtk_range_set_range*(range: PGtkRange, min: gdouble, max: gdouble){.cdecl, - dynlib: gtklib, importc: "gtk_range_set_range".} -proc gtk_range_set_value*(range: PGtkRange, value: gdouble){.cdecl, - dynlib: gtklib, importc: "gtk_range_set_value".} -proc gtk_range_get_value*(range: PGtkRange): gdouble{.cdecl, dynlib: gtklib, - importc: "gtk_range_get_value".} -const - bm_TGtkScale_draw_value* = 0x00000001'i16 - bp_TGtkScale_draw_value* = 0'i16 - bm_TGtkScale_value_pos* = 0x00000006'i16 - bp_TGtkScale_value_pos* = 1'i16 - -proc GTK_TYPE_SCALE*(): GType -proc GTK_SCALE*(obj: pointer): PGtkScale -proc GTK_SCALE_CLASS*(klass: pointer): PGtkScaleClass -proc GTK_IS_SCALE*(obj: pointer): bool -proc GTK_IS_SCALE_CLASS*(klass: pointer): bool -proc GTK_SCALE_GET_CLASS*(obj: pointer): PGtkScaleClass -proc draw_value*(a: var TGtkScale): guint -proc set_draw_value*(a: var TGtkScale, `draw_value`: guint) -proc value_pos*(a: var TGtkScale): guint -proc set_value_pos*(a: var TGtkScale, `value_pos`: guint) -proc gtk_scale_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_scale_get_type".} -proc gtk_scale_set_digits*(scale: PGtkScale, digits: gint){.cdecl, - dynlib: gtklib, importc: "gtk_scale_set_digits".} -proc gtk_scale_get_digits*(scale: PGtkScale): gint{.cdecl, dynlib: gtklib, - importc: "gtk_scale_get_digits".} -proc gtk_scale_set_draw_value*(scale: PGtkScale, draw_value: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_scale_set_draw_value".} -proc gtk_scale_get_draw_value*(scale: PGtkScale): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_scale_get_draw_value".} -proc gtk_scale_set_value_pos*(scale: PGtkScale, pos: TGtkPositionType){.cdecl, - dynlib: gtklib, importc: "gtk_scale_set_value_pos".} -proc gtk_scale_get_value_pos*(scale: PGtkScale): TGtkPositionType{.cdecl, - dynlib: gtklib, importc: "gtk_scale_get_value_pos".} -proc gtk_scale_get_value_size*(scale: PGtkScale, width: Pgint, height: Pgint){. - cdecl, dynlib: gtklib, importc: "_gtk_scale_get_value_size".} -proc gtk_scale_format_value*(scale: PGtkScale, value: gdouble): cstring{.cdecl, - dynlib: gtklib, importc: "_gtk_scale_format_value".} -proc GTK_TYPE_HSCALE*(): GType -proc GTK_HSCALE*(obj: pointer): PGtkHScale -proc GTK_HSCALE_CLASS*(klass: pointer): PGtkHScaleClass -proc GTK_IS_HSCALE*(obj: pointer): bool -proc GTK_IS_HSCALE_CLASS*(klass: pointer): bool -proc GTK_HSCALE_GET_CLASS*(obj: pointer): PGtkHScaleClass -proc gtk_hscale_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_hscale_get_type".} -proc gtk_hscale_new*(adjustment: PGtkAdjustment): PGtkHScale{.cdecl, - dynlib: gtklib, importc: "gtk_hscale_new".} -proc gtk_hscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PGtkHScale{. - cdecl, dynlib: gtklib, importc: "gtk_hscale_new_with_range".} -proc GTK_TYPE_SCROLLBAR*(): GType -proc GTK_SCROLLBAR*(obj: pointer): PGtkScrollbar -proc GTK_SCROLLBAR_CLASS*(klass: pointer): PGtkScrollbarClass -proc GTK_IS_SCROLLBAR*(obj: pointer): bool -proc GTK_IS_SCROLLBAR_CLASS*(klass: pointer): bool -proc GTK_SCROLLBAR_GET_CLASS*(obj: pointer): PGtkScrollbarClass -proc gtk_scrollbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_scrollbar_get_type".} -proc GTK_TYPE_HSCROLLBAR*(): GType -proc GTK_HSCROLLBAR*(obj: pointer): PGtkHScrollbar -proc GTK_HSCROLLBAR_CLASS*(klass: pointer): PGtkHScrollbarClass -proc GTK_IS_HSCROLLBAR*(obj: pointer): bool -proc GTK_IS_HSCROLLBAR_CLASS*(klass: pointer): bool -proc GTK_HSCROLLBAR_GET_CLASS*(obj: pointer): PGtkHScrollbarClass -proc gtk_hscrollbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_hscrollbar_get_type".} -proc gtk_hscrollbar_new*(adjustment: PGtkAdjustment): PGtkHScrollbar{.cdecl, - dynlib: gtklib, importc: "gtk_hscrollbar_new".} -proc GTK_TYPE_SEPARATOR*(): GType -proc GTK_SEPARATOR*(obj: pointer): PGtkSeparator -proc GTK_SEPARATOR_CLASS*(klass: pointer): PGtkSeparatorClass -proc GTK_IS_SEPARATOR*(obj: pointer): bool -proc GTK_IS_SEPARATOR_CLASS*(klass: pointer): bool -proc GTK_SEPARATOR_GET_CLASS*(obj: pointer): PGtkSeparatorClass -proc gtk_separator_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_separator_get_type".} -proc GTK_TYPE_HSEPARATOR*(): GType -proc GTK_HSEPARATOR*(obj: pointer): PGtkHSeparator -proc GTK_HSEPARATOR_CLASS*(klass: pointer): PGtkHSeparatorClass -proc GTK_IS_HSEPARATOR*(obj: pointer): bool -proc GTK_IS_HSEPARATOR_CLASS*(klass: pointer): bool -proc GTK_HSEPARATOR_GET_CLASS*(obj: pointer): PGtkHSeparatorClass -proc gtk_hseparator_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_hseparator_get_type".} -proc gtk_hseparator_new*(): PGtkHSeparator{.cdecl, dynlib: gtklib, - importc: "gtk_hseparator_new".} -proc GTK_TYPE_ICON_FACTORY*(): GType -proc GTK_ICON_FACTORY*(anObject: pointer): PGtkIconFactory -proc GTK_ICON_FACTORY_CLASS*(klass: pointer): PGtkIconFactoryClass -proc GTK_IS_ICON_FACTORY*(anObject: pointer): bool -proc GTK_IS_ICON_FACTORY_CLASS*(klass: pointer): bool -proc GTK_ICON_FACTORY_GET_CLASS*(obj: pointer): PGtkIconFactoryClass -proc GTK_TYPE_ICON_SET*(): GType -proc GTK_TYPE_ICON_SOURCE*(): GType -proc gtk_icon_factory_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_icon_factory_get_type".} -proc gtk_icon_factory_new*(): PGtkIconFactory{.cdecl, dynlib: gtklib, - importc: "gtk_icon_factory_new".} -proc gtk_icon_factory_add*(factory: PGtkIconFactory, stock_id: cstring, - icon_set: PGtkIconSet){.cdecl, dynlib: gtklib, - importc: "gtk_icon_factory_add".} -proc gtk_icon_factory_lookup*(factory: PGtkIconFactory, stock_id: cstring): PGtkIconSet{. - cdecl, dynlib: gtklib, importc: "gtk_icon_factory_lookup".} -proc gtk_icon_factory_add_default*(factory: PGtkIconFactory){.cdecl, - dynlib: gtklib, importc: "gtk_icon_factory_add_default".} -proc gtk_icon_factory_remove_default*(factory: PGtkIconFactory){.cdecl, - dynlib: gtklib, importc: "gtk_icon_factory_remove_default".} -proc gtk_icon_factory_lookup_default*(stock_id: cstring): PGtkIconSet{.cdecl, - dynlib: gtklib, importc: "gtk_icon_factory_lookup_default".} -proc gtk_icon_size_lookup*(size: TGtkIconSize, width: Pgint, height: Pgint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_icon_size_lookup".} -proc gtk_icon_size_register*(name: cstring, width: gint, height: gint): TGtkIconSize{. - cdecl, dynlib: gtklib, importc: "gtk_icon_size_register".} -proc gtk_icon_size_register_alias*(alias: cstring, target: TGtkIconSize){.cdecl, - dynlib: gtklib, importc: "gtk_icon_size_register_alias".} -proc gtk_icon_size_from_name*(name: cstring): TGtkIconSize{.cdecl, - dynlib: gtklib, importc: "gtk_icon_size_from_name".} -proc gtk_icon_size_get_name*(size: TGtkIconSize): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_icon_size_get_name".} -proc gtk_icon_set_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_icon_set_get_type".} -proc gtk_icon_set_new*(): PGtkIconSet{.cdecl, dynlib: gtklib, - importc: "gtk_icon_set_new".} -proc gtk_icon_set_new_from_pixbuf*(pixbuf: PGdkPixbuf): PGtkIconSet{.cdecl, - dynlib: gtklib, importc: "gtk_icon_set_new_from_pixbuf".} -proc gtk_icon_set_ref*(icon_set: PGtkIconSet): PGtkIconSet{.cdecl, - dynlib: gtklib, importc: "gtk_icon_set_ref".} -proc gtk_icon_set_unref*(icon_set: PGtkIconSet){.cdecl, dynlib: gtklib, - importc: "gtk_icon_set_unref".} -proc gtk_icon_set_copy*(icon_set: PGtkIconSet): PGtkIconSet{.cdecl, - dynlib: gtklib, importc: "gtk_icon_set_copy".} -proc gtk_icon_set_render_icon*(icon_set: PGtkIconSet, style: PGtkStyle, - direction: TGtkTextDirection, - state: TGtkStateType, size: TGtkIconSize, - widget: PGtkWidget, detail: cstring): PGdkPixbuf{. - cdecl, dynlib: gtklib, importc: "gtk_icon_set_render_icon".} -proc gtk_icon_set_add_source*(icon_set: PGtkIconSet, source: PGtkIconSource){. - cdecl, dynlib: gtklib, importc: "gtk_icon_set_add_source".} -proc gtk_icon_set_get_sizes*(icon_set: PGtkIconSet, sizes: PPGtkIconSize, - n_sizes: pgint){.cdecl, dynlib: gtklib, - importc: "gtk_icon_set_get_sizes".} -proc gtk_icon_source_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_icon_source_get_type".} -proc gtk_icon_source_new*(): PGtkIconSource{.cdecl, dynlib: gtklib, - importc: "gtk_icon_source_new".} -proc gtk_icon_source_copy*(source: PGtkIconSource): PGtkIconSource{.cdecl, - dynlib: gtklib, importc: "gtk_icon_source_copy".} -proc gtk_icon_source_free*(source: PGtkIconSource){.cdecl, dynlib: gtklib, - importc: "gtk_icon_source_free".} -proc gtk_icon_source_set_filename*(source: PGtkIconSource, filename: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_filename".} -proc gtk_icon_source_set_pixbuf*(source: PGtkIconSource, pixbuf: PGdkPixbuf){. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_pixbuf".} -proc gtk_icon_source_get_filename*(source: PGtkIconSource): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_icon_source_get_filename".} -proc gtk_icon_source_get_pixbuf*(source: PGtkIconSource): PGdkPixbuf{.cdecl, - dynlib: gtklib, importc: "gtk_icon_source_get_pixbuf".} -proc gtk_icon_source_set_direction_wildcarded*(source: PGtkIconSource, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_icon_source_set_direction_wildcarded".} -proc gtk_icon_source_set_state_wildcarded*(source: PGtkIconSource, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_icon_source_set_state_wildcarded".} -proc gtk_icon_source_set_size_wildcarded*(source: PGtkIconSource, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_icon_source_set_size_wildcarded".} -proc gtk_icon_source_get_size_wildcarded*(source: PGtkIconSource): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_size_wildcarded".} -proc gtk_icon_source_get_state_wildcarded*(source: PGtkIconSource): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_state_wildcarded".} -proc gtk_icon_source_get_direction_wildcarded*(source: PGtkIconSource): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_direction_wildcarded".} -proc gtk_icon_source_set_direction*(source: PGtkIconSource, - direction: TGtkTextDirection){.cdecl, - dynlib: gtklib, importc: "gtk_icon_source_set_direction".} -proc gtk_icon_source_set_state*(source: PGtkIconSource, state: TGtkStateType){. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_state".} -proc gtk_icon_source_set_size*(source: PGtkIconSource, size: TGtkIconSize){. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_set_size".} -proc gtk_icon_source_get_direction*(source: PGtkIconSource): TGtkTextDirection{. - cdecl, dynlib: gtklib, importc: "gtk_icon_source_get_direction".} -proc gtk_icon_source_get_state*(source: PGtkIconSource): TGtkStateType{.cdecl, - dynlib: gtklib, importc: "gtk_icon_source_get_state".} -proc gtk_icon_source_get_size*(source: PGtkIconSource): TGtkIconSize{.cdecl, - dynlib: gtklib, importc: "gtk_icon_source_get_size".} -proc gtk_icon_set_invalidate_caches*(){.cdecl, dynlib: gtklib, - importc: "_gtk_icon_set_invalidate_caches".} -proc gtk_icon_factory_list_ids*(): PGSList{.cdecl, dynlib: gtklib, - importc: "_gtk_icon_factory_list_ids".} -proc GTK_TYPE_IMAGE*(): GType -proc GTK_IMAGE*(obj: pointer): PGtkImage -proc GTK_IMAGE_CLASS*(klass: pointer): PGtkImageClass -proc GTK_IS_IMAGE*(obj: pointer): bool -proc GTK_IS_IMAGE_CLASS*(klass: pointer): bool -proc GTK_IMAGE_GET_CLASS*(obj: pointer): PGtkImageClass -proc gtk_image_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_image_get_type".} -proc gtk_image_new*(): PGtkImage{.cdecl, dynlib: gtklib, - importc: "gtk_image_new".} -proc gtk_image_new_from_pixmap*(pixmap: PGdkPixmap, mask: PGdkBitmap): PGtkImage{. - cdecl, dynlib: gtklib, importc: "gtk_image_new_from_pixmap".} -proc gtk_image_new_from_image*(image: PGdkImage, mask: PGdkBitmap): PGtkImage{. - cdecl, dynlib: gtklib, importc: "gtk_image_new_from_image".} -proc gtk_image_new_from_file*(filename: cstring): PGtkImage{.cdecl, - dynlib: gtklib, importc: "gtk_image_new_from_file".} -proc gtk_image_new_from_pixbuf*(pixbuf: PGdkPixbuf): PGtkImage{.cdecl, - dynlib: gtklib, importc: "gtk_image_new_from_pixbuf".} -proc gtk_image_new_from_stock*(stock_id: cstring, size: TGtkIconSize): PGtkImage{. - cdecl, dynlib: gtklib, importc: "gtk_image_new_from_stock".} -proc gtk_image_new_from_icon_set*(icon_set: PGtkIconSet, size: TGtkIconSize): PGtkImage{. - cdecl, dynlib: gtklib, importc: "gtk_image_new_from_icon_set".} -proc gtk_image_new_from_animation*(animation: PGdkPixbufAnimation): PGtkImage{. - cdecl, dynlib: gtklib, importc: "gtk_image_new_from_animation".} -proc gtk_image_set_from_pixmap*(image: PGtkImage, pixmap: PGdkPixmap, - mask: PGdkBitmap){.cdecl, dynlib: gtklib, - importc: "gtk_image_set_from_pixmap".} -proc gtk_image_set_from_image*(image: PGtkImage, gdk_image: PGdkImage, - mask: PGdkBitmap){.cdecl, dynlib: gtklib, - importc: "gtk_image_set_from_image".} -proc gtk_image_set_from_file*(image: PGtkImage, filename: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_image_set_from_file".} -proc gtk_image_set_from_pixbuf*(image: PGtkImage, pixbuf: PGdkPixbuf){.cdecl, - dynlib: gtklib, importc: "gtk_image_set_from_pixbuf".} -proc gtk_image_set_from_stock*(image: PGtkImage, stock_id: cstring, - size: TGtkIconSize){.cdecl, dynlib: gtklib, - importc: "gtk_image_set_from_stock".} -proc gtk_image_set_from_icon_set*(image: PGtkImage, icon_set: PGtkIconSet, - size: TGtkIconSize){.cdecl, dynlib: gtklib, - importc: "gtk_image_set_from_icon_set".} -proc gtk_image_set_from_animation*(image: PGtkImage, - animation: PGdkPixbufAnimation){.cdecl, - dynlib: gtklib, importc: "gtk_image_set_from_animation".} -proc gtk_image_get_storage_type*(image: PGtkImage): TGtkImageType{.cdecl, - dynlib: gtklib, importc: "gtk_image_get_storage_type".} -proc gtk_image_get_pixbuf*(image: PGtkImage): PGdkPixbuf{.cdecl, dynlib: gtklib, - importc: "gtk_image_get_pixbuf".} -proc gtk_image_get_stock*(image: PGtkImage, stock_id: PPgchar, - size: PGtkIconSize){.cdecl, dynlib: gtklib, - importc: "gtk_image_get_stock".} -proc gtk_image_get_animation*(image: PGtkImage): PGdkPixbufAnimation{.cdecl, - dynlib: gtklib, importc: "gtk_image_get_animation".} -proc GTK_TYPE_IMAGE_MENU_ITEM*(): GType -proc GTK_IMAGE_MENU_ITEM*(obj: pointer): PGtkImageMenuItem -proc GTK_IMAGE_MENU_ITEM_CLASS*(klass: pointer): PGtkImageMenuItemClass -proc GTK_IS_IMAGE_MENU_ITEM*(obj: pointer): bool -proc GTK_IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool -proc GTK_IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkImageMenuItemClass -proc gtk_image_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_image_menu_item_get_type".} -proc gtk_image_menu_item_new*(): PGtkImageMenuItem{.cdecl, dynlib: gtklib, - importc: "gtk_image_menu_item_new".} -proc gtk_image_menu_item_new_with_label*(`label`: cstring): PGtkImageMenuItem{.cdecl, - dynlib: gtklib, importc: "gtk_image_menu_item_new_with_label".} -proc gtk_image_menu_item_new_with_mnemonic*(`label`: cstring): PGtkImageMenuItem{.cdecl, - dynlib: gtklib, importc: "gtk_image_menu_item_new_with_mnemonic".} -proc gtk_image_menu_item_new_from_stock*(stock_id: cstring, - accel_group: PGtkAccelGroup): PGtkImageMenuItem{.cdecl, dynlib: gtklib, - importc: "gtk_image_menu_item_new_from_stock".} -proc gtk_image_menu_item_set_image*(image_menu_item: PGtkImageMenuItem, - image: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_image_menu_item_set_image".} -proc gtk_image_menu_item_get_image*(image_menu_item: PGtkImageMenuItem): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_image_menu_item_get_image".} -const - bm_TGtkIMContextSimple_in_hex_sequence* = 0x00000001'i16 - bp_TGtkIMContextSimple_in_hex_sequence* = 0'i16 - -proc GTK_TYPE_IM_CONTEXT_SIMPLE*(): GType -proc GTK_IM_CONTEXT_SIMPLE*(obj: pointer): PGtkIMContextSimple -proc GTK_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PGtkIMContextSimpleClass -proc GTK_IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool -proc GTK_IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool -proc GTK_IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PGtkIMContextSimpleClass -proc in_hex_sequence*(a: var TGtkIMContextSimple): guint -proc set_in_hex_sequence*(a: var TGtkIMContextSimple, `in_hex_sequence`: guint) -proc gtk_im_context_simple_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_im_context_simple_get_type".} -proc gtk_im_context_simple_new*(): PGtkIMContext{.cdecl, dynlib: gtklib, - importc: "gtk_im_context_simple_new".} -proc gtk_im_context_simple_add_table*(context_simple: PGtkIMContextSimple, - data: Pguint16, max_seq_len: gint, - n_seqs: gint){.cdecl, dynlib: gtklib, - importc: "gtk_im_context_simple_add_table".} -proc GTK_TYPE_IM_MULTICONTEXT*(): GType -proc GTK_IM_MULTICONTEXT*(obj: pointer): PGtkIMMulticontext -proc GTK_IM_MULTICONTEXT_CLASS*(klass: pointer): PGtkIMMulticontextClass -proc GTK_IS_IM_MULTICONTEXT*(obj: pointer): bool -proc GTK_IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool -proc GTK_IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PGtkIMMulticontextClass -proc gtk_im_multicontext_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_im_multicontext_get_type".} -proc gtk_im_multicontext_new*(): PGtkIMContext{.cdecl, dynlib: gtklib, - importc: "gtk_im_multicontext_new".} -proc gtk_im_multicontext_append_menuitems*(context: PGtkIMMulticontext, - menushell: PGtkMenuShell){.cdecl, dynlib: gtklib, - importc: "gtk_im_multicontext_append_menuitems".} -proc GTK_TYPE_INPUT_DIALOG*(): GType -proc GTK_INPUT_DIALOG*(obj: pointer): PGtkInputDialog -proc GTK_INPUT_DIALOG_CLASS*(klass: pointer): PGtkInputDialogClass -proc GTK_IS_INPUT_DIALOG*(obj: pointer): bool -proc GTK_IS_INPUT_DIALOG_CLASS*(klass: pointer): bool -proc GTK_INPUT_DIALOG_GET_CLASS*(obj: pointer): PGtkInputDialogClass -proc gtk_input_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_input_dialog_get_type".} -proc gtk_input_dialog_new*(): PGtkInputDialog{.cdecl, dynlib: gtklib, - importc: "gtk_input_dialog_new".} -proc GTK_TYPE_INVISIBLE*(): GType -proc GTK_INVISIBLE*(obj: pointer): PGtkInvisible -proc GTK_INVISIBLE_CLASS*(klass: pointer): PGtkInvisibleClass -proc GTK_IS_INVISIBLE*(obj: pointer): bool -proc GTK_IS_INVISIBLE_CLASS*(klass: pointer): bool -proc GTK_INVISIBLE_GET_CLASS*(obj: pointer): PGtkInvisibleClass -proc gtk_invisible_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_invisible_get_type".} -proc gtk_invisible_new*(): PGtkInvisible{.cdecl, dynlib: gtklib, - importc: "gtk_invisible_new".} -proc gtk_invisible_new_for_screen*(screen: PGdkScreen): PGtkInvisible{.cdecl, - dynlib: gtklib, importc: "gtk_invisible_new_for_screen".} -proc gtk_invisible_set_screen*(invisible: PGtkInvisible, screen: PGdkScreen){. - cdecl, dynlib: gtklib, importc: "gtk_invisible_set_screen".} -proc gtk_invisible_get_screen*(invisible: PGtkInvisible): PGdkScreen{.cdecl, - dynlib: gtklib, importc: "gtk_invisible_get_screen".} -proc GTK_TYPE_ITEM_FACTORY*(): GType -proc GTK_ITEM_FACTORY*(anObject: pointer): PGtkItemFactory -proc GTK_ITEM_FACTORY_CLASS*(klass: pointer): PGtkItemFactoryClass -proc GTK_IS_ITEM_FACTORY*(anObject: pointer): bool -proc GTK_IS_ITEM_FACTORY_CLASS*(klass: pointer): bool -proc GTK_ITEM_FACTORY_GET_CLASS*(obj: pointer): PGtkItemFactoryClass -proc gtk_item_factory_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_item_factory_get_type".} -proc gtk_item_factory_new*(container_type: TGtkType, path: cstring, - accel_group: PGtkAccelGroup): PGtkItemFactory{.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_new".} -proc gtk_item_factory_construct*(ifactory: PGtkItemFactory, - container_type: TGtkType, path: cstring, - accel_group: PGtkAccelGroup){.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_construct".} -proc gtk_item_factory_add_foreign*(accel_widget: PGtkWidget, full_path: cstring, - accel_group: PGtkAccelGroup, keyval: guint, - modifiers: TGdkModifierType){.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_add_foreign".} -proc gtk_item_factory_from_widget*(widget: PGtkWidget): PGtkItemFactory{.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_from_widget".} -proc gtk_item_factory_path_from_widget*(widget: PGtkWidget): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_path_from_widget".} -proc gtk_item_factory_get_item*(ifactory: PGtkItemFactory, path: cstring): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_item_factory_get_item".} -proc gtk_item_factory_get_widget*(ifactory: PGtkItemFactory, path: cstring): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_item_factory_get_widget".} -proc gtk_item_factory_get_widget_by_action*(ifactory: PGtkItemFactory, - action: guint): PGtkWidget{.cdecl, dynlib: gtklib, importc: "gtk_item_factory_get_widget_by_action".} -proc gtk_item_factory_get_item_by_action*(ifactory: PGtkItemFactory, - action: guint): PGtkWidget{.cdecl, dynlib: gtklib, - importc: "gtk_item_factory_get_item_by_action".} -proc gtk_item_factory_create_item*(ifactory: PGtkItemFactory, - entry: PGtkItemFactoryEntry, - callback_data: gpointer, callback_type: guint){. - cdecl, dynlib: gtklib, importc: "gtk_item_factory_create_item".} -proc gtk_item_factory_create_items*(ifactory: PGtkItemFactory, n_entries: guint, - entries: PGtkItemFactoryEntry, - callback_data: gpointer){.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_create_items".} -proc gtk_item_factory_delete_item*(ifactory: PGtkItemFactory, path: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_item_factory_delete_item".} -proc gtk_item_factory_delete_entry*(ifactory: PGtkItemFactory, - entry: PGtkItemFactoryEntry){.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_delete_entry".} -proc gtk_item_factory_delete_entries*(ifactory: PGtkItemFactory, - n_entries: guint, - entries: PGtkItemFactoryEntry){.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_delete_entries".} -proc gtk_item_factory_popup*(ifactory: PGtkItemFactory, x: guint, y: guint, - mouse_button: guint, time: guint32){.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_popup".} -proc gtk_item_factory_popup_with_data*(ifactory: PGtkItemFactory, - popup_data: gpointer, - destroy: TGtkDestroyNotify, x: guint, - y: guint, mouse_button: guint, - time: guint32){.cdecl, dynlib: gtklib, - importc: "gtk_item_factory_popup_with_data".} -proc gtk_item_factory_popup_data*(ifactory: PGtkItemFactory): gpointer{.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_popup_data".} -proc gtk_item_factory_popup_data_from_widget*(widget: PGtkWidget): gpointer{. - cdecl, dynlib: gtklib, importc: "gtk_item_factory_popup_data_from_widget".} -proc gtk_item_factory_set_translate_func*(ifactory: PGtkItemFactory, - fun: TGtkTranslateFunc, data: gpointer, notify: TGtkDestroyNotify){.cdecl, - dynlib: gtklib, importc: "gtk_item_factory_set_translate_func".} -proc GTK_TYPE_LAYOUT*(): GType -proc GTK_LAYOUT*(obj: pointer): PGtkLayout -proc GTK_LAYOUT_CLASS*(klass: pointer): PGtkLayoutClass -proc GTK_IS_LAYOUT*(obj: pointer): bool -proc GTK_IS_LAYOUT_CLASS*(klass: pointer): bool -proc GTK_LAYOUT_GET_CLASS*(obj: pointer): PGtkLayoutClass -proc gtk_layout_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_layout_get_type".} -proc gtk_layout_new*(hadjustment: PGtkAdjustment, vadjustment: PGtkAdjustment): PGtkLayout{. - cdecl, dynlib: gtklib, importc: "gtk_layout_new".} -proc gtk_layout_put*(layout: PGtkLayout, child_widget: PGtkWidget, x: gint, - y: gint){.cdecl, dynlib: gtklib, importc: "gtk_layout_put".} -proc gtk_layout_move*(layout: PGtkLayout, child_widget: PGtkWidget, x: gint, - y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_layout_move".} -proc gtk_layout_set_size*(layout: PGtkLayout, width: guint, height: guint){. - cdecl, dynlib: gtklib, importc: "gtk_layout_set_size".} -proc gtk_layout_get_size*(layout: PGtkLayout, width: Pguint, height: Pguint){. - cdecl, dynlib: gtklib, importc: "gtk_layout_get_size".} -proc gtk_layout_get_hadjustment*(layout: PGtkLayout): PGtkAdjustment{.cdecl, - dynlib: gtklib, importc: "gtk_layout_get_hadjustment".} -proc gtk_layout_get_vadjustment*(layout: PGtkLayout): PGtkAdjustment{.cdecl, - dynlib: gtklib, importc: "gtk_layout_get_vadjustment".} -proc gtk_layout_set_hadjustment*(layout: PGtkLayout, adjustment: PGtkAdjustment){. - cdecl, dynlib: gtklib, importc: "gtk_layout_set_hadjustment".} -proc gtk_layout_set_vadjustment*(layout: PGtkLayout, adjustment: PGtkAdjustment){. - cdecl, dynlib: gtklib, importc: "gtk_layout_set_vadjustment".} -const - bm_TGtkList_selection_mode* = 0x00000003'i16 - bp_TGtkList_selection_mode* = 0'i16 - bm_TGtkList_drag_selection* = 0x00000004'i16 - bp_TGtkList_drag_selection* = 2'i16 - bm_TGtkList_add_mode* = 0x00000008'i16 - bp_TGtkList_add_mode* = 3'i16 - -proc GTK_TYPE_LIST*(): GType -proc GTK_LIST*(obj: pointer): PGtkList -proc GTK_LIST_CLASS*(klass: pointer): PGtkListClass -proc GTK_IS_LIST*(obj: pointer): bool -proc GTK_IS_LIST_CLASS*(klass: pointer): bool -proc GTK_LIST_GET_CLASS*(obj: pointer): PGtkListClass -proc selection_mode*(a: var TGtkList): guint -proc set_selection_mode*(a: var TGtkList, `selection_mode`: guint) -proc drag_selection*(a: var TGtkList): guint -proc set_drag_selection*(a: var TGtkList, `drag_selection`: guint) -proc add_mode*(a: var TGtkList): guint -proc set_add_mode*(a: var TGtkList, `add_mode`: guint) -proc gtk_list_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_list_get_type".} -proc gtk_list_new*(): PGtkList{.cdecl, dynlib: gtklib, importc: "gtk_list_new".} -proc gtk_list_insert_items*(list: PGtkList, items: PGList, position: gint){. - cdecl, dynlib: gtklib, importc: "gtk_list_insert_items".} -proc gtk_list_append_items*(list: PGtkList, items: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_list_append_items".} -proc gtk_list_prepend_items*(list: PGtkList, items: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_list_prepend_items".} -proc gtk_list_remove_items*(list: PGtkList, items: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_list_remove_items".} -proc gtk_list_remove_items_no_unref*(list: PGtkList, items: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_list_remove_items_no_unref".} -proc gtk_list_clear_items*(list: PGtkList, start: gint, theEnd: gint){.cdecl, - dynlib: gtklib, importc: "gtk_list_clear_items".} -proc gtk_list_select_item*(list: PGtkList, item: gint){.cdecl, dynlib: gtklib, - importc: "gtk_list_select_item".} -proc gtk_list_unselect_item*(list: PGtkList, item: gint){.cdecl, dynlib: gtklib, - importc: "gtk_list_unselect_item".} -proc gtk_list_select_child*(list: PGtkList, child: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_list_select_child".} -proc gtk_list_unselect_child*(list: PGtkList, child: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_list_unselect_child".} -proc gtk_list_child_position*(list: PGtkList, child: PGtkWidget): gint{.cdecl, - dynlib: gtklib, importc: "gtk_list_child_position".} -proc gtk_list_set_selection_mode*(list: PGtkList, mode: TGtkSelectionMode){. - cdecl, dynlib: gtklib, importc: "gtk_list_set_selection_mode".} -proc gtk_list_extend_selection*(list: PGtkList, scroll_type: TGtkScrollType, - position: gfloat, auto_start_selection: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_list_extend_selection".} -proc gtk_list_start_selection*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_start_selection".} -proc gtk_list_end_selection*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_end_selection".} -proc gtk_list_select_all*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_select_all".} -proc gtk_list_unselect_all*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_unselect_all".} -proc gtk_list_scroll_horizontal*(list: PGtkList, scroll_type: TGtkScrollType, - position: gfloat){.cdecl, dynlib: gtklib, - importc: "gtk_list_scroll_horizontal".} -proc gtk_list_scroll_vertical*(list: PGtkList, scroll_type: TGtkScrollType, - position: gfloat){.cdecl, dynlib: gtklib, - importc: "gtk_list_scroll_vertical".} -proc gtk_list_toggle_add_mode*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_toggle_add_mode".} -proc gtk_list_toggle_focus_row*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_toggle_focus_row".} -proc gtk_list_toggle_row*(list: PGtkList, item: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_list_toggle_row".} -proc gtk_list_undo_selection*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_undo_selection".} -proc gtk_list_end_drag_selection*(list: PGtkList){.cdecl, dynlib: gtklib, - importc: "gtk_list_end_drag_selection".} -const - GTK_TREE_MODEL_ITERS_PERSIST* = 1 shl 0 - GTK_TREE_MODEL_LIST_ONLY* = 1 shl 1 - -proc GTK_TYPE_TREE_MODEL*(): GType -proc GTK_TREE_MODEL*(obj: pointer): PGtkTreeModel -proc GTK_IS_TREE_MODEL*(obj: pointer): bool -proc GTK_TREE_MODEL_GET_IFACE*(obj: pointer): PGtkTreeModelIface -proc GTK_TYPE_TREE_ITER*(): GType -proc GTK_TYPE_TREE_PATH*(): GType -proc gtk_tree_path_new*(): PGtkTreePath{.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_new".} -proc gtk_tree_path_new_from_string*(path: cstring): PGtkTreePath{.cdecl, - dynlib: gtklib, importc: "gtk_tree_path_new_from_string".} -proc gtk_tree_path_to_string*(path: PGtkTreePath): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_tree_path_to_string".} -proc gtk_tree_path_new_root*(): PGtkTreePath -proc gtk_tree_path_new_first*(): PGtkTreePath{.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_new_first".} -proc gtk_tree_path_append_index*(path: PGtkTreePath, index: gint){.cdecl, - dynlib: gtklib, importc: "gtk_tree_path_append_index".} -proc gtk_tree_path_prepend_index*(path: PGtkTreePath, index: gint){.cdecl, - dynlib: gtklib, importc: "gtk_tree_path_prepend_index".} -proc gtk_tree_path_get_depth*(path: PGtkTreePath): gint{.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_get_depth".} -proc gtk_tree_path_get_indices*(path: PGtkTreePath): Pgint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_path_get_indices".} -proc gtk_tree_path_free*(path: PGtkTreePath){.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_free".} -proc gtk_tree_path_copy*(path: PGtkTreePath): PGtkTreePath{.cdecl, - dynlib: gtklib, importc: "gtk_tree_path_copy".} -proc gtk_tree_path_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_get_type".} -proc gtk_tree_path_compare*(a: PGtkTreePath, b: PGtkTreePath): gint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_path_compare".} -proc gtk_tree_path_next*(path: PGtkTreePath){.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_next".} -proc gtk_tree_path_prev*(path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_prev".} -proc gtk_tree_path_up*(path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_up".} -proc gtk_tree_path_down*(path: PGtkTreePath){.cdecl, dynlib: gtklib, - importc: "gtk_tree_path_down".} -proc gtk_tree_path_is_ancestor*(path: PGtkTreePath, descendant: PGtkTreePath): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_path_is_ancestor".} -proc gtk_tree_path_is_descendant*(path: PGtkTreePath, ancestor: PGtkTreePath): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_path_is_descendant".} -proc gtk_tree_row_reference_new*(model: PGtkTreeModel, path: PGtkTreePath): PGtkTreeRowReference{. - cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_new".} -proc gtk_tree_row_reference_new_proxy*(proxy: PGObject, model: PGtkTreeModel, - path: PGtkTreePath): PGtkTreeRowReference{. - cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_new_proxy".} -proc gtk_tree_row_reference_get_path*(reference: PGtkTreeRowReference): PGtkTreePath{. - cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_get_path".} -proc gtk_tree_row_reference_valid*(reference: PGtkTreeRowReference): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_valid".} -proc gtk_tree_row_reference_free*(reference: PGtkTreeRowReference){.cdecl, - dynlib: gtklib, importc: "gtk_tree_row_reference_free".} -proc gtk_tree_row_reference_inserted*(proxy: PGObject, path: PGtkTreePath){. - cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_inserted".} -proc gtk_tree_row_reference_deleted*(proxy: PGObject, path: PGtkTreePath){. - cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_deleted".} -proc gtk_tree_row_reference_reordered*(proxy: PGObject, path: PGtkTreePath, - iter: PGtkTreeIter, new_order: Pgint){. - cdecl, dynlib: gtklib, importc: "gtk_tree_row_reference_reordered".} -proc gtk_tree_iter_copy*(iter: PGtkTreeIter): PGtkTreeIter{.cdecl, - dynlib: gtklib, importc: "gtk_tree_iter_copy".} -proc gtk_tree_iter_free*(iter: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_tree_iter_free".} -proc gtk_tree_iter_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_iter_get_type".} -proc gtk_tree_model_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_get_type".} -proc gtk_tree_model_get_flags*(tree_model: PGtkTreeModel): TGtkTreeModelFlags{. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_get_flags".} -proc gtk_tree_model_get_n_columns*(tree_model: PGtkTreeModel): gint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_model_get_n_columns".} -proc gtk_tree_model_get_column_type*(tree_model: PGtkTreeModel, index: gint): GType{. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_get_column_type".} -proc gtk_tree_model_get_iter*(tree_model: PGtkTreeModel, iter: PGtkTreeIter, - path: PGtkTreePath): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_model_get_iter".} -proc gtk_tree_model_get_iter_from_string*(tree_model: PGtkTreeModel, - iter: PGtkTreeIter, path_string: cstring): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_get_iter_from_string".} -proc gtk_tree_model_get_iter_root*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean -proc gtk_tree_model_get_iter_first*(tree_model: PGtkTreeModel, - iter: PGtkTreeIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_model_get_iter_first".} -proc gtk_tree_model_get_path*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): PGtkTreePath{. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_get_path".} -proc gtk_tree_model_get_value*(tree_model: PGtkTreeModel, iter: PGtkTreeIter, - column: gint, value: PGValue){.cdecl, - dynlib: gtklib, importc: "gtk_tree_model_get_value".} -proc gtk_tree_model_iter_next*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_iter_next".} -proc gtk_tree_model_iter_children*(tree_model: PGtkTreeModel, - iter: PGtkTreeIter, parent: PGtkTreeIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_iter_children".} -proc gtk_tree_model_iter_has_child*(tree_model: PGtkTreeModel, - iter: PGtkTreeIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_model_iter_has_child".} -proc gtk_tree_model_iter_n_children*(tree_model: PGtkTreeModel, - iter: PGtkTreeIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_model_iter_n_children".} -proc gtk_tree_model_iter_nth_child*(tree_model: PGtkTreeModel, - iter: PGtkTreeIter, parent: PGtkTreeIter, - n: gint): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_iter_nth_child".} -proc gtk_tree_model_iter_parent*(tree_model: PGtkTreeModel, iter: PGtkTreeIter, - child: PGtkTreeIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_model_iter_parent".} -proc gtk_tree_model_ref_node*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_ref_node".} -proc gtk_tree_model_unref_node*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_unref_node".} -proc gtk_tree_model_foreach*(model: PGtkTreeModel, - fun: TGtkTreeModelForeachFunc, - user_data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_foreach".} -proc gtk_tree_model_row_changed*(tree_model: PGtkTreeModel, path: PGtkTreePath, - iter: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_row_changed".} -proc gtk_tree_model_row_inserted*(tree_model: PGtkTreeModel, path: PGtkTreePath, - iter: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_row_inserted".} -proc gtk_tree_model_row_has_child_toggled*(tree_model: PGtkTreeModel, - path: PGtkTreePath, iter: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_row_has_child_toggled".} -proc gtk_tree_model_row_deleted*(tree_model: PGtkTreeModel, path: PGtkTreePath){. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_row_deleted".} -proc gtk_tree_model_rows_reordered*(tree_model: PGtkTreeModel, - path: PGtkTreePath, iter: PGtkTreeIter, - new_order: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_rows_reordered".} -const - GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID* = - (1) - -proc GTK_TYPE_TREE_SORTABLE*(): GType -proc GTK_TREE_SORTABLE*(obj: pointer): PGtkTreeSortable -proc GTK_TREE_SORTABLE_CLASS*(obj: pointer): PGtkTreeSortableIface -proc GTK_IS_TREE_SORTABLE*(obj: pointer): bool -proc GTK_TREE_SORTABLE_GET_IFACE*(obj: pointer): PGtkTreeSortableIface -proc gtk_tree_sortable_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_sortable_get_type".} -proc gtk_tree_sortable_sort_column_changed*(sortable: PGtkTreeSortable){.cdecl, - dynlib: gtklib, importc: "gtk_tree_sortable_sort_column_changed".} -proc gtk_tree_sortable_get_sort_column_id*(sortable: PGtkTreeSortable, - sort_column_id: Pgint, order: PGtkSortType): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_sortable_get_sort_column_id".} -proc gtk_tree_sortable_set_sort_column_id*(sortable: PGtkTreeSortable, - sort_column_id: gint, order: TGtkSortType){.cdecl, dynlib: gtklib, - importc: "gtk_tree_sortable_set_sort_column_id".} -proc gtk_tree_sortable_set_sort_func*(sortable: PGtkTreeSortable, - sort_column_id: gint, - sort_func: TGtkTreeIterCompareFunc, - user_data: gpointer, - destroy: TGtkDestroyNotify){.cdecl, - dynlib: gtklib, importc: "gtk_tree_sortable_set_sort_func".} -proc gtk_tree_sortable_set_default_sort_func*(sortable: PGtkTreeSortable, - sort_func: TGtkTreeIterCompareFunc, user_data: gpointer, - destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib, importc: "gtk_tree_sortable_set_default_sort_func".} -proc gtk_tree_sortable_has_default_sort_func*(sortable: PGtkTreeSortable): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_sortable_has_default_sort_func".} -proc GTK_TYPE_TREE_MODEL_SORT*(): GType -proc GTK_TREE_MODEL_SORT*(obj: pointer): PGtkTreeModelSort -proc GTK_TREE_MODEL_SORT_CLASS*(klass: pointer): PGtkTreeModelSortClass -proc GTK_IS_TREE_MODEL_SORT*(obj: pointer): bool -proc GTK_IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool -proc GTK_TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PGtkTreeModelSortClass -proc gtk_tree_model_sort_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_sort_get_type".} -proc gtk_tree_model_sort_new_with_model*(child_model: PGtkTreeModel): PGtkTreeModel{. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_new_with_model".} -proc gtk_tree_model_sort_get_model*(tree_model: PGtkTreeModelSort): PGtkTreeModel{. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_get_model".} -proc gtk_tree_model_sort_convert_child_path_to_path*( - tree_model_sort: PGtkTreeModelSort, child_path: PGtkTreePath): PGtkTreePath{. - cdecl, dynlib: gtklib, - importc: "gtk_tree_model_sort_convert_child_path_to_path".} -proc gtk_tree_model_sort_convert_child_iter_to_iter*( - tree_model_sort: PGtkTreeModelSort, sort_iter: PGtkTreeIter, - child_iter: PGtkTreeIter){.cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_convert_child_iter_to_iter".} -proc gtk_tree_model_sort_convert_path_to_child_path*( - tree_model_sort: PGtkTreeModelSort, sorted_path: PGtkTreePath): PGtkTreePath{. - cdecl, dynlib: gtklib, - importc: "gtk_tree_model_sort_convert_path_to_child_path".} -proc gtk_tree_model_sort_convert_iter_to_child_iter*( - tree_model_sort: PGtkTreeModelSort, child_iter: PGtkTreeIter, - sorted_iter: PGtkTreeIter){.cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_convert_iter_to_child_iter".} -proc gtk_tree_model_sort_reset_default_sort_func*( - tree_model_sort: PGtkTreeModelSort){.cdecl, dynlib: gtklib, - importc: "gtk_tree_model_sort_reset_default_sort_func".} -proc gtk_tree_model_sort_clear_cache*(tree_model_sort: PGtkTreeModelSort){. - cdecl, dynlib: gtklib, importc: "gtk_tree_model_sort_clear_cache".} -const - bm_TGtkListStore_columns_dirty* = 0x00000001'i16 - bp_TGtkListStore_columns_dirty* = 0'i16 - -proc GTK_TYPE_LIST_STORE*(): GType -proc GTK_LIST_STORE*(obj: pointer): PGtkListStore -proc GTK_LIST_STORE_CLASS*(klass: pointer): PGtkListStoreClass -proc GTK_IS_LIST_STORE*(obj: pointer): bool -proc GTK_IS_LIST_STORE_CLASS*(klass: pointer): bool -proc GTK_LIST_STORE_GET_CLASS*(obj: pointer): PGtkListStoreClass -proc columns_dirty*(a: var TGtkListStore): guint -proc set_columns_dirty*(a: var TGtkListStore, `columns_dirty`: guint) -proc gtk_list_store_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_list_store_get_type".} -proc gtk_list_store_newv*(n_columns: gint, types: PGType): PGtkListStore{.cdecl, - dynlib: gtklib, importc: "gtk_list_store_newv".} -proc gtk_list_store_set_column_types*(list_store: PGtkListStore, - n_columns: gint, types: PGType){.cdecl, - dynlib: gtklib, importc: "gtk_list_store_set_column_types".} -proc gtk_list_store_set_value*(list_store: PGtkListStore, iter: PGtkTreeIter, - column: gint, value: PGValue){.cdecl, - dynlib: gtklib, importc: "gtk_list_store_set_value".} -proc gtk_list_store_remove*(list_store: PGtkListStore, iter: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_list_store_remove".} -proc gtk_list_store_insert*(list_store: PGtkListStore, iter: PGtkTreeIter, - position: gint){.cdecl, dynlib: gtklib, - importc: "gtk_list_store_insert".} -proc gtk_list_store_insert_before*(list_store: PGtkListStore, - iter: PGtkTreeIter, sibling: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_list_store_insert_before".} -proc gtk_list_store_insert_after*(list_store: PGtkListStore, iter: PGtkTreeIter, - sibling: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_list_store_insert_after".} -proc gtk_list_store_prepend*(list_store: PGtkListStore, iter: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_list_store_prepend".} -proc gtk_list_store_append*(list_store: PGtkListStore, iter: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_list_store_append".} -proc gtk_list_store_clear*(list_store: PGtkListStore){.cdecl, dynlib: gtklib, - importc: "gtk_list_store_clear".} - -when false: - const - GTK_PRIORITY_RESIZE* = G_PRIORITY_HIGH_IDLE + 10 - -proc gtk_check_version*(required_major: guint, required_minor: guint, - required_micro: guint): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_check_version".} -proc gtk_disable_setlocale*(){.cdecl, dynlib: gtklib, - importc: "gtk_disable_setlocale".} -proc gtk_set_locale*(): cstring{.cdecl, dynlib: gtklib, importc: "gtk_set_locale".} -proc gtk_get_default_language*(): PPangoLanguage{.cdecl, dynlib: gtklib, - importc: "gtk_get_default_language".} -proc gtk_events_pending*(): gint{.cdecl, dynlib: gtklib, - importc: "gtk_events_pending".} -proc gtk_main_do_event*(event: PGdkEvent){.cdecl, dynlib: gtklib, - importc: "gtk_main_do_event".} -proc gtk_main*(){.cdecl, dynlib: gtklib, importc: "gtk_main".} -proc gtk_init*(argc, argv: pointer){.cdecl, dynlib: gtklib, importc: "gtk_init".} -proc gtk_main_level*(): guint{.cdecl, dynlib: gtklib, importc: "gtk_main_level".} -proc gtk_main_quit*(){.cdecl, dynlib: gtklib, importc: "gtk_main_quit".} -proc gtk_main_iteration*(): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_main_iteration".} -proc gtk_main_iteration_do*(blocking: gboolean): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_main_iteration_do".} -proc gtk_true*(): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_true".} -proc gtk_false*(): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_false".} -proc gtk_grab_add*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_grab_add".} -proc gtk_grab_get_current*(): PGtkWidget{.cdecl, dynlib: gtklib, - importc: "gtk_grab_get_current".} -proc gtk_grab_remove*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_grab_remove".} -proc gtk_init_add*(`function`: TGtkFunction, data: gpointer){.cdecl, - dynlib: gtklib, importc: "gtk_init_add".} -proc gtk_quit_add_destroy*(main_level: guint, anObject: PGtkObject){.cdecl, - dynlib: gtklib, importc: "gtk_quit_add_destroy".} -proc gtk_quit_add*(main_level: guint, `function`: TGtkFunction, data: gpointer): guint{. - cdecl, dynlib: gtklib, importc: "gtk_quit_add".} -proc gtk_quit_add_full*(main_level: guint, `function`: TGtkFunction, - marshal: TGtkCallbackMarshal, data: gpointer, - destroy: TGtkDestroyNotify): guint{.cdecl, - dynlib: gtklib, importc: "gtk_quit_add_full".} -proc gtk_quit_remove*(quit_handler_id: guint){.cdecl, dynlib: gtklib, - importc: "gtk_quit_remove".} -proc gtk_quit_remove_by_data*(data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_quit_remove_by_data".} -proc gtk_timeout_add*(interval: guint32, `function`: TGtkFunction, - data: gpointer): guint{.cdecl, dynlib: gtklib, - importc: "gtk_timeout_add".} -proc gtk_timeout_add_full*(interval: guint32, `function`: TGtkFunction, - marshal: TGtkCallbackMarshal, data: gpointer, - destroy: TGtkDestroyNotify): guint{.cdecl, - dynlib: gtklib, importc: "gtk_timeout_add_full".} -proc gtk_timeout_remove*(timeout_handler_id: guint){.cdecl, dynlib: gtklib, - importc: "gtk_timeout_remove".} -proc gtk_idle_add*(`function`: TGtkFunction, data: gpointer): guint{.cdecl, - dynlib: gtklib, importc: "gtk_idle_add".} -proc gtk_idle_add_priority*(priority: gint, `function`: TGtkFunction, - data: gpointer): guint{.cdecl, dynlib: gtklib, - importc: "gtk_idle_add_priority".} -proc gtk_idle_add_full*(priority: gint, `function`: TGtkFunction, - marshal: TGtkCallbackMarshal, data: gpointer, - destroy: TGtkDestroyNotify): guint{.cdecl, - dynlib: gtklib, importc: "gtk_idle_add_full".} -proc gtk_idle_remove*(idle_handler_id: guint){.cdecl, dynlib: gtklib, - importc: "gtk_idle_remove".} -proc gtk_idle_remove_by_data*(data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_idle_remove_by_data".} -proc gtk_input_add_full*(source: gint, condition: TGdkInputCondition, - `function`: TGdkInputFunction, - marshal: TGtkCallbackMarshal, data: gpointer, - destroy: TGtkDestroyNotify): guint{.cdecl, - dynlib: gtklib, importc: "gtk_input_add_full".} -proc gtk_input_remove*(input_handler_id: guint){.cdecl, dynlib: gtklib, - importc: "gtk_input_remove".} -proc gtk_key_snooper_install*(snooper: TGtkKeySnoopFunc, func_data: gpointer): guint{. - cdecl, dynlib: gtklib, importc: "gtk_key_snooper_install".} -proc gtk_key_snooper_remove*(snooper_handler_id: guint){.cdecl, dynlib: gtklib, - importc: "gtk_key_snooper_remove".} -proc gtk_get_current_event*(): PGdkEvent{.cdecl, dynlib: gtklib, - importc: "gtk_get_current_event".} -proc gtk_get_current_event_time*(): guint32{.cdecl, dynlib: gtklib, - importc: "gtk_get_current_event_time".} -proc gtk_get_current_event_state*(state: PGdkModifierType): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_get_current_event_state".} -proc gtk_get_event_widget*(event: PGdkEvent): PGtkWidget{.cdecl, dynlib: gtklib, - importc: "gtk_get_event_widget".} -proc gtk_propagate_event*(widget: PGtkWidget, event: PGdkEvent){.cdecl, - dynlib: gtklib, importc: "gtk_propagate_event".} -proc gtk_boolean_handled_accumulator*(ihint: PGSignalInvocationHint, - return_accu: PGValue, - handler_return: PGValue, dummy: gpointer): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_boolean_handled_accumulator".} -proc gtk_find_module*(name: cstring, thetype: cstring): cstring{.cdecl, - dynlib: gtklib, importc: "_gtk_find_module".} -proc gtk_get_module_path*(thetype: cstring): PPgchar{.cdecl, dynlib: gtklib, - importc: "_gtk_get_module_path".} -proc GTK_TYPE_MENU_BAR*(): GType -proc GTK_MENU_BAR*(obj: pointer): PGtkMenuBar -proc GTK_MENU_BAR_CLASS*(klass: pointer): PGtkMenuBarClass -proc GTK_IS_MENU_BAR*(obj: pointer): bool -proc GTK_IS_MENU_BAR_CLASS*(klass: pointer): bool -proc GTK_MENU_BAR_GET_CLASS*(obj: pointer): PGtkMenuBarClass -proc gtk_menu_bar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_menu_bar_get_type".} -proc gtk_menu_bar_new*(): PGtkMenuBar{.cdecl, dynlib: gtklib, - importc: "gtk_menu_bar_new".} -proc gtk_menu_bar_cycle_focus*(menubar: PGtkMenuBar, dir: TGtkDirectionType){. - cdecl, dynlib: gtklib, importc: "_gtk_menu_bar_cycle_focus".} -proc GTK_TYPE_MESSAGE_DIALOG*(): GType -proc GTK_MESSAGE_DIALOG*(obj: pointer): PGtkMessageDialog -proc GTK_MESSAGE_DIALOG_CLASS*(klass: pointer): PGtkMessageDialogClass -proc GTK_IS_MESSAGE_DIALOG*(obj: pointer): bool -proc GTK_IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool -proc GTK_MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PGtkMessageDialogClass -proc gtk_message_dialog_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_message_dialog_get_type".} -const - bm_TGtkNotebook_show_tabs* = 0x00000001'i16 - bp_TGtkNotebook_show_tabs* = 0'i16 - bm_TGtkNotebook_homogeneous* = 0x00000002'i16 - bp_TGtkNotebook_homogeneous* = 1'i16 - bm_TGtkNotebook_show_border* = 0x00000004'i16 - bp_TGtkNotebook_show_border* = 2'i16 - bm_TGtkNotebook_tab_pos* = 0x00000018'i16 - bp_TGtkNotebook_tab_pos* = 3'i16 - bm_TGtkNotebook_scrollable* = 0x00000020'i16 - bp_TGtkNotebook_scrollable* = 5'i16 - bm_TGtkNotebook_in_child* = 0x000000C0'i16 - bp_TGtkNotebook_in_child* = 6'i16 - bm_TGtkNotebook_click_child* = 0x00000300'i16 - bp_TGtkNotebook_click_child* = 8'i16 - bm_TGtkNotebook_button* = 0x00000C00'i16 - bp_TGtkNotebook_button* = 10'i16 - bm_TGtkNotebook_need_timer* = 0x00001000'i16 - bp_TGtkNotebook_need_timer* = 12'i16 - bm_TGtkNotebook_child_has_focus* = 0x00002000'i16 - bp_TGtkNotebook_child_has_focus* = 13'i16 - bm_TGtkNotebook_have_visible_child* = 0x00004000'i16 - bp_TGtkNotebook_have_visible_child* = 14'i16 - bm_TGtkNotebook_focus_out* = 0x00008000'i16 - bp_TGtkNotebook_focus_out* = 15'i16 - -proc GTK_TYPE_NOTEBOOK*(): GType -proc GTK_NOTEBOOK*(obj: pointer): PGtkNotebook -proc GTK_NOTEBOOK_CLASS*(klass: pointer): PGtkNotebookClass -proc GTK_IS_NOTEBOOK*(obj: pointer): bool -proc GTK_IS_NOTEBOOK_CLASS*(klass: pointer): bool -proc GTK_NOTEBOOK_GET_CLASS*(obj: pointer): PGtkNotebookClass -proc show_tabs*(a: var TGtkNotebook): guint -proc set_show_tabs*(a: var TGtkNotebook, `show_tabs`: guint) -proc homogeneous*(a: var TGtkNotebook): guint -proc set_homogeneous*(a: var TGtkNotebook, `homogeneous`: guint) -proc show_border*(a: var TGtkNotebook): guint -proc set_show_border*(a: var TGtkNotebook, `show_border`: guint) -proc tab_pos*(a: var TGtkNotebook): guint -proc set_tab_pos*(a: var TGtkNotebook, `tab_pos`: guint) -proc scrollable*(a: var TGtkNotebook): guint -proc set_scrollable*(a: var TGtkNotebook, `scrollable`: guint) -proc in_child*(a: var TGtkNotebook): guint -proc set_in_child*(a: var TGtkNotebook, `in_child`: guint) -proc click_child*(a: var TGtkNotebook): guint -proc set_click_child*(a: var TGtkNotebook, `click_child`: guint) -proc button*(a: var TGtkNotebook): guint -proc set_button*(a: var TGtkNotebook, `button`: guint) -proc need_timer*(a: var TGtkNotebook): guint -proc set_need_timer*(a: var TGtkNotebook, `need_timer`: guint) -proc child_has_focus*(a: var TGtkNotebook): guint -proc set_child_has_focus*(a: var TGtkNotebook, `child_has_focus`: guint) -proc have_visible_child*(a: var TGtkNotebook): guint -proc set_have_visible_child*(a: var TGtkNotebook, `have_visible_child`: guint) -proc focus_out*(a: var TGtkNotebook): guint -proc set_focus_out*(a: var TGtkNotebook, `focus_out`: guint) -proc gtk_notebook_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_notebook_get_type".} -proc gtk_notebook_new*(): PGtkNotebook{.cdecl, dynlib: gtklib, - importc: "gtk_notebook_new".} -proc gtk_notebook_append_page*(notebook: PGtkNotebook, child: PGtkWidget, - tab_label: PGtkWidget): gint{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_append_page".} -proc gtk_notebook_append_page_menu*(notebook: PGtkNotebook, child: PGtkWidget, - tab_label: PGtkWidget, - menu_label: PGtkWidget): gint{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_append_page_menu".} -proc gtk_notebook_prepend_page*(notebook: PGtkNotebook, child: PGtkWidget, - tab_label: PGtkWidget): gint{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_prepend_page".} -proc gtk_notebook_prepend_page_menu*(notebook: PGtkNotebook, child: PGtkWidget, - tab_label: PGtkWidget, - menu_label: PGtkWidget): gint{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_prepend_page_menu".} -proc gtk_notebook_insert_page*(notebook: PGtkNotebook, child: PGtkWidget, - tab_label: PGtkWidget, position: gint): gint{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_insert_page".} -proc gtk_notebook_insert_page_menu*(notebook: PGtkNotebook, child: PGtkWidget, - tab_label: PGtkWidget, - menu_label: PGtkWidget, position: gint): gint{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_insert_page_menu".} -proc gtk_notebook_remove_page*(notebook: PGtkNotebook, page_num: gint){.cdecl, - dynlib: gtklib, importc: "gtk_notebook_remove_page".} -proc gtk_notebook_get_current_page*(notebook: PGtkNotebook): gint{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_get_current_page".} -proc gtk_notebook_get_n_pages*(notebook: PGtkNotebook): gint {.cdecl, - dynlib: gtklib, importc.} -proc gtk_notebook_get_nth_page*(notebook: PGtkNotebook, page_num: gint): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_get_nth_page".} -proc gtk_notebook_page_num*(notebook: PGtkNotebook, child: PGtkWidget): gint{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_page_num".} -proc gtk_notebook_set_current_page*(notebook: PGtkNotebook, page_num: gint){. - cdecl, dynlib: gtklib, importc: "gtk_notebook_set_current_page".} -proc gtk_notebook_next_page*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_next_page".} -proc gtk_notebook_prev_page*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_prev_page".} -proc gtk_notebook_set_show_border*(notebook: PGtkNotebook, show_border: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_notebook_set_show_border".} -proc gtk_notebook_get_show_border*(notebook: PGtkNotebook): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_get_show_border".} -proc gtk_notebook_set_show_tabs*(notebook: PGtkNotebook, show_tabs: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_notebook_set_show_tabs".} -proc gtk_notebook_get_show_tabs*(notebook: PGtkNotebook): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_get_show_tabs".} -proc gtk_notebook_set_tab_pos*(notebook: PGtkNotebook, pos: TGtkPositionType){. - cdecl, dynlib: gtklib, importc: "gtk_notebook_set_tab_pos".} -proc gtk_notebook_get_tab_pos*(notebook: PGtkNotebook): TGtkPositionType{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_get_tab_pos".} -proc gtk_notebook_set_scrollable*(notebook: PGtkNotebook, scrollable: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_notebook_set_scrollable".} -proc gtk_notebook_get_scrollable*(notebook: PGtkNotebook): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_notebook_get_scrollable".} -proc gtk_notebook_popup_enable*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_popup_enable".} -proc gtk_notebook_popup_disable*(notebook: PGtkNotebook){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_popup_disable".} -proc gtk_notebook_get_tab_label*(notebook: PGtkNotebook, child: PGtkWidget): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_get_tab_label".} -proc gtk_notebook_set_tab_label*(notebook: PGtkNotebook, child: PGtkWidget, - tab_label: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_set_tab_label".} -proc gtk_notebook_set_tab_label_text*(notebook: PGtkNotebook, child: PGtkWidget, - tab_text: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_set_tab_label_text".} -proc gtk_notebook_get_tab_label_text*(notebook: PGtkNotebook, child: PGtkWidget): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_get_tab_label_text".} -proc gtk_notebook_get_menu_label*(notebook: PGtkNotebook, child: PGtkWidget): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_get_menu_label".} -proc gtk_notebook_set_menu_label*(notebook: PGtkNotebook, child: PGtkWidget, - menu_label: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_notebook_set_menu_label".} -proc gtk_notebook_set_menu_label_text*(notebook: PGtkNotebook, - child: PGtkWidget, menu_text: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_notebook_set_menu_label_text".} -proc gtk_notebook_get_menu_label_text*(notebook: PGtkNotebook, child: PGtkWidget): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_notebook_get_menu_label_text".} -proc gtk_notebook_query_tab_label_packing*(notebook: PGtkNotebook, - child: PGtkWidget, expand: Pgboolean, fill: Pgboolean, - pack_type: PGtkPackType){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_query_tab_label_packing".} -proc gtk_notebook_set_tab_label_packing*(notebook: PGtkNotebook, - child: PGtkWidget, expand: gboolean, fill: gboolean, pack_type: TGtkPackType){. - cdecl, dynlib: gtklib, importc: "gtk_notebook_set_tab_label_packing".} -proc gtk_notebook_reorder_child*(notebook: PGtkNotebook, child: PGtkWidget, - position: gint){.cdecl, dynlib: gtklib, - importc: "gtk_notebook_reorder_child".} -const - bm_TGtkOldEditable_has_selection* = 0x00000001'i16 - bp_TGtkOldEditable_has_selection* = 0'i16 - bm_TGtkOldEditable_editable* = 0x00000002'i16 - bp_TGtkOldEditable_editable* = 1'i16 - bm_TGtkOldEditable_visible* = 0x00000004'i16 - bp_TGtkOldEditable_visible* = 2'i16 - -proc GTK_TYPE_OLD_EDITABLE*(): GType -proc GTK_OLD_EDITABLE*(obj: pointer): PGtkOldEditable -proc GTK_OLD_EDITABLE_CLASS*(klass: pointer): PGtkOldEditableClass -proc GTK_IS_OLD_EDITABLE*(obj: pointer): bool -proc GTK_IS_OLD_EDITABLE_CLASS*(klass: pointer): bool -proc GTK_OLD_EDITABLE_GET_CLASS*(obj: pointer): PGtkOldEditableClass -proc has_selection*(a: var TGtkOldEditable): guint -proc set_has_selection*(a: var TGtkOldEditable, `has_selection`: guint) -proc editable*(a: var TGtkOldEditable): guint -proc set_editable*(a: var TGtkOldEditable, `editable`: guint) -proc visible*(a: var TGtkOldEditable): guint -proc set_visible*(a: var TGtkOldEditable, `visible`: guint) -proc gtk_old_editable_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_old_editable_get_type".} -proc gtk_old_editable_claim_selection*(old_editable: PGtkOldEditable, - claim: gboolean, time: guint32){.cdecl, - dynlib: gtklib, importc: "gtk_old_editable_claim_selection".} -proc gtk_old_editable_changed*(old_editable: PGtkOldEditable){.cdecl, - dynlib: gtklib, importc: "gtk_old_editable_changed".} -proc GTK_TYPE_OPTION_MENU*(): GType -proc GTK_OPTION_MENU*(obj: pointer): PGtkOptionMenu -proc GTK_OPTION_MENU_CLASS*(klass: pointer): PGtkOptionMenuClass -proc GTK_IS_OPTION_MENU*(obj: pointer): bool -proc GTK_IS_OPTION_MENU_CLASS*(klass: pointer): bool -proc GTK_OPTION_MENU_GET_CLASS*(obj: pointer): PGtkOptionMenuClass -proc gtk_option_menu_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_option_menu_get_type".} -proc gtk_option_menu_new*(): PGtkOptionMenu{.cdecl, dynlib: gtklib, - importc: "gtk_option_menu_new".} -proc gtk_option_menu_get_menu*(option_menu: PGtkOptionMenu): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_option_menu_get_menu".} -proc gtk_option_menu_set_menu*(option_menu: PGtkOptionMenu, menu: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_option_menu_set_menu".} -proc gtk_option_menu_remove_menu*(option_menu: PGtkOptionMenu){.cdecl, - dynlib: gtklib, importc: "gtk_option_menu_remove_menu".} -proc gtk_option_menu_get_history*(option_menu: PGtkOptionMenu): gint{.cdecl, - dynlib: gtklib, importc: "gtk_option_menu_get_history".} -proc gtk_option_menu_set_history*(option_menu: PGtkOptionMenu, index: guint){. - cdecl, dynlib: gtklib, importc: "gtk_option_menu_set_history".} -const - bm_TGtkPixmap_build_insensitive* = 0x00000001'i16 - bp_TGtkPixmap_build_insensitive* = 0'i16 - -proc GTK_TYPE_PIXMAP*(): GType -proc GTK_PIXMAP*(obj: pointer): PGtkPixmap -proc GTK_PIXMAP_CLASS*(klass: pointer): PGtkPixmapClass -proc GTK_IS_PIXMAP*(obj: pointer): bool -proc GTK_IS_PIXMAP_CLASS*(klass: pointer): bool -proc GTK_PIXMAP_GET_CLASS*(obj: pointer): PGtkPixmapClass -proc build_insensitive*(a: var TGtkPixmap): guint -proc set_build_insensitive*(a: var TGtkPixmap, `build_insensitive`: guint) -proc gtk_pixmap_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_pixmap_get_type".} -proc gtk_pixmap_new*(pixmap: PGdkPixmap, mask: PGdkBitmap): PGtkPixmap{.cdecl, - dynlib: gtklib, importc: "gtk_pixmap_new".} -proc gtk_pixmap_set*(pixmap: PGtkPixmap, val: PGdkPixmap, mask: PGdkBitmap){. - cdecl, dynlib: gtklib, importc: "gtk_pixmap_set".} -proc gtk_pixmap_get*(pixmap: PGtkPixmap, val: var PGdkPixmap, - mask: var PGdkBitmap){.cdecl, dynlib: gtklib, - importc: "gtk_pixmap_get".} -proc gtk_pixmap_set_build_insensitive*(pixmap: PGtkPixmap, build: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_pixmap_set_build_insensitive".} -const - bm_TGtkPlug_same_app* = 0x00000001'i16 - bp_TGtkPlug_same_app* = 0'i16 - -proc GTK_TYPE_PLUG*(): GType -proc GTK_PLUG*(obj: pointer): PGtkPlug -proc GTK_PLUG_CLASS*(klass: pointer): PGtkPlugClass -proc GTK_IS_PLUG*(obj: pointer): bool -proc GTK_IS_PLUG_CLASS*(klass: pointer): bool -proc GTK_PLUG_GET_CLASS*(obj: pointer): PGtkPlugClass -proc same_app*(a: var TGtkPlug): guint -proc set_same_app*(a: var TGtkPlug, `same_app`: guint) -proc gtk_plug_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_plug_get_type".} -proc gtk_plug_construct_for_display*(plug: PGtkPlug, display: PGdkDisplay, - socket_id: TGdkNativeWindow){.cdecl, - dynlib: gtklib, importc: "gtk_plug_construct_for_display".} -proc gtk_plug_new_for_display*(display: PGdkDisplay, socket_id: TGdkNativeWindow): PGtkPlug{. - cdecl, dynlib: gtklib, importc: "gtk_plug_new_for_display".} -proc gtk_plug_get_id*(plug: PGtkPlug): TGdkNativeWindow{.cdecl, dynlib: gtklib, - importc: "gtk_plug_get_id".} -proc gtk_plug_add_to_socket*(plug: PGtkPlug, socket: PGtkSocket){.cdecl, - dynlib: gtklib, importc: "_gtk_plug_add_to_socket".} -proc gtk_plug_remove_from_socket*(plug: PGtkPlug, socket: PGtkSocket){.cdecl, - dynlib: gtklib, importc: "_gtk_plug_remove_from_socket".} -const - bm_TGtkPreview_type* = 0x00000001'i16 - bp_TGtkPreview_type* = 0'i16 - bm_TGtkPreview_expand* = 0x00000002'i16 - bp_TGtkPreview_expand* = 1'i16 - -proc GTK_TYPE_PREVIEW*(): GType -proc GTK_PREVIEW*(obj: pointer): PGtkPreview -proc GTK_PREVIEW_CLASS*(klass: pointer): PGtkPreviewClass -proc GTK_IS_PREVIEW*(obj: pointer): bool -proc GTK_IS_PREVIEW_CLASS*(klass: pointer): bool -proc GTK_PREVIEW_GET_CLASS*(obj: pointer): PGtkPreviewClass -proc get_type*(a: var TGtkPreview): guint -proc set_type*(a: var TGtkPreview, `type`: guint) -proc get_expand*(a: var TGtkPreview): guint -proc set_expand*(a: var TGtkPreview, `expand`: guint) -proc gtk_preview_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_preview_get_type".} -proc gtk_preview_uninit*(){.cdecl, dynlib: gtklib, importc: "gtk_preview_uninit".} -proc gtk_preview_new*(thetype: TGtkPreviewClass): PGtkPreview{.cdecl, - dynlib: gtklib, importc: "gtk_preview_new".} -proc gtk_preview_size*(preview: PGtkPreview, width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "gtk_preview_size".} -proc gtk_preview_put*(preview: PGtkPreview, window: PGdkWindow, gc: PGdkGC, - srcx: gint, srcy: gint, destx: gint, desty: gint, - width: gint, height: gint){.cdecl, dynlib: gtklib, - importc: "gtk_preview_put".} -proc gtk_preview_draw_row*(preview: PGtkPreview, data: Pguchar, x: gint, - y: gint, w: gint){.cdecl, dynlib: gtklib, - importc: "gtk_preview_draw_row".} -proc gtk_preview_set_expand*(preview: PGtkPreview, expand: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_preview_set_expand".} -proc gtk_preview_set_gamma*(gamma: float64){.cdecl, dynlib: gtklib, - importc: "gtk_preview_set_gamma".} -proc gtk_preview_set_color_cube*(nred_shades: guint, ngreen_shades: guint, - nblue_shades: guint, ngray_shades: guint){. - cdecl, dynlib: gtklib, importc: "gtk_preview_set_color_cube".} -proc gtk_preview_set_install_cmap*(install_cmap: gint){.cdecl, dynlib: gtklib, - importc: "gtk_preview_set_install_cmap".} -proc gtk_preview_set_reserved*(nreserved: gint){.cdecl, dynlib: gtklib, - importc: "gtk_preview_set_reserved".} -proc gtk_preview_set_dither*(preview: PGtkPreview, dither: TGdkRgbDither){. - cdecl, dynlib: gtklib, importc: "gtk_preview_set_dither".} -proc gtk_preview_get_info*(): PGtkPreviewInfo{.cdecl, dynlib: gtklib, - importc: "gtk_preview_get_info".} -proc gtk_preview_reset*(){.cdecl, dynlib: gtklib, importc: "gtk_preview_reset".} -const - bm_TGtkProgress_show_text* = 0x00000001'i16 - bp_TGtkProgress_show_text* = 0'i16 - bm_TGtkProgress_activity_mode* = 0x00000002'i16 - bp_TGtkProgress_activity_mode* = 1'i16 - bm_TGtkProgress_use_text_format* = 0x00000004'i16 - bp_TGtkProgress_use_text_format* = 2'i16 - -proc show_text*(a: var TGtkProgress): guint -proc set_show_text*(a: var TGtkProgress, `show_text`: guint) -proc activity_mode*(a: var TGtkProgress): guint -proc set_activity_mode*(a: var TGtkProgress, `activity_mode`: guint) -proc use_text_format*(a: var TGtkProgress): guint -proc set_use_text_format*(a: var TGtkProgress, `use_text_format`: guint) -const - bm_TGtkProgressBar_activity_dir* = 0x00000001'i16 - bp_TGtkProgressBar_activity_dir* = 0'i16 - -proc GTK_TYPE_PROGRESS_BAR*(): GType -proc GTK_PROGRESS_BAR*(obj: pointer): PGtkProgressBar -proc GTK_PROGRESS_BAR_CLASS*(klass: pointer): PGtkProgressBarClass -proc GTK_IS_PROGRESS_BAR*(obj: pointer): bool -proc GTK_IS_PROGRESS_BAR_CLASS*(klass: pointer): bool -proc GTK_PROGRESS_BAR_GET_CLASS*(obj: pointer): PGtkProgressBarClass -proc activity_dir*(a: var TGtkProgressBar): guint -proc set_activity_dir*(a: var TGtkProgressBar, `activity_dir`: guint) -proc gtk_progress_bar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_progress_bar_get_type".} -proc gtk_progress_bar_new*(): PGtkProgressBar{.cdecl, dynlib: gtklib, - importc: "gtk_progress_bar_new".} -proc gtk_progress_bar_pulse*(pbar: PGtkProgressBar){.cdecl, dynlib: gtklib, - importc: "gtk_progress_bar_pulse".} -proc gtk_progress_bar_set_text*(pbar: PGtkProgressBar, text: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_progress_bar_set_text".} -proc gtk_progress_bar_set_fraction*(pbar: PGtkProgressBar, fraction: gdouble){. - cdecl, dynlib: gtklib, importc: "gtk_progress_bar_set_fraction".} -proc gtk_progress_bar_set_pulse_step*(pbar: PGtkProgressBar, fraction: gdouble){. - cdecl, dynlib: gtklib, importc: "gtk_progress_bar_set_pulse_step".} -proc gtk_progress_bar_set_orientation*(pbar: PGtkProgressBar, - orientation: TGtkProgressBarOrientation){. - cdecl, dynlib: gtklib, importc: "gtk_progress_bar_set_orientation".} -proc gtk_progress_bar_get_text*(pbar: PGtkProgressBar): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_progress_bar_get_text".} -proc gtk_progress_bar_get_fraction*(pbar: PGtkProgressBar): gdouble{.cdecl, - dynlib: gtklib, importc: "gtk_progress_bar_get_fraction".} -proc gtk_progress_bar_get_pulse_step*(pbar: PGtkProgressBar): gdouble{.cdecl, - dynlib: gtklib, importc: "gtk_progress_bar_get_pulse_step".} -proc gtk_progress_bar_get_orientation*(pbar: PGtkProgressBar): TGtkProgressBarOrientation{. - cdecl, dynlib: gtklib, importc: "gtk_progress_bar_get_orientation".} -proc GTK_TYPE_RADIO_BUTTON*(): GType -proc GTK_RADIO_BUTTON*(obj: pointer): PGtkRadioButton -proc GTK_RADIO_BUTTON_CLASS*(klass: pointer): PGtkRadioButtonClass -proc GTK_IS_RADIO_BUTTON*(obj: pointer): bool -proc GTK_IS_RADIO_BUTTON_CLASS*(klass: pointer): bool -proc GTK_RADIO_BUTTON_GET_CLASS*(obj: pointer): PGtkRadioButtonClass -proc gtk_radio_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_radio_button_get_type".} -proc gtk_radio_button_new*(group: PGSList): PGtkRadioButton{.cdecl, dynlib: gtklib, - importc: "gtk_radio_button_new".} -proc gtk_radio_button_new_from_widget*(group: PGtkRadioButton): PGtkRadioButton{. - cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_from_widget".} -proc gtk_radio_button_new_with_label*(group: PGSList, `label`: cstring): PGtkRadioButton{. - cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_label".} -proc gtk_radio_button_new_with_label_from_widget*(group: PGtkRadioButton, - `label`: cstring): PGtkRadioButton{.cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_label_from_widget".} -proc gtk_radio_button_new_with_mnemonic*(group: PGSList, `label`: cstring): PGtkRadioButton{. - cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_mnemonic".} -proc gtk_radio_button_new_with_mnemonic_from_widget*(group: PGtkRadioButton, - `label`: cstring): PGtkRadioButton{.cdecl, dynlib: gtklib, importc: "gtk_radio_button_new_with_mnemonic_from_widget".} -proc gtk_radio_button_get_group*(radio_button: PGtkRadioButton): PGSList{.cdecl, - dynlib: gtklib, importc: "gtk_radio_button_get_group".} -proc gtk_radio_button_set_group*(radio_button: PGtkRadioButton, group: PGSList){. - cdecl, dynlib: gtklib, importc: "gtk_radio_button_set_group".} -proc GTK_TYPE_RADIO_MENU_ITEM*(): GType -proc GTK_RADIO_MENU_ITEM*(obj: pointer): PGtkRadioMenuItem -proc GTK_RADIO_MENU_ITEM_CLASS*(klass: pointer): PGtkRadioMenuItemClass -proc GTK_IS_RADIO_MENU_ITEM*(obj: pointer): bool -proc GTK_IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool -proc GTK_RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkRadioMenuItemClass -proc gtk_radio_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_radio_menu_item_get_type".} -proc gtk_radio_menu_item_new*(group: PGSList): PGtkRadioMenuItem{.cdecl, - dynlib: gtklib, importc: "gtk_radio_menu_item_new".} -proc gtk_radio_menu_item_new_with_label*(group: PGSList, `label`: cstring): PGtkRadioMenuItem{. - cdecl, dynlib: gtklib, importc: "gtk_radio_menu_item_new_with_label".} -proc gtk_radio_menu_item_new_with_mnemonic*(group: PGSList, `label`: cstring): PGtkRadioMenuItem{. - cdecl, dynlib: gtklib, importc: "gtk_radio_menu_item_new_with_mnemonic".} -proc gtk_radio_menu_item_get_group*(radio_menu_item: PGtkRadioMenuItem): PGSList{. - cdecl, dynlib: gtklib, importc: "gtk_radio_menu_item_get_group".} -proc gtk_radio_menu_item_set_group*(radio_menu_item: PGtkRadioMenuItem, - group: PGSList){.cdecl, dynlib: gtklib, - importc: "gtk_radio_menu_item_set_group".} -const - bm_TGtkScrolledWindow_hscrollbar_policy* = 0x00000003'i16 - bp_TGtkScrolledWindow_hscrollbar_policy* = 0'i16 - bm_TGtkScrolledWindow_vscrollbar_policy* = 0x0000000C'i16 - bp_TGtkScrolledWindow_vscrollbar_policy* = 2'i16 - bm_TGtkScrolledWindow_hscrollbar_visible* = 0x00000010'i16 - bp_TGtkScrolledWindow_hscrollbar_visible* = 4'i16 - bm_TGtkScrolledWindow_vscrollbar_visible* = 0x00000020'i16 - bp_TGtkScrolledWindow_vscrollbar_visible* = 5'i16 - bm_TGtkScrolledWindow_window_placement* = 0x000000C0'i16 - bp_TGtkScrolledWindow_window_placement* = 6'i16 - bm_TGtkScrolledWindow_focus_out* = 0x00000100'i16 - bp_TGtkScrolledWindow_focus_out* = 8'i16 - -proc GTK_TYPE_SCROLLED_WINDOW*(): GType -proc GTK_SCROLLED_WINDOW*(obj: pointer): PGtkScrolledWindow -proc GTK_SCROLLED_WINDOW_CLASS*(klass: pointer): PGtkScrolledWindowClass -proc GTK_IS_SCROLLED_WINDOW*(obj: pointer): bool -proc GTK_IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool -proc GTK_SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PGtkScrolledWindowClass -proc hscrollbar_policy*(a: var TGtkScrolledWindow): guint -proc set_hscrollbar_policy*(a: var TGtkScrolledWindow, - `hscrollbar_policy`: guint) -proc vscrollbar_policy*(a: var TGtkScrolledWindow): guint -proc set_vscrollbar_policy*(a: var TGtkScrolledWindow, - `vscrollbar_policy`: guint) -proc hscrollbar_visible*(a: var TGtkScrolledWindow): guint -proc set_hscrollbar_visible*(a: var TGtkScrolledWindow, - `hscrollbar_visible`: guint) -proc vscrollbar_visible*(a: var TGtkScrolledWindow): guint -proc set_vscrollbar_visible*(a: var TGtkScrolledWindow, - `vscrollbar_visible`: guint) -proc window_placement*(a: var TGtkScrolledWindow): guint -proc set_window_placement*(a: var TGtkScrolledWindow, `window_placement`: guint) -proc focus_out*(a: var TGtkScrolledWindow): guint -proc set_focus_out*(a: var TGtkScrolledWindow, `focus_out`: guint) -proc gtk_scrolled_window_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_scrolled_window_get_type".} -proc gtk_scrolled_window_new*(hadjustment: PGtkAdjustment, - vadjustment: PGtkAdjustment): PGtkScrolledWindow{.cdecl, - dynlib: gtklib, importc: "gtk_scrolled_window_new".} -proc gtk_scrolled_window_set_hadjustment*(scrolled_window: PGtkScrolledWindow, - hadjustment: PGtkAdjustment){.cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_set_hadjustment".} -proc gtk_scrolled_window_set_vadjustment*(scrolled_window: PGtkScrolledWindow, - hadjustment: PGtkAdjustment){.cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_set_vadjustment".} -proc gtk_scrolled_window_get_hadjustment*(scrolled_window: PGtkScrolledWindow): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_hadjustment".} -proc gtk_scrolled_window_get_vadjustment*(scrolled_window: PGtkScrolledWindow): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_vadjustment".} -proc gtk_scrolled_window_set_policy*(scrolled_window: PGtkScrolledWindow, - hscrollbar_policy: TGtkPolicyType, - vscrollbar_policy: TGtkPolicyType){.cdecl, - dynlib: gtklib, importc: "gtk_scrolled_window_set_policy".} -proc gtk_scrolled_window_get_policy*(scrolled_window: PGtkScrolledWindow, - hscrollbar_policy: PGtkPolicyType, - vscrollbar_policy: PGtkPolicyType){.cdecl, - dynlib: gtklib, importc: "gtk_scrolled_window_get_policy".} -proc gtk_scrolled_window_set_placement*(scrolled_window: PGtkScrolledWindow, - window_placement: TGtkCornerType){. - cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_set_placement".} -proc gtk_scrolled_window_get_placement*(scrolled_window: PGtkScrolledWindow): TGtkCornerType{. - cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_placement".} -proc gtk_scrolled_window_set_shadow_type*(scrolled_window: PGtkScrolledWindow, - thetype: TGtkShadowType){.cdecl, dynlib: gtklib, - importc: "gtk_scrolled_window_set_shadow_type".} -proc gtk_scrolled_window_get_shadow_type*(scrolled_window: PGtkScrolledWindow): TGtkShadowType{. - cdecl, dynlib: gtklib, importc: "gtk_scrolled_window_get_shadow_type".} -proc gtk_scrolled_window_add_with_viewport*(scrolled_window: PGtkScrolledWindow, - child: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_scrolled_window_add_with_viewport".} -proc GTK_TYPE_SELECTION_DATA*(): GType -proc gtk_target_list_new*(targets: PGtkTargetEntry, ntargets: guint): PGtkTargetList{. - cdecl, dynlib: gtklib, importc: "gtk_target_list_new".} -proc gtk_target_list_ref*(list: PGtkTargetList){.cdecl, dynlib: gtklib, - importc: "gtk_target_list_ref".} -proc gtk_target_list_unref*(list: PGtkTargetList){.cdecl, dynlib: gtklib, - importc: "gtk_target_list_unref".} -proc gtk_target_list_add*(list: PGtkTargetList, target: TGdkAtom, flags: guint, - info: guint){.cdecl, dynlib: gtklib, - importc: "gtk_target_list_add".} -proc gtk_target_list_add_table*(list: PGtkTargetList, targets: PGtkTargetEntry, - ntargets: guint){.cdecl, dynlib: gtklib, - importc: "gtk_target_list_add_table".} -proc gtk_target_list_remove*(list: PGtkTargetList, target: TGdkAtom){.cdecl, - dynlib: gtklib, importc: "gtk_target_list_remove".} -proc gtk_target_list_find*(list: PGtkTargetList, target: TGdkAtom, info: Pguint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_target_list_find".} -proc gtk_selection_owner_set*(widget: PGtkWidget, selection: TGdkAtom, - time: guint32): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_selection_owner_set".} -proc gtk_selection_owner_set_for_display*(display: PGdkDisplay, - widget: PGtkWidget, selection: TGdkAtom, time: guint32): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_selection_owner_set_for_display".} -proc gtk_selection_add_target*(widget: PGtkWidget, selection: TGdkAtom, - target: TGdkAtom, info: guint){.cdecl, - dynlib: gtklib, importc: "gtk_selection_add_target".} -proc gtk_selection_add_targets*(widget: PGtkWidget, selection: TGdkAtom, - targets: PGtkTargetEntry, ntargets: guint){. - cdecl, dynlib: gtklib, importc: "gtk_selection_add_targets".} -proc gtk_selection_clear_targets*(widget: PGtkWidget, selection: TGdkAtom){. - cdecl, dynlib: gtklib, importc: "gtk_selection_clear_targets".} -proc gtk_selection_convert*(widget: PGtkWidget, selection: TGdkAtom, - target: TGdkAtom, time: guint32): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_selection_convert".} -proc gtk_selection_data_set*(selection_data: PGtkSelectionData, - thetype: TGdkAtom, format: gint, data: Pguchar, - length: gint){.cdecl, dynlib: gtklib, - importc: "gtk_selection_data_set".} -proc gtk_selection_data_set_text*(selection_data: PGtkSelectionData, - str: cstring, len: gint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_selection_data_set_text".} -proc gtk_selection_data_get_text*(selection_data: PGtkSelectionData): Pguchar{. - cdecl, dynlib: gtklib, importc: "gtk_selection_data_get_text".} -proc gtk_selection_data_targets_include_text*(selection_data: PGtkSelectionData): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_selection_data_targets_include_text".} -proc gtk_selection_remove_all*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_selection_remove_all".} -proc gtk_selection_clear*(widget: PGtkWidget, event: PGdkEventSelection): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_selection_clear".} -proc gtk_selection_request*(widget: PGtkWidget, event: PGdkEventSelection): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_selection_request".} -proc gtk_selection_incr_event*(window: PGdkWindow, event: PGdkEventProperty): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_selection_incr_event".} -proc gtk_selection_notify*(widget: PGtkWidget, event: PGdkEventSelection): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_selection_notify".} -proc gtk_selection_property_notify*(widget: PGtkWidget, event: PGdkEventProperty): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_selection_property_notify".} -proc gtk_selection_data_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_selection_data_get_type".} -proc gtk_selection_data_copy*(data: PGtkSelectionData): PGtkSelectionData{. - cdecl, dynlib: gtklib, importc: "gtk_selection_data_copy".} -proc gtk_selection_data_free*(data: PGtkSelectionData){.cdecl, dynlib: gtklib, - importc: "gtk_selection_data_free".} -proc GTK_TYPE_SEPARATOR_MENU_ITEM*(): GType -proc GTK_SEPARATOR_MENU_ITEM*(obj: pointer): PGtkSeparatorMenuItem -proc GTK_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PGtkSeparatorMenuItemClass -proc GTK_IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool -proc GTK_IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool -proc GTK_SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkSeparatorMenuItemClass -proc gtk_separator_menu_item_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_separator_menu_item_get_type".} -proc gtk_separator_menu_item_new*(): PGtkSeparatorMenuItem{.cdecl, dynlib: gtklib, - importc: "gtk_separator_menu_item_new".} -const - bm_TGtkSizeGroup_have_width* = 0x00000001'i16 - bp_TGtkSizeGroup_have_width* = 0'i16 - bm_TGtkSizeGroup_have_height* = 0x00000002'i16 - bp_TGtkSizeGroup_have_height* = 1'i16 - -proc GTK_TYPE_SIZE_GROUP*(): GType -proc GTK_SIZE_GROUP*(obj: pointer): PGtkSizeGroup -proc GTK_SIZE_GROUP_CLASS*(klass: pointer): PGtkSizeGroupClass -proc GTK_IS_SIZE_GROUP*(obj: pointer): bool -proc GTK_IS_SIZE_GROUP_CLASS*(klass: pointer): bool -proc GTK_SIZE_GROUP_GET_CLASS*(obj: pointer): PGtkSizeGroupClass -proc have_width*(a: var TGtkSizeGroup): guint -proc set_have_width*(a: var TGtkSizeGroup, `have_width`: guint) -proc have_height*(a: var TGtkSizeGroup): guint -proc set_have_height*(a: var TGtkSizeGroup, `have_height`: guint) -proc gtk_size_group_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_size_group_get_type".} -proc gtk_size_group_new*(mode: TGtkSizeGroupMode): PGtkSizeGroup{.cdecl, - dynlib: gtklib, importc: "gtk_size_group_new".} -proc gtk_size_group_set_mode*(size_group: PGtkSizeGroup, mode: TGtkSizeGroupMode){. - cdecl, dynlib: gtklib, importc: "gtk_size_group_set_mode".} -proc gtk_size_group_get_mode*(size_group: PGtkSizeGroup): TGtkSizeGroupMode{. - cdecl, dynlib: gtklib, importc: "gtk_size_group_get_mode".} -proc gtk_size_group_add_widget*(size_group: PGtkSizeGroup, widget: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_size_group_add_widget".} -proc gtk_size_group_remove_widget*(size_group: PGtkSizeGroup, widget: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_size_group_remove_widget".} -proc gtk_size_group_get_child_requisition*(widget: PGtkWidget, - requisition: PGtkRequisition){.cdecl, dynlib: gtklib, importc: "_gtk_size_group_get_child_requisition".} -proc gtk_size_group_compute_requisition*(widget: PGtkWidget, - requisition: PGtkRequisition){.cdecl, dynlib: gtklib, importc: "_gtk_size_group_compute_requisition".} -proc gtk_size_group_queue_resize*(widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "_gtk_size_group_queue_resize".} -const - bm_TGtkSocket_same_app* = 0x00000001'i16 - bp_TGtkSocket_same_app* = 0'i16 - bm_TGtkSocket_focus_in* = 0x00000002'i16 - bp_TGtkSocket_focus_in* = 1'i16 - bm_TGtkSocket_have_size* = 0x00000004'i16 - bp_TGtkSocket_have_size* = 2'i16 - bm_TGtkSocket_need_map* = 0x00000008'i16 - bp_TGtkSocket_need_map* = 3'i16 - bm_TGtkSocket_is_mapped* = 0x00000010'i16 - bp_TGtkSocket_is_mapped* = 4'i16 - -proc GTK_TYPE_SOCKET*(): GType -proc GTK_SOCKET*(obj: pointer): PGtkSocket -proc GTK_SOCKET_CLASS*(klass: pointer): PGtkSocketClass -proc GTK_IS_SOCKET*(obj: pointer): bool -proc GTK_IS_SOCKET_CLASS*(klass: pointer): bool -proc GTK_SOCKET_GET_CLASS*(obj: pointer): PGtkSocketClass -proc same_app*(a: var TGtkSocket): guint -proc set_same_app*(a: var TGtkSocket, `same_app`: guint) -proc focus_in*(a: var TGtkSocket): guint -proc set_focus_in*(a: var TGtkSocket, `focus_in`: guint) -proc have_size*(a: var TGtkSocket): guint -proc set_have_size*(a: var TGtkSocket, `have_size`: guint) -proc need_map*(a: var TGtkSocket): guint -proc set_need_map*(a: var TGtkSocket, `need_map`: guint) -proc is_mapped*(a: var TGtkSocket): guint -proc set_is_mapped*(a: var TGtkSocket, `is_mapped`: guint) -proc gtk_socket_new*(): PGtkSocket {.cdecl, dynlib: gtklib, - importc: "gtk_socket_new".} -proc gtk_socket_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_socket_get_type".} -proc gtk_socket_add_id*(socket: PGtkSocket, window_id: TGdkNativeWindow){.cdecl, - dynlib: gtklib, importc: "gtk_socket_add_id".} -proc gtk_socket_get_id*(socket: PGtkSocket): TGdkNativeWindow{.cdecl, - dynlib: gtklib, importc: "gtk_socket_get_id".} -const - GTK_INPUT_ERROR* = - (1) - bm_TGtkSpinButton_in_child* = 0x00000003'i32 - bp_TGtkSpinButton_in_child* = 0'i32 - bm_TGtkSpinButton_click_child* = 0x0000000C'i32 - bp_TGtkSpinButton_click_child* = 2'i32 - bm_TGtkSpinButton_button* = 0x00000030'i32 - bp_TGtkSpinButton_button* = 4'i32 - bm_TGtkSpinButton_need_timer* = 0x00000040'i32 - bp_TGtkSpinButton_need_timer* = 6'i32 - bm_TGtkSpinButton_timer_calls* = 0x00000380'i32 - bp_TGtkSpinButton_timer_calls* = 7'i32 - bm_TGtkSpinButton_digits* = 0x000FFC00'i32 - bp_TGtkSpinButton_digits* = 10'i32 - bm_TGtkSpinButton_numeric* = 0x00100000'i32 - bp_TGtkSpinButton_numeric* = 20'i32 - bm_TGtkSpinButton_wrap* = 0x00200000'i32 - bp_TGtkSpinButton_wrap* = 21'i32 - bm_TGtkSpinButton_snap_to_ticks* = 0x00400000'i32 - bp_TGtkSpinButton_snap_to_ticks* = 22'i32 - -proc GTK_TYPE_SPIN_BUTTON*(): GType -proc GTK_SPIN_BUTTON*(obj: pointer): PGtkSpinButton -proc GTK_SPIN_BUTTON_CLASS*(klass: pointer): PGtkSpinButtonClass -proc GTK_IS_SPIN_BUTTON*(obj: pointer): bool -proc GTK_IS_SPIN_BUTTON_CLASS*(klass: pointer): bool -proc GTK_SPIN_BUTTON_GET_CLASS*(obj: pointer): PGtkSpinButtonClass -proc in_child*(a: var TGtkSpinButton): guint -proc set_in_child*(a: var TGtkSpinButton, `in_child`: guint) -proc click_child*(a: var TGtkSpinButton): guint -proc set_click_child*(a: var TGtkSpinButton, `click_child`: guint) -proc button*(a: var TGtkSpinButton): guint -proc set_button*(a: var TGtkSpinButton, `button`: guint) -proc need_timer*(a: var TGtkSpinButton): guint -proc set_need_timer*(a: var TGtkSpinButton, `need_timer`: guint) -proc timer_calls*(a: var TGtkSpinButton): guint -proc set_timer_calls*(a: var TGtkSpinButton, `timer_calls`: guint) -proc digits*(a: var TGtkSpinButton): guint -proc set_digits*(a: var TGtkSpinButton, `digits`: guint) -proc numeric*(a: var TGtkSpinButton): guint -proc set_numeric*(a: var TGtkSpinButton, `numeric`: guint) -proc wrap*(a: var TGtkSpinButton): guint -proc set_wrap*(a: var TGtkSpinButton, `wrap`: guint) -proc snap_to_ticks*(a: var TGtkSpinButton): guint -proc set_snap_to_ticks*(a: var TGtkSpinButton, `snap_to_ticks`: guint) -proc gtk_spin_button_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_spin_button_get_type".} -proc gtk_spin_button_configure*(spin_button: PGtkSpinButton, - adjustment: PGtkAdjustment, climb_rate: gdouble, - digits: guint){.cdecl, dynlib: gtklib, - importc: "gtk_spin_button_configure".} -proc gtk_spin_button_new*(adjustment: PGtkAdjustment, climb_rate: gdouble, - digits: guint): PGtkSpinButton{.cdecl, dynlib: gtklib, - importc: "gtk_spin_button_new".} -proc gtk_spin_button_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PGtkSpinButton{. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_new_with_range".} -proc gtk_spin_button_set_adjustment*(spin_button: PGtkSpinButton, - adjustment: PGtkAdjustment){.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_set_adjustment".} -proc gtk_spin_button_get_adjustment*(spin_button: PGtkSpinButton): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_adjustment".} -proc gtk_spin_button_set_digits*(spin_button: PGtkSpinButton, digits: guint){. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_digits".} -proc gtk_spin_button_get_digits*(spin_button: PGtkSpinButton): guint{.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_get_digits".} -proc gtk_spin_button_set_increments*(spin_button: PGtkSpinButton, step: gdouble, - page: gdouble){.cdecl, dynlib: gtklib, - importc: "gtk_spin_button_set_increments".} -proc gtk_spin_button_get_increments*(spin_button: PGtkSpinButton, - step: Pgdouble, page: Pgdouble){.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_get_increments".} -proc gtk_spin_button_set_range*(spin_button: PGtkSpinButton, min: gdouble, - max: gdouble){.cdecl, dynlib: gtklib, - importc: "gtk_spin_button_set_range".} -proc gtk_spin_button_get_range*(spin_button: PGtkSpinButton, min: Pgdouble, - max: Pgdouble){.cdecl, dynlib: gtklib, - importc: "gtk_spin_button_get_range".} -proc gtk_spin_button_get_value*(spin_button: PGtkSpinButton): gdouble{.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_get_value".} -proc gtk_spin_button_get_value_as_int*(spin_button: PGtkSpinButton): gint{. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_value_as_int".} -proc gtk_spin_button_set_value*(spin_button: PGtkSpinButton, value: gdouble){. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_value".} -proc gtk_spin_button_set_update_policy*(spin_button: PGtkSpinButton, - policy: TGtkSpinButtonUpdatePolicy){. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_update_policy".} -proc gtk_spin_button_get_update_policy*(spin_button: PGtkSpinButton): TGtkSpinButtonUpdatePolicy{. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_update_policy".} -proc gtk_spin_button_set_numeric*(spin_button: PGtkSpinButton, numeric: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_numeric".} -proc gtk_spin_button_get_numeric*(spin_button: PGtkSpinButton): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_get_numeric".} -proc gtk_spin_button_spin*(spin_button: PGtkSpinButton, direction: TGtkSpinType, - increment: gdouble){.cdecl, dynlib: gtklib, - importc: "gtk_spin_button_spin".} -proc gtk_spin_button_set_wrap*(spin_button: PGtkSpinButton, wrap: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_set_wrap".} -proc gtk_spin_button_get_wrap*(spin_button: PGtkSpinButton): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_get_wrap".} -proc gtk_spin_button_set_snap_to_ticks*(spin_button: PGtkSpinButton, - snap_to_ticks: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_set_snap_to_ticks".} -proc gtk_spin_button_get_snap_to_ticks*(spin_button: PGtkSpinButton): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_spin_button_get_snap_to_ticks".} -proc gtk_spin_button_update*(spin_button: PGtkSpinButton){.cdecl, - dynlib: gtklib, importc: "gtk_spin_button_update".} -const - GTK_STOCK_DIALOG_INFO* = "gtk-dialog-info" - GTK_STOCK_DIALOG_WARNING* = "gtk-dialog-warning" - GTK_STOCK_DIALOG_ERROR* = "gtk-dialog-error" - GTK_STOCK_DIALOG_QUESTION* = "gtk-dialog-question" - GTK_STOCK_DND* = "gtk-dnd" - GTK_STOCK_DND_MULTIPLE* = "gtk-dnd-multiple" - GTK_STOCK_ABOUT* = "gtk-about" - GTK_STOCK_ADD_name* = "gtk-add" - GTK_STOCK_APPLY* = "gtk-apply" - GTK_STOCK_BOLD* = "gtk-bold" - GTK_STOCK_CANCEL* = "gtk-cancel" - GTK_STOCK_CDROM* = "gtk-cdrom" - GTK_STOCK_CLEAR* = "gtk-clear" - GTK_STOCK_CLOSE* = "gtk-close" - GTK_STOCK_COLOR_PICKER* = "gtk-color-picker" - GTK_STOCK_CONVERT* = "gtk-convert" - GTK_STOCK_CONNECT* = "gtk-connect" - GTK_STOCK_COPY* = "gtk-copy" - GTK_STOCK_CUT* = "gtk-cut" - GTK_STOCK_DELETE* = "gtk-delete" - GTK_STOCK_EDIT* = "gtk-edit" - GTK_STOCK_EXECUTE* = "gtk-execute" - GTK_STOCK_FIND* = "gtk-find" - GTK_STOCK_FIND_AND_REPLACE* = "gtk-find-and-replace" - GTK_STOCK_FLOPPY* = "gtk-floppy" - GTK_STOCK_GOTO_BOTTOM* = "gtk-goto-bottom" - GTK_STOCK_GOTO_FIRST* = "gtk-goto-first" - GTK_STOCK_GOTO_LAST* = "gtk-goto-last" - GTK_STOCK_GOTO_TOP* = "gtk-goto-top" - GTK_STOCK_GO_BACK* = "gtk-go-back" - GTK_STOCK_GO_DOWN* = "gtk-go-down" - GTK_STOCK_GO_FORWARD* = "gtk-go-forward" - GTK_STOCK_GO_UP* = "gtk-go-up" - GTK_STOCK_HELP* = "gtk-help" - GTK_STOCK_HOME* = "gtk-home" - GTK_STOCK_INDEX* = "gtk-index" - GTK_STOCK_ITALIC* = "gtk-italic" - GTK_STOCK_JUMP_TO* = "gtk-jump-to" - GTK_STOCK_JUSTIFY_CENTER* = "gtk-justify-center" - GTK_STOCK_JUSTIFY_FILL* = "gtk-justify-fill" - GTK_STOCK_JUSTIFY_LEFT* = "gtk-justify-left" - GTK_STOCK_JUSTIFY_RIGHT* = "gtk-justify-right" - GTK_STOCK_MEDIA_FORWARD* = "gtk-media-forward" - GTK_STOCK_MEDIA_NEXT* = "gtk-media-next" - GTK_STOCK_MEDIA_PAUSE* = "gtk-media-pause" - GTK_STOCK_MEDIA_PLAY* = "gtk-media-play" - GTK_STOCK_MEDIA_PREVIOUS* = "gtk-media-previous" - GTK_STOCK_MEDIA_RECORD* = "gtk-media-record" - GTK_STOCK_MEDIA_REWIND* = "gtk-media-rewind" - GTK_STOCK_MEDIA_STOP* = "gtk-media-stop" - GTK_STOCK_MISSING_IMAGE* = "gtk-missing-image" - GTK_STOCK_NEW* = "gtk-new" - GTK_STOCK_NO* = "gtk-no" - GTK_STOCK_OK* = "gtk-ok" - GTK_STOCK_OPEN* = "gtk-open" - GTK_STOCK_PASTE* = "gtk-paste" - GTK_STOCK_PREFERENCES* = "gtk-preferences" - GTK_STOCK_PRINT* = "gtk-print" - GTK_STOCK_PRINT_PREVIEW* = "gtk-print-preview" - GTK_STOCK_PROPERTIES* = "gtk-properties" - GTK_STOCK_QUIT* = "gtk-quit" - GTK_STOCK_REDO* = "gtk-redo" - GTK_STOCK_REFRESH* = "gtk-refresh" - GTK_STOCK_REMOVE* = "gtk-remove" - GTK_STOCK_REVERT_TO_SAVED* = "gtk-revert-to-saved" - GTK_STOCK_SAVE* = "gtk-save" - GTK_STOCK_SAVE_AS* = "gtk-save-as" - GTK_STOCK_SELECT_COLOR* = "gtk-select-color" - GTK_STOCK_SELECT_FONT* = "gtk-select-font" - GTK_STOCK_SORT_ASCENDING* = "gtk-sort-ascending" - GTK_STOCK_SORT_DESCENDING* = "gtk-sort-descending" - GTK_STOCK_SPELL_CHECK* = "gtk-spell-check" - GTK_STOCK_STOP* = "gtk-stop" - GTK_STOCK_STRIKETHROUGH* = "gtk-strikethrough" - GTK_STOCK_UNDELETE* = "gtk-undelete" - GTK_STOCK_UNDERLINE* = "gtk-underline" - GTK_STOCK_UNDO* = "gtk-undo" - GTK_STOCK_YES* = "gtk-yes" - GTK_STOCK_ZOOM_100* = "gtk-zoom-100" - GTK_STOCK_ZOOM_FIT* = "gtk-zoom-fit" - GTK_STOCK_ZOOM_IN* = "gtk-zoom-in" - GTK_STOCK_ZOOM_OUT* = "gtk-zoom-out" - -proc gtk_stock_add*(items: PGtkStockItem, n_items: guint){.cdecl, - dynlib: gtklib, importc: "gtk_stock_add".} -proc gtk_stock_add_static*(items: PGtkStockItem, n_items: guint){.cdecl, - dynlib: gtklib, importc: "gtk_stock_add_static".} -proc gtk_stock_lookup*(stock_id: cstring, item: PGtkStockItem): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_stock_lookup".} -proc gtk_stock_list_ids*(): PGSList{.cdecl, dynlib: gtklib, - importc: "gtk_stock_list_ids".} -proc gtk_stock_item_copy*(item: PGtkStockItem): PGtkStockItem{.cdecl, - dynlib: gtklib, importc: "gtk_stock_item_copy".} -proc gtk_stock_item_free*(item: PGtkStockItem){.cdecl, dynlib: gtklib, - importc: "gtk_stock_item_free".} -proc GTK_TYPE_STATUSBAR*(): GType -proc GTK_STATUSBAR*(obj: pointer): PGtkStatusbar -proc GTK_STATUSBAR_CLASS*(klass: pointer): PGtkStatusbarClass -proc GTK_IS_STATUSBAR*(obj: pointer): bool -proc GTK_IS_STATUSBAR_CLASS*(klass: pointer): bool -proc GTK_STATUSBAR_GET_CLASS*(obj: pointer): PGtkStatusbarClass -const - bm_TGtkStatusbar_has_resize_grip* = 0x00000001'i16 - bp_TGtkStatusbar_has_resize_grip* = 0'i16 - -proc has_resize_grip*(a: var TGtkStatusbar): guint -proc set_has_resize_grip*(a: var TGtkStatusbar, `has_resize_grip`: guint) -proc gtk_statusbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_statusbar_get_type".} -proc gtk_statusbar_new*(): PGtkStatusbar{.cdecl, dynlib: gtklib, - importc: "gtk_statusbar_new".} -proc gtk_statusbar_get_context_id*(statusbar: PGtkStatusbar, - context_description: cstring): guint{.cdecl, - dynlib: gtklib, importc: "gtk_statusbar_get_context_id".} -proc gtk_statusbar_push*(statusbar: PGtkStatusbar, context_id: guint, - text: cstring): guint{.cdecl, dynlib: gtklib, - importc: "gtk_statusbar_push".} -proc gtk_statusbar_pop*(statusbar: PGtkStatusbar, context_id: guint){.cdecl, - dynlib: gtklib, importc: "gtk_statusbar_pop".} -proc gtk_statusbar_remove*(statusbar: PGtkStatusbar, context_id: guint, - message_id: guint){.cdecl, dynlib: gtklib, - importc: "gtk_statusbar_remove".} -proc gtk_statusbar_set_has_resize_grip*(statusbar: PGtkStatusbar, - setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_statusbar_set_has_resize_grip".} -proc gtk_statusbar_get_has_resize_grip*(statusbar: PGtkStatusbar): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_statusbar_get_has_resize_grip".} -const - bm_TGtkTable_homogeneous* = 0x00000001'i16 - bp_TGtkTable_homogeneous* = 0'i16 - bm_TGtkTableChild_xexpand* = 0x00000001'i16 - bp_TGtkTableChild_xexpand* = 0'i16 - bm_TGtkTableChild_yexpand* = 0x00000002'i16 - bp_TGtkTableChild_yexpand* = 1'i16 - bm_TGtkTableChild_xshrink* = 0x00000004'i16 - bp_TGtkTableChild_xshrink* = 2'i16 - bm_TGtkTableChild_yshrink* = 0x00000008'i16 - bp_TGtkTableChild_yshrink* = 3'i16 - bm_TGtkTableChild_xfill* = 0x00000010'i16 - bp_TGtkTableChild_xfill* = 4'i16 - bm_TGtkTableChild_yfill* = 0x00000020'i16 - bp_TGtkTableChild_yfill* = 5'i16 - bm_TGtkTableRowCol_need_expand* = 0x00000001'i16 - bp_TGtkTableRowCol_need_expand* = 0'i16 - bm_TGtkTableRowCol_need_shrink* = 0x00000002'i16 - bp_TGtkTableRowCol_need_shrink* = 1'i16 - bm_TGtkTableRowCol_expand* = 0x00000004'i16 - bp_TGtkTableRowCol_expand* = 2'i16 - bm_TGtkTableRowCol_shrink* = 0x00000008'i16 - bp_TGtkTableRowCol_shrink* = 3'i16 - bm_TGtkTableRowCol_empty* = 0x00000010'i16 - bp_TGtkTableRowCol_empty* = 4'i16 - -proc GTK_TYPE_TABLE*(): GType -proc GTK_TABLE*(obj: pointer): PGtkTable -proc GTK_TABLE_CLASS*(klass: pointer): PGtkTableClass -proc GTK_IS_TABLE*(obj: pointer): bool -proc GTK_IS_TABLE_CLASS*(klass: pointer): bool -proc GTK_TABLE_GET_CLASS*(obj: pointer): PGtkTableClass -proc homogeneous*(a: var TGtkTable): guint -proc set_homogeneous*(a: var TGtkTable, `homogeneous`: guint) -proc xexpand*(a: var TGtkTableChild): guint -proc set_xexpand*(a: var TGtkTableChild, `xexpand`: guint) -proc yexpand*(a: var TGtkTableChild): guint -proc set_yexpand*(a: var TGtkTableChild, `yexpand`: guint) -proc xshrink*(a: var TGtkTableChild): guint -proc set_xshrink*(a: var TGtkTableChild, `xshrink`: guint) -proc yshrink*(a: var TGtkTableChild): guint -proc set_yshrink*(a: var TGtkTableChild, `yshrink`: guint) -proc xfill*(a: var TGtkTableChild): guint -proc set_xfill*(a: var TGtkTableChild, `xfill`: guint) -proc yfill*(a: var TGtkTableChild): guint -proc set_yfill*(a: var TGtkTableChild, `yfill`: guint) -proc need_expand*(a: var TGtkTableRowCol): guint -proc set_need_expand*(a: var TGtkTableRowCol, `need_expand`: guint) -proc need_shrink*(a: var TGtkTableRowCol): guint -proc set_need_shrink*(a: var TGtkTableRowCol, `need_shrink`: guint) -proc expand*(a: var TGtkTableRowCol): guint -proc set_expand*(a: var TGtkTableRowCol, `expand`: guint) -proc shrink*(a: var TGtkTableRowCol): guint -proc set_shrink*(a: var TGtkTableRowCol, `shrink`: guint) -proc empty*(a: var TGtkTableRowCol): guint -proc set_empty*(a: var TGtkTableRowCol, `empty`: guint) -proc gtk_table_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_table_get_type".} -proc gtk_table_new*(rows: guint, columns: guint, homogeneous: gboolean): PGtkTable{. - cdecl, dynlib: gtklib, importc: "gtk_table_new".} -proc gtk_table_resize*(table: PGtkTable, rows: guint, columns: guint){.cdecl, - dynlib: gtklib, importc: "gtk_table_resize".} -proc gtk_table_attach*(table: PGtkTable, child: PGtkWidget, left_attach: guint, - right_attach: guint, top_attach: guint, - bottom_attach: guint, xoptions: TGtkAttachOptions, - yoptions: TGtkAttachOptions, xpadding: guint, - ypadding: guint){.cdecl, dynlib: gtklib, - importc: "gtk_table_attach".} -proc gtk_table_attach_defaults*(table: PGtkTable, widget: PGtkWidget, - left_attach: guint, right_attach: guint, - top_attach: guint, bottom_attach: guint){.cdecl, - dynlib: gtklib, importc: "gtk_table_attach_defaults".} -proc gtk_table_set_row_spacing*(table: PGtkTable, row: guint, spacing: guint){. - cdecl, dynlib: gtklib, importc: "gtk_table_set_row_spacing".} -proc gtk_table_get_row_spacing*(table: PGtkTable, row: guint): guint{.cdecl, - dynlib: gtklib, importc: "gtk_table_get_row_spacing".} -proc gtk_table_set_col_spacing*(table: PGtkTable, column: guint, spacing: guint){. - cdecl, dynlib: gtklib, importc: "gtk_table_set_col_spacing".} -proc gtk_table_get_col_spacing*(table: PGtkTable, column: guint): guint{.cdecl, - dynlib: gtklib, importc: "gtk_table_get_col_spacing".} -proc gtk_table_set_row_spacings*(table: PGtkTable, spacing: guint){.cdecl, - dynlib: gtklib, importc: "gtk_table_set_row_spacings".} -proc gtk_table_get_default_row_spacing*(table: PGtkTable): guint{.cdecl, - dynlib: gtklib, importc: "gtk_table_get_default_row_spacing".} -proc gtk_table_set_col_spacings*(table: PGtkTable, spacing: guint){.cdecl, - dynlib: gtklib, importc: "gtk_table_set_col_spacings".} -proc gtk_table_get_default_col_spacing*(table: PGtkTable): guint{.cdecl, - dynlib: gtklib, importc: "gtk_table_get_default_col_spacing".} -proc gtk_table_set_homogeneous*(table: PGtkTable, homogeneous: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_table_set_homogeneous".} -proc gtk_table_get_homogeneous*(table: PGtkTable): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_table_get_homogeneous".} -const - bm_TGtkTearoffMenuItem_torn_off* = 0x00000001'i16 - bp_TGtkTearoffMenuItem_torn_off* = 0'i16 - -proc GTK_TYPE_TEAROFF_MENU_ITEM*(): GType -proc GTK_TEAROFF_MENU_ITEM*(obj: pointer): PGtkTearoffMenuItem -proc GTK_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PGtkTearoffMenuItemClass -proc GTK_IS_TEAROFF_MENU_ITEM*(obj: pointer): bool -proc GTK_IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool -proc GTK_TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkTearoffMenuItemClass -proc torn_off*(a: var TGtkTearoffMenuItem): guint -proc set_torn_off*(a: var TGtkTearoffMenuItem, `torn_off`: guint) -proc gtk_tearoff_menu_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tearoff_menu_item_get_type".} -proc gtk_tearoff_menu_item_new*(): PGtkTearoffMenuItem{.cdecl, dynlib: gtklib, - importc: "gtk_tearoff_menu_item_new".} -const - bm_TGtkText_line_wrap* = 0x00000001'i16 - bp_TGtkText_line_wrap* = 0'i16 - bm_TGtkText_word_wrap* = 0x00000002'i16 - bp_TGtkText_word_wrap* = 1'i16 - bm_TGtkText_use_wchar* = 0x00000004'i16 - bp_TGtkText_use_wchar* = 2'i16 - -proc GTK_TYPE_TEXT*(): GType -proc GTK_TEXT*(obj: pointer): PGtkText -proc GTK_TEXT_CLASS*(klass: pointer): PGtkTextClass -proc GTK_IS_TEXT*(obj: pointer): bool -proc GTK_IS_TEXT_CLASS*(klass: pointer): bool -proc GTK_TEXT_GET_CLASS*(obj: pointer): PGtkTextClass -proc line_wrap*(a: PGtkText): guint -proc set_line_wrap*(a: PGtkText, `line_wrap`: guint) -proc word_wrap*(a: PGtkText): guint -proc set_word_wrap*(a: PGtkText, `word_wrap`: guint) -proc use_wchar*(a: PGtkText): gboolean -proc set_use_wchar*(a: PGtkText, `use_wchar`: gboolean) -proc gtk_text_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_text_get_type".} -proc gtk_text_new*(hadj: PGtkAdjustment, vadj: PGtkAdjustment): PGtkText{. - cdecl, dynlib: gtklib, importc: "gtk_text_new".} -proc gtk_text_set_editable*(text: PGtkText, editable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_text_set_editable".} -proc gtk_text_set_word_wrap*(text: PGtkText, word_wrap: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_text_set_word_wrap".} -proc gtk_text_set_line_wrap*(text: PGtkText, line_wrap: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_text_set_line_wrap".} -proc gtk_text_set_adjustments*(text: PGtkText, hadj: PGtkAdjustment, - vadj: PGtkAdjustment){.cdecl, dynlib: gtklib, - importc: "gtk_text_set_adjustments".} -proc gtk_text_set_point*(text: PGtkText, index: guint){.cdecl, dynlib: gtklib, - importc: "gtk_text_set_point".} -proc gtk_text_get_point*(text: PGtkText): guint{.cdecl, dynlib: gtklib, - importc: "gtk_text_get_point".} -proc gtk_text_get_length*(text: PGtkText): guint{.cdecl, dynlib: gtklib, - importc: "gtk_text_get_length".} -proc gtk_text_freeze*(text: PGtkText){.cdecl, dynlib: gtklib, - importc: "gtk_text_freeze".} -proc gtk_text_thaw*(text: PGtkText){.cdecl, dynlib: gtklib, - importc: "gtk_text_thaw".} -proc gtk_text_insert*(text: PGtkText, font: PGdkFont, fore: PGdkColor, - back: PGdkColor, chars: cstring, length: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_insert".} -proc gtk_text_backward_delete*(text: PGtkText, nchars: guint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_backward_delete".} -proc gtk_text_forward_delete*(text: PGtkText, nchars: guint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_forward_delete".} -proc GTK_TEXT_INDEX_WCHAR*(t: PGtkText, index: guint): guint32 -proc GTK_TEXT_INDEX_UCHAR*(t: PGtkText, index: guint): GUChar -const - GTK_TEXT_SEARCH_VISIBLE_ONLY* = 0 - GTK_TEXT_SEARCH_TEXT_ONLY* = 1 - -proc GTK_TYPE_TEXT_ITER*(): GType -proc gtk_text_iter_get_buffer*(iter: PGtkTextIter): PGtkTextBuffer{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_buffer".} -proc gtk_text_iter_copy*(iter: PGtkTextIter): PGtkTextIter{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_copy".} -proc gtk_text_iter_free*(iter: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_free".} -proc gtk_text_iter_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_get_type".} -proc gtk_text_iter_get_offset*(iter: PGtkTextIter): gint{.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_get_offset".} -proc gtk_text_iter_get_line*(iter: PGtkTextIter): gint{.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_get_line".} -proc gtk_text_iter_get_line_offset*(iter: PGtkTextIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_line_offset".} -proc gtk_text_iter_get_line_index*(iter: PGtkTextIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_line_index".} -proc gtk_text_iter_get_visible_line_offset*(iter: PGtkTextIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_visible_line_offset".} -proc gtk_text_iter_get_visible_line_index*(iter: PGtkTextIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_visible_line_index".} -proc gtk_text_iter_get_char*(iter: PGtkTextIter): gunichar{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_char".} -proc gtk_text_iter_get_slice*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_slice".} -proc gtk_text_iter_get_text*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_text".} -proc gtk_text_iter_get_visible_slice*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_visible_slice".} -proc gtk_text_iter_get_visible_text*(start: PGtkTextIter, theEnd: PGtkTextIter): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_visible_text".} -proc gtk_text_iter_get_pixbuf*(iter: PGtkTextIter): PGdkPixbuf{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_pixbuf".} -proc gtk_text_iter_get_marks*(iter: PGtkTextIter): PGSList{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_marks".} -proc gtk_text_iter_get_child_anchor*(iter: PGtkTextIter): PGtkTextChildAnchor{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_child_anchor".} -proc gtk_text_iter_get_toggled_tags*(iter: PGtkTextIter, toggled_on: gboolean): PGSList{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_get_toggled_tags".} -proc gtk_text_iter_begins_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_begins_tag".} -proc gtk_text_iter_ends_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_ends_tag".} -proc gtk_text_iter_toggles_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_toggles_tag".} -proc gtk_text_iter_has_tag*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_has_tag".} -proc gtk_text_iter_get_tags*(iter: PGtkTextIter): PGSList{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_tags".} -proc gtk_text_iter_editable*(iter: PGtkTextIter, default_setting: gboolean): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_editable".} -proc gtk_text_iter_can_insert*(iter: PGtkTextIter, default_editability: gboolean): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_can_insert".} -proc gtk_text_iter_starts_word*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_starts_word".} -proc gtk_text_iter_ends_word*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_ends_word".} -proc gtk_text_iter_inside_word*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_inside_word".} -proc gtk_text_iter_starts_sentence*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_starts_sentence".} -proc gtk_text_iter_ends_sentence*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_ends_sentence".} -proc gtk_text_iter_inside_sentence*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_inside_sentence".} -proc gtk_text_iter_starts_line*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_starts_line".} -proc gtk_text_iter_ends_line*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_ends_line".} -proc gtk_text_iter_is_cursor_position*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_is_cursor_position".} -proc gtk_text_iter_get_chars_in_line*(iter: PGtkTextIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_chars_in_line".} -proc gtk_text_iter_get_bytes_in_line*(iter: PGtkTextIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_bytes_in_line".} -proc gtk_text_iter_get_attributes*(iter: PGtkTextIter, - values: PGtkTextAttributes): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_attributes".} -proc gtk_text_iter_get_language*(iter: PGtkTextIter): PPangoLanguage{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_get_language".} -proc gtk_text_iter_is_end*(iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_is_end".} -proc gtk_text_iter_is_start*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_is_start".} -proc gtk_text_iter_forward_char*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_forward_char".} -proc gtk_text_iter_backward_char*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_backward_char".} -proc gtk_text_iter_forward_chars*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_chars".} -proc gtk_text_iter_backward_chars*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_chars".} -proc gtk_text_iter_forward_line*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_forward_line".} -proc gtk_text_iter_backward_line*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_backward_line".} -proc gtk_text_iter_forward_lines*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_lines".} -proc gtk_text_iter_backward_lines*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_lines".} -proc gtk_text_iter_forward_word_end*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_forward_word_end".} -proc gtk_text_iter_backward_word_start*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_backward_word_start".} -proc gtk_text_iter_forward_word_ends*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_word_ends".} -proc gtk_text_iter_backward_word_starts*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_word_starts".} -proc gtk_text_iter_forward_sentence_end*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_forward_sentence_end".} -proc gtk_text_iter_backward_sentence_start*(iter: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_sentence_start".} -proc gtk_text_iter_forward_sentence_ends*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_sentence_ends".} -proc gtk_text_iter_backward_sentence_starts*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_sentence_starts".} -proc gtk_text_iter_forward_cursor_position*(iter: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_cursor_position".} -proc gtk_text_iter_backward_cursor_position*(iter: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_cursor_position".} -proc gtk_text_iter_forward_cursor_positions*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_cursor_positions".} -proc gtk_text_iter_backward_cursor_positions*(iter: PGtkTextIter, count: gint): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_cursor_positions".} -proc gtk_text_iter_set_offset*(iter: PGtkTextIter, char_offset: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_set_offset".} -proc gtk_text_iter_set_line*(iter: PGtkTextIter, line_number: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_set_line".} -proc gtk_text_iter_set_line_offset*(iter: PGtkTextIter, char_on_line: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_set_line_offset".} -proc gtk_text_iter_set_line_index*(iter: PGtkTextIter, byte_on_line: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_set_line_index".} -proc gtk_text_iter_forward_to_end*(iter: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_forward_to_end".} -proc gtk_text_iter_forward_to_line_end*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_forward_to_line_end".} -proc gtk_text_iter_set_visible_line_offset*(iter: PGtkTextIter, - char_on_line: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_set_visible_line_offset".} -proc gtk_text_iter_set_visible_line_index*(iter: PGtkTextIter, - byte_on_line: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_iter_set_visible_line_index".} -proc gtk_text_iter_forward_to_tag_toggle*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_to_tag_toggle".} -proc gtk_text_iter_backward_to_tag_toggle*(iter: PGtkTextIter, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_to_tag_toggle".} -proc gtk_text_iter_forward_find_char*(iter: PGtkTextIter, - pred: TGtkTextCharPredicate, - user_data: gpointer, limit: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_find_char".} -proc gtk_text_iter_backward_find_char*(iter: PGtkTextIter, - pred: TGtkTextCharPredicate, - user_data: gpointer, limit: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_find_char".} -proc gtk_text_iter_forward_search*(iter: PGtkTextIter, str: cstring, - flags: TGtkTextSearchFlags, - match_start: PGtkTextIter, - match_end: PGtkTextIter, limit: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_forward_search".} -proc gtk_text_iter_backward_search*(iter: PGtkTextIter, str: cstring, - flags: TGtkTextSearchFlags, - match_start: PGtkTextIter, - match_end: PGtkTextIter, limit: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_backward_search".} -proc gtk_text_iter_equal*(lhs: PGtkTextIter, rhs: PGtkTextIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_iter_equal".} -proc gtk_text_iter_compare*(lhs: PGtkTextIter, rhs: PGtkTextIter): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_compare".} -proc gtk_text_iter_in_range*(iter: PGtkTextIter, start: PGtkTextIter, - theEnd: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_in_range".} -proc gtk_text_iter_order*(first: PGtkTextIter, second: PGtkTextIter){.cdecl, - dynlib: gtklib, importc: "gtk_text_iter_order".} -proc GTK_TYPE_TEXT_TAG*(): GType -proc GTK_TEXT_TAG*(obj: pointer): PGtkTextTag -proc GTK_TEXT_TAG_CLASS*(klass: pointer): PGtkTextTagClass -proc GTK_IS_TEXT_TAG*(obj: pointer): bool -proc GTK_IS_TEXT_TAG_CLASS*(klass: pointer): bool -proc GTK_TEXT_TAG_GET_CLASS*(obj: pointer): PGtkTextTagClass -proc GTK_TYPE_TEXT_ATTRIBUTES*(): GType -proc gtk_text_tag_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_tag_get_type".} -proc gtk_text_tag_new*(name: cstring): PGtkTextTag{.cdecl, dynlib: gtklib, - importc: "gtk_text_tag_new".} -proc gtk_text_tag_get_priority*(tag: PGtkTextTag): gint{.cdecl, dynlib: gtklib, - importc: "gtk_text_tag_get_priority".} -proc gtk_text_tag_set_priority*(tag: PGtkTextTag, priority: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_tag_set_priority".} -proc gtk_text_tag_event*(tag: PGtkTextTag, event_object: PGObject, - event: PGdkEvent, iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_tag_event".} -proc gtk_text_attributes_new*(): PGtkTextAttributes{.cdecl, dynlib: gtklib, - importc: "gtk_text_attributes_new".} -proc gtk_text_attributes_copy*(src: PGtkTextAttributes): PGtkTextAttributes{. - cdecl, dynlib: gtklib, importc: "gtk_text_attributes_copy".} -proc gtk_text_attributes_copy_values*(src: PGtkTextAttributes, - dest: PGtkTextAttributes){.cdecl, - dynlib: gtklib, importc: "gtk_text_attributes_copy_values".} -proc gtk_text_attributes_unref*(values: PGtkTextAttributes){.cdecl, - dynlib: gtklib, importc: "gtk_text_attributes_unref".} -proc gtk_text_attributes_ref*(values: PGtkTextAttributes){.cdecl, - dynlib: gtklib, importc: "gtk_text_attributes_ref".} -proc gtk_text_attributes_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_attributes_get_type".} -const - bm_TGtkTextTag_bg_color_set* = 0x00000001'i32 - bp_TGtkTextTag_bg_color_set* = 0'i32 - bm_TGtkTextTag_bg_stipple_set* = 0x00000002'i32 - bp_TGtkTextTag_bg_stipple_set* = 1'i32 - bm_TGtkTextTag_fg_color_set* = 0x00000004'i32 - bp_TGtkTextTag_fg_color_set* = 2'i32 - bm_TGtkTextTag_scale_set* = 0x00000008'i32 - bp_TGtkTextTag_scale_set* = 3'i32 - bm_TGtkTextTag_fg_stipple_set* = 0x00000010'i32 - bp_TGtkTextTag_fg_stipple_set* = 4'i32 - bm_TGtkTextTag_justification_set* = 0x00000020'i32 - bp_TGtkTextTag_justification_set* = 5'i32 - bm_TGtkTextTag_left_margin_set* = 0x00000040'i32 - bp_TGtkTextTag_left_margin_set* = 6'i32 - bm_TGtkTextTag_indent_set* = 0x00000080'i32 - bp_TGtkTextTag_indent_set* = 7'i32 - bm_TGtkTextTag_rise_set* = 0x00000100'i32 - bp_TGtkTextTag_rise_set* = 8'i32 - bm_TGtkTextTag_strikethrough_set* = 0x00000200'i32 - bp_TGtkTextTag_strikethrough_set* = 9'i32 - bm_TGtkTextTag_right_margin_set* = 0x00000400'i32 - bp_TGtkTextTag_right_margin_set* = 10'i32 - bm_TGtkTextTag_pixels_above_lines_set* = 0x00000800'i32 - bp_TGtkTextTag_pixels_above_lines_set* = 11'i32 - bm_TGtkTextTag_pixels_below_lines_set* = 0x00001000'i32 - bp_TGtkTextTag_pixels_below_lines_set* = 12'i32 - bm_TGtkTextTag_pixels_inside_wrap_set* = 0x00002000'i32 - bp_TGtkTextTag_pixels_inside_wrap_set* = 13'i32 - bm_TGtkTextTag_tabs_set* = 0x00004000'i32 - bp_TGtkTextTag_tabs_set* = 14'i32 - bm_TGtkTextTag_underline_set* = 0x00008000'i32 - bp_TGtkTextTag_underline_set* = 15'i32 - bm_TGtkTextTag_wrap_mode_set* = 0x00010000'i32 - bp_TGtkTextTag_wrap_mode_set* = 16'i32 - bm_TGtkTextTag_bg_full_height_set* = 0x00020000'i32 - bp_TGtkTextTag_bg_full_height_set* = 17'i32 - bm_TGtkTextTag_invisible_set* = 0x00040000'i32 - bp_TGtkTextTag_invisible_set* = 18'i32 - bm_TGtkTextTag_editable_set* = 0x00080000'i32 - bp_TGtkTextTag_editable_set* = 19'i32 - bm_TGtkTextTag_language_set* = 0x00100000'i32 - bp_TGtkTextTag_language_set* = 20'i32 - bm_TGtkTextTag_pad1* = 0x00200000'i32 - bp_TGtkTextTag_pad1* = 21'i32 - bm_TGtkTextTag_pad2* = 0x00400000'i32 - bp_TGtkTextTag_pad2* = 22'i32 - bm_TGtkTextTag_pad3* = 0x00800000'i32 - bp_TGtkTextTag_pad3* = 23'i32 - -proc bg_color_set*(a: var TGtkTextTag): guint -proc set_bg_color_set*(a: var TGtkTextTag, `bg_color_set`: guint) -proc bg_stipple_set*(a: var TGtkTextTag): guint -proc set_bg_stipple_set*(a: var TGtkTextTag, `bg_stipple_set`: guint) -proc fg_color_set*(a: var TGtkTextTag): guint -proc set_fg_color_set*(a: var TGtkTextTag, `fg_color_set`: guint) -proc scale_set*(a: var TGtkTextTag): guint -proc set_scale_set*(a: var TGtkTextTag, `scale_set`: guint) -proc fg_stipple_set*(a: var TGtkTextTag): guint -proc set_fg_stipple_set*(a: var TGtkTextTag, `fg_stipple_set`: guint) -proc justification_set*(a: var TGtkTextTag): guint -proc set_justification_set*(a: var TGtkTextTag, `justification_set`: guint) -proc left_margin_set*(a: var TGtkTextTag): guint -proc set_left_margin_set*(a: var TGtkTextTag, `left_margin_set`: guint) -proc indent_set*(a: var TGtkTextTag): guint -proc set_indent_set*(a: var TGtkTextTag, `indent_set`: guint) -proc rise_set*(a: var TGtkTextTag): guint -proc set_rise_set*(a: var TGtkTextTag, `rise_set`: guint) -proc strikethrough_set*(a: var TGtkTextTag): guint -proc set_strikethrough_set*(a: var TGtkTextTag, `strikethrough_set`: guint) -proc right_margin_set*(a: var TGtkTextTag): guint -proc set_right_margin_set*(a: var TGtkTextTag, `right_margin_set`: guint) -proc pixels_above_lines_set*(a: var TGtkTextTag): guint -proc set_pixels_above_lines_set*(a: var TGtkTextTag, - `pixels_above_lines_set`: guint) -proc pixels_below_lines_set*(a: var TGtkTextTag): guint -proc set_pixels_below_lines_set*(a: var TGtkTextTag, - `pixels_below_lines_set`: guint) -proc pixels_inside_wrap_set*(a: var TGtkTextTag): guint -proc set_pixels_inside_wrap_set*(a: var TGtkTextTag, - `pixels_inside_wrap_set`: guint) -proc tabs_set*(a: var TGtkTextTag): guint -proc set_tabs_set*(a: var TGtkTextTag, `tabs_set`: guint) -proc underline_set*(a: var TGtkTextTag): guint -proc set_underline_set*(a: var TGtkTextTag, `underline_set`: guint) -proc wrap_mode_set*(a: var TGtkTextTag): guint -proc set_wrap_mode_set*(a: var TGtkTextTag, `wrap_mode_set`: guint) -proc bg_full_height_set*(a: var TGtkTextTag): guint -proc set_bg_full_height_set*(a: var TGtkTextTag, `bg_full_height_set`: guint) -proc invisible_set*(a: var TGtkTextTag): guint -proc set_invisible_set*(a: var TGtkTextTag, `invisible_set`: guint) -proc editable_set*(a: var TGtkTextTag): guint -proc set_editable_set*(a: var TGtkTextTag, `editable_set`: guint) -proc language_set*(a: var TGtkTextTag): guint -proc set_language_set*(a: var TGtkTextTag, `language_set`: guint) -proc pad1*(a: var TGtkTextTag): guint -proc set_pad1*(a: var TGtkTextTag, `pad1`: guint) -proc pad2*(a: var TGtkTextTag): guint -proc set_pad2*(a: var TGtkTextTag, `pad2`: guint) -proc pad3*(a: var TGtkTextTag): guint -proc set_pad3*(a: var TGtkTextTag, `pad3`: guint) -const - bm_TGtkTextAppearance_underline* = 0x0000000F'i16 - bp_TGtkTextAppearance_underline* = 0'i16 - bm_TGtkTextAppearance_strikethrough* = 0x00000010'i16 - bp_TGtkTextAppearance_strikethrough* = 4'i16 - bm_TGtkTextAppearance_draw_bg* = 0x00000020'i16 - bp_TGtkTextAppearance_draw_bg* = 5'i16 - bm_TGtkTextAppearance_inside_selection* = 0x00000040'i16 - bp_TGtkTextAppearance_inside_selection* = 6'i16 - bm_TGtkTextAppearance_is_text* = 0x00000080'i16 - bp_TGtkTextAppearance_is_text* = 7'i16 - bm_TGtkTextAppearance_pad1* = 0x00000100'i16 - bp_TGtkTextAppearance_pad1* = 8'i16 - bm_TGtkTextAppearance_pad2* = 0x00000200'i16 - bp_TGtkTextAppearance_pad2* = 9'i16 - bm_TGtkTextAppearance_pad3* = 0x00000400'i16 - bp_TGtkTextAppearance_pad3* = 10'i16 - bm_TGtkTextAppearance_pad4* = 0x00000800'i16 - bp_TGtkTextAppearance_pad4* = 11'i16 - -proc underline*(a: var TGtkTextAppearance): guint -proc set_underline*(a: var TGtkTextAppearance, `underline`: guint) -proc strikethrough*(a: var TGtkTextAppearance): guint -proc set_strikethrough*(a: var TGtkTextAppearance, `strikethrough`: guint) -proc draw_bg*(a: var TGtkTextAppearance): guint -proc set_draw_bg*(a: var TGtkTextAppearance, `draw_bg`: guint) -proc inside_selection*(a: var TGtkTextAppearance): guint -proc set_inside_selection*(a: var TGtkTextAppearance, `inside_selection`: guint) -proc is_text*(a: var TGtkTextAppearance): guint -proc set_is_text*(a: var TGtkTextAppearance, `is_text`: guint) -proc pad1*(a: var TGtkTextAppearance): guint -proc set_pad1*(a: var TGtkTextAppearance, `pad1`: guint) -proc pad2*(a: var TGtkTextAppearance): guint -proc set_pad2*(a: var TGtkTextAppearance, `pad2`: guint) -proc pad3*(a: var TGtkTextAppearance): guint -proc set_pad3*(a: var TGtkTextAppearance, `pad3`: guint) -proc pad4*(a: var TGtkTextAppearance): guint -proc set_pad4*(a: var TGtkTextAppearance, `pad4`: guint) -const - bm_TGtkTextAttributes_invisible* = 0x00000001'i16 - bp_TGtkTextAttributes_invisible* = 0'i16 - bm_TGtkTextAttributes_bg_full_height* = 0x00000002'i16 - bp_TGtkTextAttributes_bg_full_height* = 1'i16 - bm_TGtkTextAttributes_editable* = 0x00000004'i16 - bp_TGtkTextAttributes_editable* = 2'i16 - bm_TGtkTextAttributes_realized* = 0x00000008'i16 - bp_TGtkTextAttributes_realized* = 3'i16 - bm_TGtkTextAttributes_pad1* = 0x00000010'i16 - bp_TGtkTextAttributes_pad1* = 4'i16 - bm_TGtkTextAttributes_pad2* = 0x00000020'i16 - bp_TGtkTextAttributes_pad2* = 5'i16 - bm_TGtkTextAttributes_pad3* = 0x00000040'i16 - bp_TGtkTextAttributes_pad3* = 6'i16 - bm_TGtkTextAttributes_pad4* = 0x00000080'i16 - bp_TGtkTextAttributes_pad4* = 7'i16 - -proc invisible*(a: var TGtkTextAttributes): guint -proc set_invisible*(a: var TGtkTextAttributes, `invisible`: guint) -proc bg_full_height*(a: var TGtkTextAttributes): guint -proc set_bg_full_height*(a: var TGtkTextAttributes, `bg_full_height`: guint) -proc editable*(a: var TGtkTextAttributes): guint -proc set_editable*(a: var TGtkTextAttributes, `editable`: guint) -proc realized*(a: var TGtkTextAttributes): guint -proc set_realized*(a: var TGtkTextAttributes, `realized`: guint) -proc pad1*(a: var TGtkTextAttributes): guint -proc set_pad1*(a: var TGtkTextAttributes, `pad1`: guint) -proc pad2*(a: var TGtkTextAttributes): guint -proc set_pad2*(a: var TGtkTextAttributes, `pad2`: guint) -proc pad3*(a: var TGtkTextAttributes): guint -proc set_pad3*(a: var TGtkTextAttributes, `pad3`: guint) -proc pad4*(a: var TGtkTextAttributes): guint -proc set_pad4*(a: var TGtkTextAttributes, `pad4`: guint) -proc GTK_TYPE_TEXT_TAG_TABLE*(): GType -proc GTK_TEXT_TAG_TABLE*(obj: pointer): PGtkTextTagTable -proc GTK_TEXT_TAG_TABLE_CLASS*(klass: pointer): PGtkTextTagTableClass -proc GTK_IS_TEXT_TAG_TABLE*(obj: pointer): bool -proc GTK_IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool -proc GTK_TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PGtkTextTagTableClass -proc gtk_text_tag_table_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_tag_table_get_type".} -proc gtk_text_tag_table_new*(): PGtkTextTagTable{.cdecl, dynlib: gtklib, - importc: "gtk_text_tag_table_new".} -proc gtk_text_tag_table_add*(table: PGtkTextTagTable, tag: PGtkTextTag){.cdecl, - dynlib: gtklib, importc: "gtk_text_tag_table_add".} -proc gtk_text_tag_table_remove*(table: PGtkTextTagTable, tag: PGtkTextTag){. - cdecl, dynlib: gtklib, importc: "gtk_text_tag_table_remove".} -proc gtk_text_tag_table_lookup*(table: PGtkTextTagTable, name: cstring): PGtkTextTag{. - cdecl, dynlib: gtklib, importc: "gtk_text_tag_table_lookup".} -proc gtk_text_tag_table_foreach*(table: PGtkTextTagTable, - fun: TGtkTextTagTableForeach, data: gpointer){. - cdecl, dynlib: gtklib, importc: "gtk_text_tag_table_foreach".} -proc gtk_text_tag_table_get_size*(table: PGtkTextTagTable): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_tag_table_get_size".} -proc gtk_text_tag_table_add_buffer*(table: PGtkTextTagTable, buffer: gpointer){. - cdecl, dynlib: gtklib, importc: "_gtk_text_tag_table_add_buffer".} -proc gtk_text_tag_table_remove_buffer*(table: PGtkTextTagTable, - buffer: gpointer){.cdecl, dynlib: gtklib, - importc: "_gtk_text_tag_table_remove_buffer".} -proc GTK_TYPE_TEXT_MARK*(): GType -proc GTK_TEXT_MARK*(anObject: pointer): PGtkTextMark -proc GTK_TEXT_MARK_CLASS*(klass: pointer): PGtkTextMarkClass -proc GTK_IS_TEXT_MARK*(anObject: pointer): bool -proc GTK_IS_TEXT_MARK_CLASS*(klass: pointer): bool -proc GTK_TEXT_MARK_GET_CLASS*(obj: pointer): PGtkTextMarkClass -proc gtk_text_mark_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_mark_get_type".} -proc gtk_text_mark_set_visible*(mark: PGtkTextMark, setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_text_mark_set_visible".} -proc gtk_text_mark_get_visible*(mark: PGtkTextMark): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_mark_get_visible".} -proc gtk_text_mark_get_name*(mark: PGtkTextMark): cstring{.cdecl, dynlib: gtklib, - importc: "gtk_text_mark_get_name".} -proc gtk_text_mark_get_deleted*(mark: PGtkTextMark): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_mark_get_deleted".} -proc gtk_text_mark_get_buffer*(mark: PGtkTextMark): PGtkTextBuffer{.cdecl, - dynlib: gtklib, importc: "gtk_text_mark_get_buffer".} -proc gtk_text_mark_get_left_gravity*(mark: PGtkTextMark): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_mark_get_left_gravity".} -const - bm_TGtkTextMarkBody_visible* = 0x00000001'i16 - bp_TGtkTextMarkBody_visible* = 0'i16 - bm_TGtkTextMarkBody_not_deleteable* = 0x00000002'i16 - bp_TGtkTextMarkBody_not_deleteable* = 1'i16 - -proc visible*(a: var TGtkTextMarkBody): guint -proc set_visible*(a: var TGtkTextMarkBody, `visible`: guint) -proc not_deleteable*(a: var TGtkTextMarkBody): guint -proc set_not_deleteable*(a: var TGtkTextMarkBody, `not_deleteable`: guint) -proc gtk_mark_segment_new*(tree: PGtkTextBTree, left_gravity: gboolean, - name: cstring): PGtkTextLineSegment{.cdecl, - dynlib: gtklib, importc: "_gtk_mark_segment_new".} -proc GTK_TYPE_TEXT_CHILD_ANCHOR*(): GType -proc GTK_TEXT_CHILD_ANCHOR*(anObject: pointer): PGtkTextChildAnchor -proc GTK_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PGtkTextChildAnchorClass -proc GTK_IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool -proc GTK_IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool -proc GTK_TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PGtkTextChildAnchorClass -proc gtk_text_child_anchor_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_child_anchor_get_type".} -proc gtk_text_child_anchor_new*(): PGtkTextChildAnchor{.cdecl, dynlib: gtklib, - importc: "gtk_text_child_anchor_new".} -proc gtk_text_child_anchor_get_widgets*(anchor: PGtkTextChildAnchor): PGList{. - cdecl, dynlib: gtklib, importc: "gtk_text_child_anchor_get_widgets".} -proc gtk_text_child_anchor_get_deleted*(anchor: PGtkTextChildAnchor): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_child_anchor_get_deleted".} -proc gtk_pixbuf_segment_new*(pixbuf: PGdkPixbuf): PGtkTextLineSegment{.cdecl, - dynlib: gtklib, importc: "_gtk_pixbuf_segment_new".} -proc gtk_widget_segment_new*(anchor: PGtkTextChildAnchor): PGtkTextLineSegment{. - cdecl, dynlib: gtklib, importc: "_gtk_widget_segment_new".} -proc gtk_widget_segment_add*(widget_segment: PGtkTextLineSegment, - child: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "_gtk_widget_segment_add".} -proc gtk_widget_segment_remove*(widget_segment: PGtkTextLineSegment, - child: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "_gtk_widget_segment_remove".} -proc gtk_widget_segment_ref*(widget_segment: PGtkTextLineSegment){.cdecl, - dynlib: gtklib, importc: "_gtk_widget_segment_ref".} -proc gtk_widget_segment_unref*(widget_segment: PGtkTextLineSegment){.cdecl, - dynlib: gtklib, importc: "_gtk_widget_segment_unref".} -proc gtk_anchored_child_get_layout*(child: PGtkWidget): PGtkTextLayout{.cdecl, - dynlib: gtklib, importc: "_gtk_anchored_child_get_layout".} -proc gtk_text_line_segment_split*(iter: PGtkTextIter): PGtkTextLineSegment{. - cdecl, dynlib: gtklib, importc: "gtk_text_line_segment_split".} -proc gtk_char_segment_new*(text: cstring, len: guint): PGtkTextLineSegment{. - cdecl, dynlib: gtklib, importc: "_gtk_char_segment_new".} -proc gtk_char_segment_new_from_two_strings*(text1: cstring, len1: guint, - text2: cstring, len2: guint): PGtkTextLineSegment{.cdecl, dynlib: gtklib, - importc: "_gtk_char_segment_new_from_two_strings".} -proc gtk_toggle_segment_new*(info: PGtkTextTagInfo, StateOn: gboolean): PGtkTextLineSegment{. - cdecl, dynlib: gtklib, importc: "_gtk_toggle_segment_new".} -proc gtk_text_btree_new*(table: PGtkTextTagTable, buffer: PGtkTextBuffer): PGtkTextBTree{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_new".} -proc gtk_text_btree_ref*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_ref".} -proc gtk_text_btree_unref*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_unref".} -proc gtk_text_btree_get_buffer*(tree: PGtkTextBTree): PGtkTextBuffer{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_buffer".} -proc gtk_text_btree_get_chars_changed_stamp*(tree: PGtkTextBTree): guint{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_chars_changed_stamp".} -proc gtk_text_btree_get_segments_changed_stamp*(tree: PGtkTextBTree): guint{. - cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_get_segments_changed_stamp".} -proc gtk_text_btree_segments_changed*(tree: PGtkTextBTree){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_segments_changed".} -proc gtk_text_btree_is_end*(tree: PGtkTextBTree, line: PGtkTextLine, - seg: PGtkTextLineSegment, byte_index: int32, - char_offset: int32): gboolean{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_is_end".} -proc gtk_text_btree_delete*(start: PGtkTextIter, theEnd: PGtkTextIter){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_delete".} -proc gtk_text_btree_insert*(iter: PGtkTextIter, text: cstring, len: gint){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_insert".} -proc gtk_text_btree_insert_pixbuf*(iter: PGtkTextIter, pixbuf: PGdkPixbuf){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_insert_pixbuf".} -proc gtk_text_btree_insert_child_anchor*(iter: PGtkTextIter, - anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_insert_child_anchor".} -proc gtk_text_btree_unregister_child_anchor*(anchor: PGtkTextChildAnchor){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_unregister_child_anchor".} -proc gtk_text_btree_find_line_by_y*(tree: PGtkTextBTree, view_id: gpointer, - ypixel: gint, line_top_y: Pgint): PGtkTextLine{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_find_line_by_y".} -proc gtk_text_btree_find_line_top*(tree: PGtkTextBTree, line: PGtkTextLine, - view_id: gpointer): gint{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_find_line_top".} -proc gtk_text_btree_add_view*(tree: PGtkTextBTree, layout: PGtkTextLayout){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_add_view".} -proc gtk_text_btree_remove_view*(tree: PGtkTextBTree, view_id: gpointer){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_remove_view".} -proc gtk_text_btree_invalidate_region*(tree: PGtkTextBTree, - start: PGtkTextIter, theEnd: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_invalidate_region".} -proc gtk_text_btree_get_view_size*(tree: PGtkTextBTree, view_id: gpointer, - width: Pgint, height: Pgint){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_view_size".} -proc gtk_text_btree_is_valid*(tree: PGtkTextBTree, view_id: gpointer): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_is_valid".} -proc gtk_text_btree_validate*(tree: PGtkTextBTree, view_id: gpointer, - max_pixels: gint, y: Pgint, old_height: Pgint, - new_height: Pgint): gboolean{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_validate".} -proc gtk_text_btree_validate_line*(tree: PGtkTextBTree, line: PGtkTextLine, - view_id: gpointer){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_validate_line".} -proc gtk_text_btree_tag*(start: PGtkTextIter, theEnd: PGtkTextIter, - tag: PGtkTextTag, apply: gboolean){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_tag".} -proc gtk_text_btree_get_line*(tree: PGtkTextBTree, line_number: gint, - real_line_number: Pgint): PGtkTextLine{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_line".} -proc gtk_text_btree_get_line_no_last*(tree: PGtkTextBTree, line_number: gint, - real_line_number: Pgint): PGtkTextLine{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_line_no_last".} -proc gtk_text_btree_get_end_iter_line*(tree: PGtkTextBTree): PGtkTextLine{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_end_iter_line".} -proc gtk_text_btree_get_line_at_char*(tree: PGtkTextBTree, char_index: gint, - line_start_index: Pgint, - real_char_index: Pgint): PGtkTextLine{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_line_at_char".} -proc gtk_text_btree_get_tags*(iter: PGtkTextIter, num_tags: Pgint): PPGtkTextTag{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_tags".} -proc gtk_text_btree_get_text*(start: PGtkTextIter, theEnd: PGtkTextIter, - include_hidden: gboolean, - include_nonchars: gboolean): cstring{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_text".} -proc gtk_text_btree_line_count*(tree: PGtkTextBTree): gint{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_line_count".} -proc gtk_text_btree_char_count*(tree: PGtkTextBTree): gint{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_char_count".} -proc gtk_text_btree_char_is_invisible*(iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_char_is_invisible".} -proc gtk_text_btree_get_iter_at_char*(tree: PGtkTextBTree, iter: PGtkTextIter, - char_index: gint){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_char".} -proc gtk_text_btree_get_iter_at_line_char*(tree: PGtkTextBTree, - iter: PGtkTextIter, line_number: gint, char_index: gint){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_line_char".} -proc gtk_text_btree_get_iter_at_line_byte*(tree: PGtkTextBTree, - iter: PGtkTextIter, line_number: gint, byte_index: gint){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_line_byte".} -proc gtk_text_btree_get_iter_from_string*(tree: PGtkTextBTree, - iter: PGtkTextIter, `string`: cstring): gboolean{.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_get_iter_from_string".} -proc gtk_text_btree_get_iter_at_mark_name*(tree: PGtkTextBTree, - iter: PGtkTextIter, mark_name: cstring): gboolean{.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_get_iter_at_mark_name".} -proc gtk_text_btree_get_iter_at_mark*(tree: PGtkTextBTree, iter: PGtkTextIter, - mark: PGtkTextMark){.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_mark".} -proc gtk_text_btree_get_end_iter*(tree: PGtkTextBTree, iter: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_end_iter".} -proc gtk_text_btree_get_iter_at_line*(tree: PGtkTextBTree, iter: PGtkTextIter, - line: PGtkTextLine, byte_offset: gint){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_iter_at_line".} -proc gtk_text_btree_get_iter_at_first_toggle*(tree: PGtkTextBTree, - iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_get_iter_at_first_toggle".} -proc gtk_text_btree_get_iter_at_last_toggle*(tree: PGtkTextBTree, - iter: PGtkTextIter, tag: PGtkTextTag): gboolean{.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_get_iter_at_last_toggle".} -proc gtk_text_btree_get_iter_at_child_anchor*(tree: PGtkTextBTree, - iter: PGtkTextIter, anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_get_iter_at_child_anchor".} -proc gtk_text_btree_set_mark*(tree: PGtkTextBTree, - existing_mark: PGtkTextMark, name: cstring, - left_gravity: gboolean, index: PGtkTextIter, - should_exist: gboolean): PGtkTextMark{.cdecl, - dynlib: gtklib, importc: "_gtk_text_btree_set_mark".} -proc gtk_text_btree_remove_mark_by_name*(tree: PGtkTextBTree, name: cstring){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_remove_mark_by_name".} -proc gtk_text_btree_remove_mark*(tree: PGtkTextBTree, segment: PGtkTextMark){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_remove_mark".} -proc gtk_text_btree_get_selection_bounds*(tree: PGtkTextBTree, - start: PGtkTextIter, theEnd: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_get_selection_bounds".} -proc gtk_text_btree_place_cursor*(tree: PGtkTextBTree, `where`: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_place_cursor".} -proc gtk_text_btree_mark_is_insert*(tree: PGtkTextBTree, segment: PGtkTextMark): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_mark_is_insert".} -proc gtk_text_btree_mark_is_selection_bound*(tree: PGtkTextBTree, - segment: PGtkTextMark): gboolean{.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_mark_is_selection_bound".} -proc gtk_text_btree_get_mark_by_name*(tree: PGtkTextBTree, name: cstring): PGtkTextMark{. - cdecl, dynlib: gtklib, importc: "_gtk_text_btree_get_mark_by_name".} -proc gtk_text_btree_first_could_contain_tag*(tree: PGtkTextBTree, - tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_first_could_contain_tag".} -proc gtk_text_btree_last_could_contain_tag*(tree: PGtkTextBTree, - tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_last_could_contain_tag".} -const - bm_TGtkTextLineData_width* = 0x00FFFFFF'i32 - bp_TGtkTextLineData_width* = 0'i32 - bm_TGtkTextLineData_valid* = 0xFF000000'i32 - bp_TGtkTextLineData_valid* = 24'i32 - -proc width*(a: PGtkTextLineData): gint -proc set_width*(a: PGtkTextLineData, NewWidth: gint) -proc valid*(a: PGtkTextLineData): gint -proc set_valid*(a: PGtkTextLineData, `valid`: gint) -proc gtk_text_line_get_number*(line: PGtkTextLine): gint{.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_get_number".} -proc gtk_text_line_char_has_tag*(line: PGtkTextLine, tree: PGtkTextBTree, - char_in_line: gint, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_char_has_tag".} -proc gtk_text_line_byte_has_tag*(line: PGtkTextLine, tree: PGtkTextBTree, - byte_in_line: gint, tag: PGtkTextTag): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_byte_has_tag".} -proc gtk_text_line_is_last*(line: PGtkTextLine, tree: PGtkTextBTree): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_is_last".} -proc gtk_text_line_contains_end_iter*(line: PGtkTextLine, tree: PGtkTextBTree): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_contains_end_iter".} -proc gtk_text_line_next*(line: PGtkTextLine): PGtkTextLine{.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_next".} -proc gtk_text_line_next_excluding_last*(line: PGtkTextLine): PGtkTextLine{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_next_excluding_last".} -proc gtk_text_line_previous*(line: PGtkTextLine): PGtkTextLine{.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_previous".} -proc gtk_text_line_add_data*(line: PGtkTextLine, data: PGtkTextLineData){. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_add_data".} -proc gtk_text_line_remove_data*(line: PGtkTextLine, view_id: gpointer): gpointer{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_remove_data".} -proc gtk_text_line_get_data*(line: PGtkTextLine, view_id: gpointer): gpointer{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_get_data".} -proc gtk_text_line_invalidate_wrap*(line: PGtkTextLine, ld: PGtkTextLineData){. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_invalidate_wrap".} -proc gtk_text_line_char_count*(line: PGtkTextLine): gint{.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_char_count".} -proc gtk_text_line_byte_count*(line: PGtkTextLine): gint{.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_byte_count".} -proc gtk_text_line_char_index*(line: PGtkTextLine): gint{.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_char_index".} -proc gtk_text_line_byte_to_segment*(line: PGtkTextLine, byte_offset: gint, - seg_offset: Pgint): PGtkTextLineSegment{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_byte_to_segment".} -proc gtk_text_line_char_to_segment*(line: PGtkTextLine, char_offset: gint, - seg_offset: Pgint): PGtkTextLineSegment{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_char_to_segment".} -proc gtk_text_line_byte_to_char_offsets*(line: PGtkTextLine, - byte_offset: gint, line_char_offset: Pgint, seg_char_offset: Pgint){.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_byte_to_char_offsets".} -proc gtk_text_line_char_to_byte_offsets*(line: PGtkTextLine, - char_offset: gint, line_byte_offset: Pgint, seg_byte_offset: Pgint){.cdecl, - dynlib: gtklib, importc: "_gtk_text_line_char_to_byte_offsets".} -proc gtk_text_line_byte_to_any_segment*(line: PGtkTextLine, byte_offset: gint, - seg_offset: Pgint): PGtkTextLineSegment{.cdecl, dynlib: gtklib, - importc: "_gtk_text_line_byte_to_any_segment".} -proc gtk_text_line_char_to_any_segment*(line: PGtkTextLine, char_offset: gint, - seg_offset: Pgint): PGtkTextLineSegment{.cdecl, dynlib: gtklib, - importc: "_gtk_text_line_char_to_any_segment".} -proc gtk_text_line_byte_to_char*(line: PGtkTextLine, byte_offset: gint): gint{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_byte_to_char".} -proc gtk_text_line_char_to_byte*(line: PGtkTextLine, char_offset: gint): gint{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_char_to_byte".} -proc gtk_text_line_next_could_contain_tag*(line: PGtkTextLine, - tree: PGtkTextBTree, tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib, - importc: "_gtk_text_line_next_could_contain_tag".} -proc gtk_text_line_previous_could_contain_tag*(line: PGtkTextLine, - tree: PGtkTextBTree, tag: PGtkTextTag): PGtkTextLine{.cdecl, dynlib: gtklib, - importc: "_gtk_text_line_previous_could_contain_tag".} -proc gtk_text_line_data_new*(layout: PGtkTextLayout, line: PGtkTextLine): PGtkTextLineData{. - cdecl, dynlib: gtklib, importc: "_gtk_text_line_data_new".} -proc gtk_text_btree_check*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_check".} -proc gtk_text_btree_spew*(tree: PGtkTextBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_spew".} -proc gtk_toggle_segment_check_func*(segPtr: PGtkTextLineSegment, - line: PGtkTextLine){.cdecl, - dynlib: gtklib, importc: "_gtk_toggle_segment_check_func".} -proc gtk_change_node_toggle_count*(node: PGtkTextBTreeNode, - info: PGtkTextTagInfo, delta: gint){.cdecl, - dynlib: gtklib, importc: "_gtk_change_node_toggle_count".} -proc gtk_text_btree_release_mark_segment*(tree: PGtkTextBTree, - segment: PGtkTextLineSegment){.cdecl, dynlib: gtklib, importc: "_gtk_text_btree_release_mark_segment".} -proc gtk_text_btree_notify_will_remove_tag*(tree: PGtkTextBTree, - tag: PGtkTextTag){.cdecl, dynlib: gtklib, - importc: "_gtk_text_btree_notify_will_remove_tag".} -const - bm_TGtkTextBuffer_modified* = 0x00000001'i16 - bp_TGtkTextBuffer_modified* = 0'i16 - -proc GTK_TYPE_TEXT_BUFFER*(): GType -proc GTK_TEXT_BUFFER*(obj: pointer): PGtkTextBuffer -proc GTK_TEXT_BUFFER_CLASS*(klass: pointer): PGtkTextBufferClass -proc GTK_IS_TEXT_BUFFER*(obj: pointer): bool -proc GTK_IS_TEXT_BUFFER_CLASS*(klass: pointer): bool -proc GTK_TEXT_BUFFER_GET_CLASS*(obj: pointer): PGtkTextBufferClass -proc modified*(a: var TGtkTextBuffer): guint -proc set_modified*(a: var TGtkTextBuffer, `modified`: guint) -proc gtk_text_buffer_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_get_type".} -proc gtk_text_buffer_new*(table: PGtkTextTagTable): PGtkTextBuffer{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_new".} -proc gtk_text_buffer_get_line_count*(buffer: PGtkTextBuffer): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_line_count".} -proc gtk_text_buffer_get_char_count*(buffer: PGtkTextBuffer): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_char_count".} -proc gtk_text_buffer_get_tag_table*(buffer: PGtkTextBuffer): PGtkTextTagTable{. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_tag_table".} -proc gtk_text_buffer_set_text*(buffer: PGtkTextBuffer, text: cstring, len: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_set_text".} -proc gtk_text_buffer_insert*(buffer: PGtkTextBuffer, iter: PGtkTextIter, - text: cstring, len: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_insert".} -proc gtk_text_buffer_insert_at_cursor*(buffer: PGtkTextBuffer, text: cstring, - len: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_insert_at_cursor".} -proc gtk_text_buffer_insert_interactive*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, text: cstring, len: gint, default_editable: gboolean): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_insert_interactive".} -proc gtk_text_buffer_insert_interactive_at_cursor*(buffer: PGtkTextBuffer, - text: cstring, len: gint, default_editable: gboolean): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_insert_interactive_at_cursor".} -proc gtk_text_buffer_insert_range*(buffer: PGtkTextBuffer, iter: PGtkTextIter, - start: PGtkTextIter, theEnd: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_insert_range".} -proc gtk_text_buffer_insert_range_interactive*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, start: PGtkTextIter, theEnd: PGtkTextIter, - default_editable: gboolean): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_insert_range_interactive".} -proc gtk_text_buffer_delete*(buffer: PGtkTextBuffer, start: PGtkTextIter, - theEnd: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_delete".} -proc gtk_text_buffer_delete_interactive*(buffer: PGtkTextBuffer, - start_iter: PGtkTextIter, end_iter: PGtkTextIter, default_editable: gboolean): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_interactive".} -proc gtk_text_buffer_get_text*(buffer: PGtkTextBuffer, start: PGtkTextIter, - theEnd: PGtkTextIter, - include_hidden_chars: gboolean): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_text".} -proc gtk_text_buffer_get_slice*(buffer: PGtkTextBuffer, start: PGtkTextIter, - theEnd: PGtkTextIter, - include_hidden_chars: gboolean): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_slice".} -proc gtk_text_buffer_insert_pixbuf*(buffer: PGtkTextBuffer, iter: PGtkTextIter, - pixbuf: PGdkPixbuf){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_insert_pixbuf".} -proc gtk_text_buffer_insert_child_anchor*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_insert_child_anchor".} -proc gtk_text_buffer_create_child_anchor*(buffer: PGtkTextBuffer, - iter: PGtkTextIter): PGtkTextChildAnchor{.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_create_child_anchor".} -proc gtk_text_buffer_create_mark*(buffer: PGtkTextBuffer, mark_name: cstring, - `where`: PGtkTextIter, left_gravity: gboolean): PGtkTextMark{. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_create_mark".} -proc gtk_text_buffer_move_mark*(buffer: PGtkTextBuffer, mark: PGtkTextMark, - `where`: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_move_mark".} -proc gtk_text_buffer_delete_mark*(buffer: PGtkTextBuffer, mark: PGtkTextMark){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_mark".} -proc gtk_text_buffer_get_mark*(buffer: PGtkTextBuffer, name: cstring): PGtkTextMark{. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_mark".} -proc gtk_text_buffer_move_mark_by_name*(buffer: PGtkTextBuffer, name: cstring, - `where`: PGtkTextIter){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_move_mark_by_name".} -proc gtk_text_buffer_delete_mark_by_name*(buffer: PGtkTextBuffer, name: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_mark_by_name".} -proc gtk_text_buffer_get_insert*(buffer: PGtkTextBuffer): PGtkTextMark{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_insert".} -proc gtk_text_buffer_get_selection_bound*(buffer: PGtkTextBuffer): PGtkTextMark{. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_selection_bound".} -proc gtk_text_buffer_place_cursor*(buffer: PGtkTextBuffer, `where`: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_place_cursor".} -proc gtk_text_buffer_apply_tag*(buffer: PGtkTextBuffer, tag: PGtkTextTag, - start: PGtkTextIter, theEnd: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_apply_tag".} -proc gtk_text_buffer_remove_tag*(buffer: PGtkTextBuffer, tag: PGtkTextTag, - start: PGtkTextIter, theEnd: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_remove_tag".} -proc gtk_text_buffer_apply_tag_by_name*(buffer: PGtkTextBuffer, name: cstring, - start: PGtkTextIter, - theEnd: PGtkTextIter){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_apply_tag_by_name".} -proc gtk_text_buffer_remove_tag_by_name*(buffer: PGtkTextBuffer, name: cstring, - start: PGtkTextIter, theEnd: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_remove_tag_by_name".} -proc gtk_text_buffer_remove_all_tags*(buffer: PGtkTextBuffer, - start: PGtkTextIter, theEnd: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_remove_all_tags".} -proc gtk_text_buffer_get_iter_at_line_offset*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, line_number: gint, char_offset: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_line_offset".} -proc gtk_text_buffer_get_iter_at_line_index*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, line_number: gint, byte_index: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_line_index".} -proc gtk_text_buffer_get_iter_at_offset*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, char_offset: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_get_iter_at_offset".} -proc gtk_text_buffer_get_iter_at_line*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, line_number: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_line".} -proc gtk_text_buffer_get_start_iter*(buffer: PGtkTextBuffer, iter: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_start_iter".} -proc gtk_text_buffer_get_end_iter*(buffer: PGtkTextBuffer, iter: PGtkTextIter){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_end_iter".} -proc gtk_text_buffer_get_bounds*(buffer: PGtkTextBuffer, start: PGtkTextIter, - theEnd: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_get_bounds".} -proc gtk_text_buffer_get_iter_at_mark*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, mark: PGtkTextMark){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_get_iter_at_mark".} -proc gtk_text_buffer_get_iter_at_child_anchor*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, anchor: PGtkTextChildAnchor){.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_get_iter_at_child_anchor".} -proc gtk_text_buffer_get_modified*(buffer: PGtkTextBuffer): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_get_modified".} -proc gtk_text_buffer_set_modified*(buffer: PGtkTextBuffer, setting: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_set_modified".} -proc gtk_text_buffer_add_selection_clipboard*(buffer: PGtkTextBuffer, - clipboard: PGtkClipboard){.cdecl, dynlib: gtklib, importc: "gtk_text_buffer_add_selection_clipboard".} -proc gtk_text_buffer_remove_selection_clipboard*(buffer: PGtkTextBuffer, - clipboard: PGtkClipboard){.cdecl, dynlib: gtklib, importc: "gtk_text_buffer_remove_selection_clipboard".} -proc gtk_text_buffer_cut_clipboard*(buffer: PGtkTextBuffer, - clipboard: PGtkClipboard, - default_editable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_cut_clipboard".} -proc gtk_text_buffer_copy_clipboard*(buffer: PGtkTextBuffer, - clipboard: PGtkClipboard){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_copy_clipboard".} -proc gtk_text_buffer_paste_clipboard*(buffer: PGtkTextBuffer, - clipboard: PGtkClipboard, - override_location: PGtkTextIter, - default_editable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_paste_clipboard".} -proc gtk_text_buffer_get_selection_bounds*(buffer: PGtkTextBuffer, - start: PGtkTextIter, theEnd: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_text_buffer_get_selection_bounds".} -proc gtk_text_buffer_delete_selection*(buffer: PGtkTextBuffer, - interactive: gboolean, - default_editable: gboolean): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_buffer_delete_selection".} -proc gtk_text_buffer_begin_user_action*(buffer: PGtkTextBuffer){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_begin_user_action".} -proc gtk_text_buffer_end_user_action*(buffer: PGtkTextBuffer){.cdecl, - dynlib: gtklib, importc: "gtk_text_buffer_end_user_action".} -proc gtk_text_buffer_spew*(buffer: PGtkTextBuffer){.cdecl, dynlib: gtklib, - importc: "_gtk_text_buffer_spew".} -proc gtk_text_buffer_get_btree*(buffer: PGtkTextBuffer): PGtkTextBTree{.cdecl, - dynlib: gtklib, importc: "_gtk_text_buffer_get_btree".} -proc gtk_text_buffer_get_line_log_attrs*(buffer: PGtkTextBuffer, - anywhere_in_line: PGtkTextIter, char_len: Pgint): PPangoLogAttr{.cdecl, - dynlib: gtklib, importc: "_gtk_text_buffer_get_line_log_attrs".} -proc gtk_text_buffer_notify_will_remove_tag*(buffer: PGtkTextBuffer, - tag: PGtkTextTag){.cdecl, dynlib: gtklib, - importc: "_gtk_text_buffer_notify_will_remove_tag".} -proc GTK_TYPE_TEXT_LAYOUT*(): GType -proc GTK_TEXT_LAYOUT*(obj: pointer): PGtkTextLayout -proc GTK_TEXT_LAYOUT_CLASS*(klass: pointer): PGtkTextLayoutClass -proc GTK_IS_TEXT_LAYOUT*(obj: pointer): bool -proc GTK_IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool -proc GTK_TEXT_LAYOUT_GET_CLASS*(obj: pointer): PGtkTextLayoutClass -const - bm_TGtkTextLayout_cursor_visible* = 0x00000001'i16 - bp_TGtkTextLayout_cursor_visible* = 0'i16 - bm_TGtkTextLayout_cursor_direction* = 0x00000006'i16 - bp_TGtkTextLayout_cursor_direction* = 1'i16 - -proc cursor_visible*(a: var TGtkTextLayout): guint -proc set_cursor_visible*(a: var TGtkTextLayout, `cursor_visible`: guint) -proc cursor_direction*(a: var TGtkTextLayout): gint -proc set_cursor_direction*(a: var TGtkTextLayout, `cursor_direction`: gint) -const - bm_TGtkTextCursorDisplay_is_strong* = 0x00000001'i16 - bp_TGtkTextCursorDisplay_is_strong* = 0'i16 - bm_TGtkTextCursorDisplay_is_weak* = 0x00000002'i16 - bp_TGtkTextCursorDisplay_is_weak* = 1'i16 - -proc is_strong*(a: var TGtkTextCursorDisplay): guint -proc set_is_strong*(a: var TGtkTextCursorDisplay, `is_strong`: guint) -proc is_weak*(a: var TGtkTextCursorDisplay): guint -proc set_is_weak*(a: var TGtkTextCursorDisplay, `is_weak`: guint) -proc gtk_text_layout_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_get_type".} -proc gtk_text_layout_new*(): PGtkTextLayout{.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_new".} -proc gtk_text_layout_set_buffer*(layout: PGtkTextLayout, buffer: PGtkTextBuffer){. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_buffer".} -proc gtk_text_layout_get_buffer*(layout: PGtkTextLayout): PGtkTextBuffer{.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_get_buffer".} -proc gtk_text_layout_set_default_style*(layout: PGtkTextLayout, - values: PGtkTextAttributes){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_set_default_style".} -proc gtk_text_layout_set_contexts*(layout: PGtkTextLayout, - ltr_context: PPangoContext, - rtl_context: PPangoContext){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_set_contexts".} -proc gtk_text_layout_set_cursor_direction*(layout: PGtkTextLayout, - direction: TGtkTextDirection){.cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_cursor_direction".} -proc gtk_text_layout_default_style_changed*(layout: PGtkTextLayout){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_default_style_changed".} -proc gtk_text_layout_set_screen_width*(layout: PGtkTextLayout, width: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_screen_width".} -proc gtk_text_layout_set_preedit_string*(layout: PGtkTextLayout, - preedit_string: cstring, preedit_attrs: PPangoAttrList, cursor_pos: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_set_preedit_string".} -proc gtk_text_layout_set_cursor_visible*(layout: PGtkTextLayout, - cursor_visible: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_set_cursor_visible".} -proc gtk_text_layout_get_cursor_visible*(layout: PGtkTextLayout): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_cursor_visible".} -proc gtk_text_layout_get_size*(layout: PGtkTextLayout, width: Pgint, - height: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_get_size".} -proc gtk_text_layout_get_lines*(layout: PGtkTextLayout, top_y: gint, - bottom_y: gint, first_line_y: Pgint): PGSList{. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_lines".} -proc gtk_text_layout_wrap_loop_start*(layout: PGtkTextLayout){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_wrap_loop_start".} -proc gtk_text_layout_wrap_loop_end*(layout: PGtkTextLayout){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_wrap_loop_end".} -proc gtk_text_layout_get_line_display*(layout: PGtkTextLayout, - line: PGtkTextLine, size_only: gboolean): PGtkTextLineDisplay{. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_line_display".} -proc gtk_text_layout_free_line_display*(layout: PGtkTextLayout, - display: PGtkTextLineDisplay){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_free_line_display".} -proc gtk_text_layout_get_line_at_y*(layout: PGtkTextLayout, - target_iter: PGtkTextIter, y: gint, - line_top: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_get_line_at_y".} -proc gtk_text_layout_get_iter_at_pixel*(layout: PGtkTextLayout, - iter: PGtkTextIter, x: gint, y: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_iter_at_pixel".} -proc gtk_text_layout_invalidate*(layout: PGtkTextLayout, start: PGtkTextIter, - theEnd: PGtkTextIter){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_invalidate".} -proc gtk_text_layout_free_line_data*(layout: PGtkTextLayout, line: PGtkTextLine, - line_data: PGtkTextLineData){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_free_line_data".} -proc gtk_text_layout_is_valid*(layout: PGtkTextLayout): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_is_valid".} -proc gtk_text_layout_validate_yrange*(layout: PGtkTextLayout, - anchor_line: PGtkTextIter, y0: gint, - y1: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_validate_yrange".} -proc gtk_text_layout_validate*(layout: PGtkTextLayout, max_pixels: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_validate".} -proc gtk_text_layout_wrap*(layout: PGtkTextLayout, line: PGtkTextLine, - line_data: PGtkTextLineData): PGtkTextLineData{. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_wrap".} -proc gtk_text_layout_changed*(layout: PGtkTextLayout, y: gint, old_height: gint, - new_height: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_changed".} -proc gtk_text_layout_get_iter_location*(layout: PGtkTextLayout, - iter: PGtkTextIter, rect: PGdkRectangle){. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_iter_location".} -proc gtk_text_layout_get_line_yrange*(layout: PGtkTextLayout, - iter: PGtkTextIter, y: Pgint, - height: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_get_line_yrange".} -proc gtk_text_layout_get_line_xrange*(layout: PGtkTextLayout, - iter: PGtkTextIter, x: Pgint, - width: Pgint){.cdecl, dynlib: gtklib, - importc: "_gtk_text_layout_get_line_xrange".} -proc gtk_text_layout_get_cursor_locations*(layout: PGtkTextLayout, - iter: PGtkTextIter, strong_pos: PGdkRectangle, weak_pos: PGdkRectangle){. - cdecl, dynlib: gtklib, importc: "gtk_text_layout_get_cursor_locations".} -proc gtk_text_layout_clamp_iter_to_vrange*(layout: PGtkTextLayout, - iter: PGtkTextIter, top: gint, bottom: gint): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_clamp_iter_to_vrange".} -proc gtk_text_layout_move_iter_to_line_end*(layout: PGtkTextLayout, - iter: PGtkTextIter, direction: gint): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_move_iter_to_line_end".} -proc gtk_text_layout_move_iter_to_previous_line*(layout: PGtkTextLayout, - iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_layout_move_iter_to_previous_line".} -proc gtk_text_layout_move_iter_to_next_line*(layout: PGtkTextLayout, - iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_layout_move_iter_to_next_line".} -proc gtk_text_layout_move_iter_to_x*(layout: PGtkTextLayout, iter: PGtkTextIter, - x: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_move_iter_to_x".} -proc gtk_text_layout_move_iter_visually*(layout: PGtkTextLayout, - iter: PGtkTextIter, count: gint): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_move_iter_visually".} -proc gtk_text_layout_iter_starts_line*(layout: PGtkTextLayout, - iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_iter_starts_line".} -proc gtk_text_layout_get_iter_at_line*(layout: PGtkTextLayout, - iter: PGtkTextIter, line: PGtkTextLine, - byte_offset: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_layout_get_iter_at_line".} -proc gtk_text_child_anchor_register_child*(anchor: PGtkTextChildAnchor, - child: PGtkWidget, layout: PGtkTextLayout){.cdecl, dynlib: gtklib, - importc: "gtk_text_child_anchor_register_child".} -proc gtk_text_child_anchor_unregister_child*(anchor: PGtkTextChildAnchor, - child: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_text_child_anchor_unregister_child".} -proc gtk_text_child_anchor_queue_resize*(anchor: PGtkTextChildAnchor, - layout: PGtkTextLayout){.cdecl, dynlib: gtklib, - importc: "gtk_text_child_anchor_queue_resize".} -proc gtk_text_anchored_child_set_layout*(child: PGtkWidget, - layout: PGtkTextLayout){.cdecl, dynlib: gtklib, - importc: "gtk_text_anchored_child_set_layout".} -proc gtk_text_layout_spew*(layout: PGtkTextLayout){.cdecl, dynlib: gtklib, - importc: "gtk_text_layout_spew".} -const # GTK_TEXT_VIEW_PRIORITY_VALIDATE* = GDK_PRIORITY_REDRAW + 5 - bm_TGtkTextView_editable* = 0x00000001'i16 - bp_TGtkTextView_editable* = 0'i16 - bm_TGtkTextView_overwrite_mode* = 0x00000002'i16 - bp_TGtkTextView_overwrite_mode* = 1'i16 - bm_TGtkTextView_cursor_visible* = 0x00000004'i16 - bp_TGtkTextView_cursor_visible* = 2'i16 - bm_TGtkTextView_need_im_reset* = 0x00000008'i16 - bp_TGtkTextView_need_im_reset* = 3'i16 - bm_TGtkTextView_just_selected_element* = 0x00000010'i16 - bp_TGtkTextView_just_selected_element* = 4'i16 - bm_TGtkTextView_disable_scroll_on_focus* = 0x00000020'i16 - bp_TGtkTextView_disable_scroll_on_focus* = 5'i16 - bm_TGtkTextView_onscreen_validated* = 0x00000040'i16 - bp_TGtkTextView_onscreen_validated* = 6'i16 - bm_TGtkTextView_mouse_cursor_obscured* = 0x00000080'i16 - bp_TGtkTextView_mouse_cursor_obscured* = 7'i16 - -proc GTK_TYPE_TEXT_VIEW*(): GType -proc GTK_TEXT_VIEW*(obj: pointer): PGtkTextView -proc GTK_TEXT_VIEW_CLASS*(klass: pointer): PGtkTextViewClass -proc GTK_IS_TEXT_VIEW*(obj: pointer): bool -proc GTK_IS_TEXT_VIEW_CLASS*(klass: pointer): bool -proc GTK_TEXT_VIEW_GET_CLASS*(obj: pointer): PGtkTextViewClass -proc editable*(a: var TGtkTextView): guint -proc set_editable*(a: var TGtkTextView, `editable`: guint) -proc overwrite_mode*(a: var TGtkTextView): guint -proc set_overwrite_mode*(a: var TGtkTextView, `overwrite_mode`: guint) -proc cursor_visible*(a: var TGtkTextView): guint -proc set_cursor_visible*(a: var TGtkTextView, `cursor_visible`: guint) -proc need_im_reset*(a: var TGtkTextView): guint -proc set_need_im_reset*(a: var TGtkTextView, `need_im_reset`: guint) -proc just_selected_element*(a: var TGtkTextView): guint -proc set_just_selected_element*(a: var TGtkTextView, - `just_selected_element`: guint) -proc disable_scroll_on_focus*(a: var TGtkTextView): guint -proc set_disable_scroll_on_focus*(a: var TGtkTextView, - `disable_scroll_on_focus`: guint) -proc onscreen_validated*(a: var TGtkTextView): guint -proc set_onscreen_validated*(a: var TGtkTextView, `onscreen_validated`: guint) -proc mouse_cursor_obscured*(a: var TGtkTextView): guint -proc set_mouse_cursor_obscured*(a: var TGtkTextView, - `mouse_cursor_obscured`: guint) -proc gtk_text_view_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_text_view_get_type".} -proc gtk_text_view_new*(): PGtkTextView{.cdecl, dynlib: gtklib, - importc: "gtk_text_view_new".} -proc gtk_text_view_new_with_buffer*(buffer: PGtkTextBuffer): PGtkTextView{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_new_with_buffer".} -proc gtk_text_view_set_buffer*(text_view: PGtkTextView, buffer: PGtkTextBuffer){. - cdecl, dynlib: gtklib, importc: "gtk_text_view_set_buffer".} -proc gtk_text_view_get_buffer*(text_view: PGtkTextView): PGtkTextBuffer{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_buffer".} -proc gtk_text_view_scroll_to_iter*(text_view: PGtkTextView, iter: PGtkTextIter, - within_margin: gdouble, use_align: gboolean, - xalign: gdouble, yalign: gdouble): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_scroll_to_iter".} -proc gtk_text_view_scroll_to_mark*(text_view: PGtkTextView, mark: PGtkTextMark, - within_margin: gdouble, use_align: gboolean, - xalign: gdouble, yalign: gdouble){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_scroll_to_mark".} -proc gtk_text_view_scroll_mark_onscreen*(text_view: PGtkTextView, - mark: PGtkTextMark){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_scroll_mark_onscreen".} -proc gtk_text_view_move_mark_onscreen*(text_view: PGtkTextView, - mark: PGtkTextMark): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_move_mark_onscreen".} -proc gtk_text_view_place_cursor_onscreen*(text_view: PGtkTextView): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_place_cursor_onscreen".} -proc gtk_text_view_get_visible_rect*(text_view: PGtkTextView, - visible_rect: PGdkRectangle){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_visible_rect".} -proc gtk_text_view_set_cursor_visible*(text_view: PGtkTextView, - setting: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_set_cursor_visible".} -proc gtk_text_view_get_cursor_visible*(text_view: PGtkTextView): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_cursor_visible".} -proc gtk_text_view_get_iter_location*(text_view: PGtkTextView, - iter: PGtkTextIter, - location: PGdkRectangle){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_iter_location".} -proc gtk_text_view_get_iter_at_location*(text_view: PGtkTextView, - iter: PGtkTextIter, x: gint, y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_get_iter_at_location".} -proc gtk_text_view_get_line_yrange*(text_view: PGtkTextView, iter: PGtkTextIter, - y: Pgint, height: Pgint){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_line_yrange".} -proc gtk_text_view_get_line_at_y*(text_view: PGtkTextView, - target_iter: PGtkTextIter, y: gint, - line_top: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_get_line_at_y".} -proc gtk_text_view_buffer_to_window_coords*(text_view: PGtkTextView, - win: TGtkTextWindowType, buffer_x: gint, buffer_y: gint, window_x: Pgint, - window_y: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_buffer_to_window_coords".} -proc gtk_text_view_window_to_buffer_coords*(text_view: PGtkTextView, - win: TGtkTextWindowType, window_x: gint, window_y: gint, buffer_x: Pgint, - buffer_y: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_window_to_buffer_coords".} -proc gtk_text_view_get_window*(text_view: PGtkTextView, win: TGtkTextWindowType): PGdkWindow{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_window".} -proc gtk_text_view_get_window_type*(text_view: PGtkTextView, window: PGdkWindow): TGtkTextWindowType{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_window_type".} -proc gtk_text_view_set_border_window_size*(text_view: PGtkTextView, - thetype: TGtkTextWindowType, size: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_set_border_window_size".} -proc gtk_text_view_get_border_window_size*(text_view: PGtkTextView, - thetype: TGtkTextWindowType): gint{.cdecl, dynlib: gtklib, importc: "gtk_text_view_get_border_window_size".} -proc gtk_text_view_forward_display_line*(text_view: PGtkTextView, - iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_forward_display_line".} -proc gtk_text_view_backward_display_line*(text_view: PGtkTextView, - iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_backward_display_line".} -proc gtk_text_view_forward_display_line_end*(text_view: PGtkTextView, - iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_forward_display_line_end".} -proc gtk_text_view_backward_display_line_start*(text_view: PGtkTextView, - iter: PGtkTextIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_text_view_backward_display_line_start".} -proc gtk_text_view_starts_display_line*(text_view: PGtkTextView, - iter: PGtkTextIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_starts_display_line".} -proc gtk_text_view_move_visually*(text_view: PGtkTextView, iter: PGtkTextIter, - count: gint): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_text_view_move_visually".} -proc gtk_text_view_add_child_at_anchor*(text_view: PGtkTextView, - child: PGtkWidget, - anchor: PGtkTextChildAnchor){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_add_child_at_anchor".} -proc gtk_text_view_add_child_in_window*(text_view: PGtkTextView, - child: PGtkWidget, - which_window: TGtkTextWindowType, - xpos: gint, ypos: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_add_child_in_window".} -proc gtk_text_view_move_child*(text_view: PGtkTextView, child: PGtkWidget, - xpos: gint, ypos: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_move_child".} -proc gtk_text_view_set_wrap_mode*(text_view: PGtkTextView, - wrap_mode: TGtkWrapMode){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_set_wrap_mode".} -proc gtk_text_view_get_wrap_mode*(text_view: PGtkTextView): TGtkWrapMode{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_wrap_mode".} -proc gtk_text_view_set_editable*(text_view: PGtkTextView, setting: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_text_view_set_editable".} -proc gtk_text_view_get_editable*(text_view: PGtkTextView): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_editable".} -proc gtk_text_view_set_pixels_above_lines*(text_view: PGtkTextView, - pixels_above_lines: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_set_pixels_above_lines".} -proc gtk_text_view_get_pixels_above_lines*(text_view: PGtkTextView): gint{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_pixels_above_lines".} -proc gtk_text_view_set_pixels_below_lines*(text_view: PGtkTextView, - pixels_below_lines: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_set_pixels_below_lines".} -proc gtk_text_view_get_pixels_below_lines*(text_view: PGtkTextView): gint{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_pixels_below_lines".} -proc gtk_text_view_set_pixels_inside_wrap*(text_view: PGtkTextView, - pixels_inside_wrap: gint){.cdecl, dynlib: gtklib, - importc: "gtk_text_view_set_pixels_inside_wrap".} -proc gtk_text_view_get_pixels_inside_wrap*(text_view: PGtkTextView): gint{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_pixels_inside_wrap".} -proc gtk_text_view_set_justification*(text_view: PGtkTextView, - justification: TGtkJustification){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_set_justification".} -proc gtk_text_view_get_justification*(text_view: PGtkTextView): TGtkJustification{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_justification".} -proc gtk_text_view_set_left_margin*(text_view: PGtkTextView, left_margin: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_view_set_left_margin".} -proc gtk_text_view_get_left_margin*(text_view: PGtkTextView): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_left_margin".} -proc gtk_text_view_set_right_margin*(text_view: PGtkTextView, right_margin: gint){. - cdecl, dynlib: gtklib, importc: "gtk_text_view_set_right_margin".} -proc gtk_text_view_get_right_margin*(text_view: PGtkTextView): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_right_margin".} -proc gtk_text_view_set_indent*(text_view: PGtkTextView, indent: gint){.cdecl, - dynlib: gtklib, importc: "gtk_text_view_set_indent".} -proc gtk_text_view_get_indent*(text_view: PGtkTextView): gint{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_indent".} -proc gtk_text_view_set_tabs*(text_view: PGtkTextView, tabs: PPangoTabArray){. - cdecl, dynlib: gtklib, importc: "gtk_text_view_set_tabs".} -proc gtk_text_view_get_tabs*(text_view: PGtkTextView): PPangoTabArray{.cdecl, - dynlib: gtklib, importc: "gtk_text_view_get_tabs".} -proc gtk_text_view_get_default_attributes*(text_view: PGtkTextView): PGtkTextAttributes{. - cdecl, dynlib: gtklib, importc: "gtk_text_view_get_default_attributes".} -const - bm_TGtkTipsQuery_emit_always* = 0x00000001'i16 - bp_TGtkTipsQuery_emit_always* = 0'i16 - bm_TGtkTipsQuery_in_query* = 0x00000002'i16 - bp_TGtkTipsQuery_in_query* = 1'i16 - -proc GTK_TYPE_TIPS_QUERY*(): GType -proc GTK_TIPS_QUERY*(obj: pointer): PGtkTipsQuery -proc GTK_TIPS_QUERY_CLASS*(klass: pointer): PGtkTipsQueryClass -proc GTK_IS_TIPS_QUERY*(obj: pointer): bool -proc GTK_IS_TIPS_QUERY_CLASS*(klass: pointer): bool -proc GTK_TIPS_QUERY_GET_CLASS*(obj: pointer): PGtkTipsQueryClass -proc emit_always*(a: var TGtkTipsQuery): guint -proc set_emit_always*(a: var TGtkTipsQuery, `emit_always`: guint) -proc in_query*(a: var TGtkTipsQuery): guint -proc set_in_query*(a: var TGtkTipsQuery, `in_query`: guint) -proc gtk_tips_query_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tips_query_get_type".} -proc gtk_tips_query_new*(): PGtkTipsQuery{.cdecl, dynlib: gtklib, - importc: "gtk_tips_query_new".} -proc gtk_tips_query_start_query*(tips_query: PGtkTipsQuery){.cdecl, - dynlib: gtklib, importc: "gtk_tips_query_start_query".} -proc gtk_tips_query_stop_query*(tips_query: PGtkTipsQuery){.cdecl, - dynlib: gtklib, importc: "gtk_tips_query_stop_query".} -proc gtk_tips_query_set_caller*(tips_query: PGtkTipsQuery, caller: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_tips_query_set_caller".} -proc gtk_tips_query_set_labels*(tips_query: PGtkTipsQuery, - label_inactive: cstring, label_no_tip: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_tips_query_set_labels".} -const - bm_TGtkTooltips_delay* = 0x3FFFFFFF'i32 - bp_TGtkTooltips_delay* = 0'i32 - bm_TGtkTooltips_enabled* = 0x40000000'i32 - bp_TGtkTooltips_enabled* = 30'i32 - bm_TGtkTooltips_have_grab* = 0x80000000'i32 - bp_TGtkTooltips_have_grab* = 31'i32 - bm_TGtkTooltips_use_sticky_delay* = 0x00000001'i32 - bp_TGtkTooltips_use_sticky_delay* = 0'i32 - -proc GTK_TYPE_TOOLTIPS*(): GType -proc GTK_TOOLTIPS*(obj: pointer): PGtkTooltips -proc GTK_TOOLTIPS_CLASS*(klass: pointer): PGtkTooltipsClass -proc GTK_IS_TOOLTIPS*(obj: pointer): bool -proc GTK_IS_TOOLTIPS_CLASS*(klass: pointer): bool -proc GTK_TOOLTIPS_GET_CLASS*(obj: pointer): PGtkTooltipsClass -proc delay*(a: var TGtkTooltips): guint -proc set_delay*(a: var TGtkTooltips, `delay`: guint) -proc enabled*(a: var TGtkTooltips): guint -proc set_enabled*(a: var TGtkTooltips, `enabled`: guint) -proc have_grab*(a: var TGtkTooltips): guint -proc set_have_grab*(a: var TGtkTooltips, `have_grab`: guint) -proc use_sticky_delay*(a: var TGtkTooltips): guint -proc set_use_sticky_delay*(a: var TGtkTooltips, `use_sticky_delay`: guint) -proc gtk_tooltips_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tooltips_get_type".} -proc gtk_tooltips_new*(): PGtkTooltips{.cdecl, dynlib: gtklib, - importc: "gtk_tooltips_new".} -proc gtk_tooltips_enable*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib, - importc: "gtk_tooltips_enable".} -proc gtk_tooltips_disable*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib, - importc: "gtk_tooltips_disable".} -proc gtk_tooltips_set_tip*(tooltips: PGtkTooltips, widget: PGtkWidget, - tip_text: cstring, tip_private: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_tooltips_set_tip".} -proc gtk_tooltips_data_get*(widget: PGtkWidget): PGtkTooltipsData{.cdecl, - dynlib: gtklib, importc: "gtk_tooltips_data_get".} -proc gtk_tooltips_force_window*(tooltips: PGtkTooltips){.cdecl, dynlib: gtklib, - importc: "gtk_tooltips_force_window".} -proc gtk_tooltips_toggle_keyboard_mode*(widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "_gtk_tooltips_toggle_keyboard_mode".} -const - bm_TGtkToolbar_style_set* = 0x00000001'i16 - bp_TGtkToolbar_style_set* = 0'i16 - bm_TGtkToolbar_icon_size_set* = 0x00000002'i16 - bp_TGtkToolbar_icon_size_set* = 1'i16 - -proc GTK_TYPE_TOOLBAR*(): GType -proc GTK_TOOLBAR*(obj: pointer): PGtkToolbar -proc GTK_TOOLBAR_CLASS*(klass: pointer): PGtkToolbarClass -proc GTK_IS_TOOLBAR*(obj: pointer): bool -proc GTK_IS_TOOLBAR_CLASS*(klass: pointer): bool -proc GTK_TOOLBAR_GET_CLASS*(obj: pointer): PGtkToolbarClass -proc style_set*(a: var TGtkToolbar): guint -proc set_style_set*(a: var TGtkToolbar, `style_set`: guint) -proc icon_size_set*(a: var TGtkToolbar): guint -proc set_icon_size_set*(a: var TGtkToolbar, `icon_size_set`: guint) -proc gtk_toolbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_toolbar_get_type".} -proc gtk_toolbar_new*(): PGtkToolbar{.cdecl, dynlib: gtklib, - importc: "gtk_toolbar_new".} -proc gtk_toolbar_append_item*(toolbar: PGtkToolbar, text: cstring, - tooltip_text: cstring, - tooltip_private_text: cstring, icon: PGtkWidget, - callback: TGtkSignalFunc, user_data: gpointer): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_toolbar_append_item".} -proc gtk_toolbar_prepend_item*(toolbar: PGtkToolbar, text: cstring, - tooltip_text: cstring, - tooltip_private_text: cstring, icon: PGtkWidget, - callback: TGtkSignalFunc, user_data: gpointer): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_toolbar_prepend_item".} -proc gtk_toolbar_insert_item*(toolbar: PGtkToolbar, text: cstring, - tooltip_text: cstring, - tooltip_private_text: cstring, icon: PGtkWidget, - callback: TGtkSignalFunc, user_data: gpointer, - position: gint): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_insert_item".} -proc gtk_toolbar_insert_stock*(toolbar: PGtkToolbar, stock_id: cstring, - tooltip_text: cstring, - tooltip_private_text: cstring, - callback: TGtkSignalFunc, user_data: gpointer, - position: gint): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_insert_stock".} -proc gtk_toolbar_append_space*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib, - importc: "gtk_toolbar_append_space".} -proc gtk_toolbar_prepend_space*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib, - importc: "gtk_toolbar_prepend_space".} -proc gtk_toolbar_insert_space*(toolbar: PGtkToolbar, position: gint){.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_insert_space".} -proc gtk_toolbar_remove_space*(toolbar: PGtkToolbar, position: gint){.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_remove_space".} -proc gtk_toolbar_append_element*(toolbar: PGtkToolbar, - thetype: TGtkToolbarChildType, - widget: PGtkWidget, text: cstring, - tooltip_text: cstring, - tooltip_private_text: cstring, - icon: PGtkWidget, callback: TGtkSignalFunc, - user_data: gpointer): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_append_element".} -proc gtk_toolbar_prepend_element*(toolbar: PGtkToolbar, - thetype: TGtkToolbarChildType, - widget: PGtkWidget, text: cstring, - tooltip_text: cstring, - tooltip_private_text: cstring, - icon: PGtkWidget, callback: TGtkSignalFunc, - user_data: gpointer): PGtkWidget{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_prepend_element".} -proc gtk_toolbar_insert_element*(toolbar: PGtkToolbar, - thetype: TGtkToolbarChildType, - widget: PGtkWidget, text: cstring, - tooltip_text: cstring, - tooltip_private_text: cstring, - icon: PGtkWidget, callback: TGtkSignalFunc, - user_data: gpointer, position: gint): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_toolbar_insert_element".} -proc gtk_toolbar_append_widget*(toolbar: PGtkToolbar, widget: PGtkWidget, - tooltip_text: cstring, - tooltip_private_text: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_append_widget".} -proc gtk_toolbar_prepend_widget*(toolbar: PGtkToolbar, widget: PGtkWidget, - tooltip_text: cstring, - tooltip_private_text: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_prepend_widget".} -proc gtk_toolbar_insert_widget*(toolbar: PGtkToolbar, widget: PGtkWidget, - tooltip_text: cstring, - tooltip_private_text: cstring, position: gint){. - cdecl, dynlib: gtklib, importc: "gtk_toolbar_insert_widget".} -proc gtk_toolbar_set_orientation*(toolbar: PGtkToolbar, - orientation: TGtkOrientation){.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_set_orientation".} -proc gtk_toolbar_set_style*(toolbar: PGtkToolbar, style: TGtkToolbarStyle){. - cdecl, dynlib: gtklib, importc: "gtk_toolbar_set_style".} -proc gtk_toolbar_set_icon_size*(toolbar: PGtkToolbar, icon_size: TGtkIconSize){. - cdecl, dynlib: gtklib, importc: "gtk_toolbar_set_icon_size".} -proc gtk_toolbar_set_tooltips*(toolbar: PGtkToolbar, enable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_set_tooltips".} -proc gtk_toolbar_unset_style*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib, - importc: "gtk_toolbar_unset_style".} -proc gtk_toolbar_unset_icon_size*(toolbar: PGtkToolbar){.cdecl, dynlib: gtklib, - importc: "gtk_toolbar_unset_icon_size".} -proc gtk_toolbar_get_orientation*(toolbar: PGtkToolbar): TGtkOrientation{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_get_orientation".} -proc gtk_toolbar_get_style*(toolbar: PGtkToolbar): TGtkToolbarStyle{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_get_style".} -proc gtk_toolbar_get_icon_size*(toolbar: PGtkToolbar): TGtkIconSize{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_get_icon_size".} -proc gtk_toolbar_get_tooltips*(toolbar: PGtkToolbar): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_toolbar_get_tooltips".} -const - bm_TGtkTree_selection_mode* = 0x00000003'i16 - bp_TGtkTree_selection_mode* = 0'i16 - bm_TGtkTree_view_mode* = 0x00000004'i16 - bp_TGtkTree_view_mode* = 2'i16 - bm_TGtkTree_view_line* = 0x00000008'i16 - bp_TGtkTree_view_line* = 3'i16 - -proc GTK_TYPE_TREE*(): GType -proc GTK_TREE*(obj: pointer): PGtkTree -proc GTK_TREE_CLASS*(klass: pointer): PGtkTreeClass -proc GTK_IS_TREE*(obj: pointer): bool -proc GTK_IS_TREE_CLASS*(klass: pointer): bool -proc GTK_TREE_GET_CLASS*(obj: pointer): PGtkTreeClass -proc GTK_IS_ROOT_TREE*(obj: pointer): bool -proc GTK_TREE_ROOT_TREE*(obj: pointer): PGtkTree -proc GTK_TREE_SELECTION_OLD*(obj: pointer): PGList -proc selection_mode*(a: var TGtkTree): guint -proc set_selection_mode*(a: var TGtkTree, `selection_mode`: guint) -proc view_mode*(a: var TGtkTree): guint -proc set_view_mode*(a: var TGtkTree, `view_mode`: guint) -proc view_line*(a: var TGtkTree): guint -proc set_view_line*(a: var TGtkTree, `view_line`: guint) -proc gtk_tree_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_get_type".} -proc gtk_tree_new*(): PGtkTree{.cdecl, dynlib: gtklib, importc: "gtk_tree_new".} -proc gtk_tree_append*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_tree_append".} -proc gtk_tree_prepend*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_tree_prepend".} -proc gtk_tree_insert*(tree: PGtkTree, tree_item: PGtkWidget, position: gint){. - cdecl, dynlib: gtklib, importc: "gtk_tree_insert".} -proc gtk_tree_remove_items*(tree: PGtkTree, items: PGList){.cdecl, - dynlib: gtklib, importc: "gtk_tree_remove_items".} -proc gtk_tree_clear_items*(tree: PGtkTree, start: gint, theEnd: gint){.cdecl, - dynlib: gtklib, importc: "gtk_tree_clear_items".} -proc gtk_tree_select_item*(tree: PGtkTree, item: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_select_item".} -proc gtk_tree_unselect_item*(tree: PGtkTree, item: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_unselect_item".} -proc gtk_tree_select_child*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_tree_select_child".} -proc gtk_tree_unselect_child*(tree: PGtkTree, tree_item: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_tree_unselect_child".} -proc gtk_tree_child_position*(tree: PGtkTree, child: PGtkWidget): gint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_child_position".} -proc gtk_tree_set_selection_mode*(tree: PGtkTree, mode: TGtkSelectionMode){. - cdecl, dynlib: gtklib, importc: "gtk_tree_set_selection_mode".} -proc gtk_tree_set_view_mode*(tree: PGtkTree, mode: TGtkTreeViewMode){.cdecl, - dynlib: gtklib, importc: "gtk_tree_set_view_mode".} -proc gtk_tree_set_view_lines*(tree: PGtkTree, flag: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_tree_set_view_lines".} -proc gtk_tree_remove_item*(tree: PGtkTree, child: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_tree_remove_item".} -proc GTK_TYPE_TREE_DRAG_SOURCE*(): GType -proc GTK_TREE_DRAG_SOURCE*(obj: pointer): PGtkTreeDragSource -proc GTK_IS_TREE_DRAG_SOURCE*(obj: pointer): bool -proc GTK_TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PGtkTreeDragSourceIface -proc gtk_tree_drag_source_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_drag_source_get_type".} -proc gtk_tree_drag_source_row_draggable*(drag_source: PGtkTreeDragSource, - path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_drag_source_row_draggable".} -proc gtk_tree_drag_source_drag_data_delete*(drag_source: PGtkTreeDragSource, - path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_drag_source_drag_data_delete".} -proc gtk_tree_drag_source_drag_data_get*(drag_source: PGtkTreeDragSource, - path: PGtkTreePath, selection_data: PGtkSelectionData): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_drag_source_drag_data_get".} -proc GTK_TYPE_TREE_DRAG_DEST*(): GType -proc GTK_TREE_DRAG_DEST*(obj: pointer): PGtkTreeDragDest -proc GTK_IS_TREE_DRAG_DEST*(obj: pointer): bool -proc GTK_TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PGtkTreeDragDestIface -proc gtk_tree_drag_dest_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_drag_dest_get_type".} -proc gtk_tree_drag_dest_drag_data_received*(drag_dest: PGtkTreeDragDest, - dest: PGtkTreePath, selection_data: PGtkSelectionData): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_drag_dest_drag_data_received".} -proc gtk_tree_drag_dest_row_drop_possible*(drag_dest: PGtkTreeDragDest, - dest_path: PGtkTreePath, selection_data: PGtkSelectionData): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_drag_dest_row_drop_possible".} -proc gtk_tree_set_row_drag_data*(selection_data: PGtkSelectionData, - tree_model: PGtkTreeModel, path: PGtkTreePath): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_set_row_drag_data".} -const - bm_TGtkTreeItem_expanded* = 0x00000001'i16 - bp_TGtkTreeItem_expanded* = 0'i16 - -proc GTK_TYPE_TREE_ITEM*(): GType -proc GTK_TREE_ITEM*(obj: pointer): PGtkTreeItem -proc GTK_TREE_ITEM_CLASS*(klass: pointer): PGtkTreeItemClass -proc GTK_IS_TREE_ITEM*(obj: pointer): bool -proc GTK_IS_TREE_ITEM_CLASS*(klass: pointer): bool -proc GTK_TREE_ITEM_GET_CLASS*(obj: pointer): PGtkTreeItemClass -proc GTK_TREE_ITEM_SUBTREE*(obj: pointer): PGtkWidget -proc expanded*(a: var TGtkTreeItem): guint -proc set_expanded*(a: var TGtkTreeItem, `expanded`: guint) -proc gtk_tree_item_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_item_get_type".} -proc gtk_tree_item_new*(): PGtkTreeItem{.cdecl, dynlib: gtklib, - importc: "gtk_tree_item_new".} -proc gtk_tree_item_new_with_label*(`label`: cstring): PGtkTreeItem{.cdecl, - dynlib: gtklib, importc: "gtk_tree_item_new_with_label".} -proc gtk_tree_item_set_subtree*(tree_item: PGtkTreeItem, subtree: PGtkWidget){. - cdecl, dynlib: gtklib, importc: "gtk_tree_item_set_subtree".} -proc gtk_tree_item_remove_subtree*(tree_item: PGtkTreeItem){.cdecl, - dynlib: gtklib, importc: "gtk_tree_item_remove_subtree".} -proc gtk_tree_item_select*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib, - importc: "gtk_tree_item_select".} -proc gtk_tree_item_deselect*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib, - importc: "gtk_tree_item_deselect".} -proc gtk_tree_item_expand*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib, - importc: "gtk_tree_item_expand".} -proc gtk_tree_item_collapse*(tree_item: PGtkTreeItem){.cdecl, dynlib: gtklib, - importc: "gtk_tree_item_collapse".} -proc GTK_TYPE_TREE_SELECTION*(): GType -proc GTK_TREE_SELECTION*(obj: pointer): PGtkTreeSelection -proc GTK_TREE_SELECTION_CLASS*(klass: pointer): PGtkTreeSelectionClass -proc GTK_IS_TREE_SELECTION*(obj: pointer): bool -proc GTK_IS_TREE_SELECTION_CLASS*(klass: pointer): bool -proc GTK_TREE_SELECTION_GET_CLASS*(obj: pointer): PGtkTreeSelectionClass -proc gtk_tree_selection_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_selection_get_type".} -proc gtk_tree_selection_set_mode*(selection: PGtkTreeSelection, - thetype: TGtkSelectionMode){.cdecl, - dynlib: gtklib, importc: "gtk_tree_selection_set_mode".} -proc gtk_tree_selection_get_mode*(selection: PGtkTreeSelection): TGtkSelectionMode{. - cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_mode".} -proc gtk_tree_selection_set_select_function*(selection: PGtkTreeSelection, - fun: TGtkTreeSelectionFunc, data: gpointer, destroy: TGtkDestroyNotify){. - cdecl, dynlib: gtklib, importc: "gtk_tree_selection_set_select_function".} -proc gtk_tree_selection_get_user_data*(selection: PGtkTreeSelection): gpointer{. - cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_user_data".} -proc gtk_tree_selection_get_tree_view*(selection: PGtkTreeSelection): PGtkTreeView{. - cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_tree_view".} -proc gtk_tree_selection_get_selected*(selection: PGtkTreeSelection, - model: PPGtkTreeModel, iter: PGtkTreeIter): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_selected".} -proc gtk_tree_selection_get_selected_rows*(selection: PGtkTreeSelection, - model: PPGtkTreeModel): PGList{.cdecl, dynlib: gtklib, importc: "gtk_tree_selection_get_selected_rows".} -proc gtk_tree_selection_selected_foreach*(selection: PGtkTreeSelection, - fun: TGtkTreeSelectionForeachFunc, data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_tree_selection_selected_foreach".} -proc gtk_tree_selection_select_path*(selection: PGtkTreeSelection, - path: PGtkTreePath){.cdecl, dynlib: gtklib, - importc: "gtk_tree_selection_select_path".} -proc gtk_tree_selection_unselect_path*(selection: PGtkTreeSelection, - path: PGtkTreePath){.cdecl, - dynlib: gtklib, importc: "gtk_tree_selection_unselect_path".} -proc gtk_tree_selection_select_iter*(selection: PGtkTreeSelection, - iter: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_tree_selection_select_iter".} -proc gtk_tree_selection_unselect_iter*(selection: PGtkTreeSelection, - iter: PGtkTreeIter){.cdecl, - dynlib: gtklib, importc: "gtk_tree_selection_unselect_iter".} -proc gtk_tree_selection_path_is_selected*(selection: PGtkTreeSelection, - path: PGtkTreePath): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_selection_path_is_selected".} -proc gtk_tree_selection_iter_is_selected*(selection: PGtkTreeSelection, - iter: PGtkTreeIter): gboolean{.cdecl, dynlib: gtklib, importc: "gtk_tree_selection_iter_is_selected".} -proc gtk_tree_selection_select_all*(selection: PGtkTreeSelection){.cdecl, - dynlib: gtklib, importc: "gtk_tree_selection_select_all".} -proc gtk_tree_selection_unselect_all*(selection: PGtkTreeSelection){.cdecl, - dynlib: gtklib, importc: "gtk_tree_selection_unselect_all".} -proc gtk_tree_selection_select_range*(selection: PGtkTreeSelection, - start_path: PGtkTreePath, - end_path: PGtkTreePath){.cdecl, - dynlib: gtklib, importc: "gtk_tree_selection_select_range".} -const - bm_TGtkTreeStore_columns_dirty* = 0x00000001'i16 - bp_TGtkTreeStore_columns_dirty* = 0'i16 - -proc GTK_TYPE_TREE_STORE*(): GType -proc GTK_TREE_STORE*(obj: pointer): PGtkTreeStore -proc GTK_TREE_STORE_CLASS*(klass: pointer): PGtkTreeStoreClass -proc GTK_IS_TREE_STORE*(obj: pointer): bool -proc GTK_IS_TREE_STORE_CLASS*(klass: pointer): bool -proc GTK_TREE_STORE_GET_CLASS*(obj: pointer): PGtkTreeStoreClass -proc columns_dirty*(a: var TGtkTreeStore): guint -proc set_columns_dirty*(a: var TGtkTreeStore, `columns_dirty`: guint) -proc gtk_tree_store_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_store_get_type".} -proc gtk_tree_store_newv*(n_columns: gint, types: PGType): PGtkTreeStore{.cdecl, - dynlib: gtklib, importc: "gtk_tree_store_newv".} -proc gtk_tree_store_set_column_types*(tree_store: PGtkTreeStore, - n_columns: gint, types: PGType){.cdecl, - dynlib: gtklib, importc: "gtk_tree_store_set_column_types".} -proc gtk_tree_store_set_value*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - column: gint, value: PGValue){.cdecl, - dynlib: gtklib, importc: "gtk_tree_store_set_value".} -proc gtk_tree_store_remove*(tree_store: PGtkTreeStore, iter: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_tree_store_remove".} -proc gtk_tree_store_insert*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - parent: PGtkTreeIter, position: gint){.cdecl, - dynlib: gtklib, importc: "gtk_tree_store_insert".} -proc gtk_tree_store_insert_before*(tree_store: PGtkTreeStore, - iter: PGtkTreeIter, parent: PGtkTreeIter, - sibling: PGtkTreeIter){.cdecl, - dynlib: gtklib, importc: "gtk_tree_store_insert_before".} -proc gtk_tree_store_insert_after*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - parent: PGtkTreeIter, sibling: PGtkTreeIter){. - cdecl, dynlib: gtklib, importc: "gtk_tree_store_insert_after".} -proc gtk_tree_store_prepend*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - parent: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_tree_store_prepend".} -proc gtk_tree_store_append*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - parent: PGtkTreeIter){.cdecl, dynlib: gtklib, - importc: "gtk_tree_store_append".} -proc gtk_tree_store_is_ancestor*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - descendant: PGtkTreeIter): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_store_is_ancestor".} -proc gtk_tree_store_iter_depth*(tree_store: PGtkTreeStore, iter: PGtkTreeIter): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_store_iter_depth".} -proc gtk_tree_store_clear*(tree_store: PGtkTreeStore){.cdecl, dynlib: gtklib, - importc: "gtk_tree_store_clear".} -const - bm_TGtkTreeViewColumn_visible* = 0x00000001'i16 - bp_TGtkTreeViewColumn_visible* = 0'i16 - bm_TGtkTreeViewColumn_resizable* = 0x00000002'i16 - bp_TGtkTreeViewColumn_resizable* = 1'i16 - bm_TGtkTreeViewColumn_clickable* = 0x00000004'i16 - bp_TGtkTreeViewColumn_clickable* = 2'i16 - bm_TGtkTreeViewColumn_dirty* = 0x00000008'i16 - bp_TGtkTreeViewColumn_dirty* = 3'i16 - bm_TGtkTreeViewColumn_show_sort_indicator* = 0x00000010'i16 - bp_TGtkTreeViewColumn_show_sort_indicator* = 4'i16 - bm_TGtkTreeViewColumn_maybe_reordered* = 0x00000020'i16 - bp_TGtkTreeViewColumn_maybe_reordered* = 5'i16 - bm_TGtkTreeViewColumn_reorderable* = 0x00000040'i16 - bp_TGtkTreeViewColumn_reorderable* = 6'i16 - bm_TGtkTreeViewColumn_use_resized_width* = 0x00000080'i16 - bp_TGtkTreeViewColumn_use_resized_width* = 7'i16 - -proc GTK_TYPE_TREE_VIEW_COLUMN*(): GType -proc GTK_TREE_VIEW_COLUMN*(obj: pointer): PGtkTreeViewColumn -proc GTK_TREE_VIEW_COLUMN_CLASS*(klass: pointer): PGtkTreeViewColumnClass -proc GTK_IS_TREE_VIEW_COLUMN*(obj: pointer): bool -proc GTK_IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool -proc GTK_TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PGtkTreeViewColumnClass -proc visible*(a: var TGtkTreeViewColumn): guint -proc set_visible*(a: var TGtkTreeViewColumn, `visible`: guint) -proc resizable*(a: var TGtkTreeViewColumn): guint -proc set_resizable*(a: var TGtkTreeViewColumn, `resizable`: guint) -proc clickable*(a: var TGtkTreeViewColumn): guint -proc set_clickable*(a: var TGtkTreeViewColumn, `clickable`: guint) -proc dirty*(a: var TGtkTreeViewColumn): guint -proc set_dirty*(a: var TGtkTreeViewColumn, `dirty`: guint) -proc show_sort_indicator*(a: var TGtkTreeViewColumn): guint -proc set_show_sort_indicator*(a: var TGtkTreeViewColumn, - `show_sort_indicator`: guint) -proc maybe_reordered*(a: var TGtkTreeViewColumn): guint -proc set_maybe_reordered*(a: var TGtkTreeViewColumn, `maybe_reordered`: guint) -proc reorderable*(a: var TGtkTreeViewColumn): guint -proc set_reorderable*(a: var TGtkTreeViewColumn, `reorderable`: guint) -proc use_resized_width*(a: var TGtkTreeViewColumn): guint -proc set_use_resized_width*(a: var TGtkTreeViewColumn, - `use_resized_width`: guint) -proc gtk_tree_view_column_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_get_type".} -proc gtk_tree_view_column_new*(): PGtkTreeViewColumn{.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_new".} -proc gtk_tree_view_column_pack_start*(tree_column: PGtkTreeViewColumn, - cell: PGtkCellRenderer, expand: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_pack_start".} -proc gtk_tree_view_column_pack_end*(tree_column: PGtkTreeViewColumn, - cell: PGtkCellRenderer, expand: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_pack_end".} -proc gtk_tree_view_column_clear*(tree_column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_column_clear".} -proc gtk_tree_view_column_get_cell_renderers*(tree_column: PGtkTreeViewColumn): PGList{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_cell_renderers".} -proc gtk_tree_view_column_add_attribute*(tree_column: PGtkTreeViewColumn, - cell_renderer: PGtkCellRenderer, attribute: cstring, column: gint){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_column_add_attribute".} -proc gtk_tree_view_column_set_cell_data_func*(tree_column: PGtkTreeViewColumn, - cell_renderer: PGtkCellRenderer, fun: TGtkTreeCellDataFunc, - func_data: gpointer, destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_cell_data_func".} -proc gtk_tree_view_column_clear_attributes*(tree_column: PGtkTreeViewColumn, - cell_renderer: PGtkCellRenderer){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_clear_attributes".} -proc gtk_tree_view_column_set_spacing*(tree_column: PGtkTreeViewColumn, - spacing: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_spacing".} -proc gtk_tree_view_column_get_spacing*(tree_column: PGtkTreeViewColumn): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_spacing".} -proc gtk_tree_view_column_set_visible*(tree_column: PGtkTreeViewColumn, - visible: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_column_set_visible".} -proc gtk_tree_view_column_get_visible*(tree_column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_visible".} -proc gtk_tree_view_column_set_resizable*(tree_column: PGtkTreeViewColumn, - resizable: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_resizable".} -proc gtk_tree_view_column_get_resizable*(tree_column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_resizable".} -proc gtk_tree_view_column_set_sizing*(tree_column: PGtkTreeViewColumn, - thetype: TGtkTreeViewColumnSizing){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_column_set_sizing".} -proc gtk_tree_view_column_get_sizing*(tree_column: PGtkTreeViewColumn): TGtkTreeViewColumnSizing{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sizing".} -proc gtk_tree_view_column_get_width*(tree_column: PGtkTreeViewColumn): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_width".} -proc gtk_tree_view_column_get_fixed_width*(tree_column: PGtkTreeViewColumn): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_fixed_width".} -proc gtk_tree_view_column_set_fixed_width*(tree_column: PGtkTreeViewColumn, - fixed_width: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_fixed_width".} -proc gtk_tree_view_column_set_min_width*(tree_column: PGtkTreeViewColumn, - min_width: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_min_width".} -proc gtk_tree_view_column_get_min_width*(tree_column: PGtkTreeViewColumn): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_min_width".} -proc gtk_tree_view_column_set_max_width*(tree_column: PGtkTreeViewColumn, - max_width: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_max_width".} -proc gtk_tree_view_column_get_max_width*(tree_column: PGtkTreeViewColumn): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_max_width".} -proc gtk_tree_view_column_clicked*(tree_column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_column_clicked".} -proc gtk_tree_view_column_set_title*(tree_column: PGtkTreeViewColumn, - title: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_title".} -proc gtk_tree_view_column_get_title*(tree_column: PGtkTreeViewColumn): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_title".} -proc gtk_tree_view_column_set_clickable*(tree_column: PGtkTreeViewColumn, - clickable: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_clickable".} -proc gtk_tree_view_column_get_clickable*(tree_column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_clickable".} -proc gtk_tree_view_column_set_widget*(tree_column: PGtkTreeViewColumn, - widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_column_set_widget".} -proc gtk_tree_view_column_get_widget*(tree_column: PGtkTreeViewColumn): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_widget".} -proc gtk_tree_view_column_set_alignment*(tree_column: PGtkTreeViewColumn, - xalign: gfloat){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_alignment".} -proc gtk_tree_view_column_get_alignment*(tree_column: PGtkTreeViewColumn): gfloat{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_alignment".} -proc gtk_tree_view_column_set_reorderable*(tree_column: PGtkTreeViewColumn, - reorderable: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_reorderable".} -proc gtk_tree_view_column_get_reorderable*(tree_column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_reorderable".} -proc gtk_tree_view_column_set_sort_column_id*(tree_column: PGtkTreeViewColumn, - sort_column_id: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_sort_column_id".} -proc gtk_tree_view_column_get_sort_column_id*(tree_column: PGtkTreeViewColumn): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sort_column_id".} -proc gtk_tree_view_column_set_sort_indicator*(tree_column: PGtkTreeViewColumn, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_sort_indicator".} -proc gtk_tree_view_column_get_sort_indicator*(tree_column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sort_indicator".} -proc gtk_tree_view_column_set_sort_order*(tree_column: PGtkTreeViewColumn, - order: TGtkSortType){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_sort_order".} -proc gtk_tree_view_column_get_sort_order*(tree_column: PGtkTreeViewColumn): TGtkSortType{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_sort_order".} -proc gtk_tree_view_column_cell_set_cell_data*(tree_column: PGtkTreeViewColumn, - tree_model: PGtkTreeModel, iter: PGtkTreeIter, is_expander: gboolean, - is_expanded: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_cell_set_cell_data".} -proc gtk_tree_view_column_cell_get_size*(tree_column: PGtkTreeViewColumn, - cell_area: PGdkRectangle, x_offset: Pgint, y_offset: Pgint, width: Pgint, - height: Pgint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_cell_get_size".} -proc gtk_tree_view_column_cell_is_visible*(tree_column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_cell_is_visible".} -proc gtk_tree_view_column_focus_cell*(tree_column: PGtkTreeViewColumn, - cell: PGtkCellRenderer){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_column_focus_cell".} -proc gtk_tree_view_column_set_expand*(tree_column: PGtkTreeViewColumn, - Expand: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_column_set_expand".} -proc gtk_tree_view_column_get_expand*(tree_column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_column_get_expand".} -const - GTK_RBNODE_BLACK* = 1 shl 0 - GTK_RBNODE_RED* = 1 shl 1 - GTK_RBNODE_IS_PARENT* = 1 shl 2 - GTK_RBNODE_IS_SELECTED* = 1 shl 3 - GTK_RBNODE_IS_PRELIT* = 1 shl 4 - GTK_RBNODE_IS_SEMI_COLLAPSED* = 1 shl 5 - GTK_RBNODE_IS_SEMI_EXPANDED* = 1 shl 6 - GTK_RBNODE_INVALID* = 1 shl 7 - GTK_RBNODE_COLUMN_INVALID* = 1 shl 8 - GTK_RBNODE_DESCENDANTS_INVALID* = 1 shl 9 - GTK_RBNODE_NON_COLORS* = GTK_RBNODE_IS_PARENT or GTK_RBNODE_IS_SELECTED or - GTK_RBNODE_IS_PRELIT or GTK_RBNODE_IS_SEMI_COLLAPSED or - GTK_RBNODE_IS_SEMI_EXPANDED or GTK_RBNODE_INVALID or - GTK_RBNODE_COLUMN_INVALID or GTK_RBNODE_DESCENDANTS_INVALID - -const - bm_TGtkRBNode_flags* = 0x00003FFF'i16 - bp_TGtkRBNode_flags* = 0'i16 - bm_TGtkRBNode_parity* = 0x00004000'i16 - bp_TGtkRBNode_parity* = 14'i16 - -proc flags*(a: PGtkRBNode): guint -proc set_flags*(a: PGtkRBNode, `flags`: guint) -proc parity*(a: PGtkRBNode): guint -proc set_parity*(a: PGtkRBNode, `parity`: guint) -proc GTK_RBNODE_GET_COLOR*(node: PGtkRBNode): guint -proc GTK_RBNODE_SET_COLOR*(node: PGtkRBNode, color: guint) -proc GTK_RBNODE_GET_HEIGHT*(node: PGtkRBNode): gint -proc GTK_RBNODE_SET_FLAG*(node: PGtkRBNode, flag: guint16) -proc GTK_RBNODE_UNSET_FLAG*(node: PGtkRBNode, flag: guint16) -proc GTK_RBNODE_FLAG_SET*(node: PGtkRBNode, flag: guint): bool -proc gtk_rbtree_push_allocator*(allocator: PGAllocator){.cdecl, - dynlib: gtklib, importc: "_gtk_rbtree_push_allocator".} -proc gtk_rbtree_pop_allocator*(){.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_pop_allocator".} -proc gtk_rbtree_new*(): PGtkRBTree{.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_new".} -proc gtk_rbtree_free*(tree: PGtkRBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_free".} -proc gtk_rbtree_remove*(tree: PGtkRBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_remove".} -proc gtk_rbtree_destroy*(tree: PGtkRBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_destroy".} -proc gtk_rbtree_insert_before*(tree: PGtkRBTree, node: PGtkRBNode, - height: gint, valid: gboolean): PGtkRBNode{. - cdecl, dynlib: gtklib, importc: "_gtk_rbtree_insert_before".} -proc gtk_rbtree_insert_after*(tree: PGtkRBTree, node: PGtkRBNode, - height: gint, valid: gboolean): PGtkRBNode{. - cdecl, dynlib: gtklib, importc: "_gtk_rbtree_insert_after".} -proc gtk_rbtree_remove_node*(tree: PGtkRBTree, node: PGtkRBNode){.cdecl, - dynlib: gtklib, importc: "_gtk_rbtree_remove_node".} -proc gtk_rbtree_reorder*(tree: PGtkRBTree, new_order: Pgint, length: gint){. - cdecl, dynlib: gtklib, importc: "_gtk_rbtree_reorder".} -proc gtk_rbtree_find_count*(tree: PGtkRBTree, count: gint): PGtkRBNode{.cdecl, - dynlib: gtklib, importc: "_gtk_rbtree_find_count".} -proc gtk_rbtree_node_set_height*(tree: PGtkRBTree, node: PGtkRBNode, - height: gint){.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_node_set_height".} -proc gtk_rbtree_node_mark_invalid*(tree: PGtkRBTree, node: PGtkRBNode){. - cdecl, dynlib: gtklib, importc: "_gtk_rbtree_node_mark_invalid".} -proc gtk_rbtree_node_mark_valid*(tree: PGtkRBTree, node: PGtkRBNode){.cdecl, - dynlib: gtklib, importc: "_gtk_rbtree_node_mark_valid".} -proc gtk_rbtree_column_invalid*(tree: PGtkRBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_column_invalid".} -proc gtk_rbtree_mark_invalid*(tree: PGtkRBTree){.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_mark_invalid".} -proc gtk_rbtree_set_fixed_height*(tree: PGtkRBTree, height: gint){.cdecl, - dynlib: gtklib, importc: "_gtk_rbtree_set_fixed_height".} -proc gtk_rbtree_node_find_offset*(tree: PGtkRBTree, node: PGtkRBNode): gint{. - cdecl, dynlib: gtklib, importc: "_gtk_rbtree_node_find_offset".} -proc gtk_rbtree_node_find_parity*(tree: PGtkRBTree, node: PGtkRBNode): gint{. - cdecl, dynlib: gtklib, importc: "_gtk_rbtree_node_find_parity".} -proc gtk_rbtree_traverse*(tree: PGtkRBTree, node: PGtkRBNode, - order: TGTraverseType, - fun: TGtkRBTreeTraverseFunc, data: gpointer){. - cdecl, dynlib: gtklib, importc: "_gtk_rbtree_traverse".} -proc gtk_rbtree_next*(tree: PGtkRBTree, node: PGtkRBNode): PGtkRBNode{.cdecl, - dynlib: gtklib, importc: "_gtk_rbtree_next".} -proc gtk_rbtree_prev*(tree: PGtkRBTree, node: PGtkRBNode): PGtkRBNode{.cdecl, - dynlib: gtklib, importc: "_gtk_rbtree_prev".} -proc gtk_rbtree_get_depth*(tree: PGtkRBTree): gint{.cdecl, dynlib: gtklib, - importc: "_gtk_rbtree_get_depth".} -const - TREE_VIEW_DRAG_WIDTH* = 6 - GTK_TREE_VIEW_IS_LIST* = 1 shl 0 - GTK_TREE_VIEW_SHOW_EXPANDERS* = 1 shl 1 - GTK_TREE_VIEW_IN_COLUMN_RESIZE* = 1 shl 2 - GTK_TREE_VIEW_ARROW_PRELIT* = 1 shl 3 - GTK_TREE_VIEW_HEADERS_VISIBLE* = 1 shl 4 - GTK_TREE_VIEW_DRAW_KEYFOCUS* = 1 shl 5 - GTK_TREE_VIEW_MODEL_SETUP* = 1 shl 6 - GTK_TREE_VIEW_IN_COLUMN_DRAG* = 1 shl 7 - DRAG_COLUMN_WINDOW_STATE_UNSET* = 0 - DRAG_COLUMN_WINDOW_STATE_ORIGINAL* = 1 - DRAG_COLUMN_WINDOW_STATE_ARROW* = 2 - DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT* = 3 - DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT* = 4 - -proc GTK_TREE_VIEW_SET_FLAG*(tree_view: PGtkTreeView, flag: guint) -proc GTK_TREE_VIEW_UNSET_FLAG*(tree_view: PGtkTreeView, flag: guint) -proc GTK_TREE_VIEW_FLAG_SET*(tree_view: PGtkTreeView, flag: guint): bool -proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PGtkTreeView): int32 -proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PGtkTreeViewColumn): int32 -proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PGtkTreeView): bool -proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PGtkTreeView): int32 -const - bm_TGtkTreeViewPrivate_scroll_to_use_align* = 0x00000001'i16 - bp_TGtkTreeViewPrivate_scroll_to_use_align* = 0'i16 - bm_TGtkTreeViewPrivate_fixed_height_check* = 0x00000002'i16 - bp_TGtkTreeViewPrivate_fixed_height_check* = 1'i16 - bm_TGtkTreeViewPrivate_reorderable* = 0x00000004'i16 - bp_TGtkTreeViewPrivate_reorderable* = 2'i16 - bm_TGtkTreeViewPrivate_header_has_focus* = 0x00000008'i16 - bp_TGtkTreeViewPrivate_header_has_focus* = 3'i16 - bm_TGtkTreeViewPrivate_drag_column_window_state* = 0x00000070'i16 - bp_TGtkTreeViewPrivate_drag_column_window_state* = 4'i16 - bm_TGtkTreeViewPrivate_has_rules* = 0x00000080'i16 - bp_TGtkTreeViewPrivate_has_rules* = 7'i16 - bm_TGtkTreeViewPrivate_mark_rows_col_dirty* = 0x00000100'i16 - bp_TGtkTreeViewPrivate_mark_rows_col_dirty* = 8'i16 - bm_TGtkTreeViewPrivate_enable_search* = 0x00000200'i16 - bp_TGtkTreeViewPrivate_enable_search* = 9'i16 - bm_TGtkTreeViewPrivate_disable_popdown* = 0x00000400'i16 - bp_TGtkTreeViewPrivate_disable_popdown* = 10'i16 - -proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint -proc set_scroll_to_use_align*(a: var TGtkTreeViewPrivate, - `scroll_to_use_align`: guint) -proc fixed_height_check*(a: var TGtkTreeViewPrivate): guint -proc set_fixed_height_check*(a: var TGtkTreeViewPrivate, - `fixed_height_check`: guint) -proc reorderable*(a: var TGtkTreeViewPrivate): guint -proc set_reorderable*(a: var TGtkTreeViewPrivate, `reorderable`: guint) -proc header_has_focus*(a: var TGtkTreeViewPrivate): guint -proc set_header_has_focus*(a: var TGtkTreeViewPrivate, `header_has_focus`: guint) -proc drag_column_window_state*(a: var TGtkTreeViewPrivate): guint -proc set_drag_column_window_state*(a: var TGtkTreeViewPrivate, - `drag_column_window_state`: guint) -proc has_rules*(a: var TGtkTreeViewPrivate): guint -proc set_has_rules*(a: var TGtkTreeViewPrivate, `has_rules`: guint) -proc mark_rows_col_dirty*(a: var TGtkTreeViewPrivate): guint -proc set_mark_rows_col_dirty*(a: var TGtkTreeViewPrivate, - `mark_rows_col_dirty`: guint) -proc enable_search*(a: var TGtkTreeViewPrivate): guint -proc set_enable_search*(a: var TGtkTreeViewPrivate, `enable_search`: guint) -proc disable_popdown*(a: var TGtkTreeViewPrivate): guint -proc set_disable_popdown*(a: var TGtkTreeViewPrivate, `disable_popdown`: guint) -proc gtk_tree_selection_internal_select_node*(selection: PGtkTreeSelection, - node: PGtkRBNode, tree: PGtkRBTree, path: PGtkTreePath, - state: TGdkModifierType, override_browse_mode: gboolean){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_selection_internal_select_node".} -proc gtk_tree_view_find_node*(tree_view: PGtkTreeView, path: PGtkTreePath, - tree: var PGtkRBTree, node: var PGtkRBNode): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_find_node".} -proc gtk_tree_view_find_path*(tree_view: PGtkTreeView, tree: PGtkRBTree, - node: PGtkRBNode): PGtkTreePath{.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_find_path".} -proc gtk_tree_view_child_move_resize*(tree_view: PGtkTreeView, - widget: PGtkWidget, x: gint, y: gint, - width: gint, height: gint){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_child_move_resize".} -proc gtk_tree_view_queue_draw_node*(tree_view: PGtkTreeView, tree: PGtkRBTree, - node: PGtkRBNode, - clip_rect: PGdkRectangle){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_queue_draw_node".} -proc gtk_tree_view_column_realize_button*(column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_column_realize_button".} -proc gtk_tree_view_column_unrealize_button*(column: PGtkTreeViewColumn){. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_unrealize_button".} -proc gtk_tree_view_column_set_tree_view*(column: PGtkTreeViewColumn, - tree_view: PGtkTreeView){.cdecl, dynlib: gtklib, - importc: "_gtk_tree_view_column_set_tree_view".} -proc gtk_tree_view_column_unset_tree_view*(column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_column_unset_tree_view".} -proc gtk_tree_view_column_set_width*(column: PGtkTreeViewColumn, width: gint){. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_set_width".} -proc gtk_tree_view_column_start_drag*(tree_view: PGtkTreeView, - column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_column_start_drag".} -proc gtk_tree_view_column_start_editing*(tree_column: PGtkTreeViewColumn, - editable_widget: PGtkCellEditable){.cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_start_editing".} -proc gtk_tree_view_column_stop_editing*(tree_column: PGtkTreeViewColumn){. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_stop_editing".} -proc gtk_tree_view_install_mark_rows_col_dirty*(tree_view: PGtkTreeView){. - cdecl, dynlib: gtklib, - importc: "_gtk_tree_view_install_mark_rows_col_dirty".} -proc DOgtk_tree_view_column_autosize*(tree_view: PGtkTreeView, - column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_column_autosize".} -proc gtk_tree_view_column_has_editable_cell*(column: PGtkTreeViewColumn): gboolean{. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_has_editable_cell".} -proc gtk_tree_view_column_get_edited_cell*(column: PGtkTreeViewColumn): PGtkCellRenderer{. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_get_edited_cell".} -proc gtk_tree_view_column_count_special_cells*(column: PGtkTreeViewColumn): gint{. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_count_special_cells".} -proc gtk_tree_view_column_get_cell_at_pos*(column: PGtkTreeViewColumn, x: gint): PGtkCellRenderer{. - cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_get_cell_at_pos".} -proc gtk_tree_selection_new*(): PGtkTreeSelection{.cdecl, dynlib: gtklib, - importc: "_gtk_tree_selection_new".} -proc gtk_tree_selection_new_with_tree_view*(tree_view: PGtkTreeView): PGtkTreeSelection{. - cdecl, dynlib: gtklib, importc: "_gtk_tree_selection_new_with_tree_view".} -proc gtk_tree_selection_set_tree_view*(selection: PGtkTreeSelection, - tree_view: PGtkTreeView){.cdecl, dynlib: gtklib, - importc: "_gtk_tree_selection_set_tree_view".} -proc gtk_tree_view_column_cell_render*(tree_column: PGtkTreeViewColumn, - window: PGdkWindow, background_area: PGdkRectangle, - cell_area: PGdkRectangle, expose_area: PGdkRectangle, flags: guint){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_column_cell_render".} -proc gtk_tree_view_column_cell_focus*(tree_column: PGtkTreeViewColumn, - direction: gint, left: gboolean, - right: gboolean): gboolean{.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_column_cell_focus".} -proc gtk_tree_view_column_cell_draw_focus*(tree_column: PGtkTreeViewColumn, - window: PGdkWindow, background_area: PGdkRectangle, - cell_area: PGdkRectangle, expose_area: PGdkRectangle, flags: guint){.cdecl, - dynlib: gtklib, importc: "_gtk_tree_view_column_cell_draw_focus".} -proc gtk_tree_view_column_cell_set_dirty*(tree_column: PGtkTreeViewColumn, - install_handler: gboolean){.cdecl, dynlib: gtklib, importc: "_gtk_tree_view_column_cell_set_dirty".} -proc gtk_tree_view_column_get_neighbor_sizes*(column: PGtkTreeViewColumn, - cell: PGtkCellRenderer, left: Pgint, right: Pgint){.cdecl, dynlib: gtklib, - importc: "_gtk_tree_view_column_get_neighbor_sizes".} -proc GTK_TYPE_TREE_VIEW*(): GType -proc GTK_TREE_VIEW*(obj: pointer): PGtkTreeView -proc GTK_TREE_VIEW_CLASS*(klass: pointer): PGtkTreeViewClass -proc GTK_IS_TREE_VIEW*(obj: pointer): bool -proc GTK_IS_TREE_VIEW_CLASS*(klass: pointer): bool -proc GTK_TREE_VIEW_GET_CLASS*(obj: pointer): PGtkTreeViewClass -proc gtk_tree_view_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_get_type".} -proc gtk_tree_view_new*(): PGtkTreeView{.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_new".} -proc gtk_tree_view_new_with_model*(model: PGtkTreeModel): PGtkTreeView{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_new_with_model".} -proc gtk_tree_view_get_model*(tree_view: PGtkTreeView): PGtkTreeModel{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_model".} -proc gtk_tree_view_set_model*(tree_view: PGtkTreeView, model: PGtkTreeModel){. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_model".} -proc gtk_tree_view_get_selection*(tree_view: PGtkTreeView): PGtkTreeSelection{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_selection".} -proc gtk_tree_view_get_hadjustment*(tree_view: PGtkTreeView): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_hadjustment".} -proc gtk_tree_view_set_hadjustment*(tree_view: PGtkTreeView, - adjustment: PGtkAdjustment){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_hadjustment".} -proc gtk_tree_view_get_vadjustment*(tree_view: PGtkTreeView): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_vadjustment".} -proc gtk_tree_view_set_vadjustment*(tree_view: PGtkTreeView, - adjustment: PGtkAdjustment){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_vadjustment".} -proc gtk_tree_view_get_headers_visible*(tree_view: PGtkTreeView): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_headers_visible".} -proc gtk_tree_view_set_headers_visible*(tree_view: PGtkTreeView, - headers_visible: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_headers_visible".} -proc gtk_tree_view_columns_autosize*(tree_view: PGtkTreeView){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_columns_autosize".} -proc gtk_tree_view_set_headers_clickable*(tree_view: PGtkTreeView, - setting: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_set_headers_clickable".} -proc gtk_tree_view_set_rules_hint*(tree_view: PGtkTreeView, setting: gboolean){. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_rules_hint".} -proc gtk_tree_view_get_rules_hint*(tree_view: PGtkTreeView): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_rules_hint".} -proc gtk_tree_view_append_column*(tree_view: PGtkTreeView, - column: PGtkTreeViewColumn): gint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_append_column".} -proc gtk_tree_view_remove_column*(tree_view: PGtkTreeView, - column: PGtkTreeViewColumn): gint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_remove_column".} -proc gtk_tree_view_insert_column*(tree_view: PGtkTreeView, - column: PGtkTreeViewColumn, position: gint): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_insert_column".} -proc gtk_tree_view_insert_column_with_data_func*(tree_view: PGtkTreeView, - position: gint, title: cstring, cell: PGtkCellRenderer, - fun: TGtkTreeCellDataFunc, data: gpointer, dnotify: TGDestroyNotify): gint{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_insert_column_with_data_func".} -proc gtk_tree_view_get_column*(tree_view: PGtkTreeView, n: gint): PGtkTreeViewColumn{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_column".} -proc gtk_tree_view_get_columns*(tree_view: PGtkTreeView): PGList{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_columns".} -proc gtk_tree_view_move_column_after*(tree_view: PGtkTreeView, - column: PGtkTreeViewColumn, - base_column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_move_column_after".} -proc gtk_tree_view_set_expander_column*(tree_view: PGtkTreeView, - column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_expander_column".} -proc gtk_tree_view_get_expander_column*(tree_view: PGtkTreeView): PGtkTreeViewColumn{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_expander_column".} -proc gtk_tree_view_set_column_drag_function*(tree_view: PGtkTreeView, - fun: TGtkTreeViewColumnDropFunc, user_data: gpointer, - destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_column_drag_function".} -proc gtk_tree_view_scroll_to_point*(tree_view: PGtkTreeView, tree_x: gint, - tree_y: gint){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_scroll_to_point".} -proc gtk_tree_view_scroll_to_cell*(tree_view: PGtkTreeView, path: PGtkTreePath, - column: PGtkTreeViewColumn, - use_align: gboolean, row_align: gfloat, - col_align: gfloat){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_scroll_to_cell".} -proc gtk_tree_view_row_activated*(tree_view: PGtkTreeView, path: PGtkTreePath, - column: PGtkTreeViewColumn){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_row_activated".} -proc gtk_tree_view_expand_all*(tree_view: PGtkTreeView){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_expand_all".} -proc gtk_tree_view_collapse_all*(tree_view: PGtkTreeView){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_collapse_all".} -proc gtk_tree_view_expand_row*(tree_view: PGtkTreeView, path: PGtkTreePath, - open_all: gboolean): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_expand_row".} -proc gtk_tree_view_collapse_row*(tree_view: PGtkTreeView, path: PGtkTreePath): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_collapse_row".} -proc gtk_tree_view_map_expanded_rows*(tree_view: PGtkTreeView, - fun: TGtkTreeViewMappingFunc, - data: gpointer){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_map_expanded_rows".} -proc gtk_tree_view_row_expanded*(tree_view: PGtkTreeView, path: PGtkTreePath): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_row_expanded".} -proc gtk_tree_view_set_reorderable*(tree_view: PGtkTreeView, - reorderable: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_reorderable".} -proc gtk_tree_view_get_reorderable*(tree_view: PGtkTreeView): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_reorderable".} -proc gtk_tree_view_set_cursor*(tree_view: PGtkTreeView, path: PGtkTreePath, - focus_column: PGtkTreeViewColumn, - start_editing: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_set_cursor".} -proc gtk_tree_view_set_cursor_on_cell*(tree_view: PGtkTreeView, - path: PGtkTreePath, - focus_column: PGtkTreeViewColumn, - focus_cell: PGtkCellRenderer, - start_editing: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_cursor_on_cell".} -proc gtk_tree_view_get_bin_window*(tree_view: PGtkTreeView): PGdkWindow{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_bin_window".} -proc gtk_tree_view_get_cell_area*(tree_view: PGtkTreeView, path: PGtkTreePath, - column: PGtkTreeViewColumn, - rect: PGdkRectangle){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_get_cell_area".} -proc gtk_tree_view_get_background_area*(tree_view: PGtkTreeView, - path: PGtkTreePath, - column: PGtkTreeViewColumn, - rect: PGdkRectangle){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_background_area".} -proc gtk_tree_view_get_visible_rect*(tree_view: PGtkTreeView, - visible_rect: PGdkRectangle){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_visible_rect".} -proc gtk_tree_view_widget_to_tree_coords*(tree_view: PGtkTreeView, wx: gint, - wy: gint, tx: Pgint, ty: Pgint){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_widget_to_tree_coords".} -proc gtk_tree_view_tree_to_widget_coords*(tree_view: PGtkTreeView, tx: gint, - ty: gint, wx: Pgint, wy: Pgint){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_tree_to_widget_coords".} -proc gtk_tree_view_enable_model_drag_source*(tree_view: PGtkTreeView, - start_button_mask: TGdkModifierType, targets: PGtkTargetEntry, - n_targets: gint, actions: TGdkDragAction){.cdecl, dynlib: gtklib, - importc: "gtk_tree_view_enable_model_drag_source".} -proc gtk_tree_view_enable_model_drag_dest*(tree_view: PGtkTreeView, - targets: PGtkTargetEntry, n_targets: gint, actions: TGdkDragAction){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_enable_model_drag_dest".} -proc gtk_tree_view_unset_rows_drag_source*(tree_view: PGtkTreeView){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_unset_rows_drag_source".} -proc gtk_tree_view_unset_rows_drag_dest*(tree_view: PGtkTreeView){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_unset_rows_drag_dest".} -proc gtk_tree_view_set_drag_dest_row*(tree_view: PGtkTreeView, - path: PGtkTreePath, - pos: TGtkTreeViewDropPosition){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_drag_dest_row".} -proc gtk_tree_view_create_row_drag_icon*(tree_view: PGtkTreeView, - path: PGtkTreePath): PGdkPixmap{.cdecl, dynlib: gtklib, importc: "gtk_tree_view_create_row_drag_icon".} -proc gtk_tree_view_set_enable_search*(tree_view: PGtkTreeView, - enable_search: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_set_enable_search".} -proc gtk_tree_view_get_enable_search*(tree_view: PGtkTreeView): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_enable_search".} -proc gtk_tree_view_get_search_column*(tree_view: PGtkTreeView): gint{.cdecl, - dynlib: gtklib, importc: "gtk_tree_view_get_search_column".} -proc gtk_tree_view_set_search_column*(tree_view: PGtkTreeView, column: gint){. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_search_column".} -proc gtk_tree_view_get_search_equal_func*(tree_view: PGtkTreeView): TGtkTreeViewSearchEqualFunc{. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_get_search_equal_func".} -proc gtk_tree_view_set_search_equal_func*(tree_view: PGtkTreeView, - search_equal_func: TGtkTreeViewSearchEqualFunc, search_user_data: gpointer, - search_destroy: TGtkDestroyNotify){.cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_search_equal_func".} -proc gtk_tree_view_set_destroy_count_func*(tree_view: PGtkTreeView, - fun: TGtkTreeDestroyCountFunc, data: gpointer, destroy: TGtkDestroyNotify){. - cdecl, dynlib: gtklib, importc: "gtk_tree_view_set_destroy_count_func".} -proc GTK_TYPE_VBUTTON_BOX*(): GType -proc GTK_VBUTTON_BOX*(obj: pointer): PGtkVButtonBox -proc GTK_VBUTTON_BOX_CLASS*(klass: pointer): PGtkVButtonBoxClass -proc GTK_IS_VBUTTON_BOX*(obj: pointer): bool -proc GTK_IS_VBUTTON_BOX_CLASS*(klass: pointer): bool -proc GTK_VBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkVButtonBoxClass -proc gtk_vbutton_box_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_vbutton_box_get_type".} -proc gtk_vbutton_box_new*(): PGtkVButtonBox{.cdecl, dynlib: gtklib, - importc: "gtk_vbutton_box_new".} -proc GTK_TYPE_VIEWPORT*(): GType -proc GTK_VIEWPORT*(obj: pointer): PGtkViewport -proc GTK_VIEWPORT_CLASS*(klass: pointer): PGtkViewportClass -proc GTK_IS_VIEWPORT*(obj: pointer): bool -proc GTK_IS_VIEWPORT_CLASS*(klass: pointer): bool -proc GTK_VIEWPORT_GET_CLASS*(obj: pointer): PGtkViewportClass -proc gtk_viewport_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_viewport_get_type".} -proc gtk_viewport_new*(hadjustment: PGtkAdjustment, vadjustment: PGtkAdjustment): PGtkViewport{. - cdecl, dynlib: gtklib, importc: "gtk_viewport_new".} -proc gtk_viewport_get_hadjustment*(viewport: PGtkViewport): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_viewport_get_hadjustment".} -proc gtk_viewport_get_vadjustment*(viewport: PGtkViewport): PGtkAdjustment{. - cdecl, dynlib: gtklib, importc: "gtk_viewport_get_vadjustment".} -proc gtk_viewport_set_hadjustment*(viewport: PGtkViewport, - adjustment: PGtkAdjustment){.cdecl, - dynlib: gtklib, importc: "gtk_viewport_set_hadjustment".} -proc gtk_viewport_set_vadjustment*(viewport: PGtkViewport, - adjustment: PGtkAdjustment){.cdecl, - dynlib: gtklib, importc: "gtk_viewport_set_vadjustment".} -proc gtk_viewport_set_shadow_type*(viewport: PGtkViewport, - thetype: TGtkShadowType){.cdecl, - dynlib: gtklib, importc: "gtk_viewport_set_shadow_type".} -proc gtk_viewport_get_shadow_type*(viewport: PGtkViewport): TGtkShadowType{. - cdecl, dynlib: gtklib, importc: "gtk_viewport_get_shadow_type".} -proc GTK_TYPE_VPANED*(): GType -proc GTK_VPANED*(obj: pointer): PGtkVPaned -proc GTK_VPANED_CLASS*(klass: pointer): PGtkVPanedClass -proc GTK_IS_VPANED*(obj: pointer): bool -proc GTK_IS_VPANED_CLASS*(klass: pointer): bool -proc GTK_VPANED_GET_CLASS*(obj: pointer): PGtkVPanedClass -proc gtk_vpaned_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_vpaned_get_type".} -proc gtk_vpaned_new*(): PGtkVPaned{.cdecl, dynlib: gtklib, - importc: "gtk_vpaned_new".} -proc GTK_TYPE_VRULER*(): GType -proc GTK_VRULER*(obj: pointer): PGtkVRuler -proc GTK_VRULER_CLASS*(klass: pointer): PGtkVRulerClass -proc GTK_IS_VRULER*(obj: pointer): bool -proc GTK_IS_VRULER_CLASS*(klass: pointer): bool -proc GTK_VRULER_GET_CLASS*(obj: pointer): PGtkVRulerClass -proc gtk_vruler_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_vruler_get_type".} -proc gtk_vruler_new*(): PGtkVRuler{.cdecl, dynlib: gtklib, - importc: "gtk_vruler_new".} -proc GTK_TYPE_VSCALE*(): GType -proc GTK_VSCALE*(obj: pointer): PGtkVScale -proc GTK_VSCALE_CLASS*(klass: pointer): PGtkVScaleClass -proc GTK_IS_VSCALE*(obj: pointer): bool -proc GTK_IS_VSCALE_CLASS*(klass: pointer): bool -proc GTK_VSCALE_GET_CLASS*(obj: pointer): PGtkVScaleClass -proc gtk_vscale_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_vscale_get_type".} -proc gtk_vscale_new*(adjustment: PGtkAdjustment): PGtkVScale{.cdecl, - dynlib: gtklib, importc: "gtk_vscale_new".} -proc gtk_vscale_new_with_range*(min: gdouble, max: gdouble, step: gdouble): PGtkVScale{. - cdecl, dynlib: gtklib, importc: "gtk_vscale_new_with_range".} -proc GTK_TYPE_VSCROLLBAR*(): GType -proc GTK_VSCROLLBAR*(obj: pointer): PGtkVScrollbar -proc GTK_VSCROLLBAR_CLASS*(klass: pointer): PGtkVScrollbarClass -proc GTK_IS_VSCROLLBAR*(obj: pointer): bool -proc GTK_IS_VSCROLLBAR_CLASS*(klass: pointer): bool -proc GTK_VSCROLLBAR_GET_CLASS*(obj: pointer): PGtkVScrollbarClass -proc gtk_vscrollbar_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_vscrollbar_get_type".} -proc gtk_vscrollbar_new*(adjustment: PGtkAdjustment): PGtkVScrollbar{.cdecl, - dynlib: gtklib, importc: "gtk_vscrollbar_new".} -proc GTK_TYPE_VSEPARATOR*(): GType -proc GTK_VSEPARATOR*(obj: pointer): PGtkVSeparator -proc GTK_VSEPARATOR_CLASS*(klass: pointer): PGtkVSeparatorClass -proc GTK_IS_VSEPARATOR*(obj: pointer): bool -proc GTK_IS_VSEPARATOR_CLASS*(klass: pointer): bool -proc GTK_VSEPARATOR_GET_CLASS*(obj: pointer): PGtkVSeparatorClass -proc gtk_vseparator_get_type*(): TGtkType{.cdecl, dynlib: gtklib, - importc: "gtk_vseparator_get_type".} -proc gtk_vseparator_new*(): PGtkVSeparator{.cdecl, dynlib: gtklib, - importc: "gtk_vseparator_new".} -proc GTK_TYPE_OBJECT*(): GType = - result = gtk_object_get_type() - -proc GTK_CHECK_CAST*(instance: Pointer, g_type: GType): PGTypeInstance = - result = G_TYPE_CHECK_INSTANCE_CAST(instance, g_type) - -proc GTK_CHECK_CLASS_CAST*(g_class: pointer, g_type: GType): Pointer = - result = G_TYPE_CHECK_CLASS_CAST(g_class, g_type) - -proc GTK_CHECK_GET_CLASS*(instance: Pointer, g_type: GType): PGTypeClass = - result = G_TYPE_INSTANCE_GET_CLASS(instance, g_type) - -proc GTK_CHECK_TYPE*(instance: Pointer, g_type: GType): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type) - -proc GTK_CHECK_CLASS_TYPE*(g_class: pointer, g_type: GType): bool = - result = G_TYPE_CHECK_CLASS_TYPE(g_class, g_type) - -proc GTK_OBJECT*(anObject: pointer): PGtkObject = - result = cast[PGtkObject](GTK_CHECK_CAST(anObject, GTK_TYPE_OBJECT())) - -proc GTK_OBJECT_CLASS*(klass: pointer): PGtkObjectClass = - result = cast[PGtkObjectClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_OBJECT())) - -proc GTK_IS_OBJECT*(anObject: pointer): bool = - result = GTK_CHECK_TYPE(anObject, GTK_TYPE_OBJECT()) - -proc GTK_IS_OBJECT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OBJECT()) - -proc GTK_OBJECT_GET_CLASS*(anObject: pointer): PGtkObjectClass = - result = cast[PGtkObjectClass](GTK_CHECK_GET_CLASS(anObject, GTK_TYPE_OBJECT())) - -proc GTK_OBJECT_TYPE*(anObject: pointer): GType = - result = G_TYPE_FROM_INSTANCE(anObject) - -proc GTK_OBJECT_TYPE_NAME*(anObject: pointer): cstring = - result = g_type_name(GTK_OBJECT_TYPE(anObject)) - -proc GTK_OBJECT_FLAGS*(obj: pointer): guint32 = - result = (GTK_OBJECT(obj)).flags - -proc GTK_OBJECT_FLOATING*(obj: pointer): gboolean = - result = ((GTK_OBJECT_FLAGS(obj)) and cint(GTK_FLOATING)) != 0'i32 - -proc GTK_OBJECT_SET_FLAGS*(obj: pointer, flag: guint32) = - GTK_OBJECT(obj).flags = GTK_OBJECT(obj).flags or flag - -proc GTK_OBJECT_UNSET_FLAGS*(obj: pointer, flag: guint32) = - GTK_OBJECT(obj) . flags = GTK_OBJECT(obj). flags and not (flag) - -proc gtk_object_data_try_key*(`string`: cstring): TGQuark = - result = g_quark_try_string(`string`) - -proc gtk_object_data_force_id*(`string`: cstring): TGQuark = - result = g_quark_from_string(`string`) - -proc GTK_CLASS_NAME*(`class`: pointer): cstring = - result = g_type_name(G_TYPE_FROM_CLASS(`class`)) - -proc GTK_CLASS_TYPE*(`class`: pointer): GType = - result = G_TYPE_FROM_CLASS(`class`) - -proc GTK_TYPE_IS_OBJECT*(thetype: GType): gboolean = - result = g_type_is_a(thetype, GTK_TYPE_OBJECT()) - -proc GTK_TYPE_IDENTIFIER*(): GType = - result = gtk_identifier_get_type() - -proc GTK_SIGNAL_FUNC*(f: pointer): TGtkSignalFunc = - result = cast[TGtkSignalFunc](f) - -proc gtk_type_name*(thetype: GType): cstring = - result = g_type_name(thetype) - -proc gtk_type_from_name*(name: cstring): GType = - result = g_type_from_name(name) - -proc gtk_type_parent*(thetype: GType): GType = - result = g_type_parent(thetype) - -proc gtk_type_is_a*(thetype, is_a_type: GType): gboolean = - result = g_type_is_a(thetype, is_a_type) - -proc GTK_FUNDAMENTAL_TYPE*(thetype: GType): GType = - result = G_TYPE_FUNDAMENTAL(thetype) - -proc GTK_VALUE_CHAR*(a: TGtkArg): gchar = - var a = a - Result = cast[ptr gchar](addr(a.d))^ - -proc GTK_VALUE_UCHAR*(a: TGtkArg): guchar = - var a = a - Result = cast[ptr guchar](addr(a.d))^ - -proc GTK_VALUE_BOOL*(a: TGtkArg): gboolean = - var a = a - Result = cast[ptr gboolean](addr(a.d))^ - -proc GTK_VALUE_INT*(a: TGtkArg): gint = - var a = a - Result = cast[ptr gint](addr(a.d))^ - -proc GTK_VALUE_UINT*(a: TGtkArg): guint = - var a = a - Result = cast[ptr guint](addr(a.d))^ - -proc GTK_VALUE_LONG*(a: TGtkArg): glong = - var a = a - Result = cast[ptr glong](addr(a.d))^ - -proc GTK_VALUE_ULONG*(a: TGtkArg): gulong = - var a = a - Result = cast[ptr gulong](addr(a.d))^ - -proc GTK_VALUE_FLOAT*(a: TGtkArg): gfloat = - var a = a - Result = cast[ptr gfloat](addr(a.d))^ - -proc GTK_VALUE_DOUBLE*(a: TGtkArg): gdouble = - var a = a - Result = cast[ptr gdouble](addr(a.d))^ - -proc GTK_VALUE_STRING*(a: TGtkArg): cstring = - var a = a - Result = cast[ptr cstring](addr(a.d))^ - -proc GTK_VALUE_ENUM*(a: TGtkArg): gint = - var a = a - Result = cast[ptr gint](addr(a.d))^ - -proc GTK_VALUE_FLAGS*(a: TGtkArg): guint = - var a = a - Result = cast[ptr guint](addr(a.d))^ - -proc GTK_VALUE_BOXED*(a: TGtkArg): gpointer = - var a = a - Result = cast[ptr gpointer](addr(a.d))^ - -proc GTK_VALUE_OBJECT*(a: TGtkArg): PGtkObject = - var a = a - Result = cast[ptr PGtkObject](addr(a.d))^ - -proc GTK_VALUE_POINTER*(a: TGtkArg): GPointer = - var a = a - Result = cast[ptr gpointer](addr(a.d))^ - -proc GTK_VALUE_SIGNAL*(a: TGtkArg): TGtkArgSignalData = - var a = a - Result = cast[ptr TGtkArgSignalData](addr(a.d))^ - -proc GTK_RETLOC_CHAR*(a: TGtkArg): cstring = - var a = a - Result = cast[ptr cstring](addr(a.d))^ - -proc GTK_RETLOC_UCHAR*(a: TGtkArg): Pguchar = - var a = a - Result = cast[ptr pguchar](addr(a.d))^ - -proc GTK_RETLOC_BOOL*(a: TGtkArg): Pgboolean = - var a = a - Result = cast[ptr pgboolean](addr(a.d))^ - -proc GTK_RETLOC_INT*(a: TGtkArg): Pgint = - var a = a - Result = cast[ptr pgint](addr(a.d))^ - -proc GTK_RETLOC_UINT*(a: TGtkArg): Pguint = - var a = a - Result = cast[ptr pguint](addr(a.d))^ - -proc GTK_RETLOC_LONG*(a: TGtkArg): Pglong = - var a = a - Result = cast[ptr pglong](addr(a.d))^ - -proc GTK_RETLOC_ULONG*(a: TGtkArg): Pgulong = - var a = a - Result = cast[ptr pgulong](addr(a.d))^ - -proc GTK_RETLOC_FLOAT*(a: TGtkArg): Pgfloat = - var a = a - Result = cast[ptr pgfloat](addr(a.d))^ - -proc GTK_RETLOC_DOUBLE*(a: TGtkArg): Pgdouble = - var a = a - Result = cast[ptr pgdouble](addr(a.d))^ - -proc GTK_RETLOC_STRING*(a: TGtkArg): Ppgchar = - var a = a - Result = cast[ptr Ppgchar](addr(a.d))^ - -proc GTK_RETLOC_ENUM*(a: TGtkArg): Pgint = - var a = a - Result = cast[ptr Pgint](addr(a.d))^ - -proc GTK_RETLOC_FLAGS*(a: TGtkArg): Pguint = - var a = a - Result = cast[ptr pguint](addr(a.d))^ - -proc GTK_RETLOC_BOXED*(a: TGtkArg): Pgpointer = - var a = a - Result = cast[ptr pgpointer](addr(a.d))^ - -proc GTK_RETLOC_OBJECT*(a: TGtkArg): PPGtkObject = - var a = a - Result = cast[ptr ppgtkobject](addr(a.d))^ - -proc GTK_RETLOC_POINTER*(a: TGtkArg): Pgpointer = - var a = a - Result = cast[ptr pgpointer](addr(a.d))^ - -proc GTK_TYPE_WIDGET*(): GType = - result = gtk_widget_get_type() - -proc GTK_WIDGET*(widget: pointer): PGtkWidget = - result = cast[PGtkWidget](GTK_CHECK_CAST(widget, GTK_TYPE_WIDGET())) - -proc GTK_WIDGET_CLASS*(klass: pointer): PGtkWidgetClass = - result = cast[PGtkWidgetClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_WIDGET())) - -proc GTK_IS_WIDGET*(widget: pointer): bool = - result = GTK_CHECK_TYPE(widget, GTK_TYPE_WIDGET()) - -proc GTK_IS_WIDGET_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_WIDGET()) - -proc GTK_WIDGET_GET_CLASS*(obj: pointer): PGtkWidgetClass = - result = cast[PGtkWidgetClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_WIDGET())) - -proc GTK_WIDGET_TYPE*(wid: pointer): GType = - result = GTK_OBJECT_TYPE(wid) - -proc GTK_WIDGET_STATE*(wid: pointer): int32 = - result = (GTK_WIDGET(wid)) . state - -proc GTK_WIDGET_SAVED_STATE*(wid: pointer): int32 = - result = (GTK_WIDGET(wid)) . saved_state - -proc GTK_WIDGET_FLAGS*(wid: pointer): guint32 = - result = GTK_OBJECT_FLAGS(wid) - -proc GTK_WIDGET_TOPLEVEL*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_TOPLEVEL)) != 0'i32 - -proc GTK_WIDGET_NO_WINDOW*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_NO_WINDOW)) != 0'i32 - -proc GTK_WIDGET_REALIZED*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_REALIZED)) != 0'i32 - -proc GTK_WIDGET_MAPPED*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_MAPPED)) != 0'i32 - -proc GTK_WIDGET_VISIBLE*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_VISIBLE)) != 0'i32 - -proc GTK_WIDGET_DRAWABLE*(wid: pointer): gboolean = - result = (GTK_WIDGET_VISIBLE(wid)) and (GTK_WIDGET_MAPPED(wid)) - -proc GTK_WIDGET_SENSITIVE*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_SENSITIVE)) != 0'i32 - -proc GTK_WIDGET_PARENT_SENSITIVE*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_PARENT_SENSITIVE)) != 0'i32 - -proc GTK_WIDGET_IS_SENSITIVE*(wid: pointer): gboolean = - result = (GTK_WIDGET_SENSITIVE(wid)) and (GTK_WIDGET_PARENT_SENSITIVE(wid)) - -proc GTK_WIDGET_CAN_FOCUS*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_CAN_FOCUS)) != 0'i32 - -proc GTK_WIDGET_HAS_FOCUS*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_FOCUS)) != 0'i32 - -proc GTK_WIDGET_CAN_DEFAULT*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_CAN_DEFAULT)) != 0'i32 - -proc GTK_WIDGET_HAS_DEFAULT*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_DEFAULT)) != 0'i32 - -proc GTK_WIDGET_HAS_GRAB*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_HAS_GRAB)) != 0'i32 - -proc GTK_WIDGET_RC_STYLE*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_RC_STYLE)) != 0'i32 - -proc GTK_WIDGET_COMPOSITE_CHILD*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_COMPOSITE_CHILD)) != 0'i32 - -proc GTK_WIDGET_APP_PAINTABLE*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_APP_PAINTABLE)) != 0'i32 - -proc GTK_WIDGET_RECEIVES_DEFAULT*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_RECEIVES_DEFAULT)) != 0'i32 - -proc GTK_WIDGET_DOUBLE_BUFFERED*(wid: pointer): gboolean = - result = ((GTK_WIDGET_FLAGS(wid)) and cint(GTK_DOUBLE_BUFFERED)) != 0'i32 - -proc GTK_TYPE_REQUISITION*(): GType = - result = gtk_requisition_get_type() - -proc x_set*(a: var TGtkWidgetAuxInfo): guint = - result = (a.flag0 and bm_TGtkWidgetAuxInfo_x_set) shr - bp_TGtkWidgetAuxInfo_x_set - -proc set_x_set*(a: var TGtkWidgetAuxInfo, `x_set`: guint) = - a.flag0 = a.flag0 or - (int16(`x_set` shl bp_TGtkWidgetAuxInfo_x_set) and - bm_TGtkWidgetAuxInfo_x_set) - -proc y_set*(a: var TGtkWidgetAuxInfo): guint = - result = (a.flag0 and bm_TGtkWidgetAuxInfo_y_set) shr - bp_TGtkWidgetAuxInfo_y_set - -proc set_y_set*(a: var TGtkWidgetAuxInfo, `y_set`: guint) = - a.flag0 = a.flag0 or - (int16(`y_set` shl bp_TGtkWidgetAuxInfo_y_set) and - bm_TGtkWidgetAuxInfo_y_set) - -proc gtk_widget_set_visual*(widget, visual: pointer) = - if (Widget != nil) and (visual != nil): nil - -proc gtk_widget_push_visual*(visual: pointer) = - if (visual != nil): nil - -proc gtk_widget_pop_visual*() = - nil - -proc gtk_widget_set_default_visual*(visual: pointer) = - if (visual != nil): nil - -proc gtk_widget_set_rc_style*(widget: pointer) = - gtk_widget_set_style(cast[PGtkWidget](widget), nil) - -proc gtk_widget_restore_default_style*(widget: pointer) = - gtk_widget_set_style(cast[PGtkWidget](widget), nil) - -proc GTK_WIDGET_SET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags = - cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags or (flags) - result = cast[pGtkObject](wid).flags - -proc GTK_WIDGET_UNSET_FLAGS*(wid: PGtkWidget, flags: TGtkWidgetFlags): TGtkWidgetFlags = - cast[pGtkObject](wid).flags = cast[pGtkObject](wid).flags and (not (flags)) - result = cast[pGtkObject](wid).flags - -proc GTK_TYPE_MISC*(): GType = - result = gtk_misc_get_type() - -proc GTK_MISC*(obj: pointer): PGtkMisc = - result = cast[PGtkMisc](GTK_CHECK_CAST(obj, GTK_TYPE_MISC())) - -proc GTK_MISC_CLASS*(klass: pointer): PGtkMiscClass = - result = cast[PGtkMiscClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MISC())) - -proc GTK_IS_MISC*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_MISC()) - -proc GTK_IS_MISC_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MISC()) - -proc GTK_MISC_GET_CLASS*(obj: pointer): PGtkMiscClass = - result = cast[PGtkMiscClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MISC())) - -proc GTK_TYPE_ACCEL_GROUP*(): GType = - result = gtk_accel_group_get_type() - -proc GTK_ACCEL_GROUP*(anObject: pointer): PGtkAccelGroup = - result = cast[PGtkAccelGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GTK_TYPE_ACCEL_GROUP())) - -proc GTK_ACCEL_GROUP_CLASS*(klass: pointer): PGtkAccelGroupClass = - result = cast[PGtkAccelGroupClass](G_TYPE_CHECK_CLASS_CAST(klass, - GTK_TYPE_ACCEL_GROUP())) - -proc GTK_IS_ACCEL_GROUP*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_ACCEL_GROUP()) - -proc GTK_IS_ACCEL_GROUP_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCEL_GROUP()) - -proc GTK_ACCEL_GROUP_GET_CLASS*(obj: pointer): PGtkAccelGroupClass = - result = cast[PGtkAccelGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GTK_TYPE_ACCEL_GROUP())) - -proc accel_flags*(a: var TGtkAccelKey): guint = - result = (a.flag0 and bm_TGtkAccelKey_accel_flags) shr - bp_TGtkAccelKey_accel_flags - -proc set_accel_flags*(a: var TGtkAccelKey, `accel_flags`: guint) = - a.flag0 = a.flag0 or - (int16(`accel_flags` shl bp_TGtkAccelKey_accel_flags) and - bm_TGtkAccelKey_accel_flags) - -proc gtk_accel_group_ref*(AccelGroup: PGtkAccelGroup) = - discard g_object_ref(AccelGroup) - -proc gtk_accel_group_unref*(AccelGroup: PGtkAccelGroup) = - g_object_unref(AccelGroup) - -proc GTK_TYPE_CONTAINER*(): GType = - result = gtk_container_get_type() - -proc GTK_CONTAINER*(obj: pointer): PGtkContainer = - result = cast[PGtkContainer](GTK_CHECK_CAST(obj, GTK_TYPE_CONTAINER())) - -proc GTK_CONTAINER_CLASS*(klass: pointer): PGtkContainerClass = - result = cast[PGtkContainerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CONTAINER())) - -proc GTK_IS_CONTAINER*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CONTAINER()) - -proc GTK_IS_CONTAINER_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CONTAINER()) - -proc GTK_CONTAINER_GET_CLASS*(obj: pointer): PGtkContainerClass = - result = cast[PGtkContainerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CONTAINER())) - -proc GTK_IS_RESIZE_CONTAINER*(widget: pointer): bool = - result = (GTK_IS_CONTAINER(widget)) and - ((resize_mode(cast[PGtkContainer](widget))) != cint(GTK_RESIZE_PARENT)) - -proc border_width*(a: var TGtkContainer): guint = - result = (a.GtkContainer_flag0 and bm_TGtkContainer_border_width) shr - bp_TGtkContainer_border_width - -proc set_border_width*(a: var TGtkContainer, `border_width`: guint) = - a.GtkContainer_flag0 = a.GtkContainer_flag0 or - ((`border_width` shl bp_TGtkContainer_border_width) and - bm_TGtkContainer_border_width) - -proc need_resize*(a: var TGtkContainer): guint = - result = (a.GtkContainer_flag0 and bm_TGtkContainer_need_resize) shr - bp_TGtkContainer_need_resize - -proc set_need_resize*(a: var TGtkContainer, `need_resize`: guint) = - a.GtkContainer_flag0 = a.GtkContainer_flag0 or - ((`need_resize` shl bp_TGtkContainer_need_resize) and - bm_TGtkContainer_need_resize) - -proc resize_mode*(a: PGtkContainer): guint = - result = (a.GtkContainer_flag0 and bm_TGtkContainer_resize_mode) shr - bp_TGtkContainer_resize_mode - -proc set_resize_mode*(a: var TGtkContainer, `resize_mode`: guint) = - a.GtkContainerflag0 = a.GtkContainerflag0 or - ((`resize_mode` shl bp_TGtkContainer_resize_mode) and - bm_TGtkContainer_resize_mode) - -proc reallocate_redraws*(a: var TGtkContainer): guint = - result = (a.GtkContainerflag0 and bm_TGtkContainer_reallocate_redraws) shr - bp_TGtkContainer_reallocate_redraws - -proc set_reallocate_redraws*(a: var TGtkContainer, `reallocate_redraws`: guint) = - a.GtkContainerflag0 = a.GtkContainerflag0 or - ((`reallocate_redraws` shl bp_TGtkContainer_reallocate_redraws) and - bm_TGtkContainer_reallocate_redraws) - -proc has_focus_chain*(a: var TGtkContainer): guint = - result = (a.GtkContainerflag0 and bm_TGtkContainer_has_focus_chain) shr - bp_TGtkContainer_has_focus_chain - -proc set_has_focus_chain*(a: var TGtkContainer, `has_focus_chain`: guint) = - a.GtkContainerflag0 = a.GtkContainerflag0 or - ((`has_focus_chain` shl bp_TGtkContainer_has_focus_chain) and - bm_TGtkContainer_has_focus_chain) - -proc GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID*(anObject: pointer, - property_id: guint, pspec: pointer) = - write(stdout, "WARNING: invalid child property id\n") - -proc GTK_TYPE_BIN*(): GType = - result = gtk_bin_get_type() - -proc GTK_BIN*(obj: pointer): PGtkBin = - result = cast[PGtkBin](GTK_CHECK_CAST(obj, GTK_TYPE_BIN())) - -proc GTK_BIN_CLASS*(klass: pointer): PGtkBinClass = - result = cast[PGtkBinClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BIN())) - -proc GTK_IS_BIN*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_BIN()) - -proc GTK_IS_BIN_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BIN()) - -proc GTK_BIN_GET_CLASS*(obj: pointer): PGtkBinClass = - result = cast[PGtkBinClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BIN())) - -proc GTK_TYPE_WINDOW*(): GType = - result = gtk_window_get_type() - -proc GTK_WINDOW*(obj: pointer): PGtkWindow = - result = cast[PGtkWindow](GTK_CHECK_CAST(obj, GTK_TYPE_WINDOW())) - -proc GTK_WINDOW_CLASS*(klass: pointer): PGtkWindowClass = - result = cast[PGtkWindowClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_WINDOW())) - -proc GTK_IS_WINDOW*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_WINDOW()) - -proc GTK_IS_WINDOW_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_WINDOW()) - -proc GTK_WINDOW_GET_CLASS*(obj: pointer): PGtkWindowClass = - result = cast[PGtkWindowClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_WINDOW())) - -proc allow_shrink*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_allow_shrink) shr - bp_TGtkWindow_allow_shrink - -proc set_allow_shrink*(a: var TGtkWindow, `allow_shrink`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`allow_shrink` shl bp_TGtkWindow_allow_shrink) and - bm_TGtkWindow_allow_shrink) - -proc allow_grow*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_allow_grow) shr - bp_TGtkWindow_allow_grow - -proc set_allow_grow*(a: var TGtkWindow, `allow_grow`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`allow_grow` shl bp_TGtkWindow_allow_grow) and - bm_TGtkWindow_allow_grow) - -proc configure_notify_received*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_configure_notify_received) shr - bp_TGtkWindow_configure_notify_received - -proc set_configure_notify_received*(a: var TGtkWindow, - `configure_notify_received`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`configure_notify_received` shl - bp_TGtkWindow_configure_notify_received) and - bm_TGtkWindow_configure_notify_received) - -proc need_default_position*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_need_default_position) shr - bp_TGtkWindow_need_default_position - -proc set_need_default_position*(a: var TGtkWindow, - `need_default_position`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`need_default_position` shl bp_TGtkWindow_need_default_position) and - bm_TGtkWindow_need_default_position) - -proc need_default_size*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_need_default_size) shr - bp_TGtkWindow_need_default_size - -proc set_need_default_size*(a: var TGtkWindow, `need_default_size`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`need_default_size` shl bp_TGtkWindow_need_default_size) and - bm_TGtkWindow_need_default_size) - -proc position*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_position) shr bp_TGtkWindow_position - -proc set_position*(a: var TGtkWindow, `position`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`position` shl bp_TGtkWindow_position) and bm_TGtkWindow_position) - -proc get_type*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_type) shr bp_TGtkWindow_type - -proc set_type*(a: var TGtkWindow, `type`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`type` shl bp_TGtkWindow_type) and bm_TGtkWindow_type) - -proc has_user_ref_count*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_has_user_ref_count) shr - bp_TGtkWindow_has_user_ref_count - -proc set_has_user_ref_count*(a: var TGtkWindow, `has_user_ref_count`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`has_user_ref_count` shl bp_TGtkWindow_has_user_ref_count) and - bm_TGtkWindow_has_user_ref_count) - -proc has_focus*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_has_focus) shr bp_TGtkWindow_has_focus - -proc set_has_focus*(a: var TGtkWindow, `has_focus`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`has_focus` shl bp_TGtkWindow_has_focus) and bm_TGtkWindow_has_focus) - -proc modal*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_modal) shr bp_TGtkWindow_modal - -proc set_modal*(a: var TGtkWindow, `modal`: guint) = - a.GtkWindow_flag0 = a.GtkWindow_flag0 or - ((`modal` shl bp_TGtkWindow_modal) and bm_TGtkWindow_modal) - -proc destroy_with_parent*(a: var TGtkWindow): guint = - result = (a.GtkWindow_flag0 and bm_TGtkWindow_destroy_with_parent) shr - bp_TGtkWindow_destroy_with_parent - -proc set_destroy_with_parent*(a: var TGtkWindow, `destroy_with_parent`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`destroy_with_parent` shl bp_TGtkWindow_destroy_with_parent) and - bm_TGtkWindow_destroy_with_parent) - -proc has_frame*(a: var TGtkWindow): guint = - result = (a.GtkWindowflag0 and bm_TGtkWindow_has_frame) shr bp_TGtkWindow_has_frame - -proc set_has_frame*(a: var TGtkWindow, `has_frame`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`has_frame` shl bp_TGtkWindow_has_frame) and bm_TGtkWindow_has_frame) - -proc iconify_initially*(a: var TGtkWindow): guint = - result = (a.GtkWindowflag0 and bm_TGtkWindow_iconify_initially) shr - bp_TGtkWindow_iconify_initially - -proc set_iconify_initially*(a: var TGtkWindow, `iconify_initially`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`iconify_initially` shl bp_TGtkWindow_iconify_initially) and - bm_TGtkWindow_iconify_initially) - -proc stick_initially*(a: var TGtkWindow): guint = - result = (a.GtkWindowflag0 and bm_TGtkWindow_stick_initially) shr - bp_TGtkWindow_stick_initially - -proc set_stick_initially*(a: var TGtkWindow, `stick_initially`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`stick_initially` shl bp_TGtkWindow_stick_initially) and - bm_TGtkWindow_stick_initially) - -proc maximize_initially*(a: var TGtkWindow): guint = - result = (a.GtkWindowflag0 and bm_TGtkWindow_maximize_initially) shr - bp_TGtkWindow_maximize_initially - -proc set_maximize_initially*(a: var TGtkWindow, `maximize_initially`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`maximize_initially` shl bp_TGtkWindow_maximize_initially) and - bm_TGtkWindow_maximize_initially) - -proc decorated*(a: var TGtkWindow): guint = - result = (a.GtkWindowflag0 and bm_TGtkWindow_decorated) shr bp_TGtkWindow_decorated - -proc set_decorated*(a: var TGtkWindow, `decorated`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`decorated` shl bp_TGtkWindow_decorated) and bm_TGtkWindow_decorated) - -proc type_hint*(a: var TGtkWindow): guint = - result = (a.GtkWindowflag0 and bm_TGtkWindow_type_hint) shr bp_TGtkWindow_type_hint - -proc set_type_hint*(a: var TGtkWindow, `type_hint`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`type_hint` shl bp_TGtkWindow_type_hint) and bm_TGtkWindow_type_hint) - -proc gravity*(a: var TGtkWindow): guint = - result = (a.GtkWindowflag0 and bm_TGtkWindow_gravity) shr bp_TGtkWindow_gravity - -proc set_gravity*(a: var TGtkWindow, `gravity`: guint) = - a.GtkWindowflag0 = a.GtkWindowflag0 or - ((`gravity` shl bp_TGtkWindow_gravity) and bm_TGtkWindow_gravity) - -proc GTK_TYPE_WINDOW_GROUP*(): GType = - result = gtk_window_group_get_type() - -proc GTK_WINDOW_GROUP*(anObject: pointer): PGtkWindowGroup = - result = cast[PGtkWindowGroup](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GTK_TYPE_WINDOW_GROUP())) - -proc GTK_WINDOW_GROUP_CLASS*(klass: pointer): PGtkWindowGroupClass = - result = cast[PGtkWindowGroupClass](G_TYPE_CHECK_CLASS_CAST(klass, - GTK_TYPE_WINDOW_GROUP())) - -proc GTK_IS_WINDOW_GROUP*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_WINDOW_GROUP()) - -proc GTK_IS_WINDOW_GROUP_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_WINDOW_GROUP()) - -proc GTK_WINDOW_GROUP_GET_CLASS*(obj: pointer): PGtkWindowGroupClass = - result = cast[PGtkWindowGroupClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GTK_TYPE_WINDOW_GROUP())) - -proc gtk_window_position*(window: PGtkWindow, position: TGtkWindowPosition) = - gtk_window_set_position(window, position) - -proc GTK_TYPE_LABEL*(): GType = - result = gtk_label_get_type() - -proc GTK_LABEL*(obj: pointer): PGtkLabel = - result = cast[PGtkLabel](GTK_CHECK_CAST(obj, GTK_TYPE_LABEL())) - -proc GTK_LABEL_CLASS*(klass: pointer): PGtkLabelClass = - result = cast[PGtkLabelClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LABEL())) - -proc GTK_IS_LABEL*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_LABEL()) - -proc GTK_IS_LABEL_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LABEL()) - -proc GTK_LABEL_GET_CLASS*(obj: pointer): PGtkLabelClass = - result = cast[PGtkLabelClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LABEL())) - -proc jtype*(a: var TGtkLabel): guint = - result = (a.GtkLabelflag0 and bm_TGtkLabel_jtype) shr bp_TGtkLabel_jtype - -proc set_jtype*(a: var TGtkLabel, `jtype`: guint) = - a.GtkLabelflag0 = a.GtkLabelflag0 or - (int16(`jtype` shl bp_TGtkLabel_jtype) and bm_TGtkLabel_jtype) - -proc wrap*(a: var TGtkLabel): guint = - result = (a.GtkLabelflag0 and bm_TGtkLabel_wrap) shr bp_TGtkLabel_wrap - -proc set_wrap*(a: var TGtkLabel, `wrap`: guint) = - a.GtkLabelflag0 = a.GtkLabelflag0 or (int16(`wrap` shl bp_TGtkLabel_wrap) and bm_TGtkLabel_wrap) - -proc use_underline*(a: var TGtkLabel): guint = - result = (a.GtkLabelflag0 and bm_TGtkLabel_use_underline) shr - bp_TGtkLabel_use_underline - -proc set_use_underline*(a: var TGtkLabel, `use_underline`: guint) = - a.GtkLabelflag0 = a.GtkLabelflag0 or - (int16(`use_underline` shl bp_TGtkLabel_use_underline) and - bm_TGtkLabel_use_underline) - -proc use_markup*(a: var TGtkLabel): guint = - result = (a.GtkLabelflag0 and bm_TGtkLabel_use_markup) shr bp_TGtkLabel_use_markup - -proc set_use_markup*(a: var TGtkLabel, `use_markup`: guint) = - a.GtkLabelflag0 = a.GtkLabelflag0 or - (int16(`use_markup` shl bp_TGtkLabel_use_markup) and bm_TGtkLabel_use_markup) - -proc GTK_TYPE_ACCEL_LABEL*(): GType = - result = gtk_accel_label_get_type() - -proc GTK_ACCEL_LABEL*(obj: pointer): PGtkAccelLabel = - result = cast[PGtkAccelLabel](GTK_CHECK_CAST(obj, GTK_TYPE_ACCEL_LABEL())) - -proc GTK_ACCEL_LABEL_CLASS*(klass: pointer): PGtkAccelLabelClass = - result = cast[PGtkAccelLabelClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ACCEL_LABEL())) - -proc GTK_IS_ACCEL_LABEL*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ACCEL_LABEL()) - -proc GTK_IS_ACCEL_LABEL_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCEL_LABEL()) - -proc GTK_ACCEL_LABEL_GET_CLASS*(obj: pointer): PGtkAccelLabelClass = - result = cast[PGtkAccelLabelClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ACCEL_LABEL())) - -proc latin1_to_char*(a: var TGtkAccelLabelClass): guint = - result = (a.GtkAccelLabelClassflag0 and bm_TGtkAccelLabelClass_latin1_to_char) shr - bp_TGtkAccelLabelClass_latin1_to_char - -proc set_latin1_to_char*(a: var TGtkAccelLabelClass, `latin1_to_char`: guint) = - a.GtkAccelLabelClassflag0 = a.GtkAccelLabelClassflag0 or - (int16(`latin1_to_char` shl bp_TGtkAccelLabelClass_latin1_to_char) and - bm_TGtkAccelLabelClass_latin1_to_char) - -proc gtk_accel_label_accelerator_width*(accel_label: PGtkAccelLabel): guint = - result = gtk_accel_label_get_accel_width(accel_label) - -proc GTK_TYPE_ACCESSIBLE*(): GType = - result = gtk_accessible_get_type() - -proc GTK_ACCESSIBLE*(obj: pointer): PGtkAccessible = - result = cast[PGtkAccessible](GTK_CHECK_CAST(obj, GTK_TYPE_ACCESSIBLE())) - -proc GTK_ACCESSIBLE_CLASS*(klass: pointer): PGtkAccessibleClass = - result = cast[PGtkAccessibleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ACCESSIBLE())) - -proc GTK_IS_ACCESSIBLE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ACCESSIBLE()) - -proc GTK_IS_ACCESSIBLE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ACCESSIBLE()) - -proc GTK_ACCESSIBLE_GET_CLASS*(obj: pointer): PGtkAccessibleClass = - result = cast[PGtkAccessibleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ACCESSIBLE())) - -proc GTK_TYPE_ADJUSTMENT*(): GType = - result = gtk_adjustment_get_type() - -proc GTK_ADJUSTMENT*(obj: pointer): PGtkAdjustment = - result = cast[PGtkAdjustment](GTK_CHECK_CAST(obj, GTK_TYPE_ADJUSTMENT())) - -proc GTK_ADJUSTMENT_CLASS*(klass: pointer): PGtkAdjustmentClass = - result = cast[PGtkAdjustmentClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ADJUSTMENT())) - -proc GTK_IS_ADJUSTMENT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ADJUSTMENT()) - -proc GTK_IS_ADJUSTMENT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ADJUSTMENT()) - -proc GTK_ADJUSTMENT_GET_CLASS*(obj: pointer): PGtkAdjustmentClass = - result = cast[PGtkAdjustmentClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ADJUSTMENT())) - -proc GTK_TYPE_ALIGNMENT*(): GType = - result = gtk_alignment_get_type() - -proc GTK_ALIGNMENT*(obj: pointer): PGtkAlignment = - result = cast[PGtkAlignment](GTK_CHECK_CAST(obj, GTK_TYPE_ALIGNMENT())) - -proc GTK_ALIGNMENT_CLASS*(klass: pointer): PGtkAlignmentClass = - result = cast[PGtkAlignmentClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ALIGNMENT())) - -proc GTK_IS_ALIGNMENT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ALIGNMENT()) - -proc GTK_IS_ALIGNMENT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ALIGNMENT()) - -proc GTK_ALIGNMENT_GET_CLASS*(obj: pointer): PGtkAlignmentClass = - result = cast[PGtkAlignmentClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ALIGNMENT())) - -proc GTK_TYPE_FRAME*(): GType = - result = gtk_frame_get_type() - -proc GTK_FRAME*(obj: pointer): PGtkFrame = - result = cast[PGtkFrame](GTK_CHECK_CAST(obj, GTK_TYPE_FRAME())) - -proc GTK_FRAME_CLASS*(klass: pointer): PGtkFrameClass = - result = cast[PGtkFrameClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_FRAME())) - -proc GTK_IS_FRAME*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_FRAME()) - -proc GTK_IS_FRAME_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FRAME()) - -proc GTK_FRAME_GET_CLASS*(obj: pointer): PGtkFrameClass = - result = cast[PGtkFrameClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_FRAME())) - -proc GTK_TYPE_ASPECT_FRAME*(): GType = - result = gtk_aspect_frame_get_type() - -proc GTK_ASPECT_FRAME*(obj: pointer): PGtkAspectFrame = - result = cast[PGtkAspectFrame](GTK_CHECK_CAST(obj, GTK_TYPE_ASPECT_FRAME())) - -proc GTK_ASPECT_FRAME_CLASS*(klass: pointer): PGtkAspectFrameClass = - result = cast[PGtkAspectFrameClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_ASPECT_FRAME())) - -proc GTK_IS_ASPECT_FRAME*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ASPECT_FRAME()) - -proc GTK_IS_ASPECT_FRAME_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ASPECT_FRAME()) - -proc GTK_ASPECT_FRAME_GET_CLASS*(obj: pointer): PGtkAspectFrameClass = - result = cast[PGtkAspectFrameClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ASPECT_FRAME())) - -proc GTK_TYPE_ARROW*(): GType = - result = gtk_arrow_get_type() - -proc GTK_ARROW*(obj: pointer): PGtkArrow = - result = cast[PGtkArrow](GTK_CHECK_CAST(obj, GTK_TYPE_ARROW())) - -proc GTK_ARROW_CLASS*(klass: pointer): PGtkArrowClass = - result = cast[PGtkArrowClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ARROW())) - -proc GTK_IS_ARROW*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ARROW()) - -proc GTK_IS_ARROW_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ARROW()) - -proc GTK_ARROW_GET_CLASS*(obj: pointer): PGtkArrowClass = - result = cast[PGtkArrowClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ARROW())) - -proc parsed*(a: var TGtkBindingSet): guint = - result = (a.flag0 and bm_TGtkBindingSet_parsed) shr - bp_TGtkBindingSet_parsed - -proc set_parsed*(a: var TGtkBindingSet, `parsed`: guint) = - a.flag0 = a.flag0 or - (int16(`parsed` shl bp_TGtkBindingSet_parsed) and bm_TGtkBindingSet_parsed) - -proc destroyed*(a: var TGtkBindingEntry): guint = - result = (a.flag0 and bm_TGtkBindingEntry_destroyed) shr - bp_TGtkBindingEntry_destroyed - -proc set_destroyed*(a: var TGtkBindingEntry, `destroyed`: guint) = - a.flag0 = a.flag0 or - (int16(`destroyed` shl bp_TGtkBindingEntry_destroyed) and - bm_TGtkBindingEntry_destroyed) - -proc in_emission*(a: var TGtkBindingEntry): guint = - result = (a.flag0 and bm_TGtkBindingEntry_in_emission) shr - bp_TGtkBindingEntry_in_emission - -proc set_in_emission*(a: var TGtkBindingEntry, `in_emission`: guint) = - a.flag0 = a.flag0 or - (int16(`in_emission` shl bp_TGtkBindingEntry_in_emission) and - bm_TGtkBindingEntry_in_emission) - -proc gtk_binding_entry_add*(binding_set: PGtkBindingSet, keyval: guint, - modifiers: TGdkModifierType) = - gtk_binding_entry_clear(binding_set, keyval, modifiers) - -proc GTK_TYPE_BOX*(): GType = - result = gtk_box_get_type() - -proc GTK_BOX*(obj: pointer): PGtkBox = - result = cast[PGtkBox](GTK_CHECK_CAST(obj, GTK_TYPE_BOX())) - -proc GTK_BOX_CLASS*(klass: pointer): PGtkBoxClass = - result = cast[PGtkBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BOX())) - -proc GTK_IS_BOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_BOX()) - -proc GTK_IS_BOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BOX()) - -proc GTK_BOX_GET_CLASS*(obj: pointer): PGtkBoxClass = - result = cast[PGtkBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BOX())) - -proc homogeneous*(a: var TGtkBox): guint = - result = (a.GtkBoxflag0 and bm_TGtkBox_homogeneous) shr bp_TGtkBox_homogeneous - -proc set_homogeneous*(a: var TGtkBox, `homogeneous`: guint) = - a.GtkBoxflag0 = a.GtkBoxflag0 or - (int16(`homogeneous` shl bp_TGtkBox_homogeneous) and bm_TGtkBox_homogeneous) - -proc expand*(a: var TGtkBoxChild): guint = - result = (a.flag0 and bm_TGtkBoxChild_expand) shr bp_TGtkBoxChild_expand - -proc set_expand*(a: var TGtkBoxChild, `expand`: guint) = - a.flag0 = a.flag0 or - (int16(`expand` shl bp_TGtkBoxChild_expand) and bm_TGtkBoxChild_expand) - -proc fill*(a: var TGtkBoxChild): guint = - result = (a.flag0 and bm_TGtkBoxChild_fill) shr bp_TGtkBoxChild_fill - -proc set_fill*(a: var TGtkBoxChild, `fill`: guint) = - a.flag0 = a.flag0 or - (int16(`fill` shl bp_TGtkBoxChild_fill) and bm_TGtkBoxChild_fill) - -proc pack*(a: var TGtkBoxChild): guint = - result = (a.flag0 and bm_TGtkBoxChild_pack) shr bp_TGtkBoxChild_pack - -proc set_pack*(a: var TGtkBoxChild, `pack`: guint) = - a.flag0 = a.flag0 or - (int16(`pack` shl bp_TGtkBoxChild_pack) and bm_TGtkBoxChild_pack) - -proc is_secondary*(a: var TGtkBoxChild): guint = - result = (a.flag0 and bm_TGtkBoxChild_is_secondary) shr - bp_TGtkBoxChild_is_secondary - -proc set_is_secondary*(a: var TGtkBoxChild, `is_secondary`: guint) = - a.flag0 = a.flag0 or - (int16(`is_secondary` shl bp_TGtkBoxChild_is_secondary) and - bm_TGtkBoxChild_is_secondary) - -proc GTK_TYPE_BUTTON_BOX*(): GType = - result = gtk_button_box_get_type() - -proc GTK_BUTTON_BOX*(obj: pointer): PGtkButtonBox = - result = cast[PGtkButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_BUTTON_BOX())) - -proc GTK_BUTTON_BOX_CLASS*(klass: pointer): PGtkButtonBoxClass = - result = cast[PGtkButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BUTTON_BOX())) - -proc GTK_IS_BUTTON_BOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_BUTTON_BOX()) - -proc GTK_IS_BUTTON_BOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BUTTON_BOX()) - -proc GTK_BUTTON_BOX_GET_CLASS*(obj: pointer): PGtkButtonBoxClass = - result = cast[PGtkButtonBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BUTTON_BOX())) - -proc gtk_button_box_set_spacing*(b: pointer, s: gint) = - gtk_box_set_spacing(GTK_BOX(b), s) - -proc gtk_button_box_get_spacing*(b: pointer): gint = - result = gtk_box_get_spacing(GTK_BOX(b)) - -proc GTK_TYPE_BUTTON*(): GType = - result = gtk_button_get_type() - -proc GTK_BUTTON*(obj: pointer): PGtkButton = - result = cast[PGtkButton](GTK_CHECK_CAST(obj, GTK_TYPE_BUTTON())) - -proc GTK_BUTTON_CLASS*(klass: pointer): PGtkButtonClass = - result = cast[PGtkButtonClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_BUTTON())) - -proc GTK_IS_BUTTON*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_BUTTON()) - -proc GTK_IS_BUTTON_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_BUTTON()) - -proc GTK_BUTTON_GET_CLASS*(obj: pointer): PGtkButtonClass = - result = cast[PGtkButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_BUTTON())) - -proc constructed*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_constructed) shr - bp_TGtkButton_constructed - -proc set_constructed*(a: var TGtkButton, `constructed`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`constructed` shl bp_TGtkButton_constructed) and - bm_TGtkButton_constructed) - -proc in_button*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_in_button) shr bp_TGtkButton_in_button - -proc set_in_button*(a: var TGtkButton, `in_button`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`in_button` shl bp_TGtkButton_in_button) and bm_TGtkButton_in_button) - -proc button_down*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_button_down) shr - bp_TGtkButton_button_down - -proc set_button_down*(a: var TGtkButton, `button_down`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`button_down` shl bp_TGtkButton_button_down) and - bm_TGtkButton_button_down) - -proc relief*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_relief) shr bp_TGtkButton_relief - -proc set_relief*(a: var TGtkButton, `relief`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`relief` shl bp_TGtkButton_relief) and bm_TGtkButton_relief) - -proc use_underline*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_use_underline) shr - bp_TGtkButton_use_underline - -proc set_use_underline*(a: var TGtkButton, `use_underline`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`use_underline` shl bp_TGtkButton_use_underline) and - bm_TGtkButton_use_underline) - -proc use_stock*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_use_stock) shr bp_TGtkButton_use_stock - -proc set_use_stock*(a: var TGtkButton, `use_stock`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`use_stock` shl bp_TGtkButton_use_stock) and bm_TGtkButton_use_stock) - -proc depressed*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_depressed) shr bp_TGtkButton_depressed - -proc set_depressed*(a: var TGtkButton, `depressed`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`depressed` shl bp_TGtkButton_depressed) and bm_TGtkButton_depressed) - -proc depress_on_activate*(a: var TGtkButton): guint = - result = (a.GtkButtonflag0 and bm_TGtkButton_depress_on_activate) shr - bp_TGtkButton_depress_on_activate - -proc set_depress_on_activate*(a: var TGtkButton, `depress_on_activate`: guint) = - a.GtkButtonflag0 = a.GtkButtonflag0 or - (int16(`depress_on_activate` shl bp_TGtkButton_depress_on_activate) and - bm_TGtkButton_depress_on_activate) - -proc GTK_TYPE_CALENDAR*(): GType = - result = gtk_calendar_get_type() - -proc GTK_CALENDAR*(obj: pointer): PGtkCalendar = - result = cast[PGtkCalendar](GTK_CHECK_CAST(obj, GTK_TYPE_CALENDAR())) - -proc GTK_CALENDAR_CLASS*(klass: pointer): PGtkCalendarClass = - result = cast[PGtkCalendarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CALENDAR())) - -proc GTK_IS_CALENDAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CALENDAR()) - -proc GTK_IS_CALENDAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CALENDAR()) - -proc GTK_CALENDAR_GET_CLASS*(obj: pointer): PGtkCalendarClass = - result = cast[PGtkCalendarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CALENDAR())) - -proc GTK_TYPE_CELL_EDITABLE*(): GType = - result = gtk_cell_editable_get_type() - -proc GTK_CELL_EDITABLE*(obj: pointer): PGtkCellEditable = - result = cast[PGtkCellEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, - GTK_TYPE_CELL_EDITABLE())) - -proc GTK_CELL_EDITABLE_CLASS*(obj: pointer): PGtkCellEditableIface = - result = cast[PGtkCellEditableIface](G_TYPE_CHECK_CLASS_CAST(obj, - GTK_TYPE_CELL_EDITABLE())) - -proc GTK_IS_CELL_EDITABLE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_CELL_EDITABLE()) - -proc GTK_CELL_EDITABLE_GET_IFACE*(obj: pointer): PGtkCellEditableIface = - result = cast[PGtkCellEditableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - GTK_TYPE_CELL_EDITABLE())) - -proc GTK_TYPE_CELL_RENDERER*(): GType = - result = gtk_cell_renderer_get_type() - -proc GTK_CELL_RENDERER*(obj: pointer): PGtkCellRenderer = - result = cast[PGtkCellRenderer](GTK_CHECK_CAST(obj, GTK_TYPE_CELL_RENDERER())) - -proc GTK_CELL_RENDERER_CLASS*(klass: pointer): PGtkCellRendererClass = - result = cast[PGtkCellRendererClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_CELL_RENDERER())) - -proc GTK_IS_CELL_RENDERER*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER()) - -proc GTK_IS_CELL_RENDERER_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER()) - -proc GTK_CELL_RENDERER_GET_CLASS*(obj: pointer): PGtkCellRendererClass = - result = cast[PGtkCellRendererClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CELL_RENDERER())) - -proc mode*(a: var TGtkCellRenderer): guint = - result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_mode) shr - bp_TGtkCellRenderer_mode - -proc set_mode*(a: var TGtkCellRenderer, `mode`: guint) = - a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or - (int16(`mode` shl bp_TGtkCellRenderer_mode) and bm_TGtkCellRenderer_mode) - -proc visible*(a: var TGtkCellRenderer): guint = - result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_visible) shr - bp_TGtkCellRenderer_visible - -proc set_visible*(a: var TGtkCellRenderer, `visible`: guint) = - a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or - (int16(`visible` shl bp_TGtkCellRenderer_visible) and - bm_TGtkCellRenderer_visible) - -proc is_expander*(a: var TGtkCellRenderer): guint = - result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_is_expander) shr - bp_TGtkCellRenderer_is_expander - -proc set_is_expander*(a: var TGtkCellRenderer, `is_expander`: guint) = - a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or - (int16(`is_expander` shl bp_TGtkCellRenderer_is_expander) and - bm_TGtkCellRenderer_is_expander) - -proc is_expanded*(a: var TGtkCellRenderer): guint = - result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_is_expanded) shr - bp_TGtkCellRenderer_is_expanded - -proc set_is_expanded*(a: var TGtkCellRenderer, `is_expanded`: guint) = - a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or - (int16(`is_expanded` shl bp_TGtkCellRenderer_is_expanded) and - bm_TGtkCellRenderer_is_expanded) - -proc cell_background_set*(a: var TGtkCellRenderer): guint = - result = (a.GtkCellRendererflag0 and bm_TGtkCellRenderer_cell_background_set) shr - bp_TGtkCellRenderer_cell_background_set - -proc set_cell_background_set*(a: var TGtkCellRenderer, - `cell_background_set`: guint) = - a.GtkCellRendererflag0 = a.GtkCellRendererflag0 or - (int16(`cell_background_set` shl bp_TGtkCellRenderer_cell_background_set) and - bm_TGtkCellRenderer_cell_background_set) - -proc GTK_TYPE_CELL_RENDERER_TEXT*(): GType = - result = gtk_cell_renderer_text_get_type() - -proc GTK_CELL_RENDERER_TEXT*(obj: pointer): PGtkCellRendererText = - result = cast[PGtkCellRendererText](GTK_CHECK_CAST(obj, GTK_TYPE_CELL_RENDERER_TEXT())) - -proc GTK_CELL_RENDERER_TEXT_CLASS*(klass: pointer): PGtkCellRendererTextClass = - result = cast[PGtkCellRendererTextClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_CELL_RENDERER_TEXT())) - -proc GTK_IS_CELL_RENDERER_TEXT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_TEXT()) - -proc GTK_IS_CELL_RENDERER_TEXT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER_TEXT()) - -proc GTK_CELL_RENDERER_TEXT_GET_CLASS*(obj: pointer): PGtkCellRendererTextClass = - result = cast[PGtkCellRendererTextClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_CELL_RENDERER_TEXT())) - -proc strikethrough*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_strikethrough) shr - bp_TGtkCellRendererText_strikethrough - -proc set_strikethrough*(a: var TGtkCellRendererText, `strikethrough`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`strikethrough` shl bp_TGtkCellRendererText_strikethrough) and - bm_TGtkCellRendererText_strikethrough) - -proc editable*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_editable) shr - bp_TGtkCellRendererText_editable - -proc set_editable*(a: var TGtkCellRendererText, `editable`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`editable` shl bp_TGtkCellRendererText_editable) and - bm_TGtkCellRendererText_editable) - -proc scale_set*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_scale_set) shr - bp_TGtkCellRendererText_scale_set - -proc set_scale_set*(a: var TGtkCellRendererText, `scale_set`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`scale_set` shl bp_TGtkCellRendererText_scale_set) and - bm_TGtkCellRendererText_scale_set) - -proc foreground_set*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_foreground_set) shr - bp_TGtkCellRendererText_foreground_set - -proc set_foreground_set*(a: var TGtkCellRendererText, `foreground_set`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`foreground_set` shl bp_TGtkCellRendererText_foreground_set) and - bm_TGtkCellRendererText_foreground_set) - -proc background_set*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_background_set) shr - bp_TGtkCellRendererText_background_set - -proc set_background_set*(a: var TGtkCellRendererText, `background_set`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`background_set` shl bp_TGtkCellRendererText_background_set) and - bm_TGtkCellRendererText_background_set) - -proc underline_set*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_underline_set) shr - bp_TGtkCellRendererText_underline_set - -proc set_underline_set*(a: var TGtkCellRendererText, `underline_set`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`underline_set` shl bp_TGtkCellRendererText_underline_set) and - bm_TGtkCellRendererText_underline_set) - -proc rise_set*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_rise_set) shr - bp_TGtkCellRendererText_rise_set - -proc set_rise_set*(a: var TGtkCellRendererText, `rise_set`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`rise_set` shl bp_TGtkCellRendererText_rise_set) and - bm_TGtkCellRendererText_rise_set) - -proc strikethrough_set*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_strikethrough_set) shr - bp_TGtkCellRendererText_strikethrough_set - -proc set_strikethrough_set*(a: var TGtkCellRendererText, - `strikethrough_set`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`strikethrough_set` shl bp_TGtkCellRendererText_strikethrough_set) and - bm_TGtkCellRendererText_strikethrough_set) - -proc editable_set*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_editable_set) shr - bp_TGtkCellRendererText_editable_set - -proc set_editable_set*(a: var TGtkCellRendererText, `editable_set`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`editable_set` shl bp_TGtkCellRendererText_editable_set) and - bm_TGtkCellRendererText_editable_set) - -proc calc_fixed_height*(a: var TGtkCellRendererText): guint = - result = (a.GtkCellRendererTextflag0 and bm_TGtkCellRendererText_calc_fixed_height) shr - bp_TGtkCellRendererText_calc_fixed_height - -proc set_calc_fixed_height*(a: var TGtkCellRendererText, - `calc_fixed_height`: guint) = - a.GtkCellRendererTextflag0 = a.GtkCellRendererTextflag0 or - (int16(`calc_fixed_height` shl bp_TGtkCellRendererText_calc_fixed_height) and - bm_TGtkCellRendererText_calc_fixed_height) - -proc GTK_TYPE_CELL_RENDERER_TOGGLE*(): GType = - result = gtk_cell_renderer_toggle_get_type() - -proc GTK_CELL_RENDERER_TOGGLE*(obj: pointer): PGtkCellRendererToggle = - result = cast[PGtkCellRendererToggle](GTK_CHECK_CAST(obj, - GTK_TYPE_CELL_RENDERER_TOGGLE())) - -proc GTK_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): PGtkCellRendererToggleClass = - result = cast[PGtkCellRendererToggleClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_CELL_RENDERER_TOGGLE())) - -proc GTK_IS_CELL_RENDERER_TOGGLE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_TOGGLE()) - -proc GTK_IS_CELL_RENDERER_TOGGLE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER_TOGGLE()) - -proc GTK_CELL_RENDERER_TOGGLE_GET_CLASS*(obj: pointer): PGtkCellRendererToggleClass = - result = cast[PGtkCellRendererToggleClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_CELL_RENDERER_TOGGLE())) - -proc active*(a: var TGtkCellRendererToggle): guint = - result = (a.GtkCellRendererToggleflag0 and bm_TGtkCellRendererToggle_active) shr - bp_TGtkCellRendererToggle_active - -proc set_active*(a: var TGtkCellRendererToggle, `active`: guint) = - a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or - (int16(`active` shl bp_TGtkCellRendererToggle_active) and - bm_TGtkCellRendererToggle_active) - -proc activatable*(a: var TGtkCellRendererToggle): guint = - result = (a.GtkCellRendererToggleflag0 and bm_TGtkCellRendererToggle_activatable) shr - bp_TGtkCellRendererToggle_activatable - -proc set_activatable*(a: var TGtkCellRendererToggle, `activatable`: guint) = - a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or - (int16(`activatable` shl bp_TGtkCellRendererToggle_activatable) and - bm_TGtkCellRendererToggle_activatable) - -proc radio*(a: var TGtkCellRendererToggle): guint = - result = (a.GtkCellRendererToggleflag0 and bm_TGtkCellRendererToggle_radio) shr - bp_TGtkCellRendererToggle_radio - -proc set_radio*(a: var TGtkCellRendererToggle, `radio`: guint) = - a.GtkCellRendererToggleflag0 = a.GtkCellRendererToggleflag0 or - (int16(`radio` shl bp_TGtkCellRendererToggle_radio) and - bm_TGtkCellRendererToggle_radio) - -proc GTK_TYPE_CELL_RENDERER_PIXBUF*(): GType = - result = gtk_cell_renderer_pixbuf_get_type() - -proc GTK_CELL_RENDERER_PIXBUF*(obj: pointer): PGtkCellRendererPixbuf = - result = cast[PGtkCellRendererPixbuf](GTK_CHECK_CAST(obj, - GTK_TYPE_CELL_RENDERER_PIXBUF())) - -proc GTK_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): PGtkCellRendererPixbufClass = - result = cast[PGtkCellRendererPixbufClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_CELL_RENDERER_PIXBUF())) - -proc GTK_IS_CELL_RENDERER_PIXBUF*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CELL_RENDERER_PIXBUF()) - -proc GTK_IS_CELL_RENDERER_PIXBUF_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CELL_RENDERER_PIXBUF()) - -proc GTK_CELL_RENDERER_PIXBUF_GET_CLASS*(obj: pointer): PGtkCellRendererPixbufClass = - result = cast[PGtkCellRendererPixbufClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_CELL_RENDERER_PIXBUF())) - -proc GTK_TYPE_ITEM*(): GType = - result = gtk_item_get_type() - -proc GTK_ITEM*(obj: pointer): PGtkItem = - result = cast[PGtkItem](GTK_CHECK_CAST(obj, GTK_TYPE_ITEM())) - -proc GTK_ITEM_CLASS*(klass: pointer): PGtkItemClass = - result = cast[PGtkItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ITEM())) - -proc GTK_IS_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ITEM()) - -proc GTK_IS_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ITEM()) - -proc GTK_ITEM_GET_CLASS*(obj: pointer): PGtkItemClass = - result = cast[PGtkItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ITEM())) - -proc GTK_TYPE_MENU_ITEM*(): GType = - result = gtk_menu_item_get_type() - -proc GTK_MENU_ITEM*(obj: pointer): PGtkMenuItem = - result = cast[PGtkMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_ITEM())) - -proc GTK_MENU_ITEM_CLASS*(klass: pointer): PGtkMenuItemClass = - result = cast[PGtkMenuItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_ITEM())) - -proc GTK_IS_MENU_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_ITEM()) - -proc GTK_IS_MENU_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_ITEM()) - -proc GTK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkMenuItemClass = - result = cast[PGtkMenuItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU_ITEM())) - -proc show_submenu_indicator*(a: var TGtkMenuItem): guint = - result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_show_submenu_indicator) shr - bp_TGtkMenuItem_show_submenu_indicator - -proc set_show_submenu_indicator*(a: var TGtkMenuItem, - `show_submenu_indicator`: guint) = - a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or - (int16(`show_submenu_indicator` shl bp_TGtkMenuItem_show_submenu_indicator) and - bm_TGtkMenuItem_show_submenu_indicator) - -proc submenu_placement*(a: var TGtkMenuItem): guint = - result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_submenu_placement) shr - bp_TGtkMenuItem_submenu_placement - -proc set_submenu_placement*(a: var TGtkMenuItem, `submenu_placement`: guint) = - a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or - (int16(`submenu_placement` shl bp_TGtkMenuItem_submenu_placement) and - bm_TGtkMenuItem_submenu_placement) - -proc submenu_direction*(a: var TGtkMenuItem): guint = - result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_submenu_direction) shr - bp_TGtkMenuItem_submenu_direction - -proc set_submenu_direction*(a: var TGtkMenuItem, `submenu_direction`: guint) = - a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or - (int16(`submenu_direction` shl bp_TGtkMenuItem_submenu_direction) and - bm_TGtkMenuItem_submenu_direction) - -proc right_justify*(a: var TGtkMenuItem): guint = - result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_right_justify) shr - bp_TGtkMenuItem_right_justify - -proc set_right_justify*(a: var TGtkMenuItem, `right_justify`: guint) = - a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or - (int16(`right_justify` shl bp_TGtkMenuItem_right_justify) and - bm_TGtkMenuItem_right_justify) - -proc timer_from_keypress*(a: var TGtkMenuItem): guint = - result = (a.GtkMenuItemflag0 and bm_TGtkMenuItem_timer_from_keypress) shr - bp_TGtkMenuItem_timer_from_keypress - -proc set_timer_from_keypress*(a: var TGtkMenuItem, `timer_from_keypress`: guint) = - a.GtkMenuItemflag0 = a.GtkMenuItemflag0 or - (int16(`timer_from_keypress` shl bp_TGtkMenuItem_timer_from_keypress) and - bm_TGtkMenuItem_timer_from_keypress) - -proc hide_on_activate*(a: var TGtkMenuItemClass): guint = - result = (a.GtkMenuItemClassflag0 and bm_TGtkMenuItemClass_hide_on_activate) shr - bp_TGtkMenuItemClass_hide_on_activate - -proc set_hide_on_activate*(a: var TGtkMenuItemClass, `hide_on_activate`: guint) = - a.GtkMenuItemClassflag0 = a.GtkMenuItemClassflag0 or - (int16(`hide_on_activate` shl bp_TGtkMenuItemClass_hide_on_activate) and - bm_TGtkMenuItemClass_hide_on_activate) - -proc gtk_menu_item_right_justify*(menu_item: PGtkMenuItem) = - gtk_menu_item_set_right_justified(menu_item, true) - -proc GTK_TYPE_TOGGLE_BUTTON*(): GType = - result = gtk_toggle_button_get_type() - -proc GTK_TOGGLE_BUTTON*(obj: pointer): PGtkToggleButton = - result = cast[PGtkToggleButton](GTK_CHECK_CAST(obj, GTK_TYPE_TOGGLE_BUTTON())) - -proc GTK_TOGGLE_BUTTON_CLASS*(klass: pointer): PGtkToggleButtonClass = - result = cast[PGtkToggleButtonClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_TOGGLE_BUTTON())) - -proc GTK_IS_TOGGLE_BUTTON*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOGGLE_BUTTON()) - -proc GTK_IS_TOGGLE_BUTTON_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOGGLE_BUTTON()) - -proc GTK_TOGGLE_BUTTON_GET_CLASS*(obj: pointer): PGtkToggleButtonClass = - result = cast[PGtkToggleButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOGGLE_BUTTON())) - -proc active*(a: var TGtkToggleButton): guint = - result = (a.GtkToggleButtonflag0 and bm_TGtkToggleButton_active) shr - bp_TGtkToggleButton_active - -proc set_active*(a: var TGtkToggleButton, `active`: guint) = - a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or - (int16(`active` shl bp_TGtkToggleButton_active) and - bm_TGtkToggleButton_active) - -proc draw_indicator*(a: var TGtkToggleButton): guint = - result = (a.GtkToggleButtonflag0 and bm_TGtkToggleButton_draw_indicator) shr - bp_TGtkToggleButton_draw_indicator - -proc set_draw_indicator*(a: var TGtkToggleButton, `draw_indicator`: guint) = - a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or - (int16(`draw_indicator` shl bp_TGtkToggleButton_draw_indicator) and - bm_TGtkToggleButton_draw_indicator) - -proc inconsistent*(a: var TGtkToggleButton): guint = - result = (a.GtkToggleButtonflag0 and bm_TGtkToggleButton_inconsistent) shr - bp_TGtkToggleButton_inconsistent - -proc set_inconsistent*(a: var TGtkToggleButton, `inconsistent`: guint) = - a.GtkToggleButtonflag0 = a.GtkToggleButtonflag0 or - (int16(`inconsistent` shl bp_TGtkToggleButton_inconsistent) and - bm_TGtkToggleButton_inconsistent) - -proc GTK_TYPE_CHECK_BUTTON*(): GType = - result = gtk_check_button_get_type() - -proc GTK_CHECK_BUTTON*(obj: pointer): PGtkCheckButton = - result = cast[PGtkCheckButton](GTK_CHECK_CAST(obj, GTK_TYPE_CHECK_BUTTON())) - -proc GTK_CHECK_BUTTON_CLASS*(klass: pointer): PGtkCheckButtonClass = - result = cast[PGtkCheckButtonClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_CHECK_BUTTON())) - -proc GTK_IS_CHECK_BUTTON*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CHECK_BUTTON()) - -proc GTK_IS_CHECK_BUTTON_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CHECK_BUTTON()) - -proc GTK_CHECK_BUTTON_GET_CLASS*(obj: pointer): PGtkCheckButtonClass = - result = cast[PGtkCheckButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CHECK_BUTTON())) - -proc GTK_TYPE_CHECK_MENU_ITEM*(): GType = - result = gtk_check_menu_item_get_type() - -proc GTK_CHECK_MENU_ITEM*(obj: pointer): PGtkCheckMenuItem = - result = cast[PGtkCheckMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_CHECK_MENU_ITEM())) - -proc GTK_CHECK_MENU_ITEM_CLASS*(klass: pointer): PGtkCheckMenuItemClass = - result = cast[PGtkCheckMenuItemClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_CHECK_MENU_ITEM())) - -proc GTK_IS_CHECK_MENU_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CHECK_MENU_ITEM()) - -proc GTK_IS_CHECK_MENU_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CHECK_MENU_ITEM()) - -proc GTK_CHECK_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkCheckMenuItemClass = - result = cast[PGtkCheckMenuItemClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_CHECK_MENU_ITEM())) - -proc active*(a: var TGtkCheckMenuItem): guint = - result = (a.GtkCheckMenuItemflag0 and bm_TGtkCheckMenuItem_active) shr - bp_TGtkCheckMenuItem_active - -proc set_active*(a: var TGtkCheckMenuItem, `active`: guint) = - a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or - (int16(`active` shl bp_TGtkCheckMenuItem_active) and - bm_TGtkCheckMenuItem_active) - -proc always_show_toggle*(a: var TGtkCheckMenuItem): guint = - result = (a.GtkCheckMenuItemflag0 and bm_TGtkCheckMenuItem_always_show_toggle) shr - bp_TGtkCheckMenuItem_always_show_toggle - -proc set_always_show_toggle*(a: var TGtkCheckMenuItem, - `always_show_toggle`: guint) = - a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or - (int16(`always_show_toggle` shl bp_TGtkCheckMenuItem_always_show_toggle) and - bm_TGtkCheckMenuItem_always_show_toggle) - -proc inconsistent*(a: var TGtkCheckMenuItem): guint = - result = (a.GtkCheckMenuItemflag0 and bm_TGtkCheckMenuItem_inconsistent) shr - bp_TGtkCheckMenuItem_inconsistent - -proc set_inconsistent*(a: var TGtkCheckMenuItem, `inconsistent`: guint) = - a.GtkCheckMenuItemflag0 = a.GtkCheckMenuItemflag0 or - (int16(`inconsistent` shl bp_TGtkCheckMenuItem_inconsistent) and - bm_TGtkCheckMenuItem_inconsistent) - -proc GTK_TYPE_CLIST*(): GType = - result = gtk_clist_get_type() - -proc GTK_CLIST*(obj: pointer): PGtkCList = - result = cast[PGtkCList](GTK_CHECK_CAST(obj, GTK_TYPE_CLIST())) - -proc GTK_CLIST_CLASS*(klass: pointer): PGtkCListClass = - result = cast[PGtkCListClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CLIST())) - -proc GTK_IS_CLIST*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CLIST()) - -proc GTK_IS_CLIST_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CLIST()) - -proc GTK_CLIST_GET_CLASS*(obj: pointer): PGtkCListClass = - result = cast[PGtkCListClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CLIST())) - -proc GTK_CLIST_FLAGS*(clist: pointer): guint16 = - result = toU16(GTK_CLIST(clist).flags) - -proc GTK_CLIST_SET_FLAG*(clist: PGtkCList, flag: guint16) = - clist.flags = GTK_CLIST(clist).flags or (flag) - -proc GTK_CLIST_UNSET_FLAG*(clist: PGtkCList, flag: guint16) = - clist.flags = GTK_CLIST(clist).flags and not (flag) - -proc GTK_CLIST_IN_DRAG_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_IN_DRAG)) != 0'i32 - -proc GTK_CLIST_ROW_HEIGHT_SET_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_ROW_HEIGHT_SET)) != 0'i32 - -proc GTK_CLIST_SHOW_TITLES_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_SHOW_TITLES)) != 0'i32 - -proc GTK_CLIST_ADD_MODE_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_ADD_MODE)) != 0'i32 - -proc GTK_CLIST_AUTO_SORT_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_AUTO_SORT)) != 0'i32 - -proc GTK_CLIST_AUTO_RESIZE_BLOCKED_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_AUTO_RESIZE_BLOCKED)) != 0'i32 - -proc GTK_CLIST_REORDERABLE_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_REORDERABLE)) != 0'i32 - -proc GTK_CLIST_USE_DRAG_ICONS_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_USE_DRAG_ICONS)) != 0'i32 - -proc GTK_CLIST_DRAW_DRAG_LINE_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_DRAW_DRAG_LINE)) != 0'i32 - -proc GTK_CLIST_DRAW_DRAG_RECT_get*(clist: pointer): bool = - result = ((GTK_CLIST_FLAGS(clist)) and cint(GTK_CLIST_DRAW_DRAG_RECT)) != 0'i32 - -proc GTK_CLIST_ROW_get*(glist: PGList): PGtkCListRow = - result = cast[PGtkCListRow](glist . data) - -when false: - proc GTK_CELL_TEXT_get*(cell: pointer): PGtkCellText = - result = cast[PGtkCellText](addr((cell))) - - proc GTK_CELL_PIXMAP_get*(cell: pointer): PGtkCellPixmap = - result = cast[PGtkCellPixmap](addr((cell))) - - proc GTK_CELL_PIXTEXT_get*(cell: pointer): PGtkCellPixText = - result = cast[PGtkCellPixText](addr((cell))) - - proc GTK_CELL_WIDGET_get*(cell: pointer): PGtkCellWidget = - result = cast[PGtkCellWidget](addr((cell))) - -proc visible*(a: var TGtkCListColumn): guint = - result = (a.flag0 and bm_TGtkCListColumn_visible) shr - bp_TGtkCListColumn_visible - -proc set_visible*(a: var TGtkCListColumn, `visible`: guint) = - a.flag0 = a.flag0 or - (int16(`visible` shl bp_TGtkCListColumn_visible) and - bm_TGtkCListColumn_visible) - -proc width_set*(a: var TGtkCListColumn): guint = - result = (a.flag0 and bm_TGtkCListColumn_width_set) shr - bp_TGtkCListColumn_width_set - -proc set_width_set*(a: var TGtkCListColumn, `width_set`: guint) = - a.flag0 = a.flag0 or - (int16(`width_set` shl bp_TGtkCListColumn_width_set) and - bm_TGtkCListColumn_width_set) - -proc resizeable*(a: var TGtkCListColumn): guint = - result = (a.flag0 and bm_TGtkCListColumn_resizeable) shr - bp_TGtkCListColumn_resizeable - -proc set_resizeable*(a: var TGtkCListColumn, `resizeable`: guint) = - a.flag0 = a.flag0 or - (int16(`resizeable` shl bp_TGtkCListColumn_resizeable) and - bm_TGtkCListColumn_resizeable) - -proc auto_resize*(a: var TGtkCListColumn): guint = - result = (a.flag0 and bm_TGtkCListColumn_auto_resize) shr - bp_TGtkCListColumn_auto_resize - -proc set_auto_resize*(a: var TGtkCListColumn, `auto_resize`: guint) = - a.flag0 = a.flag0 or - (int16(`auto_resize` shl bp_TGtkCListColumn_auto_resize) and - bm_TGtkCListColumn_auto_resize) - -proc button_passive*(a: var TGtkCListColumn): guint = - result = (a.flag0 and bm_TGtkCListColumn_button_passive) shr - bp_TGtkCListColumn_button_passive - -proc set_button_passive*(a: var TGtkCListColumn, `button_passive`: guint) = - a.flag0 = a.flag0 or - (int16(`button_passive` shl bp_TGtkCListColumn_button_passive) and - bm_TGtkCListColumn_button_passive) - -proc fg_set*(a: var TGtkCListRow): guint = - result = (a.flag0 and bm_TGtkCListRow_fg_set) shr bp_TGtkCListRow_fg_set - -proc set_fg_set*(a: var TGtkCListRow, `fg_set`: guint) = - a.flag0 = a.flag0 or - (int16(`fg_set` shl bp_TGtkCListRow_fg_set) and bm_TGtkCListRow_fg_set) - -proc bg_set*(a: var TGtkCListRow): guint = - result = (a.flag0 and bm_TGtkCListRow_bg_set) shr bp_TGtkCListRow_bg_set - -proc set_bg_set*(a: var TGtkCListRow, `bg_set`: guint) = - a.flag0 = a.flag0 or - (int16(`bg_set` shl bp_TGtkCListRow_bg_set) and bm_TGtkCListRow_bg_set) - -proc selectable*(a: var TGtkCListRow): guint = - result = (a.flag0 and bm_TGtkCListRow_selectable) shr - bp_TGtkCListRow_selectable - -proc set_selectable*(a: var TGtkCListRow, `selectable`: guint) = - a.flag0 = a.flag0 or - (int16(`selectable` shl bp_TGtkCListRow_selectable) and - bm_TGtkCListRow_selectable) - -proc GTK_TYPE_DIALOG*(): GType = - result = gtk_dialog_get_type() - -proc GTK_DIALOG*(obj: pointer): PGtkDialog = - result = cast[PGtkDialog](GTK_CHECK_CAST(obj, GTK_TYPE_DIALOG())) - -proc GTK_DIALOG_CLASS*(klass: pointer): PGtkDialogClass = - result = cast[PGtkDialogClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_DIALOG())) - -proc GTK_IS_DIALOG*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_DIALOG()) - -proc GTK_IS_DIALOG_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_DIALOG()) - -proc GTK_DIALOG_GET_CLASS*(obj: pointer): PGtkDialogClass = - result = cast[PGtkDialogClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_DIALOG())) - -proc GTK_TYPE_VBOX*(): GType = - result = gtk_vbox_get_type() - -proc GTK_VBOX*(obj: pointer): PGtkVBox = - result = cast[PGtkVBox](GTK_CHECK_CAST(obj, GTK_TYPE_VBOX())) - -proc GTK_VBOX_CLASS*(klass: pointer): PGtkVBoxClass = - result = cast[PGtkVBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VBOX())) - -proc GTK_IS_VBOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VBOX()) - -proc GTK_IS_VBOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VBOX()) - -proc GTK_VBOX_GET_CLASS*(obj: pointer): PGtkVBoxClass = - result = cast[PGtkVBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VBOX())) - -proc GTK_TYPE_COLOR_SELECTION*(): GType = - result = gtk_color_selection_get_type() - -proc GTK_COLOR_SELECTION*(obj: pointer): PGtkColorSelection = - result = cast[PGtkColorSelection](GTK_CHECK_CAST(obj, GTK_TYPE_COLOR_SELECTION())) - -proc GTK_COLOR_SELECTION_CLASS*(klass: pointer): PGtkColorSelectionClass = - result = cast[PGtkColorSelectionClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_COLOR_SELECTION())) - -proc GTK_IS_COLOR_SELECTION*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_COLOR_SELECTION()) - -proc GTK_IS_COLOR_SELECTION_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COLOR_SELECTION()) - -proc GTK_COLOR_SELECTION_GET_CLASS*(obj: pointer): PGtkColorSelectionClass = - result = cast[PGtkColorSelectionClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_COLOR_SELECTION())) - -proc GTK_TYPE_COLOR_SELECTION_DIALOG*(): GType = - result = gtk_color_selection_dialog_get_type() - -proc GTK_COLOR_SELECTION_DIALOG*(obj: pointer): PGtkColorSelectionDialog = - result = cast[PGtkColorSelectionDialog](GTK_CHECK_CAST(obj, - GTK_TYPE_COLOR_SELECTION_DIALOG())) - -proc GTK_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkColorSelectionDialogClass = - result = cast[PGtkColorSelectionDialogClass]( - GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_COLOR_SELECTION_DIALOG())) - -proc GTK_IS_COLOR_SELECTION_DIALOG*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_COLOR_SELECTION_DIALOG()) - -proc GTK_IS_COLOR_SELECTION_DIALOG_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COLOR_SELECTION_DIALOG()) - -proc GTK_COLOR_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkColorSelectionDialogClass = - result = cast[PGtkColorSelectionDialogClass]( - GTK_CHECK_GET_CLASS(obj, GTK_TYPE_COLOR_SELECTION_DIALOG())) - -proc GTK_TYPE_HBOX*(): GType = - result = gtk_hbox_get_type() - -proc GTK_HBOX*(obj: pointer): PGtkHBox = - result = cast[PGtkHBox](GTK_CHECK_CAST(obj, GTK_TYPE_HBOX())) - -proc GTK_HBOX_CLASS*(klass: pointer): PGtkHBoxClass = - result = cast[PGtkHBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HBOX())) - -proc GTK_IS_HBOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HBOX()) - -proc GTK_IS_HBOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HBOX()) - -proc GTK_HBOX_GET_CLASS*(obj: pointer): PGtkHBoxClass = - result = cast[PGtkHBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HBOX())) - -proc GTK_TYPE_COMBO*(): GType = - result = gtk_combo_get_type() - -proc GTK_COMBO*(obj: pointer): PGtkCombo = - result = cast[PGtkCombo](GTK_CHECK_CAST(obj, GTK_TYPE_COMBO())) - -proc GTK_COMBO_CLASS*(klass: pointer): PGtkComboClass = - result = cast[PGtkComboClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_COMBO())) - -proc GTK_IS_COMBO*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_COMBO()) - -proc GTK_IS_COMBO_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_COMBO()) - -proc GTK_COMBO_GET_CLASS*(obj: pointer): PGtkComboClass = - result = cast[PGtkComboClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_COMBO())) - -proc value_in_list*(a: var TGtkCombo): guint = - result = (a.GtkComboflag0 and bm_TGtkCombo_value_in_list) shr - bp_TGtkCombo_value_in_list - -proc set_value_in_list*(a: var TGtkCombo, `value_in_list`: guint) = - a.GtkComboflag0 = a.GtkComboflag0 or - (int16(`value_in_list` shl bp_TGtkCombo_value_in_list) and - bm_TGtkCombo_value_in_list) - -proc ok_if_empty*(a: var TGtkCombo): guint = - result = (a.GtkComboflag0 and bm_TGtkCombo_ok_if_empty) shr - bp_TGtkCombo_ok_if_empty - -proc set_ok_if_empty*(a: var TGtkCombo, `ok_if_empty`: guint) = - a.GtkComboflag0 = a.GtkComboflag0 or - (int16(`ok_if_empty` shl bp_TGtkCombo_ok_if_empty) and - bm_TGtkCombo_ok_if_empty) - -proc case_sensitive*(a: var TGtkCombo): guint = - result = (a.GtkComboflag0 and bm_TGtkCombo_case_sensitive) shr - bp_TGtkCombo_case_sensitive - -proc set_case_sensitive*(a: var TGtkCombo, `case_sensitive`: guint) = - a.GtkComboflag0 = a.GtkComboflag0 or - (int16(`case_sensitive` shl bp_TGtkCombo_case_sensitive) and - bm_TGtkCombo_case_sensitive) - -proc use_arrows*(a: var TGtkCombo): guint = - result = (a.GtkComboflag0 and bm_TGtkCombo_use_arrows) shr bp_TGtkCombo_use_arrows - -proc set_use_arrows*(a: var TGtkCombo, `use_arrows`: guint) = - a.GtkComboflag0 = a.GtkComboflag0 or - (int16(`use_arrows` shl bp_TGtkCombo_use_arrows) and bm_TGtkCombo_use_arrows) - -proc use_arrows_always*(a: var TGtkCombo): guint = - result = (a.GtkComboflag0 and bm_TGtkCombo_use_arrows_always) shr - bp_TGtkCombo_use_arrows_always - -proc set_use_arrows_always*(a: var TGtkCombo, `use_arrows_always`: guint) = - a.GtkComboflag0 = a.GtkComboflag0 or - (int16(`use_arrows_always` shl bp_TGtkCombo_use_arrows_always) and - bm_TGtkCombo_use_arrows_always) - -proc GTK_TYPE_CTREE*(): GType = - result = gtk_ctree_get_type() - -proc GTK_CTREE*(obj: pointer): PGtkCTree = - result = cast[PGtkCTree](GTK_CHECK_CAST(obj, GTK_TYPE_CTREE())) - -proc GTK_CTREE_CLASS*(klass: pointer): PGtkCTreeClass = - result = cast[PGtkCTreeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CTREE())) - -proc GTK_IS_CTREE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CTREE()) - -proc GTK_IS_CTREE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CTREE()) - -proc GTK_CTREE_GET_CLASS*(obj: pointer): PGtkCTreeClass = - result = cast[PGtkCTreeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CTREE())) - -proc GTK_CTREE_ROW*(node: TAddress): PGtkCTreeRow = - result = cast[PGtkCTreeRow]((cast[PGList](node)) . data) - -proc GTK_CTREE_NODE*(node: TAddress): PGtkCTreeNode = - result = cast[PGtkCTreeNode](node) - -proc GTK_CTREE_NODE_NEXT*(nnode: TAddress): PGtkCTreeNode = - result = cast[PGtkCTreeNode]((cast[PGList](nnode)) . next) - -proc GTK_CTREE_NODE_PREV*(`pnode`: TAddress): PGtkCTreeNode = - result = cast[PGtkCTreeNode]((cast[PGList](`pnode`)) . prev) - -proc GTK_CTREE_FUNC*(`func`: TAddress): TGtkCTreeFunc = - result = cast[TGtkCTreeFunc](`func`) - -proc GTK_TYPE_CTREE_NODE*(): GType = - result = gtk_ctree_node_get_type() - -proc line_style*(a: var TGtkCTree): guint = - result = (a.GtkCTreeflag0 and bm_TGtkCTree_line_style) shr bp_TGtkCTree_line_style - -proc set_line_style*(a: var TGtkCTree, `line_style`: guint) = - a.GtkCTreeflag0 = a.GtkCTreeflag0 or - (int16(`line_style` shl bp_TGtkCTree_line_style) and bm_TGtkCTree_line_style) - -proc expander_style*(a: var TGtkCTree): guint = - result = (a.GtkCTreeflag0 and bm_TGtkCTree_expander_style) shr - bp_TGtkCTree_expander_style - -proc set_expander_style*(a: var TGtkCTree, `expander_style`: guint) = - a.GtkCTreeflag0 = a.GtkCTreeflag0 or - (int16(`expander_style` shl bp_TGtkCTree_expander_style) and - bm_TGtkCTree_expander_style) - -proc show_stub*(a: var TGtkCTree): guint = - result = (a.GtkCTreeflag0 and bm_TGtkCTree_show_stub) shr bp_TGtkCTree_show_stub - -proc set_show_stub*(a: var TGtkCTree, `show_stub`: guint) = - a.GtkCTreeflag0 = a.GtkCTreeflag0 or - (int16(`show_stub` shl bp_TGtkCTree_show_stub) and bm_TGtkCTree_show_stub) - -proc is_leaf*(a: var TGtkCTreeRow): guint = - result = (a.GtkCTreeRow_flag0 and bm_TGtkCTreeRow_is_leaf) shr bp_TGtkCTreeRow_is_leaf - -proc set_is_leaf*(a: var TGtkCTreeRow, `is_leaf`: guint) = - a.GtkCTreeRow_flag0 = a.GtkCTreeRow_flag0 or - (int16(`is_leaf` shl bp_TGtkCTreeRow_is_leaf) and bm_TGtkCTreeRow_is_leaf) - -proc expanded*(a: var TGtkCTreeRow): guint = - result = (a.GtkCTreeRow_flag0 and bm_TGtkCTreeRow_expanded) shr - bp_TGtkCTreeRow_expanded - -proc set_expanded*(a: var TGtkCTreeRow, `expanded`: guint) = - a.GtkCTreeRow_flag0 = a.GtkCTreeRowflag0 or - (int16(`expanded` shl bp_TGtkCTreeRow_expanded) and bm_TGtkCTreeRow_expanded) - -proc gtk_ctree_set_reorderable*(t: pointer, r: bool) = - gtk_clist_set_reorderable(cast[PGtkCList](t), r) - -proc GTK_TYPE_DRAWING_AREA*(): GType = - result = gtk_drawing_area_get_type() - -proc GTK_DRAWING_AREA*(obj: pointer): PGtkDrawingArea = - result = cast[PGtkDrawingArea](GTK_CHECK_CAST(obj, GTK_TYPE_DRAWING_AREA())) - -proc GTK_DRAWING_AREA_CLASS*(klass: pointer): PGtkDrawingAreaClass = - result = cast[PGtkDrawingAreaClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_DRAWING_AREA())) - -proc GTK_IS_DRAWING_AREA*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_DRAWING_AREA()) - -proc GTK_IS_DRAWING_AREA_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_DRAWING_AREA()) - -proc GTK_DRAWING_AREA_GET_CLASS*(obj: pointer): PGtkDrawingAreaClass = - result = cast[PGtkDrawingAreaClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_DRAWING_AREA())) - -proc GTK_TYPE_CURVE*(): GType = - result = gtk_curve_get_type() - -proc GTK_CURVE*(obj: pointer): PGtkCurve = - result = cast[PGtkCurve](GTK_CHECK_CAST(obj, GTK_TYPE_CURVE())) - -proc GTK_CURVE_CLASS*(klass: pointer): PGtkCurveClass = - result = cast[PGtkCurveClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_CURVE())) - -proc GTK_IS_CURVE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_CURVE()) - -proc GTK_IS_CURVE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_CURVE()) - -proc GTK_CURVE_GET_CLASS*(obj: pointer): PGtkCurveClass = - result = cast[PGtkCurveClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_CURVE())) - -proc GTK_TYPE_EDITABLE*(): GType = - result = gtk_editable_get_type() - -proc GTK_EDITABLE*(obj: pointer): PGtkEditable = - result = cast[PGtkEditable](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_EDITABLE())) - -proc GTK_EDITABLE_CLASS*(vtable: pointer): PGtkEditableClass = - result = cast[PGtkEditableClass](G_TYPE_CHECK_CLASS_CAST(vtable, GTK_TYPE_EDITABLE())) - -proc GTK_IS_EDITABLE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_EDITABLE()) - -proc GTK_IS_EDITABLE_CLASS*(vtable: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(vtable, GTK_TYPE_EDITABLE()) - -proc GTK_EDITABLE_GET_CLASS*(inst: pointer): PGtkEditableClass = - result = cast[PGtkEditableClass](G_TYPE_INSTANCE_GET_INTERFACE(inst, - GTK_TYPE_EDITABLE())) - -proc GTK_TYPE_IM_CONTEXT*(): GType = - result = gtk_im_context_get_type() - -proc GTK_IM_CONTEXT*(obj: pointer): PGtkIMContext = - result = cast[PGtkIMContext](GTK_CHECK_CAST(obj, GTK_TYPE_IM_CONTEXT())) - -proc GTK_IM_CONTEXT_CLASS*(klass: pointer): PGtkIMContextClass = - result = cast[PGtkIMContextClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_IM_CONTEXT())) - -proc GTK_IS_IM_CONTEXT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_CONTEXT()) - -proc GTK_IS_IM_CONTEXT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_CONTEXT()) - -proc GTK_IM_CONTEXT_GET_CLASS*(obj: pointer): PGtkIMContextClass = - result = cast[PGtkIMContextClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_IM_CONTEXT())) - -proc GTK_TYPE_MENU_SHELL*(): GType = - result = gtk_menu_shell_get_type() - -proc GTK_MENU_SHELL*(obj: pointer): PGtkMenuShell = - result = cast[PGtkMenuShell](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_SHELL())) - -proc GTK_MENU_SHELL_CLASS*(klass: pointer): PGtkMenuShellClass = - result = cast[PGtkMenuShellClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_SHELL())) - -proc GTK_IS_MENU_SHELL*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_SHELL()) - -proc GTK_IS_MENU_SHELL_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_SHELL()) - -proc GTK_MENU_SHELL_GET_CLASS*(obj: pointer): PGtkMenuShellClass = - result = cast[PGtkMenuShellClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU_SHELL())) - -proc active*(a: var TGtkMenuShell): guint = - result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_active) shr bp_TGtkMenuShell_active - -proc set_active*(a: var TGtkMenuShell, `active`: guint) = - a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or - (int16(`active` shl bp_TGtkMenuShell_active) and bm_TGtkMenuShell_active) - -proc have_grab*(a: var TGtkMenuShell): guint = - result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_have_grab) shr - bp_TGtkMenuShell_have_grab - -proc set_have_grab*(a: var TGtkMenuShell, `have_grab`: guint) = - a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or - (int16(`have_grab` shl bp_TGtkMenuShell_have_grab) and - bm_TGtkMenuShell_have_grab) - -proc have_xgrab*(a: var TGtkMenuShell): guint = - result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_have_xgrab) shr - bp_TGtkMenuShell_have_xgrab - -proc set_have_xgrab*(a: var TGtkMenuShell, `have_xgrab`: guint) = - a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or - (int16(`have_xgrab` shl bp_TGtkMenuShell_have_xgrab) and - bm_TGtkMenuShell_have_xgrab) - -proc ignore_leave*(a: var TGtkMenuShell): guint = - result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_ignore_leave) shr - bp_TGtkMenuShell_ignore_leave - -proc set_ignore_leave*(a: var TGtkMenuShell, `ignore_leave`: guint) = - a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or - (int16(`ignore_leave` shl bp_TGtkMenuShell_ignore_leave) and - bm_TGtkMenuShell_ignore_leave) - -proc menu_flag*(a: var TGtkMenuShell): guint = - result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_menu_flag) shr - bp_TGtkMenuShell_menu_flag - -proc set_menu_flag*(a: var TGtkMenuShell, `menu_flag`: guint) = - a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or - (int16(`menu_flag` shl bp_TGtkMenuShell_menu_flag) and - bm_TGtkMenuShell_menu_flag) - -proc ignore_enter*(a: var TGtkMenuShell): guint = - result = (a.GtkMenuShellflag0 and bm_TGtkMenuShell_ignore_enter) shr - bp_TGtkMenuShell_ignore_enter - -proc set_ignore_enter*(a: var TGtkMenuShell, `ignore_enter`: guint) = - a.GtkMenuShellflag0 = a.GtkMenuShellflag0 or - (int16(`ignore_enter` shl bp_TGtkMenuShell_ignore_enter) and - bm_TGtkMenuShell_ignore_enter) - -proc submenu_placement*(a: var TGtkMenuShellClass): guint = - result = (a.GtkMenuShellClassflag0 and bm_TGtkMenuShellClass_submenu_placement) shr - bp_TGtkMenuShellClass_submenu_placement - -proc set_submenu_placement*(a: var TGtkMenuShellClass, - `submenu_placement`: guint) = - a.GtkMenuShellClassflag0 = a.GtkMenuShellClassflag0 or - (int16(`submenu_placement` shl bp_TGtkMenuShellClass_submenu_placement) and - bm_TGtkMenuShellClass_submenu_placement) - -proc GTK_TYPE_MENU*(): GType = - result = gtk_menu_get_type() - -proc GTK_MENU*(obj: pointer): PGtkMenu = - result = cast[PGtkMenu](GTK_CHECK_CAST(obj, GTK_TYPE_MENU())) - -proc GTK_MENU_CLASS*(klass: pointer): PGtkMenuClass = - result = cast[PGtkMenuClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU())) - -proc GTK_IS_MENU*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU()) - -proc GTK_IS_MENU_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU()) - -proc GTK_MENU_GET_CLASS*(obj: pointer): PGtkMenuClass = - result = cast[PGtkMenuClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU())) - -proc needs_destruction_ref_count*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_needs_destruction_ref_count) shr - bp_TGtkMenu_needs_destruction_ref_count - -proc set_needs_destruction_ref_count*(a: var TGtkMenu, - `needs_destruction_ref_count`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`needs_destruction_ref_count` shl - bp_TGtkMenu_needs_destruction_ref_count) and - bm_TGtkMenu_needs_destruction_ref_count) - -proc torn_off*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_torn_off) shr bp_TGtkMenu_torn_off - -proc set_torn_off*(a: var TGtkMenu, `torn_off`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`torn_off` shl bp_TGtkMenu_torn_off) and bm_TGtkMenu_torn_off) - -proc tearoff_active*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_tearoff_active) shr - bp_TGtkMenu_tearoff_active - -proc set_tearoff_active*(a: var TGtkMenu, `tearoff_active`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`tearoff_active` shl bp_TGtkMenu_tearoff_active) and - bm_TGtkMenu_tearoff_active) - -proc scroll_fast*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_scroll_fast) shr bp_TGtkMenu_scroll_fast - -proc set_scroll_fast*(a: var TGtkMenu, `scroll_fast`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`scroll_fast` shl bp_TGtkMenu_scroll_fast) and - bm_TGtkMenu_scroll_fast) - -proc upper_arrow_visible*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_upper_arrow_visible) shr - bp_TGtkMenu_upper_arrow_visible - -proc set_upper_arrow_visible*(a: var TGtkMenu, `upper_arrow_visible`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`upper_arrow_visible` shl bp_TGtkMenu_upper_arrow_visible) and - bm_TGtkMenu_upper_arrow_visible) - -proc lower_arrow_visible*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_lower_arrow_visible) shr - bp_TGtkMenu_lower_arrow_visible - -proc set_lower_arrow_visible*(a: var TGtkMenu, `lower_arrow_visible`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`lower_arrow_visible` shl bp_TGtkMenu_lower_arrow_visible) and - bm_TGtkMenu_lower_arrow_visible) - -proc upper_arrow_prelight*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_upper_arrow_prelight) shr - bp_TGtkMenu_upper_arrow_prelight - -proc set_upper_arrow_prelight*(a: var TGtkMenu, `upper_arrow_prelight`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`upper_arrow_prelight` shl bp_TGtkMenu_upper_arrow_prelight) and - bm_TGtkMenu_upper_arrow_prelight) - -proc lower_arrow_prelight*(a: var TGtkMenu): guint = - result = (a.GtkMenuflag0 and bm_TGtkMenu_lower_arrow_prelight) shr - bp_TGtkMenu_lower_arrow_prelight - -proc set_lower_arrow_prelight*(a: var TGtkMenu, `lower_arrow_prelight`: guint) = - a.GtkMenuflag0 = a.GtkMenuflag0 or - (int16(`lower_arrow_prelight` shl bp_TGtkMenu_lower_arrow_prelight) and - bm_TGtkMenu_lower_arrow_prelight) - -proc gtk_menu_append*(menu, child: PGtkWidget) = - gtk_menu_shell_append(cast[PGtkMenuShell](menu), child) - -proc gtk_menu_prepend*(menu, child: PGtkWidget) = - gtk_menu_shell_prepend(cast[PGtkMenuShell](menu), child) - -proc gtk_menu_insert*(menu, child: PGtkWidget, pos: gint) = - gtk_menu_shell_insert(cast[PGtkMenuShell](menu), child, pos) - -proc GTK_TYPE_ENTRY*(): GType = - result = gtk_entry_get_type() - -proc GTK_ENTRY*(obj: pointer): PGtkEntry = - result = cast[PGtkEntry](GTK_CHECK_CAST(obj, GTK_TYPE_ENTRY())) - -proc GTK_ENTRY_CLASS*(klass: pointer): PGtkEntryClass = - result = cast[PGtkEntryClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_ENTRY())) - -proc GTK_IS_ENTRY*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_ENTRY()) - -proc GTK_IS_ENTRY_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ENTRY()) - -proc GTK_ENTRY_GET_CLASS*(obj: pointer): PGtkEntryClass = - result = cast[PGtkEntryClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ENTRY())) - -proc editable*(a: var TGtkEntry): guint = - result = (a.GtkEntryflag0 and bm_TGtkEntry_editable) shr bp_TGtkEntry_editable - -proc set_editable*(a: var TGtkEntry, `editable`: guint) = - a.GtkEntryflag0 = a.GtkEntryflag0 or - (int16(`editable` shl bp_TGtkEntry_editable) and bm_TGtkEntry_editable) - -proc visible*(a: var TGtkEntry): guint = - result = (a.GtkEntryflag0 and bm_TGtkEntry_visible) shr bp_TGtkEntry_visible - -proc set_visible*(a: var TGtkEntry, `visible`: guint) = - a.GtkEntryflag0 = a.GtkEntryflag0 or - (int16(`visible` shl bp_TGtkEntry_visible) and bm_TGtkEntry_visible) - -proc overwrite_mode*(a: var TGtkEntry): guint = - result = (a.GtkEntryflag0 and bm_TGtkEntry_overwrite_mode) shr - bp_TGtkEntry_overwrite_mode - -proc set_overwrite_mode*(a: var TGtkEntry, `overwrite_mode`: guint) = - a.GtkEntryflag0 = a.GtkEntryflag0 or - (int16(`overwrite_mode` shl bp_TGtkEntry_overwrite_mode) and - bm_TGtkEntry_overwrite_mode) - -proc in_drag*(a: var TGtkEntry): guint = - result = (a.GtkEntryflag0 and bm_TGtkEntry_in_drag) shr bp_TGtkEntry_in_drag - -proc set_in_drag*(a: var TGtkEntry, `in_drag`: guint) = - a.GtkEntryflag0 = a.GtkEntryflag0 or - (int16(`in_drag` shl bp_TGtkEntry_in_drag) and bm_TGtkEntry_in_drag) - -proc cache_includes_preedit*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_cache_includes_preedit) shr - bp_TGtkEntry_cache_includes_preedit - -proc set_cache_includes_preedit*(a: var TGtkEntry, - `cache_includes_preedit`: guint) = - a.flag1 = a.flag1 or - (int16(`cache_includes_preedit` shl bp_TGtkEntry_cache_includes_preedit) and - bm_TGtkEntry_cache_includes_preedit) - -proc need_im_reset*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_need_im_reset) shr - bp_TGtkEntry_need_im_reset - -proc set_need_im_reset*(a: var TGtkEntry, `need_im_reset`: guint) = - a.flag1 = a.flag1 or - (int16(`need_im_reset` shl bp_TGtkEntry_need_im_reset) and - bm_TGtkEntry_need_im_reset) - -proc has_frame*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_has_frame) shr bp_TGtkEntry_has_frame - -proc set_has_frame*(a: var TGtkEntry, `has_frame`: guint) = - a.flag1 = a.flag1 or - (int16(`has_frame` shl bp_TGtkEntry_has_frame) and bm_TGtkEntry_has_frame) - -proc activates_default*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_activates_default) shr - bp_TGtkEntry_activates_default - -proc set_activates_default*(a: var TGtkEntry, `activates_default`: guint) = - a.flag1 = a.flag1 or - (int16(`activates_default` shl bp_TGtkEntry_activates_default) and - bm_TGtkEntry_activates_default) - -proc cursor_visible*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_cursor_visible) shr - bp_TGtkEntry_cursor_visible - -proc set_cursor_visible*(a: var TGtkEntry, `cursor_visible`: guint) = - a.flag1 = a.flag1 or - (int16(`cursor_visible` shl bp_TGtkEntry_cursor_visible) and - bm_TGtkEntry_cursor_visible) - -proc in_click*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_in_click) shr bp_TGtkEntry_in_click - -proc set_in_click*(a: var TGtkEntry, `in_click`: guint) = - a.flag1 = a.flag1 or - (int16(`in_click` shl bp_TGtkEntry_in_click) and bm_TGtkEntry_in_click) - -proc is_cell_renderer*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_is_cell_renderer) shr - bp_TGtkEntry_is_cell_renderer - -proc set_is_cell_renderer*(a: var TGtkEntry, `is_cell_renderer`: guint) = - a.flag1 = a.flag1 or - (int16(`is_cell_renderer` shl bp_TGtkEntry_is_cell_renderer) and - bm_TGtkEntry_is_cell_renderer) - -proc editing_canceled*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_editing_canceled) shr - bp_TGtkEntry_editing_canceled - -proc set_editing_canceled*(a: var TGtkEntry, `editing_canceled`: guint) = - a.flag1 = a.flag1 or - (int16(`editing_canceled` shl bp_TGtkEntry_editing_canceled) and - bm_TGtkEntry_editing_canceled) - -proc mouse_cursor_obscured*(a: var TGtkEntry): guint = - result = (a.flag1 and bm_TGtkEntry_mouse_cursor_obscured) shr - bp_TGtkEntry_mouse_cursor_obscured - -proc set_mouse_cursor_obscured*(a: var TGtkEntry, `mouse_cursor_obscured`: guint) = - a.flag1 = a.flag1 or - (int16(`mouse_cursor_obscured` shl bp_TGtkEntry_mouse_cursor_obscured) and - bm_TGtkEntry_mouse_cursor_obscured) - -proc GTK_TYPE_EVENT_BOX*(): GType = - result = gtk_event_box_get_type() - -proc GTK_EVENT_BOX*(obj: pointer): PGtkEventBox = - result = cast[PGtkEventBox](GTK_CHECK_CAST(obj, GTK_TYPE_EVENT_BOX())) - -proc GTK_EVENT_BOX_CLASS*(klass: pointer): PGtkEventBoxClass = - result = cast[PGtkEventBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_EVENT_BOX())) - -proc GTK_IS_EVENT_BOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_EVENT_BOX()) - -proc GTK_IS_EVENT_BOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_EVENT_BOX()) - -proc GTK_EVENT_BOX_GET_CLASS*(obj: pointer): PGtkEventBoxClass = - result = cast[PGtkEventBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_EVENT_BOX())) - -proc GTK_TYPE_FILE_SELECTION*(): GType = - result = gtk_file_selection_get_type() - -proc GTK_FILE_SELECTION*(obj: pointer): PGtkFileSelection = - result = cast[PGtkFileSelection](GTK_CHECK_CAST(obj, GTK_TYPE_FILE_SELECTION())) - -proc GTK_FILE_SELECTION_CLASS*(klass: pointer): PGtkFileSelectionClass = - result = cast[PGtkFileSelectionClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_FILE_SELECTION())) - -proc GTK_IS_FILE_SELECTION*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_FILE_SELECTION()) - -proc GTK_IS_FILE_SELECTION_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FILE_SELECTION()) - -proc GTK_FILE_SELECTION_GET_CLASS*(obj: pointer): PGtkFileSelectionClass = - result = cast[PGtkFileSelectionClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_FILE_SELECTION())) - -proc GTK_TYPE_FIXED*(): GType = - result = gtk_fixed_get_type() - -proc GTK_FIXED*(obj: pointer): PGtkFixed = - result = cast[PGtkFixed](GTK_CHECK_CAST(obj, GTK_TYPE_FIXED())) - -proc GTK_FIXED_CLASS*(klass: pointer): PGtkFixedClass = - result = cast[PGtkFixedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_FIXED())) - -proc GTK_IS_FIXED*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_FIXED()) - -proc GTK_IS_FIXED_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FIXED()) - -proc GTK_FIXED_GET_CLASS*(obj: pointer): PGtkFixedClass = - result = cast[PGtkFixedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_FIXED())) - -proc GTK_TYPE_FONT_SELECTION*(): GType = - result = gtk_font_selection_get_type() - -proc GTK_FONT_SELECTION*(obj: pointer): PGtkFontSelection = - result = cast[PGtkFontSelection](GTK_CHECK_CAST(obj, GTK_TYPE_FONT_SELECTION())) - -proc GTK_FONT_SELECTION_CLASS*(klass: pointer): PGtkFontSelectionClass = - result = cast[PGtkFontSelectionClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_FONT_SELECTION())) - -proc GTK_IS_FONT_SELECTION*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_FONT_SELECTION()) - -proc GTK_IS_FONT_SELECTION_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FONT_SELECTION()) - -proc GTK_FONT_SELECTION_GET_CLASS*(obj: pointer): PGtkFontSelectionClass = - result = cast[PGtkFontSelectionClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_FONT_SELECTION())) - -proc GTK_TYPE_FONT_SELECTION_DIALOG*(): GType = - result = gtk_font_selection_dialog_get_type() - -proc GTK_FONT_SELECTION_DIALOG*(obj: pointer): PGtkFontSelectionDialog = - result = cast[PGtkFontSelectionDialog](GTK_CHECK_CAST(obj, - GTK_TYPE_FONT_SELECTION_DIALOG())) - -proc GTK_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): PGtkFontSelectionDialogClass = - result = cast[PGtkFontSelectionDialogClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_FONT_SELECTION_DIALOG())) - -proc GTK_IS_FONT_SELECTION_DIALOG*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_FONT_SELECTION_DIALOG()) - -proc GTK_IS_FONT_SELECTION_DIALOG_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_FONT_SELECTION_DIALOG()) - -proc GTK_FONT_SELECTION_DIALOG_GET_CLASS*(obj: pointer): PGtkFontSelectionDialogClass = - result = cast[PGtkFontSelectionDialogClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_FONT_SELECTION_DIALOG())) - -proc GTK_TYPE_GAMMA_CURVE*(): GType = - result = gtk_gamma_curve_get_type() - -proc GTK_GAMMA_CURVE*(obj: pointer): PGtkGammaCurve = - result = cast[PGtkGammaCurve](GTK_CHECK_CAST(obj, GTK_TYPE_GAMMA_CURVE())) - -proc GTK_GAMMA_CURVE_CLASS*(klass: pointer): PGtkGammaCurveClass = - result = cast[PGtkGammaCurveClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_GAMMA_CURVE())) - -proc GTK_IS_GAMMA_CURVE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_GAMMA_CURVE()) - -proc GTK_IS_GAMMA_CURVE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_GAMMA_CURVE()) - -proc GTK_GAMMA_CURVE_GET_CLASS*(obj: pointer): PGtkGammaCurveClass = - result = cast[PGtkGammaCurveClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_GAMMA_CURVE())) - -proc GTK_TYPE_HANDLE_BOX*(): GType = - result = gtk_handle_box_get_type() - -proc GTK_HANDLE_BOX*(obj: pointer): PGtkHandleBox = - result = cast[PGtkHandleBox](GTK_CHECK_CAST(obj, GTK_TYPE_HANDLE_BOX())) - -proc GTK_HANDLE_BOX_CLASS*(klass: pointer): PGtkHandleBoxClass = - result = cast[PGtkHandleBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HANDLE_BOX())) - -proc GTK_IS_HANDLE_BOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HANDLE_BOX()) - -proc GTK_IS_HANDLE_BOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HANDLE_BOX()) - -proc GTK_HANDLE_BOX_GET_CLASS*(obj: pointer): PGtkHandleBoxClass = - result = cast[PGtkHandleBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HANDLE_BOX())) - -proc handle_position*(a: var TGtkHandleBox): guint = - result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_handle_position) shr - bp_TGtkHandleBox_handle_position - -proc set_handle_position*(a: var TGtkHandleBox, `handle_position`: guint) = - a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or - (int16(`handle_position` shl bp_TGtkHandleBox_handle_position) and - bm_TGtkHandleBox_handle_position) - -proc float_window_mapped*(a: var TGtkHandleBox): guint = - result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_float_window_mapped) shr - bp_TGtkHandleBox_float_window_mapped - -proc set_float_window_mapped*(a: var TGtkHandleBox, `float_window_mapped`: guint) = - a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or - (int16(`float_window_mapped` shl bp_TGtkHandleBox_float_window_mapped) and - bm_TGtkHandleBox_float_window_mapped) - -proc child_detached*(a: var TGtkHandleBox): guint = - result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_child_detached) shr - bp_TGtkHandleBox_child_detached - -proc set_child_detached*(a: var TGtkHandleBox, `child_detached`: guint) = - a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or - (int16(`child_detached` shl bp_TGtkHandleBox_child_detached) and - bm_TGtkHandleBox_child_detached) - -proc in_drag*(a: var TGtkHandleBox): guint = - result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_in_drag) shr - bp_TGtkHandleBox_in_drag - -proc set_in_drag*(a: var TGtkHandleBox, `in_drag`: guint) = - a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or - (int16(`in_drag` shl bp_TGtkHandleBox_in_drag) and bm_TGtkHandleBox_in_drag) - -proc shrink_on_detach*(a: var TGtkHandleBox): guint = - result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_shrink_on_detach) shr - bp_TGtkHandleBox_shrink_on_detach - -proc set_shrink_on_detach*(a: var TGtkHandleBox, `shrink_on_detach`: guint) = - a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or - (int16(`shrink_on_detach` shl bp_TGtkHandleBox_shrink_on_detach) and - bm_TGtkHandleBox_shrink_on_detach) - -proc snap_edge*(a: var TGtkHandleBox): gint = - result = (a.GtkHandleBoxflag0 and bm_TGtkHandleBox_snap_edge) shr - bp_TGtkHandleBox_snap_edge - -proc set_snap_edge*(a: var TGtkHandleBox, `snap_edge`: gint) = - a.GtkHandleBoxflag0 = a.GtkHandleBoxflag0 or - (int16(`snap_edge` shl bp_TGtkHandleBox_snap_edge) and - bm_TGtkHandleBox_snap_edge) - -proc GTK_TYPE_PANED*(): GType = - result = gtk_paned_get_type() - -proc GTK_PANED*(obj: pointer): PGtkPaned = - result = cast[PGtkPaned](GTK_CHECK_CAST(obj, GTK_TYPE_PANED())) - -proc GTK_PANED_CLASS*(klass: pointer): PGtkPanedClass = - result = cast[PGtkPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PANED())) - -proc GTK_IS_PANED*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_PANED()) - -proc GTK_IS_PANED_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PANED()) - -proc GTK_PANED_GET_CLASS*(obj: pointer): PGtkPanedClass = - result = cast[PGtkPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PANED())) - -proc position_set*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_position_set) shr - bp_TGtkPaned_position_set - -proc set_position_set*(a: var TGtkPaned, `position_set`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`position_set` shl bp_TGtkPaned_position_set) and - bm_TGtkPaned_position_set) - -proc in_drag*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_in_drag) shr bp_TGtkPaned_in_drag - -proc set_in_drag*(a: var TGtkPaned, `in_drag`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`in_drag` shl bp_TGtkPaned_in_drag) and bm_TGtkPaned_in_drag) - -proc child1_shrink*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_child1_shrink) shr - bp_TGtkPaned_child1_shrink - -proc set_child1_shrink*(a: var TGtkPaned, `child1_shrink`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`child1_shrink` shl bp_TGtkPaned_child1_shrink) and - bm_TGtkPaned_child1_shrink) - -proc child1_resize*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_child1_resize) shr - bp_TGtkPaned_child1_resize - -proc set_child1_resize*(a: var TGtkPaned, `child1_resize`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`child1_resize` shl bp_TGtkPaned_child1_resize) and - bm_TGtkPaned_child1_resize) - -proc child2_shrink*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_child2_shrink) shr - bp_TGtkPaned_child2_shrink - -proc set_child2_shrink*(a: var TGtkPaned, `child2_shrink`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`child2_shrink` shl bp_TGtkPaned_child2_shrink) and - bm_TGtkPaned_child2_shrink) - -proc child2_resize*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_child2_resize) shr - bp_TGtkPaned_child2_resize - -proc set_child2_resize*(a: var TGtkPaned, `child2_resize`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`child2_resize` shl bp_TGtkPaned_child2_resize) and - bm_TGtkPaned_child2_resize) - -proc orientation*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_orientation) shr - bp_TGtkPaned_orientation - -proc set_orientation*(a: var TGtkPaned, `orientation`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`orientation` shl bp_TGtkPaned_orientation) and - bm_TGtkPaned_orientation) - -proc in_recursion*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_in_recursion) shr - bp_TGtkPaned_in_recursion - -proc set_in_recursion*(a: var TGtkPaned, `in_recursion`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`in_recursion` shl bp_TGtkPaned_in_recursion) and - bm_TGtkPaned_in_recursion) - -proc handle_prelit*(a: var TGtkPaned): guint = - result = (a.GtkPanedflag0 and bm_TGtkPaned_handle_prelit) shr - bp_TGtkPaned_handle_prelit - -proc set_handle_prelit*(a: var TGtkPaned, `handle_prelit`: guint) = - a.GtkPanedflag0 = a.GtkPanedflag0 or - (int16(`handle_prelit` shl bp_TGtkPaned_handle_prelit) and - bm_TGtkPaned_handle_prelit) - -proc gtk_paned_gutter_size*(p: pointer, s: gint) = - if (p != nil) and (s != 0'i32): nil - -proc gtk_paned_set_gutter_size*(p: pointer, s: gint) = - if (p != nil) and (s != 0'i32): nil - -proc GTK_TYPE_HBUTTON_BOX*(): GType = - result = gtk_hbutton_box_get_type() - -proc GTK_HBUTTON_BOX*(obj: pointer): PGtkHButtonBox = - result = cast[PGtkHButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_HBUTTON_BOX())) - -proc GTK_HBUTTON_BOX_CLASS*(klass: pointer): PGtkHButtonBoxClass = - result = cast[PGtkHButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HBUTTON_BOX())) - -proc GTK_IS_HBUTTON_BOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HBUTTON_BOX()) - -proc GTK_IS_HBUTTON_BOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HBUTTON_BOX()) - -proc GTK_HBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkHButtonBoxClass = - result = cast[PGtkHButtonBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HBUTTON_BOX())) - -proc GTK_TYPE_HPANED*(): GType = - result = gtk_hpaned_get_type() - -proc GTK_HPANED*(obj: pointer): PGtkHPaned = - result = cast[PGtkHPaned](GTK_CHECK_CAST(obj, GTK_TYPE_HPANED())) - -proc GTK_HPANED_CLASS*(klass: pointer): PGtkHPanedClass = - result = cast[PGtkHPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HPANED())) - -proc GTK_IS_HPANED*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HPANED()) - -proc GTK_IS_HPANED_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HPANED()) - -proc GTK_HPANED_GET_CLASS*(obj: pointer): PGtkHPanedClass = - result = cast[PGtkHPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HPANED())) - -proc GTK_TYPE_RULER*(): GType = - result = gtk_ruler_get_type() - -proc GTK_RULER*(obj: pointer): PGtkRuler = - result = cast[PGtkRuler](GTK_CHECK_CAST(obj, GTK_TYPE_RULER())) - -proc GTK_RULER_CLASS*(klass: pointer): PGtkRulerClass = - result = cast[PGtkRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_RULER())) - -proc GTK_IS_RULER*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_RULER()) - -proc GTK_IS_RULER_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RULER()) - -proc GTK_RULER_GET_CLASS*(obj: pointer): PGtkRulerClass = - result = cast[PGtkRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RULER())) - -proc GTK_TYPE_HRULER*(): GType = - result = gtk_hruler_get_type() - -proc GTK_HRULER*(obj: pointer): PGtkHRuler = - result = cast[PGtkHRuler](GTK_CHECK_CAST(obj, GTK_TYPE_HRULER())) - -proc GTK_HRULER_CLASS*(klass: pointer): PGtkHRulerClass = - result = cast[PGtkHRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HRULER())) - -proc GTK_IS_HRULER*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HRULER()) - -proc GTK_IS_HRULER_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HRULER()) - -proc GTK_HRULER_GET_CLASS*(obj: pointer): PGtkHRulerClass = - result = cast[PGtkHRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HRULER())) - -proc GTK_TYPE_SETTINGS*(): GType = - result = gtk_settings_get_type() - -proc GTK_SETTINGS*(obj: pointer): PGtkSettings = - result = cast[PGtkSettings](GTK_CHECK_CAST(obj, GTK_TYPE_SETTINGS())) - -proc GTK_SETTINGS_CLASS*(klass: pointer): PGtkSettingsClass = - result = cast[PGtkSettingsClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SETTINGS())) - -proc GTK_IS_SETTINGS*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SETTINGS()) - -proc GTK_IS_SETTINGS_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SETTINGS()) - -proc GTK_SETTINGS_GET_CLASS*(obj: pointer): PGtkSettingsClass = - result = cast[PGtkSettingsClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SETTINGS())) - -proc GTK_TYPE_RC_STYLE*(): GType = - result = gtk_rc_style_get_type() - -proc GTK_RC_STYLE_get*(anObject: pointer): PGtkRcStyle = - result = cast[PGtkRcStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, GTK_TYPE_RC_STYLE())) - -proc GTK_RC_STYLE_CLASS*(klass: pointer): PGtkRcStyleClass = - result = cast[PGtkRcStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_RC_STYLE())) - -proc GTK_IS_RC_STYLE*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_RC_STYLE()) - -proc GTK_IS_RC_STYLE_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_RC_STYLE()) - -proc GTK_RC_STYLE_GET_CLASS*(obj: pointer): PGtkRcStyleClass = - result = cast[PGtkRcStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_RC_STYLE())) - -proc engine_specified*(a: var TGtkRcStyle): guint = - result = (a.GtkRcStyleflag0 and bm_TGtkRcStyle_engine_specified) shr - bp_TGtkRcStyle_engine_specified - -proc set_engine_specified*(a: var TGtkRcStyle, `engine_specified`: guint) = - a.GtkRcStyleflag0 = a.GtkRcStyleflag0 or - (int16(`engine_specified` shl bp_TGtkRcStyle_engine_specified) and - bm_TGtkRcStyle_engine_specified) - -proc GTK_TYPE_STYLE*(): GType = - result = gtk_style_get_type() - -proc GTK_STYLE*(anObject: pointer): PGtkStyle = - result = cast[PGtkStyle](G_TYPE_CHECK_INSTANCE_CAST(anObject, GTK_TYPE_STYLE())) - -proc GTK_STYLE_CLASS*(klass: pointer): PGtkStyleClass = - result = cast[PGtkStyleClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_STYLE())) - -proc GTK_IS_STYLE*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_STYLE()) - -proc GTK_IS_STYLE_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_STYLE()) - -proc GTK_STYLE_GET_CLASS*(obj: pointer): PGtkStyleClass = - result = cast[PGtkStyleClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_STYLE())) - -proc GTK_TYPE_BORDER*(): GType = - result = gtk_border_get_type() - -proc GTK_STYLE_ATTACHED*(style: pointer): bool = - result = ((GTK_STYLE(style)).attach_count) > 0'i32 - -proc gtk_style_apply_default_pixmap*(style: PGtkStyle, window: PGdkWindow, - state_type: TGtkStateType, - area: PGdkRectangle, x: gint, y: gint, - width: gint, height: gint) = - gtk_style_apply_default_background(style, window, true, state_type, area, x, - y, width, height) - -proc GTK_TYPE_RANGE*(): GType = - result = gtk_range_get_type() - -proc GTK_RANGE*(obj: pointer): PGtkRange = - result = cast[PGtkRange](GTK_CHECK_CAST(obj, GTK_TYPE_RANGE())) - -proc GTK_RANGE_CLASS*(klass: pointer): PGtkRangeClass = - result = cast[PGtkRangeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_RANGE())) - -proc GTK_IS_RANGE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_RANGE()) - -proc GTK_IS_RANGE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RANGE()) - -proc GTK_RANGE_GET_CLASS*(obj: pointer): PGtkRangeClass = - result = cast[PGtkRangeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RANGE())) - -proc inverted*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_inverted) shr bp_TGtkRange_inverted - -proc set_inverted*(a: var TGtkRange, `inverted`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`inverted` shl bp_TGtkRange_inverted) and bm_TGtkRange_inverted) - -proc flippable*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_flippable) shr bp_TGtkRange_flippable - -proc set_flippable*(a: var TGtkRange, `flippable`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`flippable` shl bp_TGtkRange_flippable) and bm_TGtkRange_flippable) - -proc has_stepper_a*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_a) shr - bp_TGtkRange_has_stepper_a - -proc set_has_stepper_a*(a: var TGtkRange, `has_stepper_a`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`has_stepper_a` shl bp_TGtkRange_has_stepper_a) and - bm_TGtkRange_has_stepper_a) - -proc has_stepper_b*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_b) shr - bp_TGtkRange_has_stepper_b - -proc set_has_stepper_b*(a: var TGtkRange, `has_stepper_b`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`has_stepper_b` shl bp_TGtkRange_has_stepper_b) and - bm_TGtkRange_has_stepper_b) - -proc has_stepper_c*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_c) shr - bp_TGtkRange_has_stepper_c - -proc set_has_stepper_c*(a: var TGtkRange, `has_stepper_c`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`has_stepper_c` shl bp_TGtkRange_has_stepper_c) and - bm_TGtkRange_has_stepper_c) - -proc has_stepper_d*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_has_stepper_d) shr - bp_TGtkRange_has_stepper_d - -proc set_has_stepper_d*(a: var TGtkRange, `has_stepper_d`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`has_stepper_d` shl bp_TGtkRange_has_stepper_d) and - bm_TGtkRange_has_stepper_d) - -proc need_recalc*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_need_recalc) shr - bp_TGtkRange_need_recalc - -proc set_need_recalc*(a: var TGtkRange, `need_recalc`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`need_recalc` shl bp_TGtkRange_need_recalc) and - bm_TGtkRange_need_recalc) - -proc slider_size_fixed*(a: var TGtkRange): guint = - result = (a.GtkRangeflag0 and bm_TGtkRange_slider_size_fixed) shr - bp_TGtkRange_slider_size_fixed - -proc set_slider_size_fixed*(a: var TGtkRange, `slider_size_fixed`: guint) = - a.GtkRangeflag0 = a.GtkRangeflag0 or - (int16(`slider_size_fixed` shl bp_TGtkRange_slider_size_fixed) and - bm_TGtkRange_slider_size_fixed) - -proc trough_click_forward*(a: var TGtkRange): guint = - result = (a.flag1 and bm_TGtkRange_trough_click_forward) shr - bp_TGtkRange_trough_click_forward - -proc set_trough_click_forward*(a: var TGtkRange, `trough_click_forward`: guint) = - a.flag1 = a.flag1 or - (int16(`trough_click_forward` shl bp_TGtkRange_trough_click_forward) and - bm_TGtkRange_trough_click_forward) - -proc update_pending*(a: var TGtkRange): guint = - result = (a.flag1 and bm_TGtkRange_update_pending) shr - bp_TGtkRange_update_pending - -proc set_update_pending*(a: var TGtkRange, `update_pending`: guint) = - a.flag1 = a.flag1 or - (int16(`update_pending` shl bp_TGtkRange_update_pending) and - bm_TGtkRange_update_pending) - -proc GTK_TYPE_SCALE*(): GType = - result = gtk_scale_get_type() - -proc GTK_SCALE*(obj: pointer): PGtkScale = - result = cast[PGtkScale](GTK_CHECK_CAST(obj, GTK_TYPE_SCALE())) - -proc GTK_SCALE_CLASS*(klass: pointer): PGtkScaleClass = - result = cast[PGtkScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SCALE())) - -proc GTK_IS_SCALE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCALE()) - -proc GTK_IS_SCALE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCALE()) - -proc GTK_SCALE_GET_CLASS*(obj: pointer): PGtkScaleClass = - result = cast[PGtkScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SCALE())) - -proc draw_value*(a: var TGtkScale): guint = - result = (a.GtkScaleflag0 and bm_TGtkScale_draw_value) shr bp_TGtkScale_draw_value - -proc set_draw_value*(a: var TGtkScale, `draw_value`: guint) = - a.GtkScaleflag0 = a.GtkScaleflag0 or - (int16(`draw_value` shl bp_TGtkScale_draw_value) and bm_TGtkScale_draw_value) - -proc value_pos*(a: var TGtkScale): guint = - result = (a.GtkScaleflag0 and bm_TGtkScale_value_pos) shr bp_TGtkScale_value_pos - -proc set_value_pos*(a: var TGtkScale, `value_pos`: guint) = - a.GtkScaleflag0 = a.GtkScaleflag0 or - (int16(`value_pos` shl bp_TGtkScale_value_pos) and bm_TGtkScale_value_pos) - -proc GTK_TYPE_HSCALE*(): GType = - result = gtk_hscale_get_type() - -proc GTK_HSCALE*(obj: pointer): PGtkHScale = - result = cast[PGtkHScale](GTK_CHECK_CAST(obj, GTK_TYPE_HSCALE())) - -proc GTK_HSCALE_CLASS*(klass: pointer): PGtkHScaleClass = - result = cast[PGtkHScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSCALE())) - -proc GTK_IS_HSCALE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSCALE()) - -proc GTK_IS_HSCALE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSCALE()) - -proc GTK_HSCALE_GET_CLASS*(obj: pointer): PGtkHScaleClass = - result = cast[PGtkHScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSCALE())) - -proc GTK_TYPE_SCROLLBAR*(): GType = - result = gtk_scrollbar_get_type() - -proc GTK_SCROLLBAR*(obj: pointer): PGtkScrollbar = - result = cast[PGtkScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_SCROLLBAR())) - -proc GTK_SCROLLBAR_CLASS*(klass: pointer): PGtkScrollbarClass = - result = cast[PGtkScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SCROLLBAR())) - -proc GTK_IS_SCROLLBAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCROLLBAR()) - -proc GTK_IS_SCROLLBAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCROLLBAR()) - -proc GTK_SCROLLBAR_GET_CLASS*(obj: pointer): PGtkScrollbarClass = - result = cast[PGtkScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SCROLLBAR())) - -proc GTK_TYPE_HSCROLLBAR*(): GType = - result = gtk_hscrollbar_get_type() - -proc GTK_HSCROLLBAR*(obj: pointer): PGtkHScrollbar = - result = cast[PGtkHScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_HSCROLLBAR())) - -proc GTK_HSCROLLBAR_CLASS*(klass: pointer): PGtkHScrollbarClass = - result = cast[PGtkHScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSCROLLBAR())) - -proc GTK_IS_HSCROLLBAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSCROLLBAR()) - -proc GTK_IS_HSCROLLBAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSCROLLBAR()) - -proc GTK_HSCROLLBAR_GET_CLASS*(obj: pointer): PGtkHScrollbarClass = - result = cast[PGtkHScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSCROLLBAR())) - -proc GTK_TYPE_SEPARATOR*(): GType = - result = gtk_separator_get_type() - -proc GTK_SEPARATOR*(obj: pointer): PGtkSeparator = - result = cast[PGtkSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_SEPARATOR())) - -proc GTK_SEPARATOR_CLASS*(klass: pointer): PGtkSeparatorClass = - result = cast[PGtkSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SEPARATOR())) - -proc GTK_IS_SEPARATOR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SEPARATOR()) - -proc GTK_IS_SEPARATOR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SEPARATOR()) - -proc GTK_SEPARATOR_GET_CLASS*(obj: pointer): PGtkSeparatorClass = - result = cast[PGtkSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SEPARATOR())) - -proc GTK_TYPE_HSEPARATOR*(): GType = - result = gtk_hseparator_get_type() - -proc GTK_HSEPARATOR*(obj: pointer): PGtkHSeparator = - result = cast[PGtkHSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_HSEPARATOR())) - -proc GTK_HSEPARATOR_CLASS*(klass: pointer): PGtkHSeparatorClass = - result = cast[PGtkHSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_HSEPARATOR())) - -proc GTK_IS_HSEPARATOR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_HSEPARATOR()) - -proc GTK_IS_HSEPARATOR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_HSEPARATOR()) - -proc GTK_HSEPARATOR_GET_CLASS*(obj: pointer): PGtkHSeparatorClass = - result = cast[PGtkHSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_HSEPARATOR())) - -proc GTK_TYPE_ICON_FACTORY*(): GType = - result = gtk_icon_factory_get_type() - -proc GTK_ICON_FACTORY*(anObject: pointer): PGtkIconFactory = - result = cast[PGtkIconFactory](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GTK_TYPE_ICON_FACTORY())) - -proc GTK_ICON_FACTORY_CLASS*(klass: pointer): PGtkIconFactoryClass = - result = cast[PGtkIconFactoryClass](G_TYPE_CHECK_CLASS_CAST(klass, - GTK_TYPE_ICON_FACTORY())) - -proc GTK_IS_ICON_FACTORY*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_ICON_FACTORY()) - -proc GTK_IS_ICON_FACTORY_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_ICON_FACTORY()) - -proc GTK_ICON_FACTORY_GET_CLASS*(obj: pointer): PGtkIconFactoryClass = - result = cast[PGtkIconFactoryClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GTK_TYPE_ICON_FACTORY())) - -proc GTK_TYPE_ICON_SET*(): GType = - result = gtk_icon_set_get_type() - -proc GTK_TYPE_ICON_SOURCE*(): GType = - result = gtk_icon_source_get_type() - -proc GTK_TYPE_IMAGE*(): GType = - result = gtk_image_get_type() - -proc GTK_IMAGE*(obj: pointer): PGtkImage = - result = cast[PGtkImage](GTK_CHECK_CAST(obj, GTK_TYPE_IMAGE())) - -proc GTK_IMAGE_CLASS*(klass: pointer): PGtkImageClass = - result = cast[PGtkImageClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_IMAGE())) - -proc GTK_IS_IMAGE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_IMAGE()) - -proc GTK_IS_IMAGE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IMAGE()) - -proc GTK_IMAGE_GET_CLASS*(obj: pointer): PGtkImageClass = - result = cast[PGtkImageClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_IMAGE())) - -proc GTK_TYPE_IMAGE_MENU_ITEM*(): GType = - result = gtk_image_menu_item_get_type() - -proc GTK_IMAGE_MENU_ITEM*(obj: pointer): PGtkImageMenuItem = - result = cast[PGtkImageMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_IMAGE_MENU_ITEM())) - -proc GTK_IMAGE_MENU_ITEM_CLASS*(klass: pointer): PGtkImageMenuItemClass = - result = cast[PGtkImageMenuItemClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_IMAGE_MENU_ITEM())) - -proc GTK_IS_IMAGE_MENU_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_IMAGE_MENU_ITEM()) - -proc GTK_IS_IMAGE_MENU_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IMAGE_MENU_ITEM()) - -proc GTK_IMAGE_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkImageMenuItemClass = - result = cast[PGtkImageMenuItemClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_IMAGE_MENU_ITEM())) - -proc GTK_TYPE_IM_CONTEXT_SIMPLE*(): GType = - result = gtk_im_context_simple_get_type() - -proc GTK_IM_CONTEXT_SIMPLE*(obj: pointer): PGtkIMContextSimple = - result = cast[PGtkIMContextSimple](GTK_CHECK_CAST(obj, GTK_TYPE_IM_CONTEXT_SIMPLE())) - -proc GTK_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): PGtkIMContextSimpleClass = - result = cast[PGtkIMContextSimpleClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_IM_CONTEXT_SIMPLE())) - -proc GTK_IS_IM_CONTEXT_SIMPLE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_CONTEXT_SIMPLE()) - -proc GTK_IS_IM_CONTEXT_SIMPLE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_CONTEXT_SIMPLE()) - -proc GTK_IM_CONTEXT_SIMPLE_GET_CLASS*(obj: pointer): PGtkIMContextSimpleClass = - result = cast[PGtkIMContextSimpleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_IM_CONTEXT_SIMPLE())) - -proc in_hex_sequence*(a: var TGtkIMContextSimple): guint = - result = (a.GtkIMContextSimpleflag0 and bm_TGtkIMContextSimple_in_hex_sequence) shr - bp_TGtkIMContextSimple_in_hex_sequence - -proc set_in_hex_sequence*(a: var TGtkIMContextSimple, `in_hex_sequence`: guint) = - a.GtkIMContextSimpleflag0 = a.GtkIMContextSimpleflag0 or - (int16(`in_hex_sequence` shl bp_TGtkIMContextSimple_in_hex_sequence) and - bm_TGtkIMContextSimple_in_hex_sequence) - -proc GTK_TYPE_IM_MULTICONTEXT*(): GType = - result = gtk_im_multicontext_get_type() - -proc GTK_IM_MULTICONTEXT*(obj: pointer): PGtkIMMulticontext = - result = cast[PGtkIMMulticontext](GTK_CHECK_CAST(obj, GTK_TYPE_IM_MULTICONTEXT())) - -proc GTK_IM_MULTICONTEXT_CLASS*(klass: pointer): PGtkIMMulticontextClass = - result = cast[PGtkIMMulticontextClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_IM_MULTICONTEXT())) - -proc GTK_IS_IM_MULTICONTEXT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_IM_MULTICONTEXT()) - -proc GTK_IS_IM_MULTICONTEXT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_IM_MULTICONTEXT()) - -proc GTK_IM_MULTICONTEXT_GET_CLASS*(obj: pointer): PGtkIMMulticontextClass = - result = cast[PGtkIMMulticontextClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_IM_MULTICONTEXT())) - -proc GTK_TYPE_INPUT_DIALOG*(): GType = - result = gtk_input_dialog_get_type() - -proc GTK_INPUT_DIALOG*(obj: pointer): PGtkInputDialog = - result = cast[PGtkInputDialog](GTK_CHECK_CAST(obj, GTK_TYPE_INPUT_DIALOG())) - -proc GTK_INPUT_DIALOG_CLASS*(klass: pointer): PGtkInputDialogClass = - result = cast[PGtkInputDialogClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_INPUT_DIALOG())) - -proc GTK_IS_INPUT_DIALOG*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_INPUT_DIALOG()) - -proc GTK_IS_INPUT_DIALOG_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_INPUT_DIALOG()) - -proc GTK_INPUT_DIALOG_GET_CLASS*(obj: pointer): PGtkInputDialogClass = - result = cast[PGtkInputDialogClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_INPUT_DIALOG())) - -proc GTK_TYPE_INVISIBLE*(): GType = - result = gtk_invisible_get_type() - -proc GTK_INVISIBLE*(obj: pointer): PGtkInvisible = - result = cast[PGtkInvisible](GTK_CHECK_CAST(obj, GTK_TYPE_INVISIBLE())) - -proc GTK_INVISIBLE_CLASS*(klass: pointer): PGtkInvisibleClass = - result = cast[PGtkInvisibleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_INVISIBLE())) - -proc GTK_IS_INVISIBLE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_INVISIBLE()) - -proc GTK_IS_INVISIBLE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_INVISIBLE()) - -proc GTK_INVISIBLE_GET_CLASS*(obj: pointer): PGtkInvisibleClass = - result = cast[PGtkInvisibleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_INVISIBLE())) - -proc GTK_TYPE_ITEM_FACTORY*(): GType = - result = gtk_item_factory_get_type() - -proc GTK_ITEM_FACTORY*(anObject: pointer): PGtkItemFactory = - result = cast[PGtkItemFactory](GTK_CHECK_CAST(anObject, GTK_TYPE_ITEM_FACTORY())) - -proc GTK_ITEM_FACTORY_CLASS*(klass: pointer): PGtkItemFactoryClass = - result = cast[PGtkItemFactoryClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_ITEM_FACTORY())) - -proc GTK_IS_ITEM_FACTORY*(anObject: pointer): bool = - result = GTK_CHECK_TYPE(anObject, GTK_TYPE_ITEM_FACTORY()) - -proc GTK_IS_ITEM_FACTORY_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_ITEM_FACTORY()) - -proc GTK_ITEM_FACTORY_GET_CLASS*(obj: pointer): PGtkItemFactoryClass = - result = cast[PGtkItemFactoryClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_ITEM_FACTORY())) - -proc GTK_TYPE_LAYOUT*(): GType = - result = gtk_layout_get_type() - -proc GTK_LAYOUT*(obj: pointer): PGtkLayout = - result = cast[PGtkLayout](GTK_CHECK_CAST(obj, GTK_TYPE_LAYOUT())) - -proc GTK_LAYOUT_CLASS*(klass: pointer): PGtkLayoutClass = - result = cast[PGtkLayoutClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LAYOUT())) - -proc GTK_IS_LAYOUT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_LAYOUT()) - -proc GTK_IS_LAYOUT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LAYOUT()) - -proc GTK_LAYOUT_GET_CLASS*(obj: pointer): PGtkLayoutClass = - result = cast[PGtkLayoutClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LAYOUT())) - -proc GTK_TYPE_LIST*(): GType = - result = gtk_list_get_type() - -proc GTK_LIST*(obj: pointer): PGtkList = - result = cast[PGtkList](GTK_CHECK_CAST(obj, GTK_TYPE_LIST())) - -proc GTK_LIST_CLASS*(klass: pointer): PGtkListClass = - result = cast[PGtkListClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST())) - -proc GTK_IS_LIST*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST()) - -proc GTK_IS_LIST_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST()) - -proc GTK_LIST_GET_CLASS*(obj: pointer): PGtkListClass = - result = cast[PGtkListClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LIST())) - -proc selection_mode*(a: var TGtkList): guint = - result = (a.GtkListflag0 and bm_TGtkList_selection_mode) shr - bp_TGtkList_selection_mode - -proc set_selection_mode*(a: var TGtkList, `selection_mode`: guint) = - a.GtkListflag0 = a.GtkListflag0 or - (int16(`selection_mode` shl bp_TGtkList_selection_mode) and - bm_TGtkList_selection_mode) - -proc drag_selection*(a: var TGtkList): guint = - result = (a.GtkListflag0 and bm_TGtkList_drag_selection) shr - bp_TGtkList_drag_selection - -proc set_drag_selection*(a: var TGtkList, `drag_selection`: guint) = - a.GtkListflag0 = a.GtkListflag0 or - (int16(`drag_selection` shl bp_TGtkList_drag_selection) and - bm_TGtkList_drag_selection) - -proc add_mode*(a: var TGtkList): guint = - result = (a.GtkListflag0 and bm_TGtkList_add_mode) shr bp_TGtkList_add_mode - -proc set_add_mode*(a: var TGtkList, `add_mode`: guint) = - a.GtkListflag0 = a.GtkListflag0 or - (int16(`add_mode` shl bp_TGtkList_add_mode) and bm_TGtkList_add_mode) - -proc gtk_list_item_get_type(): GType {.importc, cdecl, dynlib: gtklib.} - -proc GTK_TYPE_LIST_ITEM*(): GType = - result = gtk_list_item_get_type() - -type - TGtkListItem = object of TGtkItem - TGtkListItemClass = object of TGtkItemClass - PGtkListItem = ptr TGtkListItem - PGtkListItemClass = ptr TGtkListItemClass - -proc GTK_LIST_ITEM*(obj: pointer): PGtkListItem = - result = cast[PGtkListItem](GTK_CHECK_CAST(obj, GTK_TYPE_LIST_ITEM())) - -proc GTK_LIST_ITEM_CLASS*(klass: pointer): PGtkListItemClass = - result = cast[PGtkListItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST_ITEM())) - -proc GTK_IS_LIST_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST_ITEM()) - -proc GTK_IS_LIST_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST_ITEM()) - -proc GTK_LIST_ITEM_GET_CLASS*(obj: pointer): PGtkListItemClass = - result = cast[PGtkListItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LIST_ITEM())) - -#proc gtk_tree_model_get_type(): GType {.importc, cdecl, dynlib: gtklib.} - -proc GTK_TYPE_TREE_MODEL*(): GType = - result = gtk_tree_model_get_type() - -proc GTK_TREE_MODEL*(obj: pointer): PGtkTreeModel = - result = cast[PGtkTreeModel](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TREE_MODEL())) - -proc GTK_IS_TREE_MODEL*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_MODEL()) - -proc GTK_TREE_MODEL_GET_IFACE*(obj: pointer): PGtkTreeModelIface = - result = cast[PGtkTreeModelIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - GTK_TYPE_TREE_MODEL())) - -proc GTK_TYPE_TREE_ITER*(): GType = - result = gtk_tree_iter_get_type() - -proc GTK_TYPE_TREE_PATH*(): GType = - result = gtk_tree_path_get_type() - -proc gtk_tree_path_new_root*(): PGtkTreePath = - result = gtk_tree_path_new_first() - -proc gtk_tree_model_get_iter_root*(tree_model: PGtkTreeModel, iter: PGtkTreeIter): gboolean = - result = gtk_tree_model_get_iter_first(tree_model, iter) - -proc GTK_TYPE_TREE_SORTABLE*(): GType = - result = gtk_tree_sortable_get_type() - -proc GTK_TREE_SORTABLE*(obj: pointer): PGtkTreeSortable = - result = cast[PGtkTreeSortable](G_TYPE_CHECK_INSTANCE_CAST(obj, - GTK_TYPE_TREE_SORTABLE())) - -proc GTK_TREE_SORTABLE_CLASS*(obj: pointer): PGtkTreeSortableIface = - result = cast[PGtkTreeSortableIface](G_TYPE_CHECK_CLASS_CAST(obj, - GTK_TYPE_TREE_SORTABLE())) - -proc GTK_IS_TREE_SORTABLE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_SORTABLE()) - -proc GTK_TREE_SORTABLE_GET_IFACE*(obj: pointer): PGtkTreeSortableIface = - result = cast[PGtkTreeSortableIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - GTK_TYPE_TREE_SORTABLE())) - -proc GTK_TYPE_TREE_MODEL_SORT*(): GType = - result = gtk_tree_model_sort_get_type() - -proc GTK_TREE_MODEL_SORT*(obj: pointer): PGtkTreeModelSort = - result = cast[PGtkTreeModelSort](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_MODEL_SORT())) - -proc GTK_TREE_MODEL_SORT_CLASS*(klass: pointer): PGtkTreeModelSortClass = - result = cast[PGtkTreeModelSortClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_TREE_MODEL_SORT())) - -proc GTK_IS_TREE_MODEL_SORT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_MODEL_SORT()) - -proc GTK_IS_TREE_MODEL_SORT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_MODEL_SORT()) - -proc GTK_TREE_MODEL_SORT_GET_CLASS*(obj: pointer): PGtkTreeModelSortClass = - result = cast[PGtkTreeModelSortClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_TREE_MODEL_SORT())) - -proc GTK_TYPE_LIST_STORE*(): GType = - result = gtk_list_store_get_type() - -proc GTK_LIST_STORE*(obj: pointer): PGtkListStore = - result = cast[PGtkListStore](GTK_CHECK_CAST(obj, GTK_TYPE_LIST_STORE())) - -proc GTK_LIST_STORE_CLASS*(klass: pointer): PGtkListStoreClass = - result = cast[PGtkListStoreClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_LIST_STORE())) - -proc GTK_IS_LIST_STORE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_LIST_STORE()) - -proc GTK_IS_LIST_STORE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_LIST_STORE()) - -proc GTK_LIST_STORE_GET_CLASS*(obj: pointer): PGtkListStoreClass = - result = cast[PGtkListStoreClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_LIST_STORE())) - -proc columns_dirty*(a: var TGtkListStore): guint = - result = (a.GtkListStoreflag0 and bm_TGtkListStore_columns_dirty) shr - bp_TGtkListStore_columns_dirty - -proc set_columns_dirty*(a: var TGtkListStore, `columns_dirty`: guint) = - a.GtkListStoreflag0 = a.GtkListStoreflag0 or - (int16(`columns_dirty` shl bp_TGtkListStore_columns_dirty) and - bm_TGtkListStore_columns_dirty) - -proc GTK_TYPE_MENU_BAR*(): GType = - result = gtk_menu_bar_get_type() - -proc GTK_MENU_BAR*(obj: pointer): PGtkMenuBar = - result = cast[PGtkMenuBar](GTK_CHECK_CAST(obj, GTK_TYPE_MENU_BAR())) - -proc GTK_MENU_BAR_CLASS*(klass: pointer): PGtkMenuBarClass = - result = cast[PGtkMenuBarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_MENU_BAR())) - -proc GTK_IS_MENU_BAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_MENU_BAR()) - -proc GTK_IS_MENU_BAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MENU_BAR()) - -proc GTK_MENU_BAR_GET_CLASS*(obj: pointer): PGtkMenuBarClass = - result = cast[PGtkMenuBarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_MENU_BAR())) - -proc gtk_menu_bar_append*(menu, child: PGtkWidget) = - gtk_menu_shell_append(cast[PGtkMenuShell](menu), child) - -proc gtk_menu_bar_prepend*(menu, child: PGtkWidget) = - gtk_menu_shell_prepend(cast[PGtkMenuShell](menu), child) - -proc gtk_menu_bar_insert*(menu, child: PGtkWidget, pos: gint) = - gtk_menu_shell_insert(cast[PGtkMenuShell](menu), child, pos) - -proc GTK_TYPE_MESSAGE_DIALOG*(): GType = - result = gtk_message_dialog_get_type() - -proc GTK_MESSAGE_DIALOG*(obj: pointer): PGtkMessageDialog = - result = cast[PGtkMessageDialog](GTK_CHECK_CAST(obj, GTK_TYPE_MESSAGE_DIALOG())) - -proc GTK_MESSAGE_DIALOG_CLASS*(klass: pointer): PGtkMessageDialogClass = - result = cast[PGtkMessageDialogClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_MESSAGE_DIALOG())) - -proc GTK_IS_MESSAGE_DIALOG*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_MESSAGE_DIALOG()) - -proc GTK_IS_MESSAGE_DIALOG_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_MESSAGE_DIALOG()) - -proc GTK_MESSAGE_DIALOG_GET_CLASS*(obj: pointer): PGtkMessageDialogClass = - result = cast[PGtkMessageDialogClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_MESSAGE_DIALOG())) - -proc GTK_TYPE_NOTEBOOK*(): GType = - result = gtk_notebook_get_type() - -proc GTK_NOTEBOOK*(obj: pointer): PGtkNotebook = - result = cast[PGtkNotebook](GTK_CHECK_CAST(obj, GTK_TYPE_NOTEBOOK())) - -proc GTK_NOTEBOOK_CLASS*(klass: pointer): PGtkNotebookClass = - result = cast[PGtkNotebookClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_NOTEBOOK())) - -proc GTK_IS_NOTEBOOK*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_NOTEBOOK()) - -proc GTK_IS_NOTEBOOK_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_NOTEBOOK()) - -proc GTK_NOTEBOOK_GET_CLASS*(obj: pointer): PGtkNotebookClass = - result = cast[PGtkNotebookClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_NOTEBOOK())) - -proc show_tabs*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_show_tabs) shr - bp_TGtkNotebook_show_tabs - -proc set_show_tabs*(a: var TGtkNotebook, `show_tabs`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`show_tabs` shl bp_TGtkNotebook_show_tabs) and - bm_TGtkNotebook_show_tabs) - -proc homogeneous*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_homogeneous) shr - bp_TGtkNotebook_homogeneous - -proc set_homogeneous*(a: var TGtkNotebook, `homogeneous`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`homogeneous` shl bp_TGtkNotebook_homogeneous) and - bm_TGtkNotebook_homogeneous) - -proc show_border*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_show_border) shr - bp_TGtkNotebook_show_border - -proc set_show_border*(a: var TGtkNotebook, `show_border`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`show_border` shl bp_TGtkNotebook_show_border) and - bm_TGtkNotebook_show_border) - -proc tab_pos*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_tab_pos) shr bp_TGtkNotebook_tab_pos - -proc set_tab_pos*(a: var TGtkNotebook, `tab_pos`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`tab_pos` shl bp_TGtkNotebook_tab_pos) and bm_TGtkNotebook_tab_pos) - -proc scrollable*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_scrollable) shr - bp_TGtkNotebook_scrollable - -proc set_scrollable*(a: var TGtkNotebook, `scrollable`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`scrollable` shl bp_TGtkNotebook_scrollable) and - bm_TGtkNotebook_scrollable) - -proc in_child*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_in_child) shr - bp_TGtkNotebook_in_child - -proc set_in_child*(a: var TGtkNotebook, `in_child`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`in_child` shl bp_TGtkNotebook_in_child) and bm_TGtkNotebook_in_child) - -proc click_child*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_click_child) shr - bp_TGtkNotebook_click_child - -proc set_click_child*(a: var TGtkNotebook, `click_child`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`click_child` shl bp_TGtkNotebook_click_child) and - bm_TGtkNotebook_click_child) - -proc button*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_button) shr bp_TGtkNotebook_button - -proc set_button*(a: var TGtkNotebook, `button`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`button` shl bp_TGtkNotebook_button) and bm_TGtkNotebook_button) - -proc need_timer*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_need_timer) shr - bp_TGtkNotebook_need_timer - -proc set_need_timer*(a: var TGtkNotebook, `need_timer`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`need_timer` shl bp_TGtkNotebook_need_timer) and - bm_TGtkNotebook_need_timer) - -proc child_has_focus*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_child_has_focus) shr - bp_TGtkNotebook_child_has_focus - -proc set_child_has_focus*(a: var TGtkNotebook, `child_has_focus`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`child_has_focus` shl bp_TGtkNotebook_child_has_focus) and - bm_TGtkNotebook_child_has_focus) - -proc have_visible_child*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_have_visible_child) shr - bp_TGtkNotebook_have_visible_child - -proc set_have_visible_child*(a: var TGtkNotebook, `have_visible_child`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`have_visible_child` shl bp_TGtkNotebook_have_visible_child) and - bm_TGtkNotebook_have_visible_child) - -proc focus_out*(a: var TGtkNotebook): guint = - result = (a.GtkNotebookflag0 and bm_TGtkNotebook_focus_out) shr - bp_TGtkNotebook_focus_out - -proc set_focus_out*(a: var TGtkNotebook, `focus_out`: guint) = - a.GtkNotebookflag0 = a.GtkNotebookflag0 or - (int16(`focus_out` shl bp_TGtkNotebook_focus_out) and - bm_TGtkNotebook_focus_out) - -proc GTK_TYPE_OLD_EDITABLE*(): GType = - result = gtk_old_editable_get_type() - -proc GTK_OLD_EDITABLE*(obj: pointer): PGtkOldEditable = - result = cast[PGtkOldEditable](GTK_CHECK_CAST(obj, GTK_TYPE_OLD_EDITABLE())) - -proc GTK_OLD_EDITABLE_CLASS*(klass: pointer): PGtkOldEditableClass = - result = cast[PGtkOldEditableClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_OLD_EDITABLE())) - -proc GTK_IS_OLD_EDITABLE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_OLD_EDITABLE()) - -proc GTK_IS_OLD_EDITABLE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OLD_EDITABLE()) - -proc GTK_OLD_EDITABLE_GET_CLASS*(obj: pointer): PGtkOldEditableClass = - result = cast[PGtkOldEditableClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_OLD_EDITABLE())) - -proc has_selection*(a: var TGtkOldEditable): guint = - result = (a.GtkOldEditableflag0 and bm_TGtkOldEditable_has_selection) shr - bp_TGtkOldEditable_has_selection - -proc set_has_selection*(a: var TGtkOldEditable, `has_selection`: guint) = - a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or - (int16(`has_selection` shl bp_TGtkOldEditable_has_selection) and - bm_TGtkOldEditable_has_selection) - -proc editable*(a: var TGtkOldEditable): guint = - result = (a.GtkOldEditableflag0 and bm_TGtkOldEditable_editable) shr - bp_TGtkOldEditable_editable - -proc set_editable*(a: var TGtkOldEditable, `editable`: guint) = - a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or - (int16(`editable` shl bp_TGtkOldEditable_editable) and - bm_TGtkOldEditable_editable) - -proc visible*(a: var TGtkOldEditable): guint = - result = (a.GtkOldEditableflag0 and bm_TGtkOldEditable_visible) shr - bp_TGtkOldEditable_visible - -proc set_visible*(a: var TGtkOldEditable, `visible`: guint) = - a.GtkOldEditableflag0 = a.GtkOldEditableflag0 or - (int16(`visible` shl bp_TGtkOldEditable_visible) and - bm_TGtkOldEditable_visible) - -proc GTK_TYPE_OPTION_MENU*(): GType = - result = gtk_option_menu_get_type() - -proc GTK_OPTION_MENU*(obj: pointer): PGtkOptionMenu = - result = cast[PGtkOptionMenu](GTK_CHECK_CAST(obj, GTK_TYPE_OPTION_MENU())) - -proc GTK_OPTION_MENU_CLASS*(klass: pointer): PGtkOptionMenuClass = - result = cast[PGtkOptionMenuClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_OPTION_MENU())) - -proc GTK_IS_OPTION_MENU*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_OPTION_MENU()) - -proc GTK_IS_OPTION_MENU_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_OPTION_MENU()) - -proc GTK_OPTION_MENU_GET_CLASS*(obj: pointer): PGtkOptionMenuClass = - result = cast[PGtkOptionMenuClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_OPTION_MENU())) - -proc GTK_TYPE_PIXMAP*(): GType = - result = gtk_pixmap_get_type() - -proc GTK_PIXMAP*(obj: pointer): PGtkPixmap = - result = cast[PGtkPixmap](GTK_CHECK_CAST(obj, GTK_TYPE_PIXMAP())) - -proc GTK_PIXMAP_CLASS*(klass: pointer): PGtkPixmapClass = - result = cast[PGtkPixmapClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PIXMAP())) - -proc GTK_IS_PIXMAP*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_PIXMAP()) - -proc GTK_IS_PIXMAP_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PIXMAP()) - -proc GTK_PIXMAP_GET_CLASS*(obj: pointer): PGtkPixmapClass = - result = cast[PGtkPixmapClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PIXMAP())) - -proc build_insensitive*(a: var TGtkPixmap): guint = - result = (a.GtkPixmapflag0 and bm_TGtkPixmap_build_insensitive) shr - bp_TGtkPixmap_build_insensitive - -proc set_build_insensitive*(a: var TGtkPixmap, `build_insensitive`: guint) = - a.GtkPixmapflag0 = a.GtkPixmapflag0 or - (int16(`build_insensitive` shl bp_TGtkPixmap_build_insensitive) and - bm_TGtkPixmap_build_insensitive) - -proc GTK_TYPE_PLUG*(): GType = - result = gtk_plug_get_type() - -proc GTK_PLUG*(obj: pointer): PGtkPlug = - result = cast[PGtkPlug](GTK_CHECK_CAST(obj, GTK_TYPE_PLUG())) - -proc GTK_PLUG_CLASS*(klass: pointer): PGtkPlugClass = - result = cast[PGtkPlugClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PLUG())) - -proc GTK_IS_PLUG*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_PLUG()) - -proc GTK_IS_PLUG_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PLUG()) - -proc GTK_PLUG_GET_CLASS*(obj: pointer): PGtkPlugClass = - result = cast[PGtkPlugClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PLUG())) - -proc same_app*(a: var TGtkPlug): guint = - result = (a.GtkPlugflag0 and bm_TGtkPlug_same_app) shr bp_TGtkPlug_same_app - -proc set_same_app*(a: var TGtkPlug, `same_app`: guint) = - a.GtkPlugflag0 = a.GtkPlugflag0 or - (int16(`same_app` shl bp_TGtkPlug_same_app) and bm_TGtkPlug_same_app) - -proc GTK_TYPE_PREVIEW*(): GType = - result = gtk_preview_get_type() - -proc GTK_PREVIEW*(obj: pointer): PGtkPreview = - result = cast[PGtkPreview](GTK_CHECK_CAST(obj, GTK_TYPE_PREVIEW())) - -proc GTK_PREVIEW_CLASS*(klass: pointer): PGtkPreviewClass = - result = cast[PGtkPreviewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PREVIEW())) - -proc GTK_IS_PREVIEW*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_PREVIEW()) - -proc GTK_IS_PREVIEW_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PREVIEW()) - -proc GTK_PREVIEW_GET_CLASS*(obj: pointer): PGtkPreviewClass = - result = cast[PGtkPreviewClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PREVIEW())) - -proc get_type*(a: var TGtkPreview): guint = - result = (a.GtkPreviewflag0 and bm_TGtkPreview_type) shr bp_TGtkPreview_type - -proc set_type*(a: var TGtkPreview, `type`: guint) = - a.GtkPreviewflag0 = a.GtkPreviewflag0 or - (int16(`type` shl bp_TGtkPreview_type) and bm_TGtkPreview_type) - -proc get_expand*(a: var TGtkPreview): guint = - result = (a.GtkPreviewflag0 and bm_TGtkPreview_expand) shr bp_TGtkPreview_expand - -proc set_expand*(a: var TGtkPreview, `expand`: guint) = - a.GtkPreviewflag0 = a.GtkPreviewflag0 or - (int16(`expand` shl bp_TGtkPreview_expand) and bm_TGtkPreview_expand) - -proc gtk_progress_get_type(): GType {.importc, cdecl, dynlib: gtklib.} - -proc GTK_TYPE_PROGRESS*(): GType = - result = gtk_progress_get_type() - -proc GTK_PROGRESS*(obj: pointer): PGtkProgress = - result = cast[PGtkProgress](GTK_CHECK_CAST(obj, GTK_TYPE_PROGRESS())) - -proc GTK_PROGRESS_CLASS*(klass: pointer): PGtkProgressClass = - result = cast[PGtkProgressClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_PROGRESS())) - -proc GTK_IS_PROGRESS*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_PROGRESS()) - -proc GTK_IS_PROGRESS_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PROGRESS()) - -proc GTK_PROGRESS_GET_CLASS*(obj: pointer): PGtkProgressClass = - result = cast[PGtkProgressClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PROGRESS())) - -proc show_text*(a: var TGtkProgress): guint = - result = (a.GtkProgressflag0 and bm_TGtkProgress_show_text) shr - bp_TGtkProgress_show_text - -proc set_show_text*(a: var TGtkProgress, `show_text`: guint) = - a.GtkProgressflag0 = a.GtkProgressflag0 or - (int16(`show_text` shl bp_TGtkProgress_show_text) and - bm_TGtkProgress_show_text) - -proc activity_mode*(a: var TGtkProgress): guint = - result = (a.GtkProgressflag0 and bm_TGtkProgress_activity_mode) shr - bp_TGtkProgress_activity_mode - -proc set_activity_mode*(a: var TGtkProgress, `activity_mode`: guint) = - a.GtkProgressflag0 = a.GtkProgressflag0 or - (int16(`activity_mode` shl bp_TGtkProgress_activity_mode) and - bm_TGtkProgress_activity_mode) - -proc use_text_format*(a: var TGtkProgress): guint = - result = (a.GtkProgressflag0 and bm_TGtkProgress_use_text_format) shr - bp_TGtkProgress_use_text_format - -proc set_use_text_format*(a: var TGtkProgress, `use_text_format`: guint) = - a.GtkProgressflag0 = a.GtkProgressflag0 or - (int16(`use_text_format` shl bp_TGtkProgress_use_text_format) and - bm_TGtkProgress_use_text_format) - -proc GTK_TYPE_PROGRESS_BAR*(): GType = - result = gtk_progress_bar_get_type() - -proc GTK_PROGRESS_BAR*(obj: pointer): PGtkProgressBar = - result = cast[PGtkProgressBar](GTK_CHECK_CAST(obj, GTK_TYPE_PROGRESS_BAR())) - -proc GTK_PROGRESS_BAR_CLASS*(klass: pointer): PGtkProgressBarClass = - result = cast[PGtkProgressBarClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_PROGRESS_BAR())) - -proc GTK_IS_PROGRESS_BAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_PROGRESS_BAR()) - -proc GTK_IS_PROGRESS_BAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_PROGRESS_BAR()) - -proc GTK_PROGRESS_BAR_GET_CLASS*(obj: pointer): PGtkProgressBarClass = - result = cast[PGtkProgressBarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_PROGRESS_BAR())) - -proc activity_dir*(a: var TGtkProgressBar): guint = - result = (a.GtkProgressBarflag0 and bm_TGtkProgressBar_activity_dir) shr - bp_TGtkProgressBar_activity_dir - -proc set_activity_dir*(a: var TGtkProgressBar, `activity_dir`: guint) = - a.GtkProgressBarflag0 = a.GtkProgressBarflag0 or - (int16(`activity_dir` shl bp_TGtkProgressBar_activity_dir) and - bm_TGtkProgressBar_activity_dir) - -proc GTK_TYPE_RADIO_BUTTON*(): GType = - result = gtk_radio_button_get_type() - -proc GTK_RADIO_BUTTON*(obj: pointer): PGtkRadioButton = - result = cast[PGtkRadioButton](GTK_CHECK_CAST(obj, GTK_TYPE_RADIO_BUTTON())) - -proc GTK_RADIO_BUTTON_CLASS*(klass: pointer): PGtkRadioButtonClass = - result = cast[PGtkRadioButtonClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_RADIO_BUTTON())) - -proc GTK_IS_RADIO_BUTTON*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_RADIO_BUTTON()) - -proc GTK_IS_RADIO_BUTTON_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RADIO_BUTTON()) - -proc GTK_RADIO_BUTTON_GET_CLASS*(obj: pointer): PGtkRadioButtonClass = - result = cast[PGtkRadioButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_RADIO_BUTTON())) - -proc GTK_TYPE_RADIO_MENU_ITEM*(): GType = - result = gtk_radio_menu_item_get_type() - -proc GTK_RADIO_MENU_ITEM*(obj: pointer): PGtkRadioMenuItem = - result = cast[PGtkRadioMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_RADIO_MENU_ITEM())) - -proc GTK_RADIO_MENU_ITEM_CLASS*(klass: pointer): PGtkRadioMenuItemClass = - result = cast[PGtkRadioMenuItemClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_RADIO_MENU_ITEM())) - -proc GTK_IS_RADIO_MENU_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_RADIO_MENU_ITEM()) - -proc GTK_IS_RADIO_MENU_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_RADIO_MENU_ITEM()) - -proc GTK_RADIO_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkRadioMenuItemClass = - result = cast[PGtkRadioMenuItemClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_RADIO_MENU_ITEM())) - -proc GTK_TYPE_SCROLLED_WINDOW*(): GType = - result = gtk_scrolled_window_get_type() - -proc GTK_SCROLLED_WINDOW*(obj: pointer): PGtkScrolledWindow = - result = cast[PGtkScrolledWindow](GTK_CHECK_CAST(obj, GTK_TYPE_SCROLLED_WINDOW())) - -proc GTK_SCROLLED_WINDOW_CLASS*(klass: pointer): PGtkScrolledWindowClass = - result = cast[PGtkScrolledWindowClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_SCROLLED_WINDOW())) - -proc GTK_IS_SCROLLED_WINDOW*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SCROLLED_WINDOW()) - -proc GTK_IS_SCROLLED_WINDOW_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SCROLLED_WINDOW()) - -proc GTK_SCROLLED_WINDOW_GET_CLASS*(obj: pointer): PGtkScrolledWindowClass = - result = cast[PGtkScrolledWindowClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_SCROLLED_WINDOW())) - -proc hscrollbar_policy*(a: var TGtkScrolledWindow): guint = - result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_hscrollbar_policy) shr - bp_TGtkScrolledWindow_hscrollbar_policy - -proc set_hscrollbar_policy*(a: var TGtkScrolledWindow, - `hscrollbar_policy`: guint) = - a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or - (int16(`hscrollbar_policy` shl bp_TGtkScrolledWindow_hscrollbar_policy) and - bm_TGtkScrolledWindow_hscrollbar_policy) - -proc vscrollbar_policy*(a: var TGtkScrolledWindow): guint = - result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_vscrollbar_policy) shr - bp_TGtkScrolledWindow_vscrollbar_policy - -proc set_vscrollbar_policy*(a: var TGtkScrolledWindow, - `vscrollbar_policy`: guint) = - a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or - (int16(`vscrollbar_policy` shl bp_TGtkScrolledWindow_vscrollbar_policy) and - bm_TGtkScrolledWindow_vscrollbar_policy) - -proc hscrollbar_visible*(a: var TGtkScrolledWindow): guint = - result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_hscrollbar_visible) shr - bp_TGtkScrolledWindow_hscrollbar_visible - -proc set_hscrollbar_visible*(a: var TGtkScrolledWindow, - `hscrollbar_visible`: guint) = - a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or - (int16(`hscrollbar_visible` shl bp_TGtkScrolledWindow_hscrollbar_visible) and - bm_TGtkScrolledWindow_hscrollbar_visible) - -proc vscrollbar_visible*(a: var TGtkScrolledWindow): guint = - result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_vscrollbar_visible) shr - bp_TGtkScrolledWindow_vscrollbar_visible - -proc set_vscrollbar_visible*(a: var TGtkScrolledWindow, - `vscrollbar_visible`: guint) = - a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or - int16((`vscrollbar_visible` shl bp_TGtkScrolledWindow_vscrollbar_visible) and - bm_TGtkScrolledWindow_vscrollbar_visible) - -proc window_placement*(a: var TGtkScrolledWindow): guint = - result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_window_placement) shr - bp_TGtkScrolledWindow_window_placement - -proc set_window_placement*(a: var TGtkScrolledWindow, `window_placement`: guint) = - a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or - (int16(`window_placement` shl bp_TGtkScrolledWindow_window_placement) and - bm_TGtkScrolledWindow_window_placement) - -proc focus_out*(a: var TGtkScrolledWindow): guint = - result = (a.GtkScrolledWindowflag0 and bm_TGtkScrolledWindow_focus_out) shr - bp_TGtkScrolledWindow_focus_out - -proc set_focus_out*(a: var TGtkScrolledWindow, `focus_out`: guint) = - a.GtkScrolledWindowflag0 = a.GtkScrolledWindowflag0 or - (int16(`focus_out` shl bp_TGtkScrolledWindow_focus_out) and - bm_TGtkScrolledWindow_focus_out) - -proc GTK_TYPE_SELECTION_DATA*(): GType = - result = gtk_selection_data_get_type() - -proc GTK_TYPE_SEPARATOR_MENU_ITEM*(): GType = - result = gtk_separator_menu_item_get_type() - -proc GTK_SEPARATOR_MENU_ITEM*(obj: pointer): PGtkSeparatorMenuItem = - result = cast[PGtkSeparatorMenuItem](GTK_CHECK_CAST(obj, - GTK_TYPE_SEPARATOR_MENU_ITEM())) - -proc GTK_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): PGtkSeparatorMenuItemClass = - result = cast[PGtkSeparatorMenuItemClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_SEPARATOR_MENU_ITEM())) - -proc GTK_IS_SEPARATOR_MENU_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SEPARATOR_MENU_ITEM()) - -proc GTK_IS_SEPARATOR_MENU_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SEPARATOR_MENU_ITEM()) - -proc GTK_SEPARATOR_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkSeparatorMenuItemClass = - result = cast[PGtkSeparatorMenuItemClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_SEPARATOR_MENU_ITEM())) - -proc gtk_signal_lookup*(name: cstring, object_type: GType): guint = - result = g_signal_lookup(name, object_type) - -proc gtk_signal_name*(signal_id: guint): cstring = - result = g_signal_name(signal_id) - -proc gtk_signal_emit_stop*(instance: gpointer, signal_id: guint, detail: TGQuark) = - if detail != 0'i32: g_signal_stop_emission(instance, signal_id, 0) - -proc gtk_signal_connect_full*(anObject: PGtkObject, name: cstring, - fun: TGtkSignalFunc, unknown1: pointer, - func_data: gpointer, unknown2: pointer, - unknown3, unknown4: int): gulong {. - importc, cdecl, dynlib: gtklib.} - -proc gtk_signal_compat_matched*(anObject: PGtkObject, fun: TGtkSignalFunc, - data: gpointer, m: TGSignalMatchType, - u: int) {.importc, cdecl, dynlib: gtklib.} - -proc gtk_signal_connect*(anObject: PGtkObject, name: cstring, - fun: TGtkSignalFunc, func_data: gpointer): gulong = - result = gtk_signal_connect_full(anObject, name, fun, nil, func_data, nil, - 0, 0) - -proc gtk_signal_connect_after*(anObject: PGtkObject, name: cstring, - fun: TGtkSignalFunc, func_data: gpointer): gulong = - result = gtk_signal_connect_full(anObject, name, fun, nil, func_data, nil, - 0, 1) - -proc gtk_signal_connect_object*(anObject: PGtkObject, name: cstring, - fun: TGtkSignalFunc, slot_object: gpointer): gulong = - result = gtk_signal_connect_full(anObject, name, fun, nil, slot_object, nil, - 1, 0) - -proc gtk_signal_connect_object_after*(anObject: PGtkObject, name: cstring, - fun: TGtkSignalFunc, - slot_object: gpointer): gulong = - result = gtk_signal_connect_full(anObject, name, fun, nil, slot_object, nil, - 1, 1) - -proc gtk_signal_disconnect*(anObject: gpointer, handler_id: gulong) = - g_signal_handler_disconnect(anObject, handler_id) - -proc gtk_signal_handler_block*(anObject: gpointer, handler_id: gulong) = - g_signal_handler_block(anObject, handler_id) - -proc gtk_signal_handler_unblock*(anObject: gpointer, handler_id: gulong) = - g_signal_handler_unblock(anObject, handler_id) - -proc gtk_signal_disconnect_by_data*(anObject: PGtkObject, data: gpointer) = - gtk_signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 0) - -proc gtk_signal_disconnect_by_func*(anObject: PGtkObject, fun: TGtkSignalFunc, - data: gpointer) = - gtk_signal_compat_matched(anObject, fun, data, cast[TGSignalMatchType]( - G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0) - -proc gtk_signal_handler_block_by_func*(anObject: PGtkObject, - fun: TGtkSignalFunc, data: gpointer) = - gtk_signal_compat_matched(anObject, fun, data, TGSignalMatchType( - G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0) - -proc gtk_signal_handler_block_by_data*(anObject: PGtkObject, data: gpointer) = - gtk_signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 1) - -proc gtk_signal_handler_unblock_by_func*(anObject: PGtkObject, - fun: TGtkSignalFunc, data: gpointer) = - gtk_signal_compat_matched(anObject, fun, data, cast[TGSignalMatchType]( - G_SIGNAL_MATCH_FUNC or G_SIGNAL_MATCH_DATA), 0) - -proc gtk_signal_handler_unblock_by_data*(anObject: PGtkObject, data: gpointer) = - gtk_signal_compat_matched(anObject, nil, data, G_SIGNAL_MATCH_DATA, 2) - -proc gtk_signal_handler_pending*(anObject: PGtkObject, signal_id: guint, - may_be_blocked: gboolean): gboolean = - Result = g_signal_has_handler_pending(anObject, signal_id, 0, may_be_blocked) - -proc gtk_signal_handler_pending_by_func*(anObject: PGtkObject, signal_id: guint, - may_be_blocked: gboolean, fun: TGtkSignalFunc, data: gpointer): gboolean = - var t: TGSignalMatchType - t = cast[TGSignalMatchType](G_SIGNAL_MATCH_ID or G_SIGNAL_MATCH_FUNC or - G_SIGNAL_MATCH_DATA) - if not may_be_blocked: - t = t or cast[TGSignalMatchType](G_SIGNAL_MATCH_UNBLOCKED) - Result = g_signal_handler_find(anObject, t, signal_id, 0, nil, fun, - data) != 0 - -proc GTK_TYPE_SIZE_GROUP*(): GType = - result = gtk_size_group_get_type() - -proc GTK_SIZE_GROUP*(obj: pointer): PGtkSizeGroup = - result = cast[PGtkSizeGroup](GTK_CHECK_CAST(obj, GTK_TYPE_SIZE_GROUP())) - -proc GTK_SIZE_GROUP_CLASS*(klass: pointer): PGtkSizeGroupClass = - result = cast[PGtkSizeGroupClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SIZE_GROUP())) - -proc GTK_IS_SIZE_GROUP*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SIZE_GROUP()) - -proc GTK_IS_SIZE_GROUP_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SIZE_GROUP()) - -proc GTK_SIZE_GROUP_GET_CLASS*(obj: pointer): PGtkSizeGroupClass = - result = cast[PGtkSizeGroupClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SIZE_GROUP())) - -proc have_width*(a: var TGtkSizeGroup): guint = - result = (a.GtkSizeGroupflag0 and bm_TGtkSizeGroup_have_width) shr - bp_TGtkSizeGroup_have_width - -proc set_have_width*(a: var TGtkSizeGroup, `have_width`: guint) = - a.GtkSizeGroupflag0 = a.GtkSizeGroupflag0 or - (int16(`have_width` shl bp_TGtkSizeGroup_have_width) and - bm_TGtkSizeGroup_have_width) - -proc have_height*(a: var TGtkSizeGroup): guint = - result = (a.GtkSizeGroupflag0 and bm_TGtkSizeGroup_have_height) shr - bp_TGtkSizeGroup_have_height - -proc set_have_height*(a: var TGtkSizeGroup, `have_height`: guint) = - a.GtkSizeGroupflag0 = a.GtkSizeGroupflag0 or - (int16(`have_height` shl bp_TGtkSizeGroup_have_height) and - bm_TGtkSizeGroup_have_height) - -proc GTK_TYPE_SOCKET*(): GType = - result = gtk_socket_get_type() - -proc GTK_SOCKET*(obj: pointer): PGtkSocket = - result = cast[PGtkSocket](GTK_CHECK_CAST(obj, GTK_TYPE_SOCKET())) - -proc GTK_SOCKET_CLASS*(klass: pointer): PGtkSocketClass = - result = cast[PGtkSocketClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SOCKET())) - -proc GTK_IS_SOCKET*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SOCKET()) - -proc GTK_IS_SOCKET_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SOCKET()) - -proc GTK_SOCKET_GET_CLASS*(obj: pointer): PGtkSocketClass = - result = cast[PGtkSocketClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SOCKET())) - -proc same_app*(a: var TGtkSocket): guint = - result = (a.GtkSocketflag0 and bm_TGtkSocket_same_app) shr bp_TGtkSocket_same_app - -proc set_same_app*(a: var TGtkSocket, `same_app`: guint) = - a.GtkSocketflag0 = a.GtkSocketflag0 or - (int16(`same_app` shl bp_TGtkSocket_same_app) and bm_TGtkSocket_same_app) - -proc focus_in*(a: var TGtkSocket): guint = - result = (a.GtkSocketflag0 and bm_TGtkSocket_focus_in) shr bp_TGtkSocket_focus_in - -proc set_focus_in*(a: var TGtkSocket, `focus_in`: guint) = - a.GtkSocketflag0 = a.GtkSocketflag0 or - (int16(`focus_in` shl bp_TGtkSocket_focus_in) and bm_TGtkSocket_focus_in) - -proc have_size*(a: var TGtkSocket): guint = - result = (a.GtkSocketflag0 and bm_TGtkSocket_have_size) shr bp_TGtkSocket_have_size - -proc set_have_size*(a: var TGtkSocket, `have_size`: guint) = - a.GtkSocketflag0 = a.GtkSocketflag0 or - (int16(`have_size` shl bp_TGtkSocket_have_size) and bm_TGtkSocket_have_size) - -proc need_map*(a: var TGtkSocket): guint = - result = (a.GtkSocketflag0 and bm_TGtkSocket_need_map) shr bp_TGtkSocket_need_map - -proc set_need_map*(a: var TGtkSocket, `need_map`: guint) = - a.GtkSocketflag0 = a.GtkSocketflag0 or - (int16(`need_map` shl bp_TGtkSocket_need_map) and bm_TGtkSocket_need_map) - -proc is_mapped*(a: var TGtkSocket): guint = - result = (a.GtkSocketflag0 and bm_TGtkSocket_is_mapped) shr bp_TGtkSocket_is_mapped - -proc set_is_mapped*(a: var TGtkSocket, `is_mapped`: guint) = - a.GtkSocketflag0 = a.GtkSocketflag0 or - (int16(`is_mapped` shl bp_TGtkSocket_is_mapped) and bm_TGtkSocket_is_mapped) - -proc GTK_TYPE_SPIN_BUTTON*(): GType = - result = gtk_spin_button_get_type() - -proc GTK_SPIN_BUTTON*(obj: pointer): PGtkSpinButton = - result = cast[PGtkSpinButton](GTK_CHECK_CAST(obj, GTK_TYPE_SPIN_BUTTON())) - -proc GTK_SPIN_BUTTON_CLASS*(klass: pointer): PGtkSpinButtonClass = - result = cast[PGtkSpinButtonClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_SPIN_BUTTON())) - -proc GTK_IS_SPIN_BUTTON*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_SPIN_BUTTON()) - -proc GTK_IS_SPIN_BUTTON_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_SPIN_BUTTON()) - -proc GTK_SPIN_BUTTON_GET_CLASS*(obj: pointer): PGtkSpinButtonClass = - result = cast[PGtkSpinButtonClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_SPIN_BUTTON())) - -proc in_child*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_in_child) shr - bp_TGtkSpinButton_in_child - -proc set_in_child*(a: var TGtkSpinButton, `in_child`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`in_child` shl bp_TGtkSpinButton_in_child) and - bm_TGtkSpinButton_in_child) - -proc click_child*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_click_child) shr - bp_TGtkSpinButton_click_child - -proc set_click_child*(a: var TGtkSpinButton, `click_child`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`click_child` shl bp_TGtkSpinButton_click_child) and - bm_TGtkSpinButton_click_child) - -proc button*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_button) shr - bp_TGtkSpinButton_button - -proc set_button*(a: var TGtkSpinButton, `button`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`button` shl bp_TGtkSpinButton_button) and bm_TGtkSpinButton_button) - -proc need_timer*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_need_timer) shr - bp_TGtkSpinButton_need_timer - -proc set_need_timer*(a: var TGtkSpinButton, `need_timer`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`need_timer` shl bp_TGtkSpinButton_need_timer) and - bm_TGtkSpinButton_need_timer) - -proc timer_calls*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_timer_calls) shr - bp_TGtkSpinButton_timer_calls - -proc set_timer_calls*(a: var TGtkSpinButton, `timer_calls`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`timer_calls` shl bp_TGtkSpinButton_timer_calls) and - bm_TGtkSpinButton_timer_calls) - -proc digits*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_digits) shr - bp_TGtkSpinButton_digits - -proc set_digits*(a: var TGtkSpinButton, `digits`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`digits` shl bp_TGtkSpinButton_digits) and bm_TGtkSpinButton_digits) - -proc numeric*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_numeric) shr - bp_TGtkSpinButton_numeric - -proc set_numeric*(a: var TGtkSpinButton, `numeric`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`numeric` shl bp_TGtkSpinButton_numeric) and - bm_TGtkSpinButton_numeric) - -proc wrap*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_wrap) shr bp_TGtkSpinButton_wrap - -proc set_wrap*(a: var TGtkSpinButton, `wrap`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`wrap` shl bp_TGtkSpinButton_wrap) and bm_TGtkSpinButton_wrap) - -proc snap_to_ticks*(a: var TGtkSpinButton): guint = - result = (a.GtkSpinButtonflag0 and bm_TGtkSpinButton_snap_to_ticks) shr - bp_TGtkSpinButton_snap_to_ticks - -proc set_snap_to_ticks*(a: var TGtkSpinButton, `snap_to_ticks`: guint) = - a.GtkSpinButtonflag0 = a.GtkSpinButtonflag0 or - ((`snap_to_ticks` shl bp_TGtkSpinButton_snap_to_ticks) and - bm_TGtkSpinButton_snap_to_ticks) - -proc GTK_TYPE_STATUSBAR*(): GType = - result = gtk_statusbar_get_type() - -proc GTK_STATUSBAR*(obj: pointer): PGtkStatusbar = - result = cast[PGtkStatusbar](GTK_CHECK_CAST(obj, GTK_TYPE_STATUSBAR())) - -proc GTK_STATUSBAR_CLASS*(klass: pointer): PGtkStatusbarClass = - result = cast[PGtkStatusbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_STATUSBAR())) - -proc GTK_IS_STATUSBAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_STATUSBAR()) - -proc GTK_IS_STATUSBAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_STATUSBAR()) - -proc GTK_STATUSBAR_GET_CLASS*(obj: pointer): PGtkStatusbarClass = - result = cast[PGtkStatusbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_STATUSBAR())) - -proc has_resize_grip*(a: var TGtkStatusbar): guint = - result = (a.GtkStatusbarflag0 and bm_TGtkStatusbar_has_resize_grip) shr - bp_TGtkStatusbar_has_resize_grip - -proc set_has_resize_grip*(a: var TGtkStatusbar, `has_resize_grip`: guint) = - a.GtkStatusbarflag0 = a.GtkStatusbarflag0 or - (int16(`has_resize_grip` shl bp_TGtkStatusbar_has_resize_grip) and - bm_TGtkStatusbar_has_resize_grip) - -proc GTK_TYPE_TABLE*(): GType = - result = gtk_table_get_type() - -proc GTK_TABLE*(obj: pointer): PGtkTable = - result = cast[PGtkTable](GTK_CHECK_CAST(obj, GTK_TYPE_TABLE())) - -proc GTK_TABLE_CLASS*(klass: pointer): PGtkTableClass = - result = cast[PGtkTableClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TABLE())) - -proc GTK_IS_TABLE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TABLE()) - -proc GTK_IS_TABLE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TABLE()) - -proc GTK_TABLE_GET_CLASS*(obj: pointer): PGtkTableClass = - result = cast[PGtkTableClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TABLE())) - -proc homogeneous*(a: var TGtkTable): guint = - result = (a.GtkTableflag0 and bm_TGtkTable_homogeneous) shr - bp_TGtkTable_homogeneous - -proc set_homogeneous*(a: var TGtkTable, `homogeneous`: guint) = - a.GtkTableflag0 = a.GtkTableflag0 or - (int16(`homogeneous` shl bp_TGtkTable_homogeneous) and - bm_TGtkTable_homogeneous) - -proc xexpand*(a: var TGtkTableChild): guint = - result = (a.GtkTableChildflag0 and bm_TGtkTableChild_xexpand) shr - bp_TGtkTableChild_xexpand - -proc set_xexpand*(a: var TGtkTableChild, `xexpand`: guint) = - a.GtkTableChildflag0 = a.GtkTableChildflag0 or - (int16(`xexpand` shl bp_TGtkTableChild_xexpand) and - bm_TGtkTableChild_xexpand) - -proc yexpand*(a: var TGtkTableChild): guint = - result = (a.GtkTableChildflag0 and bm_TGtkTableChild_yexpand) shr - bp_TGtkTableChild_yexpand - -proc set_yexpand*(a: var TGtkTableChild, `yexpand`: guint) = - a.GtkTableChildflag0 = a.GtkTableChildflag0 or - (int16(`yexpand` shl bp_TGtkTableChild_yexpand) and - bm_TGtkTableChild_yexpand) - -proc xshrink*(a: var TGtkTableChild): guint = - result = (a.GtkTableChildflag0 and bm_TGtkTableChild_xshrink) shr - bp_TGtkTableChild_xshrink - -proc set_xshrink*(a: var TGtkTableChild, `xshrink`: guint) = - a.GtkTableChildflag0 = a.GtkTableChildflag0 or - (int16(`xshrink` shl bp_TGtkTableChild_xshrink) and - bm_TGtkTableChild_xshrink) - -proc yshrink*(a: var TGtkTableChild): guint = - result = (a.GtkTableChildflag0 and bm_TGtkTableChild_yshrink) shr - bp_TGtkTableChild_yshrink - -proc set_yshrink*(a: var TGtkTableChild, `yshrink`: guint) = - a.GtkTableChildflag0 = a.GtkTableChildflag0 or - (int16(`yshrink` shl bp_TGtkTableChild_yshrink) and - bm_TGtkTableChild_yshrink) - -proc xfill*(a: var TGtkTableChild): guint = - result = (a.GtkTableChildflag0 and bm_TGtkTableChild_xfill) shr bp_TGtkTableChild_xfill - -proc set_xfill*(a: var TGtkTableChild, `xfill`: guint) = - a.GtkTableChildflag0 = a.GtkTableChildflag0 or - (int16(`xfill` shl bp_TGtkTableChild_xfill) and bm_TGtkTableChild_xfill) - -proc yfill*(a: var TGtkTableChild): guint = - result = (a.GtkTableChildflag0 and bm_TGtkTableChild_yfill) shr bp_TGtkTableChild_yfill - -proc set_yfill*(a: var TGtkTableChild, `yfill`: guint) = - a.GtkTableChildflag0 = a.GtkTableChildflag0 or - (int16(`yfill` shl bp_TGtkTableChild_yfill) and bm_TGtkTableChild_yfill) - -proc need_expand*(a: var TGtkTableRowCol): guint = - result = (a.flag0 and bm_TGtkTableRowCol_need_expand) shr - bp_TGtkTableRowCol_need_expand - -proc set_need_expand*(a: var TGtkTableRowCol, `need_expand`: guint) = - a.flag0 = a.flag0 or - (int16(`need_expand` shl bp_TGtkTableRowCol_need_expand) and - bm_TGtkTableRowCol_need_expand) - -proc need_shrink*(a: var TGtkTableRowCol): guint = - result = (a.flag0 and bm_TGtkTableRowCol_need_shrink) shr - bp_TGtkTableRowCol_need_shrink - -proc set_need_shrink*(a: var TGtkTableRowCol, `need_shrink`: guint) = - a.flag0 = a.flag0 or - (int16(`need_shrink` shl bp_TGtkTableRowCol_need_shrink) and - bm_TGtkTableRowCol_need_shrink) - -proc expand*(a: var TGtkTableRowCol): guint = - result = (a.flag0 and bm_TGtkTableRowCol_expand) shr - bp_TGtkTableRowCol_expand - -proc set_expand*(a: var TGtkTableRowCol, `expand`: guint) = - a.flag0 = a.flag0 or - (int16(`expand` shl bp_TGtkTableRowCol_expand) and bm_TGtkTableRowCol_expand) - -proc shrink*(a: var TGtkTableRowCol): guint = - result = (a.flag0 and bm_TGtkTableRowCol_shrink) shr - bp_TGtkTableRowCol_shrink - -proc set_shrink*(a: var TGtkTableRowCol, `shrink`: guint) = - a.flag0 = a.flag0 or - (int16(`shrink` shl bp_TGtkTableRowCol_shrink) and bm_TGtkTableRowCol_shrink) - -proc empty*(a: var TGtkTableRowCol): guint = - result = (a.flag0 and bm_TGtkTableRowCol_empty) shr - bp_TGtkTableRowCol_empty - -proc set_empty*(a: var TGtkTableRowCol, `empty`: guint) = - a.flag0 = a.flag0 or - (int16(`empty` shl bp_TGtkTableRowCol_empty) and bm_TGtkTableRowCol_empty) - -proc GTK_TYPE_TEAROFF_MENU_ITEM*(): GType = - result = gtk_tearoff_menu_item_get_type() - -proc GTK_TEAROFF_MENU_ITEM*(obj: pointer): PGtkTearoffMenuItem = - result = cast[PGtkTearoffMenuItem](GTK_CHECK_CAST(obj, GTK_TYPE_TEAROFF_MENU_ITEM())) - -proc GTK_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): PGtkTearoffMenuItemClass = - result = cast[PGtkTearoffMenuItemClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_TEAROFF_MENU_ITEM())) - -proc GTK_IS_TEAROFF_MENU_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEAROFF_MENU_ITEM()) - -proc GTK_IS_TEAROFF_MENU_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEAROFF_MENU_ITEM()) - -proc GTK_TEAROFF_MENU_ITEM_GET_CLASS*(obj: pointer): PGtkTearoffMenuItemClass = - result = cast[PGtkTearoffMenuItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TEAROFF_MENU_ITEM())) - -proc torn_off*(a: var TGtkTearoffMenuItem): guint = - result = (a.GtkTearoffMenuItemflag0 and bm_TGtkTearoffMenuItem_torn_off) shr - bp_TGtkTearoffMenuItem_torn_off - -proc set_torn_off*(a: var TGtkTearoffMenuItem, `torn_off`: guint) = - a.GtkTearoffMenuItemflag0 = a.GtkTearoffMenuItemflag0 or - (int16(`torn_off` shl bp_TGtkTearoffMenuItem_torn_off) and - bm_TGtkTearoffMenuItem_torn_off) - -proc GTK_TYPE_TEXT*(): GType = - result = gtk_text_get_type() - -proc GTK_TEXT*(obj: pointer): PGtkText = - result = cast[PGtkText](GTK_CHECK_CAST(obj, GTK_TYPE_TEXT())) - -proc GTK_TEXT_CLASS*(klass: pointer): PGtkTextClass = - result = cast[PGtkTextClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT())) - -proc GTK_IS_TEXT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEXT()) - -proc GTK_IS_TEXT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT()) - -proc GTK_TEXT_GET_CLASS*(obj: pointer): PGtkTextClass = - result = cast[PGtkTextClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TEXT())) - -proc line_wrap*(a: PGtkText): guint = - result = (a.GtkTextflag0 and bm_TGtkText_line_wrap) shr bp_TGtkText_line_wrap - -proc set_line_wrap*(a: PGtkText, `line_wrap`: guint) = - a.GtkTextflag0 = a.GtkTextflag0 or - (int16(`line_wrap` shl bp_TGtkText_line_wrap) and bm_TGtkText_line_wrap) - -proc word_wrap*(a: PGtkText): guint = - result = (a . GtkTextflag0 and bm_TGtkText_word_wrap) shr bp_TGtkText_word_wrap - -proc set_word_wrap*(a: PGtkText, `word_wrap`: guint) = - a.GtkTextflag0 = a.GtkTextflag0 or - (int16(`word_wrap` shl bp_TGtkText_word_wrap) and bm_TGtkText_word_wrap) - -proc use_wchar*(a: PGtkText): gboolean = - result = ((a.GtkTextflag0 and bm_TGtkText_use_wchar) shr bp_TGtkText_use_wchar) > - 0'i16 - -proc set_use_wchar*(a: PGtkText, `use_wchar`: gboolean) = - if `use_wchar`: - a . GtkTextflag0 = a . GtkTextflag0 or bm_TGtkText_use_wchar - else: - a . GtkTextflag0 = a . GtkTextflag0 and not bm_TGtkText_use_wchar - -proc GTK_TEXT_INDEX_WCHAR*(t: PGtkText, index: guint): guint32 = - nil - -proc GTK_TEXT_INDEX_UCHAR*(t: PGtkText, index: guint): GUChar = - nil - -proc GTK_TYPE_TEXT_ITER*(): GType = - result = gtk_text_iter_get_type() - -proc GTK_TYPE_TEXT_TAG*(): GType = - result = gtk_text_tag_get_type() - -proc GTK_TEXT_TAG*(obj: pointer): PGtkTextTag = - result = cast[PGtkTextTag](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TEXT_TAG())) - -proc GTK_TEXT_TAG_CLASS*(klass: pointer): PGtkTextTagClass = - result = cast[PGtkTextTagClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_TAG())) - -proc GTK_IS_TEXT_TAG*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_TAG()) - -proc GTK_IS_TEXT_TAG_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_TAG()) - -proc GTK_TEXT_TAG_GET_CLASS*(obj: pointer): PGtkTextTagClass = - result = cast[PGtkTextTagClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_TEXT_TAG())) - -proc GTK_TYPE_TEXT_ATTRIBUTES*(): GType = - result = gtk_text_attributes_get_type() - -proc bg_color_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_bg_color_set) shr - bp_TGtkTextTag_bg_color_set - -proc set_bg_color_set*(a: var TGtkTextTag, `bg_color_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`bg_color_set` shl bp_TGtkTextTag_bg_color_set) and - bm_TGtkTextTag_bg_color_set) - -proc bg_stipple_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_bg_stipple_set) shr - bp_TGtkTextTag_bg_stipple_set - -proc set_bg_stipple_set*(a: var TGtkTextTag, `bg_stipple_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`bg_stipple_set` shl bp_TGtkTextTag_bg_stipple_set) and - bm_TGtkTextTag_bg_stipple_set) - -proc fg_color_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_fg_color_set) shr - bp_TGtkTextTag_fg_color_set - -proc set_fg_color_set*(a: var TGtkTextTag, `fg_color_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`fg_color_set` shl bp_TGtkTextTag_fg_color_set) and - bm_TGtkTextTag_fg_color_set) - -proc scale_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_scale_set) shr - bp_TGtkTextTag_scale_set - -proc set_scale_set*(a: var TGtkTextTag, `scale_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`scale_set` shl bp_TGtkTextTag_scale_set) and - bm_TGtkTextTag_scale_set) - -proc fg_stipple_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_fg_stipple_set) shr - bp_TGtkTextTag_fg_stipple_set - -proc set_fg_stipple_set*(a: var TGtkTextTag, `fg_stipple_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`fg_stipple_set` shl bp_TGtkTextTag_fg_stipple_set) and - bm_TGtkTextTag_fg_stipple_set) - -proc justification_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_justification_set) shr - bp_TGtkTextTag_justification_set - -proc set_justification_set*(a: var TGtkTextTag, `justification_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`justification_set` shl bp_TGtkTextTag_justification_set) and - bm_TGtkTextTag_justification_set) - -proc left_margin_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_left_margin_set) shr - bp_TGtkTextTag_left_margin_set - -proc set_left_margin_set*(a: var TGtkTextTag, `left_margin_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`left_margin_set` shl bp_TGtkTextTag_left_margin_set) and - bm_TGtkTextTag_left_margin_set) - -proc indent_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_indent_set) shr - bp_TGtkTextTag_indent_set - -proc set_indent_set*(a: var TGtkTextTag, `indent_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`indent_set` shl bp_TGtkTextTag_indent_set) and - bm_TGtkTextTag_indent_set) - -proc rise_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_rise_set) shr bp_TGtkTextTag_rise_set - -proc set_rise_set*(a: var TGtkTextTag, `rise_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`rise_set` shl bp_TGtkTextTag_rise_set) and bm_TGtkTextTag_rise_set) - -proc strikethrough_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_strikethrough_set) shr - bp_TGtkTextTag_strikethrough_set - -proc set_strikethrough_set*(a: var TGtkTextTag, `strikethrough_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`strikethrough_set` shl bp_TGtkTextTag_strikethrough_set) and - bm_TGtkTextTag_strikethrough_set) - -proc right_margin_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_right_margin_set) shr - bp_TGtkTextTag_right_margin_set - -proc set_right_margin_set*(a: var TGtkTextTag, `right_margin_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`right_margin_set` shl bp_TGtkTextTag_right_margin_set) and - bm_TGtkTextTag_right_margin_set) - -proc pixels_above_lines_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pixels_above_lines_set) shr - bp_TGtkTextTag_pixels_above_lines_set - -proc set_pixels_above_lines_set*(a: var TGtkTextTag, - `pixels_above_lines_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`pixels_above_lines_set` shl bp_TGtkTextTag_pixels_above_lines_set) and - bm_TGtkTextTag_pixels_above_lines_set) - -proc pixels_below_lines_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pixels_below_lines_set) shr - bp_TGtkTextTag_pixels_below_lines_set - -proc set_pixels_below_lines_set*(a: var TGtkTextTag, - `pixels_below_lines_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`pixels_below_lines_set` shl bp_TGtkTextTag_pixels_below_lines_set) and - bm_TGtkTextTag_pixels_below_lines_set) - -proc pixels_inside_wrap_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pixels_inside_wrap_set) shr - bp_TGtkTextTag_pixels_inside_wrap_set - -proc set_pixels_inside_wrap_set*(a: var TGtkTextTag, - `pixels_inside_wrap_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`pixels_inside_wrap_set` shl bp_TGtkTextTag_pixels_inside_wrap_set) and - bm_TGtkTextTag_pixels_inside_wrap_set) - -proc tabs_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_tabs_set) shr bp_TGtkTextTag_tabs_set - -proc set_tabs_set*(a: var TGtkTextTag, `tabs_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`tabs_set` shl bp_TGtkTextTag_tabs_set) and bm_TGtkTextTag_tabs_set) - -proc underline_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_underline_set) shr - bp_TGtkTextTag_underline_set - -proc set_underline_set*(a: var TGtkTextTag, `underline_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`underline_set` shl bp_TGtkTextTag_underline_set) and - bm_TGtkTextTag_underline_set) - -proc wrap_mode_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_wrap_mode_set) shr - bp_TGtkTextTag_wrap_mode_set - -proc set_wrap_mode_set*(a: var TGtkTextTag, `wrap_mode_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`wrap_mode_set` shl bp_TGtkTextTag_wrap_mode_set) and - bm_TGtkTextTag_wrap_mode_set) - -proc bg_full_height_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_bg_full_height_set) shr - bp_TGtkTextTag_bg_full_height_set - -proc set_bg_full_height_set*(a: var TGtkTextTag, `bg_full_height_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`bg_full_height_set` shl bp_TGtkTextTag_bg_full_height_set) and - bm_TGtkTextTag_bg_full_height_set) - -proc invisible_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_invisible_set) shr - bp_TGtkTextTag_invisible_set - -proc set_invisible_set*(a: var TGtkTextTag, `invisible_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`invisible_set` shl bp_TGtkTextTag_invisible_set) and - bm_TGtkTextTag_invisible_set) - -proc editable_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_editable_set) shr - bp_TGtkTextTag_editable_set - -proc set_editable_set*(a: var TGtkTextTag, `editable_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`editable_set` shl bp_TGtkTextTag_editable_set) and - bm_TGtkTextTag_editable_set) - -proc language_set*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_language_set) shr - bp_TGtkTextTag_language_set - -proc set_language_set*(a: var TGtkTextTag, `language_set`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`language_set` shl bp_TGtkTextTag_language_set) and - bm_TGtkTextTag_language_set) - -proc pad1*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pad1) shr bp_TGtkTextTag_pad1 - -proc set_pad1*(a: var TGtkTextTag, `pad1`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`pad1` shl bp_TGtkTextTag_pad1) and bm_TGtkTextTag_pad1) - -proc pad2*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pad2) shr bp_TGtkTextTag_pad2 - -proc set_pad2*(a: var TGtkTextTag, `pad2`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`pad2` shl bp_TGtkTextTag_pad2) and bm_TGtkTextTag_pad2) - -proc pad3*(a: var TGtkTextTag): guint = - result = (a.GtkTextTagflag0 and bm_TGtkTextTag_pad3) shr bp_TGtkTextTag_pad3 - -proc set_pad3*(a: var TGtkTextTag, `pad3`: guint) = - a.GtkTextTagflag0 = a.GtkTextTagflag0 or - ((`pad3` shl bp_TGtkTextTag_pad3) and bm_TGtkTextTag_pad3) - -proc underline*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_underline) shr - bp_TGtkTextAppearance_underline - -proc set_underline*(a: var TGtkTextAppearance, `underline`: guint) = - a.flag0 = a.flag0 or - (int16(`underline` shl bp_TGtkTextAppearance_underline) and - bm_TGtkTextAppearance_underline) - -proc strikethrough*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_strikethrough) shr - bp_TGtkTextAppearance_strikethrough - -proc set_strikethrough*(a: var TGtkTextAppearance, `strikethrough`: guint) = - a.flag0 = a.flag0 or - (int16(`strikethrough` shl bp_TGtkTextAppearance_strikethrough) and - bm_TGtkTextAppearance_strikethrough) - -proc draw_bg*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_draw_bg) shr - bp_TGtkTextAppearance_draw_bg - -proc set_draw_bg*(a: var TGtkTextAppearance, `draw_bg`: guint) = - a.flag0 = a.flag0 or - (int16(`draw_bg` shl bp_TGtkTextAppearance_draw_bg) and - bm_TGtkTextAppearance_draw_bg) - -proc inside_selection*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_inside_selection) shr - bp_TGtkTextAppearance_inside_selection - -proc set_inside_selection*(a: var TGtkTextAppearance, `inside_selection`: guint) = - a.flag0 = a.flag0 or - (int16(`inside_selection` shl bp_TGtkTextAppearance_inside_selection) and - bm_TGtkTextAppearance_inside_selection) - -proc is_text*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_is_text) shr - bp_TGtkTextAppearance_is_text - -proc set_is_text*(a: var TGtkTextAppearance, `is_text`: guint) = - a.flag0 = a.flag0 or - (int16(`is_text` shl bp_TGtkTextAppearance_is_text) and - bm_TGtkTextAppearance_is_text) - -proc pad1*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_pad1) shr - bp_TGtkTextAppearance_pad1 - -proc set_pad1*(a: var TGtkTextAppearance, `pad1`: guint) = - a.flag0 = a.flag0 or - (int16(`pad1` shl bp_TGtkTextAppearance_pad1) and bm_TGtkTextAppearance_pad1) - -proc pad2*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_pad2) shr - bp_TGtkTextAppearance_pad2 - -proc set_pad2*(a: var TGtkTextAppearance, `pad2`: guint) = - a.flag0 = a.flag0 or - (int16(`pad2` shl bp_TGtkTextAppearance_pad2) and bm_TGtkTextAppearance_pad2) - -proc pad3*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_pad3) shr - bp_TGtkTextAppearance_pad3 - -proc set_pad3*(a: var TGtkTextAppearance, `pad3`: guint) = - a.flag0 = a.flag0 or - (int16(`pad3` shl bp_TGtkTextAppearance_pad3) and bm_TGtkTextAppearance_pad3) - -proc pad4*(a: var TGtkTextAppearance): guint = - result = (a.flag0 and bm_TGtkTextAppearance_pad4) shr - bp_TGtkTextAppearance_pad4 - -proc set_pad4*(a: var TGtkTextAppearance, `pad4`: guint) = - a.flag0 = a.flag0 or - (int16(`pad4` shl bp_TGtkTextAppearance_pad4) and bm_TGtkTextAppearance_pad4) - -proc invisible*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_invisible) shr - bp_TGtkTextAttributes_invisible - -proc set_invisible*(a: var TGtkTextAttributes, `invisible`: guint) = - a.flag0 = a.flag0 or - (int16(`invisible` shl bp_TGtkTextAttributes_invisible) and - bm_TGtkTextAttributes_invisible) - -proc bg_full_height*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_bg_full_height) shr - bp_TGtkTextAttributes_bg_full_height - -proc set_bg_full_height*(a: var TGtkTextAttributes, `bg_full_height`: guint) = - a.flag0 = a.flag0 or - (int16(`bg_full_height` shl bp_TGtkTextAttributes_bg_full_height) and - bm_TGtkTextAttributes_bg_full_height) - -proc editable*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_editable) shr - bp_TGtkTextAttributes_editable - -proc set_editable*(a: var TGtkTextAttributes, `editable`: guint) = - a.flag0 = a.flag0 or - (int16(`editable` shl bp_TGtkTextAttributes_editable) and - bm_TGtkTextAttributes_editable) - -proc realized*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_realized) shr - bp_TGtkTextAttributes_realized - -proc set_realized*(a: var TGtkTextAttributes, `realized`: guint) = - a.flag0 = a.flag0 or - (int16(`realized` shl bp_TGtkTextAttributes_realized) and - bm_TGtkTextAttributes_realized) - -proc pad1*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_pad1) shr - bp_TGtkTextAttributes_pad1 - -proc set_pad1*(a: var TGtkTextAttributes, `pad1`: guint) = - a.flag0 = a.flag0 or - (int16(`pad1` shl bp_TGtkTextAttributes_pad1) and bm_TGtkTextAttributes_pad1) - -proc pad2*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_pad2) shr - bp_TGtkTextAttributes_pad2 - -proc set_pad2*(a: var TGtkTextAttributes, `pad2`: guint) = - a.flag0 = a.flag0 or - (int16(`pad2` shl bp_TGtkTextAttributes_pad2) and bm_TGtkTextAttributes_pad2) - -proc pad3*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_pad3) shr - bp_TGtkTextAttributes_pad3 - -proc set_pad3*(a: var TGtkTextAttributes, `pad3`: guint) = - a.flag0 = a.flag0 or - (int16(`pad3` shl bp_TGtkTextAttributes_pad3) and bm_TGtkTextAttributes_pad3) - -proc pad4*(a: var TGtkTextAttributes): guint = - result = (a.flag0 and bm_TGtkTextAttributes_pad4) shr - bp_TGtkTextAttributes_pad4 - -proc set_pad4*(a: var TGtkTextAttributes, `pad4`: guint) = - a.flag0 = a.flag0 or - (int16(`pad4` shl bp_TGtkTextAttributes_pad4) and bm_TGtkTextAttributes_pad4) - -proc GTK_TYPE_TEXT_TAG_TABLE*(): GType = - result = gtk_text_tag_table_get_type() - -proc GTK_TEXT_TAG_TABLE*(obj: pointer): PGtkTextTagTable = - result = cast[PGtkTextTagTable](G_TYPE_CHECK_INSTANCE_CAST(obj, - GTK_TYPE_TEXT_TAG_TABLE())) - -proc GTK_TEXT_TAG_TABLE_CLASS*(klass: pointer): PGtkTextTagTableClass = - result = cast[PGtkTextTagTableClass](G_TYPE_CHECK_CLASS_CAST(klass, - GTK_TYPE_TEXT_TAG_TABLE())) - -proc GTK_IS_TEXT_TAG_TABLE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_TAG_TABLE()) - -proc GTK_IS_TEXT_TAG_TABLE_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_TAG_TABLE()) - -proc GTK_TEXT_TAG_TABLE_GET_CLASS*(obj: pointer): PGtkTextTagTableClass = - result = cast[PGtkTextTagTableClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_TEXT_TAG_TABLE())) - -proc GTK_TYPE_TEXT_MARK*(): GType = - result = gtk_text_mark_get_type() - -proc GTK_TEXT_MARK*(anObject: pointer): PGtkTextMark = - result = cast[PGtkTextMark](G_TYPE_CHECK_INSTANCE_CAST(anObject, GTK_TYPE_TEXT_MARK())) - -proc GTK_TEXT_MARK_CLASS*(klass: pointer): PGtkTextMarkClass = - result = cast[PGtkTextMarkClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_MARK())) - -proc GTK_IS_TEXT_MARK*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_TEXT_MARK()) - -proc GTK_IS_TEXT_MARK_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_MARK()) - -proc GTK_TEXT_MARK_GET_CLASS*(obj: pointer): PGtkTextMarkClass = - result = cast[PGtkTextMarkClass](G_TYPE_INSTANCE_GET_CLASS(obj, GTK_TYPE_TEXT_MARK())) - -proc visible*(a: var TGtkTextMarkBody): guint = - result = (a.flag0 and bm_TGtkTextMarkBody_visible) shr - bp_TGtkTextMarkBody_visible - -proc set_visible*(a: var TGtkTextMarkBody, `visible`: guint) = - a.flag0 = a.flag0 or - (int16(`visible` shl bp_TGtkTextMarkBody_visible) and - bm_TGtkTextMarkBody_visible) - -proc not_deleteable*(a: var TGtkTextMarkBody): guint = - result = (a.flag0 and bm_TGtkTextMarkBody_not_deleteable) shr - bp_TGtkTextMarkBody_not_deleteable - -proc set_not_deleteable*(a: var TGtkTextMarkBody, `not_deleteable`: guint) = - a.flag0 = a.flag0 or - (int16(`not_deleteable` shl bp_TGtkTextMarkBody_not_deleteable) and - bm_TGtkTextMarkBody_not_deleteable) - -proc GTK_TYPE_TEXT_CHILD_ANCHOR*(): GType = - result = gtk_text_child_anchor_get_type() - -proc GTK_TEXT_CHILD_ANCHOR*(anObject: pointer): PGtkTextChildAnchor = - result = cast[PGtkTextChildAnchor](G_TYPE_CHECK_INSTANCE_CAST(anObject, - GTK_TYPE_TEXT_CHILD_ANCHOR())) - -proc GTK_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): PGtkTextChildAnchorClass = - result = cast[PGtkTextChildAnchorClass](G_TYPE_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_CHILD_ANCHOR())) - -proc GTK_IS_TEXT_CHILD_ANCHOR*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, GTK_TYPE_TEXT_CHILD_ANCHOR()) - -proc GTK_IS_TEXT_CHILD_ANCHOR_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_CHILD_ANCHOR()) - -proc GTK_TEXT_CHILD_ANCHOR_GET_CLASS*(obj: pointer): PGtkTextChildAnchorClass = - result = cast[PGtkTextChildAnchorClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GTK_TYPE_TEXT_CHILD_ANCHOR())) - -proc width*(a: PGtkTextLineData): gint = - result = a . flag0 and bm_TGtkTextLineData_width - -proc set_width*(a: PGtkTextLineData, NewWidth: gint) = - a . flag0 = (bm_TGtkTextLineData_width and NewWidth) or a . flag0 - -proc valid*(a: PGtkTextLineData): gint = - result = (a . flag0 and bm_TGtkTextLineData_valid) shr - bp_TGtkTextLineData_valid - -proc set_valid*(a: PGtkTextLineData, `valid`: gint) = - a . flag0 = a . - flag0 or - ((`valid` shl bp_TGtkTextLineData_valid) and bm_TGtkTextLineData_valid) - -proc GTK_TYPE_TEXT_BUFFER*(): GType = - result = gtk_text_buffer_get_type() - -proc GTK_TEXT_BUFFER*(obj: pointer): PGtkTextBuffer = - result = cast[PGtkTextBuffer](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TEXT_BUFFER())) - -proc GTK_TEXT_BUFFER_CLASS*(klass: pointer): PGtkTextBufferClass = - result = cast[PGtkTextBufferClass](G_TYPE_CHECK_CLASS_CAST(klass, - GTK_TYPE_TEXT_BUFFER())) - -proc GTK_IS_TEXT_BUFFER*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_BUFFER()) - -proc GTK_IS_TEXT_BUFFER_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_BUFFER()) - -proc GTK_TEXT_BUFFER_GET_CLASS*(obj: pointer): PGtkTextBufferClass = - result = cast[PGtkTextBufferClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GTK_TYPE_TEXT_BUFFER())) - -proc modified*(a: var TGtkTextBuffer): guint = - result = (a.GtkTextBufferflag0 and bm_TGtkTextBuffer_modified) shr - bp_TGtkTextBuffer_modified - -proc set_modified*(a: var TGtkTextBuffer, `modified`: guint) = - a.GtkTextBufferflag0 = a.GtkTextBufferflag0 or - (int16(`modified` shl bp_TGtkTextBuffer_modified) and - bm_TGtkTextBuffer_modified) - -proc GTK_TYPE_TEXT_LAYOUT*(): GType = - result = gtk_text_layout_get_type() - -proc GTK_TEXT_LAYOUT*(obj: pointer): PGtkTextLayout = - result = cast[PGtkTextLayout](G_TYPE_CHECK_INSTANCE_CAST(obj, GTK_TYPE_TEXT_LAYOUT())) - -proc GTK_TEXT_LAYOUT_CLASS*(klass: pointer): PGtkTextLayoutClass = - result = cast[PGtkTextLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, - GTK_TYPE_TEXT_LAYOUT())) - -proc GTK_IS_TEXT_LAYOUT*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TEXT_LAYOUT()) - -proc GTK_IS_TEXT_LAYOUT_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_LAYOUT()) - -proc GTK_TEXT_LAYOUT_GET_CLASS*(obj: pointer): PGtkTextLayoutClass = - result = cast[PGtkTextLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, - GTK_TYPE_TEXT_LAYOUT())) - -proc cursor_visible*(a: var TGtkTextLayout): guint = - result = (a.GtkTextLayoutflag0 and bm_TGtkTextLayout_cursor_visible) shr - bp_TGtkTextLayout_cursor_visible - -proc set_cursor_visible*(a: var TGtkTextLayout, `cursor_visible`: guint) = - a.GtkTextLayoutflag0 = a.GtkTextLayoutflag0 or - (int16(`cursor_visible` shl bp_TGtkTextLayout_cursor_visible) and - bm_TGtkTextLayout_cursor_visible) - -proc cursor_direction*(a: var TGtkTextLayout): gint = - result = (a.GtkTextLayoutflag0 and bm_TGtkTextLayout_cursor_direction) shr - bp_TGtkTextLayout_cursor_direction - -proc set_cursor_direction*(a: var TGtkTextLayout, `cursor_direction`: gint) = - a.GtkTextLayoutflag0 = a.GtkTextLayoutflag0 or - (int16(`cursor_direction` shl bp_TGtkTextLayout_cursor_direction) and - bm_TGtkTextLayout_cursor_direction) - -proc is_strong*(a: var TGtkTextCursorDisplay): guint = - result = (a.flag0 and bm_TGtkTextCursorDisplay_is_strong) shr - bp_TGtkTextCursorDisplay_is_strong - -proc set_is_strong*(a: var TGtkTextCursorDisplay, `is_strong`: guint) = - a.flag0 = a.flag0 or - (int16(`is_strong` shl bp_TGtkTextCursorDisplay_is_strong) and - bm_TGtkTextCursorDisplay_is_strong) - -proc is_weak*(a: var TGtkTextCursorDisplay): guint = - result = (a.flag0 and bm_TGtkTextCursorDisplay_is_weak) shr - bp_TGtkTextCursorDisplay_is_weak - -proc set_is_weak*(a: var TGtkTextCursorDisplay, `is_weak`: guint) = - a.flag0 = a.flag0 or - (int16(`is_weak` shl bp_TGtkTextCursorDisplay_is_weak) and - bm_TGtkTextCursorDisplay_is_weak) - -proc GTK_TYPE_TEXT_VIEW*(): GType = - result = gtk_text_view_get_type() - -proc GTK_TEXT_VIEW*(obj: pointer): PGtkTextView = - result = cast[PGtkTextView](GTK_CHECK_CAST(obj, GTK_TYPE_TEXT_VIEW())) - -proc GTK_TEXT_VIEW_CLASS*(klass: pointer): PGtkTextViewClass = - result = cast[PGtkTextViewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TEXT_VIEW())) - -proc GTK_IS_TEXT_VIEW*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TEXT_VIEW()) - -proc GTK_IS_TEXT_VIEW_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TEXT_VIEW()) - -proc GTK_TEXT_VIEW_GET_CLASS*(obj: pointer): PGtkTextViewClass = - result = cast[PGtkTextViewClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TEXT_VIEW())) - -proc editable*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_editable) shr - bp_TGtkTextView_editable - -proc set_editable*(a: var TGtkTextView, `editable`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`editable` shl bp_TGtkTextView_editable) and bm_TGtkTextView_editable) - -proc overwrite_mode*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_overwrite_mode) shr - bp_TGtkTextView_overwrite_mode - -proc set_overwrite_mode*(a: var TGtkTextView, `overwrite_mode`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`overwrite_mode` shl bp_TGtkTextView_overwrite_mode) and - bm_TGtkTextView_overwrite_mode) - -proc cursor_visible*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_cursor_visible) shr - bp_TGtkTextView_cursor_visible - -proc set_cursor_visible*(a: var TGtkTextView, `cursor_visible`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`cursor_visible` shl bp_TGtkTextView_cursor_visible) and - bm_TGtkTextView_cursor_visible) - -proc need_im_reset*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_need_im_reset) shr - bp_TGtkTextView_need_im_reset - -proc set_need_im_reset*(a: var TGtkTextView, `need_im_reset`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`need_im_reset` shl bp_TGtkTextView_need_im_reset) and - bm_TGtkTextView_need_im_reset) - -proc just_selected_element*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_just_selected_element) shr - bp_TGtkTextView_just_selected_element - -proc set_just_selected_element*(a: var TGtkTextView, - `just_selected_element`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`just_selected_element` shl bp_TGtkTextView_just_selected_element) and - bm_TGtkTextView_just_selected_element) - -proc disable_scroll_on_focus*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_disable_scroll_on_focus) shr - bp_TGtkTextView_disable_scroll_on_focus - -proc set_disable_scroll_on_focus*(a: var TGtkTextView, - `disable_scroll_on_focus`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`disable_scroll_on_focus` shl bp_TGtkTextView_disable_scroll_on_focus) and - bm_TGtkTextView_disable_scroll_on_focus) - -proc onscreen_validated*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_onscreen_validated) shr - bp_TGtkTextView_onscreen_validated - -proc set_onscreen_validated*(a: var TGtkTextView, `onscreen_validated`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`onscreen_validated` shl bp_TGtkTextView_onscreen_validated) and - bm_TGtkTextView_onscreen_validated) - -proc mouse_cursor_obscured*(a: var TGtkTextView): guint = - result = (a.GtkTextViewflag0 and bm_TGtkTextView_mouse_cursor_obscured) shr - bp_TGtkTextView_mouse_cursor_obscured - -proc set_mouse_cursor_obscured*(a: var TGtkTextView, - `mouse_cursor_obscured`: guint) = - a.GtkTextViewflag0 = a.GtkTextViewflag0 or - (int16(`mouse_cursor_obscured` shl bp_TGtkTextView_mouse_cursor_obscured) and - bm_TGtkTextView_mouse_cursor_obscured) - -proc GTK_TYPE_TIPS_QUERY*(): GType = - result = gtk_tips_query_get_type() - -proc GTK_TIPS_QUERY*(obj: pointer): PGtkTipsQuery = - result = cast[PGtkTipsQuery](GTK_CHECK_CAST(obj, GTK_TYPE_TIPS_QUERY())) - -proc GTK_TIPS_QUERY_CLASS*(klass: pointer): PGtkTipsQueryClass = - result = cast[PGtkTipsQueryClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TIPS_QUERY())) - -proc GTK_IS_TIPS_QUERY*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TIPS_QUERY()) - -proc GTK_IS_TIPS_QUERY_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TIPS_QUERY()) - -proc GTK_TIPS_QUERY_GET_CLASS*(obj: pointer): PGtkTipsQueryClass = - result = cast[PGtkTipsQueryClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TIPS_QUERY())) - -proc emit_always*(a: var TGtkTipsQuery): guint = - result = (a.GtkTipsQueryflag0 and bm_TGtkTipsQuery_emit_always) shr - bp_TGtkTipsQuery_emit_always - -proc set_emit_always*(a: var TGtkTipsQuery, `emit_always`: guint) = - a.GtkTipsQueryflag0 = a.GtkTipsQueryflag0 or - (int16(`emit_always` shl bp_TGtkTipsQuery_emit_always) and - bm_TGtkTipsQuery_emit_always) - -proc in_query*(a: var TGtkTipsQuery): guint = - result = (a.GtkTipsQueryflag0 and bm_TGtkTipsQuery_in_query) shr - bp_TGtkTipsQuery_in_query - -proc set_in_query*(a: var TGtkTipsQuery, `in_query`: guint) = - a.GtkTipsQueryflag0 = a.GtkTipsQueryflag0 or - (int16(`in_query` shl bp_TGtkTipsQuery_in_query) and - bm_TGtkTipsQuery_in_query) - -proc GTK_TYPE_TOOLTIPS*(): GType = - result = gtk_tooltips_get_type() - -proc GTK_TOOLTIPS*(obj: pointer): PGtkTooltips = - result = cast[PGtkTooltips](GTK_CHECK_CAST(obj, GTK_TYPE_TOOLTIPS())) - -proc GTK_TOOLTIPS_CLASS*(klass: pointer): PGtkTooltipsClass = - result = cast[PGtkTooltipsClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TOOLTIPS())) - -proc GTK_IS_TOOLTIPS*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOOLTIPS()) - -proc GTK_IS_TOOLTIPS_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOOLTIPS()) - -proc GTK_TOOLTIPS_GET_CLASS*(obj: pointer): PGtkTooltipsClass = - result = cast[PGtkTooltipsClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOOLTIPS())) - -proc delay*(a: var TGtkTooltips): guint = - result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_delay) shr bp_TGtkTooltips_delay - -proc set_delay*(a: var TGtkTooltips, `delay`: guint) = - a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or - ((`delay` shl bp_TGtkTooltips_delay) and bm_TGtkTooltips_delay) - -proc enabled*(a: var TGtkTooltips): guint = - result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_enabled) shr bp_TGtkTooltips_enabled - -proc set_enabled*(a: var TGtkTooltips, `enabled`: guint) = - a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or - ((`enabled` shl bp_TGtkTooltips_enabled) and bm_TGtkTooltips_enabled) - -proc have_grab*(a: var TGtkTooltips): guint = - result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_have_grab) shr - bp_TGtkTooltips_have_grab - -proc set_have_grab*(a: var TGtkTooltips, `have_grab`: guint) = - a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or - ((`have_grab` shl bp_TGtkTooltips_have_grab) and - bm_TGtkTooltips_have_grab) - -proc use_sticky_delay*(a: var TGtkTooltips): guint = - result = (a.GtkTooltipsflag0 and bm_TGtkTooltips_use_sticky_delay) shr - bp_TGtkTooltips_use_sticky_delay - -proc set_use_sticky_delay*(a: var TGtkTooltips, `use_sticky_delay`: guint) = - a.GtkTooltipsflag0 = a.GtkTooltipsflag0 or - ((`use_sticky_delay` shl bp_TGtkTooltips_use_sticky_delay) and - bm_TGtkTooltips_use_sticky_delay) - -proc GTK_TYPE_TOOLBAR*(): GType = - result = gtk_toolbar_get_type() - -proc GTK_TOOLBAR*(obj: pointer): PGtkToolbar = - result = cast[PGtkToolbar](GTK_CHECK_CAST(obj, GTK_TYPE_TOOLBAR())) - -proc GTK_TOOLBAR_CLASS*(klass: pointer): PGtkToolbarClass = - result = cast[PGtkToolbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TOOLBAR())) - -proc GTK_IS_TOOLBAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TOOLBAR()) - -proc GTK_IS_TOOLBAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TOOLBAR()) - -proc GTK_TOOLBAR_GET_CLASS*(obj: pointer): PGtkToolbarClass = - result = cast[PGtkToolbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TOOLBAR())) - -proc style_set*(a: var TGtkToolbar): guint = - result = (a.GtkToolbarflag0 and bm_TGtkToolbar_style_set) shr - bp_TGtkToolbar_style_set - -proc set_style_set*(a: var TGtkToolbar, `style_set`: guint) = - a.GtkToolbarflag0 = a.GtkToolbarflag0 or - (int16(`style_set` shl bp_TGtkToolbar_style_set) and - bm_TGtkToolbar_style_set) - -proc icon_size_set*(a: var TGtkToolbar): guint = - result = (a.GtkToolbarflag0 and bm_TGtkToolbar_icon_size_set) shr - bp_TGtkToolbar_icon_size_set - -proc set_icon_size_set*(a: var TGtkToolbar, `icon_size_set`: guint) = - a.GtkToolbarflag0 = a.GtkToolbarflag0 or - (int16(`icon_size_set` shl bp_TGtkToolbar_icon_size_set) and - bm_TGtkToolbar_icon_size_set) - -proc GTK_TYPE_TREE*(): GType = - result = gtk_tree_get_type() - -proc GTK_TREE*(obj: pointer): PGtkTree = - result = cast[PGtkTree](GTK_CHECK_CAST(obj, GTK_TYPE_TREE())) - -proc GTK_TREE_CLASS*(klass: pointer): PGtkTreeClass = - result = cast[PGtkTreeClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE())) - -proc GTK_IS_TREE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE()) - -proc GTK_IS_TREE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE()) - -proc GTK_TREE_GET_CLASS*(obj: pointer): PGtkTreeClass = - result = cast[PGtkTreeClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE())) - -proc GTK_IS_ROOT_TREE*(obj: pointer): bool = - result = (cast[PGtkObject]((GTK_TREE(obj)) . root_tree)) == - (cast[PGtkObject](obj)) - -proc GTK_TREE_ROOT_TREE*(obj: pointer): PGtkTree = - result = GTK_TREE(obj).root_tree - -proc GTK_TREE_SELECTION_OLD*(obj: pointer): PGList = - result = (GTK_TREE_ROOT_TREE(obj)).selection - -proc selection_mode*(a: var TGtkTree): guint = - result = (a.GtkTreeflag0 and bm_TGtkTree_selection_mode) shr - bp_TGtkTree_selection_mode - -proc set_selection_mode*(a: var TGtkTree, `selection_mode`: guint) = - a.GtkTreeflag0 = a.GtkTreeflag0 or - (int16(`selection_mode` shl bp_TGtkTree_selection_mode) and - bm_TGtkTree_selection_mode) - -proc view_mode*(a: var TGtkTree): guint = - result = (a.GtkTreeflag0 and bm_TGtkTree_view_mode) shr bp_TGtkTree_view_mode - -proc set_view_mode*(a: var TGtkTree, `view_mode`: guint) = - a.GtkTreeflag0 = a.GtkTreeflag0 or - (int16(`view_mode` shl bp_TGtkTree_view_mode) and bm_TGtkTree_view_mode) - -proc view_line*(a: var TGtkTree): guint = - result = (a.GtkTreeflag0 and bm_TGtkTree_view_line) shr bp_TGtkTree_view_line - -proc set_view_line*(a: var TGtkTree, `view_line`: guint) = - a.GtkTreeflag0 = a.GtkTreeflag0 or - (int16(`view_line` shl bp_TGtkTree_view_line) and bm_TGtkTree_view_line) - -proc GTK_TYPE_TREE_DRAG_SOURCE*(): GType = - result = gtk_tree_drag_source_get_type() - -proc GTK_TREE_DRAG_SOURCE*(obj: pointer): PGtkTreeDragSource = - result = cast[PGtkTreeDragSource](G_TYPE_CHECK_INSTANCE_CAST(obj, - GTK_TYPE_TREE_DRAG_SOURCE())) - -proc GTK_IS_TREE_DRAG_SOURCE*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_DRAG_SOURCE()) - -proc GTK_TREE_DRAG_SOURCE_GET_IFACE*(obj: pointer): PGtkTreeDragSourceIface = - result = cast[PGtkTreeDragSourceIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - GTK_TYPE_TREE_DRAG_SOURCE())) - -proc GTK_TYPE_TREE_DRAG_DEST*(): GType = - result = gtk_tree_drag_dest_get_type() - -proc GTK_TREE_DRAG_DEST*(obj: pointer): PGtkTreeDragDest = - result = cast[PGtkTreeDragDest](G_TYPE_CHECK_INSTANCE_CAST(obj, - GTK_TYPE_TREE_DRAG_DEST())) - -proc GTK_IS_TREE_DRAG_DEST*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_TREE_DRAG_DEST()) - -proc GTK_TREE_DRAG_DEST_GET_IFACE*(obj: pointer): PGtkTreeDragDestIface = - result = cast[PGtkTreeDragDestIface](G_TYPE_INSTANCE_GET_INTERFACE(obj, - GTK_TYPE_TREE_DRAG_DEST())) - -proc GTK_TYPE_TREE_ITEM*(): GType = - result = gtk_tree_item_get_type() - -proc GTK_TREE_ITEM*(obj: pointer): PGtkTreeItem = - result = cast[PGtkTreeItem](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_ITEM())) - -proc GTK_TREE_ITEM_CLASS*(klass: pointer): PGtkTreeItemClass = - result = cast[PGtkTreeItemClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_ITEM())) - -proc GTK_IS_TREE_ITEM*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_ITEM()) - -proc GTK_IS_TREE_ITEM_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_ITEM()) - -proc GTK_TREE_ITEM_GET_CLASS*(obj: pointer): PGtkTreeItemClass = - result = cast[PGtkTreeItemClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE_ITEM())) - -proc GTK_TREE_ITEM_SUBTREE*(obj: pointer): PGtkWidget = - result = (GTK_TREE_ITEM(obj)).subtree - -proc expanded*(a: var TGtkTreeItem): guint = - result = (a.GtkTreeItemflag0 and bm_TGtkTreeItem_expanded) shr - bp_TGtkTreeItem_expanded - -proc set_expanded*(a: var TGtkTreeItem, `expanded`: guint) = - a.GtkTreeItemflag0 = a.GtkTreeItemflag0 or - (int16(`expanded` shl bp_TGtkTreeItem_expanded) and bm_TGtkTreeItem_expanded) - -proc GTK_TYPE_TREE_SELECTION*(): GType = - result = gtk_tree_selection_get_type() - -proc GTK_TREE_SELECTION*(obj: pointer): PGtkTreeSelection = - result = cast[PGtkTreeSelection](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_SELECTION())) - -proc GTK_TREE_SELECTION_CLASS*(klass: pointer): PGtkTreeSelectionClass = - result = cast[PGtkTreeSelectionClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_TREE_SELECTION())) - -proc GTK_IS_TREE_SELECTION*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_SELECTION()) - -proc GTK_IS_TREE_SELECTION_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_SELECTION()) - -proc GTK_TREE_SELECTION_GET_CLASS*(obj: pointer): PGtkTreeSelectionClass = - result = cast[PGtkTreeSelectionClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_TREE_SELECTION())) - -proc GTK_TYPE_TREE_STORE*(): GType = - result = gtk_tree_store_get_type() - -proc GTK_TREE_STORE*(obj: pointer): PGtkTreeStore = - result = cast[PGtkTreeStore](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_STORE())) - -proc GTK_TREE_STORE_CLASS*(klass: pointer): PGtkTreeStoreClass = - result = cast[PGtkTreeStoreClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_STORE())) - -proc GTK_IS_TREE_STORE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_STORE()) - -proc GTK_IS_TREE_STORE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_STORE()) - -proc GTK_TREE_STORE_GET_CLASS*(obj: pointer): PGtkTreeStoreClass = - result = cast[PGtkTreeStoreClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE_STORE())) - -proc columns_dirty*(a: var TGtkTreeStore): guint = - result = (a.GtkTreeStoreflag0 and bm_TGtkTreeStore_columns_dirty) shr - bp_TGtkTreeStore_columns_dirty - -proc set_columns_dirty*(a: var TGtkTreeStore, `columns_dirty`: guint) = - a.GtkTreeStoreflag0 = a.GtkTreeStoreflag0 or - (int16(`columns_dirty` shl bp_TGtkTreeStore_columns_dirty) and - bm_TGtkTreeStore_columns_dirty) - -proc GTK_TYPE_TREE_VIEW_COLUMN*(): GType = - result = gtk_tree_view_column_get_type() - -proc GTK_TREE_VIEW_COLUMN*(obj: pointer): PGtkTreeViewColumn = - result = cast[PGtkTreeViewColumn](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_VIEW_COLUMN())) - -proc GTK_TREE_VIEW_COLUMN_CLASS*(klass: pointer): PGtkTreeViewColumnClass = - result = cast[PGtkTreeViewColumnClass](GTK_CHECK_CLASS_CAST(klass, - GTK_TYPE_TREE_VIEW_COLUMN())) - -proc GTK_IS_TREE_VIEW_COLUMN*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_VIEW_COLUMN()) - -proc GTK_IS_TREE_VIEW_COLUMN_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_VIEW_COLUMN()) - -proc GTK_TREE_VIEW_COLUMN_GET_CLASS*(obj: pointer): PGtkTreeViewColumnClass = - result = cast[PGtkTreeViewColumnClass](GTK_CHECK_GET_CLASS(obj, - GTK_TYPE_TREE_VIEW_COLUMN())) - -proc visible*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_visible) shr - bp_TGtkTreeViewColumn_visible - -proc set_visible*(a: var TGtkTreeViewColumn, `visible`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`visible` shl bp_TGtkTreeViewColumn_visible) and - bm_TGtkTreeViewColumn_visible) - -proc resizable*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_resizable) shr - bp_TGtkTreeViewColumn_resizable - -proc set_resizable*(a: var TGtkTreeViewColumn, `resizable`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`resizable` shl bp_TGtkTreeViewColumn_resizable) and - bm_TGtkTreeViewColumn_resizable) - -proc clickable*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_clickable) shr - bp_TGtkTreeViewColumn_clickable - -proc set_clickable*(a: var TGtkTreeViewColumn, `clickable`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`clickable` shl bp_TGtkTreeViewColumn_clickable) and - bm_TGtkTreeViewColumn_clickable) - -proc dirty*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_dirty) shr - bp_TGtkTreeViewColumn_dirty - -proc set_dirty*(a: var TGtkTreeViewColumn, `dirty`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`dirty` shl bp_TGtkTreeViewColumn_dirty) and - bm_TGtkTreeViewColumn_dirty) - -proc show_sort_indicator*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_show_sort_indicator) shr - bp_TGtkTreeViewColumn_show_sort_indicator - -proc set_show_sort_indicator*(a: var TGtkTreeViewColumn, - `show_sort_indicator`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`show_sort_indicator` shl bp_TGtkTreeViewColumn_show_sort_indicator) and - bm_TGtkTreeViewColumn_show_sort_indicator) - -proc maybe_reordered*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_maybe_reordered) shr - bp_TGtkTreeViewColumn_maybe_reordered - -proc set_maybe_reordered*(a: var TGtkTreeViewColumn, `maybe_reordered`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`maybe_reordered` shl bp_TGtkTreeViewColumn_maybe_reordered) and - bm_TGtkTreeViewColumn_maybe_reordered) - -proc reorderable*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_reorderable) shr - bp_TGtkTreeViewColumn_reorderable - -proc set_reorderable*(a: var TGtkTreeViewColumn, `reorderable`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`reorderable` shl bp_TGtkTreeViewColumn_reorderable) and - bm_TGtkTreeViewColumn_reorderable) - -proc use_resized_width*(a: var TGtkTreeViewColumn): guint = - result = (a.GtkTreeViewColumnflag0 and bm_TGtkTreeViewColumn_use_resized_width) shr - bp_TGtkTreeViewColumn_use_resized_width - -proc set_use_resized_width*(a: var TGtkTreeViewColumn, - `use_resized_width`: guint) = - a.GtkTreeViewColumnflag0 = a.GtkTreeViewColumnflag0 or - (int16(`use_resized_width` shl bp_TGtkTreeViewColumn_use_resized_width) and - bm_TGtkTreeViewColumn_use_resized_width) - -proc flags*(a: PGtkRBNode): guint = - result = (a . flag0 and bm_TGtkRBNode_flags) shr bp_TGtkRBNode_flags - -proc set_flags*(a: PGtkRBNode, `flags`: guint) = - a . flag0 = a . - flag0 or (int16(`flags` shl bp_TGtkRBNode_flags) and bm_TGtkRBNode_flags) - -proc parity*(a: PGtkRBNode): guint = - result = (a . flag0 and bm_TGtkRBNode_parity) shr bp_TGtkRBNode_parity - -proc set_parity*(a: PGtkRBNode, `parity`: guint) = - a . flag0 = a . - flag0 or (int16(`parity` shl bp_TGtkRBNode_parity) and bm_TGtkRBNode_parity) - -proc GTK_RBNODE_GET_COLOR*(node: PGtkRBNode): guint = - if node == nil: - Result = GTK_RBNODE_BLACK - elif (int(flags(node)) and GTK_RBNODE_RED) == GTK_RBNODE_RED: - Result = GTK_RBNODE_RED - else: - Result = GTK_RBNODE_BLACK - -proc GTK_RBNODE_SET_COLOR*(node: PGtkRBNode, color: guint) = - if node == nil: - return - if ((flags(node) and (color)) != color): - set_flags(node, flags(node) xor cint(GTK_RBNODE_RED or GTK_RBNODE_BLACK)) - -proc GTK_RBNODE_GET_HEIGHT*(node: PGtkRBNode): gint = - var if_local1: gint - if node.children != nil: - if_local1 = node.children.root.offset - else: - if_local1 = 0 - result = node.offset - ((node.left.offset) + node.right.offset + if_local1) - -proc GTK_RBNODE_FLAG_SET*(node: PGtkRBNode, flag: guint): bool = - result = (node != nil) and ((flags(node) and (flag)) == flag) - -proc GTK_RBNODE_SET_FLAG*(node: PGtkRBNode, flag: guint16) = - set_flags(node, (flag) or flags(node)) - -proc GTK_RBNODE_UNSET_FLAG*(node: PGtkRBNode, flag: guint16) = - set_flags(node, (not (flag)) and flags(node)) - -proc GTK_TREE_VIEW_FLAG_SET*(tree_view: PGtkTreeView, flag: guint): bool = - result = ((tree_view.priv.flags) and (flag)) == flag - -proc TREE_VIEW_HEADER_HEIGHT*(tree_view: PGtkTreeView): int32 = - var if_local1: int32 - if GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE): - if_local1 = tree_view.priv.header_height - else: - if_local1 = 0 - result = if_local1 - -proc TREE_VIEW_COLUMN_REQUESTED_WIDTH*(column: PGtkTreeViewColumn): int32 = - var MinWidth, MaxWidth: int - if column.min_width != -1'i32: - MinWidth = column.min_width - else: - MinWidth = column.requested_width - if column.max_width != - 1'i32: - MaxWidth = column.max_width - else: - MaxWidth = column.requested_width - result = CLAMP(column.requested_width, MinWidth, MaxWidth) - -proc TREE_VIEW_DRAW_EXPANDERS*(tree_view: PGtkTreeView): bool = - result = (not (GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_IS_LIST))) and - (GTK_TREE_VIEW_FLAG_SET(tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) - -proc TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER*(tree_view: PGtkTreeView): int32 = - result = 10'i32 * (TREE_VIEW_HEADER_HEIGHT(tree_view)) - -proc scroll_to_use_align*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_scroll_to_use_align) shr - bp_TGtkTreeViewPrivate_scroll_to_use_align - -proc set_scroll_to_use_align*(a: var TGtkTreeViewPrivate, - `scroll_to_use_align`: guint) = - a.flag0 = a.flag0 or - (int16(`scroll_to_use_align` shl bp_TGtkTreeViewPrivate_scroll_to_use_align) and - bm_TGtkTreeViewPrivate_scroll_to_use_align) - -proc fixed_height_check*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_fixed_height_check) shr - bp_TGtkTreeViewPrivate_fixed_height_check - -proc set_fixed_height_check*(a: var TGtkTreeViewPrivate, - `fixed_height_check`: guint) = - a.flag0 = a.flag0 or - (int16(`fixed_height_check` shl bp_TGtkTreeViewPrivate_fixed_height_check) and - bm_TGtkTreeViewPrivate_fixed_height_check) - -proc reorderable*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_reorderable) shr - bp_TGtkTreeViewPrivate_reorderable - -proc set_reorderable*(a: var TGtkTreeViewPrivate, `reorderable`: guint) = - a.flag0 = a.flag0 or - (int16(`reorderable` shl bp_TGtkTreeViewPrivate_reorderable) and - bm_TGtkTreeViewPrivate_reorderable) - -proc header_has_focus*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_header_has_focus) shr - bp_TGtkTreeViewPrivate_header_has_focus - -proc set_header_has_focus*(a: var TGtkTreeViewPrivate, `header_has_focus`: guint) = - a.flag0 = a.flag0 or - (int16(`header_has_focus` shl bp_TGtkTreeViewPrivate_header_has_focus) and - bm_TGtkTreeViewPrivate_header_has_focus) - -proc drag_column_window_state*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_drag_column_window_state) shr - bp_TGtkTreeViewPrivate_drag_column_window_state - -proc set_drag_column_window_state*(a: var TGtkTreeViewPrivate, - `drag_column_window_state`: guint) = - a.flag0 = a.flag0 or - (int16(`drag_column_window_state` shl - bp_TGtkTreeViewPrivate_drag_column_window_state) and - bm_TGtkTreeViewPrivate_drag_column_window_state) - -proc has_rules*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_has_rules) shr - bp_TGtkTreeViewPrivate_has_rules - -proc set_has_rules*(a: var TGtkTreeViewPrivate, `has_rules`: guint) = - a.flag0 = a.flag0 or - (int16(`has_rules` shl bp_TGtkTreeViewPrivate_has_rules) and - bm_TGtkTreeViewPrivate_has_rules) - -proc mark_rows_col_dirty*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_mark_rows_col_dirty) shr - bp_TGtkTreeViewPrivate_mark_rows_col_dirty - -proc set_mark_rows_col_dirty*(a: var TGtkTreeViewPrivate, - `mark_rows_col_dirty`: guint) = - a.flag0 = a.flag0 or - (int16(`mark_rows_col_dirty` shl bp_TGtkTreeViewPrivate_mark_rows_col_dirty) and - bm_TGtkTreeViewPrivate_mark_rows_col_dirty) - -proc enable_search*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_enable_search) shr - bp_TGtkTreeViewPrivate_enable_search - -proc set_enable_search*(a: var TGtkTreeViewPrivate, `enable_search`: guint) = - a.flag0 = a.flag0 or - (int16(`enable_search` shl bp_TGtkTreeViewPrivate_enable_search) and - bm_TGtkTreeViewPrivate_enable_search) - -proc disable_popdown*(a: var TGtkTreeViewPrivate): guint = - result = (a.flag0 and bm_TGtkTreeViewPrivate_disable_popdown) shr - bp_TGtkTreeViewPrivate_disable_popdown - -proc set_disable_popdown*(a: var TGtkTreeViewPrivate, `disable_popdown`: guint) = - a.flag0 = a.flag0 or - (int16(`disable_popdown` shl bp_TGtkTreeViewPrivate_disable_popdown) and - bm_TGtkTreeViewPrivate_disable_popdown) - -proc GTK_TREE_VIEW_SET_FLAG*(tree_view: PGtkTreeView, flag: guint) = - tree_view . priv . flags = tree_view . priv . flags or (flag) - -proc GTK_TREE_VIEW_UNSET_FLAG*(tree_view: PGtkTreeView, flag: guint) = - tree_view . priv . flags = tree_view . priv . flags and not (flag) - -proc GTK_TYPE_TREE_VIEW*(): GType = - result = gtk_tree_view_get_type() - -proc GTK_TREE_VIEW*(obj: pointer): PGtkTreeView = - result = cast[PGtkTreeView](GTK_CHECK_CAST(obj, GTK_TYPE_TREE_VIEW())) - -proc GTK_TREE_VIEW_CLASS*(klass: pointer): PGtkTreeViewClass = - result = cast[PGtkTreeViewClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_TREE_VIEW())) - -proc GTK_IS_TREE_VIEW*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_TREE_VIEW()) - -proc GTK_IS_TREE_VIEW_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_TREE_VIEW()) - -proc GTK_TREE_VIEW_GET_CLASS*(obj: pointer): PGtkTreeViewClass = - result = cast[PGtkTreeViewClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_TREE_VIEW())) - -proc GTK_TYPE_VBUTTON_BOX*(): GType = - result = gtk_vbutton_box_get_type() - -proc GTK_VBUTTON_BOX*(obj: pointer): PGtkVButtonBox = - result = cast[PGtkVButtonBox](GTK_CHECK_CAST(obj, GTK_TYPE_VBUTTON_BOX())) - -proc GTK_VBUTTON_BOX_CLASS*(klass: pointer): PGtkVButtonBoxClass = - result = cast[PGtkVButtonBoxClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VBUTTON_BOX())) - -proc GTK_IS_VBUTTON_BOX*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VBUTTON_BOX()) - -proc GTK_IS_VBUTTON_BOX_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VBUTTON_BOX()) - -proc GTK_VBUTTON_BOX_GET_CLASS*(obj: pointer): PGtkVButtonBoxClass = - result = cast[PGtkVButtonBoxClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VBUTTON_BOX())) - -proc GTK_TYPE_VIEWPORT*(): GType = - result = gtk_viewport_get_type() - -proc GTK_VIEWPORT*(obj: pointer): PGtkViewport = - result = cast[PGtkViewport](GTK_CHECK_CAST(obj, GTK_TYPE_VIEWPORT())) - -proc GTK_VIEWPORT_CLASS*(klass: pointer): PGtkViewportClass = - result = cast[PGtkViewportClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VIEWPORT())) - -proc GTK_IS_VIEWPORT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VIEWPORT()) - -proc GTK_IS_VIEWPORT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VIEWPORT()) - -proc GTK_VIEWPORT_GET_CLASS*(obj: pointer): PGtkViewportClass = - result = cast[PGtkViewportClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VIEWPORT())) - -proc GTK_TYPE_VPANED*(): GType = - result = gtk_vpaned_get_type() - -proc GTK_VPANED*(obj: pointer): PGtkVPaned = - result = cast[PGtkVPaned](GTK_CHECK_CAST(obj, GTK_TYPE_VPANED())) - -proc GTK_VPANED_CLASS*(klass: pointer): PGtkVPanedClass = - result = cast[PGtkVPanedClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VPANED())) - -proc GTK_IS_VPANED*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VPANED()) - -proc GTK_IS_VPANED_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VPANED()) - -proc GTK_VPANED_GET_CLASS*(obj: pointer): PGtkVPanedClass = - result = cast[PGtkVPanedClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VPANED())) - -proc GTK_TYPE_VRULER*(): GType = - result = gtk_vruler_get_type() - -proc GTK_VRULER*(obj: pointer): PGtkVRuler = - result = cast[PGtkVRuler](GTK_CHECK_CAST(obj, GTK_TYPE_VRULER())) - -proc GTK_VRULER_CLASS*(klass: pointer): PGtkVRulerClass = - result = cast[PGtkVRulerClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VRULER())) - -proc GTK_IS_VRULER*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VRULER()) - -proc GTK_IS_VRULER_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VRULER()) - -proc GTK_VRULER_GET_CLASS*(obj: pointer): PGtkVRulerClass = - result = cast[PGtkVRulerClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VRULER())) - -proc GTK_TYPE_VSCALE*(): GType = - result = gtk_vscale_get_type() - -proc GTK_VSCALE*(obj: pointer): PGtkVScale = - result = cast[PGtkVScale](GTK_CHECK_CAST(obj, GTK_TYPE_VSCALE())) - -proc GTK_VSCALE_CLASS*(klass: pointer): PGtkVScaleClass = - result = cast[PGtkVScaleClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSCALE())) - -proc GTK_IS_VSCALE*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSCALE()) - -proc GTK_IS_VSCALE_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSCALE()) - -proc GTK_VSCALE_GET_CLASS*(obj: pointer): PGtkVScaleClass = - result = cast[PGtkVScaleClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSCALE())) - -proc GTK_TYPE_VSCROLLBAR*(): GType = - result = gtk_vscrollbar_get_type() - -proc GTK_VSCROLLBAR*(obj: pointer): PGtkVScrollbar = - result = cast[PGtkVScrollbar](GTK_CHECK_CAST(obj, GTK_TYPE_VSCROLLBAR())) - -proc GTK_VSCROLLBAR_CLASS*(klass: pointer): PGtkVScrollbarClass = - result = cast[PGtkVScrollbarClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSCROLLBAR())) - -proc GTK_IS_VSCROLLBAR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSCROLLBAR()) - -proc GTK_IS_VSCROLLBAR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSCROLLBAR()) - -proc GTK_VSCROLLBAR_GET_CLASS*(obj: pointer): PGtkVScrollbarClass = - result = cast[PGtkVScrollbarClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSCROLLBAR())) - -proc GTK_TYPE_VSEPARATOR*(): GType = - result = gtk_vseparator_get_type() - -proc GTK_VSEPARATOR*(obj: pointer): PGtkVSeparator = - result = cast[PGtkVSeparator](GTK_CHECK_CAST(obj, GTK_TYPE_VSEPARATOR())) - -proc GTK_VSEPARATOR_CLASS*(klass: pointer): PGtkVSeparatorClass = - result = cast[PGtkVSeparatorClass](GTK_CHECK_CLASS_CAST(klass, GTK_TYPE_VSEPARATOR())) - -proc GTK_IS_VSEPARATOR*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_TYPE_VSEPARATOR()) - -proc GTK_IS_VSEPARATOR_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_TYPE_VSEPARATOR()) - -proc GTK_VSEPARATOR_GET_CLASS*(obj: pointer): PGtkVSeparatorClass = - result = cast[PGtkVSeparatorClass](GTK_CHECK_GET_CLASS(obj, GTK_TYPE_VSEPARATOR())) - - -# these were missing: -type - PGtkCellLayout* = pointer - PPGtkCellLayout* = ptr PGtkCellLayout - PGtkSignalRunType* = ptr TGtkSignalRunType - TGtkSignalRunType* = int32 - PGtkFileChooserAction* = ptr TGtkFileChooserAction - TGtkFileChooserAction* = enum - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, - GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER - PGtkFileChooserError* = ptr TGtkFileChooserError - TGtkFileChooserError* = enum - GTK_FILE_CHOOSER_ERROR_NONEXISTENT, - GTK_FILE_CHOOSER_ERROR_BAD_FILENAME - - -const - GTK_ARG_READWRITE* = GTK_ARG_READABLE or GTK_ARG_WRITABLE - -proc gtk_binding_entry_add_signal*(binding_set: PGtkBindingSet, keyval: guint, - modifiers: TGdkModifierType, - signal_name: cstring, n_args: guint){.varargs, - importc, cdecl, dynlib: gtklib.} -proc gtk_clist_new_with_titles*(columns: gint): PGtkCList{.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_clist_prepend*(clist: PGtkCList): gint{.importc, varargs, cdecl, dynlib: gtklib.} -proc gtk_clist_append*(clist: PGtkCList): gint{.importc, varargs, cdecl, dynlib: gtklib.} -proc gtk_clist_insert*(clist: PGtkCList, row: gint): gint{.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_cell_layout_set_attributes*(cell_layout: PGtkCellLayout, - cell: PGtkCellRenderer){.cdecl, varargs, - importc, dynlib: gtklib, importc: "gtk_cell_layout_set_attributes".} -proc gtk_container_add_with_properties*(container: PGtkContainer, - widget: PGtkWidget, - first_prop_name: cstring){.varargs, - importc, cdecl, dynlib: gtklib.} -proc gtk_container_child_set*(container: PGtkContainer, child: PGtkWidget, - first_prop_name: cstring){.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_container_child_get*(container: PGtkContainer, child: PGtkWidget, - first_prop_name: cstring){.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_container_child_set_valist*(container: PGtkContainer, - child: PGtkWidget, - first_property_name: cstring){.varargs, - importc, cdecl, dynlib: gtklib.} -proc gtk_container_child_get_valist*(container: PGtkContainer, - child: PGtkWidget, - first_property_name: cstring){.varargs, - importc, cdecl, dynlib: gtklib.} -proc gtk_ctree_new_with_titles*(columns: gint, tree_column: gint): PGtkCTree{. - importc, varargs, cdecl, dynlib: gtklib.} -proc gtk_curve_get_vector*(curve: PGtkCurve, veclen: int32){.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_curve_set_vector*(curve: PGtkCurve, veclen: int32){.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_dialog_add_buttons*(dialog: PGtkDialog, first_button_text: cstring){. - varargs, cdecl, importc, dynlib: gtklib.} -proc gtk_dialog_new_with_buttons*(title: cstring, parent: PGtkWindow, - flags: TGtkDialogFlags, - first_button_text: cstring): PGtkDialog{. - varargs, cdecl, importc, dynlib: gtklib.} -proc gtk_list_store_new*(n_columns: gint): PGtkListStore{.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_list_store_set*(list_store: PGtkListStore, iter: PGtkTreeIter){. - varargs, cdecl, importc, dynlib: gtklib.} -proc gtk_list_store_set_valist*(list_store: PGtkListStore, iter: PGtkTreeIter){. - varargs, cdecl, importc, dynlib: gtklib.} -proc gtk_message_dialog_new*(parent: PGtkWindow, flags: TGtkDialogFlags, - thetype: TGtkMessageType, buttons: TGtkButtonsType, - message_format: cstring): PGtkMessageDialog{.varargs, - cdecl, importc, dynlib: gtklib.} -proc gtk_signal_new*(name: cstring, signal_flags: TGtkSignalRunType, - object_type: TGtkType, function_offset: guint, - marshaller: TGtkSignalMarshaller, return_val: TGtkType, - n_args: guint): guint{. - varargs, importc, cdecl, dynlib: gtklib.} -proc gtk_signal_emit*(anObject: PGtkObject, signal_id: guint){.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_signal_emit_by_name*(anObject: PGtkObject, name: cstring){.varargs, - cdecl, importc, dynlib: gtklib.} -proc gtk_text_buffer_insert_with_tags*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, text: cstring, - length: gint, first_tag: PGtkTextTag){. - varargs, importc, cdecl, dynlib: gtklib.} -proc gtk_text_buffer_insert_with_tags_by_name*(buffer: PGtkTextBuffer, - iter: PGtkTextIter, text: cstring, length: gint, first_tag_name: cstring){. - varargs, importc, cdecl, dynlib: gtklib.} -proc gtk_text_buffer_create_tag*(buffer: PGtkTextBuffer, tag_name: cstring, - first_property_name: cstring): PGtkTextTag{. - varargs, importc, cdecl, dynlib: gtklib.} -proc gtk_tree_model_get*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){. - varargs, importc, cdecl, dynlib: gtklib.} -proc gtk_tree_model_get_valist*(tree_model: PGtkTreeModel, iter: PGtkTreeIter){. - varargs, importc, cdecl, dynlib: gtklib.} -proc gtk_tree_store_new*(n_columns: gint): PGtkTreeStore{.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_tree_store_set*(tree_store: PGtkTreeStore, iter: PGtkTreeIter){. - varargs, cdecl, importc, dynlib: gtklib.} -proc gtk_tree_store_set_valist*(tree_store: PGtkTreeStore, iter: PGtkTreeIter){. - varargs, cdecl, importc, dynlib: gtklib.} -proc gtk_tree_store_iter_is_valid*(tree_store: PGtkTreeStore, iter: PGtkTreeIter): gboolean{. - cdecl, importc, dynlib: gtklib.} -proc gtk_tree_store_reorder*(tree_store: PGtkTreeStore, parent: PGtkTreeIter, - new_order: pgint){.cdecl, importc, dynlib: gtklib.} -proc gtk_tree_store_swap*(tree_store: PGtkTreeStore, a: PGtkTreeIter, - b: PGtkTreeIter){.cdecl, importc, dynlib: gtklib.} -proc gtk_tree_store_move_before*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - position: PGtkTreeIter){.cdecl,importc, dynlib: gtklib.} -proc gtk_tree_store_move_after*(tree_store: PGtkTreeStore, iter: PGtkTreeIter, - position: PGtkTreeIter){.cdecl,importc, dynlib: gtklib.} -proc gtk_tree_view_insert_column_with_attributes*(tree_view: PGtkTreeView, - position: gint, title: cstring, cell: PGtkCellRenderer): gint{.varargs, - importc, cdecl, dynlib: gtklib.} -proc gtk_tree_view_column_new_with_attributes*(title: cstring, - cell: PGtkCellRenderer): PGtkTreeViewColumn{.importc, varargs, cdecl, dynlib: gtklib.} -proc gtk_tree_view_column_set_attributes*(tree_column: PGtkTreeViewColumn, - cell_renderer: PGtkCellRenderer){.importc, varargs, cdecl, dynlib: gtklib.} -proc gtk_widget_new*(thetype: TGtkType, first_property_name: cstring): PGtkWidget{. - importc, varargs, cdecl, dynlib: gtklib.} -proc gtk_widget_set*(widget: PGtkWidget, first_property_name: cstring){.varargs, - importc, cdecl, dynlib: gtklib.} -proc gtk_widget_queue_clear*(widget: PGtkWidget){.importc, cdecl, dynlib: gtklib.} -proc gtk_widget_queue_clear_area*(widget: PGtkWidget, x: gint, y: gint, - width: gint, height: gint){.cdecl, - importc, dynlib: gtklib.} -proc gtk_widget_draw*(widget: PGtkWidget, area: PGdkRectangle){.cdecl, - importc, dynlib: gtklib.} -proc gtk_widget_style_get_valist*(widget: PGtkWidget, - first_property_name: cstring){.varargs, cdecl, - importc, dynlib: gtklib.} -proc gtk_widget_style_get*(widget: PGtkWidget, first_property_name: cstring){. - varargs, cdecl, importc, dynlib: gtklib.} -proc gtk_file_chooser_dialog_new*(title: cstring, parent: PGtkWindow, - action: TGtkFileChooserAction, - first_button_text: cstring): PGtkDialog {.cdecl, - varargs, dynlib: gtklib, importc: "gtk_file_chooser_dialog_new".} -proc gtk_file_chooser_dialog_new_with_backend*(title: cstring, - parent: PGtkWindow, action: TGtkFileChooserAction, backend: cstring, - first_button_text: cstring): PGtkDialog {.varargs, cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_dialog_new_with_backend".} -proc gtk_object_ref*(anObject: PGtkObject): PGtkObject{.cdecl,importc, dynlib: gtklib.} -proc gtk_object_unref*(anObject: PGtkObject){.cdecl, importc, dynlib: gtklib.} -proc gtk_object_weakref*(anObject: PGtkObject, notify: TGtkDestroyNotify, - data: gpointer){.cdecl, importc, dynlib: gtklib.} -proc gtk_object_weakunref*(anObject: PGtkObject, notify: TGtkDestroyNotify, - data: gpointer){.cdecl, importc, dynlib: gtklib.} -proc gtk_object_set_data*(anObject: PGtkObject, key: cstring, data: gpointer){. - cdecl, importc, dynlib: gtklib.} -proc gtk_object_set_data_full*(anObject: PGtkObject, key: cstring, - data: gpointer, destroy: TGtkDestroyNotify){. - importc, cdecl, dynlib: gtklib.} -proc gtk_object_remove_data*(anObject: PGtkObject, key: cstring){.cdecl, - importc, dynlib: gtklib.} -proc gtk_object_get_data*(anObject: PGtkObject, key: cstring): gpointer{.cdecl, - importc, dynlib: gtklib.} -proc gtk_object_remove_no_notify*(anObject: PGtkObject, key: cstring){.cdecl, - importc, dynlib: gtklib.} -proc gtk_object_set_user_data*(anObject: PGtkObject, data: gpointer){.cdecl, - importc, dynlib: gtklib.} -proc gtk_object_get_user_data*(anObject: PGtkObject): gpointer{.cdecl, - importc, dynlib: gtklib.} -proc gtk_object_set_data_by_id*(anObject: PGtkObject, data_id: TGQuark, - data: gpointer){.cdecl, importc, dynlib: gtklib.} -proc gtk_object_set_data_by_id_full*(anObject: PGtkObject, data_id: TGQuark, - data: gpointer, destroy: TGtkDestroyNotify){. - cdecl, importc, dynlib: gtklib.} -proc gtk_object_get_data_by_id*(anObject: PGtkObject, data_id: TGQuark): gpointer{. - cdecl, importc, dynlib: gtklib.} -proc gtk_object_remove_data_by_id*(anObject: PGtkObject, data_id: TGQuark){. - cdecl, importc, dynlib: gtklib.} -proc gtk_object_remove_no_notify_by_id*(anObject: PGtkObject, key_id: TGQuark){. - cdecl, importc, dynlib: gtklib.} -proc gtk_object_data_try_key*(str: cstring): TGQuark{.cdecl, importc, dynlib: gtklib.} -proc gtk_object_data_force_id*(str: cstring): TGQuark{.cdecl, importc, dynlib: gtklib.} -proc gtk_object_get*(anObject: PGtkObject, first_property_name: cstring){.cdecl, - importc, varargs, dynlib: gtklib.} -proc gtk_object_set*(anObject: PGtkObject, first_property_name: cstring){.cdecl, - importc, varargs, dynlib: gtklib.} -proc gtk_object_add_arg_type*(arg_name: cstring, arg_type: TGtkType, - arg_flags: guint, arg_id: guint){.cdecl, - importc, dynlib: gtklib.} - - -type - PGtkFileChooser* = pointer - PPGtkFileChooser* = ptr PGtkFileChooser - -type - PGtkFileFilter* = pointer - PPGtkFileFilter* = ref PGtkFileFilter - PGtkFileFilterFlags* = ref TGtkFileFilterFlags - TGtkFileFilterFlags* = enum - GTK_FILE_FILTER_FILENAME = 1 shl 0, GTK_FILE_FILTER_URI = 1 shl 1, - GTK_FILE_FILTER_DISPLAY_NAME = 1 shl 2, GTK_FILE_FILTER_MIME_TYPE = 1 shl 3 - PGtkFileFilterInfo* = ref TGtkFileFilterInfo - TGtkFileFilterInfo* {.final, pure.} = object - contains*: TGtkFileFilterFlags - filename*: cstring - uri*: cstring - display_name*: cstring - mime_type*: cstring - - TGtkFileFilterFunc* = proc (filter_info: PGtkFileFilterInfo, data: gpointer): gboolean{. - cdecl.} - -proc GTK_TYPE_FILE_FILTER*(): GType -proc GTK_FILE_FILTER*(obj: pointer): PGtkFileFilter -proc GTK_IS_FILE_FILTER*(obj: pointer): gboolean -proc gtk_file_filter_get_type*(): GType{.cdecl, dynlib: gtklib, - importc: "gtk_file_filter_get_type".} -proc gtk_file_filter_new*(): PGtkFileFilter{.cdecl, dynlib: gtklib, - importc: "gtk_file_filter_new".} -proc gtk_file_filter_set_name*(filter: PGtkFileFilter, name: cstring){.cdecl, - dynlib: gtklib, importc: "gtk_file_filter_set_name".} -proc gtk_file_filter_get_name*(filter: PGtkFileFilter): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_file_filter_get_name".} -proc gtk_file_filter_add_mime_type*(filter: PGtkFileFilter, mime_type: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_file_filter_add_mime_type".} -proc gtk_file_filter_add_pattern*(filter: PGtkFileFilter, pattern: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_file_filter_add_pattern".} -proc gtk_file_filter_add_custom*(filter: PGtkFileFilter, - needed: TGtkFileFilterFlags, - func: TGtkFileFilterFunc, data: gpointer, - notify: TGDestroyNotify){.cdecl, - dynlib: gtklib, importc: "gtk_file_filter_add_custom".} -proc gtk_file_filter_get_needed*(filter: PGtkFileFilter): TGtkFileFilterFlags{. - cdecl, dynlib: gtklib, importc: "gtk_file_filter_get_needed".} -proc gtk_file_filter_filter*(filter: PGtkFileFilter, - filter_info: PGtkFileFilterInfo): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_file_filter_filter".} - -proc GTK_TYPE_FILE_FILTER(): GType = - result = gtk_file_filter_get_type() - -proc GTK_FILE_FILTER(obj: pointer): PGtkFileFilter = - result = cast[PGtkFileFilter](G_TYPE_CHECK_INSTANCE_CAST(obj, - GTK_TYPE_FILE_FILTER())) - -proc GTK_IS_FILE_FILTER(obj: pointer): gboolean = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_FILE_FILTER()) - - -proc gtk_file_chooser_get_type*():GType {. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_type".} - -proc gtk_file_chooser_error_quark*(): TGQuark {. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_error_quark".} - -proc GTK_TYPE_FILE_CHOOSER*(): GType = - result = gtk_file_chooser_get_type() - -proc GTK_FILE_CHOOSER*(obj: pointer): PGtkFileChooser = - result = cast[PGtkFileChooser](G_TYPE_CHECK_INSTANCE_CAST(obj, - GTK_TYPE_FILE_CHOOSER())) - -proc GTK_IS_FILE_CHOOSER*(obj: pointer): gboolean = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GTK_TYPE_FILE_CHOOSER()) - -proc gtk_file_chooser_set_action*(chooser: PGtkFileChooser, - action: TGtkFileChooserAction){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_set_action".} -proc gtk_file_chooser_get_action*(chooser: PGtkFileChooser): TGtkFileChooserAction{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_action".} -proc gtk_file_chooser_set_local_only*(chooser: PGtkFileChooser, - local_only: gboolean){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_set_local_only".} -proc gtk_file_chooser_get_local_only*(chooser: PGtkFileChooser): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_local_only".} -proc gtk_file_chooser_set_select_multiple*(chooser: PGtkFileChooser, - select_multiple: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_set_select_multiple".} -proc gtk_file_chooser_get_select_multiple*(chooser: PGtkFileChooser): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_select_multiple".} -proc gtk_file_chooser_set_current_name*(chooser: PGtkFileChooser, name: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_set_current_name".} -proc gtk_file_chooser_get_filename*(chooser: PGtkFileChooser): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_get_filename".} -proc gtk_file_chooser_set_filename*(chooser: PGtkFileChooser, filename: cstring): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_set_filename".} -proc gtk_file_chooser_select_filename*(chooser: PGtkFileChooser, - filename: cstring): gboolean{.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_select_filename".} -proc gtk_file_chooser_unselect_filename*(chooser: PGtkFileChooser, - filename: cstring){.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_unselect_filename".} -proc gtk_file_chooser_select_all*(chooser: PGtkFileChooser){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_select_all".} -proc gtk_file_chooser_unselect_all*(chooser: PGtkFileChooser){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_unselect_all".} -proc gtk_file_chooser_get_filenames*(chooser: PGtkFileChooser): PGSList{.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_get_filenames".} -proc gtk_file_chooser_set_current_folder*(chooser: PGtkFileChooser, - filename: cstring): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_set_current_folder".} -proc gtk_file_chooser_get_current_folder*(chooser: PGtkFileChooser): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_current_folder".} -proc gtk_file_chooser_get_uri*(chooser: PGtkFileChooser): cstring{.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_get_uri".} -proc gtk_file_chooser_set_uri*(chooser: PGtkFileChooser, uri: cstring): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_set_uri".} -proc gtk_file_chooser_select_uri*(chooser: PGtkFileChooser, uri: cstring): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_select_uri".} -proc gtk_file_chooser_unselect_uri*(chooser: PGtkFileChooser, uri: cstring){. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_unselect_uri".} -proc gtk_file_chooser_get_uris*(chooser: PGtkFileChooser): PGSList{.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_get_uris".} -proc gtk_file_chooser_set_current_folder_uri*(chooser: PGtkFileChooser, - uri: cstring): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_set_current_folder_uri".} -proc gtk_file_chooser_get_current_folder_uri*(chooser: PGtkFileChooser): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_current_folder_uri".} -proc gtk_file_chooser_set_preview_widget*(chooser: PGtkFileChooser, - preview_widget: PGtkWidget){.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_set_preview_widget".} -proc gtk_file_chooser_get_preview_widget*(chooser: PGtkFileChooser): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_widget".} -proc gtk_file_chooser_set_preview_widget_active*(chooser: PGtkFileChooser, - active: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_set_preview_widget_active".} -proc gtk_file_chooser_get_preview_widget_active*(chooser: PGtkFileChooser): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_widget_active".} -proc gtk_file_chooser_set_use_preview_label*(chooser: PGtkFileChooser, - use_label: gboolean){.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_set_use_preview_label".} -proc gtk_file_chooser_get_use_preview_label*(chooser: PGtkFileChooser): gboolean{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_use_preview_label".} -proc gtk_file_chooser_get_preview_filename*(chooser: PGtkFileChooser): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_filename".} -proc gtk_file_chooser_get_preview_uri*(chooser: PGtkFileChooser): cstring{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_preview_uri".} -proc gtk_file_chooser_set_extra_widget*(chooser: PGtkFileChooser, - extra_widget: PGtkWidget){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_set_extra_widget".} -proc gtk_file_chooser_get_extra_widget*(chooser: PGtkFileChooser): PGtkWidget{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_extra_widget".} -proc gtk_file_chooser_add_filter*(chooser: PGtkFileChooser, - filter: PGtkFileFilter){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_add_filter".} -proc gtk_file_chooser_remove_filter*(chooser: PGtkFileChooser, - filter: PGtkFileFilter){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_remove_filter".} -proc gtk_file_chooser_list_filters*(chooser: PGtkFileChooser): PGSList{.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_list_filters".} -proc gtk_file_chooser_set_filter*(chooser: PGtkFileChooser, - filter: PGtkFileFilter){.cdecl, - dynlib: gtklib, importc: "gtk_file_chooser_set_filter".} -proc gtk_file_chooser_get_filter*(chooser: PGtkFileChooser): PGtkFileFilter{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_get_filter".} -proc gtk_file_chooser_add_shortcut_folder*(chooser: PGtkFileChooser, - folder: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_add_shortcut_folder".} -proc gtk_file_chooser_remove_shortcut_folder*(chooser: PGtkFileChooser, - folder: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_remove_shortcut_folder".} -proc gtk_file_chooser_list_shortcut_folders*(chooser: PGtkFileChooser): PGSList{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_list_shortcut_folders".} -proc gtk_file_chooser_add_shortcut_folder_uri*(chooser: PGtkFileChooser, - uri: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_add_shortcut_folder_uri".} -proc gtk_file_chooser_remove_shortcut_folder_uri*(chooser: PGtkFileChooser, - uri: cstring, error: pointer): gboolean{.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_remove_shortcut_folder_uri".} -proc gtk_file_chooser_list_shortcut_folder_uris*(chooser: PGtkFileChooser): PGSList{. - cdecl, dynlib: gtklib, importc: "gtk_file_chooser_list_shortcut_folder_uris".} - -proc gtk_file_chooser_set_do_overwrite_confirmation*(chooser: PGtkFileChooser, - do_overwrite_confirmation: gboolean) {.cdecl, dynlib: gtklib, - importc: "gtk_file_chooser_set_do_overwrite_confirmation".} - -proc gtk_nimrod_init*() = - var - cmdLine {.importc: "cmdLine".}: array [0..255, cstring] - cmdCount {.importc: "cmdCount".}: cint - gtk_init(addr(cmdLine), addr(cmdCount)) diff --git a/lib/oldwrappers/gtk/gtkglext.nim b/lib/oldwrappers/gtk/gtkglext.nim deleted file mode 100755 index 38da5d25e..000000000 --- a/lib/oldwrappers/gtk/gtkglext.nim +++ /dev/null @@ -1,50 +0,0 @@ -{.deadCodeElim: on.} - -import - Glib2, Gdk2, Gtk2, GdkGLExt - -const - GtkGLExtLib* = if defined(WIN32): "libgtkglext-win32-1.0-0.dll" else: "libgtkglext-x11-1.0.so" - -const - HEADER_GTKGLEXT_MAJOR_VERSION* = 1 - HEADER_GTKGLEXT_MINOR_VERSION* = 0 - HEADER_GTKGLEXT_MICRO_VERSION* = 6 - HEADER_GTKGLEXT_INTERFACE_AGE* = 4 - HEADER_GTKGLEXT_BINARY_AGE* = 6 - -proc gtk_gl_parse_args*(argc: Plongint, argv: PPPChar): gboolean{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_gl_parse_args".} -proc gtk_gl_init_check*(argc: Plongint, argv: PPPChar): gboolean{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_gl_init_check".} -proc gtk_gl_init*(argc: Plongint, argv: PPPChar){.cdecl, dynlib: GtkGLExtLib, - importc: "gtk_gl_init".} -proc gtk_widget_set_gl_capability*(widget: PGtkWidget, glconfig: PGdkGLConfig, - share_list: PGdkGLContext, direct: gboolean, - render_type: int): gboolean{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_widget_set_gl_capability".} -proc gtk_widget_is_gl_capable*(widget: PGtkWidget): gboolean{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_widget_is_gl_capable".} -proc gtk_widget_get_gl_config*(widget: PGtkWidget): PGdkGLConfig{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_widget_get_gl_config".} -proc gtk_widget_create_gl_context*(widget: PGtkWidget, - share_list: PGdkGLContext, direct: gboolean, - render_type: int): PGdkGLContext{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_widget_create_gl_context".} -proc gtk_widget_get_gl_context*(widget: PGtkWidget): PGdkGLContext{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_widget_get_gl_context".} -proc gtk_widget_get_gl_window*(widget: PGtkWidget): PGdkGLWindow{.cdecl, - dynlib: GtkGLExtLib, importc: "gtk_widget_get_gl_window".} -proc gtk_widget_get_gl_drawable*(widget: PGtkWidget): PGdkGLDrawable = - nil - -proc HEADER_GTKGLEXT_CHECK_VERSION*(major, minor, micro: guint): bool = - result = (HEADER_GTKGLEXT_MAJOR_VERSION > major) or - ((HEADER_GTKGLEXT_MAJOR_VERSION == major) and - (HEADER_GTKGLEXT_MINOR_VERSION > minor)) or - ((HEADER_GTKGLEXT_MAJOR_VERSION == major) and - (HEADER_GTKGLEXT_MINOR_VERSION == minor) and - (HEADER_GTKGLEXT_MICRO_VERSION >= micro)) - -proc gtk_widget_get_gl_drawable*(widget: PGtkWidget): PGdkGLDrawable = - result = GDK_GL_DRAWABLE(gtk_widget_get_gl_window(widget)) diff --git a/lib/oldwrappers/gtk/gtkhtml.nim b/lib/oldwrappers/gtk/gtkhtml.nim deleted file mode 100755 index c9ccc3595..000000000 --- a/lib/oldwrappers/gtk/gtkhtml.nim +++ /dev/null @@ -1,499 +0,0 @@ -{.deadCodeElim: on.} - -import - gtk2, glib2, atk, pango, gdk2pixbuf, gdk2 - -when defined(windows): - {.define: GTK_WINDOWING_WIN32.} - const - gtkhtmllib = "libgtkhtml-win32-2.0-0.dll" -else: - const - gtkhtmllib = "libgtkhtml-2.so" -const - DOM_UNSPECIFIED_EVENT_TYPE_ERR* = 0 - DOM_INDEX_SIZE_ERR* = 1 - DOM_DOMSTRING_SIZE_ERR* = 2 - DOM_HIERARCHY_REQUEST_ERR* = 3 - DOM_WRONG_DOCUMENT_ERR* = 4 - DOM_INVALID_CHARACTER_ERR* = 5 - DOM_NO_DATA_ALLOWED_ERR* = 6 - DOM_NO_MODIFICATION_ALLOWED_ERR* = 7 - DOM_NOT_FOUND_ERR* = 8 - DOM_NOT_SUPPORTED_ERR* = 9 - DOM_INUSE_ATTRIBUTE_ERR* = 10 - DOM_INVALID_STATE_ERR* = 11 - DOM_SYNTAX_ERR* = 12 - DOM_INVALID_MODIFICATION_ERR* = 13 - DOM_NAMESPACE_ERR* = 14 - DOM_INVALID_ACCESS_ERR* = 15 - DOM_NO_EXCEPTION* = 255 - DOM_ELEMENT_NODE* = 1 - DOM_ATTRIBUTE_NODE* = 2 - DOM_TEXT_NODE* = 3 - DOM_CDATA_SECTION_NODE* = 4 - DOM_ENTITY_REFERENCE_NODE* = 5 - DOM_ENTITY_NODE* = 6 - DOM_PROCESSING_INSTRUCTION_NODE* = 7 - DOM_COMMENT_NODE* = 8 - DOM_DOCUMENT_NODE* = 9 - DOM_DOCUMENT_TYPE_NODE* = 10 - DOM_DOCUMENT_FRAGMENT_NODE* = 11 - DOM_NOTATION_NODE* = 12 - bm_HtmlFontSpecification_weight = 0x0000000F - bp_HtmlFontSpecification_weight = 0 - bm_HtmlFontSpecification_style = 0x00000030 - bp_HtmlFontSpecification_style = 4 - bm_HtmlFontSpecification_variant = 0x000000C0 - bp_HtmlFontSpecification_variant = 6 - bm_HtmlFontSpecification_stretch = 0x00000F00 - bp_HtmlFontSpecification_stretch = 8 - bm_HtmlFontSpecification_decoration = 0x00007000 - bp_HtmlFontSpecification_decoration = 12 - -type - TDomString* = gchar - TDomBoolean* = gboolean - TDomException* = gushort - TDomTimeStamp* = guint64 - PDomNode* = ptr TDomNode - TDomNode* = object of TGObject - xmlnode*: pointer - style*: pointer - - PDomNodeClass* = ptr TDomNodeClass - TDomNodeClass* = object of TGObjectClass - `get_nodeName`*: proc (node: PDomNode): PDomString{.cdecl.} - `get_nodeValue`*: proc (node: PDomNode, exc: PDomException): PDomString {. - cdecl.} - `set_nodeValue`*: proc (node: PDomNode, value: PDomString, - exc: PDomException): PDomString{.cdecl.} - - PDomDocument* = ptr TDomDocument - TDomDocument* {.final, pure.} = object - parent*: PDomNode - iterators*: PGSList - - PDomDocumentClass* = ptr TDomDocumentClass - TDomDocumentClass* {.final, pure.} = object - parent_class*: PDomNodeClass - - PHtmlFocusIterator* = ptr THtmlFocusIterator - THtmlFocusIterator* = object of TGObject - document*: PDomDocument - current_node*: PDomNode - - PHtmlFocusIteratorClass* = ptr THtmlFocusIteratorClass - THtmlFocusIteratorClass* = object of TGObjectClass - - THtmlParserType* = enum - HTML_PARSER_TYPE_HTML, HTML_PARSER_TYPE_XML - PHtmlParser* = ptr THtmlParser - THtmlParser* = object of TGObject - parser_type*: THtmlParserType - document*: PHtmlDocument - stream*: PHtmlStream - xmlctxt*: xmlParserCtxtPtr - res*: int32 - chars*: array[0..9, char] - blocking*: gboolean - blocking_node*: PDomNode - - PHtmlParserClass* = ptr THtmlParserClass - THtmlParserClass* = object of TGtkObjectClass - done_parsing*: proc (parser: PHtmlParser){.cdecl.} - new_node*: proc (parser: PHtmlParser, node: PDomNode) - parsed_document_node*: proc (parser: PHtmlParser, document: PDomDocument) - - PHtmlStream* = ptr THtmlStream - THtmlStreamCloseFunc* = proc (stream: PHtmlStream, user_data: gpointer){.cdecl.} - THtmlStreamWriteFunc* = proc (stream: PHtmlStream, buffer: Pgchar, - size: guint, user_data: gpointer){.cdecl.} - THtmlStreamCancelFunc* = proc (stream: PHtmlStream, user_data: gpointer, - cancel_data: gpointer){.cdecl.} - THtmlStream* = object of TGObject - write_func*: THtmlStreamWriteFunc - close_func*: THtmlStreamCloseFunc - cancel_func*: THtmlStreamCancelFunc - user_data*: gpointer - cancel_data*: gpointer - written*: gint - mime_type*: cstring - - PHtmlStreamClass* = ptr THtmlStreamClass - THtmlStreamClass* = object of TGObjectClass - - THtmlStreamBufferCloseFunc* = proc (str: Pgchar, len: gint, - user_data: gpointer){.cdecl.} - PGtkHtmlContext* = ptr TGtkHtmlContext - TGtkHtmlContext* = object of TGObject - documents*: PGSList - standard_font*: PHtmlFontSpecification - fixed_font*: PHtmlFontSpecification - debug_painting*: gboolean - - PGtkHtmlContextClass* = ptr TGtkHtmlContextClass - TGtkHtmlContextClass* = object of TGObjectClass - - THtmlDocumentState* = enum - HTML_DOCUMENT_STATE_DONE, HTML_DOCUMENT_STATE_PARSING - PHtmlDocument* = ptr THtmlDocument - THtmlDocument* = object of TGObject - stylesheets*: PGSList - current_stream*: PHtmlStream - state*: THtmlDocumentState - - PHtmlDocumentClass* = ptr THtmlDocumentClass - THtmlDocumentClass* = object of TGObjectClass - request_url*: proc (document: PHtmlDocument, url: Pgchar, - stream: PHtmlStream){.cdecl.} - link_clicked*: proc (document: PHtmlDocument, url: Pgchar){.cdecl.} - set_base*: proc (document: PHtmlDocument, url: Pgchar){.cdecl.} - title_changed*: proc (document: PHtmlDocument, new_title: Pgchar){.cdecl.} - submit*: proc (document: PHtmlDocument, `method`: Pgchar, url: Pgchar, - encoding: Pgchar){.cdecl.} - - PHtmlView* = ptr THtmlView - THtmlView* = object of TGtkLayout - document*: PHtmlDocument - node_table*: PGHashTable - relayout_idle_id*: guint - relayout_timeout_id*: guint - mouse_down_x*: gint - mouse_down_y*: gint - mouse_detail*: gint - sel_start_ypos*: gint - sel_start_index*: gint - sel_end_ypos*: gint - sel_end_index*: gint - sel_flag*: gboolean - sel_backwards*: gboolean - sel_start_found*: gboolean - sel_list*: PGSList - jump_to_anchor*: pgchar - magnification*: gdouble - magnification_modified*: gboolean - on_url*: gboolean - - PHtmlViewClass* = ptr THtmlViewClass - THtmlViewClass* = object of TGtkLayoutClass - move_cursor*: proc (html_view: PHtmlView, step: TGtkMovementStep, - count: gint, extend_selection: gboolean){.cdecl.} - on_url*: proc (html_view: PHtmlView, url: Pgchar) - activate*: proc (html_view: PHtmlView) - move_focus_out*: proc (html_view: PHtmlView, direction: TGtkDirectionType) - - -proc DOM_TYPE_NODE*(): GType -proc DOM_NODE*(theobject: pointer): PDomNode -proc DOM_NODE_CLASS*(klass: pointer): PDomNodeClass -proc DOM_IS_NODE*(theobject: pointer): bool -proc DOM_IS_NODE_CLASS*(klass: pointer): bool -proc DOM_NODE_GET_CLASS*(obj: pointer): int32 -proc dom_node_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, - importc: "dom_node_get_type".} -proc dom_Node_mkref*(node: pointer): PDomNode{.cdecl, dynlib: gtkhtmllib, - importc: "dom_Node_mkref".} -proc dom_Node_get_childNodes*(node: PDomNode): PDomNodeList{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_childNodes".} -proc dom_Node_removeChild*(node: PDomNode, oldChild: PDomNode, - exc: PDomException): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node_removeChild".} -proc dom_Node_get_nodeValue*(node: PDomNode, exc: PDomException): PDomString{. - cdecl, dynlib: gtkhtmllib, importc: "dom_Node__get_nodeValue".} -proc dom_Node_get_firstChild*(node: PDomNode): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_firstChild".} -proc dom_Node_get_nodeName*(node: PDomNode): PDomString{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_nodeName".} -proc dom_Node_get_attributes*(node: PDomNode): PDomNamedNodeMap{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_attributes".} -proc dom_Document_get_doctype*(doc: PDomDocument): PDomDocumentType{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Document__get_doctype".} -proc dom_Node_hasChildNodes*(node: PDomNode): DomBoolean{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node_hasChildNodes".} -proc dom_Node_get_parentNode*(node: PDomNode): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_parentNode".} -proc dom_Node_get_nextSibling*(node: PDomNode): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_nextSibling".} -proc dom_Node_get_nodeType*(node: PDomNode): gushort{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_nodeType".} -proc dom_Node_hasAttributes*(node: PDomNode): DomBoolean{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node_hasAttributes".} -proc dom_Node_cloneNode*(node: PDomNode, deep: DomBoolean): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node_cloneNode".} -proc dom_Node_appendChild*(node: PDomNode, newChild: PDomNode, - exc: PDomException): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node_appendChild".} -proc dom_Node_get_localName*(node: PDomNode): PDomString{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_localName".} -proc dom_Node_get_namespaceURI*(node: PDomNode): PDomString{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_namespaceURI".} -proc dom_Node_get_previousSibling*(node: PDomNode): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_previousSibling".} -proc dom_Node_get_lastChild*(node: PDomNode): PDomNode{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_lastChild".} -proc dom_Node_set_nodeValue*(node: PDomNode, value: PDomString, - exc: PDomException){.cdecl, dynlib: gtkhtmllib, - importc: "dom_Node__set_nodeValue".} -proc dom_Node_get_ownerDocument*(node: PDomNode): PDomDocument{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node__get_ownerDocument".} -proc dom_Node_hasAttributes*(node: PDomNode): gboolean{.cdecl, - dynlib: gtkhtmllib, importc: "dom_Node_hasAttributes".} -proc DOM_TYPE_DOCUMENT*(): GType -proc DOM_DOCUMENT*(theobject: pointer): PDomDocument -proc DOM_DOCUMENT_CLASS*(klass: pointer): PDomDocumentClass -proc DOM_IS_DOCUMENT*(theobject: pointer): bool -proc DOM_IS_DOCUMENT_CLASS*(klass: pointer): bool -proc DOM_DOCUMENT_GET_CLASS*(obj: pointer): PDomDocumentClass -proc dom_document_get_type*(): GType -proc dom_Document_get_documentElement*(doc: PDomDocument): PDomElement -proc dom_Document_createElement*(doc: PDomDocument, tagName: PDomString): PDomElement -proc dom_Document_createTextNode*(doc: PDomDocument, data: PDomString): PDomText -proc dom_Document_createComment*(doc: PDomDocument, data: PDomString): PDomComment -proc dom_Document_importNode*(doc: PDomDocument, importedNode: PDomNode, - deep: DomBoolean, exc: PDomException): PDomNode -proc HTML_TYPE_FOCUS_ITERATOR*(): GType -proc HTML_FOCUS_ITERATOR*(theobject: pointer): PHtmlFocusIterator -proc HTML_FOCUS_ITERATOR_CLASS*(klass: pointer): PHtmlFocusIteratorClass -proc HTML_IS_FOCUS_ITERATOR*(theobject: pointer): bool -proc HTML_IS_FOCUS_ITERATOR_CLASS*(klass: pointer): bool -proc HTML_FOCUS_ITERATOR_GET_CLASS*(obj: pointer): PHtmlFocusIteratorClass -proc html_focus_iterator_next_element*(document: PDomDocument, - element: PDomElement): PDomElement{. - cdecl, dynlib: gtkhtmllib, importc: "html_focus_iterator_next_element".} -proc html_focus_iterator_prev_element*(document: PDomDocument, - element: PDomElement): PDomElement{. - cdecl, dynlib: gtkhtmllib, importc: "html_focus_iterator_prev_element".} -proc HTML_PARSER_TYPE*(): GType -proc HTML_PARSER*(obj: pointer): PHtmlParser -proc HTML_PARSER_CLASS*(klass: pointer): PHtmlParserClass -proc HTML_IS_PARSER*(obj: pointer): bool -proc html_parser_get_type*(): GType -proc html_parser_new*(document: PHtmlDocument, parser_type: THtmlParserType): PHtmlParser -proc HTML_TYPE_STREAM*(): GType -proc HTML_STREAM*(obj: pointer): PHtmlStream -proc HTML_STREAM_CLASS*(klass: pointer): PHtmlStreamClass -proc HTML_IS_STREAM*(obj: pointer): bool -proc HTML_IS_STREAM_CLASS*(klass: pointer): bool -proc HTML_STREAM_GET_CLASS*(obj: pointer): PHtmlStreamClass -proc html_stream_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, - importc: "html_stream_get_type".} -proc html_stream_new*(write_func: THtmlStreamWriteFunc, - close_func: THtmlStreamCloseFunc, user_data: gpointer): PHtmlStream{. - cdecl, dynlib: gtkhtmllib, importc: "html_stream_new".} -proc html_stream_write*(stream: PHtmlStream, buffer: Pgchar, size: guint){. - cdecl, dynlib: gtkhtmllib, importc: "html_stream_write".} -proc html_stream_close*(stream: PHtmlStream){.cdecl, dynlib: gtkhtmllib, - importc: "html_stream_close".} -proc html_stream_destroy*(stream: PHtmlStream){.cdecl, dynlib: gtkhtmllib, - importc: "html_stream_destroy".} -proc html_stream_get_written*(stream: PHtmlStream): gint{.cdecl, - dynlib: gtkhtmllib, importc: "html_stream_get_written".} -proc html_stream_cancel*(stream: PHtmlStream){.cdecl, dynlib: gtkhtmllib, - importc: "html_stream_cancel".} -proc html_stream_set_cancel_func*(stream: PHtmlStream, - abort_func: THtmlStreamCancelFunc, - cancel_data: gpointer){.cdecl, - dynlib: gtkhtmllib, importc: "html_stream_set_cancel_func".} -proc html_stream_get_mime_type*(stream: PHtmlStream): cstring{.cdecl, - dynlib: gtkhtmllib, importc: "html_stream_get_mime_type".} -proc html_stream_set_mime_type*(stream: PHtmlStream, mime_type: cstring){.cdecl, - dynlib: gtkhtmllib, importc: "html_stream_set_mime_type".} -proc html_stream_buffer_new*(close_func: THtmlStreamBufferCloseFunc, - user_data: gpointer): PHtmlStream{.cdecl, - dynlib: gtkhtmllib, importc: "html_stream_buffer_new".} -proc html_event_mouse_move*(view: PHtmlView, event: PGdkEventMotion){.cdecl, - dynlib: gtkhtmllib, importc: "html_event_mouse_move".} -proc html_event_button_press*(view: PHtmlView, button: PGdkEventButton){.cdecl, - dynlib: gtkhtmllib, importc: "html_event_button_press".} -proc html_event_button_release*(view: PHtmlView, event: PGdkEventButton){.cdecl, - dynlib: gtkhtmllib, importc: "html_event_button_release".} -proc html_event_activate*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, - importc: "html_event_activate".} -proc html_event_key_press*(view: PHtmlView, event: PGdkEventKey): gboolean{. - cdecl, dynlib: gtkhtmllib, importc: "html_event_key_press".} -proc html_event_find_root_box*(self: PHtmlBox, x: gint, y: gint): PHtmlBox{. - cdecl, dynlib: gtkhtmllib, importc: "html_event_find_root_box".} -proc html_selection_start*(view: PHtmlView, event: PGdkEventButton){.cdecl, - dynlib: gtkhtmllib, importc: "html_selection_start".} -proc html_selection_end*(view: PHtmlView, event: PGdkEventButton){.cdecl, - dynlib: gtkhtmllib, importc: "html_selection_end".} -proc html_selection_update*(view: PHtmlView, event: PGdkEventMotion){.cdecl, - dynlib: gtkhtmllib, importc: "html_selection_update".} -proc html_selection_clear*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, - importc: "html_selection_clear".} -proc html_selection_set*(view: PHtmlView, start: PDomNode, offset: int32, - len: int32){.cdecl, dynlib: gtkhtmllib, - importc: "html_selection_set".} -proc GTK_HTML_CONTEXT_TYPE*(): GType -proc GTK_HTML_CONTEXT*(obj: pointer): PGtkHtmlContext -proc GTK_HTML_CONTEXT_CLASS*(klass: pointer): PGtkHtmlContextClass -proc GTK_HTML_IS_CONTEXT*(obj: pointer): bool -proc GTK_HTML_IS_CONTEXT_CLASS*(klass: pointer): bool -proc gtk_html_context_get_type*(): GType -proc gtk_html_context_get*(): PGtkHtmlContext -proc HTML_TYPE_DOCUMENT*(): GType -proc HTML_DOCUMENT*(obj: pointer): PHtmlDocument -proc HTML_DOCUMENT_CLASS*(klass: pointer): PHtmlDocumentClass -proc HTML_IS_DOCUMENT*(obj: pointer): bool -proc html_document_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, - importc: "html_document_get_type".} -proc html_document_new*(): PHtmlDocument{.cdecl, dynlib: gtkhtmllib, - importc: "html_document_new".} -proc html_document_open_stream*(document: PHtmlDocument, mime_type: Pgchar): gboolean{. - cdecl, dynlib: gtkhtmllib, importc: "html_document_open_stream".} -proc html_document_write_stream*(document: PHtmlDocument, buffer: Pgchar, - len: gint){.cdecl, dynlib: gtkhtmllib, - importc: "html_document_write_stream".} -proc html_document_close_stream*(document: PHtmlDocument){.cdecl, - dynlib: gtkhtmllib, importc: "html_document_close_stream".} -proc html_document_clear*(document: PHtmlDocument){.cdecl, dynlib: gtkhtmllib, - importc: "html_document_clear".} -proc HTML_TYPE_VIEW*(): GType -proc HTML_VIEW*(obj: pointer): PHtmlView -proc HTML_VIEW_CLASS*(klass: pointer): PHtmlViewClass -proc HTML_IS_VIEW*(obj: pointer): bool -proc html_view_get_type*(): GType{.cdecl, dynlib: gtkhtmllib, - importc: "html_view_get_type".} -proc html_view_new*(): PGtkWidget{.cdecl, dynlib: gtkhtmllib, - importc: "html_view_new".} -proc html_view_set_document*(view: PHtmlView, document: PHtmlDocument){.cdecl, - dynlib: gtkhtmllib, importc: "html_view_set_document".} -proc html_view_jump_to_anchor*(view: PHtmlView, anchor: Pgchar){.cdecl, - dynlib: gtkhtmllib, importc: "html_view_jump_to_anchor".} -proc html_view_get_magnification*(view: PHtmlView): gdouble{.cdecl, - dynlib: gtkhtmllib, importc: "html_view_get_magnification".} -proc html_view_set_magnification*(view: PHtmlView, magnification: gdouble){. - cdecl, dynlib: gtkhtmllib, importc: "html_view_set_magnification".} -proc html_view_zoom_in*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, - importc: "html_view_zoom_in".} -proc html_view_zoom_out*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, - importc: "html_view_zoom_out".} -proc html_view_zoom_reset*(view: PHtmlView){.cdecl, dynlib: gtkhtmllib, - importc: "html_view_zoom_reset".} -proc DOM_TYPE_NODE*(): GType = - result = dom_node_get_type() - -proc DOM_NODE*(theobject: pointer): PDomNode = - result = G_TYPE_CHECK_INSTANCE_CAST(theobject, DOM_TYPE_NODE(), TDomNode) - -proc DOM_NODE_CLASS*(klass: pointer): PDomNodeClass = - result = G_TYPE_CHECK_CLASS_CAST(klass, DOM_TYPE_NODE(), TDomNodeClass) - -proc DOM_IS_NODE*(theobject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, DOM_TYPE_NODE()) - -proc DOM_IS_NODE_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, DOM_TYPE_NODE()) - -proc DOM_NODE_GET_CLASS*(obj: pointer): PDomNodeClass = - result = G_TYPE_INSTANCE_GET_CLASS(obj, DOM_TYPE_NODE(), TDomNodeClass) - -proc DOM_TYPE_DOCUMENT*(): GType = - result = dom_document_get_type() - -proc DOM_DOCUMENT*(theobject: pointer): PDomDocument = - result = G_TYPE_CHECK_INSTANCE_CAST(theobject, DOM_TYPE_DOCUMENT(), TDomDocument) - -proc DOM_DOCUMENT_CLASS*(klass: pointer): PDomDocumentClass = - result = G_TYPE_CHECK_CLASS_CAST(klass, DOM_TYPE_DOCUMENT(), TDomDocumentClass) - -proc DOM_IS_DOCUMENT*(theobject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, DOM_TYPE_DOCUMENT()) - -proc DOM_IS_DOCUMENT_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, DOM_TYPE_DOCUMENT()) - -proc DOM_DOCUMENT_GET_CLASS*(obj: pointer): PDomDocumentClass = - result = G_TYPE_INSTANCE_GET_CLASS(obj, DOM_TYPE_DOCUMENT(), TDomDocumentClass) - -proc HTML_TYPE_FOCUS_ITERATOR*(): GType = - result = html_focus_iterator_get_type() - -proc HTML_FOCUS_ITERATOR*(theobject: pointer): PHtmlFocusIterator = - result = G_TYPE_CHECK_INSTANCE_CAST(theobject, HTML_TYPE_FOCUS_ITERATOR(), - HtmlFocusIterator) - -proc HTML_FOCUS_ITERATOR_CLASS*(klass: pointer): PHtmlFocusIteratorClass = - result = G_TYPE_CHECK_CLASS_CAST(klass, HTML_TYPE_FOCUS_ITERATOR(), - HtmlFocusIteratorClass) - -proc HTML_IS_FOCUS_ITERATOR*(theobject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(theobject, HTML_TYPE_FOCUS_ITERATOR()) - -proc HTML_IS_FOCUS_ITERATOR_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, HTML_TYPE_FOCUS_ITERATOR()) - -proc HTML_FOCUS_ITERATOR_GET_CLASS*(obj: pointer): PHtmlFocusIteratorClass = - result = G_TYPE_INSTANCE_GET_CLASS(obj, HTML_TYPE_FOCUS_ITERATOR(), - HtmlFocusIteratorClass) - -proc HTML_PARSER_TYPE*(): GType = - result = html_parser_get_type() - -proc HTML_PARSER*(obj: pointer): PHtmlParser = - result = GTK_CHECK_CAST(obj, HTML_PARSER_TYPE(), THtmlParser) - -proc HTML_PARSER_CLASS*(klass: pointer): PHtmlParserClass = - result = GTK_CHECK_CLASS_CAST(klass, HTML_PARSER_TYPE(), THtmlParserClass) - -proc HTML_IS_PARSER*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, HTML_PARSER_TYPE()) - -proc HTML_TYPE_STREAM*(): GType = - result = html_stream_get_type() - -proc HTML_STREAM*(obj: pointer): PHtmlStream = - result = PHtmlStream(G_TYPE_CHECK_INSTANCE_CAST(obj, HTML_TYPE_STREAM())) - -proc HTML_STREAM_CLASS*(klass: pointer): PHtmlStreamClass = - result = G_TYPE_CHECK_CLASS_CAST(klass, HTML_TYPE_STREAM()) - -proc HTML_IS_STREAM*(obj: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, HTML_TYPE_STREAM()) - -proc HTML_IS_STREAM_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, HTML_TYPE_STREAM()) - -proc HTML_STREAM_GET_CLASS*(obj: pointer): PHtmlStreamClass = - result = PHtmlStreamClass(G_TYPE_INSTANCE_GET_CLASS(obj, HTML_TYPE_STREAM())) - -proc GTK_HTML_CONTEXT_TYPE*(): GType = - result = gtk_html_context_get_type() - -proc GTK_HTML_CONTEXT*(obj: pointer): PGtkHtmlContext = - result = GTK_CHECK_CAST(obj, GTK_HTML_CONTEXT_TYPE(), TGtkHtmlContext) - -proc GTK_HTML_CONTEXT_CLASS*(klass: pointer): PGtkHtmlContextClass = - result = GTK_CHECK_CLASS_CAST(klass, GTK_HTML_CONTEXT_TYPE(), - TGtkHtmlContextClass) - -proc GTK_HTML_IS_CONTEXT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, GTK_HTML_CONTEXT_TYPE()) - -proc GTK_HTML_IS_CONTEXT_CLASS*(klass: pointer): bool = - result = GTK_CHECK_CLASS_TYPE(klass, GTK_HTML_CONTEXT_TYPE()) - -proc HTML_TYPE_DOCUMENT*(): GType = - result = html_document_get_type() - -proc HTML_DOCUMENT*(obj: pointer): PHtmlDocument = - result = PHtmlDocument(GTK_CHECK_CAST(obj, HTML_TYPE_DOCUMENT())) - -proc HTML_DOCUMENT_CLASS*(klass: pointer): PHtmlDocumentClass = - result = GTK_CHECK_CLASS_CAST(klass, HTML_TYPE_DOCUMENT()) - -proc HTML_IS_DOCUMENT*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, HTML_TYPE_DOCUMENT()) - -proc HTML_TYPE_VIEW*(): GType = - result = html_view_get_type() - -proc HTML_VIEW*(obj: pointer): PHtmlView = - result = PHtmlView(GTK_CHECK_CAST(obj, HTML_TYPE_VIEW())) - -proc HTML_VIEW_CLASS*(klass: pointer): PHtmlViewClass = - result = PHtmlViewClass(GTK_CHECK_CLASS_CAST(klass, HTML_TYPE_VIEW())) - -proc HTML_IS_VIEW*(obj: pointer): bool = - result = GTK_CHECK_TYPE(obj, HTML_TYPE_VIEW()) diff --git a/lib/oldwrappers/gtk/libglade2.nim b/lib/oldwrappers/gtk/libglade2.nim deleted file mode 100755 index 5e323680e..000000000 --- a/lib/oldwrappers/gtk/libglade2.nim +++ /dev/null @@ -1,118 +0,0 @@ -{.deadCodeElim: on.} - -import - glib2, gtk2 - -when defined(win32): - const - LibGladeLib = "libglade-2.0-0.dll" -else: - const - LibGladeLib = "libglade-2.0.so" -type - PLongint* = ptr int32 - PSmallInt* = ptr int16 - PByte* = ptr int8 - PWord* = ptr int16 - PDWord* = ptr int32 - PDouble* = ptr float64 - -proc glade_init*(){.cdecl, dynlib: LibGladeLib, importc: "glade_init".} -proc glade_require*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, - importc: "glade_require".} -proc glade_provide*(TheLibrary: cstring){.cdecl, dynlib: LibGladeLib, - importc: "glade_provide".} -type - PGladeXMLPrivate* = pointer - PGladeXML* = ptr TGladeXML - TGladeXML* = object of TGObject - filename*: cstring - priv*: PGladeXMLPrivate - - PGladeXMLClass* = ptr TGladeXMLClass - TGladeXMLClass* = object of TGObjectClass - - TGladeXMLConnectFunc* = proc (handler_name: cstring, anObject: PGObject, - signal_name: cstring, signal_data: cstring, - connect_object: PGObject, after: gboolean, - user_data: gpointer){.cdecl.} - -proc GLADE_TYPE_XML*(): GType -proc GLADE_XML*(obj: pointer): PGladeXML -proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass -proc GLADE_IS_XML*(obj: pointer): gboolean -proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean -proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass -proc glade_xml_get_type*(): GType{.cdecl, dynlib: LibGladeLib, - importc: "glade_xml_get_type".} -proc glade_xml_new*(fname: cstring, root: cstring, domain: cstring): PGladeXML{. - cdecl, dynlib: LibGladeLib, importc: "glade_xml_new".} -proc glade_xml_new_from_buffer*(buffer: cstring, size: int32, root: cstring, - domain: cstring): PGladeXML{.cdecl, - dynlib: LibGladeLib, importc: "glade_xml_new_from_buffer".} -proc glade_xml_construct*(self: PGladeXML, fname: cstring, root: cstring, - domain: cstring): gboolean{.cdecl, - dynlib: LibGladeLib, importc: "glade_xml_construct".} -proc glade_xml_signal_connect*(self: PGladeXML, handlername: cstring, - func: TGCallback){.cdecl, dynlib: LibGladeLib, - importc: "glade_xml_signal_connect".} -proc glade_xml_signal_connect_data*(self: PGladeXML, handlername: cstring, - func: TGCallback, user_data: gpointer){. - cdecl, dynlib: LibGladeLib, importc: "glade_xml_signal_connect_data".} -proc glade_xml_signal_autoconnect*(self: PGladeXML){.cdecl, dynlib: LibGladeLib, - importc: "glade_xml_signal_autoconnect".} -proc glade_xml_signal_connect_full*(self: PGladeXML, handler_name: cstring, - func: TGladeXMLConnectFunc, - user_data: gpointer){.cdecl, - dynlib: LibGladeLib, importc: "glade_xml_signal_connect_full".} -proc glade_xml_signal_autoconnect_full*(self: PGladeXML, - func: TGladeXMLConnectFunc, - user_data: gpointer){.cdecl, - dynlib: LibGladeLib, importc: "glade_xml_signal_autoconnect_full".} -proc glade_xml_get_widget*(self: PGladeXML, name: cstring): PGtkWidget{.cdecl, - dynlib: LibGladeLib, importc: "glade_xml_get_widget".} -proc glade_xml_get_widget_prefix*(self: PGladeXML, name: cstring): PGList{. - cdecl, dynlib: LibGladeLib, importc: "glade_xml_get_widget_prefix".} -proc glade_xml_relative_file*(self: PGladeXML, filename: cstring): cstring{.cdecl, - dynlib: LibGladeLib, importc: "glade_xml_relative_file".} -proc glade_get_widget_name*(widget: PGtkWidget): cstring{.cdecl, - dynlib: LibGladeLib, importc: "glade_get_widget_name".} -proc glade_get_widget_tree*(widget: PGtkWidget): PGladeXML{.cdecl, - dynlib: LibGladeLib, importc: "glade_get_widget_tree".} -type - PGladeXMLCustomWidgetHandler* = ptr TGladeXMLCustomWidgetHandler - TGladeXMLCustomWidgetHandler* = TGtkWidget - -proc glade_set_custom_handler*(handler: TGladeXMLCustomWidgetHandler, - user_data: gpointer){.cdecl, dynlib: LibGladeLib, - importc: "glade_set_custom_handler".} -proc glade_gnome_init*() = - glade_init() - -proc glade_bonobo_init*() = - glade_init() - -proc glade_xml_new_with_domain*(fname: cstring, root: cstring, domain: cstring): PGladeXML = - result = glade_xml_new(fname, root, domain) - -proc glade_xml_new_from_memory*(buffer: cstring, size: int32, root: cstring, - domain: cstring): PGladeXML = - result = glade_xml_new_from_buffer(buffer, size, root, domain) - -proc GLADE_TYPE_XML*(): GType = - result = glade_xml_get_type() - -proc GLADE_XML*(obj: pointer): PGladeXML = - result = cast[PGladeXML](G_TYPE_CHECK_INSTANCE_CAST(obj, GLADE_TYPE_XML())) - -proc GLADE_XML_CLASS*(klass: pointer): PGladeXMLClass = - result = cast[PGladeXMLClass](G_TYPE_CHECK_CLASS_CAST(klass, GLADE_TYPE_XML())) - -proc GLADE_IS_XML*(obj: pointer): gboolean = - result = G_TYPE_CHECK_INSTANCE_TYPE(obj, GLADE_TYPE_XML()) - -proc GLADE_IS_XML_CLASS*(klass: pointer): gboolean = - result = G_TYPE_CHECK_CLASS_TYPE(klass, GLADE_TYPE_XML()) - -proc GLADE_XML_GET_CLASS*(obj: pointer): PGladeXMLClass = - result = cast[PGladeXMLClass](G_TYPE_INSTANCE_GET_CLASS(obj, GLADE_TYPE_XML())) diff --git a/lib/oldwrappers/gtk/pango.nim b/lib/oldwrappers/gtk/pango.nim deleted file mode 100755 index ade2da989..000000000 --- a/lib/oldwrappers/gtk/pango.nim +++ /dev/null @@ -1,1208 +0,0 @@ -{.deadCodeElim: on.} - -import - glib2 - -when defined(win32): - const - pangolib* = "libpango-1.0-0.dll" -else: - const - pangolib* = "libpango-1.0.so.0" -type - PPangoFont* = pointer - PPangoFontFamily* = pointer - PPangoFontset* = pointer - PPangoFontMetrics* = pointer - PPangoFontFace* = pointer - PPangoFontMap* = pointer - PPangoFontsetClass* = pointer - PPangoFontFamilyClass* = pointer - PPangoFontFaceClass* = pointer - PPangoFontClass* = pointer - PPangoFontMapClass* = pointer - PPangoFontDescription* = ptr TPangoFontDescription - TPangoFontDescription* = pointer - PPangoAttrList* = ptr TPangoAttrList - TPangoAttrList* = pointer - PPangoAttrIterator* = ptr TPangoAttrIterator - TPangoAttrIterator* = pointer - PPangoLayout* = ptr TPangoLayout - TPangoLayout* = pointer - PPangoLayoutClass* = ptr TPangoLayoutClass - TPangoLayoutClass* = pointer - PPangoLayoutIter* = ptr TPangoLayoutIter - TPangoLayoutIter* = pointer - PPangoContext* = ptr TPangoContext - TPangoContext* = pointer - PPangoContextClass* = ptr TPangoContextClass - TPangoContextClass* = pointer - PPangoFontsetSimple* = ptr TPangoFontsetSimple - TPangoFontsetSimple* = pointer - PPangoTabArray* = ptr TPangoTabArray - TPangoTabArray* = pointer - PPangoGlyphString* = ptr TPangoGlyphString - PPangoAnalysis* = ptr TPangoAnalysis - PPangoItem* = ptr TPangoItem - PPangoLanguage* = ptr TPangoLanguage - TPangoLanguage* = pointer - PPangoGlyph* = ptr TPangoGlyph - TPangoGlyph* = guint32 - PPangoRectangle* = ptr TPangoRectangle - TPangoRectangle* {.final, pure.} = object - x*: int32 - y*: int32 - width*: int32 - height*: int32 - - PPangoDirection* = ptr TPangoDirection - TPangoDirection* = enum - PANGO_DIRECTION_LTR, PANGO_DIRECTION_RTL, PANGO_DIRECTION_TTB_LTR, - PANGO_DIRECTION_TTB_RTL - PPangoColor* = ptr TPangoColor - TPangoColor* {.final, pure.} = object - red*: guint16 - green*: guint16 - blue*: guint16 - - PPangoAttrType* = ptr TPangoAttrType - TPangoAttrType* = int32 - PPangoUnderline* = ptr TPangoUnderline - TPangoUnderline* = int32 - PPangoAttribute* = ptr TPangoAttribute - PPangoAttrClass* = ptr TPangoAttrClass - TPangoAttribute* {.final, pure.} = object - klass*: PPangoAttrClass - start_index*: int - end_index*: int - - TPangoAttrClass* {.final, pure.} = object - `type`*: TPangoAttrType - copy*: proc (attr: PPangoAttribute): PPangoAttribute{.cdecl.} - destroy*: proc (attr: PPangoAttribute){.cdecl.} - equal*: proc (attr1: PPangoAttribute, attr2: PPangoAttribute): gboolean{. - cdecl.} - - PPangoAttrString* = ptr TPangoAttrString - TPangoAttrString* {.final, pure.} = object - attr*: TPangoAttribute - value*: cstring - - PPangoAttrLanguage* = ptr TPangoAttrLanguage - TPangoAttrLanguage* {.final, pure.} = object - attr*: TPangoAttribute - value*: PPangoLanguage - - PPangoAttrInt* = ptr TPangoAttrInt - TPangoAttrInt* {.final, pure.} = object - attr*: TPangoAttribute - value*: int32 - - PPangoAttrFloat* = ptr TPangoAttrFloat - TPangoAttrFloat* {.final, pure.} = object - attr*: TPangoAttribute - value*: gdouble - - PPangoAttrColor* = ptr TPangoAttrColor - TPangoAttrColor* {.final, pure.} = object - attr*: TPangoAttribute - color*: TPangoColor - - PPangoAttrShape* = ptr TPangoAttrShape - TPangoAttrShape* {.final, pure.} = object - attr*: TPangoAttribute - ink_rect*: TPangoRectangle - logical_rect*: TPangoRectangle - - PPangoAttrFontDesc* = ptr TPangoAttrFontDesc - TPangoAttrFontDesc* {.final, pure.} = object - attr*: TPangoAttribute - desc*: PPangoFontDescription - - PPangoLogAttr* = ptr TPangoLogAttr - TPangoLogAttr* {.final, pure.} = object - flag0*: guint16 - - PPangoCoverageLevel* = ptr TPangoCoverageLevel - TPangoCoverageLevel* = enum - PANGO_COVERAGE_NONE, PANGO_COVERAGE_FALLBACK, PANGO_COVERAGE_APPROXIMATE, - PANGO_COVERAGE_EXACT - PPangoBlockInfo* = ptr TPangoBlockInfo - TPangoBlockInfo* {.final, pure.} = object - data*: Pguchar - level*: TPangoCoverageLevel - - PPangoCoverage* = ptr TPangoCoverage - TPangoCoverage* {.final, pure.} = object - ref_count*: int - n_blocks*: int32 - data_size*: int32 - blocks*: PPangoBlockInfo - - PPangoEngineRange* = ptr TPangoEngineRange - TPangoEngineRange* {.final, pure.} = object - start*: int32 - theEnd*: int32 - langs*: cstring - - PPangoEngineInfo* = ptr TPangoEngineInfo - TPangoEngineInfo* {.final, pure.} = object - id*: cstring - engine_type*: cstring - render_type*: cstring - ranges*: PPangoEngineRange - n_ranges*: gint - - PPangoEngine* = ptr TPangoEngine - TPangoEngine* {.final, pure.} = object - id*: cstring - `type`*: cstring - length*: gint - - TPangoEngineLangScriptBreak* = proc (text: cstring, len: int32, - analysis: PPangoAnalysis, - attrs: PPangoLogAttr, attrs_len: int32){. - cdecl.} - PPangoEngineLang* = ptr TPangoEngineLang - TPangoEngineLang* {.final, pure.} = object - engine*: TPangoEngine - script_break*: TPangoEngineLangScriptBreak - - TPangoEngineShapeScript* = proc (font: PPangoFont, text: cstring, - length: int32, analysis: PPangoAnalysis, - glyphs: PPangoGlyphString){.cdecl.} - TPangoEngineShapeGetCoverage* = proc (font: PPangoFont, - language: PPangoLanguage): PPangoCoverage{. - cdecl.} - PPangoEngineShape* = ptr TPangoEngineShape - TPangoEngineShape* {.final, pure.} = object - engine*: TPangoEngine - script_shape*: TPangoEngineShapeScript - get_coverage*: TPangoEngineShapeGetCoverage - - PPangoStyle* = ptr TPangoStyle - TPangoStyle* = gint - PPangoVariant* = ptr TPangoVariant - TPangoVariant* = gint - PPangoWeight* = ptr TPangoWeight - TPangoWeight* = gint - PPangoStretch* = ptr TPangoStretch - TPangoStretch* = gint - PPangoFontMask* = ptr TPangoFontMask - TPangoFontMask* = int32 - PPangoGlyphUnit* = ptr TPangoGlyphUnit - TPangoGlyphUnit* = gint32 - PPangoGlyphGeometry* = ptr TPangoGlyphGeometry - TPangoGlyphGeometry* {.final, pure.} = object - width*: TPangoGlyphUnit - x_offset*: TPangoGlyphUnit - y_offset*: TPangoGlyphUnit - - PPangoGlyphVisAttr* = ptr TPangoGlyphVisAttr - TPangoGlyphVisAttr* {.final, pure.} = object - flag0*: int16 - - PPangoGlyphInfo* = ptr TPangoGlyphInfo - TPangoGlyphInfo* {.final, pure.} = object - glyph*: TPangoGlyph - geometry*: TPangoGlyphGeometry - attr*: TPangoGlyphVisAttr - - TPangoGlyphString* {.final, pure.} = object - num_glyphs*: gint - glyphs*: PPangoGlyphInfo - log_clusters*: Pgint - space*: gint - - TPangoAnalysis* {.final, pure.} = object - shape_engine*: PPangoEngineShape - lang_engine*: PPangoEngineLang - font*: PPangoFont - level*: guint8 - language*: PPangoLanguage - extra_attrs*: PGSList - - TPangoItem* {.final, pure.} = object - offset*: gint - length*: gint - num_chars*: gint - analysis*: TPangoAnalysis - - PPangoAlignment* = ptr TPangoAlignment - TPangoAlignment* = enum - PANGO_ALIGN_LEFT, PANGO_ALIGN_CENTER, PANGO_ALIGN_RIGHT - PPangoWrapMode* = ptr TPangoWrapMode - TPangoWrapMode* = enum - PANGO_WRAP_WORD, PANGO_WRAP_CHAR - PPangoLayoutLine* = ptr TPangoLayoutLine - TPangoLayoutLine* {.final, pure.} = object - layout*: PPangoLayout - start_index*: gint - length*: gint - runs*: PGSList - - PPangoLayoutRun* = ptr TPangoLayoutRun - TPangoLayoutRun* {.final, pure.} = object - item*: PPangoItem - glyphs*: PPangoGlyphString - - PPangoTabAlign* = ptr TPangoTabAlign - TPangoTabAlign* = enum - PANGO_TAB_LEFT - -const - PANGO_SCALE* = 1024 - -proc PANGO_PIXELS*(d: int): int -proc PANGO_ASCENT*(rect: TPangoRectangle): int32 -proc PANGO_DESCENT*(rect: TPangoRectangle): int32 -proc PANGO_LBEARING*(rect: TPangoRectangle): int32 -proc PANGO_RBEARING*(rect: TPangoRectangle): int32 -proc PANGO_TYPE_LANGUAGE*(): GType -proc pango_language_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_language_get_type".} -proc pango_language_from_string*(language: cstring): PPangoLanguage{.cdecl, - dynlib: pangolib, importc: "pango_language_from_string".} -proc pango_language_to_string*(language: PPangoLanguage): cstring -proc pango_language_matches*(language: PPangoLanguage, range_list: cstring): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_language_matches".} -const - PANGO_ATTR_INVALID* = 0 - PANGO_ATTR_LANGUAGE* = 1 - PANGO_ATTR_FAMILY* = 2 - PANGO_ATTR_STYLE* = 3 - PANGO_ATTR_WEIGHT* = 4 - PANGO_ATTR_VARIANT* = 5 - PANGO_ATTR_STRETCH* = 6 - PANGO_ATTR_SIZE* = 7 - PANGO_ATTR_FONT_DESC* = 8 - PANGO_ATTR_FOREGROUND* = 9 - PANGO_ATTR_BACKGROUND* = 10 - PANGO_ATTR_UNDERLINE* = 11 - PANGO_ATTR_STRIKETHROUGH* = 12 - PANGO_ATTR_RISE* = 13 - PANGO_ATTR_SHAPE* = 14 - PANGO_ATTR_SCALE* = 15 - PANGO_UNDERLINE_NONE* = 0 - PANGO_UNDERLINE_SINGLE* = 1 - PANGO_UNDERLINE_DOUBLE* = 2 - PANGO_UNDERLINE_LOW* = 3 - -proc PANGO_TYPE_COLOR*(): GType -proc pango_color_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_color_get_type".} -proc pango_color_copy*(src: PPangoColor): PPangoColor{.cdecl, dynlib: pangolib, - importc: "pango_color_copy".} -proc pango_color_free*(color: PPangoColor){.cdecl, dynlib: pangolib, - importc: "pango_color_free".} -proc pango_color_parse*(color: PPangoColor, spec: cstring): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_color_parse".} -proc PANGO_TYPE_ATTR_LIST*(): GType -proc pango_attr_type_register*(name: cstring): TPangoAttrType{.cdecl, - dynlib: pangolib, importc: "pango_attr_type_register".} -proc pango_attribute_copy*(attr: PPangoAttribute): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attribute_copy".} -proc pango_attribute_destroy*(attr: PPangoAttribute){.cdecl, dynlib: pangolib, - importc: "pango_attribute_destroy".} -proc pango_attribute_equal*(attr1: PPangoAttribute, attr2: PPangoAttribute): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_attribute_equal".} -proc pango_attr_language_new*(language: PPangoLanguage): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_language_new".} -proc pango_attr_family_new*(family: cstring): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_family_new".} -proc pango_attr_foreground_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{. - cdecl, dynlib: pangolib, importc: "pango_attr_foreground_new".} -proc pango_attr_background_new*(red: guint16, green: guint16, blue: guint16): PPangoAttribute{. - cdecl, dynlib: pangolib, importc: "pango_attr_background_new".} -proc pango_attr_size_new*(size: int32): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_size_new".} -proc pango_attr_style_new*(style: TPangoStyle): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_style_new".} -proc pango_attr_weight_new*(weight: TPangoWeight): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_weight_new".} -proc pango_attr_variant_new*(variant: TPangoVariant): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_variant_new".} -proc pango_attr_stretch_new*(stretch: TPangoStretch): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_stretch_new".} -proc pango_attr_font_desc_new*(desc: PPangoFontDescription): PPangoAttribute{. - cdecl, dynlib: pangolib, importc: "pango_attr_font_desc_new".} -proc pango_attr_underline_new*(underline: TPangoUnderline): PPangoAttribute{. - cdecl, dynlib: pangolib, importc: "pango_attr_underline_new".} -proc pango_attr_strikethrough_new*(strikethrough: gboolean): PPangoAttribute{. - cdecl, dynlib: pangolib, importc: "pango_attr_strikethrough_new".} -proc pango_attr_rise_new*(rise: int32): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_rise_new".} -proc pango_attr_shape_new*(ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle): PPangoAttribute{. - cdecl, dynlib: pangolib, importc: "pango_attr_shape_new".} -proc pango_attr_scale_new*(scale_factor: gdouble): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_scale_new".} -proc pango_attr_list_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_attr_list_get_type".} -proc pango_attr_list_new*(): PPangoAttrList{.cdecl, dynlib: pangolib, - importc: "pango_attr_list_new".} -proc pango_attr_list_ref*(list: PPangoAttrList){.cdecl, dynlib: pangolib, - importc: "pango_attr_list_ref".} -proc pango_attr_list_unref*(list: PPangoAttrList){.cdecl, dynlib: pangolib, - importc: "pango_attr_list_unref".} -proc pango_attr_list_copy*(list: PPangoAttrList): PPangoAttrList{.cdecl, - dynlib: pangolib, importc: "pango_attr_list_copy".} -proc pango_attr_list_insert*(list: PPangoAttrList, attr: PPangoAttribute){. - cdecl, dynlib: pangolib, importc: "pango_attr_list_insert".} -proc pango_attr_list_insert_before*(list: PPangoAttrList, attr: PPangoAttribute){. - cdecl, dynlib: pangolib, importc: "pango_attr_list_insert_before".} -proc pango_attr_list_change*(list: PPangoAttrList, attr: PPangoAttribute){. - cdecl, dynlib: pangolib, importc: "pango_attr_list_change".} -proc pango_attr_list_splice*(list: PPangoAttrList, other: PPangoAttrList, - pos: gint, len: gint){.cdecl, dynlib: pangolib, - importc: "pango_attr_list_splice".} -proc pango_attr_list_get_iterator*(list: PPangoAttrList): PPangoAttrIterator{. - cdecl, dynlib: pangolib, importc: "pango_attr_list_get_iterator".} -proc pango_attr_iterator_range*(`iterator`: PPangoAttrIterator, start: Pgint, - theEnd: Pgint){.cdecl, dynlib: pangolib, - importc: "pango_attr_iterator_range".} -proc pango_attr_iterator_next*(`iterator`: PPangoAttrIterator): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_attr_iterator_next".} -proc pango_attr_iterator_copy*(`iterator`: PPangoAttrIterator): PPangoAttrIterator{. - cdecl, dynlib: pangolib, importc: "pango_attr_iterator_copy".} -proc pango_attr_iterator_destroy*(`iterator`: PPangoAttrIterator){.cdecl, - dynlib: pangolib, importc: "pango_attr_iterator_destroy".} -proc pango_attr_iterator_get*(`iterator`: PPangoAttrIterator, - `type`: TPangoAttrType): PPangoAttribute{.cdecl, - dynlib: pangolib, importc: "pango_attr_iterator_get".} -proc pango_attr_iterator_get_font*(`iterator`: PPangoAttrIterator, - desc: PPangoFontDescription, - language: var PPangoLanguage, - extra_attrs: PPGSList){.cdecl, - dynlib: pangolib, importc: "pango_attr_iterator_get_font".} -proc pango_parse_markup*(markup_text: cstring, length: int32, - accel_marker: gunichar, attr_list: var PPangoAttrList, - text: PPchar, accel_char: Pgunichar, error: pointer): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_parse_markup".} -const - bm_TPangoLogAttr_is_line_break* = 0x00000001'i16 - bp_TPangoLogAttr_is_line_break* = 0'i16 - bm_TPangoLogAttr_is_mandatory_break* = 0x00000002'i16 - bp_TPangoLogAttr_is_mandatory_break* = 1'i16 - bm_TPangoLogAttr_is_char_break* = 0x00000004'i16 - bp_TPangoLogAttr_is_char_break* = 2'i16 - bm_TPangoLogAttr_is_white* = 0x00000008'i16 - bp_TPangoLogAttr_is_white* = 3'i16 - bm_TPangoLogAttr_is_cursor_position* = 0x00000010'i16 - bp_TPangoLogAttr_is_cursor_position* = 4'i16 - bm_TPangoLogAttr_is_word_start* = 0x00000020'i16 - bp_TPangoLogAttr_is_word_start* = 5'i16 - bm_TPangoLogAttr_is_word_end* = 0x00000040'i16 - bp_TPangoLogAttr_is_word_end* = 6'i16 - bm_TPangoLogAttr_is_sentence_boundary* = 0x00000080'i16 - bp_TPangoLogAttr_is_sentence_boundary* = 7'i16 - bm_TPangoLogAttr_is_sentence_start* = 0x00000100'i16 - bp_TPangoLogAttr_is_sentence_start* = 8'i16 - bm_TPangoLogAttr_is_sentence_end* = 0x00000200'i16 - bp_TPangoLogAttr_is_sentence_end* = 9'i16 - -proc is_line_break*(a: var TPangoLogAttr): guint -proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint) -proc is_mandatory_break*(a: var TPangoLogAttr): guint -proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint) -proc is_char_break*(a: var TPangoLogAttr): guint -proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint) -proc is_white*(a: var TPangoLogAttr): guint -proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint) -proc is_cursor_position*(a: var TPangoLogAttr): guint -proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint) -proc is_word_start*(a: var TPangoLogAttr): guint -proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint) -proc is_word_end*(a: var TPangoLogAttr): guint -proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint) -proc is_sentence_boundary*(a: var TPangoLogAttr): guint -proc set_is_sentence_boundary*(a: var TPangoLogAttr, - `is_sentence_boundary`: guint) -proc is_sentence_start*(a: var TPangoLogAttr): guint -proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint) -proc is_sentence_end*(a: var TPangoLogAttr): guint -proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint) -proc pango_break*(text: cstring, length: int32, analysis: PPangoAnalysis, - attrs: PPangoLogAttr, attrs_len: int32){.cdecl, - dynlib: pangolib, importc: "pango_break".} -proc pango_find_paragraph_boundary*(text: cstring, length: gint, - paragraph_delimiter_index: Pgint, - next_paragraph_start: Pgint){.cdecl, - dynlib: pangolib, importc: "pango_find_paragraph_boundary".} -proc pango_get_log_attrs*(text: cstring, length: int32, level: int32, - language: PPangoLanguage, log_attrs: PPangoLogAttr, - attrs_len: int32){.cdecl, dynlib: pangolib, - importc: "pango_get_log_attrs".} -proc PANGO_TYPE_CONTEXT*(): GType -proc PANGO_CONTEXT*(anObject: pointer): PPangoContext -proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass -proc PANGO_IS_CONTEXT*(anObject: pointer): bool -proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool -proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass -proc pango_context_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_context_get_type".} -proc pango_context_list_families*(context: PPangoContext, - families: openarray[ptr PPangoFontFamily]){.cdecl, - dynlib: pangolib, importc: "pango_context_list_families".} -proc pango_context_load_font*(context: PPangoContext, - desc: PPangoFontDescription): PPangoFont{.cdecl, - dynlib: pangolib, importc: "pango_context_load_font".} -proc pango_context_load_fontset*(context: PPangoContext, - desc: PPangoFontDescription, - language: PPangoLanguage): PPangoFontset{. - cdecl, dynlib: pangolib, importc: "pango_context_load_fontset".} -proc pango_context_get_metrics*(context: PPangoContext, - desc: PPangoFontDescription, - language: PPangoLanguage): PPangoFontMetrics{. - cdecl, dynlib: pangolib, importc: "pango_context_get_metrics".} -proc pango_context_set_font_description*(context: PPangoContext, - desc: PPangoFontDescription){.cdecl, dynlib: pangolib, - importc: "pango_context_set_font_description".} -proc pango_context_get_font_description*(context: PPangoContext): PPangoFontDescription{. - cdecl, dynlib: pangolib, importc: "pango_context_get_font_description".} -proc pango_context_get_language*(context: PPangoContext): PPangoLanguage{.cdecl, - dynlib: pangolib, importc: "pango_context_get_language".} -proc pango_context_set_language*(context: PPangoContext, - language: PPangoLanguage){.cdecl, - dynlib: pangolib, importc: "pango_context_set_language".} -proc pango_context_set_base_dir*(context: PPangoContext, - direction: TPangoDirection){.cdecl, - dynlib: pangolib, importc: "pango_context_set_base_dir".} -proc pango_context_get_base_dir*(context: PPangoContext): TPangoDirection{. - cdecl, dynlib: pangolib, importc: "pango_context_get_base_dir".} -proc pango_itemize*(context: PPangoContext, text: cstring, start_index: int32, - length: int32, attrs: PPangoAttrList, - cached_iter: PPangoAttrIterator): PGList{.cdecl, - dynlib: pangolib, importc: "pango_itemize".} -proc pango_coverage_new*(): PPangoCoverage{.cdecl, dynlib: pangolib, - importc: "pango_coverage_new".} -proc pango_coverage_ref*(coverage: PPangoCoverage): PPangoCoverage{.cdecl, - dynlib: pangolib, importc: "pango_coverage_ref".} -proc pango_coverage_unref*(coverage: PPangoCoverage){.cdecl, dynlib: pangolib, - importc: "pango_coverage_unref".} -proc pango_coverage_copy*(coverage: PPangoCoverage): PPangoCoverage{.cdecl, - dynlib: pangolib, importc: "pango_coverage_copy".} -proc pango_coverage_get*(coverage: PPangoCoverage, index: int32): TPangoCoverageLevel{. - cdecl, dynlib: pangolib, importc: "pango_coverage_get".} -proc pango_coverage_set*(coverage: PPangoCoverage, index: int32, - level: TPangoCoverageLevel){.cdecl, dynlib: pangolib, - importc: "pango_coverage_set".} -proc pango_coverage_max*(coverage: PPangoCoverage, other: PPangoCoverage){. - cdecl, dynlib: pangolib, importc: "pango_coverage_max".} -proc pango_coverage_to_bytes*(coverage: PPangoCoverage, bytes: PPguchar, - n_bytes: var int32){.cdecl, dynlib: pangolib, - importc: "pango_coverage_to_bytes".} -proc pango_coverage_from_bytes*(bytes: Pguchar, n_bytes: int32): PPangoCoverage{. - cdecl, dynlib: pangolib, importc: "pango_coverage_from_bytes".} -proc PANGO_TYPE_FONTSET*(): GType -proc PANGO_FONTSET*(anObject: pointer): PPangoFontset -proc PANGO_IS_FONTSET*(anObject: pointer): bool -proc pango_fontset_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_fontset_get_type".} -proc pango_fontset_get_font*(fontset: PPangoFontset, wc: guint): PPangoFont{. - cdecl, dynlib: pangolib, importc: "pango_fontset_get_font".} -proc pango_fontset_get_metrics*(fontset: PPangoFontset): PPangoFontMetrics{. - cdecl, dynlib: pangolib, importc: "pango_fontset_get_metrics".} -const - PANGO_STYLE_NORMAL* = 0 - PANGO_STYLE_OBLIQUE* = 1 - PANGO_STYLE_ITALIC* = 2 - PANGO_VARIANT_NORMAL* = 0 - PANGO_VARIANT_SMALL_CAPS* = 1 - PANGO_WEIGHT_ULTRALIGHT* = 200 - PANGO_WEIGHT_LIGHT* = 300 - PANGO_WEIGHT_NORMAL* = 400 - PANGO_WEIGHT_BOLD* = 700 - PANGO_WEIGHT_ULTRABOLD* = 800 - PANGO_WEIGHT_HEAVY* = 900 - PANGO_STRETCH_ULTRA_CONDENSED* = 0 - PANGO_STRETCH_EXTRA_CONDENSED* = 1 - PANGO_STRETCH_CONDENSED* = 2 - PANGO_STRETCH_SEMI_CONDENSED* = 3 - PANGO_STRETCH_NORMAL* = 4 - PANGO_STRETCH_SEMI_EXPANDED* = 5 - PANGO_STRETCH_EXPANDED* = 6 - PANGO_STRETCH_EXTRA_EXPANDED* = 7 - PANGO_STRETCH_ULTRA_EXPANDED* = 8 - PANGO_FONT_MASK_FAMILY* = 1 shl 0 - PANGO_FONT_MASK_STYLE* = 1 shl 1 - PANGO_FONT_MASK_VARIANT* = 1 shl 2 - PANGO_FONT_MASK_WEIGHT* = 1 shl 3 - PANGO_FONT_MASK_STRETCH* = 1 shl 4 - PANGO_FONT_MASK_SIZE* = 1 shl 5 - PANGO_SCALE_XX_SMALL* = 0.5787037037036999 - PANGO_SCALE_X_SMALL* = 0.6444444444443999 - PANGO_SCALE_SMALL* = 0.8333333333332999 - PANGO_SCALE_MEDIUM* = 1.0 - PANGO_SCALE_LARGE* = 1.2 - PANGO_SCALE_X_LARGE* = 1.4399999999999 - PANGO_SCALE_XX_LARGE* = 1.728 - -proc PANGO_TYPE_FONT_DESCRIPTION*(): GType -proc pango_font_description_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_font_description_get_type".} -proc pango_font_description_new*(): PPangoFontDescription{.cdecl, - dynlib: pangolib, importc: "pango_font_description_new".} -proc pango_font_description_copy*(desc: PPangoFontDescription): PPangoFontDescription{. - cdecl, dynlib: pangolib, importc: "pango_font_description_copy".} -proc pango_font_description_copy_static*(desc: PPangoFontDescription): PPangoFontDescription{. - cdecl, dynlib: pangolib, importc: "pango_font_description_copy_static".} -proc pango_font_description_hash*(desc: PPangoFontDescription): guint{.cdecl, - dynlib: pangolib, importc: "pango_font_description_hash".} -proc pango_font_description_equal*(desc1: PPangoFontDescription, - desc2: PPangoFontDescription): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_font_description_equal".} -proc pango_font_description_free*(desc: PPangoFontDescription){.cdecl, - dynlib: pangolib, importc: "pango_font_description_free".} -proc pango_font_descriptions_free*(descs: var PPangoFontDescription, - n_descs: int32){.cdecl, dynlib: pangolib, - importc: "pango_font_descriptions_free".} -proc pango_font_description_set_family*(desc: PPangoFontDescription, - family: cstring){.cdecl, - dynlib: pangolib, importc: "pango_font_description_set_family".} -proc pango_font_description_set_family_static*(desc: PPangoFontDescription, - family: cstring){.cdecl, dynlib: pangolib, - importc: "pango_font_description_set_family_static".} -proc pango_font_description_get_family*(desc: PPangoFontDescription): cstring{. - cdecl, dynlib: pangolib, importc: "pango_font_description_get_family".} -proc pango_font_description_set_style*(desc: PPangoFontDescription, - style: TPangoStyle){.cdecl, - dynlib: pangolib, importc: "pango_font_description_set_style".} -proc pango_font_description_get_style*(desc: PPangoFontDescription): TPangoStyle{. - cdecl, dynlib: pangolib, importc: "pango_font_description_get_style".} -proc pango_font_description_set_variant*(desc: PPangoFontDescription, - variant: TPangoVariant){.cdecl, dynlib: pangolib, - importc: "pango_font_description_set_variant".} -proc pango_font_description_get_variant*(desc: PPangoFontDescription): TPangoVariant{. - cdecl, dynlib: pangolib, importc: "pango_font_description_get_variant".} -proc pango_font_description_set_weight*(desc: PPangoFontDescription, - weight: TPangoWeight){.cdecl, - dynlib: pangolib, importc: "pango_font_description_set_weight".} -proc pango_font_description_get_weight*(desc: PPangoFontDescription): TPangoWeight{. - cdecl, dynlib: pangolib, importc: "pango_font_description_get_weight".} -proc pango_font_description_set_stretch*(desc: PPangoFontDescription, - stretch: TPangoStretch){.cdecl, dynlib: pangolib, - importc: "pango_font_description_set_stretch".} -proc pango_font_description_get_stretch*(desc: PPangoFontDescription): TPangoStretch{. - cdecl, dynlib: pangolib, importc: "pango_font_description_get_stretch".} -proc pango_font_description_set_size*(desc: PPangoFontDescription, size: gint){. - cdecl, dynlib: pangolib, importc: "pango_font_description_set_size".} -proc pango_font_description_get_size*(desc: PPangoFontDescription): gint{.cdecl, - dynlib: pangolib, importc: "pango_font_description_get_size".} -proc pango_font_description_set_absolute_size*(desc: PPangoFontDescription, - size: float64){.cdecl, dynlib: pangolib, - importc: "pango_font_description_set_absolute_size".} -proc pango_font_description_get_size_is_absolute*(desc: PPangoFontDescription, - size: float64): gboolean{.cdecl, dynlib: pangolib, importc: "pango_font_description_get_size_is_absolute".} -proc pango_font_description_get_set_fields*(desc: PPangoFontDescription): TPangoFontMask{. - cdecl, dynlib: pangolib, importc: "pango_font_description_get_set_fields".} -proc pango_font_description_unset_fields*(desc: PPangoFontDescription, - to_unset: TPangoFontMask){.cdecl, dynlib: pangolib, - importc: "pango_font_description_unset_fields".} -proc pango_font_description_merge*(desc: PPangoFontDescription, - desc_to_merge: PPangoFontDescription, - replace_existing: gboolean){.cdecl, - dynlib: pangolib, importc: "pango_font_description_merge".} -proc pango_font_description_merge_static*(desc: PPangoFontDescription, - desc_to_merge: PPangoFontDescription, replace_existing: gboolean){.cdecl, - dynlib: pangolib, importc: "pango_font_description_merge_static".} -proc pango_font_description_better_match*(desc: PPangoFontDescription, - old_match: PPangoFontDescription, new_match: PPangoFontDescription): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_font_description_better_match".} -proc pango_font_description_from_string*(str: cstring): PPangoFontDescription{. - cdecl, dynlib: pangolib, importc: "pango_font_description_from_string".} -proc pango_font_description_to_string*(desc: PPangoFontDescription): cstring{. - cdecl, dynlib: pangolib, importc: "pango_font_description_to_string".} -proc pango_font_description_to_filename*(desc: PPangoFontDescription): cstring{. - cdecl, dynlib: pangolib, importc: "pango_font_description_to_filename".} -proc PANGO_TYPE_FONT_METRICS*(): GType -proc pango_font_metrics_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_font_metrics_get_type".} -proc pango_font_metrics_ref*(metrics: PPangoFontMetrics): PPangoFontMetrics{. - cdecl, dynlib: pangolib, importc: "pango_font_metrics_ref".} -proc pango_font_metrics_unref*(metrics: PPangoFontMetrics){.cdecl, - dynlib: pangolib, importc: "pango_font_metrics_unref".} -proc pango_font_metrics_get_ascent*(metrics: PPangoFontMetrics): int32{.cdecl, - dynlib: pangolib, importc: "pango_font_metrics_get_ascent".} -proc pango_font_metrics_get_descent*(metrics: PPangoFontMetrics): int32{.cdecl, - dynlib: pangolib, importc: "pango_font_metrics_get_descent".} -proc pango_font_metrics_get_approximate_char_width*(metrics: PPangoFontMetrics): int32{. - cdecl, dynlib: pangolib, - importc: "pango_font_metrics_get_approximate_char_width".} -proc pango_font_metrics_get_approximate_digit_width*(metrics: PPangoFontMetrics): int32{. - cdecl, dynlib: pangolib, - importc: "pango_font_metrics_get_approximate_digit_width".} -proc PANGO_TYPE_FONT_FAMILY*(): GType -proc PANGO_FONT_FAMILY*(anObject: Pointer): PPangoFontFamily -proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool -proc pango_font_family_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_font_family_get_type".} -proc pango_font_family_list_faces*(family: PPangoFontFamily, - faces: var openarray[ptr PPangoFontFace]){. - cdecl, dynlib: pangolib, importc: "pango_font_family_list_faces".} -proc pango_font_family_get_name*(family: PPangoFontFamily): cstring{.cdecl, - dynlib: pangolib, importc: "pango_font_family_get_name".} -proc PANGO_TYPE_FONT_FACE*(): GType -proc PANGO_FONT_FACE*(anObject: pointer): PPangoFontFace -proc PANGO_IS_FONT_FACE*(anObject: pointer): bool -proc pango_font_face_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_font_face_get_type".} -proc pango_font_face_describe*(face: PPangoFontFace): PPangoFontDescription{. - cdecl, dynlib: pangolib, importc: "pango_font_face_describe".} -proc pango_font_face_get_face_name*(face: PPangoFontFace): cstring{.cdecl, - dynlib: pangolib, importc: "pango_font_face_get_face_name".} -proc PANGO_TYPE_FONT*(): GType -proc PANGO_FONT*(anObject: pointer): PPangoFont -proc PANGO_IS_FONT*(anObject: pointer): bool -proc pango_font_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_font_get_type".} -proc pango_font_describe*(font: PPangoFont): PPangoFontDescription{.cdecl, - dynlib: pangolib, importc: "pango_font_describe".} -proc pango_font_get_coverage*(font: PPangoFont, language: PPangoLanguage): PPangoCoverage{. - cdecl, dynlib: pangolib, importc: "pango_font_get_coverage".} -proc pango_font_find_shaper*(font: PPangoFont, language: PPangoLanguage, - ch: guint32): PPangoEngineShape{.cdecl, - dynlib: pangolib, importc: "pango_font_find_shaper".} -proc pango_font_get_metrics*(font: PPangoFont, language: PPangoLanguage): PPangoFontMetrics{. - cdecl, dynlib: pangolib, importc: "pango_font_get_metrics".} -proc pango_font_get_glyph_extents*(font: PPangoFont, glyph: TPangoGlyph, - ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_font_get_glyph_extents".} -proc PANGO_TYPE_FONT_MAP*(): GType -proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontMap -proc PANGO_IS_FONT_MAP*(anObject: pointer): bool -proc pango_font_map_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_font_map_get_type".} -proc pango_font_map_load_font*(fontmap: PPangoFontMap, context: PPangoContext, - desc: PPangoFontDescription): PPangoFont{.cdecl, - dynlib: pangolib, importc: "pango_font_map_load_font".} -proc pango_font_map_load_fontset*(fontmap: PPangoFontMap, - context: PPangoContext, - desc: PPangoFontDescription, - language: PPangoLanguage): PPangoFontset{. - cdecl, dynlib: pangolib, importc: "pango_font_map_load_fontset".} -proc pango_font_map_list_families*(fontmap: PPangoFontMap, - families: var openarray[ptr PPangoFontFamily]){.cdecl, - dynlib: pangolib, importc: "pango_font_map_list_families".} -const - bm_TPangoGlyphVisAttr_is_cluster_start* = 0x00000001'i16 - bp_TPangoGlyphVisAttr_is_cluster_start* = 0'i16 - -proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint -proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint) -proc PANGO_TYPE_GLYPH_STRING*(): GType -proc pango_glyph_string_new*(): PPangoGlyphString{.cdecl, dynlib: pangolib, - importc: "pango_glyph_string_new".} -proc pango_glyph_string_set_size*(`string`: PPangoGlyphString, new_len: gint){. - cdecl, dynlib: pangolib, importc: "pango_glyph_string_set_size".} -proc pango_glyph_string_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_glyph_string_get_type".} -proc pango_glyph_string_copy*(`string`: PPangoGlyphString): PPangoGlyphString{. - cdecl, dynlib: pangolib, importc: "pango_glyph_string_copy".} -proc pango_glyph_string_free*(`string`: PPangoGlyphString){.cdecl, - dynlib: pangolib, importc: "pango_glyph_string_free".} -proc pango_glyph_string_extents*(glyphs: PPangoGlyphString, font: PPangoFont, - ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_glyph_string_extents".} -proc pango_glyph_string_extents_range*(glyphs: PPangoGlyphString, start: int32, - theEnd: int32, font: PPangoFont, - ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_glyph_string_extents_range".} -proc pango_glyph_string_get_logical_widths*(glyphs: PPangoGlyphString, - text: cstring, length: int32, embedding_level: int32, - logical_widths: var int32){.cdecl, dynlib: pangolib, - importc: "pango_glyph_string_get_logical_widths".} -proc pango_glyph_string_index_to_x*(glyphs: PPangoGlyphString, text: cstring, - length: int32, analysis: PPangoAnalysis, - index: int32, trailing: gboolean, - x_pos: var int32){.cdecl, dynlib: pangolib, - importc: "pango_glyph_string_index_to_x".} -proc pango_glyph_string_x_to_index*(glyphs: PPangoGlyphString, text: cstring, - length: int32, analysis: PPangoAnalysis, - x_pos: int32, index, - trailing: var int32){.cdecl, - dynlib: pangolib, importc: "pango_glyph_string_x_to_index".} -proc pango_shape*(text: cstring, length: gint, analysis: PPangoAnalysis, - glyphs: PPangoGlyphString){.cdecl, dynlib: pangolib, - importc: "pango_shape".} -proc pango_reorder_items*(logical_items: PGList): PGList{.cdecl, - dynlib: pangolib, importc: "pango_reorder_items".} -proc pango_item_new*(): PPangoItem{.cdecl, dynlib: pangolib, - importc: "pango_item_new".} -proc pango_item_copy*(item: PPangoItem): PPangoItem{.cdecl, dynlib: pangolib, - importc: "pango_item_copy".} -proc pango_item_free*(item: PPangoItem){.cdecl, dynlib: pangolib, - importc: "pango_item_free".} -proc pango_item_split*(orig: PPangoItem, split_index: int32, split_offset: int32): PPangoItem{. - cdecl, dynlib: pangolib, importc: "pango_item_split".} -proc PANGO_TYPE_LAYOUT*(): GType -proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout -proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass -proc PANGO_IS_LAYOUT*(anObject: pointer): bool -proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool -proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass -proc pango_layout_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_layout_get_type".} -proc pango_layout_new*(context: PPangoContext): PPangoLayout{.cdecl, - dynlib: pangolib, importc: "pango_layout_new".} -proc pango_layout_copy*(src: PPangoLayout): PPangoLayout{.cdecl, - dynlib: pangolib, importc: "pango_layout_copy".} -proc pango_layout_get_context*(layout: PPangoLayout): PPangoContext{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_context".} -proc pango_layout_set_attributes*(layout: PPangoLayout, attrs: PPangoAttrList){. - cdecl, dynlib: pangolib, importc: "pango_layout_set_attributes".} -proc pango_layout_get_attributes*(layout: PPangoLayout): PPangoAttrList{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_attributes".} -proc pango_layout_set_text*(layout: PPangoLayout, text: cstring, length: int32){. - cdecl, dynlib: pangolib, importc: "pango_layout_set_text".} -proc pango_layout_get_text*(layout: PPangoLayout): cstring{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_text".} -proc pango_layout_set_markup*(layout: PPangoLayout, markup: cstring, - length: int32){.cdecl, dynlib: pangolib, - importc: "pango_layout_set_markup".} -proc pango_layout_set_markup_with_accel*(layout: PPangoLayout, markup: cstring, - length: int32, accel_marker: gunichar, accel_char: Pgunichar){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_markup_with_accel".} -proc pango_layout_set_font_description*(layout: PPangoLayout, - desc: PPangoFontDescription){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_font_description".} -proc pango_layout_set_width*(layout: PPangoLayout, width: int32){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_width".} -proc pango_layout_get_width*(layout: PPangoLayout): int32{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_width".} -proc pango_layout_set_wrap*(layout: PPangoLayout, wrap: TPangoWrapMode){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_wrap".} -proc pango_layout_get_wrap*(layout: PPangoLayout): TPangoWrapMode{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_wrap".} -proc pango_layout_set_indent*(layout: PPangoLayout, indent: int32){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_indent".} -proc pango_layout_get_indent*(layout: PPangoLayout): int32{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_indent".} -proc pango_layout_set_spacing*(layout: PPangoLayout, spacing: int32){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_spacing".} -proc pango_layout_get_spacing*(layout: PPangoLayout): int32{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_spacing".} -proc pango_layout_set_justify*(layout: PPangoLayout, justify: gboolean){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_justify".} -proc pango_layout_get_justify*(layout: PPangoLayout): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_justify".} -proc pango_layout_set_alignment*(layout: PPangoLayout, - alignment: TPangoAlignment){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_alignment".} -proc pango_layout_get_alignment*(layout: PPangoLayout): TPangoAlignment{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_alignment".} -proc pango_layout_set_tabs*(layout: PPangoLayout, tabs: PPangoTabArray){.cdecl, - dynlib: pangolib, importc: "pango_layout_set_tabs".} -proc pango_layout_get_tabs*(layout: PPangoLayout): PPangoTabArray{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_tabs".} -proc pango_layout_set_single_paragraph_mode*(layout: PPangoLayout, - setting: gboolean){.cdecl, dynlib: pangolib, - importc: "pango_layout_set_single_paragraph_mode".} -proc pango_layout_get_single_paragraph_mode*(layout: PPangoLayout): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_layout_get_single_paragraph_mode".} -proc pango_layout_context_changed*(layout: PPangoLayout){.cdecl, - dynlib: pangolib, importc: "pango_layout_context_changed".} -proc pango_layout_get_log_attrs*(layout: PPangoLayout, attrs: var PPangoLogAttr, - n_attrs: Pgint){.cdecl, dynlib: pangolib, - importc: "pango_layout_get_log_attrs".} -proc pango_layout_index_to_pos*(layout: PPangoLayout, index: int32, - pos: PPangoRectangle){.cdecl, dynlib: pangolib, - importc: "pango_layout_index_to_pos".} -proc pango_layout_get_cursor_pos*(layout: PPangoLayout, index: int32, - strong_pos: PPangoRectangle, - weak_pos: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_get_cursor_pos".} -proc pango_layout_move_cursor_visually*(layout: PPangoLayout, strong: gboolean, - old_index: int32, old_trailing: int32, - direction: int32, new_index, - new_trailing: var int32){.cdecl, - dynlib: pangolib, importc: "pango_layout_move_cursor_visually".} -proc pango_layout_xy_to_index*(layout: PPangoLayout, x: int32, y: int32, - index, trailing: var int32): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_layout_xy_to_index".} -proc pango_layout_get_extents*(layout: PPangoLayout, ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_get_extents".} -proc pango_layout_get_pixel_extents*(layout: PPangoLayout, - ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_get_pixel_extents".} -proc pango_layout_get_size*(layout: PPangoLayout, width: var int32, - height: var int32){.cdecl, dynlib: pangolib, - importc: "pango_layout_get_size".} -proc pango_layout_get_pixel_size*(layout: PPangoLayout, width: var int32, - height: var int32){.cdecl, dynlib: pangolib, - importc: "pango_layout_get_pixel_size".} -proc pango_layout_get_line_count*(layout: PPangoLayout): int32{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_line_count".} -proc pango_layout_get_line*(layout: PPangoLayout, line: int32): PPangoLayoutLine{. - cdecl, dynlib: pangolib, importc: "pango_layout_get_line".} -proc pango_layout_get_lines*(layout: PPangoLayout): PGSList{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_lines".} -proc pango_layout_line_ref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib, - importc: "pango_layout_line_ref".} -proc pango_layout_line_unref*(line: PPangoLayoutLine){.cdecl, dynlib: pangolib, - importc: "pango_layout_line_unref".} -proc pango_layout_line_x_to_index*(line: PPangoLayoutLine, x_pos: int32, - index: var int32, trailing: var int32): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_layout_line_x_to_index".} -proc pango_layout_line_index_to_x*(line: PPangoLayoutLine, index: int32, - trailing: gboolean, x_pos: var int32){.cdecl, - dynlib: pangolib, importc: "pango_layout_line_index_to_x".} -proc pango_layout_line_get_extents*(line: PPangoLayoutLine, - ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_line_get_extents".} -proc pango_layout_line_get_pixel_extents*(layout_line: PPangoLayoutLine, - ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_line_get_pixel_extents".} -proc pango_layout_get_iter*(layout: PPangoLayout): PPangoLayoutIter{.cdecl, - dynlib: pangolib, importc: "pango_layout_get_iter".} -proc pango_layout_iter_free*(iter: PPangoLayoutIter){.cdecl, dynlib: pangolib, - importc: "pango_layout_iter_free".} -proc pango_layout_iter_get_index*(iter: PPangoLayoutIter): int32{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_get_index".} -proc pango_layout_iter_get_run*(iter: PPangoLayoutIter): PPangoLayoutRun{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_get_run".} -proc pango_layout_iter_get_line*(iter: PPangoLayoutIter): PPangoLayoutLine{. - cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_line".} -proc pango_layout_iter_at_last_line*(iter: PPangoLayoutIter): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_at_last_line".} -proc pango_layout_iter_next_char*(iter: PPangoLayoutIter): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_next_char".} -proc pango_layout_iter_next_cluster*(iter: PPangoLayoutIter): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_next_cluster".} -proc pango_layout_iter_next_run*(iter: PPangoLayoutIter): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_next_run".} -proc pango_layout_iter_next_line*(iter: PPangoLayoutIter): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_next_line".} -proc pango_layout_iter_get_char_extents*(iter: PPangoLayoutIter, - logical_rect: PPangoRectangle){.cdecl, dynlib: pangolib, importc: "pango_layout_iter_get_char_extents".} -proc pango_layout_iter_get_cluster_extents*(iter: PPangoLayoutIter, - ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_get_cluster_extents".} -proc pango_layout_iter_get_run_extents*(iter: PPangoLayoutIter, - ink_rect: PPangoRectangle, - logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_get_run_extents".} -proc pango_layout_iter_get_line_extents*(iter: PPangoLayoutIter, - ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_get_line_extents".} -proc pango_layout_iter_get_line_yrange*(iter: PPangoLayoutIter, y0: var int32, - y1: var int32){.cdecl, dynlib: pangolib, - importc: "pango_layout_iter_get_line_yrange".} -proc pango_layout_iter_get_layout_extents*(iter: PPangoLayoutIter, - ink_rect: PPangoRectangle, logical_rect: PPangoRectangle){.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_get_layout_extents".} -proc pango_layout_iter_get_baseline*(iter: PPangoLayoutIter): int32{.cdecl, - dynlib: pangolib, importc: "pango_layout_iter_get_baseline".} -proc PANGO_TYPE_TAB_ARRAY*(): GType -proc pango_tab_array_new*(initial_size: gint, positions_in_pixels: gboolean): PPangoTabArray{. - cdecl, dynlib: pangolib, importc: "pango_tab_array_new".} -proc pango_tab_array_get_type*(): GType{.cdecl, dynlib: pangolib, - importc: "pango_tab_array_get_type".} -proc pango_tab_array_copy*(src: PPangoTabArray): PPangoTabArray{.cdecl, - dynlib: pangolib, importc: "pango_tab_array_copy".} -proc pango_tab_array_free*(tab_array: PPangoTabArray){.cdecl, dynlib: pangolib, - importc: "pango_tab_array_free".} -proc pango_tab_array_get_size*(tab_array: PPangoTabArray): gint{.cdecl, - dynlib: pangolib, importc: "pango_tab_array_get_size".} -proc pango_tab_array_resize*(tab_array: PPangoTabArray, new_size: gint){.cdecl, - dynlib: pangolib, importc: "pango_tab_array_resize".} -proc pango_tab_array_set_tab*(tab_array: PPangoTabArray, tab_index: gint, - alignment: TPangoTabAlign, location: gint){.cdecl, - dynlib: pangolib, importc: "pango_tab_array_set_tab".} -proc pango_tab_array_get_tab*(tab_array: PPangoTabArray, tab_index: gint, - alignment: PPangoTabAlign, location: Pgint){. - cdecl, dynlib: pangolib, importc: "pango_tab_array_get_tab".} -proc pango_tab_array_get_positions_in_pixels*(tab_array: PPangoTabArray): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_tab_array_get_positions_in_pixels".} -proc PANGO_ASCENT*(rect: TPangoRectangle): int32 = - result = - int(rect.y) - -proc PANGO_DESCENT*(rect: TPangoRectangle): int32 = - result = int(rect.y) + int(rect.height) - -proc PANGO_LBEARING*(rect: TPangoRectangle): int32 = - result = rect.x - -proc PANGO_RBEARING*(rect: TPangoRectangle): int32 = - result = (rect.x) + (rect.width) - -proc PANGO_TYPE_LANGUAGE*(): GType = - result = pango_language_get_type() - -proc pango_language_to_string*(language: PPangoLanguage): cstring = - result = cast[cstring](language) - -proc PANGO_PIXELS*(d: int): int = - if d >= 0: - result = (d + (PANGO_SCALE div 2)) div PANGO_SCALE - else: - result = (d - (PANGO_SCALE div 2)) div PANGO_SCALE - -proc PANGO_TYPE_COLOR*(): GType = - result = pango_color_get_type() - -proc PANGO_TYPE_ATTR_LIST*(): GType = - result = pango_attr_list_get_type() - -proc is_line_break*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_line_break) shr - bp_TPangoLogAttr_is_line_break - -proc set_is_line_break*(a: var TPangoLogAttr, `is_line_break`: guint) = - a.flag0 = a.flag0 or - (int16(`is_line_break` shl bp_TPangoLogAttr_is_line_break) and - bm_TPangoLogAttr_is_line_break) - -proc is_mandatory_break*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_mandatory_break) shr - bp_TPangoLogAttr_is_mandatory_break - -proc set_is_mandatory_break*(a: var TPangoLogAttr, `is_mandatory_break`: guint) = - a.flag0 = a.flag0 or - (int16(`is_mandatory_break` shl bp_TPangoLogAttr_is_mandatory_break) and - bm_TPangoLogAttr_is_mandatory_break) - -proc is_char_break*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_char_break) shr - bp_TPangoLogAttr_is_char_break - -proc set_is_char_break*(a: var TPangoLogAttr, `is_char_break`: guint) = - a.flag0 = a.flag0 or - (int16(`is_char_break` shl bp_TPangoLogAttr_is_char_break) and - bm_TPangoLogAttr_is_char_break) - -proc is_white*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_white) shr - bp_TPangoLogAttr_is_white - -proc set_is_white*(a: var TPangoLogAttr, `is_white`: guint) = - a.flag0 = a.flag0 or - (int16(`is_white` shl bp_TPangoLogAttr_is_white) and - bm_TPangoLogAttr_is_white) - -proc is_cursor_position*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_cursor_position) shr - bp_TPangoLogAttr_is_cursor_position - -proc set_is_cursor_position*(a: var TPangoLogAttr, `is_cursor_position`: guint) = - a.flag0 = a.flag0 or - (int16(`is_cursor_position` shl bp_TPangoLogAttr_is_cursor_position) and - bm_TPangoLogAttr_is_cursor_position) - -proc is_word_start*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_word_start) shr - bp_TPangoLogAttr_is_word_start - -proc set_is_word_start*(a: var TPangoLogAttr, `is_word_start`: guint) = - a.flag0 = a.flag0 or - (int16(`is_word_start` shl bp_TPangoLogAttr_is_word_start) and - bm_TPangoLogAttr_is_word_start) - -proc is_word_end*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_word_end) shr - bp_TPangoLogAttr_is_word_end - -proc set_is_word_end*(a: var TPangoLogAttr, `is_word_end`: guint) = - a.flag0 = a.flag0 or - (int16(`is_word_end` shl bp_TPangoLogAttr_is_word_end) and - bm_TPangoLogAttr_is_word_end) - -proc is_sentence_boundary*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_sentence_boundary) shr - bp_TPangoLogAttr_is_sentence_boundary - -proc set_is_sentence_boundary*(a: var TPangoLogAttr, - `is_sentence_boundary`: guint) = - a.flag0 = a.flag0 or - (int16(`is_sentence_boundary` shl bp_TPangoLogAttr_is_sentence_boundary) and - bm_TPangoLogAttr_is_sentence_boundary) - -proc is_sentence_start*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_sentence_start) shr - bp_TPangoLogAttr_is_sentence_start - -proc set_is_sentence_start*(a: var TPangoLogAttr, `is_sentence_start`: guint) = - a.flag0 = a.flag0 or - (int16(`is_sentence_start` shl bp_TPangoLogAttr_is_sentence_start) and - bm_TPangoLogAttr_is_sentence_start) - -proc is_sentence_end*(a: var TPangoLogAttr): guint = - result = (a.flag0 and bm_TPangoLogAttr_is_sentence_end) shr - bp_TPangoLogAttr_is_sentence_end - -proc set_is_sentence_end*(a: var TPangoLogAttr, `is_sentence_end`: guint) = - a.flag0 = a.flag0 or - (int16(`is_sentence_end` shl bp_TPangoLogAttr_is_sentence_end) and - bm_TPangoLogAttr_is_sentence_end) - -proc PANGO_TYPE_CONTEXT*(): GType = - result = pango_context_get_type() - -proc PANGO_CONTEXT*(anObject: pointer): PPangoContext = - result = cast[PPangoContext](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_CONTEXT())) - -proc PANGO_CONTEXT_CLASS*(klass: pointer): PPangoContextClass = - result = cast[PPangoContextClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_CONTEXT())) - -proc PANGO_IS_CONTEXT*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_CONTEXT()) - -proc PANGO_IS_CONTEXT_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_CONTEXT()) - -proc PANGO_CONTEXT_GET_CLASS*(obj: PPangoContext): PPangoContextClass = - result = cast[PPangoContextClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_CONTEXT())) - -proc PANGO_TYPE_FONTSET*(): GType = - result = pango_fontset_get_type() - -proc PANGO_FONTSET*(anObject: pointer): PPangoFontset = - result = cast[PPangoFontset](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONTSET())) - -proc PANGO_IS_FONTSET*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET()) - -proc PANGO_FONTSET_CLASS*(klass: pointer): PPangoFontsetClass = - result = cast[PPangoFontsetClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONTSET())) - -proc PANGO_IS_FONTSET_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONTSET()) - -proc PANGO_FONTSET_GET_CLASS*(obj: PPangoFontset): PPangoFontsetClass = - result = cast[PPangoFontsetClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONTSET())) - -proc pango_fontset_simple_get_type(): GType {.importc, cdecl, dynlib: pangolib.} - -proc PANGO_TYPE_FONTSET_SIMPLE*(): GType = - result = pango_fontset_simple_get_type() - -proc PANGO_FONTSET_SIMPLE*(anObject: pointer): PPangoFontsetSimple = - result = cast[PPangoFontsetSimple](G_TYPE_CHECK_INSTANCE_CAST(anObject, - PANGO_TYPE_FONTSET_SIMPLE())) - -proc PANGO_IS_FONTSET_SIMPLE*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONTSET_SIMPLE()) - -proc PANGO_TYPE_FONT_DESCRIPTION*(): GType = - result = pango_font_description_get_type() - -proc PANGO_TYPE_FONT_METRICS*(): GType = - result = pango_font_metrics_get_type() - -proc PANGO_TYPE_FONT_FAMILY*(): GType = - result = pango_font_family_get_type() - -proc PANGO_FONT_FAMILY*(anObject: pointer): PPangoFontFamily = - result = cast[PPangoFontFamily](G_TYPE_CHECK_INSTANCE_CAST(anObject, - PANGO_TYPE_FONT_FAMILY())) - -proc PANGO_IS_FONT_FAMILY*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FAMILY()) - -proc PANGO_FONT_FAMILY_CLASS*(klass: Pointer): PPangoFontFamilyClass = - result = cast[PPangoFontFamilyClass](G_TYPE_CHECK_CLASS_CAST(klass, - PANGO_TYPE_FONT_FAMILY())) - -proc PANGO_IS_FONT_FAMILY_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FAMILY()) - -proc PANGO_FONT_FAMILY_GET_CLASS*(obj: PPangoFontFamily): PPangoFontFamilyClass = - result = cast[PPangoFontFamilyClass](G_TYPE_INSTANCE_GET_CLASS(obj, - PANGO_TYPE_FONT_FAMILY())) - -proc PANGO_TYPE_FONT_FACE*(): GType = - result = pango_font_face_get_type() - -proc PANGO_FONT_FACE*(anObject: Pointer): PPangoFontFace = - result = cast[PPangoFontFace](G_TYPE_CHECK_INSTANCE_CAST(anObject, - PANGO_TYPE_FONT_FACE())) - -proc PANGO_IS_FONT_FACE*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_FACE()) - -proc PANGO_FONT_FACE_CLASS*(klass: Pointer): PPangoFontFaceClass = - result = cast[PPangoFontFaceClass](G_TYPE_CHECK_CLASS_CAST(klass, - PANGO_TYPE_FONT_FACE())) - -proc PANGO_IS_FONT_FACE_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_FACE()) - -proc PANGO_FONT_FACE_GET_CLASS*(obj: Pointer): PPangoFontFaceClass = - result = cast[PPangoFontFaceClass](G_TYPE_INSTANCE_GET_CLASS(obj, - PANGO_TYPE_FONT_FACE())) - -proc PANGO_TYPE_FONT*(): GType = - result = pango_font_get_type() - -proc PANGO_FONT*(anObject: Pointer): PPangoFont = - result = cast[PPangoFont](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_FONT())) - -proc PANGO_IS_FONT*(anObject: Pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT()) - -proc PANGO_FONT_CLASS*(klass: Pointer): PPangoFontClass = - result = cast[PPangoFontClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT())) - -proc PANGO_IS_FONT_CLASS*(klass: Pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT()) - -proc PANGO_FONT_GET_CLASS*(obj: PPangoFont): PPangoFontClass = - result = cast[PPangoFontClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT())) - -proc PANGO_TYPE_FONT_MAP*(): GType = - result = pango_font_map_get_type() - -proc PANGO_FONT_MAP*(anObject: pointer): PPangoFontmap = - result = cast[PPangoFontmap](G_TYPE_CHECK_INSTANCE_CAST(anObject, - PANGO_TYPE_FONT_MAP())) - -proc PANGO_IS_FONT_MAP*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_FONT_MAP()) - -proc PANGO_FONT_MAP_CLASS*(klass: pointer): PPangoFontMapClass = - result = cast[PPangoFontMapClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_FONT_MAP())) - -proc PANGO_IS_FONT_MAP_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_FONT_MAP()) - -proc PANGO_FONT_MAP_GET_CLASS*(obj: PPangoFontMap): PPangoFontMapClass = - result = cast[PPangoFontMapClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_FONT_MAP())) - -proc is_cluster_start*(a: var TPangoGlyphVisAttr): guint = - result = (a.flag0 and bm_TPangoGlyphVisAttr_is_cluster_start) shr - bp_TPangoGlyphVisAttr_is_cluster_start - -proc set_is_cluster_start*(a: var TPangoGlyphVisAttr, `is_cluster_start`: guint) = - a.flag0 = a.flag0 or - (int16(`is_cluster_start` shl bp_TPangoGlyphVisAttr_is_cluster_start) and - bm_TPangoGlyphVisAttr_is_cluster_start) - -proc PANGO_TYPE_GLYPH_STRING*(): GType = - result = pango_glyph_string_get_type() - -proc PANGO_TYPE_LAYOUT*(): GType = - result = pango_layout_get_type() - -proc PANGO_LAYOUT*(anObject: pointer): PPangoLayout = - result = cast[PPangoLayout](G_TYPE_CHECK_INSTANCE_CAST(anObject, PANGO_TYPE_LAYOUT())) - -proc PANGO_LAYOUT_CLASS*(klass: pointer): PPangoLayoutClass = - result = cast[PPangoLayoutClass](G_TYPE_CHECK_CLASS_CAST(klass, PANGO_TYPE_LAYOUT())) - -proc PANGO_IS_LAYOUT*(anObject: pointer): bool = - result = G_TYPE_CHECK_INSTANCE_TYPE(anObject, PANGO_TYPE_LAYOUT()) - -proc PANGO_IS_LAYOUT_CLASS*(klass: pointer): bool = - result = G_TYPE_CHECK_CLASS_TYPE(klass, PANGO_TYPE_LAYOUT()) - -proc PANGO_LAYOUT_GET_CLASS*(obj: PPangoLayout): PPangoLayoutClass = - result = cast[PPangoLayoutClass](G_TYPE_INSTANCE_GET_CLASS(obj, PANGO_TYPE_LAYOUT())) - -proc PANGO_TYPE_TAB_ARRAY*(): GType = - result = pango_tab_array_get_type() diff --git a/lib/oldwrappers/gtk/pangoutils.nim b/lib/oldwrappers/gtk/pangoutils.nim deleted file mode 100755 index e6f3ab94c..000000000 --- a/lib/oldwrappers/gtk/pangoutils.nim +++ /dev/null @@ -1,46 +0,0 @@ -{.deadCodeElim: on.} - -import - glib2, pango - -type - pint32* = ptr int32 - -proc pango_split_file_list*(str: cstring): PPchar{.cdecl, dynlib: pangolib, - importc: "pango_split_file_list".} -proc pango_trim_string*(str: cstring): cstring{.cdecl, dynlib: pangolib, - importc: "pango_trim_string".} -proc pango_read_line*(stream: TFile, str: PGString): gint{.cdecl, - dynlib: pangolib, importc: "pango_read_line".} -proc pango_skip_space*(pos: PPchar): gboolean{.cdecl, dynlib: pangolib, - importc: "pango_skip_space".} -proc pango_scan_word*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_scan_word".} -proc pango_scan_string*(pos: PPchar, OutStr: PGString): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_scan_string".} -proc pango_scan_int*(pos: PPchar, OutInt: pint32): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_scan_int".} -proc pango_config_key_get(key: cstring): cstring{.cdecl, dynlib: pangolib, - importc: "pango_config_key_get".} -proc pango_lookup_aliases(fontname: cstring, families: PPPchar, - n_families: pint32){.cdecl, dynlib: pangolib, - importc: "pango_lookup_aliases".} -proc pango_parse_style*(str: cstring, style: PPangoStyle, warn: gboolean): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_parse_style".} -proc pango_parse_variant*(str: cstring, variant: PPangoVariant, warn: gboolean): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_parse_variant".} -proc pango_parse_weight*(str: cstring, weight: PPangoWeight, warn: gboolean): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_parse_weight".} -proc pango_parse_stretch*(str: cstring, stretch: PPangoStretch, warn: gboolean): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_parse_stretch".} -proc pango_get_sysconf_subdirectory(): cstring{.cdecl, dynlib: pangolib, - importc: "pango_get_sysconf_subdirectory".} -proc pango_get_lib_subdirectory(): cstring{.cdecl, dynlib: pangolib, - importc: "pango_get_lib_subdirectory".} -proc pango_log2vis_get_embedding_levels*(str: Pgunichar, len: int32, - pbase_dir: PPangoDirection, embedding_level_list: Pguint8): gboolean{.cdecl, - dynlib: pangolib, importc: "pango_log2vis_get_embedding_levels".} -proc pango_get_mirror_char*(ch: gunichar, mirrored_ch: Pgunichar): gboolean{. - cdecl, dynlib: pangolib, importc: "pango_get_mirror_char".} -proc pango_language_get_sample_string*(language: PPangoLanguage): cstring{. - cdecl, dynlib: pangolib, importc: "pango_language_get_sample_string".} diff --git a/lib/oldwrappers/iup.nim b/lib/oldwrappers/iup.nim deleted file mode 100755 index c37d31047..000000000 --- a/lib/oldwrappers/iup.nim +++ /dev/null @@ -1,945 +0,0 @@ -# -# Binding for the IUP GUI toolkit -# (c) 2010 Andreas Rumpf -# C header files translated by hand -# Licence of IUP follows: - - -# **************************************************************************** -# Copyright (C) 1994-2009 Tecgraf, PUC-Rio. -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# **************************************************************************** - -{.deadCodeElim: on.} - -when defined(windows): - const dllname = "iup(30|27|26|25|24).dll" -elif defined(macosx): - const dllname = "libiup(3.0|2.7|2.6|2.5|2.4).dylib" -else: - const dllname = "libiup(3.0|2.7|2.6|2.5|2.4).so.1" - -const - IUP_NAME* = "IUP - Portable User Interface" - IUP_COPYRIGHT* = "Copyright (C) 1994-2009 Tecgraf, PUC-Rio." - IUP_DESCRIPTION* = "Portable toolkit for building graphical user interfaces." - constIUP_VERSION* = "3.0" - constIUP_VERSION_NUMBER* = 300000 - constIUP_VERSION_DATE* = "2009/07/18" - -type - Ihandle {.pure.} = object - PIhandle* = ptr Ihandle - - Icallback* = proc (arg: PIhandle): cint {.cdecl.} - -# pre-definided dialogs -proc FileDlg*: PIhandle {.importc: "IupFileDlg", dynlib: dllname, cdecl.} -proc MessageDlg*: PIhandle {.importc: "IupMessageDlg", dynlib: dllname, cdecl.} -proc ColorDlg*: PIhandle {.importc: "IupColorDlg", dynlib: dllname, cdecl.} -proc FontDlg*: PIhandle {.importc: "IupFontDlg", dynlib: dllname, cdecl.} - -proc GetFile*(arq: cstring): cint {. - importc: "IupGetFile", dynlib: dllname, cdecl.} -proc Message*(title, msg: cstring) {. - importc: "IupMessage", dynlib: dllname, cdecl.} -proc Messagef*(title, format: cstring) {. - importc: "IupMessagef", dynlib: dllname, cdecl, varargs.} -proc Alarm*(title, msg, b1, b2, b3: cstring): cint {. - importc: "IupAlarm", dynlib: dllname, cdecl.} -proc Scanf*(format: cstring): cint {. - importc: "IupScanf", dynlib: dllname, cdecl, varargs.} -proc ListDialog*(theType: cint, title: cstring, size: cint, - list: cstringArray, op, max_col, max_lin: cint, - marks: ptr cint): cint {. - importc: "IupListDialog", dynlib: dllname, cdecl.} -proc GetText*(title, text: cstring): cint {. - importc: "IupGetText", dynlib: dllname, cdecl.} -proc GetColor*(x, y: cint, r, g, b: var byte): cint {. - importc: "IupGetColor", dynlib: dllname, cdecl.} - -type - Iparamcb* = proc (dialog: PIhandle, param_index: cint, - user_data: pointer): cint {.cdecl.} - -proc GetParam*(title: cstring, action: Iparamcb, user_data: pointer, - format: cstring): cint {. - importc: "IupGetParam", cdecl, varargs, dynlib: dllname.} -proc GetParamv*(title: cstring, action: Iparamcb, user_data: pointer, - format: cstring, param_count, param_extra: cint, - param_data: pointer): cint {. - importc: "IupGetParamv", cdecl, dynlib: dllname.} - - -# Functions - -proc Open*(argc: ptr cint, argv: ptr cstringArray): cint {. - importc: "IupOpen", cdecl, dynlib: dllname.} -proc Close*() {.importc: "IupClose", cdecl, dynlib: dllname.} -proc ImageLibOpen*() {.importc: "IupImageLibOpen", cdecl, dynlib: dllname.} - -proc MainLoop*(): cint {.importc: "IupMainLoop", cdecl, dynlib: dllname.} -proc LoopStep*(): cint {.importc: "IupLoopStep", cdecl, dynlib: dllname.} -proc MainLoopLevel*(): cint {.importc: "IupMainLoopLevel", cdecl, dynlib: dllname.} -proc Flush*() {.importc: "IupFlush", cdecl, dynlib: dllname.} -proc ExitLoop*() {.importc: "IupExitLoop", cdecl, dynlib: dllname.} - -proc Update*(ih: PIhandle) {.importc: "IupUpdate", cdecl, dynlib: dllname.} -proc UpdateChildren*(ih: PIhandle) {.importc: "IupUpdateChildren", cdecl, dynlib: dllname.} -proc Redraw*(ih: PIhandle, children: cint) {.importc: "IupRedraw", cdecl, dynlib: dllname.} -proc Refresh*(ih: PIhandle) {.importc: "IupRefresh", cdecl, dynlib: dllname.} - -proc MapFont*(iupfont: cstring): cstring {.importc: "IupMapFont", cdecl, dynlib: dllname.} -proc UnMapFont*(driverfont: cstring): cstring {.importc: "IupUnMapFont", cdecl, dynlib: dllname.} -proc Help*(url: cstring): cint {.importc: "IupHelp", cdecl, dynlib: dllname.} -proc Load*(filename: cstring): cstring {.importc: "IupLoad", cdecl, dynlib: dllname.} - -proc IupVersion*(): cstring {.importc: "IupVersion", cdecl, dynlib: dllname.} -proc IupVersionDate*(): cstring {.importc: "IupVersionDate", cdecl, dynlib: dllname.} -proc IupVersionNumber*(): cint {.importc: "IupVersionNumber", cdecl, dynlib: dllname.} -proc SetLanguage*(lng: cstring) {.importc: "IupSetLanguage", cdecl, dynlib: dllname.} -proc GetLanguage*(): cstring {.importc: "IupGetLanguage", cdecl, dynlib: dllname.} - -proc Destroy*(ih: PIhandle) {.importc: "IupDestroy", cdecl, dynlib: dllname.} -proc Detach*(child: PIhandle) {.importc: "IupDetach", cdecl, dynlib: dllname.} -proc Append*(ih, child: PIhandle): PIhandle {. - importc: "IupAppend", cdecl, dynlib: dllname.} -proc Insert*(ih, ref_child, child: PIhandle): PIhandle {. - importc: "IupInsert", cdecl, dynlib: dllname.} -proc GetChild*(ih: PIhandle, pos: cint): PIhandle {. - importc: "IupGetChild", cdecl, dynlib: dllname.} -proc GetChildPos*(ih, child: PIhandle): cint {. - importc: "IupGetChildPos", cdecl, dynlib: dllname.} -proc GetChildCount*(ih: PIhandle): cint {. - importc: "IupGetChildCount", cdecl, dynlib: dllname.} -proc GetNextChild*(ih, child: PIhandle): PIhandle {. - importc: "IupGetNextChild", cdecl, dynlib: dllname.} -proc GetBrother*(ih: PIhandle): PIhandle {. - importc: "IupGetBrother", cdecl, dynlib: dllname.} -proc GetParent*(ih: PIhandle): PIhandle {. - importc: "IupGetParent", cdecl, dynlib: dllname.} -proc GetDialog*(ih: PIhandle): PIhandle {. - importc: "IupGetDialog", cdecl, dynlib: dllname.} -proc GetDialogChild*(ih: PIhandle, name: cstring): PIhandle {. - importc: "IupGetDialogChild", cdecl, dynlib: dllname.} -proc Reparent*(ih, new_parent: PIhandle): cint {. - importc: "IupReparent", cdecl, dynlib: dllname.} - -proc Popup*(ih: PIhandle, x, y: cint): cint {. - importc: "IupPopup", cdecl, dynlib: dllname.} -proc Show*(ih: PIhandle): cint {. - importc: "IupShow", cdecl, dynlib: dllname.} -proc ShowXY*(ih: PIhandle, x, y: cint): cint {. - importc: "IupShowXY", cdecl, dynlib: dllname.} -proc Hide*(ih: PIhandle): cint {. - importc: "IupHide", cdecl, dynlib: dllname.} -proc Map*(ih: PIhandle): cint {. - importc: "IupMap", cdecl, dynlib: dllname.} -proc Unmap*(ih: PIhandle) {. - importc: "IupUnmap", cdecl, dynlib: dllname.} - -proc SetAttribute*(ih: PIhandle, name, value: cstring) {. - importc: "IupSetAttribute", cdecl, dynlib: dllname.} -proc StoreAttribute*(ih: PIhandle, name, value: cstring) {. - importc: "IupStoreAttribute", cdecl, dynlib: dllname.} -proc SetAttributes*(ih: PIhandle, str: cstring): PIhandle {. - importc: "IupSetAttributes", cdecl, dynlib: dllname.} -proc GetAttribute*(ih: PIhandle, name: cstring): cstring {. - importc: "IupGetAttribute", cdecl, dynlib: dllname.} -proc GetAttributes*(ih: PIhandle): cstring {. - importc: "IupGetAttributes", cdecl, dynlib: dllname.} -proc GetInt*(ih: PIhandle, name: cstring): cint {. - importc: "IupGetInt", cdecl, dynlib: dllname.} -proc GetInt2*(ih: PIhandle, name: cstring): cint {. - importc: "IupGetInt2", cdecl, dynlib: dllname.} -proc GetIntInt*(ih: PIhandle, name: cstring, i1, i2: var cint): cint {. - importc: "IupGetIntInt", cdecl, dynlib: dllname.} -proc GetFloat*(ih: PIhandle, name: cstring): cfloat {. - importc: "IupGetFloat", cdecl, dynlib: dllname.} -proc SetfAttribute*(ih: PIhandle, name, format: cstring) {. - importc: "IupSetfAttribute", cdecl, dynlib: dllname, varargs.} -proc GetAllAttributes*(ih: PIhandle, names: cstringArray, n: cint): cint {. - importc: "IupGetAllAttributes", cdecl, dynlib: dllname.} -proc SetAtt*(handle_name: cstring, ih: PIhandle, name: cstring): PIhandle {. - importc: "IupSetAtt", cdecl, dynlib: dllname, varargs.} - -proc SetGlobal*(name, value: cstring) {. - importc: "IupSetGlobal", cdecl, dynlib: dllname.} -proc StoreGlobal*(name, value: cstring) {. - importc: "IupStoreGlobal", cdecl, dynlib: dllname.} -proc GetGlobal*(name: cstring): cstring {. - importc: "IupGetGlobal", cdecl, dynlib: dllname.} - -proc SetFocus*(ih: PIhandle): PIhandle {. - importc: "IupSetFocus", cdecl, dynlib: dllname.} -proc GetFocus*(): PIhandle {. - importc: "IupGetFocus", cdecl, dynlib: dllname.} -proc PreviousField*(ih: PIhandle): PIhandle {. - importc: "IupPreviousField", cdecl, dynlib: dllname.} -proc NextField*(ih: PIhandle): PIhandle {. - importc: "IupNextField", cdecl, dynlib: dllname.} - -proc GetCallback*(ih: PIhandle, name: cstring): Icallback {. - importc: "IupGetCallback", cdecl, dynlib: dllname.} -proc SetCallback*(ih: PIhandle, name: cstring, func: Icallback): Icallback {. - importc: "IupSetCallback", cdecl, dynlib: dllname.} -proc SetCallbacks*(ih: PIhandle, name: cstring, func: Icallback): PIhandle {. - importc: "IupSetCallbacks", cdecl, dynlib: dllname, varargs.} - -proc GetFunction*(name: cstring): Icallback {. - importc: "IupGetFunction", cdecl, dynlib: dllname.} -proc SetFunction*(name: cstring, func: Icallback): Icallback {. - importc: "IupSetFunction", cdecl, dynlib: dllname.} -proc GetActionName*(): cstring {. - importc: "IupGetActionName", cdecl, dynlib: dllname.} - -proc GetHandle*(name: cstring): PIhandle {. - importc: "IupGetHandle", cdecl, dynlib: dllname.} -proc SetHandle*(name: cstring, ih: PIhandle): PIhandle {. - importc: "IupSetHandle", cdecl, dynlib: dllname.} -proc GetAllNames*(names: cstringArray, n: cint): cint {. - importc: "IupGetAllNames", cdecl, dynlib: dllname.} -proc GetAllDialogs*(names: cstringArray, n: cint): cint {. - importc: "IupGetAllDialogs", cdecl, dynlib: dllname.} -proc GetName*(ih: PIhandle): cstring {. - importc: "IupGetName", cdecl, dynlib: dllname.} - -proc SetAttributeHandle*(ih: PIhandle, name: cstring, ih_named: PIhandle) {. - importc: "IupSetAttributeHandle", cdecl, dynlib: dllname.} -proc GetAttributeHandle*(ih: PIhandle, name: cstring): PIhandle {. - importc: "IupGetAttributeHandle", cdecl, dynlib: dllname.} - -proc GetClassName*(ih: PIhandle): cstring {. - importc: "IupGetClassName", cdecl, dynlib: dllname.} -proc GetClassType*(ih: PIhandle): cstring {. - importc: "IupGetClassType", cdecl, dynlib: dllname.} -proc GetClassAttributes*(classname: cstring, names: cstringArray, - n: cint): cint {. - importc: "IupGetClassAttributes", cdecl, dynlib: dllname.} -proc SaveClassAttributes*(ih: PIhandle) {. - importc: "IupSaveClassAttributes", cdecl, dynlib: dllname.} -proc SetClassDefaultAttribute*(classname, name, value: cstring) {. - importc: "IupSetClassDefaultAttribute", cdecl, dynlib: dllname.} - -proc Create*(classname: cstring): PIhandle {. - importc: "IupCreate", cdecl, dynlib: dllname.} -proc Createv*(classname: cstring, params: pointer): PIhandle {. - importc: "IupCreatev", cdecl, dynlib: dllname.} -proc Createp*(classname: cstring, first: pointer): PIhandle {. - importc: "IupCreatep", cdecl, dynlib: dllname, varargs.} - -proc Fill*(): PIhandle {.importc: "IupFill", cdecl, dynlib: dllname.} -proc Radio*(child: PIhandle): PIhandle {. - importc: "IupRadio", cdecl, dynlib: dllname.} -proc Vbox*(child: PIhandle): PIhandle {. - importc: "IupVbox", cdecl, dynlib: dllname, varargs.} -proc Vboxv*(children: ptr PIhandle): PIhandle {. - importc: "IupVboxv", cdecl, dynlib: dllname.} -proc Zbox*(child: PIhandle): PIhandle {. - importc: "IupZbox", cdecl, dynlib: dllname, varargs.} -proc Zboxv*(children: ptr PIhandle): PIhandle {. - importc: "IupZboxv", cdecl, dynlib: dllname.} -proc Hbox*(child: PIhandle): PIhandle {. - importc: "IupHbox", cdecl, dynlib: dllname, varargs.} -proc Hboxv*(children: ptr PIhandle): PIhandle {. - importc: "IupHboxv", cdecl, dynlib: dllname.} - -proc Normalizer*(ih_first: PIhandle): PIhandle {. - importc: "IupNormalizer", cdecl, dynlib: dllname, varargs.} -proc Normalizerv*(ih_list: ptr PIhandle): PIhandle {. - importc: "IupNormalizerv", cdecl, dynlib: dllname.} - -proc Cbox*(child: PIhandle): PIhandle {. - importc: "IupCbox", cdecl, dynlib: dllname, varargs.} -proc Cboxv*(children: ptr PIhandle): PIhandle {. - importc: "IupCboxv", cdecl, dynlib: dllname.} -proc Sbox*(child: PIhandle): PIhandle {. - importc: "IupSbox", cdecl, dynlib: dllname.} - -proc Frame*(child: PIhandle): PIhandle {. - importc: "IupFrame", cdecl, dynlib: dllname.} - -proc Image*(width, height: cint, pixmap: pointer): PIhandle {. - importc: "IupImage", cdecl, dynlib: dllname.} -proc ImageRGB*(width, height: cint, pixmap: pointer): PIhandle {. - importc: "IupImageRGB", cdecl, dynlib: dllname.} -proc ImageRGBA*(width, height: cint, pixmap: pointer): PIhandle {. - importc: "IupImageRGBA", cdecl, dynlib: dllname.} - -proc Item*(title, action: cstring): PIhandle {. - importc: "IupItem", cdecl, dynlib: dllname.} -proc Submenu*(title: cstring, child: PIhandle): PIhandle {. - importc: "IupSubmenu", cdecl, dynlib: dllname.} -proc Separator*(): PIhandle {. - importc: "IupSeparator", cdecl, dynlib: dllname.} -proc Menu*(child: PIhandle): PIhandle {. - importc: "IupMenu", cdecl, dynlib: dllname, varargs.} -proc Menuv*(children: ptr PIhandle): PIhandle {. - importc: "IupMenuv", cdecl, dynlib: dllname.} - -proc Button*(title, action: cstring): PIhandle {. - importc: "IupButton", cdecl, dynlib: dllname.} -proc Canvas*(action: cstring): PIhandle {. - importc: "IupCanvas", cdecl, dynlib: dllname.} -proc Dialog*(child: PIhandle): PIhandle {. - importc: "IupDialog", cdecl, dynlib: dllname.} -proc User*(): PIhandle {. - importc: "IupUser", cdecl, dynlib: dllname.} -proc Label*(title: cstring): PIhandle {. - importc: "IupLabel", cdecl, dynlib: dllname.} -proc List*(action: cstring): PIhandle {. - importc: "IupList", cdecl, dynlib: dllname.} -proc Text*(action: cstring): PIhandle {. - importc: "IupText", cdecl, dynlib: dllname.} -proc MultiLine*(action: cstring): PIhandle {. - importc: "IupMultiLine", cdecl, dynlib: dllname.} -proc Toggle*(title, action: cstring): PIhandle {. - importc: "IupToggle", cdecl, dynlib: dllname.} -proc Timer*(): PIhandle {. - importc: "IupTimer", cdecl, dynlib: dllname.} -proc ProgressBar*(): PIhandle {. - importc: "IupProgressBar", cdecl, dynlib: dllname.} -proc Val*(theType: cstring): PIhandle {. - importc: "IupVal", cdecl, dynlib: dllname.} -proc Tabs*(child: PIhandle): PIhandle {. - importc: "IupTabs", cdecl, dynlib: dllname, varargs.} -proc Tabsv*(children: ptr PIhandle): PIhandle {. - importc: "IupTabsv", cdecl, dynlib: dllname.} -proc Tree*(): PIhandle {.importc: "IupTree", cdecl, dynlib: dllname.} - -proc Spin*(): PIhandle {.importc: "IupSpin", cdecl, dynlib: dllname.} -proc Spinbox*(child: PIhandle): PIhandle {. - importc: "IupSpinbox", cdecl, dynlib: dllname.} - -# IupText utilities -proc TextConvertLinColToPos*(ih: PIhandle, lin, col: cint, pos: var cint) {. - importc: "IupTextConvertLinColToPos", cdecl, dynlib: dllname.} -proc TextConvertPosToLinCol*(ih: PIhandle, pos: cint, lin, col: var cint) {. - importc: "IupTextConvertPosToLinCol", cdecl, dynlib: dllname.} - -proc ConvertXYToPos*(ih: PIhandle, x, y: cint): cint {. - importc: "IupConvertXYToPos", cdecl, dynlib: dllname.} - -# IupTree utilities -proc TreeSetUserId*(ih: PIhandle, id: cint, userid: pointer): cint {. - importc: "IupTreeSetUserId", cdecl, dynlib: dllname.} -proc TreeGetUserId*(ih: PIhandle, id: cint): pointer {. - importc: "IupTreeGetUserId", cdecl, dynlib: dllname.} -proc TreeGetId*(ih: PIhandle, userid: pointer): cint {. - importc: "IupTreeGetId", cdecl, dynlib: dllname.} - -proc TreeSetAttribute*(ih: PIhandle, name: cstring, id: cint, value: cstring) {. - importc: "IupTreeSetAttribute", cdecl, dynlib: dllname.} -proc TreeStoreAttribute*(ih: PIhandle, name: cstring, id: cint, value: cstring) {. - importc: "IupTreeStoreAttribute", cdecl, dynlib: dllname.} -proc TreeGetAttribute*(ih: PIhandle, name: cstring, id: cint): cstring {. - importc: "IupTreeGetAttribute", cdecl, dynlib: dllname.} -proc TreeGetInt*(ih: PIhandle, name: cstring, id: cint): cint {. - importc: "IupTreeGetInt", cdecl, dynlib: dllname.} -proc TreeGetFloat*(ih: PIhandle, name: cstring, id: cint): cfloat {. - importc: "IupTreeGetFloat", cdecl, dynlib: dllname.} -proc TreeSetfAttribute*(ih: PIhandle, name: cstring, id: cint, format: cstring) {. - importc: "IupTreeSetfAttribute", cdecl, dynlib: dllname, varargs.} - - -# Common Return Values -const - IUP_ERROR* = cint(1) - IUP_NOERROR* = cint(0) - IUP_OPENED* = cint(-1) - IUP_INVALID* = cint(-1) - - # Callback Return Values - IUP_IGNORE* = cint(-1) - IUP_DEFAULT* = cint(-2) - IUP_CLOSE* = cint(-3) - IUP_CONTINUE* = cint(-4) - - # IupPopup and IupShowXY Parameter Values - IUP_CENTER* = cint(0xFFFF) - IUP_LEFT* = cint(0xFFFE) - IUP_RIGHT* = cint(0xFFFD) - IUP_MOUSEPOS* = cint(0xFFFC) - IUP_CURRENT* = cint(0xFFFB) - IUP_CENTERPARENT* = cint(0xFFFA) - IUP_TOP* = IUP_LEFT - IUP_BOTTOM* = IUP_RIGHT - - # SHOW_CB Callback Values - IUP_SHOW* = cint(0) - IUP_RESTORE* = cint(1) - IUP_MINIMIZE* = cint(2) - IUP_MAXIMIZE* = cint(3) - IUP_HIDE* = cint(4) - - # SCROLL_CB Callback Values - IUP_SBUP* = cint(0) - IUP_SBDN* = cint(1) - IUP_SBPGUP* = cint(2) - IUP_SBPGDN* = cint(3) - IUP_SBPOSV* = cint(4) - IUP_SBDRAGV* = cint(5) - IUP_SBLEFT* = cint(6) - IUP_SBRIGHT* = cint(7) - IUP_SBPGLEFT* = cint(8) - IUP_SBPGRIGHT* = cint(9) - IUP_SBPOSH* = cint(10) - IUP_SBDRAGH* = cint(11) - - # Mouse Button Values and Macros - IUP_BUTTON1* = cint(ord('1')) - IUP_BUTTON2* = cint(ord('2')) - IUP_BUTTON3* = cint(ord('3')) - IUP_BUTTON4* = cint(ord('4')) - IUP_BUTTON5* = cint(ord('5')) - -proc isShift*(s: cstring): bool = return s[0] == 'S' -proc isControl*(s: cstring): bool = return s[1] == 'C' -proc isButton1*(s: cstring): bool = return s[2] == '1' -proc isButton2*(s: cstring): bool = return s[3] == '2' -proc isbutton3*(s: cstring): bool = return s[4] == '3' -proc isDouble*(s: cstring): bool = return s[5] == 'D' -proc isAlt*(s: cstring): bool = return s[6] == 'A' -proc isSys*(s: cstring): bool = return s[7] == 'Y' -proc isButton4*(s: cstring): bool = return s[8] == '4' -proc isButton5*(s: cstring): bool = return s[9] == '5' - -# Pre-Defined Masks -const - IUP_MASK_FLOAT* = "[+/-]?(/d+/.?/d*|/./d+)" - IUP_MASK_UFLOAT* = "(/d+/.?/d*|/./d+)" - IUP_MASK_EFLOAT* = "[+/-]?(/d+/.?/d*|/./d+)([eE][+/-]?/d+)?" - IUP_MASK_INT* = "[+/-]?/d+" - IUP_MASK_UINT* = "/d+" - -# from 32 to 126, all character sets are equal, -# the key code i the same as the character code. -const - K_SP* = cint(ord(' ')) - K_exclam* = cint(ord('!')) - K_quotedbl* = cint(ord('\"')) - K_numbersign* = cint(ord('#')) - K_dollar* = cint(ord('$')) - K_percent* = cint(ord('%')) - K_ampersand* = cint(ord('&')) - K_apostrophe* = cint(ord('\'')) - K_parentleft* = cint(ord('(')) - K_parentright* = cint(ord(')')) - K_asterisk* = cint(ord('*')) - K_plus* = cint(ord('+')) - K_comma* = cint(ord(',')) - K_minus* = cint(ord('-')) - K_period* = cint(ord('.')) - K_slash* = cint(ord('/')) - K_0* = cint(ord('0')) - K_1* = cint(ord('1')) - K_2* = cint(ord('2')) - K_3* = cint(ord('3')) - K_4* = cint(ord('4')) - K_5* = cint(ord('5')) - K_6* = cint(ord('6')) - K_7* = cint(ord('7')) - K_8* = cint(ord('8')) - K_9* = cint(ord('9')) - K_colon* = cint(ord(':')) - K_semicolon* = cint(ord(';')) - K_less* = cint(ord('<')) - K_equal* = cint(ord('=')) - K_greater* = cint(ord('>')) - K_question* = cint(ord('?')) - K_at* = cint(ord('@')) - K_upperA* = cint(ord('A')) - K_upperB* = cint(ord('B')) - K_upperC* = cint(ord('C')) - K_upperD* = cint(ord('D')) - K_upperE* = cint(ord('E')) - K_upperF* = cint(ord('F')) - K_upperG* = cint(ord('G')) - K_upperH* = cint(ord('H')) - K_upperI* = cint(ord('I')) - K_upperJ* = cint(ord('J')) - K_upperK* = cint(ord('K')) - K_upperL* = cint(ord('L')) - K_upperM* = cint(ord('M')) - K_upperN* = cint(ord('N')) - K_upperO* = cint(ord('O')) - K_upperP* = cint(ord('P')) - K_upperQ* = cint(ord('Q')) - K_upperR* = cint(ord('R')) - K_upperS* = cint(ord('S')) - K_upperT* = cint(ord('T')) - K_upperU* = cint(ord('U')) - K_upperV* = cint(ord('V')) - K_upperW* = cint(ord('W')) - K_upperX* = cint(ord('X')) - K_upperY* = cint(ord('Y')) - K_upperZ* = cint(ord('Z')) - K_bracketleft* = cint(ord('[')) - K_backslash* = cint(ord('\\')) - K_bracketright* = cint(ord(']')) - K_circum* = cint(ord('^')) - K_underscore* = cint(ord('_')) - K_grave* = cint(ord('`')) - K_lowera* = cint(ord('a')) - K_lowerb* = cint(ord('b')) - K_lowerc* = cint(ord('c')) - K_lowerd* = cint(ord('d')) - K_lowere* = cint(ord('e')) - K_lowerf* = cint(ord('f')) - K_lowerg* = cint(ord('g')) - K_lowerh* = cint(ord('h')) - K_loweri* = cint(ord('i')) - K_lowerj* = cint(ord('j')) - K_lowerk* = cint(ord('k')) - K_lowerl* = cint(ord('l')) - K_lowerm* = cint(ord('m')) - K_lowern* = cint(ord('n')) - K_lowero* = cint(ord('o')) - K_lowerp* = cint(ord('p')) - K_lowerq* = cint(ord('q')) - K_lowerr* = cint(ord('r')) - K_lowers* = cint(ord('s')) - K_lowert* = cint(ord('t')) - K_loweru* = cint(ord('u')) - K_lowerv* = cint(ord('v')) - K_lowerw* = cint(ord('w')) - K_lowerx* = cint(ord('x')) - K_lowery* = cint(ord('y')) - K_lowerz* = cint(ord('z')) - K_braceleft* = cint(ord('{')) - K_bar* = cint(ord('|')) - K_braceright* = cint(ord('}')) - K_tilde* = cint(ord('~')) - -proc isPrint*(c: cint): bool = return c > 31 and c < 127 - -# also define the escape sequences that have keys associated -const - K_BS* = cint(ord('\b')) - K_TAB* = cint(ord('\t')) - K_LF* = cint(10) - K_CR* = cint(13) - -# IUP Extended Key Codes, range start at 128 -# Modifiers use 256 interval -# These key code definitions are specific to IUP - -proc isXkey*(c: cint): bool = return c > 128 -proc isShiftXkey*(c: cint): bool = return c > 256 and c < 512 -proc isCtrlXkey*(c: cint): bool = return c > 512 and c < 768 -proc isAltXkey*(c: cint): bool = return c > 768 and c < 1024 -proc isSysXkey*(c: cint): bool = return c > 1024 and c < 1280 - -proc IUPxCODE*(c: cint): cint = return c + cint(128) # Normal (must be above 128) -proc IUPsxCODE*(c: cint): cint = - return c + cint(256) - # Shift (must have range to include the standard keys and the normal - # extended keys, so must be above 256 - -proc IUPcxCODE*(c: cint): cint = return c + cint(512) # Ctrl -proc IUPmxCODE*(c: cint): cint = return c + cint(768) # Alt -proc IUPyxCODE*(c: cint): cint = return c + cint(1024) # Sys (Win or Apple) - -const - IUP_NUMMAXCODES* = 1280 ## 5*256=1280 Normal+Shift+Ctrl+Alt+Sys - - K_HOME* = IUPxCODE(1) - K_UP* = IUPxCODE(2) - K_PGUP* = IUPxCODE(3) - K_LEFT* = IUPxCODE(4) - K_MIDDLE* = IUPxCODE(5) - K_RIGHT* = IUPxCODE(6) - K_END* = IUPxCODE(7) - K_DOWN* = IUPxCODE(8) - K_PGDN* = IUPxCODE(9) - K_INS* = IUPxCODE(10) - K_DEL* = IUPxCODE(11) - K_PAUSE* = IUPxCODE(12) - K_ESC* = IUPxCODE(13) - K_ccedilla* = IUPxCODE(14) - K_F1* = IUPxCODE(15) - K_F2* = IUPxCODE(16) - K_F3* = IUPxCODE(17) - K_F4* = IUPxCODE(18) - K_F5* = IUPxCODE(19) - K_F6* = IUPxCODE(20) - K_F7* = IUPxCODE(21) - K_F8* = IUPxCODE(22) - K_F9* = IUPxCODE(23) - K_F10* = IUPxCODE(24) - K_F11* = IUPxCODE(25) - K_F12* = IUPxCODE(26) - K_Print* = IUPxCODE(27) - K_Menu* = IUPxCODE(28) - - K_acute* = IUPxCODE(29) # no Shift/Ctrl/Alt - - K_sHOME* = IUPsxCODE(K_HOME) - K_sUP* = IUPsxCODE(K_UP) - K_sPGUP* = IUPsxCODE(K_PGUP) - K_sLEFT* = IUPsxCODE(K_LEFT) - K_sMIDDLE* = IUPsxCODE(K_MIDDLE) - K_sRIGHT* = IUPsxCODE(K_RIGHT) - K_sEND* = IUPsxCODE(K_END) - K_sDOWN* = IUPsxCODE(K_DOWN) - K_sPGDN* = IUPsxCODE(K_PGDN) - K_sINS* = IUPsxCODE(K_INS) - K_sDEL* = IUPsxCODE(K_DEL) - K_sSP* = IUPsxCODE(K_SP) - K_sTAB* = IUPsxCODE(K_TAB) - K_sCR* = IUPsxCODE(K_CR) - K_sBS* = IUPsxCODE(K_BS) - K_sPAUSE* = IUPsxCODE(K_PAUSE) - K_sESC* = IUPsxCODE(K_ESC) - K_sCcedilla* = IUPsxCODE(K_ccedilla) - K_sF1* = IUPsxCODE(K_F1) - K_sF2* = IUPsxCODE(K_F2) - K_sF3* = IUPsxCODE(K_F3) - K_sF4* = IUPsxCODE(K_F4) - K_sF5* = IUPsxCODE(K_F5) - K_sF6* = IUPsxCODE(K_F6) - K_sF7* = IUPsxCODE(K_F7) - K_sF8* = IUPsxCODE(K_F8) - K_sF9* = IUPsxCODE(K_F9) - K_sF10* = IUPsxCODE(K_F10) - K_sF11* = IUPsxCODE(K_F11) - K_sF12* = IUPsxCODE(K_F12) - K_sPrint* = IUPsxCODE(K_Print) - K_sMenu* = IUPsxCODE(K_Menu) - - K_cHOME* = IUPcxCODE(K_HOME) - K_cUP* = IUPcxCODE(K_UP) - K_cPGUP* = IUPcxCODE(K_PGUP) - K_cLEFT* = IUPcxCODE(K_LEFT) - K_cMIDDLE* = IUPcxCODE(K_MIDDLE) - K_cRIGHT* = IUPcxCODE(K_RIGHT) - K_cEND* = IUPcxCODE(K_END) - K_cDOWN* = IUPcxCODE(K_DOWN) - K_cPGDN* = IUPcxCODE(K_PGDN) - K_cINS* = IUPcxCODE(K_INS) - K_cDEL* = IUPcxCODE(K_DEL) - K_cSP* = IUPcxCODE(K_SP) - K_cTAB* = IUPcxCODE(K_TAB) - K_cCR* = IUPcxCODE(K_CR) - K_cBS* = IUPcxCODE(K_BS) - K_cPAUSE* = IUPcxCODE(K_PAUSE) - K_cESC* = IUPcxCODE(K_ESC) - K_cCcedilla* = IUPcxCODE(K_ccedilla) - K_cF1* = IUPcxCODE(K_F1) - K_cF2* = IUPcxCODE(K_F2) - K_cF3* = IUPcxCODE(K_F3) - K_cF4* = IUPcxCODE(K_F4) - K_cF5* = IUPcxCODE(K_F5) - K_cF6* = IUPcxCODE(K_F6) - K_cF7* = IUPcxCODE(K_F7) - K_cF8* = IUPcxCODE(K_F8) - K_cF9* = IUPcxCODE(K_F9) - K_cF10* = IUPcxCODE(K_F10) - K_cF11* = IUPcxCODE(K_F11) - K_cF12* = IUPcxCODE(K_F12) - K_cPrint* = IUPcxCODE(K_Print) - K_cMenu* = IUPcxCODE(K_Menu) - - K_mHOME* = IUPmxCODE(K_HOME) - K_mUP* = IUPmxCODE(K_UP) - K_mPGUP* = IUPmxCODE(K_PGUP) - K_mLEFT* = IUPmxCODE(K_LEFT) - K_mMIDDLE* = IUPmxCODE(K_MIDDLE) - K_mRIGHT* = IUPmxCODE(K_RIGHT) - K_mEND* = IUPmxCODE(K_END) - K_mDOWN* = IUPmxCODE(K_DOWN) - K_mPGDN* = IUPmxCODE(K_PGDN) - K_mINS* = IUPmxCODE(K_INS) - K_mDEL* = IUPmxCODE(K_DEL) - K_mSP* = IUPmxCODE(K_SP) - K_mTAB* = IUPmxCODE(K_TAB) - K_mCR* = IUPmxCODE(K_CR) - K_mBS* = IUPmxCODE(K_BS) - K_mPAUSE* = IUPmxCODE(K_PAUSE) - K_mESC* = IUPmxCODE(K_ESC) - K_mCcedilla* = IUPmxCODE(K_ccedilla) - K_mF1* = IUPmxCODE(K_F1) - K_mF2* = IUPmxCODE(K_F2) - K_mF3* = IUPmxCODE(K_F3) - K_mF4* = IUPmxCODE(K_F4) - K_mF5* = IUPmxCODE(K_F5) - K_mF6* = IUPmxCODE(K_F6) - K_mF7* = IUPmxCODE(K_F7) - K_mF8* = IUPmxCODE(K_F8) - K_mF9* = IUPmxCODE(K_F9) - K_mF10* = IUPmxCODE(K_F10) - K_mF11* = IUPmxCODE(K_F11) - K_mF12* = IUPmxCODE(K_F12) - K_mPrint* = IUPmxCODE(K_Print) - K_mMenu* = IUPmxCODE(K_Menu) - - K_yHOME* = IUPyxCODE(K_HOME) - K_yUP* = IUPyxCODE(K_UP) - K_yPGUP* = IUPyxCODE(K_PGUP) - K_yLEFT* = IUPyxCODE(K_LEFT) - K_yMIDDLE* = IUPyxCODE(K_MIDDLE) - K_yRIGHT* = IUPyxCODE(K_RIGHT) - K_yEND* = IUPyxCODE(K_END) - K_yDOWN* = IUPyxCODE(K_DOWN) - K_yPGDN* = IUPyxCODE(K_PGDN) - K_yINS* = IUPyxCODE(K_INS) - K_yDEL* = IUPyxCODE(K_DEL) - K_ySP* = IUPyxCODE(K_SP) - K_yTAB* = IUPyxCODE(K_TAB) - K_yCR* = IUPyxCODE(K_CR) - K_yBS* = IUPyxCODE(K_BS) - K_yPAUSE* = IUPyxCODE(K_PAUSE) - K_yESC* = IUPyxCODE(K_ESC) - K_yCcedilla* = IUPyxCODE(K_ccedilla) - K_yF1* = IUPyxCODE(K_F1) - K_yF2* = IUPyxCODE(K_F2) - K_yF3* = IUPyxCODE(K_F3) - K_yF4* = IUPyxCODE(K_F4) - K_yF5* = IUPyxCODE(K_F5) - K_yF6* = IUPyxCODE(K_F6) - K_yF7* = IUPyxCODE(K_F7) - K_yF8* = IUPyxCODE(K_F8) - K_yF9* = IUPyxCODE(K_F9) - K_yF10* = IUPyxCODE(K_F10) - K_yF11* = IUPyxCODE(K_F11) - K_yF12* = IUPyxCODE(K_F12) - K_yPrint* = IUPyxCODE(K_Print) - K_yMenu* = IUPyxCODE(K_Menu) - - K_sPlus* = IUPsxCODE(K_plus) - K_sComma* = IUPsxCODE(K_comma) - K_sMinus* = IUPsxCODE(K_minus) - K_sPeriod* = IUPsxCODE(K_period) - K_sSlash* = IUPsxCODE(K_slash) - K_sAsterisk* = IUPsxCODE(K_asterisk) - - K_cupperA* = IUPcxCODE(K_upperA) - K_cupperB* = IUPcxCODE(K_upperB) - K_cupperC* = IUPcxCODE(K_upperC) - K_cupperD* = IUPcxCODE(K_upperD) - K_cupperE* = IUPcxCODE(K_upperE) - K_cupperF* = IUPcxCODE(K_upperF) - K_cupperG* = IUPcxCODE(K_upperG) - K_cupperH* = IUPcxCODE(K_upperH) - K_cupperI* = IUPcxCODE(K_upperI) - K_cupperJ* = IUPcxCODE(K_upperJ) - K_cupperK* = IUPcxCODE(K_upperK) - K_cupperL* = IUPcxCODE(K_upperL) - K_cupperM* = IUPcxCODE(K_upperM) - K_cupperN* = IUPcxCODE(K_upperN) - K_cupperO* = IUPcxCODE(K_upperO) - K_cupperP* = IUPcxCODE(K_upperP) - K_cupperQ* = IUPcxCODE(K_upperQ) - K_cupperR* = IUPcxCODE(K_upperR) - K_cupperS* = IUPcxCODE(K_upperS) - K_cupperT* = IUPcxCODE(K_upperT) - K_cupperU* = IUPcxCODE(K_upperU) - K_cupperV* = IUPcxCODE(K_upperV) - K_cupperW* = IUPcxCODE(K_upperW) - K_cupperX* = IUPcxCODE(K_upperX) - K_cupperY* = IUPcxCODE(K_upperY) - K_cupperZ* = IUPcxCODE(K_upperZ) - K_c1* = IUPcxCODE(K_1) - K_c2* = IUPcxCODE(K_2) - K_c3* = IUPcxCODE(K_3) - K_c4* = IUPcxCODE(K_4) - K_c5* = IUPcxCODE(K_5) - K_c6* = IUPcxCODE(K_6) - K_c7* = IUPcxCODE(K_7) - K_c8* = IUPcxCODE(K_8) - K_c9* = IUPcxCODE(K_9) - K_c0* = IUPcxCODE(K_0) - K_cPlus* = IUPcxCODE(K_plus) - K_cComma* = IUPcxCODE(K_comma) - K_cMinus* = IUPcxCODE(K_minus) - K_cPeriod* = IUPcxCODE(K_period) - K_cSlash* = IUPcxCODE(K_slash) - K_cSemicolon* = IUPcxCODE(K_semicolon) - K_cEqual* = IUPcxCODE(K_equal) - K_cBracketleft* = IUPcxCODE(K_bracketleft) - K_cBracketright* = IUPcxCODE(K_bracketright) - K_cBackslash* = IUPcxCODE(K_backslash) - K_cAsterisk* = IUPcxCODE(K_asterisk) - - K_mupperA* = IUPmxCODE(K_upperA) - K_mupperB* = IUPmxCODE(K_upperB) - K_mupperC* = IUPmxCODE(K_upperC) - K_mupperD* = IUPmxCODE(K_upperD) - K_mupperE* = IUPmxCODE(K_upperE) - K_mupperF* = IUPmxCODE(K_upperF) - K_mupperG* = IUPmxCODE(K_upperG) - K_mupperH* = IUPmxCODE(K_upperH) - K_mupperI* = IUPmxCODE(K_upperI) - K_mupperJ* = IUPmxCODE(K_upperJ) - K_mupperK* = IUPmxCODE(K_upperK) - K_mupperL* = IUPmxCODE(K_upperL) - K_mupperM* = IUPmxCODE(K_upperM) - K_mupperN* = IUPmxCODE(K_upperN) - K_mupperO* = IUPmxCODE(K_upperO) - K_mupperP* = IUPmxCODE(K_upperP) - K_mupperQ* = IUPmxCODE(K_upperQ) - K_mupperR* = IUPmxCODE(K_upperR) - K_mupperS* = IUPmxCODE(K_upperS) - K_mupperT* = IUPmxCODE(K_upperT) - K_mupperU* = IUPmxCODE(K_upperU) - K_mupperV* = IUPmxCODE(K_upperV) - K_mupperW* = IUPmxCODE(K_upperW) - K_mupperX* = IUPmxCODE(K_upperX) - K_mupperY* = IUPmxCODE(K_upperY) - K_mupperZ* = IUPmxCODE(K_upperZ) - K_m1* = IUPmxCODE(K_1) - K_m2* = IUPmxCODE(K_2) - K_m3* = IUPmxCODE(K_3) - K_m4* = IUPmxCODE(K_4) - K_m5* = IUPmxCODE(K_5) - K_m6* = IUPmxCODE(K_6) - K_m7* = IUPmxCODE(K_7) - K_m8* = IUPmxCODE(K_8) - K_m9* = IUPmxCODE(K_9) - K_m0* = IUPmxCODE(K_0) - K_mPlus* = IUPmxCODE(K_plus) - K_mComma* = IUPmxCODE(K_comma) - K_mMinus* = IUPmxCODE(K_minus) - K_mPeriod* = IUPmxCODE(K_period) - K_mSlash* = IUPmxCODE(K_slash) - K_mSemicolon* = IUPmxCODE(K_semicolon) - K_mEqual* = IUPmxCODE(K_equal) - K_mBracketleft* = IUPmxCODE(K_bracketleft) - K_mBracketright* = IUPmxCODE(K_bracketright) - K_mBackslash* = IUPmxCODE(K_backslash) - K_mAsterisk* = IUPmxCODE(K_asterisk) - - K_yA* = IUPyxCODE(K_upperA) - K_yB* = IUPyxCODE(K_upperB) - K_yC* = IUPyxCODE(K_upperC) - K_yD* = IUPyxCODE(K_upperD) - K_yE* = IUPyxCODE(K_upperE) - K_yF* = IUPyxCODE(K_upperF) - K_yG* = IUPyxCODE(K_upperG) - K_yH* = IUPyxCODE(K_upperH) - K_yI* = IUPyxCODE(K_upperI) - K_yJ* = IUPyxCODE(K_upperJ) - K_yK* = IUPyxCODE(K_upperK) - K_yL* = IUPyxCODE(K_upperL) - K_yM* = IUPyxCODE(K_upperM) - K_yN* = IUPyxCODE(K_upperN) - K_yO* = IUPyxCODE(K_upperO) - K_yP* = IUPyxCODE(K_upperP) - K_yQ* = IUPyxCODE(K_upperQ) - K_yR* = IUPyxCODE(K_upperR) - K_yS* = IUPyxCODE(K_upperS) - K_yT* = IUPyxCODE(K_upperT) - K_yU* = IUPyxCODE(K_upperU) - K_yV* = IUPyxCODE(K_upperV) - K_yW* = IUPyxCODE(K_upperW) - K_yX* = IUPyxCODE(K_upperX) - K_yY* = IUPyxCODE(K_upperY) - K_yZ* = IUPyxCODE(K_upperZ) - K_y1* = IUPyxCODE(K_1) - K_y2* = IUPyxCODE(K_2) - K_y3* = IUPyxCODE(K_3) - K_y4* = IUPyxCODE(K_4) - K_y5* = IUPyxCODE(K_5) - K_y6* = IUPyxCODE(K_6) - K_y7* = IUPyxCODE(K_7) - K_y8* = IUPyxCODE(K_8) - K_y9* = IUPyxCODE(K_9) - K_y0* = IUPyxCODE(K_0) - K_yPlus* = IUPyxCODE(K_plus) - K_yComma* = IUPyxCODE(K_comma) - K_yMinus* = IUPyxCODE(K_minus) - K_yPeriod* = IUPyxCODE(K_period) - K_ySlash* = IUPyxCODE(K_slash) - K_ySemicolon* = IUPyxCODE(K_semicolon) - K_yEqual* = IUPyxCODE(K_equal) - K_yBracketleft* = IUPyxCODE(K_bracketleft) - K_yBracketright* = IUPyxCODE(K_bracketright) - K_yBackslash* = IUPyxCODE(K_backslash) - K_yAsterisk* = IUPyxCODE(K_asterisk) - -proc ControlsOpen*(): cint {.cdecl, importc: "IupControlsOpen", dynlib: dllname.} -proc ControlsClose*() {.cdecl, importc: "IupControlsClose", dynlib: dllname.} - -proc OldValOpen*() {.cdecl, importc: "IupOldValOpen", dynlib: dllname.} -proc OldTabsOpen*() {.cdecl, importc: "IupOldTabsOpen", dynlib: dllname.} - -proc Colorbar*(): PIhandle {.cdecl, importc: "IupColorbar", dynlib: dllname.} -proc Cells*(): PIhandle {.cdecl, importc: "IupCells", dynlib: dllname.} -proc ColorBrowser*(): PIhandle {.cdecl, importc: "IupColorBrowser", dynlib: dllname.} -proc Gauge*(): PIhandle {.cdecl, importc: "IupGauge", dynlib: dllname.} -proc Dial*(theType: cstring): PIhandle {.cdecl, importc: "IupDial", dynlib: dllname.} -proc Matrix*(action: cstring): PIhandle {.cdecl, importc: "IupMatrix", dynlib: dllname.} - -# IupMatrix utilities -proc MatSetAttribute*(ih: PIhandle, name: cstring, lin, col: cint, - value: cstring) {. - cdecl, importc: "IupMatSetAttribute", dynlib: dllname.} -proc MatStoreAttribute*(ih: PIhandle, name: cstring, lin, col: cint, - value: cstring) {.cdecl, - importc: "IupMatStoreAttribute", dynlib: dllname.} -proc MatGetAttribute*(ih: PIhandle, name: cstring, lin, col: cint): cstring {. - cdecl, importc: "IupMatGetAttribute", dynlib: dllname.} -proc MatGetInt*(ih: PIhandle, name: cstring, lin, col: cint): cint {. - cdecl, importc: "IupMatGetInt", dynlib: dllname.} -proc MatGetFloat*(ih: PIhandle, name: cstring, lin, col: cint): cfloat {. - cdecl, importc: "IupMatGetFloat", dynlib: dllname.} -proc MatSetfAttribute*(ih: PIhandle, name: cstring, lin, col: cint, - format: cstring) {.cdecl, - importc: "IupMatSetfAttribute", - dynlib: dllname, varargs.} - -# Used by IupColorbar -const - IUP_PRIMARY* = -1 - IUP_SECONDARY* = -2 - -# Initialize PPlot widget class -proc PPlotOpen*() {.cdecl, importc: "IupPPlotOpen", dynlib: dllname.} - -# Create an PPlot widget instance -proc PPlot*: PIhandle {.cdecl, importc: "IupPPlot", dynlib: dllname.} - -# Add dataset to plot -proc PPlotBegin*(ih: PIhandle, strXdata: cint) {. - cdecl, importc: "IupPPlotBegin", dynlib: dllname.} -proc PPlotAdd*(ih: PIhandle, x, y: cfloat) {. - cdecl, importc: "IupPPlotAdd", dynlib: dllname.} -proc PPlotAddStr*(ih: PIhandle, x: cstring, y: cfloat) {. - cdecl, importc: "IupPPlotAddStr", dynlib: dllname.} -proc PPlotEnd*(ih: PIhandle): cint {. - cdecl, importc: "IupPPlotEnd", dynlib: dllname.} - -proc PPlotInsertStr*(ih: PIhandle, index, sample_index: cint, x: cstring, - y: cfloat) {.cdecl, importc: "IupPPlotInsertStr", - dynlib: dllname.} -proc PPlotInsert*(ih: PIhandle, index, sample_index: cint, - x, y: cfloat) {. - cdecl, importc: "IupPPlotInsert", dynlib: dllname.} - -# convert from plot coordinates to pixels -proc PPlotTransform*(ih: PIhandle, x, y: cfloat, ix, iy: var cint) {. - cdecl, importc: "IupPPlotTransform", dynlib: dllname.} - -# Plot on the given device. Uses a "cdCanvas*". -proc PPlotPaintTo*(ih: PIhandle, cnv: pointer) {. - cdecl, importc: "IupPPlotPaintTo", dynlib: dllname.} - - diff --git a/lib/oldwrappers/libcurl.nim b/lib/oldwrappers/libcurl.nim deleted file mode 100755 index 9cb352fb7..000000000 --- a/lib/oldwrappers/libcurl.nim +++ /dev/null @@ -1,644 +0,0 @@ -# -# $Id: header,v 1.1 2000/07/13 06:33:45 michael Exp $ -# This file is part of the Free Pascal packages -# Copyright (c) 1999-2000 by the Free Pascal development team -# -# See the file COPYING.FPC, included in this distribution, -# for details about the copyright. -# -# 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. -# -# ********************************************************************** -# -# the curl library is governed by its own copyright, see the curl -# website for this. -# - -{.deadCodeElim: on.} - -import times - -when defined(windows): - const libname = "libcurl.dll" -elif defined(macosx): - const libname = "libcurl-7.19.3.dylib" -elif defined(unix): - const libname = "libcurl.so.4" - -type - Pcurl_calloc_callback* = ptr Tcurl_calloc_callback - Pcurl_closepolicy* = ptr Tcurl_closepolicy - Pcurl_forms* = ptr Tcurl_forms - Pcurl_ftpauth* = ptr Tcurl_ftpauth - Pcurl_ftpmethod* = ptr Tcurl_ftpmethod - Pcurl_ftpssl* = ptr Tcurl_ftpssl - PCURL_HTTP_VERSION* = ptr TCURL_HTTP_VERSION - Pcurl_httppost* = ptr Tcurl_httppost - PPcurl_httppost* = ptr Pcurl_httppost - Pcurl_infotype* = ptr Tcurl_infotype - Pcurl_lock_access* = ptr Tcurl_lock_access - Pcurl_lock_data* = ptr Tcurl_lock_data - Pcurl_malloc_callback* = ptr tcurl_malloc_callback - PCURL_NETRC_OPTION* = ptr TCURL_NETRC_OPTION - Pcurl_proxytype* = ptr Tcurl_proxytype - Pcurl_realloc_callback* = ptr tcurl_realloc_callback - Pcurl_slist* = ptr Tcurl_slist - Pcurl_socket* = ptr Tcurl_socket - PCURL_SSL_VERSION* = ptr TCURL_SSL_VERSION - Pcurl_strdup_callback* = ptr Tcurl_strdup_callback - PCURL_TIMECOND* = ptr TCURL_TIMECOND - Pcurl_version_info_data* = ptr Tcurl_version_info_data - PCURLcode* = ptr TCURLcode - PCURLFORMcode* = ptr TCURLFORMcode - PCURLformoption* = ptr TCURLformoption - PCURLINFO* = ptr TCURLINFO - Pcurliocmd* = ptr Tcurliocmd - Pcurlioerr* = ptr Tcurlioerr - PCURLM* = ptr TCURLM - PCURLMcode* = ptr TCURLMcode - PCURLMoption* = ptr TCURLMoption - PCURLMSG* = ptr TCURLMSG - PCURLoption* = ptr TCURLoption - PCURLSH* = ptr TCURLSH - PCURLSHcode* = ptr TCURLSHcode - PCURLSHoption* = ptr TCURLSHoption - PCURLversion* = ptr TCURLversion - Pfd_set* = pointer - PCURL* = ptr TCurl - TCurl* = pointer - Tcurl_httppost* {.final, pure.} = object - next*: Pcurl_httppost - name*: cstring - namelength*: int32 - contents*: cstring - contentslength*: int32 - buffer*: cstring - bufferlength*: int32 - contenttype*: cstring - contentheader*: Pcurl_slist - more*: Pcurl_httppost - flags*: int32 - showfilename*: cstring - - Tcurl_progress_callback* = proc (clientp: pointer, dltotal: float64, - dlnow: float64, ultotal: float64, - ulnow: float64): int32{.cdecl.} - Tcurl_write_callback* = proc (buffer: cstring, size: int, nitems: int, - outstream: pointer): int{.cdecl.} - Tcurl_read_callback* = proc (buffer: cstring, size: int, nitems: int, - instream: pointer): int{.cdecl.} - Tcurl_passwd_callback* = proc (clientp: pointer, prompt: cstring, - buffer: cstring, buflen: int32): int32{.cdecl.} - Tcurlioerr* = enum - CURLIOE_OK, CURLIOE_UNKNOWNCMD, CURLIOE_FAILRESTART, CURLIOE_LAST - Tcurliocmd* = enum - CURLIOCMD_NOP, CURLIOCMD_RESTARTREAD, CURLIOCMD_LAST - Tcurl_ioctl_callback* = proc (handle: PCURL, cmd: int32, - clientp: pointer): Tcurlioerr {.cdecl.} - Tcurl_malloc_callback* = proc (size: int): pointer {.cdecl.} - Tcurl_free_callback* = proc (p: pointer) {.cdecl.} - Tcurl_realloc_callback* = proc (p: pointer, size: int): pointer {.cdecl.} - Tcurl_strdup_callback* = proc (str: cstring): cstring {.cdecl.} - Tcurl_calloc_callback* = proc (nmemb: int, size: int): pointer - Tcurl_infotype* = enum - CURLINFO_TEXT = 0, CURLINFO_HEADER_IN, CURLINFO_HEADER_OUT, - CURLINFO_DATA_IN, CURLINFO_DATA_OUT, CURLINFO_SSL_DATA_IN, - CURLINFO_SSL_DATA_OUT, CURLINFO_END - Tcurl_debug_callback* = proc (handle: PCURL, theType: Tcurl_infotype, - data: cstring, size: int, - userptr: pointer): int32 {.cdecl.} - TCURLcode* = enum - CURLE_OK = 0, CURLE_UNSUPPORTED_PROTOCOL, CURLE_FAILED_INIT, - CURLE_URL_MALFORMAT, CURLE_URL_MALFORMAT_USER, CURLE_COULDNT_RESOLVE_PROXY, - CURLE_COULDNT_RESOLVE_HOST, CURLE_COULDNT_CONNECT, - CURLE_FTP_WEIRD_SERVER_REPLY, CURLE_FTP_ACCESS_DENIED, - CURLE_FTP_USER_PASSWORD_INCORRECT, CURLE_FTP_WEIRD_PASS_REPLY, - CURLE_FTP_WEIRD_USER_REPLY, CURLE_FTP_WEIRD_PASV_REPLY, - CURLE_FTP_WEIRD_227_FORMAT, CURLE_FTP_CANT_GET_HOST, - CURLE_FTP_CANT_RECONNECT, CURLE_FTP_COULDNT_SET_BINARY, CURLE_PARTIAL_FILE, - CURLE_FTP_COULDNT_RETR_FILE, CURLE_FTP_WRITE_ERROR, CURLE_FTP_QUOTE_ERROR, - CURLE_HTTP_RETURNED_ERROR, CURLE_WRITE_ERROR, CURLE_MALFORMAT_USER, - CURLE_FTP_COULDNT_STOR_FILE, CURLE_READ_ERROR, CURLE_OUT_OF_MEMORY, - CURLE_OPERATION_TIMEOUTED, CURLE_FTP_COULDNT_SET_ASCII, - CURLE_FTP_PORT_FAILED, CURLE_FTP_COULDNT_USE_REST, - CURLE_FTP_COULDNT_GET_SIZE, CURLE_HTTP_RANGE_ERROR, CURLE_HTTP_POST_ERROR, - CURLE_SSL_CONNECT_ERROR, CURLE_BAD_DOWNLOAD_RESUME, - CURLE_FILE_COULDNT_READ_FILE, CURLE_LDAP_CANNOT_BIND, - CURLE_LDAP_SEARCH_FAILED, CURLE_LIBRARY_NOT_FOUND, CURLE_FUNCTION_NOT_FOUND, - CURLE_ABORTED_BY_CALLBACK, CURLE_BAD_FUNCTION_ARGUMENT, - CURLE_BAD_CALLING_ORDER, CURLE_INTERFACE_FAILED, CURLE_BAD_PASSWORD_ENTERED, - CURLE_TOO_MANY_REDIRECTS, CURLE_UNKNOWN_TELNET_OPTION, - CURLE_TELNET_OPTION_SYNTAX, CURLE_OBSOLETE, CURLE_SSL_PEER_CERTIFICATE, - CURLE_GOT_NOTHING, CURLE_SSL_ENGINE_NOTFOUND, CURLE_SSL_ENGINE_SETFAILED, - CURLE_SEND_ERROR, CURLE_RECV_ERROR, CURLE_SHARE_IN_USE, - CURLE_SSL_CERTPROBLEM, CURLE_SSL_CIPHER, CURLE_SSL_CACERT, - CURLE_BAD_CONTENT_ENCODING, CURLE_LDAP_INVALID_URL, CURLE_FILESIZE_EXCEEDED, - CURLE_FTP_SSL_FAILED, CURLE_SEND_FAIL_REWIND, CURLE_SSL_ENGINE_INITFAILED, - CURLE_LOGIN_DENIED, CURLE_TFTP_NOTFOUND, CURLE_TFTP_PERM, - CURLE_TFTP_DISKFULL, CURLE_TFTP_ILLEGAL, CURLE_TFTP_UNKNOWNID, - CURLE_TFTP_EXISTS, CURLE_TFTP_NOSUCHUSER, CURLE_CONV_FAILED, - CURLE_CONV_REQD, CURL_LAST - Tcurl_conv_callback* = proc (buffer: cstring, len: int): TCURLcode {.cdecl.} - Tcurl_ssl_ctx_callback* = proc (curl: PCURL, - ssl_ctx, userptr: pointer): TCURLcode {.cdecl.} - Tcurl_proxytype* = enum - CURLPROXY_HTTP = 0, CURLPROXY_SOCKS4 = 4, CURLPROXY_SOCKS5 = 5 - Tcurl_ftpssl* = enum - CURLFTPSSL_NONE, CURLFTPSSL_TRY, CURLFTPSSL_CONTROL, CURLFTPSSL_ALL, - CURLFTPSSL_LAST - Tcurl_ftpauth* = enum - CURLFTPAUTH_DEFAULT, CURLFTPAUTH_SSL, CURLFTPAUTH_TLS, CURLFTPAUTH_LAST - Tcurl_ftpmethod* = enum - CURLFTPMETHOD_DEFAULT, CURLFTPMETHOD_MULTICWD, CURLFTPMETHOD_NOCWD, - CURLFTPMETHOD_SINGLECWD, CURLFTPMETHOD_LAST - TCURLoption* = enum - CURLOPT_PORT = 0 + 3, - CURLOPT_TIMEOUT = 0 + 13, - CURLOPT_INFILESIZE = 0 + 14, - CURLOPT_LOW_SPEED_LIMIT = 0 + 19, - CURLOPT_LOW_SPEED_TIME = 0 + 20, - CURLOPT_RESUME_FROM = 0 + 21, - CURLOPT_CRLF = 0 + 27, - CURLOPT_SSLVERSION = 0 + 32, - CURLOPT_TIMECONDITION = 0 + 33, - CURLOPT_TIMEVALUE = 0 + 34, - CURLOPT_VERBOSE = 0 + 41, - CURLOPT_HEADER = 0 + 42, - CURLOPT_NOPROGRESS = 0 + 43, - CURLOPT_NOBODY = 0 + 44, - CURLOPT_FAILONERROR = 0 + 45, - CURLOPT_UPLOAD = 0 + 46, - CURLOPT_POST = 0 + 47, - CURLOPT_FTPLISTONLY = 0 + 48, - CURLOPT_FTPAPPEND = 0 + 50, - CURLOPT_NETRC = 0 + 51, - CURLOPT_FOLLOWLOCATION = 0 + 52, - CURLOPT_TRANSFERTEXT = 0 + 53, - CURLOPT_PUT = 0 + 54, - CURLOPT_AUTOREFERER = 0 + 58, - CURLOPT_PROXYPORT = 0 + 59, - CURLOPT_POSTFIELDSIZE = 0 + 60, - CURLOPT_HTTPPROXYTUNNEL = 0 + 61, - CURLOPT_SSL_VERIFYPEER = 0 + 64, - CURLOPT_MAXREDIRS = 0 + 68, - CURLOPT_FILETIME = 0 + 69, - CURLOPT_MAXCONNECTS = 0 + 71, - CURLOPT_CLOSEPOLICY = 0 + 72, - CURLOPT_FRESH_CONNECT = 0 + 74, - CURLOPT_FORBID_REUSE = 0 + 75, - CURLOPT_CONNECTTIMEOUT = 0 + 78, - CURLOPT_HTTPGET = 0 + 80, - CURLOPT_SSL_VERIFYHOST = 0 + 81, - CURLOPT_HTTP_VERSION = 0 + 84, - CURLOPT_FTP_USE_EPSV = 0 + 85, - CURLOPT_SSLENGINE_DEFAULT = 0 + 90, - CURLOPT_DNS_USE_GLOBAL_CACHE = 0 + 91, - CURLOPT_DNS_CACHE_TIMEOUT = 0 + 92, - CURLOPT_COOKIESESSION = 0 + 96, - CURLOPT_BUFFERSIZE = 0 + 98, - CURLOPT_NOSIGNAL = 0 + 99, - CURLOPT_PROXYTYPE = 0 + 101, - CURLOPT_UNRESTRICTED_AUTH = 0 + 105, - CURLOPT_FTP_USE_EPRT = 0 + 106, - CURLOPT_HTTPAUTH = 0 + 107, - CURLOPT_FTP_CREATE_MISSING_DIRS = 0 + 110, - CURLOPT_PROXYAUTH = 0 + 111, - CURLOPT_FTP_RESPONSE_TIMEOUT = 0 + 112, - CURLOPT_IPRESOLVE = 0 + 113, - CURLOPT_MAXFILESIZE = 0 + 114, - CURLOPT_FTP_SSL = 0 + 119, - CURLOPT_TCP_NODELAY = 0 + 121, - CURLOPT_FTPSSLAUTH = 0 + 129, - CURLOPT_IGNORE_CONTENT_LENGTH = 0 + 136, - CURLOPT_FTP_SKIP_PASV_IP = 0 + 137, - CURLOPT_FTP_FILEMETHOD = 0 + 138, - CURLOPT_LOCALPORT = 0 + 139, - CURLOPT_LOCALPORTRANGE = 0 + 140, - CURLOPT_CONNECT_ONLY = 0 + 141, - - CURLOPT_FILE = 10000 + 1, - CURLOPT_URL = 10000 + 2, - CURLOPT_PROXY = 10000 + 4, - CURLOPT_USERPWD = 10000 + 5, - CURLOPT_PROXYUSERPWD = 10000 + 6, - CURLOPT_RANGE = 10000 + 7, - CURLOPT_INFILE = 10000 + 9, - CURLOPT_ERRORBUFFER = 10000 + 10, - CURLOPT_POSTFIELDS = 10000 + 15, - CURLOPT_REFERER = 10000 + 16, - CURLOPT_FTPPORT = 10000 + 17, - CURLOPT_USERAGENT = 10000 + 18, - CURLOPT_COOKIE = 10000 + 22, - CURLOPT_HTTPHEADER = 10000 + 23, - CURLOPT_HTTPPOST = 10000 + 24, - CURLOPT_SSLCERT = 10000 + 25, - CURLOPT_SSLCERTPASSWD = 10000 + 26, - CURLOPT_QUOTE = 10000 + 28, - CURLOPT_WRITEHEADER = 10000 + 29, - CURLOPT_COOKIEFILE = 10000 + 31, - CURLOPT_CUSTOMREQUEST = 10000 + 36, - CURLOPT_STDERR = 10000 + 37, - CURLOPT_POSTQUOTE = 10000 + 39, - CURLOPT_WRITEINFO = 10000 + 40, - CURLOPT_PROGRESSDATA = 10000 + 57, - CURLOPT_INTERFACE = 10000 + 62, - CURLOPT_KRB4LEVEL = 10000 + 63, - CURLOPT_CAINFO = 10000 + 65, - CURLOPT_TELNETOPTIONS = 10000 + 70, - CURLOPT_RANDOM_FILE = 10000 + 76, - CURLOPT_EGDSOCKET = 10000 + 77, - CURLOPT_COOKIEJAR = 10000 + 82, - CURLOPT_SSL_CIPHER_LIST = 10000 + 83, - CURLOPT_SSLCERTTYPE = 10000 + 86, - CURLOPT_SSLKEY = 10000 + 87, - CURLOPT_SSLKEYTYPE = 10000 + 88, - CURLOPT_SSLENGINE = 10000 + 89, - CURLOPT_PREQUOTE = 10000 + 93, - CURLOPT_DEBUGDATA = 10000 + 95, - CURLOPT_CAPATH = 10000 + 97, - CURLOPT_SHARE = 10000 + 100, - CURLOPT_ENCODING = 10000 + 102, - CURLOPT_PRIVATE = 10000 + 103, - CURLOPT_HTTP200ALIASES = 10000 + 104, - CURLOPT_SSL_CTX_DATA = 10000 + 109, - CURLOPT_NETRC_FILE = 10000 + 118, - CURLOPT_SOURCE_USERPWD = 10000 + 123, - CURLOPT_SOURCE_PREQUOTE = 10000 + 127, - CURLOPT_SOURCE_POSTQUOTE = 10000 + 128, - CURLOPT_IOCTLDATA = 10000 + 131, - CURLOPT_SOURCE_URL = 10000 + 132, - CURLOPT_SOURCE_QUOTE = 10000 + 133, - CURLOPT_FTP_ACCOUNT = 10000 + 134, - CURLOPT_COOKIELIST = 10000 + 135, - CURLOPT_FTP_ALTERNATIVE_TO_USER = 10000 + 147, - CURLOPT_LASTENTRY = 10000 + 148, - - CURLOPT_WRITEFUNCTION = 20000 + 11, - CURLOPT_READFUNCTION = 20000 + 12, - CURLOPT_PROGRESSFUNCTION = 20000 + 56, - CURLOPT_HEADERFUNCTION = 20000 + 79, - CURLOPT_DEBUGFUNCTION = 20000 + 94, - CURLOPT_SSL_CTX_FUNCTION = 20000 + 108, - CURLOPT_IOCTLFUNCTION = 20000 + 130, - CURLOPT_CONV_FROM_NETWORK_FUNCTION = 20000 + 142, - CURLOPT_CONV_TO_NETWORK_FUNCTION = 20000 + 143, - CURLOPT_CONV_FROM_UTF8_FUNCTION = 20000 + 144, - - CURLOPT_INFILESIZE_LARGE = 30000 + 115, - CURLOPT_RESUME_FROM_LARGE = 30000 + 116, - CURLOPT_MAXFILESIZE_LARGE = 30000 + 117, - CURLOPT_POSTFIELDSIZE_LARGE = 30000 + 120, - CURLOPT_MAX_SEND_SPEED_LARGE = 30000 + 145, - CURLOPT_MAX_RECV_SPEED_LARGE = 30000 + 146 - - - TCURL_HTTP_VERSION* = enum - CURL_HTTP_VERSION_NONE, CURL_HTTP_VERSION_1_0, CURL_HTTP_VERSION_1_1, - CURL_HTTP_VERSION_LAST - - TCURL_NETRC_OPTION* = enum - CURL_NETRC_IGNORED, CURL_NETRC_OPTIONAL, CURL_NETRC_REQUIRED, - CURL_NETRC_LAST - - TCURL_SSL_VERSION* = enum - CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_SSLv2, - CURL_SSLVERSION_SSLv3, CURL_SSLVERSION_LAST - - TCURL_TIMECOND* = enum - CURL_TIMECOND_NONE, CURL_TIMECOND_IFMODSINCE, CURL_TIMECOND_IFUNMODSINCE, - CURL_TIMECOND_LASTMOD, CURL_TIMECOND_LAST - - TCURLformoption* = enum - CURLFORM_NOTHING, CURLFORM_COPYNAME, CURLFORM_PTRNAME, CURLFORM_NAMELENGTH, - CURLFORM_COPYCONTENTS, CURLFORM_PTRCONTENTS, CURLFORM_CONTENTSLENGTH, - CURLFORM_FILECONTENT, CURLFORM_ARRAY, CURLFORM_OBSOLETE, CURLFORM_FILE, - CURLFORM_BUFFER, CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH, - CURLFORM_CONTENTTYPE, CURLFORM_CONTENTHEADER, CURLFORM_FILENAME, - CURLFORM_END, CURLFORM_OBSOLETE2, CURLFORM_LASTENTRY - - Tcurl_forms* {.pure, final.} = object - option*: TCURLformoption - value*: cstring - - TCURLFORMcode* = enum - CURL_FORMADD_OK, CURL_FORMADD_MEMORY, CURL_FORMADD_OPTION_TWICE, - CURL_FORMADD_NULL, CURL_FORMADD_UNKNOWN_OPTION, CURL_FORMADD_INCOMPLETE, - CURL_FORMADD_ILLEGAL_ARRAY, CURL_FORMADD_DISABLED, CURL_FORMADD_LAST - - Tcurl_formget_callback* = proc (arg: pointer, buf: cstring, - length: int): int {.cdecl.} - Tcurl_slist* {.pure, final.} = object - data*: cstring - next*: Pcurl_slist - - TCURLINFO* = enum - CURLINFO_NONE = 0, - CURLINFO_LASTONE = 30, - CURLINFO_EFFECTIVE_URL = 0x00100000 + 1, - CURLINFO_CONTENT_TYPE = 0x00100000 + 18, - CURLINFO_PRIVATE = 0x00100000 + 21, - CURLINFO_FTP_ENTRY_PATH = 0x00100000 + 30, - - CURLINFO_RESPONSE_CODE = 0x00200000 + 2, - CURLINFO_HEADER_SIZE = 0x00200000 + 11, - CURLINFO_REQUEST_SIZE = 0x00200000 + 12, - CURLINFO_SSL_VERIFYRESULT = 0x00200000 + 13, - CURLINFO_FILETIME = 0x00200000 + 14, - CURLINFO_REDIRECT_COUNT = 0x00200000 + 20, - CURLINFO_HTTP_CONNECTCODE = 0x00200000 + 22, - CURLINFO_HTTPAUTH_AVAIL = 0x00200000 + 23, - CURLINFO_PROXYAUTH_AVAIL = 0x00200000 + 24, - CURLINFO_OS_ERRNO = 0x00200000 + 25, - CURLINFO_NUM_CONNECTS = 0x00200000 + 26, - CURLINFO_LASTSOCKET = 0x00200000 + 29, - - CURLINFO_TOTAL_TIME = 0x00300000 + 3, - CURLINFO_NAMELOOKUP_TIME = 0x00300000 + 4, - CURLINFO_CONNECT_TIME = 0x00300000 + 5, - CURLINFO_PRETRANSFER_TIME = 0x00300000 + 6, - CURLINFO_SIZE_UPLOAD = 0x00300000 + 7, - CURLINFO_SIZE_DOWNLOAD = 0x00300000 + 8, - CURLINFO_SPEED_DOWNLOAD = 0x00300000 + 9, - CURLINFO_SPEED_UPLOAD = 0x00300000 + 10, - CURLINFO_CONTENT_LENGTH_DOWNLOAD = 0x00300000 + 15, - CURLINFO_CONTENT_LENGTH_UPLOAD = 0x00300000 + 16, - CURLINFO_STARTTRANSFER_TIME = 0x00300000 + 17, - CURLINFO_REDIRECT_TIME = 0x00300000 + 19, - - CURLINFO_SSL_ENGINES = 0x00400000 + 27, - CURLINFO_COOKIELIST = 0x00400000 + 28 - - Tcurl_closepolicy* = enum - CURLCLOSEPOLICY_NONE, CURLCLOSEPOLICY_OLDEST, - CURLCLOSEPOLICY_LEAST_RECENTLY_USED, CURLCLOSEPOLICY_LEAST_TRAFFIC, - CURLCLOSEPOLICY_SLOWEST, CURLCLOSEPOLICY_CALLBACK, CURLCLOSEPOLICY_LAST - Tcurl_lock_data* = enum - CURL_LOCK_DATA_NONE = 0, CURL_LOCK_DATA_SHARE, CURL_LOCK_DATA_COOKIE, - CURL_LOCK_DATA_DNS, CURL_LOCK_DATA_SSL_SESSION, CURL_LOCK_DATA_CONNECT, - CURL_LOCK_DATA_LAST - Tcurl_lock_access* = enum - CURL_LOCK_ACCESS_NONE = 0, CURL_LOCK_ACCESS_SHARED = 1, - CURL_LOCK_ACCESS_SINGLE = 2, CURL_LOCK_ACCESS_LAST - - Tcurl_lock_function* = proc (handle: PCURL, data: Tcurl_lock_data, - locktype: Tcurl_lock_access, - userptr: pointer) {.cdecl.} - Tcurl_unlock_function* = proc (handle: PCURL, data: Tcurl_lock_data, - userptr: pointer) {.cdecl.} - TCURLSH* = pointer - TCURLSHcode* = enum - CURLSHE_OK, CURLSHE_BAD_OPTION, CURLSHE_IN_USE, CURLSHE_INVALID, - CURLSHE_NOMEM, CURLSHE_LAST - - TCURLSHoption* = enum - CURLSHOPT_NONE, CURLSHOPT_SHARE, CURLSHOPT_UNSHARE, CURLSHOPT_LOCKFUNC, - CURLSHOPT_UNLOCKFUNC, CURLSHOPT_USERDATA, CURLSHOPT_LAST - - TCURLversion* = enum - CURLVERSION_FIRST, CURLVERSION_SECOND, CURLVERSION_THIRD, CURLVERSION_LAST - - Tcurl_version_info_data* {.pure, final.} = object - age*: TCURLversion - version*: cstring - version_num*: int32 - host*: cstring - features*: int32 - ssl_version*: cstring - ssl_version_num*: int32 - libz_version*: cstring - protocols*: cstringArray - ares*: cstring - ares_num*: int32 - libidn*: cstring - iconv_ver_num*: int32 - - TCURLM* = pointer - Tcurl_socket* = int32 - TCURLMcode* = enum - CURLM_CALL_MULTI_PERFORM = -1, - CURLM_OK = 0, - CURLM_BAD_HANDLE, - CURLM_BAD_EASY_HANDLE, - CURLM_OUT_OF_MEMORY, - CURLM_INTERNAL_ERROR, - CURLM_BAD_SOCKET, - CURLM_UNKNOWN_OPTION, - CURLM_LAST - - TCURLMSGEnum* = enum - CURLMSG_NONE, CURLMSG_DONE, CURLMSG_LAST - TCURLMsg* {.pure, final.} = object - msg*: TCURLMSGEnum - easy_handle*: PCURL - whatever*: Pointer #data : record - # case longint of - # 0 : ( whatever : pointer ); - # 1 : ( result : CURLcode ); - # end; - - Tcurl_socket_callback* = proc (easy: PCURL, s: Tcurl_socket, what: int32, - userp, socketp: pointer): int32 {.cdecl.} - TCURLMoption* = enum - CURLMOPT_SOCKETDATA = 10000 + 2, - CURLMOPT_LASTENTRY = 10000 + 3, - CURLMOPT_SOCKETFUNCTION = 20000 + 1 - -const - CURLOPT_SSLKEYPASSWD* = CURLOPT_SSLCERTPASSWD - - CURLAUTH_ANY* = not (0) - CURLAUTH_BASIC* = 1 shl 0 - CURLAUTH_ANYSAFE* = not (CURLAUTH_BASIC) - CURLAUTH_DIGEST* = 1 shl 1 - CURLAUTH_GSSNEGOTIATE* = 1 shl 2 - CURLAUTH_NONE* = 0 - CURLAUTH_NTLM* = 1 shl 3 - CURLE_ALREADY_COMPLETE* = 99999 - CURLE_FTP_BAD_DOWNLOAD_RESUME* = CURLE_BAD_DOWNLOAD_RESUME - CURLE_FTP_PARTIAL_FILE* = CURLE_PARTIAL_FILE - CURLE_HTTP_NOT_FOUND* = CURLE_HTTP_RETURNED_ERROR - CURLE_HTTP_PORT_FAILED* = CURLE_INTERFACE_FAILED - CURLE_OPERATION_TIMEDOUT* = CURLE_OPERATION_TIMEOUTED - CURL_ERROR_SIZE* = 256 - CURL_FORMAT_OFF_T* = "%ld" - CURL_GLOBAL_NOTHING* = 0 - CURL_GLOBAL_SSL* = 1 shl 0 - CURL_GLOBAL_WIN32* = 1 shl 1 - CURL_GLOBAL_ALL* = CURL_GLOBAL_SSL or CURL_GLOBAL_WIN32 - CURL_GLOBAL_DEFAULT* = CURL_GLOBAL_ALL - CURLINFO_DOUBLE* = 0x00300000 - CURLINFO_HTTP_CODE* = CURLINFO_RESPONSE_CODE - CURLINFO_LONG* = 0x00200000 - CURLINFO_MASK* = 0x000FFFFF - CURLINFO_SLIST* = 0x00400000 - CURLINFO_STRING* = 0x00100000 - CURLINFO_TYPEMASK* = 0x00F00000 - CURL_IPRESOLVE_V4* = 1 - CURL_IPRESOLVE_V6* = 2 - CURL_IPRESOLVE_WHATEVER* = 0 - CURL_MAX_WRITE_SIZE* = 16384 - CURLM_CALL_MULTI_SOCKET* = CURLM_CALL_MULTI_PERFORM - CURLOPT_CLOSEFUNCTION* = - (5) - CURLOPT_FTPASCII* = CURLOPT_TRANSFERTEXT - CURLOPT_HEADERDATA* = CURLOPT_WRITEHEADER - CURLOPT_HTTPREQUEST* = - (1) - CURLOPT_MUTE* = - (2) - CURLOPT_PASSWDDATA* = - (4) - CURLOPT_PASSWDFUNCTION* = - (3) - CURLOPT_PASV_HOST* = - (9) - CURLOPT_READDATA* = CURLOPT_INFILE - CURLOPT_SOURCE_HOST* = - (6) - CURLOPT_SOURCE_PATH* = - (7) - CURLOPT_SOURCE_PORT* = - (8) - CURLOPTTYPE_FUNCTIONPOINT* = 20000 - CURLOPTTYPE_LONG* = 0 - CURLOPTTYPE_OBJECTPOINT* = 10000 - CURLOPTTYPE_OFF_T* = 30000 - CURLOPT_WRITEDATA* = CURLOPT_FILE - CURL_POLL_IN* = 1 - CURL_POLL_INOUT* = 3 - CURL_POLL_NONE* = 0 - CURL_POLL_OUT* = 2 - CURL_POLL_REMOVE* = 4 - CURL_READFUNC_ABORT* = 0x10000000 - CURL_SOCKET_BAD* = - (1) - CURL_SOCKET_TIMEOUT* = CURL_SOCKET_BAD - CURL_VERSION_ASYNCHDNS* = 1 shl 7 - CURL_VERSION_CONV* = 1 shl 12 - CURL_VERSION_DEBUG* = 1 shl 6 - CURL_VERSION_GSSNEGOTIATE* = 1 shl 5 - CURL_VERSION_IDN* = 1 shl 10 - CURL_VERSION_IPV6* = 1 shl 0 - CURL_VERSION_KERBEROS4* = 1 shl 1 - CURL_VERSION_LARGEFILE* = 1 shl 9 - CURL_VERSION_LIBZ* = 1 shl 3 - CURLVERSION_NOW* = CURLVERSION_THIRD - CURL_VERSION_NTLM* = 1 shl 4 - CURL_VERSION_SPNEGO* = 1 shl 8 - CURL_VERSION_SSL* = 1 shl 2 - CURL_VERSION_SSPI* = 1 shl 11 - FILE_OFFSET_BITS* = 0 - FILESIZEBITS* = 0 - FUNCTIONPOINT* = CURLOPTTYPE_FUNCTIONPOINT - HTTPPOST_BUFFER* = 1 shl 4 - HTTPPOST_FILENAME* = 1 shl 0 - HTTPPOST_PTRBUFFER* = 1 shl 5 - HTTPPOST_PTRCONTENTS* = 1 shl 3 - HTTPPOST_PTRNAME* = 1 shl 2 - HTTPPOST_READFILE* = 1 shl 1 - LIBCURL_VERSION* = "7.15.5" - LIBCURL_VERSION_MAJOR* = 7 - LIBCURL_VERSION_MINOR* = 15 - LIBCURL_VERSION_NUM* = 0x00070F05 - LIBCURL_VERSION_PATCH* = 5 - -proc curl_strequal*(s1, s2: cstring): int32{.cdecl, - dynlib: libname, importc: "curl_strequal".} -proc curl_strnequal*(s1, s2: cstring, n: int): int32 {.cdecl, - dynlib: libname, importc: "curl_strnequal".} -proc curl_formadd*(httppost, last_post: PPcurl_httppost): TCURLFORMcode {. - cdecl, varargs, dynlib: libname, importc: "curl_formadd".} - -proc curl_formget*(form: Pcurl_httppost, arg: pointer, - append: Tcurl_formget_callback): int32 {.cdecl, - dynlib: libname, importc: "curl_formget".} -proc curl_formfree*(form: Pcurl_httppost){.cdecl, dynlib: libname, - importc: "curl_formfree".} -proc curl_getenv*(variable: cstring): cstring{.cdecl, dynlib: libname, - importc: "curl_getenv".} -proc curl_version*(): cstring{.cdecl, dynlib: libname, importc: "curl_version".} -proc curl_easy_escape*(handle: PCURL, str: cstring, len: int32): cstring{.cdecl, - dynlib: libname, importc: "curl_easy_escape".} -proc curl_escape*(str: cstring, len: int32): cstring{.cdecl, - dynlib: libname, importc: "curl_escape".} -proc curl_easy_unescape*(handle: PCURL, str: cstring, len: int32, - outlength: var int32): cstring{.cdecl, - dynlib: libname, importc: "curl_easy_unescape".} -proc curl_unescape*(str: cstring, len: int32): cstring{.cdecl, - dynlib: libname, importc: "curl_unescape".} -proc curl_free*(p: pointer){.cdecl, dynlib: libname, - importc: "curl_free".} -proc curl_global_init*(flags: int32): TCURLcode {.cdecl, dynlib: libname, - importc: "curl_global_init".} -proc curl_global_init_mem*(flags: int32, m: Tcurl_malloc_callback, - f: Tcurl_free_callback, r: Tcurl_realloc_callback, - s: Tcurl_strdup_callback, - c: Tcurl_calloc_callback): TCURLcode {. - cdecl, dynlib: libname, importc: "curl_global_init_mem".} -proc curl_global_cleanup*() {.cdecl, dynlib: libname, - importc: "curl_global_cleanup".} -proc curl_slist_append*(curl_slist: Pcurl_slist, P: cstring): Pcurl_slist {. - cdecl, dynlib: libname, importc: "curl_slist_append".} -proc curl_slist_free_all*(para1: Pcurl_slist) {.cdecl, dynlib: libname, - importc: "curl_slist_free_all".} -proc curl_getdate*(p: cstring, unused: ptr TTime): TTime {.cdecl, - dynlib: libname, importc: "curl_getdate".} -proc curl_share_init*(): PCURLSH{.cdecl, dynlib: libname, - importc: "curl_share_init".} -proc curl_share_setopt*(para1: PCURLSH, option: TCURLSHoption): TCURLSHcode {. - cdecl, varargs, dynlib: libname, importc: "curl_share_setopt".} - -proc curl_share_cleanup*(para1: PCURLSH): TCURLSHcode {.cdecl, - dynlib: libname, importc: "curl_share_cleanup".} -proc curl_version_info*(para1: TCURLversion): Pcurl_version_info_data{.cdecl, - dynlib: libname, importc: "curl_version_info".} -proc curl_easy_strerror*(para1: TCURLcode): cstring {.cdecl, - dynlib: libname, importc: "curl_easy_strerror".} -proc curl_share_strerror*(para1: TCURLSHcode): cstring {.cdecl, - dynlib: libname, importc: "curl_share_strerror".} -proc curl_easy_init*(): PCURL {.cdecl, dynlib: libname, - importc: "curl_easy_init".} -proc curl_easy_setopt*(curl: PCURL, option: TCURLoption): TCURLcode {.cdecl, - varargs, dynlib: libname, importc: "curl_easy_setopt".} - -proc curl_easy_perform*(curl: PCURL): TCURLcode {.cdecl, dynlib: libname, - importc: "curl_easy_perform".} -proc curl_easy_cleanup*(curl: PCURL) {.cdecl, dynlib: libname, - importc: "curl_easy_cleanup".} -proc curl_easy_getinfo*(curl: PCURL, info: TCURLINFO): TCURLcode {. - cdecl, varargs, dynlib: libname, importc: "curl_easy_getinfo".} - -proc curl_easy_duphandle*(curl: PCURL): PCURL {.cdecl, dynlib: libname, - importc: "curl_easy_duphandle".} -proc curl_easy_reset*(curl: PCURL) {.cdecl, dynlib: libname, - importc: "curl_easy_reset".} -proc curl_multi_init*(): PCURLM {.cdecl, dynlib: libname, - importc: "curl_multi_init".} -proc curl_multi_add_handle*(multi_handle: PCURLM, - curl_handle: PCURL): TCURLMcode {. - cdecl, dynlib: libname, importc: "curl_multi_add_handle".} -proc curl_multi_remove_handle*(multi_handle: PCURLM, - curl_handle: PCURL): TCURLMcode {. - cdecl, dynlib: libname, importc: "curl_multi_remove_handle".} -proc curl_multi_fdset*(multi_handle: PCURLM, read_fd_set: Pfd_set, - write_fd_set: Pfd_set, exc_fd_set: Pfd_set, - max_fd: var int32): TCURLMcode {.cdecl, - dynlib: libname, importc: "curl_multi_fdset".} -proc curl_multi_perform*(multi_handle: PCURLM, - running_handles: var int32): TCURLMcode {. - cdecl, dynlib: libname, importc: "curl_multi_perform".} -proc curl_multi_cleanup*(multi_handle: PCURLM): TCURLMcode {.cdecl, - dynlib: libname, importc: "curl_multi_cleanup".} -proc curl_multi_info_read*(multi_handle: PCURLM, - msgs_in_queue: var int32): PCURLMsg {. - cdecl, dynlib: libname, importc: "curl_multi_info_read".} -proc curl_multi_strerror*(para1: TCURLMcode): cstring {.cdecl, - dynlib: libname, importc: "curl_multi_strerror".} -proc curl_multi_socket*(multi_handle: PCURLM, s: Tcurl_socket, - running_handles: var int32): TCURLMcode {.cdecl, - dynlib: libname, importc: "curl_multi_socket".} -proc curl_multi_socket_all*(multi_handle: PCURLM, - running_handles: var int32): TCURLMcode {. - cdecl, dynlib: libname, importc: "curl_multi_socket_all".} -proc curl_multi_timeout*(multi_handle: PCURLM, milliseconds: var int32): TCURLMcode{. - cdecl, dynlib: libname, importc: "curl_multi_timeout".} -proc curl_multi_setopt*(multi_handle: PCURLM, option: TCURLMoption): TCURLMcode{. - cdecl, varargs, dynlib: libname, importc: "curl_multi_setopt".} - -proc curl_multi_assign*(multi_handle: PCURLM, sockfd: Tcurl_socket, - sockp: pointer): TCURLMcode {.cdecl, - dynlib: libname, importc: "curl_multi_assign".} - - diff --git a/lib/oldwrappers/lua/lauxlib.nim b/lib/oldwrappers/lua/lauxlib.nim deleted file mode 100755 index 477dd5874..000000000 --- a/lib/oldwrappers/lua/lauxlib.nim +++ /dev/null @@ -1,224 +0,0 @@ -#***************************************************************************** -# * * -# * File: lauxlib.pas * -# * Authors: TeCGraf (C headers + actual Lua libraries) * -# * Lavergne Thomas (original translation to Pascal) * -# * Bram Kuijvenhoven (update to Lua 5.1.1 for FreePascal) * -# * Description: Lua auxiliary library * -# * * -# ***************************************************************************** -# -#** $Id: lauxlib.h,v 1.59 2003/03/18 12:25:32 roberto Exp $ -#** Auxiliary functions for building Lua libraries -#** See Copyright Notice in lua.h -# -# -#** Translated to pascal by Lavergne Thomas -#** Notes : -#** - Pointers type was prefixed with 'P' -#** Bug reports : -#** - thomas.lavergne@laposte.net -#** In french or in english -# - -import lua - -proc lua_pushstring*(L: Plua_State, s: string) - # compatibilty macros -proc luaL_getn*(L: Plua_State, n: int): int - # calls lua_objlen -proc luaL_setn*(L: Plua_State, t, n: int) - # does nothing! -type - TLuaL_reg*{.final.} = object - name*: cstring - func*: lua_CFunction - - PluaL_reg* = ptr TLuaL_reg - -proc luaL_openlib*(L: Plua_State, libname: cstring, lr: PluaL_reg, nup: int){. - cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_register*(L: Plua_State, libname: cstring, lr: PluaL_reg){.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_getmetafield*(L: Plua_State, obj: int, e: cstring): int{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_callmeta*(L: Plua_State, obj: int, e: cstring): int{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_typerror*(L: Plua_State, narg: int, tname: cstring): int{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_argerror*(L: Plua_State, numarg: int, extramsg: cstring): int{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_checklstring*(L: Plua_State, numArg: int, len: Psize_t): cstring{. - cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_optlstring*(L: Plua_State, numArg: int, def: cstring, len: Psize_t): cstring{. - cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_checknumber*(L: Plua_State, numArg: int): lua_Number{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_optnumber*(L: Plua_State, nArg: int, def: lua_Number): lua_Number{. - cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_checkinteger*(L: Plua_State, numArg: int): lua_Integer{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_optinteger*(L: Plua_State, nArg: int, def: lua_Integer): lua_Integer{. - cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_checkstack*(L: Plua_State, sz: int, msg: cstring){.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_checktype*(L: Plua_State, narg, t: int){.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaL_checkany*(L: Plua_State, narg: int){.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaL_newmetatable*(L: Plua_State, tname: cstring): int{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_checkudata*(L: Plua_State, ud: int, tname: cstring): Pointer{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_where*(L: Plua_State, lvl: int){.cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_error*(L: Plua_State, fmt: cstring): int{.cdecl, varargs, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_checkoption*(L: Plua_State, narg: int, def: cstring, lst: cstringArray): int{. - cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_ref*(L: Plua_State, t: int): int{.cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_unref*(L: Plua_State, t, theref: int){.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaL_loadfile*(L: Plua_State, filename: cstring): int{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_loadbuffer*(L: Plua_State, buff: cstring, size: size_t, name: cstring): int{. - cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_loadstring*(L: Plua_State, s: cstring): int{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_newstate*(): Plua_State{.cdecl, dynlib: LUA_LIB_NAME, importc.} -proc lua_open*(): Plua_State - # compatibility; moved from unit lua to lauxlib because it needs luaL_newstate - # - #** =============================================================== - #** some useful macros - #** =============================================================== - # -proc luaL_argcheck*(L: Plua_State, cond: bool, numarg: int, extramsg: cstring) -proc luaL_checkstring*(L: Plua_State, n: int): cstring -proc luaL_optstring*(L: Plua_State, n: int, d: cstring): cstring -proc luaL_checkint*(L: Plua_State, n: int): int -proc luaL_checklong*(L: Plua_State, n: int): int32 -proc luaL_optint*(L: Plua_State, n: int, d: float64): int -proc luaL_optlong*(L: Plua_State, n: int, d: float64): int32 -proc luaL_typename*(L: Plua_State, i: int): cstring -proc lua_dofile*(L: Plua_State, filename: cstring): int -proc lua_dostring*(L: Plua_State, str: cstring): int -proc lua_Lgetmetatable*(L: Plua_State, tname: cstring) - # not translated: - # #define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) - # - #** ======================================================= - #** Generic Buffer manipulation - #** ======================================================= - # -const # note: this is just arbitrary, as it related to the BUFSIZ defined in stdio.h ... - LUAL_BUFFERSIZE* = 4096 - -type - luaL_Buffer*{.final.} = object - p*: cstring # current position in buffer - lvl*: int # number of strings in the stack (level) - L*: Plua_State - buffer*: array[0..LUAL_BUFFERSIZE - 1, Char] # warning: see note above about LUAL_BUFFERSIZE - - PluaL_Buffer* = ptr luaL_Buffer - -proc luaL_addchar*(B: PluaL_Buffer, c: Char) - # warning: see note above about LUAL_BUFFERSIZE - # compatibility only (alias for luaL_addchar) -proc luaL_putchar*(B: PluaL_Buffer, c: Char) - # warning: see note above about LUAL_BUFFERSIZE -proc luaL_addsize*(B: PluaL_Buffer, n: int) -proc luaL_buffinit*(L: Plua_State, B: PluaL_Buffer){.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_prepbuffer*(B: PluaL_Buffer): cstring{.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaL_addlstring*(B: PluaL_Buffer, s: cstring, L: size_t){.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_addstring*(B: PluaL_Buffer, s: cstring){.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaL_addvalue*(B: PluaL_Buffer){.cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_pushresult*(B: PluaL_Buffer){.cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaL_gsub*(L: Plua_State, s, p, r: cstring): cstring{.cdecl, - dynlib: LUA_LIB_NAME, importc.} -proc luaL_findtable*(L: Plua_State, idx: int, fname: cstring, szhint: int): cstring{. - cdecl, dynlib: LUA_LIB_NAME, importc.} - # compatibility with ref system - # pre-defined references -const - LUA_NOREF* = - 2 - LUA_REFNIL* = - 1 - -proc lua_unref*(L: Plua_State, theref: int) -proc lua_getref*(L: Plua_State, theref: int) - # - #** Compatibility macros and functions - # - -# implementation - -proc lua_pushstring(L: Plua_State, s: string) = - lua_pushlstring(L, cstring(s), len(s)) - -proc luaL_getn(L: Plua_State, n: int): int = - Result = lua_objlen(L, n) - -proc luaL_setn(L: Plua_State, t, n: int) = - # does nothing as this operation is deprecated - nil - -proc lua_open(): Plua_State = - Result = luaL_newstate() - -proc luaL_typename(L: Plua_State, i: int): cstring = - Result = lua_typename(L, lua_type(L, i)) - -proc lua_dofile(L: Plua_State, filename: cstring): int = - Result = luaL_loadfile(L, filename) - if Result == 0: Result = lua_pcall(L, 0, LUA_MULTRET, 0) - -proc lua_dostring(L: Plua_State, str: cstring): int = - Result = luaL_loadstring(L, str) - if Result == 0: Result = lua_pcall(L, 0, LUA_MULTRET, 0) - -proc lua_Lgetmetatable(L: Plua_State, tname: cstring) = - lua_getfield(L, LUA_REGISTRYINDEX, tname) - -proc luaL_argcheck(L: Plua_State, cond: bool, numarg: int, extramsg: cstring) = - if not cond: - discard luaL_argerror(L, numarg, extramsg) - -proc luaL_checkstring(L: Plua_State, n: int): cstring = - Result = luaL_checklstring(L, n, nil) - -proc luaL_optstring(L: Plua_State, n: int, d: cstring): cstring = - Result = luaL_optlstring(L, n, d, nil) - -proc luaL_checkint(L: Plua_State, n: int): int = - Result = toInt(luaL_checknumber(L, n)) - -proc luaL_checklong(L: Plua_State, n: int): int32 = - Result = int32(ToInt(luaL_checknumber(L, n))) - -proc luaL_optint(L: Plua_State, n: int, d: float64): int = - Result = int(ToInt(luaL_optnumber(L, n, d))) - -proc luaL_optlong(L: Plua_State, n: int, d: float64): int32 = - Result = int32(ToInt(luaL_optnumber(L, n, d))) - -proc luaL_addchar(B: PluaL_Buffer, c: Char) = - if cast[int](addr((B.p))) < (cast[int](addr((B.buffer[0]))) + LUAL_BUFFERSIZE): - discard luaL_prepbuffer(B) - B.p[1] = c - B.p = cast[cstring](cast[int](B.p) + 1) - -proc luaL_putchar(B: PluaL_Buffer, c: Char) = - luaL_addchar(B, c) - -proc luaL_addsize(B: PluaL_Buffer, n: int) = - B.p = cast[cstring](cast[int](B.p) + n) - -proc lua_unref(L: Plua_State, theref: int) = - luaL_unref(L, LUA_REGISTRYINDEX, theref) - -proc lua_getref(L: Plua_State, theref: int) = - lua_rawgeti(L, LUA_REGISTRYINDEX, theref) diff --git a/lib/oldwrappers/lua/lua.nim b/lib/oldwrappers/lua/lua.nim deleted file mode 100755 index 54f8d46bb..000000000 --- a/lib/oldwrappers/lua/lua.nim +++ /dev/null @@ -1,391 +0,0 @@ -#***************************************************************************** -# * * -# * File: lua.pas * -# * Authors: TeCGraf (C headers + actual Lua libraries) * -# * Lavergne Thomas (original translation to Pascal) * -# * Bram Kuijvenhoven (update to Lua 5.1.1 for FreePascal) * -# * Description: Basic Lua library * -# * * -# ***************************************************************************** -# -#** $Id: lua.h,v 1.175 2003/03/18 12:31:39 roberto Exp $ -#** Lua - An Extensible Extension Language -#** TeCGraf: Computer Graphics Technology Group, PUC-Rio, Brazil -#** http://www.lua.org mailto:info@lua.org -#** See Copyright Notice at the end of this file -# -# -#** Updated to Lua 5.1.1 by Bram Kuijvenhoven (bram at kuijvenhoven dot net), -#** Hexis BV (http://www.hexis.nl), the Netherlands -#** Notes: -#** - Only tested with FPC (FreePascal Compiler) -#** - Using LuaBinaries styled DLL/SO names, which include version names -#** - LUA_YIELD was suffixed by '_' for avoiding name collision -# -# -#** Translated to pascal by Lavergne Thomas -#** Notes : -#** - Pointers type was prefixed with 'P' -#** - lua_upvalueindex constant was transformed to function -#** - Some compatibility function was isolated because with it you must have -#** lualib. -#** - LUA_VERSION was suffixed by '_' for avoiding name collision. -#** Bug reports : -#** - thomas.lavergne@laposte.net -#** In french or in english -# - -when defined(MACOSX): - const - LUA_NAME* = "liblua(|5.2|5.1|5.0).dylib" - LUA_LIB_NAME* = "liblua(|5.2|5.1|5.0).dylib" -elif defined(UNIX): - const - LUA_NAME* = "liblua(|5.2|5.1|5.0).so(|.0)" - LUA_LIB_NAME* = "liblua(|5.2|5.1|5.0).so(|.0)" -else: - const - LUA_NAME* = "lua(|5.2|5.1|5.0).dll" - LUA_LIB_NAME* = "lua(|5.2|5.1|5.0).dll" -type - size_t* = int - Psize_t* = ptr size_t - -const - LUA_VERSION* = "Lua 5.1" - LUA_RELEASE* = "Lua 5.1.1" - LUA_VERSION_NUM* = 501 - LUA_COPYRIGHT* = "Copyright (C) 1994-2006 Lua.org, PUC-Rio" - LUA_AUTHORS* = "R. Ierusalimschy, L. H. de Figueiredo & W. Celes" - # option for multiple returns in `lua_pcall' and `lua_call' - LUA_MULTRET* = - 1 # - #** pseudo-indices - # - LUA_REGISTRYINDEX* = - 10000 - LUA_ENVIRONINDEX* = - 10001 - LUA_GLOBALSINDEX* = - 10002 - -proc lua_upvalueindex*(I: int): int -const # thread status; 0 is OK - constLUA_YIELD* = 1 - LUA_ERRRUN* = 2 - LUA_ERRSYNTAX* = 3 - LUA_ERRMEM* = 4 - LUA_ERRERR* = 5 - -type - Plua_State* = Pointer - lua_CFunction* = proc (L: Plua_State): int{.cdecl.} - -# -#** functions that read/write blocks when loading/dumping Lua chunks -# -type - lua_Reader* = proc (L: Plua_State, ud: Pointer, sz: Psize_t): cstring{.cdecl.} - lua_Writer* = proc (L: Plua_State, p: Pointer, sz: size_t, ud: Pointer): int{. - cdecl.} - lua_Alloc* = proc (ud, theptr: Pointer, osize, nsize: size_t){.cdecl.} - -const - LUA_TNONE* = - 1 - LUA_TNIL* = 0 - LUA_TBOOLEAN* = 1 - LUA_TLIGHTUSERDATA* = 2 - LUA_TNUMBER* = 3 - LUA_TSTRING* = 4 - LUA_TTABLE* = 5 - LUA_TFUNCTION* = 6 - LUA_TUSERDATA* = 7 - LUA_TTHREAD* = 8 # minimum Lua stack available to a C function - LUA_MINSTACK* = 20 - -type # Type of Numbers in Lua - lua_Number* = float - lua_Integer* = int - -proc lua_newstate*(f: lua_Alloc, ud: Pointer): Plua_State{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_close*(L: Plua_State){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_newthread*(L: Plua_State): Plua_State{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_atpanic*(L: Plua_State, panicf: lua_CFunction): lua_CFunction{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_gettop*(L: Plua_State): int{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_settop*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_pushvalue*(L: Plua_State, Idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_remove*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_insert*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_replace*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_checkstack*(L: Plua_State, sz: int): cint{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_xmove*(`from`, `to`: Plua_State, n: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_isnumber*(L: Plua_State, idx: int): cint{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_isstring*(L: Plua_State, idx: int): cint{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_iscfunction*(L: Plua_State, idx: int): cint{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_isuserdata*(L: Plua_State, idx: int): cint{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_type*(L: Plua_State, idx: int): int{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_typename*(L: Plua_State, tp: int): cstring{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_equal*(L: Plua_State, idx1, idx2: int): cint{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_rawequal*(L: Plua_State, idx1, idx2: int): cint{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_lessthan*(L: Plua_State, idx1, idx2: int): cint{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_tonumber*(L: Plua_State, idx: int): lua_Number{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_tointeger*(L: Plua_State, idx: int): lua_Integer{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_toboolean*(L: Plua_State, idx: int): cint{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_tolstring*(L: Plua_State, idx: int, length: Psize_t): cstring{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_objlen*(L: Plua_State, idx: int): size_t{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_tocfunction*(L: Plua_State, idx: int): lua_CFunction{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_touserdata*(L: Plua_State, idx: int): Pointer{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_tothread*(L: Plua_State, idx: int): Plua_State{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_topointer*(L: Plua_State, idx: int): Pointer{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_pushnil*(L: Plua_State){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_pushnumber*(L: Plua_State, n: lua_Number){.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_pushinteger*(L: Plua_State, n: lua_Integer){.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_pushlstring*(L: Plua_State, s: cstring, len: size_t){.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_pushstring*(L: Plua_State, s: cstring){.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_pushvfstring*(L: Plua_State, fmt: cstring, argp: Pointer): cstring{. - cdecl, dynlib: LUA_NAME, importc.} -proc lua_pushfstring*(L: Plua_State, fmt: cstring): cstring{.cdecl, varargs, - dynlib: LUA_NAME, importc.} -proc lua_pushcclosure*(L: Plua_State, fn: lua_CFunction, n: int){.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_pushboolean*(L: Plua_State, b: cint){.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_pushlightuserdata*(L: Plua_State, p: Pointer){.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_pushthread*(L: Plua_State){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_gettable*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_getfield*(L: Plua_state, idx: int, k: cstring){.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_rawget*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_rawgeti*(L: Plua_State, idx, n: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_createtable*(L: Plua_State, narr, nrec: int){.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_newuserdata*(L: Plua_State, sz: size_t): Pointer{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_getmetatable*(L: Plua_State, objindex: int): int{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_getfenv*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_settable*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_setfield*(L: Plua_State, idx: int, k: cstring){.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_rawset*(L: Plua_State, idx: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_rawseti*(L: Plua_State, idx, n: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_setmetatable*(L: Plua_State, objindex: int): int{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_setfenv*(L: Plua_State, idx: int): int{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_call*(L: Plua_State, nargs, nresults: int){.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_pcall*(L: Plua_State, nargs, nresults, errf: int): int{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_cpcall*(L: Plua_State, func: lua_CFunction, ud: Pointer): int{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_load*(L: Plua_State, reader: lua_Reader, dt: Pointer, - chunkname: cstring): int{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_dump*(L: Plua_State, writer: lua_Writer, data: Pointer): int{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_yield*(L: Plua_State, nresults: int): int{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_resume*(L: Plua_State, narg: int): int{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_status*(L: Plua_State): int{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_gc*(L: Plua_State, what, data: int): int{.cdecl, dynlib: LUA_NAME, - importc.} -proc lua_error*(L: Plua_State): int{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_next*(L: Plua_State, idx: int): int{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_concat*(L: Plua_State, n: int){.cdecl, dynlib: LUA_NAME, importc.} -proc lua_getallocf*(L: Plua_State, ud: ptr Pointer): lua_Alloc{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_setallocf*(L: Plua_State, f: lua_Alloc, ud: Pointer){.cdecl, - dynlib: LUA_NAME, importc.} - -# -#** Garbage-collection functions and options -# -const - LUA_GCSTOP* = 0 - LUA_GCRESTART* = 1 - LUA_GCCOLLECT* = 2 - LUA_GCCOUNT* = 3 - LUA_GCCOUNTB* = 4 - LUA_GCSTEP* = 5 - LUA_GCSETPAUSE* = 6 - LUA_GCSETSTEPMUL* = 7 - -# -#** =============================================================== -#** some useful macros -#** =============================================================== -# - -proc lua_pop*(L: Plua_State, n: int) -proc lua_newtable*(L: Plua_state) -proc lua_register*(L: Plua_State, n: cstring, f: lua_CFunction) -proc lua_pushcfunction*(L: Plua_State, f: lua_CFunction) -proc lua_strlen*(L: Plua_state, i: int): size_t -proc lua_isfunction*(L: Plua_State, n: int): bool -proc lua_istable*(L: Plua_State, n: int): bool -proc lua_islightuserdata*(L: Plua_State, n: int): bool -proc lua_isnil*(L: Plua_State, n: int): bool -proc lua_isboolean*(L: Plua_State, n: int): bool -proc lua_isthread*(L: Plua_State, n: int): bool -proc lua_isnone*(L: Plua_State, n: int): bool -proc lua_isnoneornil*(L: Plua_State, n: int): bool -proc lua_pushliteral*(L: Plua_State, s: cstring) -proc lua_setglobal*(L: Plua_State, s: cstring) -proc lua_getglobal*(L: Plua_State, s: cstring) -proc lua_tostring*(L: Plua_State, i: int): cstring -# -#** compatibility macros and functions -# -proc lua_getregistry*(L: Plua_State) -proc lua_getgccount*(L: Plua_State): int -type - lua_Chunkreader* = lua_Reader - lua_Chunkwriter* = lua_Writer - -# -#** ====================================================================== -#** Debug API -#** ====================================================================== -# - -const - LUA_HOOKCALL* = 0 - LUA_HOOKRET* = 1 - LUA_HOOKLINE* = 2 - LUA_HOOKCOUNT* = 3 - LUA_HOOKTAILRET* = 4 - -const - LUA_MASKCALL* = 1 shl Ord(LUA_HOOKCALL) - LUA_MASKRET* = 1 shl Ord(LUA_HOOKRET) - LUA_MASKLINE* = 1 shl Ord(LUA_HOOKLINE) - LUA_MASKCOUNT* = 1 shl Ord(LUA_HOOKCOUNT) - -const - LUA_IDSIZE* = 60 - -type - lua_Debug*{.final.} = object # activation record - event*: int - name*: cstring # (n) - namewhat*: cstring # (n) `global', `local', `field', `method' - what*: cstring # (S) `Lua', `C', `main', `tail' - source*: cstring # (S) - currentline*: int # (l) - nups*: int # (u) number of upvalues - linedefined*: int # (S) - lastlinedefined*: int # (S) - short_src*: array[0..LUA_IDSIZE - 1, Char] # (S) - # private part - i_ci*: int # active function - - Plua_Debug* = ptr lua_Debug - lua_Hook* = proc (L: Plua_State, ar: Plua_Debug){.cdecl.} - -# -#** ====================================================================== -#** Debug API -#** ====================================================================== -# - -proc lua_getstack*(L: Plua_State, level: int, ar: Plua_Debug): int{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_getinfo*(L: Plua_State, what: cstring, ar: Plua_Debug): int{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_getlocal*(L: Plua_State, ar: Plua_Debug, n: int): cstring{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_setlocal*(L: Plua_State, ar: Plua_Debug, n: int): cstring{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_getupvalue*(L: Plua_State, funcindex: int, n: int): cstring{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_setupvalue*(L: Plua_State, funcindex: int, n: int): cstring{.cdecl, - dynlib: LUA_NAME, importc.} -proc lua_sethook*(L: Plua_State, func: lua_Hook, mask: int, count: int): int{. - cdecl, dynlib: LUA_NAME, importc.} -proc lua_gethook*(L: Plua_State): lua_Hook{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_gethookmask*(L: Plua_State): int{.cdecl, dynlib: LUA_NAME, importc.} -proc lua_gethookcount*(L: Plua_State): int{.cdecl, dynlib: LUA_NAME, importc.} -# implementation - -proc lua_upvalueindex(I: int): int = - Result = LUA_GLOBALSINDEX - i - -proc lua_pop(L: Plua_State, n: int) = - lua_settop(L, - n - 1) - -proc lua_newtable(L: Plua_State) = - lua_createtable(L, 0, 0) - -proc lua_register(L: Plua_State, n: cstring, f: lua_CFunction) = - lua_pushcfunction(L, f) - lua_setglobal(L, n) - -proc lua_pushcfunction(L: Plua_State, f: lua_CFunction) = - lua_pushcclosure(L, f, 0) - -proc lua_strlen(L: Plua_State, i: int): size_t = - Result = lua_objlen(L, i) - -proc lua_isfunction(L: Plua_State, n: int): bool = - Result = lua_type(L, n) == LUA_TFUNCTION - -proc lua_istable(L: Plua_State, n: int): bool = - Result = lua_type(L, n) == LUA_TTABLE - -proc lua_islightuserdata(L: Plua_State, n: int): bool = - Result = lua_type(L, n) == LUA_TLIGHTUSERDATA - -proc lua_isnil(L: Plua_State, n: int): bool = - Result = lua_type(L, n) == LUA_TNIL - -proc lua_isboolean(L: Plua_State, n: int): bool = - Result = lua_type(L, n) == LUA_TBOOLEAN - -proc lua_isthread(L: Plua_State, n: int): bool = - Result = lua_type(L, n) == LUA_TTHREAD - -proc lua_isnone(L: Plua_State, n: int): bool = - Result = lua_type(L, n) == LUA_TNONE - -proc lua_isnoneornil(L: Plua_State, n: int): bool = - Result = lua_type(L, n) <= 0 - -proc lua_pushliteral(L: Plua_State, s: cstring) = - lua_pushlstring(L, s, len(s)) - -proc lua_setglobal(L: Plua_State, s: cstring) = - lua_setfield(L, LUA_GLOBALSINDEX, s) - -proc lua_getglobal(L: Plua_State, s: cstring) = - lua_getfield(L, LUA_GLOBALSINDEX, s) - -proc lua_tostring(L: Plua_State, i: int): cstring = - Result = lua_tolstring(L, i, nil) - -proc lua_getregistry(L: Plua_State) = - lua_pushvalue(L, LUA_REGISTRYINDEX) - -proc lua_getgccount(L: Plua_State): int = - Result = lua_gc(L, LUA_GCCOUNT, 0) diff --git a/lib/oldwrappers/lua/lualib.nim b/lib/oldwrappers/lua/lualib.nim deleted file mode 100755 index df5d53101..000000000 --- a/lib/oldwrappers/lua/lualib.nim +++ /dev/null @@ -1,73 +0,0 @@ -#***************************************************************************** -# * * -# * File: lualib.pas * -# * Authors: TeCGraf (C headers + actual Lua libraries) * -# * Lavergne Thomas (original translation to Pascal) * -# * Bram Kuijvenhoven (update to Lua 5.1.1 for FreePascal) * -# * Description: Standard Lua libraries * -# * * -# ***************************************************************************** -# -#** $Id: lualib.h,v 1.28 2003/03/18 12:24:26 roberto Exp $ -#** Lua standard libraries -#** See Copyright Notice in lua.h -# -# -#** Translated to pascal by Lavergne Thomas -#** Bug reports : -#** - thomas.lavergne@laposte.net -#** In french or in english -# - -import lua - -const - LUA_COLIBNAME* = "coroutine" - LUA_TABLIBNAME* = "table" - LUA_IOLIBNAME* = "io" - LUA_OSLIBNAME* = "os" - LUA_STRLINAME* = "string" - LUA_MATHLIBNAME* = "math" - LUA_DBLIBNAME* = "debug" - LUA_LOADLIBNAME* = "package" - -proc luaopen_base*(L: Plua_State): cint{.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaopen_table*(L: Plua_State): cint{.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaopen_io*(L: Plua_State): cint{.cdecl, dynlib: LUA_LIB_NAME, importc.} -proc luaopen_string*(L: Plua_State): cint{.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaopen_math*(L: Plua_State): cint{.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaopen_debug*(L: Plua_State): cint{.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaopen_package*(L: Plua_State): cint{.cdecl, dynlib: LUA_LIB_NAME, - importc.} -proc luaL_openlibs*(L: Plua_State){.cdecl, dynlib: LUA_LIB_NAME, importc.} - # compatibility code -proc lua_baselibopen*(L: Plua_State): Bool -proc lua_tablibopen*(L: Plua_State): Bool -proc lua_iolibopen*(L: Plua_State): Bool -proc lua_strlibopen*(L: Plua_State): Bool -proc lua_mathlibopen*(L: Plua_State): Bool -proc lua_dblibopen*(L: Plua_State): Bool -# implementation - -proc lua_baselibopen(L: Plua_State): Bool = - Result = luaopen_base(L) != 0'i32 - -proc lua_tablibopen(L: Plua_State): Bool = - Result = luaopen_table(L) != 0'i32 - -proc lua_iolibopen(L: Plua_State): Bool = - Result = luaopen_io(L) != 0'i32 - -proc lua_strlibopen(L: Plua_State): Bool = - Result = luaopen_string(L) != 0'i32 - -proc lua_mathlibopen(L: Plua_State): Bool = - Result = luaopen_math(L) != 0'i32 - -proc lua_dblibopen(L: Plua_State): Bool = - Result = luaopen_debug(L) != 0'i32 diff --git a/lib/oldwrappers/mysql.nim b/lib/oldwrappers/mysql.nim deleted file mode 100755 index e94afb1a2..000000000 --- a/lib/oldwrappers/mysql.nim +++ /dev/null @@ -1,1154 +0,0 @@ -# -# -# Nimrod's Runtime Library -# (c) Copyright 2009 Andreas Rumpf -# -# See the file "copying.txt", included in this -# distribution, for details about the copyright. -# - -{.deadCodeElim: on.} - -when defined(Unix): - const - mysqllib = "libmysqlclient.so.15" - -# mysqllib = "libmysqlclient.so.15" -when defined(Windows): - const - mysqllib = "libmysql.dll" - -# Copyright (C) 2000-2003 MySQL AB -# -# 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. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -type - my_bool* = bool - Pmy_bool* = ptr my_bool - PVIO* = Pointer - Pgptr* = ptr gptr - gptr* = cstring - Pmy_socket* = ptr my_socket - my_socket* = cint - PPByte* = pointer - cuint* = cint - -# ------------ Start of declaration in "mysql_com.h" --------------------- -# -# ** Common definition between mysql server & client -# -# Field/table name length - -const - NAME_LEN* = 64 - HOSTNAME_LENGTH* = 60 - USERNAME_LENGTH* = 16 - SERVER_VERSION_LENGTH* = 60 - SQLSTATE_LENGTH* = 5 - LOCAL_HOST* = "localhost" - LOCAL_HOST_NAMEDPIPE* = '.' - -const - MYSQL_NAMEDPIPE* = "MySQL" - MYSQL_SERVICENAME* = "MySQL" - -type - enum_server_command* = enum - COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST, COM_CREATE_DB, - COM_DROP_DB, COM_REFRESH, COM_SHUTDOWN, COM_STATISTICS, COM_PROCESS_INFO, - COM_CONNECT, COM_PROCESS_KILL, COM_DEBUG, COM_PING, COM_TIME, - COM_DELAYED_INSERT, COM_CHANGE_USER, COM_BINLOG_DUMP, COM_TABLE_DUMP, - COM_CONNECT_OUT, COM_REGISTER_SLAVE, COM_STMT_PREPARE, COM_STMT_EXECUTE, - COM_STMT_SEND_LONG_DATA, COM_STMT_CLOSE, COM_STMT_RESET, COM_SET_OPTION, - COM_STMT_FETCH, COM_END - -const - SCRAMBLE_LENGTH* = 20 # Length of random string sent by server on handshake; - # this is also length of obfuscated password, - # recieved from client - SCRAMBLE_LENGTH_323* = 8 # length of password stored in the db: - # new passwords are preceeded with '*' - SCRAMBLED_PASSWORD_CHAR_LENGTH* = SCRAMBLE_LENGTH * 2 + 1 - SCRAMBLED_PASSWORD_CHAR_LENGTH_323* = SCRAMBLE_LENGTH_323 * 2 - NOT_NULL_FLAG* = 1 # Field can't be NULL - PRI_KEY_FLAG* = 2 # Field is part of a primary key - UNIQUE_KEY_FLAG* = 4 # Field is part of a unique key - MULTIPLE_KEY_FLAG* = 8 # Field is part of a key - BLOB_FLAG* = 16 # Field is a blob - UNSIGNED_FLAG* = 32 # Field is unsigned - ZEROFILL_FLAG* = 64 # Field is zerofill - BINARY_FLAG* = 128 # Field is binary - # The following are only sent to new clients - ENUM_FLAG* = 256 # field is an enum - AUTO_INCREMENT_FLAG* = 512 # field is a autoincrement field - TIMESTAMP_FLAG* = 1024 # Field is a timestamp - SET_FLAG* = 2048 # field is a set - NO_DEFAULT_VALUE_FLAG* = 4096 # Field doesn't have default value - NUM_FLAG* = 32768 # Field is num (for clients) - PART_KEY_FLAG* = 16384 # Intern; Part of some key - GROUP_FLAG* = 32768 # Intern: Group field - UNIQUE_FLAG* = 65536 # Intern: Used by sql_yacc - BINCMP_FLAG* = 131072 # Intern: Used by sql_yacc - REFRESH_GRANT* = 1 # Refresh grant tables - REFRESH_LOG* = 2 # Start on new log file - REFRESH_TABLES* = 4 # close all tables - REFRESH_HOSTS* = 8 # Flush host cache - REFRESH_STATUS* = 16 # Flush status variables - REFRESH_THREADS* = 32 # Flush thread cache - REFRESH_SLAVE* = 64 # Reset master info and restart slave thread - REFRESH_MASTER* = 128 # Remove all bin logs in the index and truncate the index - # The following can't be set with mysql_refresh() - REFRESH_READ_LOCK* = 16384 # Lock tables for read - REFRESH_FAST* = 32768 # Intern flag - REFRESH_QUERY_CACHE* = 65536 # RESET (remove all queries) from query cache - REFRESH_QUERY_CACHE_FREE* = 0x00020000 # pack query cache - REFRESH_DES_KEY_FILE* = 0x00040000 - REFRESH_USER_RESOURCES* = 0x00080000 - CLIENT_LONG_PASSWORD* = 1 # new more secure passwords - CLIENT_FOUND_ROWS* = 2 # Found instead of affected rows - CLIENT_LONG_FLAG* = 4 # Get all column flags - CLIENT_CONNECT_WITH_DB* = 8 # One can specify db on connect - CLIENT_NO_SCHEMA* = 16 # Don't allow database.table.column - CLIENT_COMPRESS* = 32 # Can use compression protocol - CLIENT_ODBC* = 64 # Odbc client - CLIENT_LOCAL_FILES* = 128 # Can use LOAD DATA LOCAL - CLIENT_IGNORE_SPACE* = 256 # Ignore spaces before '(' - CLIENT_PROTOCOL_41* = 512 # New 4.1 protocol - CLIENT_INTERACTIVE* = 1024 # This is an interactive client - CLIENT_SSL* = 2048 # Switch to SSL after handshake - CLIENT_IGNORE_SIGPIPE* = 4096 # IGNORE sigpipes - CLIENT_TRANSACTIONS* = 8192 # Client knows about transactions - CLIENT_RESERVED* = 16384 # Old flag for 4.1 protocol - CLIENT_SECURE_CONNECTION* = 32768 # New 4.1 authentication - CLIENT_MULTI_STATEMENTS* = 65536 # Enable/disable multi-stmt support - CLIENT_MULTI_RESULTS* = 131072 # Enable/disable multi-results - CLIENT_REMEMBER_OPTIONS*: int = 1 shl 31 - SERVER_STATUS_IN_TRANS* = 1 # Transaction has started - SERVER_STATUS_AUTOCOMMIT* = 2 # Server in auto_commit mode - SERVER_STATUS_MORE_RESULTS* = 4 # More results on server - SERVER_MORE_RESULTS_EXISTS* = 8 # Multi query - next query exists - SERVER_QUERY_NO_GOOD_INDEX_USED* = 16 - SERVER_QUERY_NO_INDEX_USED* = 32 # The server was able to fulfill the clients request and opened a - # read-only non-scrollable cursor for a query. This flag comes - # in reply to COM_STMT_EXECUTE and COM_STMT_FETCH commands. - SERVER_STATUS_CURSOR_EXISTS* = 64 # This flag is sent when a read-only cursor is exhausted, in reply to - # COM_STMT_FETCH command. - SERVER_STATUS_LAST_ROW_SENT* = 128 - SERVER_STATUS_DB_DROPPED* = 256 # A database was dropped - SERVER_STATUS_NO_BACKSLASH_ESCAPES* = 512 - MYSQL_ERRMSG_SIZE* = 200 - NET_READ_TIMEOUT* = 30 # Timeout on read - NET_WRITE_TIMEOUT* = 60 # Timeout on write - NET_WAIT_TIMEOUT* = 8 * 60 * 60 # Wait for new query - ONLY_KILL_QUERY* = 1 - -const - MAX_TINYINT_WIDTH* = 3 # Max width for a TINY w.o. sign - MAX_SMALLINT_WIDTH* = 5 # Max width for a SHORT w.o. sign - MAX_MEDIUMINT_WIDTH* = 8 # Max width for a INT24 w.o. sign - MAX_INT_WIDTH* = 10 # Max width for a LONG w.o. sign - MAX_BIGINT_WIDTH* = 20 # Max width for a LONGLONG - MAX_CHAR_WIDTH* = 255 # Max length for a CHAR colum - MAX_BLOB_WIDTH* = 8192 # Default width for blob - -type - Pst_net* = ptr st_net - st_net*{.final.} = object - vio*: PVio - buff*: cstring - buff_end*: cstring - write_pos*: cstring - read_pos*: cstring - fd*: my_socket # For Perl DBI/dbd - max_packet*: int - max_packet_size*: int - pkt_nr*: cuint - compress_pkt_nr*: cuint - write_timeout*: cuint - read_timeout*: cuint - retry_count*: cuint - fcntl*: cint - compress*: my_bool # The following variable is set if we are doing several queries in one - # command ( as in LOAD TABLE ... FROM MASTER ), - # and do not want to confuse the client with OK at the wrong time - remain_in_buf*: int - len*: int - buf_length*: int - where_b*: int - return_status*: ptr cint - reading_or_writing*: char - save_char*: cchar - no_send_ok*: my_bool # For SPs and other things that do multiple stmts - no_send_eof*: my_bool # For SPs' first version read-only cursors - no_send_error*: my_bool # Set if OK packet is already sent, and - # we do not need to send error messages - # Pointer to query object in query cache, do not equal NULL (0) for - # queries in cache that have not stored its results yet - # $endif - last_error*: array[0..(MYSQL_ERRMSG_SIZE) - 1, char] - sqlstate*: array[0..(SQLSTATE_LENGTH + 1) - 1, char] - last_errno*: cuint - error*: char - query_cache_query*: gptr - report_error*: my_bool # We should report error (we have unreported error) - return_errno*: my_bool - - NET* = st_net - PNET* = ptr NET - -const - packet_error* = -1 - -type - enum_field_types* = enum # For backward compatibility - MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY, MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG, - MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE, MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP, - MYSQL_TYPE_LONGLONG, MYSQL_TYPE_INT24, MYSQL_TYPE_DATE, MYSQL_TYPE_TIME, - MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR, MYSQL_TYPE_NEWDATE, - MYSQL_TYPE_VARCHAR, MYSQL_TYPE_BIT, MYSQL_TYPE_NEWDECIMAL = 246, - MYSQL_TYPE_ENUM = 247, MYSQL_TYPE_SET = 248, MYSQL_TYPE_TINY_BLOB = 249, - MYSQL_TYPE_MEDIUM_BLOB = 250, MYSQL_TYPE_LONG_BLOB = 251, - MYSQL_TYPE_BLOB = 252, MYSQL_TYPE_VAR_STRING = 253, MYSQL_TYPE_STRING = 254, - MYSQL_TYPE_GEOMETRY = 255 - -const - CLIENT_MULTI_QUERIES* = CLIENT_MULTI_STATEMENTS - FIELD_TYPE_DECIMAL* = MYSQL_TYPE_DECIMAL - FIELD_TYPE_NEWDECIMAL* = MYSQL_TYPE_NEWDECIMAL - FIELD_TYPE_TINY* = MYSQL_TYPE_TINY - FIELD_TYPE_SHORT* = MYSQL_TYPE_SHORT - FIELD_TYPE_LONG* = MYSQL_TYPE_LONG - FIELD_TYPE_FLOAT* = MYSQL_TYPE_FLOAT - FIELD_TYPE_DOUBLE* = MYSQL_TYPE_DOUBLE - FIELD_TYPE_NULL* = MYSQL_TYPE_NULL - FIELD_TYPE_TIMESTAMP* = MYSQL_TYPE_TIMESTAMP - FIELD_TYPE_LONGLONG* = MYSQL_TYPE_LONGLONG - FIELD_TYPE_INT24* = MYSQL_TYPE_INT24 - FIELD_TYPE_DATE* = MYSQL_TYPE_DATE - FIELD_TYPE_TIME* = MYSQL_TYPE_TIME - FIELD_TYPE_DATETIME* = MYSQL_TYPE_DATETIME - FIELD_TYPE_YEAR* = MYSQL_TYPE_YEAR - FIELD_TYPE_NEWDATE* = MYSQL_TYPE_NEWDATE - FIELD_TYPE_ENUM* = MYSQL_TYPE_ENUM - FIELD_TYPE_SET* = MYSQL_TYPE_SET - FIELD_TYPE_TINY_BLOB* = MYSQL_TYPE_TINY_BLOB - FIELD_TYPE_MEDIUM_BLOB* = MYSQL_TYPE_MEDIUM_BLOB - FIELD_TYPE_LONG_BLOB* = MYSQL_TYPE_LONG_BLOB - FIELD_TYPE_BLOB* = MYSQL_TYPE_BLOB - FIELD_TYPE_VAR_STRING* = MYSQL_TYPE_VAR_STRING - FIELD_TYPE_STRING* = MYSQL_TYPE_STRING - FIELD_TYPE_CHAR* = MYSQL_TYPE_TINY - FIELD_TYPE_INTERVAL* = MYSQL_TYPE_ENUM - FIELD_TYPE_GEOMETRY* = MYSQL_TYPE_GEOMETRY - FIELD_TYPE_BIT* = MYSQL_TYPE_BIT # Shutdown/kill enums and constants - # Bits for THD::killable. - MYSQL_SHUTDOWN_KILLABLE_CONNECT* = chr(1 shl 0) - MYSQL_SHUTDOWN_KILLABLE_TRANS* = chr(1 shl 1) - MYSQL_SHUTDOWN_KILLABLE_LOCK_TABLE* = chr(1 shl 2) - MYSQL_SHUTDOWN_KILLABLE_UPDATE* = chr(1 shl 3) - -type - mysql_enum_shutdown_level* = enum - SHUTDOWN_DEFAULT = 0, SHUTDOWN_WAIT_CONNECTIONS = 1, - SHUTDOWN_WAIT_TRANSACTIONS = 2, - SHUTDOWN_WAIT_UPDATES = 8, - SHUTDOWN_WAIT_ALL_BUFFERS = 16, - SHUTDOWN_WAIT_CRITICAL_BUFFERS = 17, - KILL_QUERY = 254, - KILL_CONNECTION = 255 - enum_cursor_type* = enum # options for mysql_set_option - CURSOR_TYPE_NO_CURSOR = 0, CURSOR_TYPE_READ_ONLY = 1, - CURSOR_TYPE_FOR_UPDATE = 2, CURSOR_TYPE_SCROLLABLE = 4 - enum_mysql_set_option* = enum - MYSQL_OPTION_MULTI_STATEMENTS_ON, MYSQL_OPTION_MULTI_STATEMENTS_OFF - -proc net_new_transaction*(net: st_net): st_net -proc my_net_init*(net: PNET, vio: PVio): my_bool{.cdecl, dynlib: mysqllib, - importc: "my_net_init".} -proc my_net_local_init*(net: PNET){.cdecl, dynlib: mysqllib, - importc: "my_net_local_init".} -proc net_end*(net: PNET){.cdecl, dynlib: mysqllib, importc: "net_end".} -proc net_clear*(net: PNET){.cdecl, dynlib: mysqllib, importc: "net_clear".} -proc net_realloc*(net: PNET, len: int): my_bool{.cdecl, dynlib: mysqllib, - importc: "net_realloc".} -proc net_flush*(net: PNET): my_bool{.cdecl, dynlib: mysqllib, - importc: "net_flush".} -proc my_net_write*(net: PNET, packet: cstring, length: int): my_bool{.cdecl, - dynlib: mysqllib, importc: "my_net_write".} -proc net_write_command*(net: PNET, command: char, header: cstring, - head_len: int, packet: cstring, length: int): my_bool{. - cdecl, dynlib: mysqllib, importc: "net_write_command".} -proc net_real_write*(net: PNET, packet: cstring, length: int): cint{.cdecl, - dynlib: mysqllib, importc: "net_real_write".} -proc my_net_read*(net: PNET): int{.cdecl, dynlib: mysqllib, - importc: "my_net_read".} - # The following function is not meant for normal usage - # Currently it's used internally by manager.c -type - Psockaddr* = ptr sockaddr - sockaddr*{.final.} = object # undefined structure - -proc my_connect*(s: my_socket, name: Psockaddr, namelen: cuint, timeout: cuint): cint{. - cdecl, dynlib: mysqllib, importc: "my_connect".} -type - Prand_struct* = ptr rand_struct - rand_struct*{.final.} = object # The following is for user defined functions - seed1*: int - seed2*: int - max_value*: int - max_value_dbl*: cdouble - - Item_result* = enum - STRING_RESULT, REAL_RESULT, INT_RESULT, ROW_RESULT, DECIMAL_RESULT - PItem_result* = ptr Item_result - Pst_udf_args* = ptr st_udf_args - st_udf_args*{.final.} = object - arg_count*: cuint # Number of arguments - arg_type*: PItem_result # Pointer to item_results - args*: cstringArray # Pointer to item_results - lengths*: ptr int # Length of string arguments - maybe_null*: cstring # Length of string arguments - attributes*: cstringArray # Pointer to attribute name - attribute_lengths*: ptr int # Length of attribute arguments - - UDF_ARGS* = st_udf_args - PUDF_ARGS* = ptr UDF_ARGS # This holds information about the result - Pst_udf_init* = ptr st_udf_init - st_udf_init*{.final.} = object - maybe_null*: my_bool # 1 if function can return NULL - decimals*: cuint # for real functions - max_length*: int # For string functions - theptr*: cstring # free pointer for function data - const_item*: my_bool # free pointer for function data - - UDF_INIT* = st_udf_init - PUDF_INIT* = ptr UDF_INIT # Constants when using compression - -const - NET_HEADER_SIZE* = 4 # standard header size - COMP_HEADER_SIZE* = 3 # compression header extra size - # Prototypes to password functions - # These functions are used for authentication by client and server and - # implemented in sql/password.c - -proc randominit*(para1: Prand_struct, seed1: int, seed2: int){.cdecl, - dynlib: mysqllib, importc: "randominit".} -proc my_rnd*(para1: Prand_struct): cdouble{.cdecl, dynlib: mysqllib, - importc: "my_rnd".} -proc create_random_string*(fto: cstring, len: cuint, rand_st: Prand_struct){. - cdecl, dynlib: mysqllib, importc: "create_random_string".} -proc hash_password*(fto: int, password: cstring, password_len: cuint){.cdecl, - dynlib: mysqllib, importc: "hash_password".} -proc make_scrambled_password_323*(fto: cstring, password: cstring){.cdecl, - dynlib: mysqllib, importc: "make_scrambled_password_323".} -proc scramble_323*(fto: cstring, message: cstring, password: cstring){.cdecl, - dynlib: mysqllib, importc: "scramble_323".} -proc check_scramble_323*(para1: cstring, message: cstring, salt: int): my_bool{. - cdecl, dynlib: mysqllib, importc: "check_scramble_323".} -proc get_salt_from_password_323*(res: ptr int, password: cstring){.cdecl, - dynlib: mysqllib, importc: "get_salt_from_password_323".} -proc make_password_from_salt_323*(fto: cstring, salt: ptr int){.cdecl, - dynlib: mysqllib, importc: "make_password_from_salt_323".} -proc octet2hex*(fto: cstring, str: cstring, length: cuint): cstring{.cdecl, - dynlib: mysqllib, importc: "octet2hex".} -proc make_scrambled_password*(fto: cstring, password: cstring){.cdecl, - dynlib: mysqllib, importc: "make_scrambled_password".} -proc scramble*(fto: cstring, message: cstring, password: cstring){.cdecl, - dynlib: mysqllib, importc: "scramble".} -proc check_scramble*(reply: cstring, message: cstring, hash_stage2: pointer): my_bool{. - cdecl, dynlib: mysqllib, importc: "check_scramble".} -proc get_salt_from_password*(res: pointer, password: cstring){.cdecl, - dynlib: mysqllib, importc: "get_salt_from_password".} -proc make_password_from_salt*(fto: cstring, hash_stage2: pointer){.cdecl, - dynlib: mysqllib, importc: "make_password_from_salt".} - # end of password.c -proc get_tty_password*(opt_message: cstring): cstring{.cdecl, dynlib: mysqllib, - importc: "get_tty_password".} -proc mysql_errno_to_sqlstate*(mysql_errno: cuint): cstring{.cdecl, - dynlib: mysqllib, importc: "mysql_errno_to_sqlstate".} - # Some other useful functions -proc modify_defaults_file*(file_location: cstring, option: cstring, - option_value: cstring, section_name: cstring, - remove_option: cint): cint{.cdecl, dynlib: mysqllib, - importc: "load_defaults".} -proc load_defaults*(conf_file: cstring, groups: cstringArray, argc: ptr cint, - argv: ptr cstringArray): cint{.cdecl, dynlib: mysqllib, - importc: "load_defaults".} -proc my_init*(): my_bool{.cdecl, dynlib: mysqllib, importc: "my_init".} -proc my_thread_init*(): my_bool{.cdecl, dynlib: mysqllib, - importc: "my_thread_init".} -proc my_thread_end*(){.cdecl, dynlib: mysqllib, importc: "my_thread_end".} -const - NULL_LENGTH*: int = int(not (0)) # For net_store_length - -const - MYSQL_STMT_HEADER* = 4 - MYSQL_LONG_DATA_HEADER* = 6 # ------------ Stop of declaration in "mysql_com.h" ----------------------- - # $include "mysql_time.h" - # $include "mysql_version.h" - # $include "typelib.h" - # $include "my_list.h" /* for LISTs used in 'MYSQL' and 'MYSQL_STMT' */ - # var - # mysql_port : cuint;cvar;external; - # mysql_unix_port : Pchar;cvar;external; - -const - CLIENT_NET_READ_TIMEOUT* = 365 * 24 * 3600 # Timeout on read - CLIENT_NET_WRITE_TIMEOUT* = 365 * 24 * 3600 # Timeout on write - -type - Pst_mysql_field* = ptr st_mysql_field - st_mysql_field*{.final.} = object - name*: cstring # Name of column - org_name*: cstring # Original column name, if an alias - table*: cstring # Table of column if column was a field - org_table*: cstring # Org table name, if table was an alias - db*: cstring # Database for table - catalog*: cstring # Catalog for table - def*: cstring # Default value (set by mysql_list_fields) - len*: int # Width of column (create length) - max_length*: int # Max width for selected set - name_length*: cuint - org_name_length*: cuint - table_length*: cuint - org_table_length*: cuint - db_length*: cuint - catalog_length*: cuint - def_length*: cuint - flags*: cuint # Div flags - decimals*: cuint # Number of decimals in field - charsetnr*: cuint # Character set - ftype*: enum_field_types # Type of field. See mysql_com.h for types - - MYSQL_FIELD* = st_mysql_field - PMYSQL_FIELD* = ptr MYSQL_FIELD - PMYSQL_ROW* = ptr MYSQL_ROW # return data as array of strings - MYSQL_ROW* = cstringArray - PMYSQL_FIELD_OFFSET* = ptr MYSQL_FIELD_OFFSET # offset to current field - MYSQL_FIELD_OFFSET* = cuint - -proc IS_PRI_KEY*(n: int32): bool -proc IS_NOT_NULL*(n: int32): bool -proc IS_BLOB*(n: int32): bool -proc IS_NUM*(t: enum_field_types): bool -proc INTERNAL_NUM_FIELD*(f: Pst_mysql_field): bool -proc IS_NUM_FIELD*(f: Pst_mysql_field): bool - -type - my_ulonglong* = int64 - Pmy_ulonglong* = ptr my_ulonglong - -const - MYSQL_COUNT_ERROR* = not (my_ulonglong(0)) - -type - Pst_mysql_rows* = ptr st_mysql_rows - st_mysql_rows*{.final.} = object - next*: Pst_mysql_rows # list of rows - data*: MYSQL_ROW - len*: int - - MYSQL_ROWS* = st_mysql_rows - PMYSQL_ROWS* = ptr MYSQL_ROWS - PMYSQL_ROW_OFFSET* = ptr MYSQL_ROW_OFFSET # offset to current row - MYSQL_ROW_OFFSET* = MYSQL_ROWS # ------------ Start of declaration in "my_alloc.h" -------------------- - # $include "my_alloc.h" - -const - ALLOC_MAX_BLOCK_TO_DROP* = 4096 - ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP* = 10 # struct for once_alloc (block) - -type - Pst_used_mem* = ptr st_used_mem - st_used_mem*{.final.} = object - next*: Pst_used_mem # Next block in use - left*: cuint # memory left in block - size*: cuint # size of block - - USED_MEM* = st_used_mem - PUSED_MEM* = ptr USED_MEM - Pst_mem_root* = ptr st_mem_root - st_mem_root*{.final.} = object - free*: PUSED_MEM # blocks with free memory in it - used*: PUSED_MEM # blocks almost without free memory - pre_alloc*: PUSED_MEM # preallocated block - min_malloc*: cuint # if block have less memory it will be put in 'used' list - block_size*: cuint # initial block size - block_num*: cuint # allocated blocks counter - # first free block in queue test counter (if it exceed - # MAX_BLOCK_USAGE_BEFORE_DROP block will be dropped in 'used' list) - first_block_usage*: cuint - error_handler*: proc (){.cdecl.} - - MEM_ROOT* = st_mem_root - PMEM_ROOT* = ptr MEM_ROOT # ------------ Stop of declaration in "my_alloc.h" ---------------------- - -type - Pst_mysql_data* = ptr st_mysql_data - st_mysql_data*{.final.} = object - rows*: my_ulonglong - fields*: cuint - data*: PMYSQL_ROWS - alloc*: MEM_ROOT - prev_ptr*: ptr PMYSQL_ROWS - - MYSQL_DATA* = st_mysql_data - PMYSQL_DATA* = ptr MYSQL_DATA - mysql_option* = enum - MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS, MYSQL_OPT_NAMED_PIPE, - MYSQL_INIT_COMMAND, MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP, - MYSQL_SET_CHARSET_DIR, MYSQL_SET_CHARSET_NAME, MYSQL_OPT_LOCAL_INFILE, - MYSQL_OPT_PROTOCOL, MYSQL_SHARED_MEMORY_BASE_NAME, MYSQL_OPT_READ_TIMEOUT, - MYSQL_OPT_WRITE_TIMEOUT, MYSQL_OPT_USE_RESULT, - MYSQL_OPT_USE_REMOTE_CONNECTION, MYSQL_OPT_USE_EMBEDDED_CONNECTION, - MYSQL_OPT_GUESS_CONNECTION, MYSQL_SET_CLIENT_IP, MYSQL_SECURE_AUTH, - MYSQL_REPORT_DATA_TRUNCATION, MYSQL_OPT_RECONNECT - -const - MAX_MYSQL_MANAGER_ERR* = 256 - MAX_MYSQL_MANAGER_MSG* = 256 - MANAGER_OK* = 200 - MANAGER_INFO* = 250 - MANAGER_ACCESS* = 401 - MANAGER_CLIENT_ERR* = 450 - MANAGER_INTERNAL_ERR* = 500 - -type - st_dynamic_array*{.final.} = object - buffer*: cstring - elements*: cuint - max_element*: cuint - alloc_increment*: cuint - size_of_element*: cuint - - DYNAMIC_ARRAY* = st_dynamic_array - Pst_dynamic_array* = ptr st_dynamic_array - Pst_mysql_options* = ptr st_mysql_options - st_mysql_options*{.final.} = object - connect_timeout*: cuint - read_timeout*: cuint - write_timeout*: cuint - port*: cuint - protocol*: cuint - client_flag*: int - host*: cstring - user*: cstring - password*: cstring - unix_socket*: cstring - db*: cstring - init_commands*: Pst_dynamic_array - my_cnf_file*: cstring - my_cnf_group*: cstring - charset_dir*: cstring - charset_name*: cstring - ssl_key*: cstring # PEM key file - ssl_cert*: cstring # PEM cert file - ssl_ca*: cstring # PEM CA file - ssl_capath*: cstring # PEM directory of CA-s? - ssl_cipher*: cstring # cipher to use - shared_memory_base_name*: cstring - max_allowed_packet*: int - use_ssl*: my_bool # if to use SSL or not - compress*: my_bool - named_pipe*: my_bool # On connect, find out the replication role of the server, and - # establish connections to all the peers - rpl_probe*: my_bool # Each call to mysql_real_query() will parse it to tell if it is a read - # or a write, and direct it to the slave or the master - rpl_parse*: my_bool # If set, never read from a master, only from slave, when doing - # a read that is replication-aware - no_master_reads*: my_bool - separate_thread*: my_bool - methods_to_use*: mysql_option - client_ip*: cstring - secure_auth*: my_bool # Refuse client connecting to server if it uses old (pre-4.1.1) protocol - report_data_truncation*: my_bool # 0 - never report, 1 - always report (default) - # function pointers for local infile support - local_infile_init*: proc (para1: var pointer, para2: cstring, para3: pointer): cint{. - cdecl.} - local_infile_read*: proc (para1: pointer, para2: cstring, para3: cuint): cint - local_infile_end*: proc (para1: pointer) - local_infile_error*: proc (para1: pointer, para2: cstring, para3: cuint): cint - local_infile_userdata*: pointer - - mysql_status* = enum - MYSQL_STATUS_READY, MYSQL_STATUS_GET_RESULT, MYSQL_STATUS_USE_RESULT - mysql_protocol_type* = enum # There are three types of queries - the ones that have to go to - # the master, the ones that go to a slave, and the adminstrative - # type which must happen on the pivot connectioin - MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET, - MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY - mysql_rpl_type* = enum - MYSQL_RPL_MASTER, MYSQL_RPL_SLAVE, MYSQL_RPL_ADMIN - charset_info_st*{.final.} = object - number*: cuint - primary_number*: cuint - binary_number*: cuint - state*: cuint - csname*: cstring - name*: cstring - comment*: cstring - tailoring*: cstring - ftype*: cstring - to_lower*: cstring - to_upper*: cstring - sort_order*: cstring - contractions*: ptr int16 - sort_order_big*: ptr ptr int16 - tab_to_uni*: ptr int16 - tab_from_uni*: pointer # was ^MY_UNI_IDX - state_map*: cstring - ident_map*: cstring - strxfrm_multiply*: cuint - mbminlen*: cuint - mbmaxlen*: cuint - min_sort_char*: int16 - max_sort_char*: int16 - escape_with_backslash_is_dangerous*: my_bool - cset*: pointer # was ^MY_CHARSET_HANDLER - coll*: pointer # was ^MY_COLLATION_HANDLER; - - CHARSET_INFO* = charset_info_st - Pcharset_info_st* = ptr charset_info_st - Pcharacter_set* = ptr character_set - character_set*{.final.} = object - number*: cuint - state*: cuint - csname*: cstring - name*: cstring - comment*: cstring - dir*: cstring - mbminlen*: cuint - mbmaxlen*: cuint - - MY_CHARSET_INFO* = character_set - PMY_CHARSET_INFO* = ptr MY_CHARSET_INFO - Pst_mysql_methods* = ptr st_mysql_methods - Pst_mysql* = ptr st_mysql - st_mysql*{.final.} = object - net*: NET # Communication parameters - connector_fd*: gptr # ConnectorFd for SSL - host*: cstring - user*: cstring - passwd*: cstring - unix_socket*: cstring - server_version*: cstring - host_info*: cstring - info*: cstring - db*: cstring - charset*: Pcharset_info_st - fields*: PMYSQL_FIELD - field_alloc*: MEM_ROOT - affected_rows*: my_ulonglong - insert_id*: my_ulonglong # id if insert on table with NEXTNR - extra_info*: my_ulonglong # Used by mysqlshow, not used by mysql 5.0 and up - thread_id*: int # Id for connection in server - packet_length*: int - port*: cuint - client_flag*: int - server_capabilities*: int - protocol_version*: cuint - field_count*: cuint - server_status*: cuint - server_language*: cuint - warning_count*: cuint - options*: st_mysql_options - status*: mysql_status - free_me*: my_bool # If free in mysql_close - reconnect*: my_bool # set to 1 if automatic reconnect - scramble*: array[0..(SCRAMBLE_LENGTH + 1) - 1, char] # session-wide random string - # Set if this is the original connection, not a master or a slave we have - # added though mysql_rpl_probe() or mysql_set_master()/ mysql_add_slave() - rpl_pivot*: my_bool # Pointers to the master, and the next slave connections, points to - # itself if lone connection. - master*: Pst_mysql - next_slave*: Pst_mysql - last_used_slave*: Pst_mysql # needed for round-robin slave pick - last_used_con*: Pst_mysql # needed for send/read/store/use result to work correctly with replication - stmts*: Pointer # was PList, list of all statements - methods*: Pst_mysql_methods - thd*: pointer # Points to boolean flag in MYSQL_RES or MYSQL_STMT. We set this flag - # from mysql_stmt_close if close had to cancel result set of this object. - unbuffered_fetch_owner*: Pmy_bool - - MYSQL* = st_mysql - PMYSQL* = ptr MYSQL - Pst_mysql_res* = ptr st_mysql_res - st_mysql_res*{.final.} = object - row_count*: my_ulonglong - fields*: PMYSQL_FIELD - data*: PMYSQL_DATA - data_cursor*: PMYSQL_ROWS - lengths*: ptr int # column lengths of current row - handle*: PMYSQL # for unbuffered reads - field_alloc*: MEM_ROOT - field_count*: cuint - current_field*: cuint - row*: MYSQL_ROW # If unbuffered read - current_row*: MYSQL_ROW # buffer to current row - eof*: my_bool # Used by mysql_fetch_row - unbuffered_fetch_cancelled*: my_bool # mysql_stmt_close() had to cancel this result - methods*: Pst_mysql_methods - - MYSQL_RES* = st_mysql_res - PMYSQL_RES* = ptr MYSQL_RES - Pst_mysql_stmt* = ptr st_mysql_stmt - PMYSQL_STMT* = ptr MYSQL_STMT - st_mysql_methods*{.final.} = object - read_query_result*: proc (mysql: PMYSQL): my_bool{.cdecl.} - advanced_command*: proc (mysql: PMYSQL, command: enum_server_command, - header: cstring, header_length: int, - arg: cstring, arg_length: int, - skip_check: my_bool): my_bool - read_rows*: proc (mysql: PMYSQL, mysql_fields: PMYSQL_FIELD, fields: cuint): PMYSQL_DATA - use_result*: proc (mysql: PMYSQL): PMYSQL_RES - fetch_lengths*: proc (fto: ptr int, column: MYSQL_ROW, field_count: cuint) - flush_use_result*: proc (mysql: PMYSQL) - list_fields*: proc (mysql: PMYSQL): PMYSQL_FIELD - read_prepare_result*: proc (mysql: PMYSQL, stmt: PMYSQL_STMT): my_bool - stmt_execute*: proc (stmt: PMYSQL_STMT): cint - read_binary_rows*: proc (stmt: PMYSQL_STMT): cint - unbuffered_fetch*: proc (mysql: PMYSQL, row: cstringArray): cint - free_embedded_thd*: proc (mysql: PMYSQL) - read_statistics*: proc (mysql: PMYSQL): cstring - next_result*: proc (mysql: PMYSQL): my_bool - read_change_user_result*: proc (mysql: PMYSQL, buff: cstring, - passwd: cstring): cint - read_rowsfrom_cursor*: proc (stmt: PMYSQL_STMT): cint - - MYSQL_METHODS* = st_mysql_methods - PMYSQL_METHODS* = ptr MYSQL_METHODS - Pst_mysql_manager* = ptr st_mysql_manager - st_mysql_manager*{.final.} = object - net*: NET - host*: cstring - user*: cstring - passwd*: cstring - port*: cuint - free_me*: my_bool - eof*: my_bool - cmd_status*: cint - last_errno*: cint - net_buf*: cstring - net_buf_pos*: cstring - net_data_end*: cstring - net_buf_size*: cint - last_error*: array[0..(MAX_MYSQL_MANAGER_ERR) - 1, char] - - MYSQL_MANAGER* = st_mysql_manager - PMYSQL_MANAGER* = ptr MYSQL_MANAGER - Pst_mysql_parameters* = ptr st_mysql_parameters - st_mysql_parameters*{.final.} = object - p_max_allowed_packet*: ptr int - p_net_buffer_length*: ptr int - - MYSQL_PARAMETERS* = st_mysql_parameters - PMYSQL_PARAMETERS* = ptr MYSQL_PARAMETERS - enum_mysql_stmt_state* = enum - MYSQL_STMT_INIT_DONE = 1, MYSQL_STMT_PREPARE_DONE, MYSQL_STMT_EXECUTE_DONE, - MYSQL_STMT_FETCH_DONE - Pst_mysql_bind* = ptr st_mysql_bind - st_mysql_bind*{.final.} = object - len*: int # output length pointer - is_null*: Pmy_bool # Pointer to null indicator - buffer*: pointer # buffer to get/put data - error*: pmy_bool # set this if you want to track data truncations happened during fetch - buffer_type*: enum_field_types # buffer type - buffer_length*: int # buffer length, must be set for str/binary - # Following are for internal use. Set by mysql_stmt_bind_param - row_ptr*: ptr byte # for the current data position - offset*: int # offset position for char/binary fetch - length_value*: int # Used if length is 0 - param_number*: cuint # For null count and error messages - pack_length*: cuint # Internal length for packed data - error_value*: my_bool # used if error is 0 - is_unsigned*: my_bool # set if integer type is unsigned - long_data_used*: my_bool # If used with mysql_send_long_data - is_null_value*: my_bool # Used if is_null is 0 - store_param_func*: proc (net: PNET, param: Pst_mysql_bind){.cdecl.} - fetch_result*: proc (para1: Pst_mysql_bind, para2: PMYSQL_FIELD, row: PPbyte) - skip_result*: proc (para1: Pst_mysql_bind, para2: PMYSQL_FIELD, row: PPbyte) - - MYSQL_BIND* = st_mysql_bind - PMYSQL_BIND* = ptr MYSQL_BIND # statement handler - st_mysql_stmt*{.final.} = object - mem_root*: MEM_ROOT # root allocations - mysql*: PMYSQL # connection handle - params*: PMYSQL_BIND # input parameters - `bind`*: PMYSQL_BIND # input parameters - fields*: PMYSQL_FIELD # result set metadata - result*: MYSQL_DATA # cached result set - data_cursor*: PMYSQL_ROWS # current row in cached result - affected_rows*: my_ulonglong # copy of mysql->affected_rows after statement execution - insert_id*: my_ulonglong - read_row_func*: proc (stmt: Pst_mysql_stmt, row: PPbyte): cint{.cdecl.} - stmt_id*: int # Id for prepared statement - flags*: int # i.e. type of cursor to open - prefetch_rows*: int # number of rows per one COM_FETCH - server_status*: cuint # Copied from mysql->server_status after execute/fetch to know - # server-side cursor status for this statement. - last_errno*: cuint # error code - param_count*: cuint # input parameter count - field_count*: cuint # number of columns in result set - state*: enum_mysql_stmt_state # statement state - last_error*: array[0..(MYSQL_ERRMSG_SIZE) - 1, char] # error message - sqlstate*: array[0..(SQLSTATE_LENGTH + 1) - 1, char] - send_types_to_server*: my_bool # Types of input parameters should be sent to server - bind_param_done*: my_bool # input buffers were supplied - bind_result_done*: char # output buffers were supplied - unbuffered_fetch_cancelled*: my_bool - update_max_length*: my_bool - - MYSQL_STMT* = st_mysql_stmt # When doing mysql_stmt_store_result calculate max_length attribute - # of statement metadata. This is to be consistent with the old API, - # where this was done automatically. - # In the new API we do that only by request because it slows down - # mysql_stmt_store_result sufficiently. - enum_stmt_attr_type* = enum - STMT_ATTR_UPDATE_MAX_LENGTH, STMT_ATTR_CURSOR_TYPE, - STMT_ATTR_PREFETCH_ROWS - -proc mysql_server_init*(argc: cint, argv: cstringArray, groups: cstringArray): cint{.cdecl, - dynlib: mysqllib, importc: "mysql_server_init".} -proc mysql_server_end*(){.cdecl, dynlib: mysqllib, importc: "mysql_server_end".} - # mysql_server_init/end need to be called when using libmysqld or - # libmysqlclient (exactly, mysql_server_init() is called by mysql_init() so - # you don't need to call it explicitely; but you need to call - # mysql_server_end() to free memory). The names are a bit misleading - # (mysql_SERVER* to be used when using libmysqlCLIENT). So we add more general - # names which suit well whether you're using libmysqld or libmysqlclient. We - # intend to promote these aliases over the mysql_server* ones. -proc mysql_library_init*(argc: cint, argv: cstringArray, groups: cstringArray): cint{.cdecl, - dynlib: mysqllib, importc: "mysql_server_init".} -proc mysql_library_end*(){.cdecl, dynlib: mysqllib, importc: "mysql_server_end".} -proc mysql_get_parameters*(): PMYSQL_PARAMETERS{.stdcall, dynlib: mysqllib, - importc: "mysql_get_parameters".} - # Set up and bring down a thread; these function should be called - # for each thread in an application which opens at least one MySQL - # connection. All uses of the connection(s) should be between these - # function calls. -proc mysql_thread_init*(): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_thread_init".} -proc mysql_thread_end*(){.stdcall, dynlib: mysqllib, importc: "mysql_thread_end".} - # Functions to get information from the MYSQL and MYSQL_RES structures - # Should definitely be used if one uses shared libraries. -proc mysql_num_rows*(res: PMYSQL_RES): my_ulonglong{.stdcall, dynlib: mysqllib, - importc: "mysql_num_rows".} -proc mysql_num_fields*(res: PMYSQL_RES): cuint{.stdcall, dynlib: mysqllib, - importc: "mysql_num_fields".} -proc mysql_eof*(res: PMYSQL_RES): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_eof".} -proc mysql_fetch_field_direct*(res: PMYSQL_RES, fieldnr: cuint): PMYSQL_FIELD{. - stdcall, dynlib: mysqllib, importc: "mysql_fetch_field_direct".} -proc mysql_fetch_fields*(res: PMYSQL_RES): PMYSQL_FIELD{.stdcall, - dynlib: mysqllib, importc: "mysql_fetch_fields".} -proc mysql_row_tell*(res: PMYSQL_RES): MYSQL_ROW_OFFSET{.stdcall, - dynlib: mysqllib, importc: "mysql_row_tell".} -proc mysql_field_tell*(res: PMYSQL_RES): MYSQL_FIELD_OFFSET{.stdcall, - dynlib: mysqllib, importc: "mysql_field_tell".} -proc mysql_field_count*(mysql: PMYSQL): cuint{.stdcall, dynlib: mysqllib, - importc: "mysql_field_count".} -proc mysql_affected_rows*(mysql: PMYSQL): my_ulonglong{.stdcall, - dynlib: mysqllib, importc: "mysql_affected_rows".} -proc mysql_insert_id*(mysql: PMYSQL): my_ulonglong{.stdcall, dynlib: mysqllib, - importc: "mysql_insert_id".} -proc mysql_errno*(mysql: PMYSQL): cuint{.stdcall, dynlib: mysqllib, - importc: "mysql_errno".} -proc mysql_error*(mysql: PMYSQL): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_error".} -proc mysql_sqlstate*(mysql: PMYSQL): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_sqlstate".} -proc mysql_warning_count*(mysql: PMYSQL): cuint{.stdcall, dynlib: mysqllib, - importc: "mysql_warning_count".} -proc mysql_info*(mysql: PMYSQL): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_info".} -proc mysql_thread_id*(mysql: PMYSQL): int{.stdcall, dynlib: mysqllib, - importc: "mysql_thread_id".} -proc mysql_character_set_name*(mysql: PMYSQL): cstring{.stdcall, - dynlib: mysqllib, importc: "mysql_character_set_name".} -proc mysql_set_character_set*(mysql: PMYSQL, csname: cstring): int32{.stdcall, - dynlib: mysqllib, importc: "mysql_set_character_set".} -proc mysql_init*(mysql: PMYSQL): PMYSQL{.stdcall, dynlib: mysqllib, - importc: "mysql_init".} -proc mysql_ssl_set*(mysql: PMYSQL, key: cstring, cert: cstring, ca: cstring, - capath: cstring, cipher: cstring): my_bool{.stdcall, - dynlib: mysqllib, importc: "mysql_ssl_set".} -proc mysql_change_user*(mysql: PMYSQL, user: cstring, passwd: cstring, - db: cstring): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_change_user".} -proc mysql_real_connect*(mysql: PMYSQL, host: cstring, user: cstring, - passwd: cstring, db: cstring, port: cuint, - unix_socket: cstring, clientflag: int): PMYSQL{. - stdcall, dynlib: mysqllib, importc: "mysql_real_connect".} -proc mysql_select_db*(mysql: PMYSQL, db: cstring): cint{.stdcall, - dynlib: mysqllib, importc: "mysql_select_db".} -proc mysql_query*(mysql: PMYSQL, q: cstring): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_query".} -proc mysql_send_query*(mysql: PMYSQL, q: cstring, len: int): cint{.stdcall, - dynlib: mysqllib, importc: "mysql_send_query".} -proc mysql_real_query*(mysql: PMYSQL, q: cstring, len: int): cint{.stdcall, - dynlib: mysqllib, importc: "mysql_real_query".} -proc mysql_store_result*(mysql: PMYSQL): PMYSQL_RES{.stdcall, dynlib: mysqllib, - importc: "mysql_store_result".} -proc mysql_use_result*(mysql: PMYSQL): PMYSQL_RES{.stdcall, dynlib: mysqllib, - importc: "mysql_use_result".} - # perform query on master -proc mysql_master_query*(mysql: PMYSQL, q: cstring, len: int): my_bool{. - stdcall, dynlib: mysqllib, importc: "mysql_master_query".} -proc mysql_master_send_query*(mysql: PMYSQL, q: cstring, len: int): my_bool{. - stdcall, dynlib: mysqllib, importc: "mysql_master_send_query".} - # perform query on slave -proc mysql_slave_query*(mysql: PMYSQL, q: cstring, len: int): my_bool{. - stdcall, dynlib: mysqllib, importc: "mysql_slave_query".} -proc mysql_slave_send_query*(mysql: PMYSQL, q: cstring, len: int): my_bool{. - stdcall, dynlib: mysqllib, importc: "mysql_slave_send_query".} -proc mysql_get_character_set_info*(mysql: PMYSQL, charset: PMY_CHARSET_INFO){. - stdcall, dynlib: mysqllib, importc: "mysql_get_character_set_info".} - # local infile support -const - LOCAL_INFILE_ERROR_LEN* = 512 - -# procedure mysql_set_local_infile_handler(mysql:PMYSQL; local_infile_init:function (para1:Ppointer; para2:Pchar; para3:pointer):longint; local_infile_read:function (para1:pointer; para2:Pchar; para3:dword):longint; local_infile_end:procedure (_pa -# para6:pointer);cdecl;external mysqllib name 'mysql_set_local_infile_handler'; - -proc mysql_set_local_infile_default*(mysql: PMYSQL){.cdecl, dynlib: mysqllib, - importc: "mysql_set_local_infile_default".} - # enable/disable parsing of all queries to decide if they go on master or - # slave -proc mysql_enable_rpl_parse*(mysql: PMYSQL){.stdcall, dynlib: mysqllib, - importc: "mysql_enable_rpl_parse".} -proc mysql_disable_rpl_parse*(mysql: PMYSQL){.stdcall, dynlib: mysqllib, - importc: "mysql_disable_rpl_parse".} - # get the value of the parse flag -proc mysql_rpl_parse_enabled*(mysql: PMYSQL): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_rpl_parse_enabled".} - # enable/disable reads from master -proc mysql_enable_reads_from_master*(mysql: PMYSQL){.stdcall, dynlib: mysqllib, - importc: "mysql_enable_reads_from_master".} -proc mysql_disable_reads_from_master*(mysql: PMYSQL){.stdcall, dynlib: mysqllib, - importc: "mysql_disable_reads_from_master".} - # get the value of the master read flag -proc mysql_reads_from_master_enabled*(mysql: PMYSQL): my_bool{.stdcall, - dynlib: mysqllib, importc: "mysql_reads_from_master_enabled".} -proc mysql_rpl_query_type*(q: cstring, length: cint): mysql_rpl_type{.stdcall, - dynlib: mysqllib, importc: "mysql_rpl_query_type".} - # discover the master and its slaves -proc mysql_rpl_probe*(mysql: PMYSQL): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_rpl_probe".} - # set the master, close/free the old one, if it is not a pivot -proc mysql_set_master*(mysql: PMYSQL, host: cstring, port: cuint, user: cstring, - passwd: cstring): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_set_master".} -proc mysql_add_slave*(mysql: PMYSQL, host: cstring, port: cuint, user: cstring, - passwd: cstring): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_add_slave".} -proc mysql_shutdown*(mysql: PMYSQL, shutdown_level: mysql_enum_shutdown_level): cint{. - stdcall, dynlib: mysqllib, importc: "mysql_shutdown".} -proc mysql_dump_debug_info*(mysql: PMYSQL): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_dump_debug_info".} -proc mysql_refresh*(mysql: PMYSQL, refresh_options: cuint): cint{.stdcall, - dynlib: mysqllib, importc: "mysql_refresh".} -proc mysql_kill*(mysql: PMYSQL, pid: int): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_kill".} -proc mysql_set_server_option*(mysql: PMYSQL, option: enum_mysql_set_option): cint{. - stdcall, dynlib: mysqllib, importc: "mysql_set_server_option".} -proc mysql_ping*(mysql: PMYSQL): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_ping".} -proc mysql_stat*(mysql: PMYSQL): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_stat".} -proc mysql_get_server_info*(mysql: PMYSQL): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_get_server_info".} -proc mysql_get_client_info*(): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_get_client_info".} -proc mysql_get_client_version*(): int{.stdcall, dynlib: mysqllib, - importc: "mysql_get_client_version".} -proc mysql_get_host_info*(mysql: PMYSQL): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_get_host_info".} -proc mysql_get_server_version*(mysql: PMYSQL): int{.stdcall, - dynlib: mysqllib, importc: "mysql_get_server_version".} -proc mysql_get_proto_info*(mysql: PMYSQL): cuint{.stdcall, dynlib: mysqllib, - importc: "mysql_get_proto_info".} -proc mysql_list_dbs*(mysql: PMYSQL, wild: cstring): PMYSQL_RES{.stdcall, - dynlib: mysqllib, importc: "mysql_list_dbs".} -proc mysql_list_tables*(mysql: PMYSQL, wild: cstring): PMYSQL_RES{.stdcall, - dynlib: mysqllib, importc: "mysql_list_tables".} -proc mysql_list_processes*(mysql: PMYSQL): PMYSQL_RES{.stdcall, - dynlib: mysqllib, importc: "mysql_list_processes".} -proc mysql_options*(mysql: PMYSQL, option: mysql_option, arg: cstring): cint{. - stdcall, dynlib: mysqllib, importc: "mysql_options".} -proc mysql_free_result*(result: PMYSQL_RES){.stdcall, dynlib: mysqllib, - importc: "mysql_free_result".} -proc mysql_data_seek*(result: PMYSQL_RES, offset: my_ulonglong){.stdcall, - dynlib: mysqllib, importc: "mysql_data_seek".} -proc mysql_row_seek*(result: PMYSQL_RES, offset: MYSQL_ROW_OFFSET): MYSQL_ROW_OFFSET{. - stdcall, dynlib: mysqllib, importc: "mysql_row_seek".} -proc mysql_field_seek*(result: PMYSQL_RES, offset: MYSQL_FIELD_OFFSET): MYSQL_FIELD_OFFSET{. - stdcall, dynlib: mysqllib, importc: "mysql_field_seek".} -proc mysql_fetch_row*(result: PMYSQL_RES): MYSQL_ROW{.stdcall, dynlib: mysqllib, - importc: "mysql_fetch_row".} -proc mysql_fetch_lengths*(result: PMYSQL_RES): ptr int{.stdcall, - dynlib: mysqllib, importc: "mysql_fetch_lengths".} -proc mysql_fetch_field*(result: PMYSQL_RES): PMYSQL_FIELD{.stdcall, - dynlib: mysqllib, importc: "mysql_fetch_field".} -proc mysql_list_fields*(mysql: PMYSQL, table: cstring, wild: cstring): PMYSQL_RES{. - stdcall, dynlib: mysqllib, importc: "mysql_list_fields".} -proc mysql_escape_string*(fto: cstring, `from`: cstring, from_length: int): int{. - stdcall, dynlib: mysqllib, importc: "mysql_escape_string".} -proc mysql_hex_string*(fto: cstring, `from`: cstring, from_length: int): int{. - stdcall, dynlib: mysqllib, importc: "mysql_hex_string".} -proc mysql_real_escape_string*(mysql: PMYSQL, fto: cstring, `from`: cstring, - len: int): int{.stdcall, dynlib: mysqllib, - importc: "mysql_real_escape_string".} -proc mysql_debug*(debug: cstring){.stdcall, dynlib: mysqllib, - importc: "mysql_debug".} - # function mysql_odbc_escape_string(mysql:PMYSQL; fto:Pchar; to_length:dword; from:Pchar; from_length:dword; - # param:pointer; extend_buffer:function (para1:pointer; to:Pchar; length:Pdword):Pchar):Pchar;stdcall;external mysqllib name 'mysql_odbc_escape_string'; -proc myodbc_remove_escape*(mysql: PMYSQL, name: cstring){.stdcall, - dynlib: mysqllib, importc: "myodbc_remove_escape".} -proc mysql_thread_safe*(): cuint{.stdcall, dynlib: mysqllib, - importc: "mysql_thread_safe".} -proc mysql_embedded*(): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_embedded".} -proc mysql_manager_init*(con: PMYSQL_MANAGER): PMYSQL_MANAGER{.stdcall, - dynlib: mysqllib, importc: "mysql_manager_init".} -proc mysql_manager_connect*(con: PMYSQL_MANAGER, host: cstring, user: cstring, - passwd: cstring, port: cuint): PMYSQL_MANAGER{. - stdcall, dynlib: mysqllib, importc: "mysql_manager_connect".} -proc mysql_manager_close*(con: PMYSQL_MANAGER){.stdcall, dynlib: mysqllib, - importc: "mysql_manager_close".} -proc mysql_manager_command*(con: PMYSQL_MANAGER, cmd: cstring, cmd_len: cint): cint{. - stdcall, dynlib: mysqllib, importc: "mysql_manager_command".} -proc mysql_manager_fetch_line*(con: PMYSQL_MANAGER, res_buf: cstring, - res_buf_size: cint): cint{.stdcall, - dynlib: mysqllib, importc: "mysql_manager_fetch_line".} -proc mysql_read_query_result*(mysql: PMYSQL): my_bool{.stdcall, - dynlib: mysqllib, importc: "mysql_read_query_result".} -proc mysql_stmt_init*(mysql: PMYSQL): PMYSQL_STMT{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_init".} -proc mysql_stmt_prepare*(stmt: PMYSQL_STMT, query: cstring, len: int): cint{. - stdcall, dynlib: mysqllib, importc: "mysql_stmt_prepare".} -proc mysql_stmt_execute*(stmt: PMYSQL_STMT): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_execute".} -proc mysql_stmt_fetch*(stmt: PMYSQL_STMT): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_fetch".} -proc mysql_stmt_fetch_column*(stmt: PMYSQL_STMT, `bind`: PMYSQL_BIND, - column: cuint, offset: int): cint{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_fetch_column".} -proc mysql_stmt_store_result*(stmt: PMYSQL_STMT): cint{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_store_result".} -proc mysql_stmt_param_count*(stmt: PMYSQL_STMT): int{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_param_count".} -proc mysql_stmt_attr_set*(stmt: PMYSQL_STMT, attr_type: enum_stmt_attr_type, - attr: pointer): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_attr_set".} -proc mysql_stmt_attr_get*(stmt: PMYSQL_STMT, attr_type: enum_stmt_attr_type, - attr: pointer): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_attr_get".} -proc mysql_stmt_bind_param*(stmt: PMYSQL_STMT, bnd: PMYSQL_BIND): my_bool{. - stdcall, dynlib: mysqllib, importc: "mysql_stmt_bind_param".} -proc mysql_stmt_bind_result*(stmt: PMYSQL_STMT, bnd: PMYSQL_BIND): my_bool{. - stdcall, dynlib: mysqllib, importc: "mysql_stmt_bind_result".} -proc mysql_stmt_close*(stmt: PMYSQL_STMT): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_close".} -proc mysql_stmt_reset*(stmt: PMYSQL_STMT): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_reset".} -proc mysql_stmt_free_result*(stmt: PMYSQL_STMT): my_bool{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_free_result".} -proc mysql_stmt_send_long_data*(stmt: PMYSQL_STMT, param_number: cuint, - data: cstring, len: int): my_bool{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_send_long_data".} -proc mysql_stmt_result_metadata*(stmt: PMYSQL_STMT): PMYSQL_RES{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_result_metadata".} -proc mysql_stmt_param_metadata*(stmt: PMYSQL_STMT): PMYSQL_RES{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_param_metadata".} -proc mysql_stmt_errno*(stmt: PMYSQL_STMT): cuint{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_errno".} -proc mysql_stmt_error*(stmt: PMYSQL_STMT): cstring{.stdcall, dynlib: mysqllib, - importc: "mysql_stmt_error".} -proc mysql_stmt_sqlstate*(stmt: PMYSQL_STMT): cstring{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_sqlstate".} -proc mysql_stmt_row_seek*(stmt: PMYSQL_STMT, offset: MYSQL_ROW_OFFSET): MYSQL_ROW_OFFSET{. - stdcall, dynlib: mysqllib, importc: "mysql_stmt_row_seek".} -proc mysql_stmt_row_tell*(stmt: PMYSQL_STMT): MYSQL_ROW_OFFSET{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_row_tell".} -proc mysql_stmt_data_seek*(stmt: PMYSQL_STMT, offset: my_ulonglong){.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_data_seek".} -proc mysql_stmt_num_rows*(stmt: PMYSQL_STMT): my_ulonglong{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_num_rows".} -proc mysql_stmt_affected_rows*(stmt: PMYSQL_STMT): my_ulonglong{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_affected_rows".} -proc mysql_stmt_insert_id*(stmt: PMYSQL_STMT): my_ulonglong{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_insert_id".} -proc mysql_stmt_field_count*(stmt: PMYSQL_STMT): cuint{.stdcall, - dynlib: mysqllib, importc: "mysql_stmt_field_count".} -proc mysql_commit*(mysql: PMYSQL): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_commit".} -proc mysql_rollback*(mysql: PMYSQL): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_rollback".} -proc mysql_autocommit*(mysql: PMYSQL, auto_mode: my_bool): my_bool{.stdcall, - dynlib: mysqllib, importc: "mysql_autocommit".} -proc mysql_more_results*(mysql: PMYSQL): my_bool{.stdcall, dynlib: mysqllib, - importc: "mysql_more_results".} -proc mysql_next_result*(mysql: PMYSQL): cint{.stdcall, dynlib: mysqllib, - importc: "mysql_next_result".} -proc mysql_close*(sock: PMYSQL){.stdcall, dynlib: mysqllib, - importc: "mysql_close".} - # status return codes -const - MYSQL_NO_DATA* = 100 - MYSQL_DATA_TRUNCATED* = 101 - -proc mysql_reload*(mysql: PMySQL): cint - -when defined(USE_OLD_FUNCTIONS): - proc mysql_connect*(mysql: PMYSQL, host: cstring, user: cstring, - passwd: cstring): PMYSQL{.stdcall, - dynlib: External_library, importc: "mysql_connect".} - proc mysql_create_db*(mysql: PMYSQL, DB: cstring): cint{.stdcall, - dynlib: External_library, importc: "mysql_create_db".} - proc mysql_drop_db*(mysql: PMYSQL, DB: cstring): cint{.stdcall, - dynlib: External_library, importc: "mysql_drop_db".} - -proc net_safe_read*(mysql: PMYSQL): cuint{.cdecl, dynlib: mysqllib, - importc: "net_safe_read".} - -proc net_new_transaction(net: st_net): st_net = - assert false - #net.pkt_nr = 0 - result = net - -proc IS_PRI_KEY(n: int32): bool = - result = (n and PRI_KEY_FLAG) != 0 - -proc IS_NOT_NULL(n: int32): bool = - result = (n and NOT_NULL_FLAG) != 0 - -proc IS_BLOB(n: int32): bool = - result = (n and BLOB_FLAG) != 0 - -proc IS_NUM_FIELD(f: pst_mysql_field): bool = - result = (f.flags and NUM_FLAG) != 0 - -proc IS_NUM(t: enum_field_types): bool = - result = (t <= FIELD_TYPE_INT24) or (t == FIELD_TYPE_YEAR) or - (t == FIELD_TYPE_NEWDECIMAL) - -proc INTERNAL_NUM_FIELD(f: Pst_mysql_field): bool = - result = (f.ftype <= FIELD_TYPE_INT24) and - ((f.ftype != FIELD_TYPE_TIMESTAMP) or (f.len == 14) or (f.len == 8)) or - (f.ftype == FIELD_TYPE_YEAR) - -proc mysql_reload(mysql: PMySQL): cint = - result = mysql_refresh(mysql, REFRESH_GRANT) - diff --git a/lib/oldwrappers/odbcsql.nim b/lib/oldwrappers/odbcsql.nim deleted file mode 100755 index 77719e85f..000000000 --- a/lib/oldwrappers/odbcsql.nim +++ /dev/null @@ -1,788 +0,0 @@ - -{.deadCodeElim: on.} - -when not defined(ODBCVER): - const - ODBCVER = 0x0351 ## define ODBC version 3.51 by default - -when defined(windows): - {.push callconv: stdcall.} - const odbclib = "odbc32.dll" -else: - {.push callconv: cdecl.} - const odbclib = "libodbc.so" - -# DATA TYPES CORRESPONDENCE -# BDE fields ODBC types -# ---------- ------------------ -# ftBlob SQL_BINARY -# ftBoolean SQL_BIT -# ftDate SQL_TYPE_DATE -# ftTime SQL_TYPE_TIME -# ftDateTime SQL_TYPE_TIMESTAMP -# ftInteger SQL_INTEGER -# ftSmallint SQL_SMALLINT -# ftFloat SQL_DOUBLE -# ftString SQL_CHAR -# ftMemo SQL_BINARY // SQL_VARCHAR -# - -type - TSqlChar* = char - TSqlSmallInt* = int16 - TSqlUSmallInt* = int16 - TSqlHandle* = pointer - TSqlHEnv* = TSqlHandle - TSqlHDBC* = TSqlHandle - TSqlHStmt* = TSqlHandle - TSqlHDesc* = TSqlHandle - TSqlInteger* = int - TSqlUInteger* = int - TSqlPointer* = pointer - TSqlReal* = cfloat - TSqlDouble* = cdouble - TSqlFloat* = cdouble - TSqlHWND* = pointer - PSQLCHAR* = cstring - PSQLINTEGER* = ptr TSqlInteger - PSQLUINTEGER* = ptr TSqlUInteger - PSQLSMALLINT* = ptr TSqlSmallInt - PSQLUSMALLINT* = ptr TSqlUSmallInt - PSQLREAL* = ptr TSqlReal - PSQLDOUBLE* = ptr TSqlDouble - PSQLFLOAT* = ptr TSqlFloat - PSQLHANDLE* = ptr TSqlHandle - -const # SQL data type codes - SQL_UNKNOWN_TYPE* = 0 - SQL_LONGVARCHAR* = (- 1) - SQL_BINARY* = (- 2) - SQL_VARBINARY* = (- 3) - SQL_LONGVARBINARY* = (- 4) - SQL_BIGINT* = (- 5) - SQL_TINYINT* = (- 6) - SQL_BIT* = (- 7) - SQL_WCHAR* = (- 8) - SQL_WVARCHAR* = (- 9) - SQL_WLONGVARCHAR* = (- 10) - SQL_CHAR* = 1 - SQL_NUMERIC* = 2 - SQL_DECIMAL* = 3 - SQL_INTEGER* = 4 - SQL_SMALLINT* = 5 - SQL_FLOAT* = 6 - SQL_REAL* = 7 - SQL_DOUBLE* = 8 - SQL_DATETIME* = 9 - SQL_VARCHAR* = 12 - SQL_TYPE_DATE* = 91 - SQL_TYPE_TIME* = 92 - SQL_TYPE_TIMESTAMP* = 93 - SQL_DATE* = 9 - SQL_TIME* = 10 - SQL_TIMESTAMP* = 11 - SQL_INTERVAL* = 10 - SQL_GUID* = - 11 # interval codes - -when ODBCVER >= 0x0300: - const - SQL_CODE_YEAR* = 1 - SQL_CODE_MONTH* = 2 - SQL_CODE_DAY* = 3 - SQL_CODE_HOUR* = 4 - SQL_CODE_MINUTE* = 5 - SQL_CODE_SECOND* = 6 - SQL_CODE_YEAR_TO_MONTH* = 7 - SQL_CODE_DAY_TO_HOUR* = 8 - SQL_CODE_DAY_TO_MINUTE* = 9 - SQL_CODE_DAY_TO_SECOND* = 10 - SQL_CODE_HOUR_TO_MINUTE* = 11 - SQL_CODE_HOUR_TO_SECOND* = 12 - SQL_CODE_MINUTE_TO_SECOND* = 13 - SQL_INTERVAL_YEAR* = 100 + SQL_CODE_YEAR - SQL_INTERVAL_MONTH* = 100 + SQL_CODE_MONTH - SQL_INTERVAL_DAY* = 100 + SQL_CODE_DAY - SQL_INTERVAL_HOUR* = 100 + SQL_CODE_HOUR - SQL_INTERVAL_MINUTE* = 100 + SQL_CODE_MINUTE - SQL_INTERVAL_SECOND* = 100 + SQL_CODE_SECOND - SQL_INTERVAL_YEAR_TO_MONTH* = 100 + SQL_CODE_YEAR_TO_MONTH - SQL_INTERVAL_DAY_TO_HOUR* = 100 + SQL_CODE_DAY_TO_HOUR - SQL_INTERVAL_DAY_TO_MINUTE* = 100 + SQL_CODE_DAY_TO_MINUTE - SQL_INTERVAL_DAY_TO_SECOND* = 100 + SQL_CODE_DAY_TO_SECOND - SQL_INTERVAL_HOUR_TO_MINUTE* = 100 + SQL_CODE_HOUR_TO_MINUTE - SQL_INTERVAL_HOUR_TO_SECOND* = 100 + SQL_CODE_HOUR_TO_SECOND - SQL_INTERVAL_MINUTE_TO_SECOND* = 100 + SQL_CODE_MINUTE_TO_SECOND -else: - const - SQL_INTERVAL_YEAR* = - 80 - SQL_INTERVAL_MONTH* = - 81 - SQL_INTERVAL_YEAR_TO_MONTH* = - 82 - SQL_INTERVAL_DAY* = - 83 - SQL_INTERVAL_HOUR* = - 84 - SQL_INTERVAL_MINUTE* = - 85 - SQL_INTERVAL_SECOND* = - 86 - SQL_INTERVAL_DAY_TO_HOUR* = - 87 - SQL_INTERVAL_DAY_TO_MINUTE* = - 88 - SQL_INTERVAL_DAY_TO_SECOND* = - 89 - SQL_INTERVAL_HOUR_TO_MINUTE* = - 90 - SQL_INTERVAL_HOUR_TO_SECOND* = - 91 - SQL_INTERVAL_MINUTE_TO_SECOND* = - 92 - - -when ODBCVER < 0x0300: - const - SQL_UNICODE* = - 95 - SQL_UNICODE_VARCHAR* = - 96 - SQL_UNICODE_LONGVARCHAR* = - 97 - SQL_UNICODE_CHAR* = SQL_UNICODE -else: - # The previous definitions for SQL_UNICODE_ are historical and obsolete - const - SQL_UNICODE* = SQL_WCHAR - SQL_UNICODE_VARCHAR* = SQL_WVARCHAR - SQL_UNICODE_LONGVARCHAR* = SQL_WLONGVARCHAR - SQL_UNICODE_CHAR* = SQL_WCHAR -const # C datatype to SQL datatype mapping - SQL_C_CHAR* = SQL_CHAR - SQL_C_LONG* = SQL_INTEGER - SQL_C_SHORT* = SQL_SMALLINT - SQL_C_FLOAT* = SQL_REAL - SQL_C_DOUBLE* = SQL_DOUBLE - SQL_C_NUMERIC* = SQL_NUMERIC - SQL_C_DEFAULT* = 99 - SQL_SIGNED_OFFSET* = - 20 - SQL_UNSIGNED_OFFSET* = - 22 - SQL_C_DATE* = SQL_DATE - SQL_C_TIME* = SQL_TIME - SQL_C_TIMESTAMP* = SQL_TIMESTAMP - SQL_C_TYPE_DATE* = SQL_TYPE_DATE - SQL_C_TYPE_TIME* = SQL_TYPE_TIME - SQL_C_TYPE_TIMESTAMP* = SQL_TYPE_TIMESTAMP - SQL_C_INTERVAL_YEAR* = SQL_INTERVAL_YEAR - SQL_C_INTERVAL_MONTH* = SQL_INTERVAL_MONTH - SQL_C_INTERVAL_DAY* = SQL_INTERVAL_DAY - SQL_C_INTERVAL_HOUR* = SQL_INTERVAL_HOUR - SQL_C_INTERVAL_MINUTE* = SQL_INTERVAL_MINUTE - SQL_C_INTERVAL_SECOND* = SQL_INTERVAL_SECOND - SQL_C_INTERVAL_YEAR_TO_MONTH* = SQL_INTERVAL_YEAR_TO_MONTH - SQL_C_INTERVAL_DAY_TO_HOUR* = SQL_INTERVAL_DAY_TO_HOUR - SQL_C_INTERVAL_DAY_TO_MINUTE* = SQL_INTERVAL_DAY_TO_MINUTE - SQL_C_INTERVAL_DAY_TO_SECOND* = SQL_INTERVAL_DAY_TO_SECOND - SQL_C_INTERVAL_HOUR_TO_MINUTE* = SQL_INTERVAL_HOUR_TO_MINUTE - SQL_C_INTERVAL_HOUR_TO_SECOND* = SQL_INTERVAL_HOUR_TO_SECOND - SQL_C_INTERVAL_MINUTE_TO_SECOND* = SQL_INTERVAL_MINUTE_TO_SECOND - SQL_C_BINARY* = SQL_BINARY - SQL_C_BIT* = SQL_BIT - SQL_C_SBIGINT* = SQL_BIGINT + SQL_SIGNED_OFFSET # SIGNED BIGINT - SQL_C_UBIGINT* = SQL_BIGINT + SQL_UNSIGNED_OFFSET # UNSIGNED BIGINT - SQL_C_TINYINT* = SQL_TINYINT - SQL_C_SLONG* = SQL_C_LONG + SQL_SIGNED_OFFSET # SIGNED INTEGER - SQL_C_SSHORT* = SQL_C_SHORT + SQL_SIGNED_OFFSET # SIGNED SMALLINT - SQL_C_STINYINT* = SQL_TINYINT + SQL_SIGNED_OFFSET # SIGNED TINYINT - SQL_C_ULONG* = SQL_C_LONG + SQL_UNSIGNED_OFFSET # UNSIGNED INTEGER - SQL_C_USHORT* = SQL_C_SHORT + SQL_UNSIGNED_OFFSET # UNSIGNED SMALLINT - SQL_C_UTINYINT* = SQL_TINYINT + SQL_UNSIGNED_OFFSET # UNSIGNED TINYINT - SQL_C_BOOKMARK* = SQL_C_ULONG # BOOKMARK - SQL_C_GUID* = SQL_GUID - SQL_TYPE_NULL* = 0 - -when ODBCVER < 0x0300: - const - SQL_TYPE_MIN* = SQL_BIT - SQL_TYPE_MAX* = SQL_VARCHAR - -const - SQL_C_VARBOOKMARK* = SQL_C_BINARY - SQL_API_SQLDESCRIBEPARAM* = 58 - SQL_NO_TOTAL* = - 4 - -type - SQL_DATE_STRUCT* {.final, pure.} = object - Year*: TSqlSmallInt - Month*: TSqlUSmallInt - Day*: TSqlUSmallInt - - PSQL_DATE_STRUCT* = ptr SQL_DATE_STRUCT - SQL_TIME_STRUCT* {.final, pure.} = object - Hour*: TSqlUSmallInt - Minute*: TSqlUSmallInt - Second*: TSqlUSmallInt - - PSQL_TIME_STRUCT* = ptr SQL_TIME_STRUCT - SQL_TIMESTAMP_STRUCT* {.final, pure.} = object - Year*: TSqlUSmallInt - Month*: TSqlUSmallInt - Day*: TSqlUSmallInt - Hour*: TSqlUSmallInt - Minute*: TSqlUSmallInt - Second*: TSqlUSmallInt - Fraction*: TSqlUInteger - - PSQL_TIMESTAMP_STRUCT* = ptr SQL_TIMESTAMP_STRUCT - -const - SQL_NAME_LEN* = 128 - SQL_OV_ODBC3* = 3 - SQL_OV_ODBC2* = 2 - SQL_ATTR_ODBC_VERSION* = 200 # Options for SQLDriverConnect - SQL_DRIVER_NOPROMPT* = 0 - SQL_DRIVER_COMPLETE* = 1 - SQL_DRIVER_PROMPT* = 2 - SQL_DRIVER_COMPLETE_REQUIRED* = 3 - SQL_IS_POINTER* = (- 4) # whether an attribute is a pointer or not - SQL_IS_UINTEGER* = (- 5) - SQL_IS_INTEGER* = (- 6) - SQL_IS_USMALLINT* = (- 7) - SQL_IS_SMALLINT* = (- 8) # SQLExtendedFetch "fFetchType" values - SQL_FETCH_BOOKMARK* = 8 - SQL_SCROLL_OPTIONS* = 44 # SQL_USE_BOOKMARKS options - SQL_UB_OFF* = 0 - SQL_UB_ON* = 1 - SQL_UB_DEFAULT* = SQL_UB_OFF - SQL_UB_FIXED* = SQL_UB_ON - SQL_UB_VARIABLE* = 2 # SQL_SCROLL_OPTIONS masks - SQL_SO_FORWARD_ONLY* = 0x00000001 - SQL_SO_KEYSET_DRIVEN* = 0x00000002 - SQL_SO_DYNAMIC* = 0x00000004 - SQL_SO_MIXED* = 0x00000008 - SQL_SO_STATIC* = 0x00000010 - SQL_BOOKMARK_PERSISTENCE* = 82 - SQL_STATIC_SENSITIVITY* = 83 # SQL_BOOKMARK_PERSISTENCE values - SQL_BP_CLOSE* = 0x00000001 - SQL_BP_DELETE* = 0x00000002 - SQL_BP_DROP* = 0x00000004 - SQL_BP_TRANSACTION* = 0x00000008 - SQL_BP_UPDATE* = 0x00000010 - SQL_BP_OTHER_HSTMT* = 0x00000020 - SQL_BP_SCROLL* = 0x00000040 - SQL_DYNAMIC_CURSOR_ATTRIBUTES1* = 144 - SQL_DYNAMIC_CURSOR_ATTRIBUTES2* = 145 - SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1* = 146 - SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2* = 147 - SQL_INDEX_KEYWORDS* = 148 - SQL_INFO_SCHEMA_VIEWS* = 149 - SQL_KEYSET_CURSOR_ATTRIBUTES1* = 150 - SQL_KEYSET_CURSOR_ATTRIBUTES2* = 151 - SQL_STATIC_CURSOR_ATTRIBUTES1* = 167 - SQL_STATIC_CURSOR_ATTRIBUTES2* = 168 # supported SQLFetchScroll FetchOrientation's - SQL_CA1_NEXT* = 1 - SQL_CA1_ABSOLUTE* = 2 - SQL_CA1_RELATIVE* = 4 - SQL_CA1_BOOKMARK* = 8 # supported SQLSetPos LockType's - SQL_CA1_LOCK_NO_CHANGE* = 0x00000040 - SQL_CA1_LOCK_EXCLUSIVE* = 0x00000080 - SQL_CA1_LOCK_UNLOCK* = 0x00000100 # supported SQLSetPos Operations - SQL_CA1_POS_POSITION* = 0x00000200 - SQL_CA1_POS_UPDATE* = 0x00000400 - SQL_CA1_POS_DELETE* = 0x00000800 - SQL_CA1_POS_REFRESH* = 0x00001000 # positioned updates and deletes - SQL_CA1_POSITIONED_UPDATE* = 0x00002000 - SQL_CA1_POSITIONED_DELETE* = 0x00004000 - SQL_CA1_SELECT_FOR_UPDATE* = 0x00008000 # supported SQLBulkOperations operations - SQL_CA1_BULK_ADD* = 0x00010000 - SQL_CA1_BULK_UPDATE_BY_BOOKMARK* = 0x00020000 - SQL_CA1_BULK_DELETE_BY_BOOKMARK* = 0x00040000 - SQL_CA1_BULK_FETCH_BY_BOOKMARK* = 0x00080000 # supported values for SQL_ATTR_SCROLL_CONCURRENCY - SQL_CA2_READ_ONLY_CONCURRENCY* = 1 - SQL_CA2_LOCK_CONCURRENCY* = 2 - SQL_CA2_OPT_ROWVER_CONCURRENCY* = 4 - SQL_CA2_OPT_VALUES_CONCURRENCY* = 8 # sensitivity of the cursor to its own inserts, deletes, and updates - SQL_CA2_SENSITIVITY_ADDITIONS* = 0x00000010 - SQL_CA2_SENSITIVITY_DELETIONS* = 0x00000020 - SQL_CA2_SENSITIVITY_UPDATES* = 0x00000040 # semantics of SQL_ATTR_MAX_ROWS - SQL_CA2_MAX_ROWS_SELECT* = 0x00000080 - SQL_CA2_MAX_ROWS_INSERT* = 0x00000100 - SQL_CA2_MAX_ROWS_DELETE* = 0x00000200 - SQL_CA2_MAX_ROWS_UPDATE* = 0x00000400 - SQL_CA2_MAX_ROWS_CATALOG* = 0x00000800 - SQL_CA2_MAX_ROWS_AFFECTS_ALL* = (SQL_CA2_MAX_ROWS_SELECT or - SQL_CA2_MAX_ROWS_INSERT or SQL_CA2_MAX_ROWS_DELETE or - SQL_CA2_MAX_ROWS_UPDATE or SQL_CA2_MAX_ROWS_CATALOG) # semantics of - # SQL_DIAG_CURSOR_ROW_COUNT - SQL_CA2_CRC_EXACT* = 0x00001000 - SQL_CA2_CRC_APPROXIMATE* = 0x00002000 # the kinds of positioned statements that can be simulated - SQL_CA2_SIMULATE_NON_UNIQUE* = 0x00004000 - SQL_CA2_SIMULATE_TRY_UNIQUE* = 0x00008000 - SQL_CA2_SIMULATE_UNIQUE* = 0x00010000 # Operations in SQLBulkOperations - SQL_ADD* = 4 - SQL_SETPOS_MAX_OPTION_VALUE* = SQL_ADD - SQL_UPDATE_BY_BOOKMARK* = 5 - SQL_DELETE_BY_BOOKMARK* = 6 - SQL_FETCH_BY_BOOKMARK* = 7 # Operations in SQLSetPos - SQL_POSITION* = 0 - SQL_REFRESH* = 1 - SQL_UPDATE* = 2 - SQL_DELETE* = 3 # Lock options in SQLSetPos - SQL_LOCK_NO_CHANGE* = 0 - SQL_LOCK_EXCLUSIVE* = 1 - SQL_LOCK_UNLOCK* = 2 # SQLExtendedFetch "rgfRowStatus" element values - SQL_ROW_SUCCESS* = 0 - SQL_ROW_DELETED* = 1 - SQL_ROW_UPDATED* = 2 - SQL_ROW_NOROW* = 3 - SQL_ROW_ADDED* = 4 - SQL_ROW_ERROR* = 5 - SQL_ROW_SUCCESS_WITH_INFO* = 6 - SQL_ROW_PROCEED* = 0 - SQL_ROW_IGNORE* = 1 - SQL_MAX_DSN_LENGTH* = 32 # maximum data source name size - SQL_MAX_OPTION_STRING_LENGTH* = 256 - SQL_ODBC_CURSORS* = 110 - SQL_ATTR_ODBC_CURSORS* = SQL_ODBC_CURSORS # SQL_ODBC_CURSORS options - SQL_CUR_USE_IF_NEEDED* = 0 - SQL_CUR_USE_ODBC* = 1 - SQL_CUR_USE_DRIVER* = 2 - SQL_CUR_DEFAULT* = SQL_CUR_USE_DRIVER - SQL_PARAM_TYPE_UNKNOWN* = 0 - SQL_PARAM_INPUT* = 1 - SQL_PARAM_INPUT_OUTPUT* = 2 - SQL_RESULT_COL* = 3 - SQL_PARAM_OUTPUT* = 4 - SQL_RETURN_VALUE* = 5 # special length/indicator values - SQL_NULL_DATA* = (- 1) - SQL_DATA_AT_EXEC* = (- 2) - SQL_SUCCESS* = 0 - SQL_SUCCESS_WITH_INFO* = 1 - SQL_NO_DATA* = 100 - SQL_ERROR* = (- 1) - SQL_INVALID_HANDLE* = (- 2) - SQL_STILL_EXECUTING* = 2 - SQL_NEED_DATA* = 99 # flags for null-terminated string - SQL_NTS* = (- 3) # maximum message length - SQL_MAX_MESSAGE_LENGTH* = 512 # date/time length constants - SQL_DATE_LEN* = 10 - SQL_TIME_LEN* = 8 # add P+1 if precision is nonzero - SQL_TIMESTAMP_LEN* = 19 # add P+1 if precision is nonzero - # handle type identifiers - SQL_HANDLE_ENV* = 1 - SQL_HANDLE_DBC* = 2 - SQL_HANDLE_STMT* = 3 - SQL_HANDLE_DESC* = 4 # environment attribute - SQL_ATTR_OUTPUT_NTS* = 10001 # connection attributes - SQL_ATTR_AUTO_IPD* = 10001 - SQL_ATTR_METADATA_ID* = 10014 # statement attributes - SQL_ATTR_APP_ROW_DESC* = 10010 - SQL_ATTR_APP_PARAM_DESC* = 10011 - SQL_ATTR_IMP_ROW_DESC* = 10012 - SQL_ATTR_IMP_PARAM_DESC* = 10013 - SQL_ATTR_CURSOR_SCROLLABLE* = (- 1) - SQL_ATTR_CURSOR_SENSITIVITY* = (- 2) - SQL_QUERY_TIMEOUT* = 0 - SQL_MAX_ROWS* = 1 - SQL_NOSCAN* = 2 - SQL_MAX_LENGTH* = 3 - SQL_ASYNC_ENABLE* = 4 # same as SQL_ATTR_ASYNC_ENABLE */ - SQL_BIND_TYPE* = 5 - SQL_CURSOR_TYPE* = 6 - SQL_CONCURRENCY* = 7 - SQL_KEYSET_SIZE* = 8 - SQL_ROWSET_SIZE* = 9 - SQL_SIMULATE_CURSOR* = 10 - SQL_RETRIEVE_DATA* = 11 - SQL_USE_BOOKMARKS* = 12 - SQL_GET_BOOKMARK* = 13 # GetStmtOption Only */ - SQL_ROW_NUMBER* = 14 # GetStmtOption Only */ - SQL_ATTR_CURSOR_TYPE* = SQL_CURSOR_TYPE - SQL_ATTR_CONCURRENCY* = SQL_CONCURRENCY - SQL_ATTR_FETCH_BOOKMARK_PTR* = 16 - SQL_ATTR_ROW_STATUS_PTR* = 25 - SQL_ATTR_ROWS_FETCHED_PTR* = 26 - SQL_AUTOCOMMIT* = 102 - SQL_ATTR_AUTOCOMMIT* = SQL_AUTOCOMMIT - SQL_ATTR_ROW_NUMBER* = SQL_ROW_NUMBER - SQL_TXN_ISOLATION* = 108 - SQL_ATTR_TXN_ISOLATION* = SQL_TXN_ISOLATION - SQL_ATTR_MAX_ROWS* = SQL_MAX_ROWS - SQL_ATTR_USE_BOOKMARKS* = SQL_USE_BOOKMARKS #* connection attributes */ - SQL_ACCESS_MODE* = 101 # SQL_AUTOCOMMIT =102; - SQL_LOGIN_TIMEOUT* = 103 - SQL_OPT_TRACE* = 104 - SQL_OPT_TRACEFILE* = 105 - SQL_TRANSLATE_DLL* = 106 - SQL_TRANSLATE_OPTION* = 107 # SQL_TXN_ISOLATION =108; - SQL_CURRENT_QUALIFIER* = 109 # SQL_ODBC_CURSORS =110; - SQL_QUIET_MODE* = 111 - SQL_PACKET_SIZE* = 112 #* connection attributes with new names */ - SQL_ATTR_ACCESS_MODE* = SQL_ACCESS_MODE # SQL_ATTR_AUTOCOMMIT =SQL_AUTOCOMMIT; - SQL_ATTR_CONNECTION_DEAD* = 1209 #* GetConnectAttr only */ - SQL_ATTR_CONNECTION_TIMEOUT* = 113 - SQL_ATTR_CURRENT_CATALOG* = SQL_CURRENT_QUALIFIER - SQL_ATTR_DISCONNECT_BEHAVIOR* = 114 - SQL_ATTR_ENLIST_IN_DTC* = 1207 - SQL_ATTR_ENLIST_IN_XA* = 1208 - SQL_ATTR_LOGIN_TIMEOUT* = SQL_LOGIN_TIMEOUT # SQL_ATTR_ODBC_CURSORS =SQL_ODBC_CURSORS; - SQL_ATTR_PACKET_SIZE* = SQL_PACKET_SIZE - SQL_ATTR_QUIET_MODE* = SQL_QUIET_MODE - SQL_ATTR_TRACE* = SQL_OPT_TRACE - SQL_ATTR_TRACEFILE* = SQL_OPT_TRACEFILE - SQL_ATTR_TRANSLATE_LIB* = SQL_TRANSLATE_DLL - SQL_ATTR_TRANSLATE_OPTION* = SQL_TRANSLATE_OPTION # SQL_ATTR_TXN_ISOLATION =SQL_TXN_ISOLATION; - #* SQL_ACCESS_MODE options */ - SQL_MODE_READ_WRITE* = 0 - SQL_MODE_READ_ONLY* = 1 - SQL_MODE_DEFAULT* = SQL_MODE_READ_WRITE #* SQL_AUTOCOMMIT options */ - SQL_AUTOCOMMIT_OFF* = 0 - SQL_AUTOCOMMIT_ON* = 1 - SQL_AUTOCOMMIT_DEFAULT* = SQL_AUTOCOMMIT_ON # SQL_ATTR_CURSOR_SCROLLABLE values - SQL_NONSCROLLABLE* = 0 - SQL_SCROLLABLE* = 1 # SQL_CURSOR_TYPE options - SQL_CURSOR_FORWARD_ONLY* = 0 - SQL_CURSOR_KEYSET_DRIVEN* = 1 - SQL_CURSOR_DYNAMIC* = 2 - SQL_CURSOR_STATIC* = 3 - SQL_CURSOR_TYPE_DEFAULT* = SQL_CURSOR_FORWARD_ONLY # Default value - # SQL_CONCURRENCY options - SQL_CONCUR_READ_ONLY* = 1 - SQL_CONCUR_LOCK* = 2 - SQL_CONCUR_ROWVER* = 3 - SQL_CONCUR_VALUES* = 4 - SQL_CONCUR_DEFAULT* = SQL_CONCUR_READ_ONLY # Default value - # identifiers of fields in the SQL descriptor - SQL_DESC_COUNT* = 1001 - SQL_DESC_TYPE* = 1002 - SQL_DESC_LENGTH* = 1003 - SQL_DESC_OCTET_LENGTH_PTR* = 1004 - SQL_DESC_PRECISION* = 1005 - SQL_DESC_SCALE* = 1006 - SQL_DESC_DATETIME_INTERVAL_CODE* = 1007 - SQL_DESC_NULLABLE* = 1008 - SQL_DESC_INDICATOR_PTR* = 1009 - SQL_DESC_DATA_PTR* = 1010 - SQL_DESC_NAME* = 1011 - SQL_DESC_UNNAMED* = 1012 - SQL_DESC_OCTET_LENGTH* = 1013 - SQL_DESC_ALLOC_TYPE* = 1099 # identifiers of fields in the diagnostics area - SQL_DIAG_RETURNCODE* = 1 - SQL_DIAG_NUMBER* = 2 - SQL_DIAG_ROW_COUNT* = 3 - SQL_DIAG_SQLSTATE* = 4 - SQL_DIAG_NATIVE* = 5 - SQL_DIAG_MESSAGE_TEXT* = 6 - SQL_DIAG_DYNAMIC_FUNCTION* = 7 - SQL_DIAG_CLASS_ORIGIN* = 8 - SQL_DIAG_SUBCLASS_ORIGIN* = 9 - SQL_DIAG_CONNECTION_NAME* = 10 - SQL_DIAG_SERVER_NAME* = 11 - SQL_DIAG_DYNAMIC_FUNCTION_CODE* = 12 # dynamic function codes - SQL_DIAG_ALTER_TABLE* = 4 - SQL_DIAG_CREATE_INDEX* = (- 1) - SQL_DIAG_CREATE_TABLE* = 77 - SQL_DIAG_CREATE_VIEW* = 84 - SQL_DIAG_DELETE_WHERE* = 19 - SQL_DIAG_DROP_INDEX* = (- 2) - SQL_DIAG_DROP_TABLE* = 32 - SQL_DIAG_DROP_VIEW* = 36 - SQL_DIAG_DYNAMIC_DELETE_CURSOR* = 38 - SQL_DIAG_DYNAMIC_UPDATE_CURSOR* = 81 - SQL_DIAG_GRANT* = 48 - SQL_DIAG_INSERT* = 50 - SQL_DIAG_REVOKE* = 59 - SQL_DIAG_SELECT_CURSOR* = 85 - SQL_DIAG_UNKNOWN_STATEMENT* = 0 - SQL_DIAG_UPDATE_WHERE* = 82 # Statement attribute values for cursor sensitivity - SQL_UNSPECIFIED* = 0 - SQL_INSENSITIVE* = 1 - SQL_SENSITIVE* = 2 # GetTypeInfo() request for all data types - SQL_ALL_TYPES* = 0 # Default conversion code for SQLBindCol(), SQLBindParam() and SQLGetData() - SQL_DEFAULT* = 99 # SQLGetData() code indicating that the application row descriptor - # specifies the data type - SQL_ARD_TYPE* = (- 99) # SQL date/time type subcodes - SQL_CODE_DATE* = 1 - SQL_CODE_TIME* = 2 - SQL_CODE_TIMESTAMP* = 3 # CLI option values - SQL_FALSE* = 0 - SQL_TRUE* = 1 # values of NULLABLE field in descriptor - SQL_NO_NULLS* = 0 - SQL_NULLABLE* = 1 # Value returned by SQLGetTypeInfo() to denote that it is - # not known whether or not a data type supports null values. - SQL_NULLABLE_UNKNOWN* = 2 - SQL_CLOSE* = 0 - SQL_DROP* = 1 - SQL_UNBIND* = 2 - SQL_RESET_PARAMS* = 3 # Codes used for FetchOrientation in SQLFetchScroll(), - # and in SQLDataSources() - SQL_FETCH_NEXT* = 1 - SQL_FETCH_FIRST* = 2 - SQL_FETCH_FIRST_USER* = 31 - SQL_FETCH_FIRST_SYSTEM* = 32 # Other codes used for FetchOrientation in SQLFetchScroll() - SQL_FETCH_LAST* = 3 - SQL_FETCH_PRIOR* = 4 - SQL_FETCH_ABSOLUTE* = 5 - SQL_FETCH_RELATIVE* = 6 - SQL_NULL_HENV* = TSqlHEnv(nil) - SQL_NULL_HDBC* = TSqlHDBC(nil) - SQL_NULL_HSTMT* = TSqlHStmt(nil) - SQL_NULL_HDESC* = TSqlHDesc(nil) #* null handle used in place of parent handle when allocating HENV */ - SQL_NULL_HANDLE* = TSqlHandle(nil) #* Values that may appear in the result set of SQLSpecialColumns() */ - SQL_SCOPE_CURROW* = 0 - SQL_SCOPE_TRANSACTION* = 1 - SQL_SCOPE_SESSION* = 2 #* Column types and scopes in SQLSpecialColumns. */ - SQL_BEST_ROWID* = 1 - SQL_ROWVER* = 2 - SQL_ROW_IDENTIFIER* = 1 #* Reserved values for UNIQUE argument of SQLStatistics() */ - SQL_INDEX_UNIQUE* = 0 - SQL_INDEX_ALL* = 1 #* Reserved values for RESERVED argument of SQLStatistics() */ - SQL_QUICK* = 0 - SQL_ENSURE* = 1 #* Values that may appear in the result set of SQLStatistics() */ - SQL_TABLE_STAT* = 0 - SQL_INDEX_CLUSTERED* = 1 - SQL_INDEX_HASHED* = 2 - SQL_INDEX_OTHER* = 3 - SQL_SCROLL_CONCURRENCY* = 43 - SQL_TXN_CAPABLE* = 46 - SQL_TRANSACTION_CAPABLE* = SQL_TXN_CAPABLE - SQL_USER_NAME* = 47 - SQL_TXN_ISOLATION_OPTION* = 72 - SQL_TRANSACTION_ISOLATION_OPTION* = SQL_TXN_ISOLATION_OPTION - SQL_OJ_CAPABILITIES* = 115 - SQL_OUTER_JOIN_CAPABILITIES* = SQL_OJ_CAPABILITIES - SQL_XOPEN_CLI_YEAR* = 10000 - SQL_CURSOR_SENSITIVITY* = 10001 - SQL_DESCRIBE_PARAMETER* = 10002 - SQL_CATALOG_NAME* = 10003 - SQL_COLLATION_SEQ* = 10004 - SQL_MAX_IDENTIFIER_LEN* = 10005 - SQL_MAXIMUM_IDENTIFIER_LENGTH* = SQL_MAX_IDENTIFIER_LEN - SQL_SCCO_READ_ONLY* = 1 - SQL_SCCO_LOCK* = 2 - SQL_SCCO_OPT_ROWVER* = 4 - SQL_SCCO_OPT_VALUES* = 8 #* SQL_TXN_CAPABLE values */ - SQL_TC_NONE* = 0 - SQL_TC_DML* = 1 - SQL_TC_ALL* = 2 - SQL_TC_DDL_COMMIT* = 3 - SQL_TC_DDL_IGNORE* = 4 #* SQL_TXN_ISOLATION_OPTION bitmasks */ - SQL_TXN_READ_UNCOMMITTED* = 1 - SQL_TRANSACTION_READ_UNCOMMITTED* = SQL_TXN_READ_UNCOMMITTED - SQL_TXN_READ_COMMITTED* = 2 - SQL_TRANSACTION_READ_COMMITTED* = SQL_TXN_READ_COMMITTED - SQL_TXN_REPEATABLE_READ* = 4 - SQL_TRANSACTION_REPEATABLE_READ* = SQL_TXN_REPEATABLE_READ - SQL_TXN_SERIALIZABLE* = 8 - SQL_TRANSACTION_SERIALIZABLE* = SQL_TXN_SERIALIZABLE - SQL_SS_ADDITIONS* = 1 - SQL_SS_DELETIONS* = 2 - SQL_SS_UPDATES* = 4 # SQLColAttributes defines - SQL_COLUMN_COUNT* = 0 - SQL_COLUMN_NAME* = 1 - SQL_COLUMN_TYPE* = 2 - SQL_COLUMN_LENGTH* = 3 - SQL_COLUMN_PRECISION* = 4 - SQL_COLUMN_SCALE* = 5 - SQL_COLUMN_DISPLAY_SIZE* = 6 - SQL_COLUMN_NULLABLE* = 7 - SQL_COLUMN_UNSIGNED* = 8 - SQL_COLUMN_MONEY* = 9 - SQL_COLUMN_UPDATABLE* = 10 - SQL_COLUMN_AUTO_INCREMENT* = 11 - SQL_COLUMN_CASE_SENSITIVE* = 12 - SQL_COLUMN_SEARCHABLE* = 13 - SQL_COLUMN_TYPE_NAME* = 14 - SQL_COLUMN_TABLE_NAME* = 15 - SQL_COLUMN_OWNER_NAME* = 16 - SQL_COLUMN_QUALIFIER_NAME* = 17 - SQL_COLUMN_LABEL* = 18 - SQL_COLATT_OPT_MAX* = SQL_COLUMN_LABEL - SQL_COLUMN_DRIVER_START* = 1000 - SQL_DESC_ARRAY_SIZE* = 20 - SQL_DESC_ARRAY_STATUS_PTR* = 21 - SQL_DESC_AUTO_UNIQUE_VALUE* = SQL_COLUMN_AUTO_INCREMENT - SQL_DESC_BASE_COLUMN_NAME* = 22 - SQL_DESC_BASE_TABLE_NAME* = 23 - SQL_DESC_BIND_OFFSET_PTR* = 24 - SQL_DESC_BIND_TYPE* = 25 - SQL_DESC_CASE_SENSITIVE* = SQL_COLUMN_CASE_SENSITIVE - SQL_DESC_CATALOG_NAME* = SQL_COLUMN_QUALIFIER_NAME - SQL_DESC_CONCISE_TYPE* = SQL_COLUMN_TYPE - SQL_DESC_DATETIME_INTERVAL_PRECISION* = 26 - SQL_DESC_DISPLAY_SIZE* = SQL_COLUMN_DISPLAY_SIZE - SQL_DESC_FIXED_PREC_SCALE* = SQL_COLUMN_MONEY - SQL_DESC_LABEL* = SQL_COLUMN_LABEL - SQL_DESC_LITERAL_PREFIX* = 27 - SQL_DESC_LITERAL_SUFFIX* = 28 - SQL_DESC_LOCAL_TYPE_NAME* = 29 - SQL_DESC_MAXIMUM_SCALE* = 30 - SQL_DESC_MINIMUM_SCALE* = 31 - SQL_DESC_NUM_PREC_RADIX* = 32 - SQL_DESC_PARAMETER_TYPE* = 33 - SQL_DESC_ROWS_PROCESSED_PTR* = 34 - SQL_DESC_SCHEMA_NAME* = SQL_COLUMN_OWNER_NAME - SQL_DESC_SEARCHABLE* = SQL_COLUMN_SEARCHABLE - SQL_DESC_TYPE_NAME* = SQL_COLUMN_TYPE_NAME - SQL_DESC_TABLE_NAME* = SQL_COLUMN_TABLE_NAME - SQL_DESC_UNSIGNED* = SQL_COLUMN_UNSIGNED - SQL_DESC_UPDATABLE* = SQL_COLUMN_UPDATABLE #* SQLEndTran() options */ - SQL_COMMIT* = 0 - SQL_ROLLBACK* = 1 - SQL_ATTR_ROW_ARRAY_SIZE* = 27 #* SQLConfigDataSource() options */ - ODBC_ADD_DSN* = 1 - ODBC_CONFIG_DSN* = 2 - ODBC_REMOVE_DSN* = 3 - ODBC_ADD_SYS_DSN* = 4 - ODBC_CONFIG_SYS_DSN* = 5 - ODBC_REMOVE_SYS_DSN* = 6 - -proc SQLAllocHandle*(HandleType: TSqlSmallInt, InputHandle: TSqlHandle, - OutputHandlePtr: var TSqlHandle): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLSetEnvAttr*(EnvironmentHandle: TSqlHEnv, Attribute: TSqlInteger, - Value: TSqlPointer, StringLength: TSqlInteger): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLGetEnvAttr*(EnvironmentHandle: TSqlHEnv, Attribute: TSqlInteger, - Value: TSqlPointer, BufferLength: TSqlInteger, - StringLength: PSQLINTEGER): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLFreeHandle*(HandleType: TSqlSmallInt, Handle: TSqlHandle): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLGetDiagRec*(HandleType: TSqlSmallInt, Handle: TSqlHandle, - RecNumber: TSqlSmallInt, Sqlstate: PSQLCHAR, - NativeError: var TSqlInteger, MessageText: PSQLCHAR, - BufferLength: TSqlSmallInt, TextLength: var TSqlSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLGetDiagField*(HandleType: TSqlSmallInt, Handle: TSqlHandle, - RecNumber: TSqlSmallInt, DiagIdentifier: TSqlSmallInt, - DiagInfoPtr: TSqlPointer, BufferLength: TSqlSmallInt, - StringLengthPtr: var TSqlSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLConnect*(ConnectionHandle: TSqlHDBC, ServerName: PSQLCHAR, - NameLength1: TSqlSmallInt, UserName: PSQLCHAR, - NameLength2: TSqlSmallInt, Authentication: PSQLCHAR, - NameLength3: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLDisconnect*(ConnectionHandle: TSqlHDBC): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLDriverConnect*(hdbc: TSqlHDBC, hwnd: TSqlHWND, szCsin: cstring, - szCLen: TSqlSmallInt, szCsout: cstring, - cbCSMax: TSqlSmallInt, cbCsOut: var TSqlSmallInt, - f: TSqlUSmallInt): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLBrowseConnect*(hdbc: TSqlHDBC, szConnStrIn: PSQLCHAR, - cbConnStrIn: TSqlSmallInt, szConnStrOut: PSQLCHAR, - cbConnStrOutMax: TSqlSmallInt, - cbConnStrOut: var TSqlSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLExecDirect*(StatementHandle: TSqlHStmt, StatementText: PSQLCHAR, - TextLength: TSqlInteger): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLPrepare*(StatementHandle: TSqlHStmt, StatementText: PSQLCHAR, - TextLength: TSqlInteger): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLCloseCursor*(StatementHandle: TSqlHStmt): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLExecute*(StatementHandle: TSqlHStmt): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLFetch*(StatementHandle: TSqlHStmt): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLNumResultCols*(StatementHandle: TSqlHStmt, ColumnCount: var TSqlSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLDescribeCol*(StatementHandle: TSqlHStmt, ColumnNumber: TSqlUSmallInt, - ColumnName: PSQLCHAR, BufferLength: TSqlSmallInt, - NameLength: var TSqlSmallInt, DataType: var TSqlSmallInt, - ColumnSize: var TSqlUInteger, - DecimalDigits: var TSqlSmallInt, Nullable: var TSqlSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLFetchScroll*(StatementHandle: TSqlHStmt, FetchOrientation: TSqlSmallInt, - FetchOffset: TSqlInteger): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLExtendedFetch*(hstmt: TSqlHStmt, fFetchType: TSqlUSmallInt, - irow: TSqlInteger, pcrow: PSQLUINTEGER, - rgfRowStatus: PSQLUSMALLINT): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLGetData*(StatementHandle: TSqlHStmt, ColumnNumber: TSqlUSmallInt, - TargetType: TSqlSmallInt, TargetValue: TSqlPointer, - BufferLength: TSqlInteger, StrLen_or_Ind: PSQLINTEGER): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLSetStmtAttr*(StatementHandle: TSqlHStmt, Attribute: TSqlInteger, - Value: TSqlPointer, StringLength: TSqlInteger): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLGetStmtAttr*(StatementHandle: TSqlHStmt, Attribute: TSqlInteger, - Value: TSqlPointer, BufferLength: TSqlInteger, - StringLength: PSQLINTEGER): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLGetInfo*(ConnectionHandle: TSqlHDBC, InfoType: TSqlUSmallInt, - InfoValue: TSqlPointer, BufferLength: TSqlSmallInt, - StringLength: PSQLSMALLINT): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLBulkOperations*(StatementHandle: TSqlHStmt, Operation: TSqlSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLPutData*(StatementHandle: TSqlHStmt, Data: TSqlPointer, - StrLen_or_Ind: TSqlInteger): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLBindCol*(StatementHandle: TSqlHStmt, ColumnNumber: TSqlUSmallInt, - TargetType: TSqlSmallInt, TargetValue: TSqlPointer, - BufferLength: TSqlInteger, StrLen_or_Ind: PSQLINTEGER): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLSetPos*(hstmt: TSqlHStmt, irow: TSqlUSmallInt, fOption: TSqlUSmallInt, - fLock: TSqlUSmallInt): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLDataSources*(EnvironmentHandle: TSqlHEnv, Direction: TSqlUSmallInt, - ServerName: PSQLCHAR, BufferLength1: TSqlSmallInt, - NameLength1: PSQLSMALLINT, Description: PSQLCHAR, - BufferLength2: TSqlSmallInt, NameLength2: PSQLSMALLINT): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLDrivers*(EnvironmentHandle: TSqlHEnv, Direction: TSqlUSmallInt, - DriverDescription: PSQLCHAR, BufferLength1: TSqlSmallInt, - DescriptionLength1: PSQLSMALLINT, DriverAttributes: PSQLCHAR, - BufferLength2: TSqlSmallInt, AttributesLength2: PSQLSMALLINT): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLSetConnectAttr*(ConnectionHandle: TSqlHDBC, Attribute: TSqlInteger, - Value: TSqlPointer, StringLength: TSqlInteger): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLGetCursorName*(StatementHandle: TSqlHStmt, CursorName: PSQLCHAR, - BufferLength: TSqlSmallInt, NameLength: PSQLSMALLINT): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLSetCursorName*(StatementHandle: TSqlHStmt, CursorName: PSQLCHAR, - NameLength: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLRowCount*(StatementHandle: TSqlHStmt, RowCount: var TSqlInteger): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLBindParameter*(hstmt: TSqlHStmt, ipar: TSqlUSmallInt, - fParamType: TSqlSmallInt, fCType: TSqlSmallInt, - fSqlType: TSqlSmallInt, cbColDef: TSqlUInteger, - ibScale: TSqlSmallInt, rgbValue: TSqlPointer, - cbValueMax: TSqlInteger, pcbValue: PSQLINTEGER): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLFreeStmt*(StatementHandle: TSqlHStmt, Option: TSqlUSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLColAttribute*(StatementHandle: TSqlHStmt, ColumnNumber: TSqlUSmallInt, - FieldIdentifier: TSqlUSmallInt, - CharacterAttribute: PSQLCHAR, BufferLength: TSqlSmallInt, - StringLength: PSQLSMALLINT, - NumericAttribute: TSqlPointer): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLEndTran*(HandleType: TSqlSmallInt, Handle: TSqlHandle, - CompletionType: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLTables*(hstmt: TSqlHStmt, szTableQualifier: PSQLCHAR, - cbTableQualifier: TSqlSmallInt, szTableOwner: PSQLCHAR, - cbTableOwner: TSqlSmallInt, szTableName: PSQLCHAR, - cbTableName: TSqlSmallInt, szTableType: PSQLCHAR, - cbTableType: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLColumns*(hstmt: TSqlHStmt, szTableQualifier: PSQLCHAR, - cbTableQualifier: TSqlSmallInt, szTableOwner: PSQLCHAR, - cbTableOwner: TSqlSmallInt, szTableName: PSQLCHAR, - cbTableName: TSqlSmallInt, szColumnName: PSQLCHAR, - cbColumnName: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, importc.} -proc SQLSpecialColumns*(StatementHandle: TSqlHStmt, IdentifierType: TSqlUSmallInt, - CatalogName: PSQLCHAR, NameLength1: TSqlSmallInt, - SchemaName: PSQLCHAR, NameLength2: TSqlSmallInt, - TableName: PSQLCHAR, NameLength3: TSqlSmallInt, - Scope: TSqlUSmallInt, - Nullable: TSqlUSmallInt): TSqlSmallInt{. - dynlib: odbclib, importc.} -proc SQLProcedures*(hstmt: TSqlHStmt, szTableQualifier: PSQLCHAR, - cbTableQualifier: TSqlSmallInt, szTableOwner: PSQLCHAR, - cbTableOwner: TSqlSmallInt, szTableName: PSQLCHAR, - cbTableName: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLPrimaryKeys*(hstmt: TSqlHStmt, CatalogName: PSQLCHAR, - NameLength1: TSqlSmallInt, SchemaName: PSQLCHAR, - NameLength2: TSqlSmallInt, TableName: PSQLCHAR, - NameLength3: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLProcedureColumns*(hstmt: TSqlHStmt, CatalogName: PSQLCHAR, - NameLength1: TSqlSmallInt, SchemaName: PSQLCHAR, - NameLength2: TSqlSmallInt, ProcName: PSQLCHAR, - NameLength3: TSqlSmallInt, ColumnName: PSQLCHAR, - NameLength4: TSqlSmallInt): TSqlSmallInt{.dynlib: odbclib, - importc.} -proc SQLStatistics*(hstmt: TSqlHStmt, CatalogName: PSQLCHAR, - NameLength1: TSqlSmallInt, SchemaName: PSQLCHAR, - NameLength2: TSqlSmallInt, TableName: PSQLCHAR, - NameLength3: TSqlSmallInt, Unique: TSqlUSmallInt, - Reserved: TSqlUSmallInt): TSqlSmallInt {. - dynlib: odbclib, importc.} - -{.pop.} diff --git a/lib/oldwrappers/opengl/gl.nim b/lib/oldwrappers/opengl/gl.nim deleted file mode 100755 index 79f09b544..000000000 --- a/lib/oldwrappers/opengl/gl.nim +++ /dev/null @@ -1,1432 +0,0 @@ -# -# -# Adaption of the delphi3d.net OpenGL units to FreePascal -# Sebastian Guenther (sg@freepascal.org) in 2002 -# These units are free to use -# -#****************************************************************************** -# Converted to Delphi by Tom Nuydens (tom@delphi3d.net) -# For the latest updates, visit Delphi3D: http://www.delphi3d.net -#****************************************************************************** - -when defined(windows): - {.push callconv: stdcall.} -else: - {.push callconv: cdecl.} - -when defined(windows): - const dllname* = "opengl32.dll" -elif defined(macosx): - const dllname* = "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib" -else: - const dllname* = "libGL.so.1" - -type - PGLenum* = ptr TGLenum - PGLboolean* = ptr TGLboolean - PGLbitfield* = ptr TGLbitfield - TGLbyte* = int8 - PGLbyte* = ptr TGlbyte - PGLshort* = ptr TGLshort - PGLint* = ptr TGLint - PGLsizei* = ptr TGLsizei - PGLubyte* = ptr TGLubyte - PGLushort* = ptr TGLushort - PGLuint* = ptr TGLuint - PGLfloat* = ptr TGLfloat - PGLclampf* = ptr TGLclampf - PGLdouble* = ptr TGLdouble - PGLclampd* = ptr TGLclampd - PGLvoid* = Pointer - PPGLvoid* = ptr PGLvoid - TGLenum* = cint - TGLboolean* = bool - TGLbitfield* = cint - TGLshort* = int16 - TGLint* = cint - TGLsizei* = int - TGLubyte* = int8 - TGLushort* = int16 - TGLuint* = cint - TGLfloat* = float32 - TGLclampf* = float32 - TGLdouble* = float - TGLclampd* = float - -const # Version - GL_VERSION_1_1* = 1 # AccumOp - constGL_ACCUM* = 0x00000100 - GL_LOAD* = 0x00000101 - GL_RETURN* = 0x00000102 - GL_MULT* = 0x00000103 - GL_ADD* = 0x00000104 # AlphaFunction - GL_NEVER* = 0x00000200 - GL_LESS* = 0x00000201 - GL_EQUAL* = 0x00000202 - GL_LEQUAL* = 0x00000203 - GL_GREATER* = 0x00000204 - GL_NOTEQUAL* = 0x00000205 - GL_GEQUAL* = 0x00000206 - GL_ALWAYS* = 0x00000207 # AttribMask - GL_CURRENT_BIT* = 0x00000001 - GL_POINT_BIT* = 0x00000002 - GL_LINE_BIT* = 0x00000004 - GL_POLYGON_BIT* = 0x00000008 - GL_POLYGON_STIPPLE_BIT* = 0x00000010 - GL_PIXEL_MODE_BIT* = 0x00000020 - GL_LIGHTING_BIT* = 0x00000040 - GL_FOG_BIT* = 0x00000080 - GL_DEPTH_BUFFER_BIT* = 0x00000100 - GL_ACCUM_BUFFER_BIT* = 0x00000200 - GL_STENCIL_BUFFER_BIT* = 0x00000400 - GL_VIEWPORT_BIT* = 0x00000800 - GL_TRANSFORM_BIT* = 0x00001000 - GL_ENABLE_BIT* = 0x00002000 - GL_COLOR_BUFFER_BIT* = 0x00004000 - GL_HINT_BIT* = 0x00008000 - GL_EVAL_BIT* = 0x00010000 - GL_LIST_BIT* = 0x00020000 - GL_TEXTURE_BIT* = 0x00040000 - GL_SCISSOR_BIT* = 0x00080000 - GL_ALL_ATTRIB_BITS* = 0x000FFFFF # BeginMode - GL_POINTS* = 0x00000000 - GL_LINES* = 0x00000001 - GL_LINE_LOOP* = 0x00000002 - GL_LINE_STRIP* = 0x00000003 - GL_TRIANGLES* = 0x00000004 - GL_TRIANGLE_STRIP* = 0x00000005 - GL_TRIANGLE_FAN* = 0x00000006 - GL_QUADS* = 0x00000007 - GL_QUAD_STRIP* = 0x00000008 - GL_POLYGON* = 0x00000009 # BlendingFactorDest - GL_ZERO* = 0 - GL_ONE* = 1 - GL_SRC_COLOR* = 0x00000300 - GL_ONE_MINUS_SRC_COLOR* = 0x00000301 - GL_SRC_ALPHA* = 0x00000302 - GL_ONE_MINUS_SRC_ALPHA* = 0x00000303 - GL_DST_ALPHA* = 0x00000304 - GL_ONE_MINUS_DST_ALPHA* = 0x00000305 # BlendingFactorSrc - # GL_ZERO - # GL_ONE - GL_DST_COLOR* = 0x00000306 - GL_ONE_MINUS_DST_COLOR* = 0x00000307 - GL_SRC_ALPHA_SATURATE* = 0x00000308 # GL_SRC_ALPHA - # GL_ONE_MINUS_SRC_ALPHA - # GL_DST_ALPHA - # GL_ONE_MINUS_DST_ALPHA - # Boolean - GL_TRUE* = 1 - GL_FALSE* = 0 # ClearBufferMask - # GL_COLOR_BUFFER_BIT - # GL_ACCUM_BUFFER_BIT - # GL_STENCIL_BUFFER_BIT - # GL_DEPTH_BUFFER_BIT - # ClientArrayType - # GL_VERTEX_ARRAY - # GL_NORMAL_ARRAY - # GL_COLOR_ARRAY - # GL_INDEX_ARRAY - # GL_TEXTURE_COORD_ARRAY - # GL_EDGE_FLAG_ARRAY - # ClipPlaneName - GL_CLIP_PLANE0* = 0x00003000 - GL_CLIP_PLANE1* = 0x00003001 - GL_CLIP_PLANE2* = 0x00003002 - GL_CLIP_PLANE3* = 0x00003003 - GL_CLIP_PLANE4* = 0x00003004 - GL_CLIP_PLANE5* = 0x00003005 # ColorMaterialFace - # GL_FRONT - # GL_BACK - # GL_FRONT_AND_BACK - # ColorMaterialParameter - # GL_AMBIENT - # GL_DIFFUSE - # GL_SPECULAR - # GL_EMISSION - # GL_AMBIENT_AND_DIFFUSE - # ColorPointerType - # GL_BYTE - # GL_UNSIGNED_BYTE - # GL_SHORT - # GL_UNSIGNED_SHORT - # GL_INT - # GL_UNSIGNED_INT - # GL_FLOAT - # GL_DOUBLE - # CullFaceMode - # GL_FRONT - # GL_BACK - # GL_FRONT_AND_BACK - # DataType - GL_BYTE* = 0x00001400 - GL_UNSIGNED_BYTE* = 0x00001401 - GL_SHORT* = 0x00001402 - GL_UNSIGNED_SHORT* = 0x00001403 - GL_INT* = 0x00001404 - GL_UNSIGNED_INT* = 0x00001405 - GL_FLOAT* = 0x00001406 - GL_2_BYTES* = 0x00001407 - GL_3_BYTES* = 0x00001408 - GL_4_BYTES* = 0x00001409 - GL_DOUBLE* = 0x0000140A # DepthFunction - # GL_NEVER - # GL_LESS - # GL_EQUAL - # GL_LEQUAL - # GL_GREATER - # GL_NOTEQUAL - # GL_GEQUAL - # GL_ALWAYS - # DrawBufferMode - GL_NONE* = 0 - GL_FRONT_LEFT* = 0x00000400 - GL_FRONT_RIGHT* = 0x00000401 - GL_BACK_LEFT* = 0x00000402 - GL_BACK_RIGHT* = 0x00000403 - GL_FRONT* = 0x00000404 - GL_BACK* = 0x00000405 - GL_LEFT* = 0x00000406 - GL_RIGHT* = 0x00000407 - GL_FRONT_AND_BACK* = 0x00000408 - GL_AUX0* = 0x00000409 - GL_AUX1* = 0x0000040A - GL_AUX2* = 0x0000040B - GL_AUX3* = 0x0000040C # Enable - # GL_FOG - # GL_LIGHTING - # GL_TEXTURE_1D - # GL_TEXTURE_2D - # GL_LINE_STIPPLE - # GL_POLYGON_STIPPLE - # GL_CULL_FACE - # GL_ALPHA_TEST - # GL_BLEND - # GL_INDEX_LOGIC_OP - # GL_COLOR_LOGIC_OP - # GL_DITHER - # GL_STENCIL_TEST - # GL_DEPTH_TEST - # GL_CLIP_PLANE0 - # GL_CLIP_PLANE1 - # GL_CLIP_PLANE2 - # GL_CLIP_PLANE3 - # GL_CLIP_PLANE4 - # GL_CLIP_PLANE5 - # GL_LIGHT0 - # GL_LIGHT1 - # GL_LIGHT2 - # GL_LIGHT3 - # GL_LIGHT4 - # GL_LIGHT5 - # GL_LIGHT6 - # GL_LIGHT7 - # GL_TEXTURE_GEN_S - # GL_TEXTURE_GEN_T - # GL_TEXTURE_GEN_R - # GL_TEXTURE_GEN_Q - # GL_MAP1_VERTEX_3 - # GL_MAP1_VERTEX_4 - # GL_MAP1_COLOR_4 - # GL_MAP1_INDEX - # GL_MAP1_NORMAL - # GL_MAP1_TEXTURE_COORD_1 - # GL_MAP1_TEXTURE_COORD_2 - # GL_MAP1_TEXTURE_COORD_3 - # GL_MAP1_TEXTURE_COORD_4 - # GL_MAP2_VERTEX_3 - # GL_MAP2_VERTEX_4 - # GL_MAP2_COLOR_4 - # GL_MAP2_INDEX - # GL_MAP2_NORMAL - # GL_MAP2_TEXTURE_COORD_1 - # GL_MAP2_TEXTURE_COORD_2 - # GL_MAP2_TEXTURE_COORD_3 - # GL_MAP2_TEXTURE_COORD_4 - # GL_POINT_SMOOTH - # GL_LINE_SMOOTH - # GL_POLYGON_SMOOTH - # GL_SCISSOR_TEST - # GL_COLOR_MATERIAL - # GL_NORMALIZE - # GL_AUTO_NORMAL - # GL_VERTEX_ARRAY - # GL_NORMAL_ARRAY - # GL_COLOR_ARRAY - # GL_INDEX_ARRAY - # GL_TEXTURE_COORD_ARRAY - # GL_EDGE_FLAG_ARRAY - # GL_POLYGON_OFFSET_POINT - # GL_POLYGON_OFFSET_LINE - # GL_POLYGON_OFFSET_FILL - # ErrorCode - GL_NO_ERROR* = 0 - GL_INVALID_ENUM* = 0x00000500 - GL_INVALID_VALUE* = 0x00000501 - GL_INVALID_OPERATION* = 0x00000502 - GL_STACK_OVERFLOW* = 0x00000503 - GL_STACK_UNDERFLOW* = 0x00000504 - GL_OUT_OF_MEMORY* = 0x00000505 # FeedBackMode - GL_2D* = 0x00000600 - GL_3D* = 0x00000601 - GL_3D_COLOR* = 0x00000602 - GL_3D_COLOR_TEXTURE* = 0x00000603 - GL_4D_COLOR_TEXTURE* = 0x00000604 # FeedBackToken - GL_PASS_THROUGH_TOKEN* = 0x00000700 - GL_POINT_TOKEN* = 0x00000701 - GL_LINE_TOKEN* = 0x00000702 - GL_POLYGON_TOKEN* = 0x00000703 - GL_BITMAP_TOKEN* = 0x00000704 - GL_DRAW_PIXEL_TOKEN* = 0x00000705 - GL_COPY_PIXEL_TOKEN* = 0x00000706 - GL_LINE_RESET_TOKEN* = 0x00000707 # FogMode - # GL_LINEAR - GL_EXP* = 0x00000800 - GL_EXP2* = 0x00000801 # FogParameter - # GL_FOG_COLOR - # GL_FOG_DENSITY - # GL_FOG_END - # GL_FOG_INDEX - # GL_FOG_MODE - # GL_FOG_START - # FrontFaceDirection - GL_CW* = 0x00000900 - GL_CCW* = 0x00000901 # GetMapTarget - GL_COEFF* = 0x00000A00 - GL_ORDER* = 0x00000A01 - GL_DOMAIN* = 0x00000A02 # GetPixelMap - # GL_PIXEL_MAP_I_TO_I - # GL_PIXEL_MAP_S_TO_S - # GL_PIXEL_MAP_I_TO_R - # GL_PIXEL_MAP_I_TO_G - # GL_PIXEL_MAP_I_TO_B - # GL_PIXEL_MAP_I_TO_A - # GL_PIXEL_MAP_R_TO_R - # GL_PIXEL_MAP_G_TO_G - # GL_PIXEL_MAP_B_TO_B - # GL_PIXEL_MAP_A_TO_A - # GetPointerTarget - # GL_VERTEX_ARRAY_POINTER - # GL_NORMAL_ARRAY_POINTER - # GL_COLOR_ARRAY_POINTER - # GL_INDEX_ARRAY_POINTER - # GL_TEXTURE_COORD_ARRAY_POINTER - # GL_EDGE_FLAG_ARRAY_POINTER - # GetTarget - GL_CURRENT_COLOR* = 0x00000B00 - GL_CURRENT_INDEX* = 0x00000B01 - GL_CURRENT_NORMAL* = 0x00000B02 - GL_CURRENT_TEXTURE_COORDS* = 0x00000B03 - GL_CURRENT_RASTER_COLOR* = 0x00000B04 - GL_CURRENT_RASTER_INDEX* = 0x00000B05 - GL_CURRENT_RASTER_TEXTURE_COORDS* = 0x00000B06 - GL_CURRENT_RASTER_POSITION* = 0x00000B07 - GL_CURRENT_RASTER_POSITION_VALID* = 0x00000B08 - GL_CURRENT_RASTER_DISTANCE* = 0x00000B09 - GL_POINT_SMOOTH* = 0x00000B10 - constGL_POINT_SIZE* = 0x00000B11 - GL_POINT_SIZE_RANGE* = 0x00000B12 - GL_POINT_SIZE_GRANULARITY* = 0x00000B13 - GL_LINE_SMOOTH* = 0x00000B20 - constGL_LINE_WIDTH* = 0x00000B21 - GL_LINE_WIDTH_RANGE* = 0x00000B22 - GL_LINE_WIDTH_GRANULARITY* = 0x00000B23 - constGL_LINE_STIPPLE* = 0x00000B24 - GL_LINE_STIPPLE_PATTERN* = 0x00000B25 - GL_LINE_STIPPLE_REPEAT* = 0x00000B26 - GL_LIST_MODE* = 0x00000B30 - GL_MAX_LIST_NESTING* = 0x00000B31 - constGL_LIST_BASE* = 0x00000B32 - GL_LIST_INDEX* = 0x00000B33 - constGL_POLYGON_MODE* = 0x00000B40 - GL_POLYGON_SMOOTH* = 0x00000B41 - constGL_POLYGON_STIPPLE* = 0x00000B42 - constGL_EDGE_FLAG* = 0x00000B43 - constGL_CULL_FACE* = 0x00000B44 - GL_CULL_FACE_MODE* = 0x00000B45 - constGL_FRONT_FACE* = 0x00000B46 - GL_LIGHTING* = 0x00000B50 - GL_LIGHT_MODEL_LOCAL_VIEWER* = 0x00000B51 - GL_LIGHT_MODEL_TWO_SIDE* = 0x00000B52 - GL_LIGHT_MODEL_AMBIENT* = 0x00000B53 - constGL_SHADE_MODEL* = 0x00000B54 - GL_COLOR_MATERIAL_FACE* = 0x00000B55 - GL_COLOR_MATERIAL_PARAMETER* = 0x00000B56 - constGL_COLOR_MATERIAL* = 0x00000B57 - GL_FOG* = 0x00000B60 - GL_FOG_INDEX* = 0x00000B61 - GL_FOG_DENSITY* = 0x00000B62 - GL_FOG_START* = 0x00000B63 - GL_FOG_END* = 0x00000B64 - GL_FOG_MODE* = 0x00000B65 - GL_FOG_COLOR* = 0x00000B66 - constGL_DEPTH_RANGE* = 0x00000B70 - GL_DEPTH_TEST* = 0x00000B71 - GL_DEPTH_WRITEMASK* = 0x00000B72 - GL_DEPTH_CLEAR_VALUE* = 0x00000B73 - constGL_DEPTH_FUNC* = 0x00000B74 - GL_ACCUM_CLEAR_VALUE* = 0x00000B80 - GL_STENCIL_TEST* = 0x00000B90 - GL_STENCIL_CLEAR_VALUE* = 0x00000B91 - constGL_STENCIL_FUNC* = 0x00000B92 - GL_STENCIL_VALUE_MASK* = 0x00000B93 - GL_STENCIL_FAIL* = 0x00000B94 - GL_STENCIL_PASS_DEPTH_FAIL* = 0x00000B95 - GL_STENCIL_PASS_DEPTH_PASS* = 0x00000B96 - GL_STENCIL_REF* = 0x00000B97 - GL_STENCIL_WRITEMASK* = 0x00000B98 - constGL_MATRIX_MODE* = 0x00000BA0 - GL_NORMALIZE* = 0x00000BA1 - constGL_VIEWPORT* = 0x00000BA2 - GL_MODELVIEW_STACK_DEPTH* = 0x00000BA3 - GL_PROJECTION_STACK_DEPTH* = 0x00000BA4 - GL_TEXTURE_STACK_DEPTH* = 0x00000BA5 - GL_MODELVIEW_MATRIX* = 0x00000BA6 - GL_PROJECTION_MATRIX* = 0x00000BA7 - GL_TEXTURE_MATRIX* = 0x00000BA8 - GL_ATTRIB_STACK_DEPTH* = 0x00000BB0 - GL_CLIENT_ATTRIB_STACK_DEPTH* = 0x00000BB1 - GL_ALPHA_TEST* = 0x00000BC0 - GL_ALPHA_TEST_FUNC* = 0x00000BC1 - GL_ALPHA_TEST_REF* = 0x00000BC2 - GL_DITHER* = 0x00000BD0 - GL_BLEND_DST* = 0x00000BE0 - GL_BLEND_SRC* = 0x00000BE1 - GL_BLEND* = 0x00000BE2 - GL_LOGIC_OP_MODE* = 0x00000BF0 - GL_INDEX_LOGIC_OP* = 0x00000BF1 - GL_COLOR_LOGIC_OP* = 0x00000BF2 - GL_AUX_BUFFERS* = 0x00000C00 - constGL_DRAW_BUFFER* = 0x00000C01 - constGL_READ_BUFFER* = 0x00000C02 - GL_SCISSOR_BOX* = 0x00000C10 - GL_SCISSOR_TEST* = 0x00000C11 - GL_INDEX_CLEAR_VALUE* = 0x00000C20 - GL_INDEX_WRITEMASK* = 0x00000C21 - GL_COLOR_CLEAR_VALUE* = 0x00000C22 - GL_COLOR_WRITEMASK* = 0x00000C23 - GL_INDEX_MODE* = 0x00000C30 - GL_RGBA_MODE* = 0x00000C31 - GL_DOUBLEBUFFER* = 0x00000C32 - GL_STEREO* = 0x00000C33 - constGL_RENDER_MODE* = 0x00000C40 - GL_PERSPECTIVE_CORRECTION_HINT* = 0x00000C50 - GL_POINT_SMOOTH_HINT* = 0x00000C51 - GL_LINE_SMOOTH_HINT* = 0x00000C52 - GL_POLYGON_SMOOTH_HINT* = 0x00000C53 - GL_FOG_HINT* = 0x00000C54 - GL_TEXTURE_GEN_S* = 0x00000C60 - GL_TEXTURE_GEN_T* = 0x00000C61 - GL_TEXTURE_GEN_R* = 0x00000C62 - GL_TEXTURE_GEN_Q* = 0x00000C63 - GL_PIXEL_MAP_I_TO_I* = 0x00000C70 - GL_PIXEL_MAP_S_TO_S* = 0x00000C71 - GL_PIXEL_MAP_I_TO_R* = 0x00000C72 - GL_PIXEL_MAP_I_TO_G* = 0x00000C73 - GL_PIXEL_MAP_I_TO_B* = 0x00000C74 - GL_PIXEL_MAP_I_TO_A* = 0x00000C75 - GL_PIXEL_MAP_R_TO_R* = 0x00000C76 - GL_PIXEL_MAP_G_TO_G* = 0x00000C77 - GL_PIXEL_MAP_B_TO_B* = 0x00000C78 - GL_PIXEL_MAP_A_TO_A* = 0x00000C79 - GL_PIXEL_MAP_I_TO_I_SIZE* = 0x00000CB0 - GL_PIXEL_MAP_S_TO_S_SIZE* = 0x00000CB1 - GL_PIXEL_MAP_I_TO_R_SIZE* = 0x00000CB2 - GL_PIXEL_MAP_I_TO_G_SIZE* = 0x00000CB3 - GL_PIXEL_MAP_I_TO_B_SIZE* = 0x00000CB4 - GL_PIXEL_MAP_I_TO_A_SIZE* = 0x00000CB5 - GL_PIXEL_MAP_R_TO_R_SIZE* = 0x00000CB6 - GL_PIXEL_MAP_G_TO_G_SIZE* = 0x00000CB7 - GL_PIXEL_MAP_B_TO_B_SIZE* = 0x00000CB8 - GL_PIXEL_MAP_A_TO_A_SIZE* = 0x00000CB9 - GL_UNPACK_SWAP_BYTES* = 0x00000CF0 - GL_UNPACK_LSB_FIRST* = 0x00000CF1 - GL_UNPACK_ROW_LENGTH* = 0x00000CF2 - GL_UNPACK_SKIP_ROWS* = 0x00000CF3 - GL_UNPACK_SKIP_PIXELS* = 0x00000CF4 - GL_UNPACK_ALIGNMENT* = 0x00000CF5 - GL_PACK_SWAP_BYTES* = 0x00000D00 - GL_PACK_LSB_FIRST* = 0x00000D01 - GL_PACK_ROW_LENGTH* = 0x00000D02 - GL_PACK_SKIP_ROWS* = 0x00000D03 - GL_PACK_SKIP_PIXELS* = 0x00000D04 - GL_PACK_ALIGNMENT* = 0x00000D05 - GL_MAP_COLOR* = 0x00000D10 - GL_MAP_STENCIL* = 0x00000D11 - GL_INDEX_SHIFT* = 0x00000D12 - GL_INDEX_OFFSET* = 0x00000D13 - GL_RED_SCALE* = 0x00000D14 - GL_RED_BIAS* = 0x00000D15 - GL_ZOOM_X* = 0x00000D16 - GL_ZOOM_Y* = 0x00000D17 - GL_GREEN_SCALE* = 0x00000D18 - GL_GREEN_BIAS* = 0x00000D19 - GL_BLUE_SCALE* = 0x00000D1A - GL_BLUE_BIAS* = 0x00000D1B - GL_ALPHA_SCALE* = 0x00000D1C - GL_ALPHA_BIAS* = 0x00000D1D - GL_DEPTH_SCALE* = 0x00000D1E - GL_DEPTH_BIAS* = 0x00000D1F - GL_MAX_EVAL_ORDER* = 0x00000D30 - GL_MAX_LIGHTS* = 0x00000D31 - GL_MAX_CLIP_PLANES* = 0x00000D32 - GL_MAX_TEXTURE_SIZE* = 0x00000D33 - GL_MAX_PIXEL_MAP_TABLE* = 0x00000D34 - GL_MAX_ATTRIB_STACK_DEPTH* = 0x00000D35 - GL_MAX_MODELVIEW_STACK_DEPTH* = 0x00000D36 - GL_MAX_NAME_STACK_DEPTH* = 0x00000D37 - GL_MAX_PROJECTION_STACK_DEPTH* = 0x00000D38 - GL_MAX_TEXTURE_STACK_DEPTH* = 0x00000D39 - GL_MAX_VIEWPORT_DIMS* = 0x00000D3A - GL_MAX_CLIENT_ATTRIB_STACK_DEPTH* = 0x00000D3B - GL_SUBPIXEL_BITS* = 0x00000D50 - GL_INDEX_BITS* = 0x00000D51 - GL_RED_BITS* = 0x00000D52 - GL_GREEN_BITS* = 0x00000D53 - GL_BLUE_BITS* = 0x00000D54 - GL_ALPHA_BITS* = 0x00000D55 - GL_DEPTH_BITS* = 0x00000D56 - GL_STENCIL_BITS* = 0x00000D57 - GL_ACCUM_RED_BITS* = 0x00000D58 - GL_ACCUM_GREEN_BITS* = 0x00000D59 - GL_ACCUM_BLUE_BITS* = 0x00000D5A - GL_ACCUM_ALPHA_BITS* = 0x00000D5B - GL_NAME_STACK_DEPTH* = 0x00000D70 - GL_AUTO_NORMAL* = 0x00000D80 - GL_MAP1_COLOR_4* = 0x00000D90 - GL_MAP1_INDEX* = 0x00000D91 - GL_MAP1_NORMAL* = 0x00000D92 - GL_MAP1_TEXTURE_COORD_1* = 0x00000D93 - GL_MAP1_TEXTURE_COORD_2* = 0x00000D94 - GL_MAP1_TEXTURE_COORD_3* = 0x00000D95 - GL_MAP1_TEXTURE_COORD_4* = 0x00000D96 - GL_MAP1_VERTEX_3* = 0x00000D97 - GL_MAP1_VERTEX_4* = 0x00000D98 - GL_MAP2_COLOR_4* = 0x00000DB0 - GL_MAP2_INDEX* = 0x00000DB1 - GL_MAP2_NORMAL* = 0x00000DB2 - GL_MAP2_TEXTURE_COORD_1* = 0x00000DB3 - GL_MAP2_TEXTURE_COORD_2* = 0x00000DB4 - GL_MAP2_TEXTURE_COORD_3* = 0x00000DB5 - GL_MAP2_TEXTURE_COORD_4* = 0x00000DB6 - GL_MAP2_VERTEX_3* = 0x00000DB7 - GL_MAP2_VERTEX_4* = 0x00000DB8 - GL_MAP1_GRID_DOMAIN* = 0x00000DD0 - GL_MAP1_GRID_SEGMENTS* = 0x00000DD1 - GL_MAP2_GRID_DOMAIN* = 0x00000DD2 - GL_MAP2_GRID_SEGMENTS* = 0x00000DD3 - GL_TEXTURE_1D* = 0x00000DE0 - GL_TEXTURE_2D* = 0x00000DE1 - GL_FEEDBACK_BUFFER_POINTER* = 0x00000DF0 - GL_FEEDBACK_BUFFER_SIZE* = 0x00000DF1 - GL_FEEDBACK_BUFFER_TYPE* = 0x00000DF2 - GL_SELECTION_BUFFER_POINTER* = 0x00000DF3 - GL_SELECTION_BUFFER_SIZE* = 0x00000DF4 # GL_TEXTURE_BINDING_1D - # GL_TEXTURE_BINDING_2D - # GL_VERTEX_ARRAY - # GL_NORMAL_ARRAY - # GL_COLOR_ARRAY - # GL_INDEX_ARRAY - # GL_TEXTURE_COORD_ARRAY - # GL_EDGE_FLAG_ARRAY - # GL_VERTEX_ARRAY_SIZE - # GL_VERTEX_ARRAY_TYPE - # GL_VERTEX_ARRAY_STRIDE - # GL_NORMAL_ARRAY_TYPE - # GL_NORMAL_ARRAY_STRIDE - # GL_COLOR_ARRAY_SIZE - # GL_COLOR_ARRAY_TYPE - # GL_COLOR_ARRAY_STRIDE - # GL_INDEX_ARRAY_TYPE - # GL_INDEX_ARRAY_STRIDE - # GL_TEXTURE_COORD_ARRAY_SIZE - # GL_TEXTURE_COORD_ARRAY_TYPE - # GL_TEXTURE_COORD_ARRAY_STRIDE - # GL_EDGE_FLAG_ARRAY_STRIDE - # GL_POLYGON_OFFSET_FACTOR - # GL_POLYGON_OFFSET_UNITS - # GetTextureParameter - # GL_TEXTURE_MAG_FILTER - # GL_TEXTURE_MIN_FILTER - # GL_TEXTURE_WRAP_S - # GL_TEXTURE_WRAP_T - GL_TEXTURE_WIDTH* = 0x00001000 - GL_TEXTURE_HEIGHT* = 0x00001001 - GL_TEXTURE_INTERNAL_FORMAT* = 0x00001003 - GL_TEXTURE_BORDER_COLOR* = 0x00001004 - GL_TEXTURE_BORDER* = 0x00001005 # GL_TEXTURE_RED_SIZE - # GL_TEXTURE_GREEN_SIZE - # GL_TEXTURE_BLUE_SIZE - # GL_TEXTURE_ALPHA_SIZE - # GL_TEXTURE_LUMINANCE_SIZE - # GL_TEXTURE_INTENSITY_SIZE - # GL_TEXTURE_PRIORITY - # GL_TEXTURE_RESIDENT - # HintMode - GL_DONT_CARE* = 0x00001100 - GL_FASTEST* = 0x00001101 - GL_NICEST* = 0x00001102 # HintTarget - # GL_PERSPECTIVE_CORRECTION_HINT - # GL_POINT_SMOOTH_HINT - # GL_LINE_SMOOTH_HINT - # GL_POLYGON_SMOOTH_HINT - # GL_FOG_HINT - # IndexPointerType - # GL_SHORT - # GL_INT - # GL_FLOAT - # GL_DOUBLE - # LightModelParameter - # GL_LIGHT_MODEL_AMBIENT - # GL_LIGHT_MODEL_LOCAL_VIEWER - # GL_LIGHT_MODEL_TWO_SIDE - # LightName - GL_LIGHT0* = 0x00004000 - GL_LIGHT1* = 0x00004001 - GL_LIGHT2* = 0x00004002 - GL_LIGHT3* = 0x00004003 - GL_LIGHT4* = 0x00004004 - GL_LIGHT5* = 0x00004005 - GL_LIGHT6* = 0x00004006 - GL_LIGHT7* = 0x00004007 # LightParameter - GL_AMBIENT* = 0x00001200 - GL_DIFFUSE* = 0x00001201 - GL_SPECULAR* = 0x00001202 - GL_POSITION* = 0x00001203 - GL_SPOT_DIRECTION* = 0x00001204 - GL_SPOT_EXPONENT* = 0x00001205 - GL_SPOT_CUTOFF* = 0x00001206 - GL_CONSTANT_ATTENUATION* = 0x00001207 - GL_LINEAR_ATTENUATION* = 0x00001208 - GL_QUADRATIC_ATTENUATION* = 0x00001209 # InterleavedArrays - # GL_V2F - # GL_V3F - # GL_C4UB_V2F - # GL_C4UB_V3F - # GL_C3F_V3F - # GL_N3F_V3F - # GL_C4F_N3F_V3F - # GL_T2F_V3F - # GL_T4F_V4F - # GL_T2F_C4UB_V3F - # GL_T2F_C3F_V3F - # GL_T2F_N3F_V3F - # GL_T2F_C4F_N3F_V3F - # GL_T4F_C4F_N3F_V4F - # ListMode - GL_COMPILE* = 0x00001300 - GL_COMPILE_AND_EXECUTE* = 0x00001301 # ListNameType - # GL_BYTE - # GL_UNSIGNED_BYTE - # GL_SHORT - # GL_UNSIGNED_SHORT - # GL_INT - # GL_UNSIGNED_INT - # GL_FLOAT - # GL_2_BYTES - # GL_3_BYTES - # GL_4_BYTES - # LogicOp - constGL_CLEAR* = 0x00001500 - GL_AND* = 0x00001501 - GL_AND_REVERSE* = 0x00001502 - GL_COPY* = 0x00001503 - GL_AND_INVERTED* = 0x00001504 - GL_NOOP* = 0x00001505 - GL_XOR* = 0x00001506 - GL_OR* = 0x00001507 - GL_NOR* = 0x00001508 - GL_EQUIV* = 0x00001509 - GL_INVERT* = 0x0000150A - GL_OR_REVERSE* = 0x0000150B - GL_COPY_INVERTED* = 0x0000150C - GL_OR_INVERTED* = 0x0000150D - GL_NAND* = 0x0000150E - GL_SET* = 0x0000150F # MapTarget - # GL_MAP1_COLOR_4 - # GL_MAP1_INDEX - # GL_MAP1_NORMAL - # GL_MAP1_TEXTURE_COORD_1 - # GL_MAP1_TEXTURE_COORD_2 - # GL_MAP1_TEXTURE_COORD_3 - # GL_MAP1_TEXTURE_COORD_4 - # GL_MAP1_VERTEX_3 - # GL_MAP1_VERTEX_4 - # GL_MAP2_COLOR_4 - # GL_MAP2_INDEX - # GL_MAP2_NORMAL - # GL_MAP2_TEXTURE_COORD_1 - # GL_MAP2_TEXTURE_COORD_2 - # GL_MAP2_TEXTURE_COORD_3 - # GL_MAP2_TEXTURE_COORD_4 - # GL_MAP2_VERTEX_3 - # GL_MAP2_VERTEX_4 - # MaterialFace - # GL_FRONT - # GL_BACK - # GL_FRONT_AND_BACK - # MaterialParameter - GL_EMISSION* = 0x00001600 - GL_SHININESS* = 0x00001601 - GL_AMBIENT_AND_DIFFUSE* = 0x00001602 - GL_COLOR_INDEXES* = 0x00001603 # GL_AMBIENT - # GL_DIFFUSE - # GL_SPECULAR - # MatrixMode - GL_MODELVIEW* = 0x00001700 - GL_PROJECTION* = 0x00001701 - GL_TEXTURE* = 0x00001702 # MeshMode1 - # GL_POINT - # GL_LINE - # MeshMode2 - # GL_POINT - # GL_LINE - # GL_FILL - # NormalPointerType - # GL_BYTE - # GL_SHORT - # GL_INT - # GL_FLOAT - # GL_DOUBLE - # PixelCopyType - GL_COLOR* = 0x00001800 - GL_DEPTH* = 0x00001801 - GL_STENCIL* = 0x00001802 # PixelFormat - GL_COLOR_INDEX* = 0x00001900 - GL_STENCIL_INDEX* = 0x00001901 - GL_DEPTH_COMPONENT* = 0x00001902 - GL_RED* = 0x00001903 - GL_GREEN* = 0x00001904 - GL_BLUE* = 0x00001905 - GL_ALPHA* = 0x00001906 - GL_RGB* = 0x00001907 - GL_RGBA* = 0x00001908 - GL_LUMINANCE* = 0x00001909 - GL_LUMINANCE_ALPHA* = 0x0000190A # PixelMap - # GL_PIXEL_MAP_I_TO_I - # GL_PIXEL_MAP_S_TO_S - # GL_PIXEL_MAP_I_TO_R - # GL_PIXEL_MAP_I_TO_G - # GL_PIXEL_MAP_I_TO_B - # GL_PIXEL_MAP_I_TO_A - # GL_PIXEL_MAP_R_TO_R - # GL_PIXEL_MAP_G_TO_G - # GL_PIXEL_MAP_B_TO_B - # GL_PIXEL_MAP_A_TO_A - # PixelStore - # GL_UNPACK_SWAP_BYTES - # GL_UNPACK_LSB_FIRST - # GL_UNPACK_ROW_LENGTH - # GL_UNPACK_SKIP_ROWS - # GL_UNPACK_SKIP_PIXELS - # GL_UNPACK_ALIGNMENT - # GL_PACK_SWAP_BYTES - # GL_PACK_LSB_FIRST - # GL_PACK_ROW_LENGTH - # GL_PACK_SKIP_ROWS - # GL_PACK_SKIP_PIXELS - # GL_PACK_ALIGNMENT - # PixelTransfer - # GL_MAP_COLOR - # GL_MAP_STENCIL - # GL_INDEX_SHIFT - # GL_INDEX_OFFSET - # GL_RED_SCALE - # GL_RED_BIAS - # GL_GREEN_SCALE - # GL_GREEN_BIAS - # GL_BLUE_SCALE - # GL_BLUE_BIAS - # GL_ALPHA_SCALE - # GL_ALPHA_BIAS - # GL_DEPTH_SCALE - # GL_DEPTH_BIAS - # PixelType - constGL_BITMAP* = 0x00001A00 - GL_POINT* = 0x00001B00 - GL_LINE* = 0x00001B01 - GL_FILL* = 0x00001B02 # ReadBufferMode - # GL_FRONT_LEFT - # GL_FRONT_RIGHT - # GL_BACK_LEFT - # GL_BACK_RIGHT - # GL_FRONT - # GL_BACK - # GL_LEFT - # GL_RIGHT - # GL_AUX0 - # GL_AUX1 - # GL_AUX2 - # GL_AUX3 - # RenderingMode - GL_RENDER* = 0x00001C00 - GL_FEEDBACK* = 0x00001C01 - GL_SELECT* = 0x00001C02 # ShadingModel - GL_FLAT* = 0x00001D00 - GL_SMOOTH* = 0x00001D01 # StencilFunction - # GL_NEVER - # GL_LESS - # GL_EQUAL - # GL_LEQUAL - # GL_GREATER - # GL_NOTEQUAL - # GL_GEQUAL - # GL_ALWAYS - # StencilOp - # GL_ZERO - GL_KEEP* = 0x00001E00 - GL_REPLACE* = 0x00001E01 - GL_INCR* = 0x00001E02 - GL_DECR* = 0x00001E03 # GL_INVERT - # StringName - GL_VENDOR* = 0x00001F00 - GL_RENDERER* = 0x00001F01 - GL_VERSION* = 0x00001F02 - GL_EXTENSIONS* = 0x00001F03 # TextureCoordName - GL_S* = 0x00002000 - GL_T* = 0x00002001 - GL_R* = 0x00002002 - GL_Q* = 0x00002003 # TexCoordPointerType - # GL_SHORT - # GL_INT - # GL_FLOAT - # GL_DOUBLE - # TextureEnvMode - GL_MODULATE* = 0x00002100 - GL_DECAL* = 0x00002101 # GL_BLEND - # GL_REPLACE - # TextureEnvParameter - GL_TEXTURE_ENV_MODE* = 0x00002200 - GL_TEXTURE_ENV_COLOR* = 0x00002201 # TextureEnvTarget - GL_TEXTURE_ENV* = 0x00002300 # TextureGenMode - GL_EYE_LINEAR* = 0x00002400 - GL_OBJECT_LINEAR* = 0x00002401 - GL_SPHERE_MAP* = 0x00002402 # TextureGenParameter - GL_TEXTURE_GEN_MODE* = 0x00002500 - GL_OBJECT_PLANE* = 0x00002501 - GL_EYE_PLANE* = 0x00002502 # TextureMagFilter - GL_NEAREST* = 0x00002600 - GL_LINEAR* = 0x00002601 # TextureMinFilter - # GL_NEAREST - # GL_LINEAR - GL_NEAREST_MIPMAP_NEAREST* = 0x00002700 - GL_LINEAR_MIPMAP_NEAREST* = 0x00002701 - GL_NEAREST_MIPMAP_LINEAR* = 0x00002702 - GL_LINEAR_MIPMAP_LINEAR* = 0x00002703 # TextureParameterName - GL_TEXTURE_MAG_FILTER* = 0x00002800 - GL_TEXTURE_MIN_FILTER* = 0x00002801 - GL_TEXTURE_WRAP_S* = 0x00002802 - GL_TEXTURE_WRAP_T* = 0x00002803 # GL_TEXTURE_BORDER_COLOR - # GL_TEXTURE_PRIORITY - # TextureTarget - # GL_TEXTURE_1D - # GL_TEXTURE_2D - # GL_PROXY_TEXTURE_1D - # GL_PROXY_TEXTURE_2D - # TextureWrapMode - GL_CLAMP* = 0x00002900 - GL_REPEAT* = 0x00002901 # VertexPointerType - # GL_SHORT - # GL_INT - # GL_FLOAT - # GL_DOUBLE - # ClientAttribMask - GL_CLIENT_PIXEL_STORE_BIT* = 0x00000001 - GL_CLIENT_VERTEX_ARRAY_BIT* = 0x00000002 - GL_CLIENT_ALL_ATTRIB_BITS* = 0xFFFFFFFF # polygon_offset - GL_POLYGON_OFFSET_FACTOR* = 0x00008038 - GL_POLYGON_OFFSET_UNITS* = 0x00002A00 - GL_POLYGON_OFFSET_POINT* = 0x00002A01 - GL_POLYGON_OFFSET_LINE* = 0x00002A02 - GL_POLYGON_OFFSET_FILL* = 0x00008037 # texture - GL_ALPHA4* = 0x0000803B - GL_ALPHA8* = 0x0000803C - GL_ALPHA12* = 0x0000803D - GL_ALPHA16* = 0x0000803E - GL_LUMINANCE4* = 0x0000803F - GL_LUMINANCE8* = 0x00008040 - GL_LUMINANCE12* = 0x00008041 - GL_LUMINANCE16* = 0x00008042 - GL_LUMINANCE4_ALPHA4* = 0x00008043 - GL_LUMINANCE6_ALPHA2* = 0x00008044 - GL_LUMINANCE8_ALPHA8* = 0x00008045 - GL_LUMINANCE12_ALPHA4* = 0x00008046 - GL_LUMINANCE12_ALPHA12* = 0x00008047 - GL_LUMINANCE16_ALPHA16* = 0x00008048 - GL_INTENSITY* = 0x00008049 - GL_INTENSITY4* = 0x0000804A - GL_INTENSITY8* = 0x0000804B - GL_INTENSITY12* = 0x0000804C - GL_INTENSITY16* = 0x0000804D - GL_R3_G3_B2* = 0x00002A10 - GL_RGB4* = 0x0000804F - GL_RGB5* = 0x00008050 - GL_RGB8* = 0x00008051 - GL_RGB10* = 0x00008052 - GL_RGB12* = 0x00008053 - GL_RGB16* = 0x00008054 - GL_RGBA2* = 0x00008055 - GL_RGBA4* = 0x00008056 - GL_RGB5_A1* = 0x00008057 - GL_RGBA8* = 0x00008058 - GL_RGB10_A2* = 0x00008059 - GL_RGBA12* = 0x0000805A - GL_RGBA16* = 0x0000805B - GL_TEXTURE_RED_SIZE* = 0x0000805C - GL_TEXTURE_GREEN_SIZE* = 0x0000805D - GL_TEXTURE_BLUE_SIZE* = 0x0000805E - GL_TEXTURE_ALPHA_SIZE* = 0x0000805F - GL_TEXTURE_LUMINANCE_SIZE* = 0x00008060 - GL_TEXTURE_INTENSITY_SIZE* = 0x00008061 - GL_PROXY_TEXTURE_1D* = 0x00008063 - GL_PROXY_TEXTURE_2D* = 0x00008064 # texture_object - GL_TEXTURE_PRIORITY* = 0x00008066 - GL_TEXTURE_RESIDENT* = 0x00008067 - GL_TEXTURE_BINDING_1D* = 0x00008068 - GL_TEXTURE_BINDING_2D* = 0x00008069 # vertex_array - GL_VERTEX_ARRAY* = 0x00008074 - GL_NORMAL_ARRAY* = 0x00008075 - GL_COLOR_ARRAY* = 0x00008076 - GL_INDEX_ARRAY* = 0x00008077 - GL_TEXTURE_COORD_ARRAY* = 0x00008078 - GL_EDGE_FLAG_ARRAY* = 0x00008079 - GL_VERTEX_ARRAY_SIZE* = 0x0000807A - GL_VERTEX_ARRAY_TYPE* = 0x0000807B - GL_VERTEX_ARRAY_STRIDE* = 0x0000807C - GL_NORMAL_ARRAY_TYPE* = 0x0000807E - GL_NORMAL_ARRAY_STRIDE* = 0x0000807F - GL_COLOR_ARRAY_SIZE* = 0x00008081 - GL_COLOR_ARRAY_TYPE* = 0x00008082 - GL_COLOR_ARRAY_STRIDE* = 0x00008083 - GL_INDEX_ARRAY_TYPE* = 0x00008085 - GL_INDEX_ARRAY_STRIDE* = 0x00008086 - GL_TEXTURE_COORD_ARRAY_SIZE* = 0x00008088 - GL_TEXTURE_COORD_ARRAY_TYPE* = 0x00008089 - GL_TEXTURE_COORD_ARRAY_STRIDE* = 0x0000808A - GL_EDGE_FLAG_ARRAY_STRIDE* = 0x0000808C - GL_VERTEX_ARRAY_POINTER* = 0x0000808E - GL_NORMAL_ARRAY_POINTER* = 0x0000808F - GL_COLOR_ARRAY_POINTER* = 0x00008090 - GL_INDEX_ARRAY_POINTER* = 0x00008091 - GL_TEXTURE_COORD_ARRAY_POINTER* = 0x00008092 - GL_EDGE_FLAG_ARRAY_POINTER* = 0x00008093 - GL_V2F* = 0x00002A20 - GL_V3F* = 0x00002A21 - GL_C4UB_V2F* = 0x00002A22 - GL_C4UB_V3F* = 0x00002A23 - GL_C3F_V3F* = 0x00002A24 - GL_N3F_V3F* = 0x00002A25 - GL_C4F_N3F_V3F* = 0x00002A26 - GL_T2F_V3F* = 0x00002A27 - GL_T4F_V4F* = 0x00002A28 - GL_T2F_C4UB_V3F* = 0x00002A29 - GL_T2F_C3F_V3F* = 0x00002A2A - GL_T2F_N3F_V3F* = 0x00002A2B - GL_T2F_C4F_N3F_V3F* = 0x00002A2C - GL_T4F_C4F_N3F_V4F* = 0x00002A2D # Extensions - GL_EXT_vertex_array* = 1 - GL_WIN_swap_hint* = 1 - GL_EXT_bgra* = 1 - GL_EXT_paletted_texture* = 1 # EXT_vertex_array - GL_VERTEX_ARRAY_EXT* = 0x00008074 - GL_NORMAL_ARRAY_EXT* = 0x00008075 - GL_COLOR_ARRAY_EXT* = 0x00008076 - GL_INDEX_ARRAY_EXT* = 0x00008077 - GL_TEXTURE_COORD_ARRAY_EXT* = 0x00008078 - GL_EDGE_FLAG_ARRAY_EXT* = 0x00008079 - GL_VERTEX_ARRAY_SIZE_EXT* = 0x0000807A - GL_VERTEX_ARRAY_TYPE_EXT* = 0x0000807B - GL_VERTEX_ARRAY_STRIDE_EXT* = 0x0000807C - GL_VERTEX_ARRAY_COUNT_EXT* = 0x0000807D - GL_NORMAL_ARRAY_TYPE_EXT* = 0x0000807E - GL_NORMAL_ARRAY_STRIDE_EXT* = 0x0000807F - GL_NORMAL_ARRAY_COUNT_EXT* = 0x00008080 - GL_COLOR_ARRAY_SIZE_EXT* = 0x00008081 - GL_COLOR_ARRAY_TYPE_EXT* = 0x00008082 - GL_COLOR_ARRAY_STRIDE_EXT* = 0x00008083 - GL_COLOR_ARRAY_COUNT_EXT* = 0x00008084 - GL_INDEX_ARRAY_TYPE_EXT* = 0x00008085 - GL_INDEX_ARRAY_STRIDE_EXT* = 0x00008086 - GL_INDEX_ARRAY_COUNT_EXT* = 0x00008087 - GL_TEXTURE_COORD_ARRAY_SIZE_EXT* = 0x00008088 - GL_TEXTURE_COORD_ARRAY_TYPE_EXT* = 0x00008089 - GL_TEXTURE_COORD_ARRAY_STRIDE_EXT* = 0x0000808A - GL_TEXTURE_COORD_ARRAY_COUNT_EXT* = 0x0000808B - GL_EDGE_FLAG_ARRAY_STRIDE_EXT* = 0x0000808C - GL_EDGE_FLAG_ARRAY_COUNT_EXT* = 0x0000808D - GL_VERTEX_ARRAY_POINTER_EXT* = 0x0000808E - GL_NORMAL_ARRAY_POINTER_EXT* = 0x0000808F - GL_COLOR_ARRAY_POINTER_EXT* = 0x00008090 - GL_INDEX_ARRAY_POINTER_EXT* = 0x00008091 - GL_TEXTURE_COORD_ARRAY_POINTER_EXT* = 0x00008092 - GL_EDGE_FLAG_ARRAY_POINTER_EXT* = 0x00008093 - GL_DOUBLE_EXT* = GL_DOUBLE # EXT_bgra - GL_BGR_EXT* = 0x000080E0 - GL_BGRA_EXT* = 0x000080E1 # EXT_paletted_texture - # These must match the GL_COLOR_TABLE_*_SGI enumerants - GL_COLOR_TABLE_FORMAT_EXT* = 0x000080D8 - GL_COLOR_TABLE_WIDTH_EXT* = 0x000080D9 - GL_COLOR_TABLE_RED_SIZE_EXT* = 0x000080DA - GL_COLOR_TABLE_GREEN_SIZE_EXT* = 0x000080DB - GL_COLOR_TABLE_BLUE_SIZE_EXT* = 0x000080DC - GL_COLOR_TABLE_ALPHA_SIZE_EXT* = 0x000080DD - GL_COLOR_TABLE_LUMINANCE_SIZE_EXT* = 0x000080DE - GL_COLOR_TABLE_INTENSITY_SIZE_EXT* = 0x000080DF - GL_COLOR_INDEX1_EXT* = 0x000080E2 - GL_COLOR_INDEX2_EXT* = 0x000080E3 - GL_COLOR_INDEX4_EXT* = 0x000080E4 - GL_COLOR_INDEX8_EXT* = 0x000080E5 - GL_COLOR_INDEX12_EXT* = 0x000080E6 - GL_COLOR_INDEX16_EXT* = 0x000080E7 # For compatibility with OpenGL v1.0 - constGL_LOGIC_OP* = GL_INDEX_LOGIC_OP - GL_TEXTURE_COMPONENTS* = GL_TEXTURE_INTERNAL_FORMAT - -proc glAccum*(op: TGLenum, value: TGLfloat){.dynlib: dllname, importc.} -proc glAlphaFunc*(func: TGLenum, theref: TGLclampf){.dynlib: dllname, importc.} -proc glAreTexturesResident*(n: TGLsizei, textures: PGLuint, - residences: PGLboolean): TGLboolean{.dynlib: dllname, - importc.} -proc glArrayElement*(i: TGLint){.dynlib: dllname, importc.} -proc glBegin*(mode: TGLenum){.dynlib: dllname, importc.} -proc glBindTexture*(target: TGLenum, texture: TGLuint){.dynlib: dllname, importc.} -proc glBitmap*(width, height: TGLsizei, xorig, yorig: TGLfloat, - xmove, ymove: TGLfloat, bitmap: PGLubyte){.dynlib: dllname, - importc.} -proc glBlendFunc*(sfactor, dfactor: TGLenum){.dynlib: dllname, importc.} -proc glCallList*(list: TGLuint){.dynlib: dllname, importc.} -proc glCallLists*(n: TGLsizei, atype: TGLenum, lists: Pointer){.dynlib: dllname, - importc.} -proc glClear*(mask: TGLbitfield){.dynlib: dllname, importc.} -proc glClearAccum*(red, green, blue, alpha: TGLfloat){.dynlib: dllname, importc.} -proc glClearColor*(red, green, blue, alpha: TGLclampf){.dynlib: dllname, importc.} -proc glClearDepth*(depth: TGLclampd){.dynlib: dllname, importc.} -proc glClearIndex*(c: TGLfloat){.dynlib: dllname, importc.} -proc glClearStencil*(s: TGLint){.dynlib: dllname, importc.} -proc glClipPlane*(plane: TGLenum, equation: PGLdouble){.dynlib: dllname, importc.} -proc glColor3b*(red, green, blue: TGlbyte){.dynlib: dllname, importc.} -proc glColor3bv*(v: PGLbyte){.dynlib: dllname, importc.} -proc glColor3d*(red, green, blue: TGLdouble){.dynlib: dllname, importc.} -proc glColor3dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glColor3f*(red, green, blue: TGLfloat){.dynlib: dllname, importc.} -proc glColor3fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glColor3i*(red, green, blue: TGLint){.dynlib: dllname, importc.} -proc glColor3iv*(v: PGLint){.dynlib: dllname, importc.} -proc glColor3s*(red, green, blue: TGLshort){.dynlib: dllname, importc.} -proc glColor3sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glColor3ub*(red, green, blue: TGLubyte){.dynlib: dllname, importc.} -proc glColor3ubv*(v: PGLubyte){.dynlib: dllname, importc.} -proc glColor3ui*(red, green, blue: TGLuint){.dynlib: dllname, importc.} -proc glColor3uiv*(v: PGLuint){.dynlib: dllname, importc.} -proc glColor3us*(red, green, blue: TGLushort){.dynlib: dllname, importc.} -proc glColor3usv*(v: PGLushort){.dynlib: dllname, importc.} -proc glColor4b*(red, green, blue, alpha: TGlbyte){.dynlib: dllname, importc.} -proc glColor4bv*(v: PGLbyte){.dynlib: dllname, importc.} -proc glColor4d*(red, green, blue, alpha: TGLdouble){.dynlib: dllname, importc.} -proc glColor4dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glColor4f*(red, green, blue, alpha: TGLfloat){.dynlib: dllname, importc.} -proc glColor4fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glColor4i*(red, green, blue, alpha: TGLint){.dynlib: dllname, importc.} -proc glColor4iv*(v: PGLint){.dynlib: dllname, importc.} -proc glColor4s*(red, green, blue, alpha: TGLshort){.dynlib: dllname, importc.} -proc glColor4sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glColor4ub*(red, green, blue, alpha: TGLubyte){.dynlib: dllname, importc.} -proc glColor4ubv*(v: PGLubyte){.dynlib: dllname, importc.} -proc glColor4ui*(red, green, blue, alpha: TGLuint){.dynlib: dllname, importc.} -proc glColor4uiv*(v: PGLuint){.dynlib: dllname, importc.} -proc glColor4us*(red, green, blue, alpha: TGLushort){.dynlib: dllname, importc.} -proc glColor4usv*(v: PGLushort){.dynlib: dllname, importc.} -proc glColorMask*(red, green, blue, alpha: TGLboolean){.dynlib: dllname, importc.} -proc glColorMaterial*(face, mode: TGLenum){.dynlib: dllname, importc.} -proc glColorPointer*(size: TGLint, atype: TGLenum, stride: TGLsizei, - pointer: Pointer){.dynlib: dllname, importc.} -proc glCopyPixels*(x, y: TGLint, width, height: TGLsizei, atype: TGLenum){. - dynlib: dllname, importc.} -proc glCopyTexImage1D*(target: TGLenum, level: TGLint, internalFormat: TGLenum, - x, y: TGLint, width: TGLsizei, border: TGLint){. - dynlib: dllname, importc.} -proc glCopyTexImage2D*(target: TGLenum, level: TGLint, internalFormat: TGLenum, - x, y: TGLint, width, height: TGLsizei, border: TGLint){. - dynlib: dllname, importc.} -proc glCopyTexSubImage1D*(target: TGLenum, level, xoffset, x, y: TGLint, - width: TGLsizei){.dynlib: dllname, importc.} -proc glCopyTexSubImage2D*(target: TGLenum, level, xoffset, yoffset, x, y: TGLint, - width, height: TGLsizei){.dynlib: dllname, importc.} -proc glCullFace*(mode: TGLenum){.dynlib: dllname, importc.} -proc glDeleteLists*(list: TGLuint, range: TGLsizei){.dynlib: dllname, importc.} -proc glDeleteTextures*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, importc.} -proc glDepthFunc*(func: TGLenum){.dynlib: dllname, importc.} -proc glDepthMask*(flag: TGLboolean){.dynlib: dllname, importc.} -proc glDepthRange*(zNear, zFar: TGLclampd){.dynlib: dllname, importc.} -proc glDisable*(cap: TGLenum){.dynlib: dllname, importc.} -proc glDisableClientState*(aarray: TGLenum){.dynlib: dllname, importc.} -proc glDrawArrays*(mode: TGLenum, first: TGLint, count: TGLsizei){.dynlib: dllname, - importc.} -proc glDrawBuffer*(mode: TGLenum){.dynlib: dllname, importc.} -proc glDrawElements*(mode: TGLenum, count: TGLsizei, atype: TGLenum, - indices: Pointer){.dynlib: dllname, importc.} -proc glDrawPixels*(width, height: TGLsizei, format, atype: TGLenum, - pixels: Pointer){.dynlib: dllname, importc.} -proc glEdgeFlag*(flag: TGLboolean){.dynlib: dllname, importc.} -proc glEdgeFlagPointer*(stride: TGLsizei, pointer: Pointer){.dynlib: dllname, - importc.} -proc glEdgeFlagv*(flag: PGLboolean){.dynlib: dllname, importc.} -proc glEnable*(cap: TGLenum){.dynlib: dllname, importc.} -proc glEnableClientState*(aarray: TGLenum){.dynlib: dllname, importc.} -proc glEnd*(){.dynlib: dllname, importc.} -proc glEndList*(){.dynlib: dllname, importc.} -proc glEvalCoord1d*(u: TGLdouble){.dynlib: dllname, importc.} -proc glEvalCoord1dv*(u: PGLdouble){.dynlib: dllname, importc.} -proc glEvalCoord1f*(u: TGLfloat){.dynlib: dllname, importc.} -proc glEvalCoord1fv*(u: PGLfloat){.dynlib: dllname, importc.} -proc glEvalCoord2d*(u, v: TGLdouble){.dynlib: dllname, importc.} -proc glEvalCoord2dv*(u: PGLdouble){.dynlib: dllname, importc.} -proc glEvalCoord2f*(u, v: TGLfloat){.dynlib: dllname, importc.} -proc glEvalCoord2fv*(u: PGLfloat){.dynlib: dllname, importc.} -proc glEvalMesh1*(mode: TGLenum, i1, i2: TGLint){.dynlib: dllname, importc.} -proc glEvalMesh2*(mode: TGLenum, i1, i2, j1, j2: TGLint){.dynlib: dllname, importc.} -proc glEvalPoint1*(i: TGLint){.dynlib: dllname, importc.} -proc glEvalPoint2*(i, j: TGLint){.dynlib: dllname, importc.} -proc glFeedbackBuffer*(size: TGLsizei, atype: TGLenum, buffer: PGLfloat){. - dynlib: dllname, importc.} -proc glFinish*(){.dynlib: dllname, importc.} -proc glFlush*(){.dynlib: dllname, importc.} -proc glFogf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} -proc glFogfv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, importc.} -proc glFogi*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glFogiv*(pname: TGLenum, params: PGLint){.dynlib: dllname, importc.} -proc glFrontFace*(mode: TGLenum){.dynlib: dllname, importc.} -proc glFrustum*(left, right, bottom, top, zNear, zFar: TGLdouble){. - dynlib: dllname, importc.} -proc glGenLists*(range: TGLsizei): TGLuint{.dynlib: dllname, importc.} -proc glGenTextures*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, importc.} -proc glGetBooleanv*(pname: TGLenum, params: PGLboolean){.dynlib: dllname, importc.} -proc glGetClipPlane*(plane: TGLenum, equation: PGLdouble){.dynlib: dllname, - importc.} -proc glGetDoublev*(pname: TGLenum, params: PGLdouble){.dynlib: dllname, importc.} -proc glGetError*(): TGLenum{.dynlib: dllname, importc.} -proc glGetFloatv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, importc.} -proc glGetIntegerv*(pname: TGLenum, params: PGLint){.dynlib: dllname, importc.} -proc glGetLightfv*(light, pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glGetLightiv*(light, pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glGetMapdv*(target, query: TGLenum, v: PGLdouble){.dynlib: dllname, importc.} -proc glGetMapfv*(target, query: TGLenum, v: PGLfloat){.dynlib: dllname, importc.} -proc glGetMapiv*(target, query: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glGetMaterialfv*(face, pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glGetMaterialiv*(face, pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glGetPixelMapfv*(map: TGLenum, values: PGLfloat){.dynlib: dllname, importc.} -proc glGetPixelMapuiv*(map: TGLenum, values: PGLuint){.dynlib: dllname, importc.} -proc glGetPixelMapusv*(map: TGLenum, values: PGLushort){.dynlib: dllname, importc.} -proc glGetPointerv*(pname: TGLenum, params: Pointer){.dynlib: dllname, importc.} -proc glGetPolygonStipple*(mask: PGLubyte){.dynlib: dllname, importc.} -proc glGetString*(name: TGLenum): cstring{.dynlib: dllname, importc.} -proc glGetTexEnvfv*(target, pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glGetTexEnviv*(target, pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glGetTexGendv*(coord, pname: TGLenum, params: PGLdouble){.dynlib: dllname, - importc.} -proc glGetTexGenfv*(coord, pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glGetTexGeniv*(coord, pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glGetTexImage*(target: TGLenum, level: TGLint, format: TGLenum, atype: TGLenum, - pixels: Pointer){.dynlib: dllname, importc.} -proc glGetTexLevelParameterfv*(target: TGLenum, level: TGLint, pname: TGLenum, - params: Pointer){.dynlib: dllname, importc.} -proc glGetTexLevelParameteriv*(target: TGLenum, level: TGLint, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glGetTexParameterfv*(target, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetTexParameteriv*(target, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glHint*(target, mode: TGLenum){.dynlib: dllname, importc.} -proc glIndexMask*(mask: TGLuint){.dynlib: dllname, importc.} -proc glIndexPointer*(atype: TGLenum, stride: TGLsizei, pointer: Pointer){. - dynlib: dllname, importc.} -proc glIndexd*(c: TGLdouble){.dynlib: dllname, importc.} -proc glIndexdv*(c: PGLdouble){.dynlib: dllname, importc.} -proc glIndexf*(c: TGLfloat){.dynlib: dllname, importc.} -proc glIndexfv*(c: PGLfloat){.dynlib: dllname, importc.} -proc glIndexi*(c: TGLint){.dynlib: dllname, importc.} -proc glIndexiv*(c: PGLint){.dynlib: dllname, importc.} -proc glIndexs*(c: TGLshort){.dynlib: dllname, importc.} -proc glIndexsv*(c: PGLshort){.dynlib: dllname, importc.} -proc glIndexub*(c: TGLubyte){.dynlib: dllname, importc.} -proc glIndexubv*(c: PGLubyte){.dynlib: dllname, importc.} -proc glInitNames*(){.dynlib: dllname, importc.} -proc glInterleavedArrays*(format: TGLenum, stride: TGLsizei, pointer: Pointer){. - dynlib: dllname, importc.} -proc glIsEnabled*(cap: TGLenum): TGLboolean{.dynlib: dllname, importc.} -proc glIsList*(list: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glIsTexture*(texture: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glLightModelf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} -proc glLightModelfv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, importc.} -proc glLightModeli*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glLightModeliv*(pname: TGLenum, params: PGLint){.dynlib: dllname, importc.} -proc glLightf*(light, pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} -proc glLightfv*(light, pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glLighti*(light, pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glLightiv*(light, pname: TGLenum, params: PGLint){.dynlib: dllname, importc.} -proc glLineStipple*(factor: TGLint, pattern: TGLushort){.dynlib: dllname, importc.} -proc glLineWidth*(width: TGLfloat){.dynlib: dllname, importc.} -proc glListBase*(base: TGLuint){.dynlib: dllname, importc.} -proc glLoadIdentity*(){.dynlib: dllname, importc.} -proc glLoadMatrixd*(m: PGLdouble){.dynlib: dllname, importc.} -proc glLoadMatrixf*(m: PGLfloat){.dynlib: dllname, importc.} -proc glLoadName*(name: TGLuint){.dynlib: dllname, importc.} -proc glLogicOp*(opcode: TGLenum){.dynlib: dllname, importc.} -proc glMap1d*(target: TGLenum, u1, u2: TGLdouble, stride, order: TGLint, - points: PGLdouble){.dynlib: dllname, importc.} -proc glMap1f*(target: TGLenum, u1, u2: TGLfloat, stride, order: TGLint, - points: PGLfloat){.dynlib: dllname, importc.} -proc glMap2d*(target: TGLenum, u1, u2: TGLdouble, ustride, uorder: TGLint, - v1, v2: TGLdouble, vstride, vorder: TGLint, points: PGLdouble){. - dynlib: dllname, importc.} -proc glMap2f*(target: TGLenum, u1, u2: TGLfloat, ustride, uorder: TGLint, - v1, v2: TGLfloat, vstride, vorder: TGLint, points: PGLfloat){. - dynlib: dllname, importc.} -proc glMapGrid1d*(un: TGLint, u1, u2: TGLdouble){.dynlib: dllname, importc.} -proc glMapGrid1f*(un: TGLint, u1, u2: TGLfloat){.dynlib: dllname, importc.} -proc glMapGrid2d*(un: TGLint, u1, u2: TGLdouble, vn: TGLint, v1, v2: TGLdouble){. - dynlib: dllname, importc.} -proc glMapGrid2f*(un: TGLint, u1, u2: TGLfloat, vn: TGLint, v1, v2: TGLfloat){. - dynlib: dllname, importc.} -proc glMaterialf*(face, pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} -proc glMaterialfv*(face, pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glMateriali*(face, pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glMaterialiv*(face, pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glMatrixMode*(mode: TGLenum){.dynlib: dllname, importc.} -proc glMultMatrixd*(m: PGLdouble){.dynlib: dllname, importc.} -proc glMultMatrixf*(m: PGLfloat){.dynlib: dllname, importc.} -proc glNewList*(list: TGLuint, mode: TGLenum){.dynlib: dllname, importc.} -proc glNormal3b*(nx, ny, nz: TGlbyte){.dynlib: dllname, importc.} -proc glNormal3bv*(v: PGLbyte){.dynlib: dllname, importc.} -proc glNormal3d*(nx, ny, nz: TGLdouble){.dynlib: dllname, importc.} -proc glNormal3dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glNormal3f*(nx, ny, nz: TGLfloat){.dynlib: dllname, importc.} -proc glNormal3fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glNormal3i*(nx, ny, nz: TGLint){.dynlib: dllname, importc.} -proc glNormal3iv*(v: PGLint){.dynlib: dllname, importc.} -proc glNormal3s*(nx, ny, nz: TGLshort){.dynlib: dllname, importc.} -proc glNormal3sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glNormalPointer*(atype: TGLenum, stride: TGLsizei, pointer: Pointer){. - dynlib: dllname, importc.} -proc glOrtho*(left, right, bottom, top, zNear, zFar: TGLdouble){.dynlib: dllname, - importc.} -proc glPassThrough*(token: TGLfloat){.dynlib: dllname, importc.} -proc glPixelMapfv*(map: TGLenum, mapsize: TGLsizei, values: PGLfloat){. - dynlib: dllname, importc.} -proc glPixelMapuiv*(map: TGLenum, mapsize: TGLsizei, values: PGLuint){. - dynlib: dllname, importc.} -proc glPixelMapusv*(map: TGLenum, mapsize: TGLsizei, values: PGLushort){. - dynlib: dllname, importc.} -proc glPixelStoref*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} -proc glPixelStorei*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glPixelTransferf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} -proc glPixelTransferi*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glPixelZoom*(xfactor, yfactor: TGLfloat){.dynlib: dllname, importc.} -proc glPointSize*(size: TGLfloat){.dynlib: dllname, importc.} -proc glPolygonMode*(face, mode: TGLenum){.dynlib: dllname, importc.} -proc glPolygonOffset*(factor, units: TGLfloat){.dynlib: dllname, importc.} -proc glPolygonStipple*(mask: PGLubyte){.dynlib: dllname, importc.} -proc glPopAttrib*(){.dynlib: dllname, importc.} -proc glPopClientAttrib*(){.dynlib: dllname, importc.} -proc glPopMatrix*(){.dynlib: dllname, importc.} -proc glPopName*(){.dynlib: dllname, importc.} -proc glPrioritizeTextures*(n: TGLsizei, textures: PGLuint, priorities: PGLclampf){. - dynlib: dllname, importc.} -proc glPushAttrib*(mask: TGLbitfield){.dynlib: dllname, importc.} -proc glPushClientAttrib*(mask: TGLbitfield){.dynlib: dllname, importc.} -proc glPushMatrix*(){.dynlib: dllname, importc.} -proc glPushName*(name: TGLuint){.dynlib: dllname, importc.} -proc glRasterPos2d*(x, y: TGLdouble){.dynlib: dllname, importc.} -proc glRasterPos2dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glRasterPos2f*(x, y: TGLfloat){.dynlib: dllname, importc.} -proc glRasterPos2fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glRasterPos2i*(x, y: TGLint){.dynlib: dllname, importc.} -proc glRasterPos2iv*(v: PGLint){.dynlib: dllname, importc.} -proc glRasterPos2s*(x, y: TGLshort){.dynlib: dllname, importc.} -proc glRasterPos2sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glRasterPos3d*(x, y, z: TGLdouble){.dynlib: dllname, importc.} -proc glRasterPos3dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glRasterPos3f*(x, y, z: TGLfloat){.dynlib: dllname, importc.} -proc glRasterPos3fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glRasterPos3i*(x, y, z: TGLint){.dynlib: dllname, importc.} -proc glRasterPos3iv*(v: PGLint){.dynlib: dllname, importc.} -proc glRasterPos3s*(x, y, z: TGLshort){.dynlib: dllname, importc.} -proc glRasterPos3sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glRasterPos4d*(x, y, z, w: TGLdouble){.dynlib: dllname, importc.} -proc glRasterPos4dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glRasterPos4f*(x, y, z, w: TGLfloat){.dynlib: dllname, importc.} -proc glRasterPos4fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glRasterPos4i*(x, y, z, w: TGLint){.dynlib: dllname, importc.} -proc glRasterPos4iv*(v: PGLint){.dynlib: dllname, importc.} -proc glRasterPos4s*(x, y, z, w: TGLshort){.dynlib: dllname, importc.} -proc glRasterPos4sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glReadBuffer*(mode: TGLenum){.dynlib: dllname, importc.} -proc glReadPixels*(x, y: TGLint, width, height: TGLsizei, format, atype: TGLenum, - pixels: Pointer){.dynlib: dllname, importc.} -proc glRectd*(x1, y1, x2, y2: TGLdouble){.dynlib: dllname, importc.} -proc glRectdv*(v1: PGLdouble, v2: PGLdouble){.dynlib: dllname, importc.} -proc glRectf*(x1, y1, x2, y2: TGLfloat){.dynlib: dllname, importc.} -proc glRectfv*(v1: PGLfloat, v2: PGLfloat){.dynlib: dllname, importc.} -proc glRecti*(x1, y1, x2, y2: TGLint){.dynlib: dllname, importc.} -proc glRectiv*(v1: PGLint, v2: PGLint){.dynlib: dllname, importc.} -proc glRects*(x1, y1, x2, y2: TGLshort){.dynlib: dllname, importc.} -proc glRectsv*(v1: PGLshort, v2: PGLshort){.dynlib: dllname, importc.} -proc glRenderMode*(mode: TGLint): TGLint{.dynlib: dllname, importc.} -proc glRotated*(angle, x, y, z: TGLdouble){.dynlib: dllname, importc.} -proc glRotatef*(angle, x, y, z: TGLfloat){.dynlib: dllname, importc.} -proc glScaled*(x, y, z: TGLdouble){.dynlib: dllname, importc.} -proc glScalef*(x, y, z: TGLfloat){.dynlib: dllname, importc.} -proc glScissor*(x, y: TGLint, width, height: TGLsizei){.dynlib: dllname, importc.} -proc glSelectBuffer*(size: TGLsizei, buffer: PGLuint){.dynlib: dllname, importc.} -proc glShadeModel*(mode: TGLenum){.dynlib: dllname, importc.} -proc glStencilFunc*(func: TGLenum, theref: TGLint, mask: TGLuint){.dynlib: dllname, - importc.} -proc glStencilMask*(mask: TGLuint){.dynlib: dllname, importc.} -proc glStencilOp*(fail, zfail, zpass: TGLenum){.dynlib: dllname, importc.} -proc glTexCoord1d*(s: TGLdouble){.dynlib: dllname, importc.} -proc glTexCoord1dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glTexCoord1f*(s: TGLfloat){.dynlib: dllname, importc.} -proc glTexCoord1fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glTexCoord1i*(s: TGLint){.dynlib: dllname, importc.} -proc glTexCoord1iv*(v: PGLint){.dynlib: dllname, importc.} -proc glTexCoord1s*(s: TGLshort){.dynlib: dllname, importc.} -proc glTexCoord1sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glTexCoord2d*(s, t: TGLdouble){.dynlib: dllname, importc.} -proc glTexCoord2dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glTexCoord2f*(s, t: TGLfloat){.dynlib: dllname, importc.} -proc glTexCoord2fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glTexCoord2i*(s, t: TGLint){.dynlib: dllname, importc.} -proc glTexCoord2iv*(v: PGLint){.dynlib: dllname, importc.} -proc glTexCoord2s*(s, t: TGLshort){.dynlib: dllname, importc.} -proc glTexCoord2sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glTexCoord3d*(s, t, r: TGLdouble){.dynlib: dllname, importc.} -proc glTexCoord3dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glTexCoord3f*(s, t, r: TGLfloat){.dynlib: dllname, importc.} -proc glTexCoord3fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glTexCoord3i*(s, t, r: TGLint){.dynlib: dllname, importc.} -proc glTexCoord3iv*(v: PGLint){.dynlib: dllname, importc.} -proc glTexCoord3s*(s, t, r: TGLshort){.dynlib: dllname, importc.} -proc glTexCoord3sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glTexCoord4d*(s, t, r, q: TGLdouble){.dynlib: dllname, importc.} -proc glTexCoord4dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glTexCoord4f*(s, t, r, q: TGLfloat){.dynlib: dllname, importc.} -proc glTexCoord4fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glTexCoord4i*(s, t, r, q: TGLint){.dynlib: dllname, importc.} -proc glTexCoord4iv*(v: PGLint){.dynlib: dllname, importc.} -proc glTexCoord4s*(s, t, r, q: TGLshort){.dynlib: dllname, importc.} -proc glTexCoord4sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glTexCoordPointer*(size: TGLint, atype: TGLenum, stride: TGLsizei, - pointer: Pointer){.dynlib: dllname, importc.} -proc glTexEnvf*(target: TGLenum, pname: TGLenum, param: TGLfloat){.dynlib: dllname, - importc.} -proc glTexEnvfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glTexEnvi*(target: TGLenum, pname: TGLenum, param: TGLint){.dynlib: dllname, - importc.} -proc glTexEnviv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glTexGend*(coord: TGLenum, pname: TGLenum, param: TGLdouble){.dynlib: dllname, - importc.} -proc glTexGendv*(coord: TGLenum, pname: TGLenum, params: PGLdouble){. - dynlib: dllname, importc.} -proc glTexGenf*(coord: TGLenum, pname: TGLenum, param: TGLfloat){.dynlib: dllname, - importc.} -proc glTexGenfv*(coord: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glTexGeni*(coord: TGLenum, pname: TGLenum, param: TGLint){.dynlib: dllname, - importc.} -proc glTexGeniv*(coord: TGLenum, pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glTexImage1D*(target: TGLenum, level, internalformat: TGLint, width: TGLsizei, - border: TGLint, format, atype: TGLenum, pixels: Pointer){. - dynlib: dllname, importc.} -proc glTexImage2D*(target: TGLenum, level, internalformat: TGLint, - width, height: TGLsizei, border: TGLint, format, atype: TGLenum, - pixels: Pointer){.dynlib: dllname, importc.} -proc glTexParameterf*(target: TGLenum, pname: TGLenum, param: TGLfloat){. - dynlib: dllname, importc.} -proc glTexParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glTexParameteri*(target: TGLenum, pname: TGLenum, param: TGLint){. - dynlib: dllname, importc.} -proc glTexParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glTexSubImage1D*(target: TGLenum, level, xoffset: TGLint, width: TGLsizei, - format, atype: TGLenum, pixels: Pointer){.dynlib: dllname, - importc.} -proc glTexSubImage2D*(target: TGLenum, level, xoffset, yoffset: TGLint, - width, height: TGLsizei, format, atype: TGLenum, - pixels: Pointer){.dynlib: dllname, importc.} -proc glTranslated*(x, y, z: TGLdouble){.dynlib: dllname, importc.} -proc glTranslatef*(x, y, z: TGLfloat){.dynlib: dllname, importc.} -proc glVertex2d*(x, y: TGLdouble){.dynlib: dllname, importc.} -proc glVertex2dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glVertex2f*(x, y: TGLfloat){.dynlib: dllname, importc.} -proc glVertex2fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glVertex2i*(x, y: TGLint){.dynlib: dllname, importc.} -proc glVertex2iv*(v: PGLint){.dynlib: dllname, importc.} -proc glVertex2s*(x, y: TGLshort){.dynlib: dllname, importc.} -proc glVertex2sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glVertex3d*(x, y, z: TGLdouble){.dynlib: dllname, importc.} -proc glVertex3dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glVertex3f*(x, y, z: TGLfloat){.dynlib: dllname, importc.} -proc glVertex3fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glVertex3i*(x, y, z: TGLint){.dynlib: dllname, importc.} -proc glVertex3iv*(v: PGLint){.dynlib: dllname, importc.} -proc glVertex3s*(x, y, z: TGLshort){.dynlib: dllname, importc.} -proc glVertex3sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glVertex4d*(x, y, z, w: TGLdouble){.dynlib: dllname, importc.} -proc glVertex4dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glVertex4f*(x, y, z, w: TGLfloat){.dynlib: dllname, importc.} -proc glVertex4fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glVertex4i*(x, y, z, w: TGLint){.dynlib: dllname, importc.} -proc glVertex4iv*(v: PGLint){.dynlib: dllname, importc.} -proc glVertex4s*(x, y, z, w: TGLshort){.dynlib: dllname, importc.} -proc glVertex4sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glVertexPointer*(size: TGLint, atype: TGLenum, stride: TGLsizei, - pointer: Pointer){.dynlib: dllname, importc.} -proc glViewport*(x, y: TGLint, width, height: TGLsizei){.dynlib: dllname, importc.} -type - PFN_GLARRAY_ELEMENT_EXTPROC* = proc (i: TGLint) - PFN_GLDRAW_ARRAYS_EXTPROC* = proc (mode: TGLenum, first: TGLint, count: TGLsizei) - PFN_GLVERTEX_POINTER_EXTPROC* = proc (size: TGLint, atype: TGLenum, - stride, count: TGLsizei, pointer: Pointer) - PFN_GLNORMAL_POINTER_EXTPROC* = proc (atype: TGLenum, stride, count: TGLsizei, - pointer: Pointer) - PFN_GLCOLOR_POINTER_EXTPROC* = proc (size: TGLint, atype: TGLenum, - stride, count: TGLsizei, pointer: Pointer) - PFN_GLINDEX_POINTER_EXTPROC* = proc (atype: TGLenum, stride, count: TGLsizei, - pointer: Pointer) - PFN_GLTEXCOORD_POINTER_EXTPROC* = proc (size: TGLint, atype: TGLenum, - stride, count: TGLsizei, pointer: Pointer) - PFN_GLEDGEFLAG_POINTER_EXTPROC* = proc (stride, count: TGLsizei, - pointer: PGLboolean) - PFN_GLGET_POINTER_VEXT_PROC* = proc (pname: TGLenum, params: Pointer) - PFN_GLARRAY_ELEMENT_ARRAY_EXTPROC* = proc (mode: TGLenum, count: TGLsizei, - pi: Pointer) # WIN_swap_hint - PFN_GLADDSWAPHINT_RECT_WINPROC* = proc (x, y: TGLint, width, height: TGLsizei) - PFN_GLCOLOR_TABLE_EXTPROC* = proc (target, internalFormat: TGLenum, - width: TGLsizei, format, atype: TGLenum, - data: Pointer) - PFN_GLCOLOR_SUBTABLE_EXTPROC* = proc (target: TGLenum, start, count: TGLsizei, - format, atype: TGLenum, data: Pointer) - PFN_GLGETCOLOR_TABLE_EXTPROC* = proc (target, format, atype: TGLenum, - data: Pointer) - PFN_GLGETCOLOR_TABLE_PARAMETER_IVEXTPROC* = proc (target, pname: TGLenum, - params: PGLint) - PFN_GLGETCOLOR_TABLE_PARAMETER_FVEXTPROC* = proc (target, pname: TGLenum, - params: PGLfloat) - -{.pop.} - -# implementation diff --git a/lib/oldwrappers/opengl/glext.nim b/lib/oldwrappers/opengl/glext.nim deleted file mode 100755 index 0a2138584..000000000 --- a/lib/oldwrappers/opengl/glext.nim +++ /dev/null @@ -1,4175 +0,0 @@ -# -# -# Adaption of the delphi3d.net OpenGL units to FreePascal -# Sebastian Guenther (sg@freepascal.org) in 2002 -# These units are free to use -# -# - -#************************************************* -# * OpenGL extension loading library * -# * Generated by MetaGLext, written by Tom Nuydens * -# * (tom@delphi3d.net -- http://www.delphi3d.net * -# ************************************************* -#*** Generated on 10/11/2002 - -when defined(windows): - {.push callconv: stdcall.} -else: - {.push callconv: cdecl.} - -import - gl - -type - GLcharARB* = Char - TGLcharARB* = GLcharARB - PGLcharARB* = ptr GLcharARB - GLhandleARB* = int - TGLhandleARB* = GLhandleARB - PGLhandleARB* = ptr GLhandleARB - GLintptr* = int - TGLintptr* = GLintptr - PGLintptr* = ptr GLintptr - GLsizeiptr* = int - TGLsizeiptr* = GLsizeiptr - PGLsizeiptr* = ptr GLsizeiptr - GLchar* = Char - TGLchar* = GLchar - PGLchar* = cstring #***** GL_version_1_2 *****// - -const - GL_UNSIGNED_BYTE_3_3_2* = 0x00008032 - GL_UNSIGNED_SHORT_4_4_4_4* = 0x00008033 - GL_UNSIGNED_SHORT_5_5_5_1* = 0x00008034 - GL_UNSIGNED_INT_8_8_8_8* = 0x00008035 - GL_UNSIGNED_INT_10_10_10_2* = 0x00008036 - GL_RESCALE_NORMAL* = 0x0000803A - GL_UNSIGNED_BYTE_2_3_3_REV* = 0x00008362 - GL_UNSIGNED_SHORT_5_6_5* = 0x00008363 - GL_UNSIGNED_SHORT_5_6_5_REV* = 0x00008364 - GL_UNSIGNED_SHORT_4_4_4_4_REV* = 0x00008365 - GL_UNSIGNED_SHORT_1_5_5_5_REV* = 0x00008366 - GL_UNSIGNED_INT_8_8_8_8_REV* = 0x00008367 - GL_UNSIGNED_INT_2_10_10_10_REV* = 0x00008368 - GL_BGR* = 0x000080E0 - GL_BGRA* = 0x000080E1 - GL_MAX_ELEMENTS_VERTICES* = 0x000080E8 - GL_MAX_ELEMENTS_INDICES* = 0x000080E9 - GL_CLAMP_TO_EDGE* = 0x0000812F - GL_TEXTURE_MIN_LOD* = 0x0000813A - GL_TEXTURE_MAX_LOD* = 0x0000813B - GL_TEXTURE_BASE_LEVEL* = 0x0000813C - GL_TEXTURE_MAX_LEVEL* = 0x0000813D - GL_LIGHT_MODEL_COLOR_CONTROL* = 0x000081F8 - GL_SINGLE_COLOR* = 0x000081F9 - GL_SEPARATE_SPECULAR_COLOR* = 0x000081FA - GL_SMOOTH_POINT_SIZE_RANGE* = 0x00000B12 - GL_SMOOTH_POINT_SIZE_GRANULARITY* = 0x00000B13 - GL_SMOOTH_LINE_WIDTH_RANGE* = 0x00000B22 - GL_SMOOTH_LINE_WIDTH_GRANULARITY* = 0x00000B23 - GL_ALIASED_POINT_SIZE_RANGE* = 0x0000846D - GL_ALIASED_LINE_WIDTH_RANGE* = 0x0000846E - GL_PACK_SKIP_IMAGES* = 0x0000806B - GL_PACK_IMAGE_HEIGHT* = 0x0000806C - GL_UNPACK_SKIP_IMAGES* = 0x0000806D - GL_UNPACK_IMAGE_HEIGHT* = 0x0000806E - GL_TEXTURE_3D* = 0x0000806F - GL_PROXY_TEXTURE_3D* = 0x00008070 - GL_TEXTURE_DEPTH* = 0x00008071 - GL_TEXTURE_WRAP_R* = 0x00008072 - GL_MAX_3D_TEXTURE_SIZE* = 0x00008073 - -proc glBlendColor*(red: TGLclampf, green: TGLclampf, blue: TGLclampf, - alpha: TGLclampf){.dynlib: dllname, importc.} -proc glBlendEquation*(mode: TGLenum){.dynlib: dllname, importc.} -proc glDrawRangeElements*(mode: TGLenum, start: TGLuint, theend: TGLuint, - count: TGLsizei, thetype: TGLenum, indices: PGLvoid){. - dynlib: dllname, importc.} -proc glColorTable*(target: TGLenum, internalformat: TGLenum, width: TGLsizei, - format: TGLenum, thetype: TGLenum, table: PGLvoid){. - dynlib: dllname, importc.} -proc glColorTableParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glColorTableParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glCopyColorTable*(target: TGLenum, internalformat: TGLenum, x: TGLint, - y: TGLint, width: TGLsizei){.dynlib: dllname, importc.} -proc glGetColorTable*(target: TGLenum, format: TGLenum, thetype: TGLenum, - table: PGLvoid){.dynlib: dllname, importc.} -proc glGetColorTableParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetColorTableParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glColorSubTable*(target: TGLenum, start: TGLsizei, count: TGLsizei, - format: TGLenum, thetype: TGLenum, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCopyColorSubTable*(target: TGLenum, start: TGLsizei, x: TGLint, y: TGLint, - width: TGLsizei){.dynlib: dllname, importc.} -proc glConvolutionFilter1D*(target: TGLenum, internalformat: TGLenum, - width: TGLsizei, format: TGLenum, thetype: TGLenum, - image: PGLvoid){.dynlib: dllname, importc.} -proc glConvolutionFilter2D*(target: TGLenum, internalformat: TGLenum, - width: TGLsizei, height: TGLsizei, format: TGLenum, - thetype: TGLenum, image: PGLvoid){.dynlib: dllname, - importc.} -proc glConvolutionParameterf*(target: TGLenum, pname: TGLenum, params: TGLfloat){. - dynlib: dllname, importc.} -proc glConvolutionParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glConvolutionParameteri*(target: TGLenum, pname: TGLenum, params: TGLint){. - dynlib: dllname, importc.} -proc glConvolutionParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glCopyConvolutionFilter1D*(target: TGLenum, internalformat: TGLenum, - x: TGLint, y: TGLint, width: TGLsizei){. - dynlib: dllname, importc.} -proc glCopyConvolutionFilter2D*(target: TGLenum, internalformat: TGLenum, - x: TGLint, y: TGLint, width: TGLsizei, - height: TGLsizei){.dynlib: dllname, importc.} -proc glGetConvolutionFilter*(target: TGLenum, format: TGLenum, thetype: TGLenum, - image: PGLvoid){.dynlib: dllname, importc.} -proc glGetConvolutionParameterfv*(target: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetConvolutionParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetSeparableFilter*(target: TGLenum, format: TGLenum, thetype: TGLenum, - row: PGLvoid, column: PGLvoid, span: PGLvoid){. - dynlib: dllname, importc.} -proc glSeparableFilter2D*(target: TGLenum, internalformat: TGLenum, - width: TGLsizei, height: TGLsizei, format: TGLenum, - thetype: TGLenum, row: PGLvoid, column: PGLvoid){. - dynlib: dllname, importc.} -proc glGetHistogram*(target: TGLenum, reset: TGLboolean, format: TGLenum, - thetype: TGLenum, values: PGLvoid){.dynlib: dllname, importc.} -proc glGetHistogramParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetHistogramParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetMinmax*(target: TGLenum, reset: TGLboolean, format: TGLenum, - thetype: TGLenum, values: PGLvoid){.dynlib: dllname, importc.} -proc glGetMinmaxParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetMinmaxParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glHistogram*(target: TGLenum, width: TGLsizei, internalformat: TGLenum, - sink: TGLboolean){.dynlib: dllname, importc.} -proc glMinmax*(target: TGLenum, internalformat: TGLenum, sink: TGLboolean){. - dynlib: dllname, importc.} -proc glResetHistogram*(target: TGLenum){.dynlib: dllname, importc.} -proc glResetMinmax*(target: TGLenum){.dynlib: dllname, importc.} -proc glTexImage3D*(target: TGLenum, level: TGLint, internalformat: TGLint, - width: TGLsizei, height: TGLsizei, depth: TGLsizei, - border: TGLint, format: TGLenum, thetype: TGLenum, - pixels: PGLvoid){.dynlib: dllname, importc.} -proc glTexSubImage3D*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, zoffset: TGLint, width: TGLsizei, - height: TGLsizei, depth: TGLsizei, format: TGLenum, - thetype: TGLenum, pixels: PGLvoid){.dynlib: dllname, - importc.} -proc glCopyTexSubImage3D*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, zoffset: TGLint, x: TGLint, y: TGLint, - width: TGLsizei, height: TGLsizei){.dynlib: dllname, - importc.} - - -proc glActiveTextureARB*(texture: TGLenum){.dynlib: dllname, importc.} -proc glClientActiveTextureARB*(texture: TGLenum){.dynlib: dllname, importc.} -proc glMultiTexCoord1dARB*(target: TGLenum, s: TGLdouble){.dynlib: dllname, - importc.} -proc glMultiTexCoord1dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, - importc.} -proc glMultiTexCoord1fARB*(target: TGLenum, s: TGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord1fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, - importc.} -proc glMultiTexCoord1iARB*(target: TGLenum, s: TGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord1ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord1sARB*(target: TGLenum, s: TGLshort){.dynlib: dllname, importc.} -proc glMultiTexCoord1svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, - importc.} -proc glMultiTexCoord2dARB*(target: TGLenum, s: TGLdouble, t: TGLdouble){. - dynlib: dllname, importc.} -proc glMultiTexCoord2dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, - importc.} -proc glMultiTexCoord2fARB*(target: TGLenum, s: TGLfloat, t: TGLfloat){. - dynlib: dllname, importc.} -proc glMultiTexCoord2fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, - importc.} -proc glMultiTexCoord2iARB*(target: TGLenum, s: TGLint, t: TGLint){.dynlib: dllname, - importc.} -proc glMultiTexCoord2ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord2sARB*(target: TGLenum, s: TGLshort, t: TGLshort){. - dynlib: dllname, importc.} -proc glMultiTexCoord2svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, - importc.} -proc glMultiTexCoord3dARB*(target: TGLenum, s: TGLdouble, t: TGLdouble, r: TGLdouble){. - dynlib: dllname, importc.} -proc glMultiTexCoord3dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, - importc.} -proc glMultiTexCoord3fARB*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat){. - dynlib: dllname, importc.} -proc glMultiTexCoord3fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, - importc.} -proc glMultiTexCoord3iARB*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint){. - dynlib: dllname, importc.} -proc glMultiTexCoord3ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord3sARB*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort){. - dynlib: dllname, importc.} -proc glMultiTexCoord3svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, - importc.} -proc glMultiTexCoord4dARB*(target: TGLenum, s: TGLdouble, t: TGLdouble, - r: TGLdouble, q: TGLdouble){.dynlib: dllname, importc.} -proc glMultiTexCoord4dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, - importc.} -proc glMultiTexCoord4fARB*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat, - q: TGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord4fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, - importc.} -proc glMultiTexCoord4iARB*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint, - q: TGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord4ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord4sARB*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort, - q: TGLshort){.dynlib: dllname, importc.} -proc glMultiTexCoord4svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, - importc.} - -proc glSampleCoverageARB*(value: TGLclampf, invert: TGLboolean){.dynlib: dllname, - importc.} - #***** GL_ARB_texture_env_add *****// - - -proc glWeightbvARB*(size: TGLint, weights: PGLbyte){.dynlib: dllname, importc.} -proc glWeightsvARB*(size: TGLint, weights: PGLshort){.dynlib: dllname, importc.} -proc glWeightivARB*(size: TGLint, weights: PGLint){.dynlib: dllname, importc.} -proc glWeightfvARB*(size: TGLint, weights: PGLfloat){.dynlib: dllname, importc.} -proc glWeightdvARB*(size: TGLint, weights: PGLdouble){.dynlib: dllname, importc.} -proc glWeightvARB*(size: TGLint, weights: PGLdouble){.dynlib: dllname, importc.} -proc glWeightubvARB*(size: TGLint, weights: PGLubyte){.dynlib: dllname, importc.} -proc glWeightusvARB*(size: TGLint, weights: PGLushort){.dynlib: dllname, importc.} -proc glWeightuivARB*(size: TGLint, weights: PGLuint){.dynlib: dllname, importc.} -proc glWeightPointerARB*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} -proc glVertexBlendARB*(count: TGLint){.dynlib: dllname, importc.} - - - -proc glVertexAttrib1sARB*(index: TGLuint, x: TGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib1fARB*(index: TGLuint, x: TGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib1dARB*(index: TGLuint, x: TGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib2sARB*(index: TGLuint, x: TGLshort, y: TGLshort){. - dynlib: dllname, importc.} -proc glVertexAttrib2fARB*(index: TGLuint, x: TGLfloat, y: TGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttrib2dARB*(index: TGLuint, x: TGLdouble, y: TGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttrib3sARB*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort){. - dynlib: dllname, importc.} -proc glVertexAttrib3fARB*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttrib3dARB*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttrib4sARB*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort, - w: TGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4fARB*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat, - w: TGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib4dARB*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble, - w: TGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib4NubARB*(index: TGLuint, x: TGLubyte, y: TGLubyte, z: TGLubyte, - w: TGLubyte){.dynlib: dllname, importc.} -proc glVertexAttrib1svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib1fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib1dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, - importc.} -proc glVertexAttrib2svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib2fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib2dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, - importc.} -proc glVertexAttrib3svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib3fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib3dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, - importc.} -proc glVertexAttrib4bvARB*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.} -proc glVertexAttrib4svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4ivARB*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.} -proc glVertexAttrib4ubvARB*(index: TGLuint, v: PGLubyte){.dynlib: dllname, - importc.} -proc glVertexAttrib4usvARB*(index: TGLuint, v: PGLushort){.dynlib: dllname, - importc.} -proc glVertexAttrib4uivARB*(index: TGLuint, v: PGLuint){.dynlib: dllname, importc.} -proc glVertexAttrib4fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib4dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, - importc.} -proc glVertexAttrib4NbvARB*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.} -proc glVertexAttrib4NsvARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, - importc.} -proc glVertexAttrib4NivARB*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.} -proc glVertexAttrib4NubvARB*(index: TGLuint, v: PGLubyte){.dynlib: dllname, - importc.} -proc glVertexAttrib4NusvARB*(index: TGLuint, v: PGLushort){.dynlib: dllname, - importc.} -proc glVertexAttrib4NuivARB*(index: TGLuint, v: PGLuint){.dynlib: dllname, - importc.} -proc glVertexAttribPointerARB*(index: TGLuint, size: TGLint, thetype: TGLenum, - normalized: TGLboolean, stride: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} -proc glEnableVertexAttribArrayARB*(index: TGLuint){.dynlib: dllname, importc.} -proc glDisableVertexAttribArrayARB*(index: TGLuint){.dynlib: dllname, importc.} -proc glProgramStringARB*(target: TGLenum, format: TGLenum, length: TGLsizei, - str: PGLvoid){.dynlib: dllname, importc.} -proc glBindProgramARB*(target: TGLenum, theProgram: TGLuint){.dynlib: dllname, - importc.} -proc glDeleteProgramsARB*(n: TGLsizei, programs: PGLuint){.dynlib: dllname, - importc.} -proc glGenProgramsARB*(n: TGLsizei, programs: PGLuint){.dynlib: dllname, importc.} -proc glProgramEnvParameter4dARB*(target: TGLenum, index: TGLuint, x: TGLdouble, - y: TGLdouble, z: TGLdouble, w: TGLdouble){. - dynlib: dllname, importc.} -proc glProgramEnvParameter4dvARB*(target: TGLenum, index: TGLuint, - params: PGLdouble){.dynlib: dllname, importc.} -proc glProgramEnvParameter4fARB*(target: TGLenum, index: TGLuint, x: TGLfloat, - y: TGLfloat, z: TGLfloat, w: TGLfloat){. - dynlib: dllname, importc.} -proc glProgramEnvParameter4fvARB*(target: TGLenum, index: TGLuint, - params: PGLfloat){.dynlib: dllname, importc.} -proc glProgramLocalParameter4dARB*(target: TGLenum, index: TGLuint, x: TGLdouble, - y: TGLdouble, z: TGLdouble, w: TGLdouble){. - dynlib: dllname, importc.} -proc glProgramLocalParameter4dvARB*(target: TGLenum, index: TGLuint, - params: PGLdouble){.dynlib: dllname, importc.} -proc glProgramLocalParameter4fARB*(target: TGLenum, index: TGLuint, x: TGLfloat, - y: TGLfloat, z: TGLfloat, w: TGLfloat){. - dynlib: dllname, importc.} -proc glProgramLocalParameter4fvARB*(target: TGLenum, index: TGLuint, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetProgramEnvParameterdvARB*(target: TGLenum, index: TGLuint, - params: PGLdouble){.dynlib: dllname, importc.} -proc glGetProgramEnvParameterfvARB*(target: TGLenum, index: TGLuint, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetProgramLocalParameterdvARB*(target: TGLenum, index: TGLuint, - params: PGLdouble){.dynlib: dllname, - importc.} -proc glGetProgramLocalParameterfvARB*(target: TGLenum, index: TGLuint, - params: PGLfloat){.dynlib: dllname, - importc.} -proc glGetProgramivARB*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetProgramStringARB*(target: TGLenum, pname: TGLenum, str: PGLvoid){. - dynlib: dllname, importc.} -proc glGetVertexAttribdvARB*(index: TGLuint, pname: TGLenum, params: PGLdouble){. - dynlib: dllname, importc.} -proc glGetVertexAttribfvARB*(index: TGLuint, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetVertexAttribivARB*(index: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetVertexAttribPointervARB*(index: TGLuint, pname: TGLenum, - pointer: PGLvoid){.dynlib: dllname, importc.} -proc glIsProgramARB*(theProgram: TGLuint): TGLboolean{.dynlib: dllname, importc.} - #***** GL_ARB_window_pos *****// -proc glWindowPos2dARB*(x: TGLdouble, y: TGLdouble){.dynlib: dllname, importc.} -proc glWindowPos2fARB*(x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.} -proc glWindowPos2iARB*(x: TGLint, y: TGLint){.dynlib: dllname, importc.} -proc glWindowPos2sARB*(x: TGLshort, y: TGLshort){.dynlib: dllname, importc.} -proc glWindowPos2dvARB*(p: PGLdouble){.dynlib: dllname, importc.} -proc glWindowPos2fvARB*(p: PGLfloat){.dynlib: dllname, importc.} -proc glWindowPos2ivARB*(p: PGLint){.dynlib: dllname, importc.} -proc glWindowPos2svARB*(p: PGLshort){.dynlib: dllname, importc.} -proc glWindowPos3dARB*(x: TGLdouble, y: TGLdouble, z: TGLdouble){.dynlib: dllname, - importc.} -proc glWindowPos3fARB*(x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, - importc.} -proc glWindowPos3iARB*(x: TGLint, y: TGLint, z: TGLint){.dynlib: dllname, importc.} -proc glWindowPos3sARB*(x: TGLshort, y: TGLshort, z: TGLshort){.dynlib: dllname, - importc.} -proc glWindowPos3dvARB*(p: PGLdouble){.dynlib: dllname, importc.} -proc glWindowPos3fvARB*(p: PGLfloat){.dynlib: dllname, importc.} -proc glWindowPos3ivARB*(p: PGLint){.dynlib: dllname, importc.} -proc glWindowPos3svARB*(p: PGLshort){.dynlib: dllname, importc.} - - - -proc glBlendEquationSeparate*(modeRGB: TGLenum, modeAlpha: TGLenum){. - dynlib: dllname, importc.} -proc glDrawBuffers*(n: TGLsizei, bufs: PGLenum){.dynlib: dllname, importc.} -proc glStencilOpSeparate*(face: TGLenum, sfail: TGLenum, dpfail: TGLenum, - dppass: TGLenum){.dynlib: dllname, importc.} -proc glStencilFuncSeparate*(frontfunc: TGLenum, backfunc: TGLenum, theRef: TGLint, - mask: TGLuint){.dynlib: dllname, importc.} -proc glStencilMaskSeparate*(face: TGLenum, mask: TGLuint){.dynlib: dllname, - importc.} -proc glAttachShader*(theProgram: TGLuint, shader: TGLuint){.dynlib: dllname, - importc.} -proc glBindAttribLocation*(theProgram: TGLuint, index: TGLuint, name: PGLchar){. - dynlib: dllname, importc.} -proc glCompileShader*(shader: TGLuint){.dynlib: dllname, importc.} -proc glCreateProgram*(): TGLuint{.dynlib: dllname, importc.} -proc glCreateShader*(thetype: TGLenum): TGLuint{.dynlib: dllname, importc.} -proc glDeleteProgram*(theProgram: TGLuint){.dynlib: dllname, importc.} -proc glDeleteShader*(shader: TGLuint){.dynlib: dllname, importc.} -proc glDetachShader*(theProgram: TGLuint, shader: TGLuint){.dynlib: dllname, - importc.} -proc glDisableVertexAttribArray*(index: TGLuint){.dynlib: dllname, importc.} -proc glEnableVertexAttribArray*(index: TGLuint){.dynlib: dllname, importc.} -proc glGetActiveAttrib*(theProgram: TGLuint, index: TGLuint, bufSize: TGLsizei, - len: PGLsizei, size: PGLint, thetype: PGLenum, - name: PGLchar){.dynlib: dllname, importc.} -proc glGetActiveUniform*(theProgram: TGLuint, index: TGLuint, bufSize: TGLsizei, - len: PGLsizei, size: PGLint, thetype: PGLenum, - name: PGLchar){.dynlib: dllname, importc.} -proc glGetAttachedShaders*(theProgram: TGLuint, maxCount: TGLsizei, - count: PGLsizei, obj: PGLuint){.dynlib: dllname, - importc.} -proc glGetAttribLocation*(theProgram: TGLuint, name: PGLchar): TGLint{. - dynlib: dllname, importc.} -proc glGetProgramiv*(theProgram: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetProgramInfoLog*(theProgram: TGLuint, bufSize: TGLsizei, len: PGLsizei, - infoLog: PGLchar){.dynlib: dllname, importc.} -proc glGetShaderiv*(shader: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetShaderInfoLog*(shader: TGLuint, bufSize: TGLsizei, len: PGLsizei, - infoLog: PGLchar){.dynlib: dllname, importc.} -proc glGetShaderSource*(shader: TGLuint, bufSize: TGLsizei, len: PGLsizei, - source: PGLchar){.dynlib: dllname, importc.} -proc glGetUniformLocation*(theProgram: TGLuint, name: PGLchar): TGLint{. - dynlib: dllname, importc.} -proc glGetUniformfv*(theProgram: TGLuint, location: TGLint, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetUniformiv*(theProgram: TGLuint, location: TGLint, params: PGLint){. - dynlib: dllname, importc.} -proc glGetVertexAttribdv*(index: TGLuint, pname: TGLenum, params: PGLdouble){. - dynlib: dllname, importc.} -proc glGetVertexAttribfv*(index: TGLuint, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetVertexAttribiv*(index: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetVertexAttribPointerv*(index: TGLuint, pname: TGLenum, pointer: PGLvoid){. - dynlib: dllname, importc.} -proc glIsProgram*(theProgram: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glIsShader*(shader: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glLinkProgram*(theProgram: TGLuint){.dynlib: dllname, importc.} -proc glShaderSource*(shader: TGLuint, count: TGLsizei, str: PGLchar, len: PGLint){. - dynlib: dllname, importc.} -proc glUseProgram*(theProgram: TGLuint){.dynlib: dllname, importc.} -proc glUniform1f*(location: TGLint, v0: TGLfloat){.dynlib: dllname, importc.} -proc glUniform2f*(location: TGLint, v0: TGLfloat, v1: TGLfloat){.dynlib: dllname, - importc.} -proc glUniform3f*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat){. - dynlib: dllname, importc.} -proc glUniform4f*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat, - v3: TGLfloat){.dynlib: dllname, importc.} -proc glUniform1i*(location: TGLint, v0: TGLint){.dynlib: dllname, importc.} -proc glUniform2i*(location: TGLint, v0: TGLint, v1: TGLint){.dynlib: dllname, - importc.} -proc glUniform3i*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint){. - dynlib: dllname, importc.} -proc glUniform4i*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint, v3: TGLint){. - dynlib: dllname, importc.} -proc glUniform1fv*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform2fv*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform3fv*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform4fv*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform1iv*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniform2iv*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniform3iv*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniform4iv*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniformMatrix2fv*(location: TGLint, count: TGLsizei, transpose: TGLboolean, - value: PGLfloat){.dynlib: dllname, importc.} -proc glUniformMatrix3fv*(location: TGLint, count: TGLsizei, transpose: TGLboolean, - value: PGLfloat){.dynlib: dllname, importc.} -proc glUniformMatrix4fv*(location: TGLint, count: TGLsizei, transpose: TGLboolean, - value: PGLfloat){.dynlib: dllname, importc.} -proc glValidateProgram*(theProgram: TGLuint){.dynlib: dllname, importc.} -proc glVertexAttrib1d*(index: TGLuint, x: TGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib1dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib1f*(index: TGLuint, x: TGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib1fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib1s*(index: TGLuint, x: TGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib1sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib2d*(index: TGLuint, x: TGLdouble, y: TGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttrib2dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib2f*(index: TGLuint, x: TGLfloat, y: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexAttrib2fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib2s*(index: TGLuint, x: TGLshort, y: TGLshort){.dynlib: dllname, - importc.} -proc glVertexAttrib2sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib3d*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttrib3dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib3f*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttrib3fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib3s*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort){. - dynlib: dllname, importc.} -proc glVertexAttrib3sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4Nbv*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.} -proc glVertexAttrib4Niv*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.} -proc glVertexAttrib4Nsv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4Nub*(index: TGLuint, x: TGLubyte, y: TGLubyte, z: TGLubyte, - w: TGLubyte){.dynlib: dllname, importc.} -proc glVertexAttrib4Nubv*(index: TGLuint, v: PGLubyte){.dynlib: dllname, importc.} -proc glVertexAttrib4Nuiv*(index: TGLuint, v: PGLuint){.dynlib: dllname, importc.} -proc glVertexAttrib4Nusv*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.} -proc glVertexAttrib4bv*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.} -proc glVertexAttrib4d*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble, - w: TGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib4dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib4f*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat, - w: TGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib4fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib4iv*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.} -proc glVertexAttrib4s*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort, - w: TGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4ubv*(index: TGLuint, v: PGLubyte){.dynlib: dllname, importc.} -proc glVertexAttrib4uiv*(index: TGLuint, v: PGLuint){.dynlib: dllname, importc.} -proc glVertexAttrib4usv*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.} -proc glVertexAttribPointer*(index: TGLuint, size: TGLint, thetype: TGLenum, - normalized: TGLboolean, stride: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} - -const - GL_CONSTANT_COLOR* = 0x00008001 - GL_ONE_MINUS_CONSTANT_COLOR* = 0x00008002 - GL_CONSTANT_ALPHA* = 0x00008003 - GL_ONE_MINUS_CONSTANT_ALPHA* = 0x00008004 - constGL_BLEND_COLOR* = 0x00008005 - GL_FUNC_ADD* = 0x00008006 - GL_MIN* = 0x00008007 - GL_MAX* = 0x00008008 - constGL_BLEND_EQUATION* = 0x00008009 - GL_FUNC_SUBTRACT* = 0x0000800A - GL_FUNC_REVERSE_SUBTRACT* = 0x0000800B - GL_CONVOLUTION_1D* = 0x00008010 - GL_CONVOLUTION_2D* = 0x00008011 - GL_SEPARABLE_2D* = 0x00008012 - GL_CONVOLUTION_BORDER_MODE* = 0x00008013 - GL_CONVOLUTION_FILTER_SCALE* = 0x00008014 - GL_CONVOLUTION_FILTER_BIAS* = 0x00008015 - GL_REDUCE* = 0x00008016 - GL_CONVOLUTION_FORMAT* = 0x00008017 - GL_CONVOLUTION_WIDTH* = 0x00008018 - GL_CONVOLUTION_HEIGHT* = 0x00008019 - GL_MAX_CONVOLUTION_WIDTH* = 0x0000801A - GL_MAX_CONVOLUTION_HEIGHT* = 0x0000801B - GL_POST_CONVOLUTION_RED_SCALE* = 0x0000801C - GL_POST_CONVOLUTION_GREEN_SCALE* = 0x0000801D - GL_POST_CONVOLUTION_BLUE_SCALE* = 0x0000801E - GL_POST_CONVOLUTION_ALPHA_SCALE* = 0x0000801F - GL_POST_CONVOLUTION_RED_BIAS* = 0x00008020 - GL_POST_CONVOLUTION_GREEN_BIAS* = 0x00008021 - GL_POST_CONVOLUTION_BLUE_BIAS* = 0x00008022 - GL_POST_CONVOLUTION_ALPHA_BIAS* = 0x00008023 - constGL_HISTOGRAM* = 0x00008024 - GL_PROXY_HISTOGRAM* = 0x00008025 - GL_HISTOGRAM_WIDTH* = 0x00008026 - GL_HISTOGRAM_FORMAT* = 0x00008027 - GL_HISTOGRAM_RED_SIZE* = 0x00008028 - GL_HISTOGRAM_GREEN_SIZE* = 0x00008029 - GL_HISTOGRAM_BLUE_SIZE* = 0x0000802A - GL_HISTOGRAM_ALPHA_SIZE* = 0x0000802B - GL_HISTOGRAM_LUMINANCE_SIZE* = 0x0000802C - GL_HISTOGRAM_SINK* = 0x0000802D - constGL_MINMAX* = 0x0000802E - GL_MINMAX_FORMAT* = 0x0000802F - GL_MINMAX_SINK* = 0x00008030 - GL_TABLE_TOO_LARGE* = 0x00008031 - GL_COLOR_MATRIX* = 0x000080B1 - GL_COLOR_MATRIX_STACK_DEPTH* = 0x000080B2 - GL_MAX_COLOR_MATRIX_STACK_DEPTH* = 0x000080B3 - GL_POST_COLOR_MATRIX_RED_SCALE* = 0x000080B4 - GL_POST_COLOR_MATRIX_GREEN_SCALE* = 0x000080B5 - GL_POST_COLOR_MATRIX_BLUE_SCALE* = 0x000080B6 - GL_POST_COLOR_MATRIX_ALPHA_SCALE* = 0x000080B7 - GL_POST_COLOR_MATRIX_RED_BIAS* = 0x000080B8 - GL_POST_COLOR_MATRIX_GREEN_BIAS* = 0x000080B9 - GL_POST_COLOR_MATRIX_BLUE_BIAS* = 0x000080BA - GL_POST_COLOR_MATIX_ALPHA_BIAS* = 0x000080BB - constGL_COLOR_TABLE* = 0x000080D0 - GL_POST_CONVOLUTION_COLOR_TABLE* = 0x000080D1 - GL_POST_COLOR_MATRIX_COLOR_TABLE* = 0x000080D2 - GL_PROXY_COLOR_TABLE* = 0x000080D3 - GL_PROXY_POST_CONVOLUTION_COLOR_TABLE* = 0x000080D4 - GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE* = 0x000080D5 - GL_COLOR_TABLE_SCALE* = 0x000080D6 - GL_COLOR_TABLE_BIAS* = 0x000080D7 - GL_COLOR_TABLE_FORMAT* = 0x000080D8 - GL_COLOR_TABLE_WIDTH* = 0x000080D9 - GL_COLOR_TABLE_RED_SIZE* = 0x000080DA - GL_COLOR_TABLE_GREEN_SIZE* = 0x000080DB - GL_COLOR_TABLE_BLUE_SIZE* = 0x000080DC - GL_COLOR_TABLE_ALPHA_SIZE* = 0x000080DD - GL_COLOR_TABLE_LUMINANCE_SIZE* = 0x000080DE - GL_COLOR_TABLE_INTENSITY_SIZE* = 0x000080DF - GL_IGNORE_BORDER* = 0x00008150 - GL_CONSTANT_BORDER* = 0x00008151 - GL_WRAP_BORDER* = 0x00008152 - GL_REPLICATE_BORDER* = 0x00008153 - GL_CONVOLUTION_BORDER_COLOR* = 0x00008154 - -proc glActiveTexture*(texture: TGLenum){.dynlib: dllname, importc.} -proc glClientActiveTexture*(texture: TGLenum){.dynlib: dllname, importc.} -proc glMultiTexCoord1d*(target: TGLenum, s: TGLdouble){.dynlib: dllname, importc.} -proc glMultiTexCoord1dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.} -proc glMultiTexCoord1f*(target: TGLenum, s: TGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord1fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord1i*(target: TGLenum, s: TGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord1iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord1s*(target: TGLenum, s: TGLshort){.dynlib: dllname, importc.} -proc glMultiTexCoord1sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.} -proc glMultiTexCoord2d*(target: TGLenum, s: TGLdouble, t: TGLdouble){. - dynlib: dllname, importc.} -proc glMultiTexCoord2dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.} -proc glMultiTexCoord2f*(target: TGLenum, s: TGLfloat, t: TGLfloat){. - dynlib: dllname, importc.} -proc glMultiTexCoord2fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord2i*(target: TGLenum, s: TGLint, t: TGLint){.dynlib: dllname, - importc.} -proc glMultiTexCoord2iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord2s*(target: TGLenum, s: TGLshort, t: TGLshort){. - dynlib: dllname, importc.} -proc glMultiTexCoord2sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.} -proc glMultiTexCoord3d*(target: TGLenum, s: TGLdouble, t: TGLdouble, r: TGLdouble){. - dynlib: dllname, importc.} -proc glMultiTexCoord3dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.} -proc glMultiTexCoord3f*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat){. - dynlib: dllname, importc.} -proc glMultiTexCoord3fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord3i*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint){. - dynlib: dllname, importc.} -proc glMultiTexCoord3iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord3s*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort){. - dynlib: dllname, importc.} -proc glMultiTexCoord3sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.} -proc glMultiTexCoord4d*(target: TGLenum, s: TGLdouble, t: TGLdouble, r: TGLdouble, - q: TGLdouble){.dynlib: dllname, importc.} -proc glMultiTexCoord4dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.} -proc glMultiTexCoord4f*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat, - q: TGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord4fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.} -proc glMultiTexCoord4i*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint, q: TGLint){. - dynlib: dllname, importc.} -proc glMultiTexCoord4iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.} -proc glMultiTexCoord4s*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort, - q: TGLshort){.dynlib: dllname, importc.} -proc glMultiTexCoord4sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.} -proc glLoadTransposeMatrixf*(m: PGLfloat){.dynlib: dllname, importc.} -proc glLoadTransposeMatrixd*(m: PGLdouble){.dynlib: dllname, importc.} -proc glMultTransposeMatrixf*(m: PGLfloat){.dynlib: dllname, importc.} -proc glMultTransposeMatrixd*(m: PGLdouble){.dynlib: dllname, importc.} -proc glSampleCoverage*(value: TGLclampf, invert: TGLboolean){.dynlib: dllname, - importc.} -proc glCompressedTexImage3D*(target: TGLenum, level: TGLint, - internalformat: TGLenum, width: TGLsizei, - height: TGLsizei, depth: TGLsizei, border: TGLint, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexImage2D*(target: TGLenum, level: TGLint, - internalformat: TGLenum, width: TGLsizei, - height: TGLsizei, border: TGLint, imageSize: TGLsizei, - data: PGLvoid){.dynlib: dllname, importc.} -proc glCompressedTexImage1D*(target: TGLenum, level: TGLint, - internalformat: TGLenum, width: TGLsizei, - border: TGLint, imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexSubImage3D*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, zoffset: TGLint, width: TGLsizei, - height: TGLsizei, depth: TGLsizei, format: TGLenum, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexSubImage2D*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, width: TGLsizei, height: TGLsizei, - format: TGLenum, imageSize: TGLsizei, - data: PGLvoid){.dynlib: dllname, importc.} -proc glCompressedTexSubImage1D*(target: TGLenum, level: TGLint, xoffset: TGLint, - width: TGLsizei, format: TGLenum, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glGetCompressedTexImage*(target: TGLenum, level: TGLint, img: PGLvoid){. - dynlib: dllname, importc.} - - #***** GL_version_1_3 *****// -const - GL_TEXTURE0* = 0x000084C0 - GL_TEXTURE1* = 0x000084C1 - GL_TEXTURE2* = 0x000084C2 - GL_TEXTURE3* = 0x000084C3 - GL_TEXTURE4* = 0x000084C4 - GL_TEXTURE5* = 0x000084C5 - GL_TEXTURE6* = 0x000084C6 - GL_TEXTURE7* = 0x000084C7 - GL_TEXTURE8* = 0x000084C8 - GL_TEXTURE9* = 0x000084C9 - GL_TEXTURE10* = 0x000084CA - GL_TEXTURE11* = 0x000084CB - GL_TEXTURE12* = 0x000084CC - GL_TEXTURE13* = 0x000084CD - GL_TEXTURE14* = 0x000084CE - GL_TEXTURE15* = 0x000084CF - GL_TEXTURE16* = 0x000084D0 - GL_TEXTURE17* = 0x000084D1 - GL_TEXTURE18* = 0x000084D2 - GL_TEXTURE19* = 0x000084D3 - GL_TEXTURE20* = 0x000084D4 - GL_TEXTURE21* = 0x000084D5 - GL_TEXTURE22* = 0x000084D6 - GL_TEXTURE23* = 0x000084D7 - GL_TEXTURE24* = 0x000084D8 - GL_TEXTURE25* = 0x000084D9 - GL_TEXTURE26* = 0x000084DA - GL_TEXTURE27* = 0x000084DB - GL_TEXTURE28* = 0x000084DC - GL_TEXTURE29* = 0x000084DD - GL_TEXTURE30* = 0x000084DE - GL_TEXTURE31* = 0x000084DF - constGL_ACTIVE_TEXTURE* = 0x000084E0 - constGL_CLIENT_ACTIVE_TEXTURE* = 0x000084E1 - GL_MAX_TEXTURE_UNITS* = 0x000084E2 - GL_TRANSPOSE_MODELVIEW_MATRIX* = 0x000084E3 - GL_TRANSPOSE_PROJECTION_MATRIX* = 0x000084E4 - GL_TRANSPOSE_TEXTURE_MATRIX* = 0x000084E5 - GL_TRANSPOSE_COLOR_MATRIX* = 0x000084E6 - GL_MULTISAMPLE* = 0x0000809D - GL_SAMPLE_ALPHA_TO_COVERAGE* = 0x0000809E - GL_SAMPLE_ALPHA_TO_ONE* = 0x0000809F - constGL_SAMPLE_COVERAGE* = 0x000080A0 - GL_SAMPLE_BUFFERS* = 0x000080A8 - GL_SAMPLES* = 0x000080A9 - GL_SAMPLE_COVERAGE_VALUE* = 0x000080AA - GL_SAMPLE_COVERAGE_INVERT* = 0x000080AB - GL_MULTISAMPLE_BIT* = 0x20000000 - GL_NORMAL_MAP* = 0x00008511 - GL_REFLECTION_MAP* = 0x00008512 - GL_TEXTURE_CUBE_MAP* = 0x00008513 - GL_TEXTURE_BINDING_CUBE_MAP* = 0x00008514 - GL_TEXTURE_CUBE_MAP_POSITIVE_X* = 0x00008515 - GL_TEXTURE_CUBE_MAP_NEGATIVE_X* = 0x00008516 - GL_TEXTURE_CUBE_MAP_POSITIVE_Y* = 0x00008517 - GL_TEXTURE_CUBE_MAP_NEGATIVE_Y* = 0x00008518 - GL_TEXTURE_CUBE_MAP_POSITIVE_Z* = 0x00008519 - GL_TEXTURE_CUBE_MAP_NEGATIVE_Z* = 0x0000851A - GL_PROXY_TEXTURE_CUBE_MAP* = 0x0000851B - GL_MAX_CUBE_MAP_TEXTURE_SIZE* = 0x0000851C - GL_COMPRESSED_ALPHA* = 0x000084E9 - GL_COMPRESSED_LUMINANCE* = 0x000084EA - GL_COMPRESSED_LUMINANCE_ALPHA* = 0x000084EB - GL_COMPRESSED_INTENSITY* = 0x000084EC - GL_COMPRESSED_RGB* = 0x000084ED - GL_COMPRESSED_RGBA* = 0x000084EE - GL_TEXTURE_COMPRESSION_HINT* = 0x000084EF - GL_TEXTURE_COMPRESSED_IMAGE_SIZE* = 0x000086A0 - GL_TEXTURE_COMPRESSED* = 0x000086A1 - GL_NUM_COMPRESSED_TEXTURE_FORMATS* = 0x000086A2 - GL_COMPRESSED_TEXTURE_FORMATS* = 0x000086A3 - GL_CLAMP_TO_BORDER* = 0x0000812D - GL_CLAMP_TO_BORDER_SGIS* = 0x0000812D - GL_COMBINE* = 0x00008570 - GL_COMBINE_RGB* = 0x00008571 - GL_COMBINE_ALPHA* = 0x00008572 - GL_SOURCE0_RGB* = 0x00008580 - GL_SOURCE1_RGB* = 0x00008581 - GL_SOURCE2_RGB* = 0x00008582 - GL_SOURCE0_ALPHA* = 0x00008588 - GL_SOURCE1_ALPHA* = 0x00008589 - GL_SOURCE2_ALPHA* = 0x0000858A - GL_OPERAND0_RGB* = 0x00008590 - GL_OPERAND1_RGB* = 0x00008591 - GL_OPERAND2_RGB* = 0x00008592 - GL_OPERAND0_ALPHA* = 0x00008598 - GL_OPERAND1_ALPHA* = 0x00008599 - GL_OPERAND2_ALPHA* = 0x0000859A - GL_RGB_SCALE* = 0x00008573 - GL_ADD_SIGNED* = 0x00008574 - GL_INTERPOLATE* = 0x00008575 - GL_SUBTRACT* = 0x000084E7 - GL_CONSTANT* = 0x00008576 - GL_PRIMARY_COLOR* = 0x00008577 - GL_PREVIOUS* = 0x00008578 - GL_DOT3_RGB* = 0x000086AE - GL_DOT3_RGBA* = 0x000086AF - -const - GL_TEXTURE0_ARB* = 0x000084C0 - GL_TEXTURE1_ARB* = 0x000084C1 - GL_TEXTURE2_ARB* = 0x000084C2 - GL_TEXTURE3_ARB* = 0x000084C3 - GL_TEXTURE4_ARB* = 0x000084C4 - GL_TEXTURE5_ARB* = 0x000084C5 - GL_TEXTURE6_ARB* = 0x000084C6 - GL_TEXTURE7_ARB* = 0x000084C7 - GL_TEXTURE8_ARB* = 0x000084C8 - GL_TEXTURE9_ARB* = 0x000084C9 - GL_TEXTURE10_ARB* = 0x000084CA - GL_TEXTURE11_ARB* = 0x000084CB - GL_TEXTURE12_ARB* = 0x000084CC - GL_TEXTURE13_ARB* = 0x000084CD - GL_TEXTURE14_ARB* = 0x000084CE - GL_TEXTURE15_ARB* = 0x000084CF - GL_TEXTURE16_ARB* = 0x000084D0 - GL_TEXTURE17_ARB* = 0x000084D1 - GL_TEXTURE18_ARB* = 0x000084D2 - GL_TEXTURE19_ARB* = 0x000084D3 - GL_TEXTURE20_ARB* = 0x000084D4 - GL_TEXTURE21_ARB* = 0x000084D5 - GL_TEXTURE22_ARB* = 0x000084D6 - GL_TEXTURE23_ARB* = 0x000084D7 - GL_TEXTURE24_ARB* = 0x000084D8 - GL_TEXTURE25_ARB* = 0x000084D9 - GL_TEXTURE26_ARB* = 0x000084DA - GL_TEXTURE27_ARB* = 0x000084DB - GL_TEXTURE28_ARB* = 0x000084DC - GL_TEXTURE29_ARB* = 0x000084DD - GL_TEXTURE30_ARB* = 0x000084DE - GL_TEXTURE31_ARB* = 0x000084DF - constGL_ACTIVE_TEXTURE_ARB* = 0x000084E0 - constGL_CLIENT_ACTIVE_TEXTURE_ARB* = 0x000084E1 - GL_MAX_TEXTURE_UNITS_ARB* = 0x000084E2 - - #***** GL_ARB_transpose_matrix *****// -const - GL_TRANSPOSE_MODELVIEW_MATRIX_ARB* = 0x000084E3 - GL_TRANSPOSE_PROJECTION_MATRIX_ARB* = 0x000084E4 - GL_TRANSPOSE_TEXTURE_MATRIX_ARB* = 0x000084E5 - GL_TRANSPOSE_COLOR_MATRIX_ARB* = 0x000084E6 - -proc glLoadTransposeMatrixfARB*(m: PGLfloat){.dynlib: dllname, importc.} -proc glLoadTransposeMatrixdARB*(m: PGLdouble){.dynlib: dllname, importc.} -proc glMultTransposeMatrixfARB*(m: PGLfloat){.dynlib: dllname, importc.} -proc glMultTransposeMatrixdARB*(m: PGLdouble){.dynlib: dllname, importc.} - -const - WGL_SAMPLE_BUFFERS_ARB* = 0x00002041 - WGL_SAMPLES_ARB* = 0x00002042 - GL_MULTISAMPLE_ARB* = 0x0000809D - GL_SAMPLE_ALPHA_TO_COVERAGE_ARB* = 0x0000809E - GL_SAMPLE_ALPHA_TO_ONE_ARB* = 0x0000809F - constGL_SAMPLE_COVERAGE_ARB* = 0x000080A0 - GL_MULTISAMPLE_BIT_ARB* = 0x20000000 - GL_SAMPLE_BUFFERS_ARB* = 0x000080A8 - GL_SAMPLES_ARB* = 0x000080A9 - GL_SAMPLE_COVERAGE_VALUE_ARB* = 0x000080AA - GL_SAMPLE_COVERAGE_INVERT_ARB* = 0x000080AB - -const - GL_NORMAL_MAP_ARB* = 0x00008511 - GL_REFLECTION_MAP_ARB* = 0x00008512 - GL_TEXTURE_CUBE_MAP_ARB* = 0x00008513 - GL_TEXTURE_BINDING_CUBE_MAP_ARB* = 0x00008514 - GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB* = 0x00008515 - GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB* = 0x00008516 - GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB* = 0x00008517 - GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB* = 0x00008518 - GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB* = 0x00008519 - GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB* = 0x0000851A - GL_PROXY_TEXTURE_CUBE_MAP_ARB* = 0x0000851B - GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB* = 0x0000851C - -const - GL_DEPTH_COMPONENT16_ARB* = 0x000081A5 - GL_DEPTH_COMPONENT24_ARB* = 0x000081A6 - GL_DEPTH_COMPONENT32_ARB* = 0x000081A7 - GL_TEXTURE_DEPTH_SIZE_ARB* = 0x0000884A - GL_DEPTH_TEXTURE_MODE_ARB* = 0x0000884B - - #***** GL_ARB_point_parameters *****// -const - GL_POINT_SIZE_MIN_ARB* = 0x00008126 - GL_POINT_SIZE_MAX_ARB* = 0x00008127 - GL_POINT_FADE_THRESHOLD_SIZE_ARB* = 0x00008128 - GL_POINT_DISTANCE_ATTENUATION_ARB* = 0x00008129 - -proc glPointParameterfARB*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, - importc.} -proc glPointParameterfvARB*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -const - GL_TEXTURE_COMPARE_MODE_ARB* = 0x0000884C - GL_TEXTURE_COMPARE_FUNC_ARB* = 0x0000884D - GL_COMPARE_R_TO_TEXTURE_ARB* = 0x0000884E - -const - GL_TEXTURE_COMPARE_FAIL_VALUE_ARB* = 0x000080BF - GL_CLAMP_TO_BORDER_ARB* = 0x0000812D - -const - GL_COMPRESSED_ALPHA_ARB* = 0x000084E9 - GL_COMPRESSED_LUMINANCE_ARB* = 0x000084EA - GL_COMPRESSED_LUMINANCE_ALPHA_ARB* = 0x000084EB - GL_COMPRESSED_INTENSITY_ARB* = 0x000084EC - GL_COMPRESSED_RGB_ARB* = 0x000084ED - GL_COMPRESSED_RGBA_ARB* = 0x000084EE - GL_TEXTURE_COMPRESSION_HINT_ARB* = 0x000084EF - GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB* = 0x000086A0 - GL_TEXTURE_COMPRESSED_ARB* = 0x000086A1 - GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB* = 0x000086A2 - GL_COMPRESSED_TEXTURE_FORMATS_ARB* = 0x000086A3 - -proc glCompressedTexImage3DARB*(target: TGLenum, level: TGLint, - internalformat: TGLenum, width: TGLsizei, - height: TGLsizei, depth: TGLsizei, border: TGLint, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexImage2DARB*(target: TGLenum, level: TGLint, - internalformat: TGLenum, width: TGLsizei, - height: TGLsizei, border: TGLint, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexImage1DARB*(target: TGLenum, level: TGLint, - internalformat: TGLenum, width: TGLsizei, - border: TGLint, imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexSubImage3DARB*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, zoffset: TGLint, - width: TGLsizei, height: TGLsizei, - depth: TGLsizei, format: TGLenum, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexSubImage2DARB*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, width: TGLsizei, - height: TGLsizei, format: TGLenum, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCompressedTexSubImage1DARB*(target: TGLenum, level: TGLint, xoffset: TGLint, - width: TGLsizei, format: TGLenum, - imageSize: TGLsizei, data: PGLvoid){. - dynlib: dllname, importc.} -proc glGetCompressedTexImageARB*(target: TGLenum, lod: TGLint, img: PGLvoid){. - dynlib: dllname, importc.} - #***** GL_ARB_texture_env_combine *****// -const - GL_COMBINE_ARB* = 0x00008570 - GL_COMBINE_RGB_ARB* = 0x00008571 - GL_COMBINE_ALPHA_ARB* = 0x00008572 - GL_SOURCE0_RGB_ARB* = 0x00008580 - GL_SOURCE1_RGB_ARB* = 0x00008581 - GL_SOURCE2_RGB_ARB* = 0x00008582 - GL_SOURCE0_ALPHA_ARB* = 0x00008588 - GL_SOURCE1_ALPHA_ARB* = 0x00008589 - GL_SOURCE2_ALPHA_ARB* = 0x0000858A - GL_OPERAND0_RGB_ARB* = 0x00008590 - GL_OPERAND1_RGB_ARB* = 0x00008591 - GL_OPERAND2_RGB_ARB* = 0x00008592 - GL_OPERAND0_ALPHA_ARB* = 0x00008598 - GL_OPERAND1_ALPHA_ARB* = 0x00008599 - GL_OPERAND2_ALPHA_ARB* = 0x0000859A - GL_RGB_SCALE_ARB* = 0x00008573 - GL_ADD_SIGNED_ARB* = 0x00008574 - GL_INTERPOLATE_ARB* = 0x00008575 - GL_SUBTRACT_ARB* = 0x000084E7 - GL_CONSTANT_ARB* = 0x00008576 - GL_PRIMARY_COLOR_ARB* = 0x00008577 - GL_PREVIOUS_ARB* = 0x00008578 - - #***** GL_ARB_texture_env_crossbar *****// - #***** GL_ARB_texture_env_dot3 *****// -const - GL_DOT3_RGB_ARB* = 0x000086AE - GL_DOT3_RGBA_ARB* = 0x000086AF - - #***** GL_ARB_texture_mirrored_repeat *****// -const - GL_MIRRORED_REPEAT_ARB* = 0x00008370 - - #***** GL_ARB_vertex_blend *****// -const - GL_MAX_VERTEX_UNITS_ARB* = 0x000086A4 - GL_ACTIVE_VERTEX_UNITS_ARB* = 0x000086A5 - GL_WEIGHT_SUM_UNITY_ARB* = 0x000086A6 - constGL_VERTEX_BLEND_ARB* = 0x000086A7 - GL_MODELVIEW0_ARB* = 0x00001700 - GL_MODELVIEW1_ARB* = 0x0000850A - GL_MODELVIEW2_ARB* = 0x00008722 - GL_MODELVIEW3_ARB* = 0x00008723 - GL_MODELVIEW4_ARB* = 0x00008724 - GL_MODELVIEW5_ARB* = 0x00008725 - GL_MODELVIEW6_ARB* = 0x00008726 - GL_MODELVIEW7_ARB* = 0x00008727 - GL_MODELVIEW8_ARB* = 0x00008728 - GL_MODELVIEW9_ARB* = 0x00008729 - GL_MODELVIEW10_ARB* = 0x0000872A - GL_MODELVIEW11_ARB* = 0x0000872B - GL_MODELVIEW12_ARB* = 0x0000872C - GL_MODELVIEW13_ARB* = 0x0000872D - GL_MODELVIEW14_ARB* = 0x0000872E - GL_MODELVIEW15_ARB* = 0x0000872F - GL_MODELVIEW16_ARB* = 0x00008730 - GL_MODELVIEW17_ARB* = 0x00008731 - GL_MODELVIEW18_ARB* = 0x00008732 - GL_MODELVIEW19_ARB* = 0x00008733 - GL_MODELVIEW20_ARB* = 0x00008734 - GL_MODELVIEW21_ARB* = 0x00008735 - GL_MODELVIEW22_ARB* = 0x00008736 - GL_MODELVIEW23_ARB* = 0x00008737 - GL_MODELVIEW24_ARB* = 0x00008738 - GL_MODELVIEW25_ARB* = 0x00008739 - GL_MODELVIEW26_ARB* = 0x0000873A - GL_MODELVIEW27_ARB* = 0x0000873B - GL_MODELVIEW28_ARB* = 0x0000873C - GL_MODELVIEW29_ARB* = 0x0000873D - GL_MODELVIEW30_ARB* = 0x0000873E - GL_MODELVIEW31_ARB* = 0x0000873F - GL_CURRENT_WEIGHT_ARB* = 0x000086A8 - GL_WEIGHT_ARRAY_TYPE_ARB* = 0x000086A9 - GL_WEIGHT_ARRAY_STRIDE_ARB* = 0x000086AA - GL_WEIGHT_ARRAY_SIZE_ARB* = 0x000086AB - GL_WEIGHT_ARRAY_POINTER_ARB* = 0x000086AC - GL_WEIGHT_ARRAY_ARB* = 0x000086AD - -const - GL_VERTEX_PROGRAM_ARB* = 0x00008620 - GL_VERTEX_PROGRAM_POINT_SIZE_ARB* = 0x00008642 - GL_VERTEX_PROGRAM_TWO_SIDE_ARB* = 0x00008643 - GL_COLOR_SUM_ARB* = 0x00008458 - GL_PROGRAM_FORMAT_ASCII_ARB* = 0x00008875 - GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB* = 0x00008622 - GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB* = 0x00008623 - GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB* = 0x00008624 - GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB* = 0x00008625 - GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB* = 0x0000886A - GL_CURRENT_VERTEX_ATTRIB_ARB* = 0x00008626 - GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB* = 0x00008645 - GL_PROGRAM_LENGTH_ARB* = 0x00008627 - GL_PROGRAM_FORMAT_ARB* = 0x00008876 - GL_PROGRAM_BINDING_ARB* = 0x00008677 - GL_PROGRAM_INSTRUCTIONS_ARB* = 0x000088A0 - GL_MAX_PROGRAM_INSTRUCTIONS_ARB* = 0x000088A1 - GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB* = 0x000088A2 - GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB* = 0x000088A3 - GL_PROGRAM_TEMPORARIES_ARB* = 0x000088A4 - GL_MAX_PROGRAM_TEMPORARIES_ARB* = 0x000088A5 - GL_PROGRAM_NATIVE_TEMPORARIES_ARB* = 0x000088A6 - GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB* = 0x000088A7 - GL_PROGRAM_PARAMETERS_ARB* = 0x000088A8 - GL_MAX_PROGRAM_PARAMETERS_ARB* = 0x000088A9 - GL_PROGRAM_NATIVE_PARAMETERS_ARB* = 0x000088AA - GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB* = 0x000088AB - GL_PROGRAM_ATTRIBS_ARB* = 0x000088AC - GL_MAX_PROGRAM_ATTRIBS_ARB* = 0x000088AD - GL_PROGRAM_NATIVE_ATTRIBS_ARB* = 0x000088AE - GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB* = 0x000088AF - GL_PROGRAM_ADDRESS_REGISTERS_ARB* = 0x000088B0 - GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB* = 0x000088B1 - GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB* = 0x000088B2 - GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB* = 0x000088B3 - GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB* = 0x000088B4 - GL_MAX_PROGRAM_ENV_PARAMETERS_ARB* = 0x000088B5 - GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB* = 0x000088B6 - constGL_PROGRAM_STRING_ARB* = 0x00008628 - GL_PROGRAM_ERROR_POSITION_ARB* = 0x0000864B - GL_CURRENT_MATRIX_ARB* = 0x00008641 - GL_TRANSPOSE_CURRENT_MATRIX_ARB* = 0x000088B7 - GL_CURRENT_MATRIX_STACK_DEPTH_ARB* = 0x00008640 - GL_MAX_VERTEX_ATTRIBS_ARB* = 0x00008869 - GL_MAX_PROGRAM_MATRICES_ARB* = 0x0000862F - GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB* = 0x0000862E - GL_PROGRAM_ERROR_STRING_ARB* = 0x00008874 - GL_MATRIX0_ARB* = 0x000088C0 - GL_MATRIX1_ARB* = 0x000088C1 - GL_MATRIX2_ARB* = 0x000088C2 - GL_MATRIX3_ARB* = 0x000088C3 - GL_MATRIX4_ARB* = 0x000088C4 - GL_MATRIX5_ARB* = 0x000088C5 - GL_MATRIX6_ARB* = 0x000088C6 - GL_MATRIX7_ARB* = 0x000088C7 - GL_MATRIX8_ARB* = 0x000088C8 - GL_MATRIX9_ARB* = 0x000088C9 - GL_MATRIX10_ARB* = 0x000088CA - GL_MATRIX11_ARB* = 0x000088CB - GL_MATRIX12_ARB* = 0x000088CC - GL_MATRIX13_ARB* = 0x000088CD - GL_MATRIX14_ARB* = 0x000088CE - GL_MATRIX15_ARB* = 0x000088CF - GL_MATRIX16_ARB* = 0x000088D0 - GL_MATRIX17_ARB* = 0x000088D1 - GL_MATRIX18_ARB* = 0x000088D2 - GL_MATRIX19_ARB* = 0x000088D3 - GL_MATRIX20_ARB* = 0x000088D4 - GL_MATRIX21_ARB* = 0x000088D5 - GL_MATRIX22_ARB* = 0x000088D6 - GL_MATRIX23_ARB* = 0x000088D7 - GL_MATRIX24_ARB* = 0x000088D8 - GL_MATRIX25_ARB* = 0x000088D9 - GL_MATRIX26_ARB* = 0x000088DA - GL_MATRIX27_ARB* = 0x000088DB - GL_MATRIX28_ARB* = 0x000088DC - GL_MATRIX29_ARB* = 0x000088DD - GL_MATRIX30_ARB* = 0x000088DE - GL_MATRIX31_ARB* = 0x000088DF - -const - GL_422_EXT* = 0x000080CC - GL_422_REV_EXT* = 0x000080CD - GL_422_AVERAGE_EXT* = 0x000080CE - GL_422_REV_AVERAGE_EXT* = 0x000080CF - - #***** GL_EXT_abgr *****// -const - GL_ABGR_EXT* = 0x00008000 - - #***** GL_EXT_bgra *****// -const - GL_BGR_EXT* = 0x000080E0 - GL_BGRA_EXT* = 0x000080E1 - - #***** GL_EXT_blend_color *****// -const - GL_CONSTANT_COLOR_EXT* = 0x00008001 - GL_ONE_MINUS_CONSTANT_COLOR_EXT* = 0x00008002 - GL_CONSTANT_ALPHA_EXT* = 0x00008003 - GL_ONE_MINUS_CONSTANT_ALPHA_EXT* = 0x00008004 - constGL_BLEND_COLOR_EXT* = 0x00008005 - -proc glBlendColorEXT*(red: TGLclampf, green: TGLclampf, blue: TGLclampf, - alpha: TGLclampf){.dynlib: dllname, importc.} - #***** GL_EXT_blend_func_separate *****// -const - GL_BLEND_DST_RGB_EXT* = 0x000080C8 - GL_BLEND_SRC_RGB_EXT* = 0x000080C9 - GL_BLEND_DST_ALPHA_EXT* = 0x000080CA - GL_BLEND_SRC_ALPHA_EXT* = 0x000080CB - -proc glBlendFuncSeparateEXT*(sfactorRGB: TGLenum, dfactorRGB: TGLenum, - sfactorAlpha: TGLenum, dfactorAlpha: TGLenum){. - dynlib: dllname, importc.} - #***** GL_EXT_blend_logic_op *****// - #***** GL_EXT_blend_minmax *****// -const - GL_FUNC_ADD_EXT* = 0x00008006 - GL_MIN_EXT* = 0x00008007 - GL_MAX_EXT* = 0x00008008 - constGL_BLEND_EQUATION_EXT* = 0x00008009 - -proc glBlendEquationEXT*(mode: TGLenum){.dynlib: dllname, importc.} - #***** GL_EXT_blend_subtract *****// -const - GL_FUNC_SUBTRACT_EXT* = 0x0000800A - GL_FUNC_REVERSE_SUBTRACT_EXT* = 0x0000800B - - #***** GL_EXT_clip_volume_hint *****// -const - GL_CLIP_VOLUME_CLIPPING_HINT_EXT* = 0x000080F0 - - #***** GL_EXT_color_subtable *****// -proc glColorSubTableEXT*(target: TGLenum, start: TGLsizei, count: TGLsizei, - format: TGLenum, thetype: TGLenum, data: PGLvoid){. - dynlib: dllname, importc.} -proc glCopyColorSubTableEXT*(target: TGLenum, start: TGLsizei, x: TGLint, y: TGLint, - width: TGLsizei){.dynlib: dllname, importc.} - #***** GL_EXT_compiled_vertex_array *****// -const - GL_ARRAY_ELEMENT_LOCK_FIRST_EXT* = 0x000081A8 - GL_ARRAY_ELEMENT_LOCK_COUNT_EXT* = 0x000081A9 - -proc glLockArraysEXT*(first: TGLint, count: TGLsizei){.dynlib: dllname, importc.} -proc glUnlockArraysEXT*(){.dynlib: dllname, importc.} - #***** GL_EXT_convolution *****// -const - GL_CONVOLUTION_1D_EXT* = 0x00008010 - GL_CONVOLUTION_2D_EXT* = 0x00008011 - GL_SEPARABLE_2D_EXT* = 0x00008012 - GL_CONVOLUTION_BORDER_MODE_EXT* = 0x00008013 - GL_CONVOLUTION_FILTER_SCALE_EXT* = 0x00008014 - GL_CONVOLUTION_FILTER_BIAS_EXT* = 0x00008015 - GL_REDUCE_EXT* = 0x00008016 - GL_CONVOLUTION_FORMAT_EXT* = 0x00008017 - GL_CONVOLUTION_WIDTH_EXT* = 0x00008018 - GL_CONVOLUTION_HEIGHT_EXT* = 0x00008019 - GL_MAX_CONVOLUTION_WIDTH_EXT* = 0x0000801A - GL_MAX_CONVOLUTION_HEIGHT_EXT* = 0x0000801B - GL_POST_CONVOLUTION_RED_SCALE_EXT* = 0x0000801C - GL_POST_CONVOLUTION_GREEN_SCALE_EXT* = 0x0000801D - GL_POST_CONVOLUTION_BLUE_SCALE_EXT* = 0x0000801E - GL_POST_CONVOLUTION_ALPHA_SCALE_EXT* = 0x0000801F - GL_POST_CONVOLUTION_RED_BIAS_EXT* = 0x00008020 - GL_POST_CONVOLUTION_GREEN_BIAS_EXT* = 0x00008021 - GL_POST_CONVOLUTION_BLUE_BIAS_EXT* = 0x00008022 - GL_POST_CONVOLUTION_ALPHA_BIAS_EXT* = 0x00008023 - -proc glConvolutionFilter1DEXT*(target: TGLenum, internalformat: TGLenum, - width: TGLsizei, format: TGLenum, thetype: TGLenum, - image: PGLvoid){.dynlib: dllname, importc.} -proc glConvolutionFilter2DEXT*(target: TGLenum, internalformat: TGLenum, - width: TGLsizei, height: TGLsizei, format: TGLenum, - thetype: TGLenum, image: PGLvoid){. - dynlib: dllname, importc.} -proc glCopyConvolutionFilter1DEXT*(target: TGLenum, internalformat: TGLenum, - x: TGLint, y: TGLint, width: TGLsizei){. - dynlib: dllname, importc.} -proc glCopyConvolutionFilter2DEXT*(target: TGLenum, internalformat: TGLenum, - x: TGLint, y: TGLint, width: TGLsizei, - height: TGLsizei){.dynlib: dllname, importc.} -proc glGetConvolutionFilterEXT*(target: TGLenum, format: TGLenum, thetype: TGLenum, - image: PGLvoid){.dynlib: dllname, importc.} -proc glSeparableFilter2DEXT*(target: TGLenum, internalformat: TGLenum, - width: TGLsizei, height: TGLsizei, format: TGLenum, - thetype: TGLenum, row: PGLvoid, column: PGLvoid){. - dynlib: dllname, importc.} -proc glGetSeparableFilterEXT*(target: TGLenum, format: TGLenum, thetype: TGLenum, - row: PGLvoid, column: PGLvoid, span: PGLvoid){. - dynlib: dllname, importc.} -proc glConvolutionParameteriEXT*(target: TGLenum, pname: TGLenum, param: TGLint){. - dynlib: dllname, importc.} -proc glConvolutionParameterivEXT*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glConvolutionParameterfEXT*(target: TGLenum, pname: TGLenum, param: TGLfloat){. - dynlib: dllname, importc.} -proc glConvolutionParameterfvEXT*(target: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetConvolutionParameterivEXT*(target: TGLenum, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glGetConvolutionParameterfvEXT*(target: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} - #***** GL_EXT_fog_coord *****// -const - GL_FOG_COORDINATE_SOURCE_EXT* = 0x00008450 - GL_FOG_COORDINATE_EXT* = 0x00008451 - GL_FRAGMENT_DEPTH_EXT* = 0x00008452 - GL_CURRENT_FOG_COORDINATE_EXT* = 0x00008453 - GL_FOG_COORDINATE_ARRAY_TYPE_EXT* = 0x00008454 - GL_FOG_COORDINATE_ARRAY_STRIDE_EXT* = 0x00008455 - GL_FOG_COORDINATE_ARRAY_POINTER_EXT* = 0x00008456 - GL_FOG_COORDINATE_ARRAY_EXT* = 0x00008457 - -proc glFogCoordfEXfloat*(coord: TGLfloat){.dynlib: dllname, importc.} -proc glFogCoorddEXdouble*(coord: TGLdouble){.dynlib: dllname, importc.} -proc glFogCoordfvEXfloat*(coord: TGLfloat){.dynlib: dllname, importc.} -proc glFogCoorddvEXdouble*(coord: TGLdouble){.dynlib: dllname, importc.} -proc glFogCoordPointerEXT*(thetype: TGLenum, stride: TGLsizei, pointer: PGLvoid){. - dynlib: dllname, importc.} - #***** GL_EXT_histogram *****// -const - constGL_HISTOGRAM_EXT* = 0x00008024 - GL_PROXY_HISTOGRAM_EXT* = 0x00008025 - GL_HISTOGRAM_WIDTH_EXT* = 0x00008026 - GL_HISTOGRAM_FORMAT_EXT* = 0x00008027 - GL_HISTOGRAM_RED_SIZE_EXT* = 0x00008028 - GL_HISTOGRAM_GREEN_SIZE_EXT* = 0x00008029 - GL_HISTOGRAM_BLUE_SIZE_EXT* = 0x0000802A - GL_HISTOGRAM_ALPHA_SIZE_EXT* = 0x0000802B - GL_HISTOGRAM_LUMINANCE_SIZE_EXT* = 0x0000802C - GL_HISTOGRAM_SINK_EXT* = 0x0000802D - constGL_MINMAX_EXT* = 0x0000802E - GL_MINMAX_FORMAT_EXT* = 0x0000802F - GL_MINMAX_SINK_EXT* = 0x00008030 - -proc glHistogramEXT*(target: TGLenum, width: TGLsizei, internalformat: TGLenum, - sink: TGLboolean){.dynlib: dllname, importc.} -proc glResetHistogramEXT*(target: TGLenum){.dynlib: dllname, importc.} -proc glGetHistogramEXT*(target: TGLenum, reset: TGLboolean, format: TGLenum, - thetype: TGLenum, values: PGLvoid){.dynlib: dllname, - importc.} -proc glGetHistogramParameterivEXT*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetHistogramParameterfvEXT*(target: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glMinmaxEXT*(target: TGLenum, internalformat: TGLenum, sink: TGLboolean){. - dynlib: dllname, importc.} -proc glResetMinmaxEXT*(target: TGLenum){.dynlib: dllname, importc.} -proc glGetMinmaxEXT*(target: TGLenum, reset: TGLboolean, format: TGLenum, - thetype: TGLenum, values: PGLvoid){.dynlib: dllname, importc.} -proc glGetMinmaxParameterivEXT*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetMinmaxParameterfvEXT*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} - #***** GL_EXT_multi_draw_arrays *****// -proc glMultiDrawArraysEXT*(mode: TGLenum, first: PGLint, count: PGLsizei, - primcount: TGLsizei){.dynlib: dllname, importc.} -proc glMultiDrawElementsEXT*(mode: TGLenum, count: PGLsizei, thetype: TGLenum, - indices: PGLvoid, primcount: TGLsizei){. - dynlib: dllname, importc.} - #***** GL_EXT_packed_pixels *****// -const - GL_UNSIGNED_BYTE_3_3_2_EXT* = 0x00008032 - GL_UNSIGNED_SHORT_4_4_4_4_EXT* = 0x00008033 - GL_UNSIGNED_SHORT_5_5_5_1_EXT* = 0x00008034 - GL_UNSIGNED_INT_8_8_8_8_EXT* = 0x00008035 - GL_UNSIGNED_INT_10_10_10_2_EXT* = 0x00008036 - - #***** GL_EXT_paletted_texture *****// -const - GL_COLOR_INDEX1_EXT* = 0x000080E2 - GL_COLOR_INDEX2_EXT* = 0x000080E3 - GL_COLOR_INDEX4_EXT* = 0x000080E4 - GL_COLOR_INDEX8_EXT* = 0x000080E5 - GL_COLOR_INDEX12_EXT* = 0x000080E6 - GL_COLOR_INDEX16_EXT* = 0x000080E7 - GL_COLOR_TABLE_FORMAT_EXT* = 0x000080D8 - GL_COLOR_TABLE_WIDTH_EXT* = 0x000080D9 - GL_COLOR_TABLE_RED_SIZE_EXT* = 0x000080DA - GL_COLOR_TABLE_GREEN_SIZE_EXT* = 0x000080DB - GL_COLOR_TABLE_BLUE_SIZE_EXT* = 0x000080DC - GL_COLOR_TABLE_ALPHA_SIZE_EXT* = 0x000080DD - GL_COLOR_TABLE_LUMINANCE_SIZE_EXT* = 0x000080DE - GL_COLOR_TABLE_INTENSITY_SIZE_EXT* = 0x000080DF - GL_TEXTURE_INDEX_SIZE_EXT* = 0x000080ED - GL_TEXTURE_1D* = 0x00000DE0 - GL_TEXTURE_2D* = 0x00000DE1 - GL_TEXTURE_3D_EXT* = 0x0000806F # GL_TEXTURE_CUBE_MAP_ARB { already defined } - GL_PROXY_TEXTURE_1D* = 0x00008063 - GL_PROXY_TEXTURE_2D* = 0x00008064 - GL_PROXY_TEXTURE_3D_EXT* = 0x00008070 # GL_PROXY_TEXTURE_CUBE_MAP_ARB { already defined } - # GL_TEXTURE_1D { already defined } - # GL_TEXTURE_2D { already defined } - # GL_TEXTURE_3D_EXT { already defined } - # GL_TEXTURE_CUBE_MAP_ARB { already defined } - -proc glColorTableEXT*(target: TGLenum, internalFormat: TGLenum, width: TGLsizei, - format: TGLenum, thetype: TGLenum, data: PGLvoid){. - dynlib: dllname, importc.} - # glColorSubTableEXT { already defined } -proc glGetColorTableEXT*(target: TGLenum, format: TGLenum, thetype: TGLenum, - data: PGLvoid){.dynlib: dllname, importc.} -proc glGetColorTableParameterivEXT*(target: TGLenum, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glGetColorTableParameterfvEXT*(target: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} - #***** GL_EXT_point_parameters *****// -const - GL_POINT_SIZE_MIN_EXT* = 0x00008126 - GL_POINT_SIZE_MAX_EXT* = 0x00008127 - GL_POINT_FADE_THRESHOLD_SIZE_EXT* = 0x00008128 - GL_DISTANCE_ATTENUATION_EXT* = 0x00008129 - -proc glPointParameterfEXT*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, - importc.} -proc glPointParameterfvEXT*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} - #***** GL_EXT_polygon_offset *****// -const - constGL_POLYGON_OFFSET_EXT* = 0x00008037 - GL_POLYGON_OFFSET_FACTOR_EXT* = 0x00008038 - GL_POLYGON_OFFSET_BIAS_EXT* = 0x00008039 - -proc glPolygonOffsetEXT*(factor: TGLfloat, bias: TGLfloat){.dynlib: dllname, - importc.} - #***** GL_EXT_secondary_color *****// -const - GL_COLOR_SUM_EXT* = 0x00008458 - GL_CURRENT_SECONDARY_COLOR_EXT* = 0x00008459 - GL_SECONDARY_COLOR_ARRAY_SIZE_EXT* = 0x0000845A - GL_SECONDARY_COLOR_ARRAY_TYPE_EXT* = 0x0000845B - GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT* = 0x0000845C - GL_SECONDARY_COLOR_ARRAY_POINTER_EXT* = 0x0000845D - GL_SECONDARY_COLOR_ARRAY_EXT* = 0x0000845E - -proc glSecondaryColor3bEXT*(components: TGLbyte){.dynlib: dllname, importc.} -proc glSecondaryColor3sEXT*(components: TGLshort){.dynlib: dllname, importc.} -proc glSecondaryColor3iEXT*(components: TGLint){.dynlib: dllname, importc.} -proc glSecondaryColor3fEXT*(components: TGLfloat){.dynlib: dllname, importc.} -proc glSecondaryColor3dEXT*(components: TGLdouble){.dynlib: dllname, importc.} -proc glSecondaryColor3ubEXT*(components: TGLubyte){.dynlib: dllname, importc.} -proc glSecondaryColor3usEXT*(components: TGLushort){.dynlib: dllname, importc.} -proc glSecondaryColor3uiEXT*(components: TGLuint){.dynlib: dllname, importc.} -proc glSecondaryColor3bvEXT*(components: TGLbyte){.dynlib: dllname, importc.} -proc glSecondaryColor3svEXT*(components: TGLshort){.dynlib: dllname, importc.} -proc glSecondaryColor3ivEXT*(components: TGLint){.dynlib: dllname, importc.} -proc glSecondaryColor3fvEXT*(components: TGLfloat){.dynlib: dllname, importc.} -proc glSecondaryColor3dvEXT*(components: TGLdouble){.dynlib: dllname, importc.} -proc glSecondaryColor3ubvEXT*(components: TGLubyte){.dynlib: dllname, importc.} -proc glSecondaryColor3usvEXT*(components: TGLushort){.dynlib: dllname, importc.} -proc glSecondaryColor3uivEXT*(components: TGLuint){.dynlib: dllname, importc.} -proc glSecondaryColorPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} - #***** GL_EXT_separate_specular_color *****// -const - GL_LIGHT_MODEL_COLOR_CONTROL_EXT* = 0x000081F8 - GL_SINGLE_COLOR_EXT* = 0x000081F9 - GL_SEPARATE_SPECULAR_COLOR_EXT* = 0x000081FA - - #***** GL_EXT_shadow_funcs *****// - #***** GL_EXT_shared_texture_palette *****// -const - GL_SHARED_TEXTURE_PALETTE_EXT* = 0x000081FB - - #***** GL_EXT_stencil_two_side *****// -const - GL_STENCIL_TEST_TWO_SIDE_EXT* = 0x00008910 - constGL_ACTIVE_STENCIL_FACE_EXT* = 0x00008911 - -proc glActiveStencilFaceEXT*(face: TGLenum){.dynlib: dllname, importc.} - #***** GL_EXT_stencil_wrap *****// -const - GL_INCR_WRAP_EXT* = 0x00008507 - GL_DECR_WRAP_EXT* = 0x00008508 - - #***** GL_EXT_subtexture *****// -proc glTexSubImage1DEXT*(target: TGLenum, level: TGLint, xoffset: TGLint, - width: TGLsizei, format: TGLenum, thetype: TGLenum, - pixels: PGLvoid){.dynlib: dllname, importc.} -proc glTexSubImage2DEXT*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, width: TGLsizei, height: TGLsizei, - format: TGLenum, thetype: TGLenum, pixels: PGLvoid){. - dynlib: dllname, importc.} -proc glTexSubImage3DEXT*(target: TGLenum, level: TGLint, xoffset: TGLint, - yoffset: TGLint, zoffset: TGLint, width: TGLsizei, - height: TGLsizei, depth: TGLsizei, format: TGLenum, - thetype: TGLenum, pixels: PGLvoid){.dynlib: dllname, - importc.} - #***** GL_EXT_texture3D *****// -const - GL_PACK_SKIP_IMAGES_EXT* = 0x0000806B - GL_PACK_IMAGE_HEIGHT_EXT* = 0x0000806C - GL_UNPACK_SKIP_IMAGES_EXT* = 0x0000806D - GL_UNPACK_IMAGE_HEIGHT_EXT* = 0x0000806E # GL_TEXTURE_3D_EXT { already defined } - # GL_PROXY_TEXTURE_3D_EXT { already defined } - GL_TEXTURE_DEPTH_EXT* = 0x00008071 - GL_TEXTURE_WRAP_R_EXT* = 0x00008072 - GL_MAX_3D_TEXTURE_SIZE_EXT* = 0x00008073 - -proc glTexImage3DEXT*(target: TGLenum, level: TGLint, internalformat: TGLenum, - width: TGLsizei, height: TGLsizei, depth: TGLsizei, - border: TGLint, format: TGLenum, thetype: TGLenum, - pixels: PGLvoid){.dynlib: dllname, importc.} - #***** GL_EXT_texture_compression_s3tc *****// -const - GL_COMPRESSED_RGB_S3TC_DXT1_EXT* = 0x000083F0 - GL_COMPRESSED_RGBA_S3TC_DXT1_EXT* = 0x000083F1 - GL_COMPRESSED_RGBA_S3TC_DXT3_EXT* = 0x000083F2 - GL_COMPRESSED_RGBA_S3TC_DXT5_EXT* = 0x000083F3 - - #***** GL_EXT_texture_env_add *****// - #***** GL_EXT_texture_env_combine *****// -const - GL_COMBINE_EXT* = 0x00008570 - GL_COMBINE_RGB_EXT* = 0x00008571 - GL_COMBINE_ALPHA_EXT* = 0x00008572 - GL_SOURCE0_RGB_EXT* = 0x00008580 - GL_SOURCE1_RGB_EXT* = 0x00008581 - GL_SOURCE2_RGB_EXT* = 0x00008582 - GL_SOURCE0_ALPHA_EXT* = 0x00008588 - GL_SOURCE1_ALPHA_EXT* = 0x00008589 - GL_SOURCE2_ALPHA_EXT* = 0x0000858A - GL_OPERAND0_RGB_EXT* = 0x00008590 - GL_OPERAND1_RGB_EXT* = 0x00008591 - GL_OPERAND2_RGB_EXT* = 0x00008592 - GL_OPERAND0_ALPHA_EXT* = 0x00008598 - GL_OPERAND1_ALPHA_EXT* = 0x00008599 - GL_OPERAND2_ALPHA_EXT* = 0x0000859A - GL_RGB_SCALE_EXT* = 0x00008573 - GL_ADD_SIGNED_EXT* = 0x00008574 - GL_INTERPOLATE_EXT* = 0x00008575 - GL_CONSTANT_EXT* = 0x00008576 - GL_PRIMARY_COLOR_EXT* = 0x00008577 - GL_PREVIOUS_EXT* = 0x00008578 - - #***** GL_EXT_texture_env_dot3 *****// -const - GL_DOT3_RGB_EXT* = 0x00008740 - GL_DOT3_RGBA_EXT* = 0x00008741 - - #***** GL_EXT_texture_filter_anisotropic *****// -const - GL_TEXTURE_MAX_ANISOTROPY_EXT* = 0x000084FE - GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT* = 0x000084FF - - #***** GL_EXT_texture_lod_bias *****// -const - GL_TEXTURE_FILTER_CONTROL_EXT* = 0x00008500 - GL_TEXTURE_LOD_BIAS_EXT* = 0x00008501 - GL_MAX_TEXTURE_LOD_BIAS_EXT* = 0x000084FD - - #***** GL_EXT_texture_object *****// -const - GL_TEXTURE_PRIORITY_EXT* = 0x00008066 - GL_TEXTURE_RESIDENT_EXT* = 0x00008067 - GL_TEXTURE_1D_BINDING_EXT* = 0x00008068 - GL_TEXTURE_2D_BINDING_EXT* = 0x00008069 - GL_TEXTURE_3D_BINDING_EXT* = 0x0000806A - -proc glGenTexturesEXT*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, importc.} -proc glDeleteTexturesEXT*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, - importc.} -proc glBindTextureEXT*(target: TGLenum, texture: TGLuint){.dynlib: dllname, - importc.} -proc glPrioritizeTexturesEXT*(n: TGLsizei, textures: PGLuint, - priorities: PGLclampf){.dynlib: dllname, importc.} -proc glAreTexturesResidentEXT*(n: TGLsizei, textures: PGLuint, - residences: PGLboolean): TGLboolean{. - dynlib: dllname, importc.} -proc glIsTextureEXT*(texture: TGLuint): TGLboolean{.dynlib: dllname, importc.} - #***** GL_EXT_vertex_array *****// -const - GL_VERTEX_ARRAY_EXT* = 0x00008074 - GL_NORMAL_ARRAY_EXT* = 0x00008075 - GL_COLOR_ARRAY_EXT* = 0x00008076 - GL_INDEX_ARRAY_EXT* = 0x00008077 - GL_TEXTURE_COORD_ARRAY_EXT* = 0x00008078 - GL_EDGE_FLAG_ARRAY_EXT* = 0x00008079 - GL_DOUBLE_EXT* = 0x0000140A - GL_VERTEX_ARRAY_SIZE_EXT* = 0x0000807A - GL_VERTEX_ARRAY_TYPE_EXT* = 0x0000807B - GL_VERTEX_ARRAY_STRIDE_EXT* = 0x0000807C - GL_VERTEX_ARRAY_COUNT_EXT* = 0x0000807D - GL_NORMAL_ARRAY_TYPE_EXT* = 0x0000807E - GL_NORMAL_ARRAY_STRIDE_EXT* = 0x0000807F - GL_NORMAL_ARRAY_COUNT_EXT* = 0x00008080 - GL_COLOR_ARRAY_SIZE_EXT* = 0x00008081 - GL_COLOR_ARRAY_TYPE_EXT* = 0x00008082 - GL_COLOR_ARRAY_STRIDE_EXT* = 0x00008083 - GL_COLOR_ARRAY_COUNT_EXT* = 0x00008084 - GL_INDEX_ARRAY_TYPE_EXT* = 0x00008085 - GL_INDEX_ARRAY_STRIDE_EXT* = 0x00008086 - GL_INDEX_ARRAY_COUNT_EXT* = 0x00008087 - GL_TEXTURE_COORD_ARRAY_SIZE_EXT* = 0x00008088 - GL_TEXTURE_COORD_ARRAY_TYPE_EXT* = 0x00008089 - GL_TEXTURE_COORD_ARRAY_STRIDE_EXT* = 0x0000808A - GL_TEXTURE_COORD_ARRAY_COUNT_EXT* = 0x0000808B - GL_EDGE_FLAG_ARRAY_STRIDE_EXT* = 0x0000808C - GL_EDGE_FLAG_ARRAY_COUNT_EXT* = 0x0000808D - GL_VERTEX_ARRAY_POINTER_EXT* = 0x0000808E - GL_NORMAL_ARRAY_POINTER_EXT* = 0x0000808F - GL_COLOR_ARRAY_POINTER_EXT* = 0x00008090 - GL_INDEX_ARRAY_POINTER_EXT* = 0x00008091 - GL_TEXTURE_COORD_ARRAY_POINTER_EXT* = 0x00008092 - GL_EDGE_FLAG_ARRAY_POINTER_EXT* = 0x00008093 - -proc glArrayElementEXT*(i: TGLint){.dynlib: dllname, importc.} -proc glDrawArraysEXT*(mode: TGLenum, first: TGLint, count: TGLsizei){. - dynlib: dllname, importc.} -proc glVertexPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - count: TGLsizei, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glNormalPointerEXT*(thetype: TGLenum, stride: TGLsizei, count: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} -proc glColorPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - count: TGLsizei, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glIndexPointerEXT*(thetype: TGLenum, stride: TGLsizei, count: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} -proc glTexCoordPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - count: TGLsizei, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glEdgeFlagPointerEXT*(stride: TGLsizei, count: TGLsizei, pointer: PGLboolean){. - dynlib: dllname, importc.} -proc glGetPointervEXT*(pname: TGLenum, params: PGLvoid){.dynlib: dllname, importc.} - #***** GL_EXT_vertex_shader *****// -const - GL_VERTEX_SHADER_EXT* = 0x00008780 - GL_VARIANT_VALUE_EXT* = 0x000087E4 - GL_VARIANT_DATATYPE_EXT* = 0x000087E5 - GL_VARIANT_ARRAY_STRIDE_EXT* = 0x000087E6 - GL_VARIANT_ARRAY_TYPE_EXT* = 0x000087E7 - GL_VARIANT_ARRAY_EXT* = 0x000087E8 - GL_VARIANT_ARRAY_POINTER_EXT* = 0x000087E9 - GL_INVARIANT_VALUE_EXT* = 0x000087EA - GL_INVARIANT_DATATYPE_EXT* = 0x000087EB - GL_LOCAL_CONSTANT_VALUE_EXT* = 0x000087EC - GL_LOCAL_CONSTANT_DATATYPE_EXT* = 0x000087ED - GL_OP_INDEX_EXT* = 0x00008782 - GL_OP_NEGATE_EXT* = 0x00008783 - GL_OP_DOT3_EXT* = 0x00008784 - GL_OP_DOT4_EXT* = 0x00008785 - GL_OP_MUL_EXT* = 0x00008786 - GL_OP_ADD_EXT* = 0x00008787 - GL_OP_MADD_EXT* = 0x00008788 - GL_OP_FRAC_EXT* = 0x00008789 - GL_OP_MAX_EXT* = 0x0000878A - GL_OP_MIN_EXT* = 0x0000878B - GL_OP_SET_GE_EXT* = 0x0000878C - GL_OP_SET_LT_EXT* = 0x0000878D - GL_OP_CLAMP_EXT* = 0x0000878E - GL_OP_FLOOR_EXT* = 0x0000878F - GL_OP_ROUND_EXT* = 0x00008790 - GL_OP_EXP_BASE_2_EXT* = 0x00008791 - GL_OP_LOG_BASE_2_EXT* = 0x00008792 - GL_OP_POWER_EXT* = 0x00008793 - GL_OP_RECIP_EXT* = 0x00008794 - GL_OP_RECIP_SQRT_EXT* = 0x00008795 - GL_OP_SUB_EXT* = 0x00008796 - GL_OP_CROSS_PRODUCT_EXT* = 0x00008797 - GL_OP_MULTIPLY_MATRIX_EXT* = 0x00008798 - GL_OP_MOV_EXT* = 0x00008799 - GL_OUTPUT_VERTEX_EXT* = 0x0000879A - GL_OUTPUT_COLOR0_EXT* = 0x0000879B - GL_OUTPUT_COLOR1_EXT* = 0x0000879C - GL_OUTPUT_TEXTURE_COORD0_EXT* = 0x0000879D - GL_OUTPUT_TEXTURE_COORD1_EXT* = 0x0000879E - GL_OUTPUT_TEXTURE_COORD2_EXT* = 0x0000879F - GL_OUTPUT_TEXTURE_COORD3_EXT* = 0x000087A0 - GL_OUTPUT_TEXTURE_COORD4_EXT* = 0x000087A1 - GL_OUTPUT_TEXTURE_COORD5_EXT* = 0x000087A2 - GL_OUTPUT_TEXTURE_COORD6_EXT* = 0x000087A3 - GL_OUTPUT_TEXTURE_COORD7_EXT* = 0x000087A4 - GL_OUTPUT_TEXTURE_COORD8_EXT* = 0x000087A5 - GL_OUTPUT_TEXTURE_COORD9_EXT* = 0x000087A6 - GL_OUTPUT_TEXTURE_COORD10_EXT* = 0x000087A7 - GL_OUTPUT_TEXTURE_COORD11_EXT* = 0x000087A8 - GL_OUTPUT_TEXTURE_COORD12_EXT* = 0x000087A9 - GL_OUTPUT_TEXTURE_COORD13_EXT* = 0x000087AA - GL_OUTPUT_TEXTURE_COORD14_EXT* = 0x000087AB - GL_OUTPUT_TEXTURE_COORD15_EXT* = 0x000087AC - GL_OUTPUT_TEXTURE_COORD16_EXT* = 0x000087AD - GL_OUTPUT_TEXTURE_COORD17_EXT* = 0x000087AE - GL_OUTPUT_TEXTURE_COORD18_EXT* = 0x000087AF - GL_OUTPUT_TEXTURE_COORD19_EXT* = 0x000087B0 - GL_OUTPUT_TEXTURE_COORD20_EXT* = 0x000087B1 - GL_OUTPUT_TEXTURE_COORD21_EXT* = 0x000087B2 - GL_OUTPUT_TEXTURE_COORD22_EXT* = 0x000087B3 - GL_OUTPUT_TEXTURE_COORD23_EXT* = 0x000087B4 - GL_OUTPUT_TEXTURE_COORD24_EXT* = 0x000087B5 - GL_OUTPUT_TEXTURE_COORD25_EXT* = 0x000087B6 - GL_OUTPUT_TEXTURE_COORD26_EXT* = 0x000087B7 - GL_OUTPUT_TEXTURE_COORD27_EXT* = 0x000087B8 - GL_OUTPUT_TEXTURE_COORD28_EXT* = 0x000087B9 - GL_OUTPUT_TEXTURE_COORD29_EXT* = 0x000087BA - GL_OUTPUT_TEXTURE_COORD30_EXT* = 0x000087BB - GL_OUTPUT_TEXTURE_COORD31_EXT* = 0x000087BC - GL_OUTPUT_FOG_EXT* = 0x000087BD - GL_SCALAR_EXT* = 0x000087BE - GL_VECTOR_EXT* = 0x000087BF - GL_MATRIX_EXT* = 0x000087C0 - GL_VARIANT_EXT* = 0x000087C1 - GL_INVARIANT_EXT* = 0x000087C2 - GL_LOCAL_CONSTANT_EXT* = 0x000087C3 - GL_LOCAL_EXT* = 0x000087C4 - GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT* = 0x000087C5 - GL_MAX_VERTEX_SHADER_VARIANTS_EXT* = 0x000087C6 - GL_MAX_VERTEX_SHADER_INVARIANTS_EXT* = 0x000087C7 - GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT* = 0x000087C8 - GL_MAX_VERTEX_SHADER_LOCALS_EXT* = 0x000087C9 - GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT* = 0x000087CA - GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT* = 0x000087CB - GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT* = 0x000087CC - GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT* = 0x000087CD - GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT* = 0x000087CE - GL_VERTEX_SHADER_INSTRUCTIONS_EXT* = 0x000087CF - GL_VERTEX_SHADER_VARIANTS_EXT* = 0x000087D0 - GL_VERTEX_SHADER_INVARIANTS_EXT* = 0x000087D1 - GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT* = 0x000087D2 - GL_VERTEX_SHADER_LOCALS_EXT* = 0x000087D3 - GL_VERTEX_SHADER_BINDING_EXT* = 0x00008781 - GL_VERTEX_SHADER_OPTIMIZED_EXT* = 0x000087D4 - GL_X_EXT* = 0x000087D5 - GL_Y_EXT* = 0x000087D6 - GL_Z_EXT* = 0x000087D7 - GL_W_EXT* = 0x000087D8 - GL_NEGATIVE_X_EXT* = 0x000087D9 - GL_NEGATIVE_Y_EXT* = 0x000087DA - GL_NEGATIVE_Z_EXT* = 0x000087DB - GL_NEGATIVE_W_EXT* = 0x000087DC - GL_ZERO_EXT* = 0x000087DD - GL_ONE_EXT* = 0x000087DE - GL_NEGATIVE_ONE_EXT* = 0x000087DF - GL_NORMALIZED_RANGE_EXT* = 0x000087E0 - GL_FULL_RANGE_EXT* = 0x000087E1 - GL_CURRENT_VERTEX_EXT* = 0x000087E2 - GL_MVP_MATRIX_EXT* = 0x000087E3 - -proc glBeginVertexShaderEXT*(){.dynlib: dllname, importc.} -proc glEndVertexShaderEXT*(){.dynlib: dllname, importc.} -proc glBindVertexShaderEXT*(id: TGLuint){.dynlib: dllname, importc.} -proc glGenVertexShadersEXT*(range: TGLuint): TGLuint{.dynlib: dllname, importc.} -proc glDeleteVertexShaderEXT*(id: TGLuint){.dynlib: dllname, importc.} -proc glShaderOp1EXT*(op: TGLenum, res: TGLuint, arg1: TGLuint){.dynlib: dllname, - importc.} -proc glShaderOp2EXT*(op: TGLenum, res: TGLuint, arg1: TGLuint, arg2: TGLuint){. - dynlib: dllname, importc.} -proc glShaderOp3EXT*(op: TGLenum, res: TGLuint, arg1: TGLuint, arg2: TGLuint, - arg3: TGLuint){.dynlib: dllname, importc.} -proc glSwizzleEXT*(res: TGLuint, theIn: TGLuint, outX: TGLenum, outY: TGLenum, - outZ: TGLenum, outW: TGLenum){.dynlib: dllname, importc.} -proc glWriteMaskEXT*(res: TGLuint, theIn: TGLuint, outX: TGLenum, outY: TGLenum, - outZ: TGLenum, outW: TGLenum){.dynlib: dllname, importc.} -proc glInsertComponentEXT*(res: TGLuint, src: TGLuint, num: TGLuint){. - dynlib: dllname, importc.} -proc glExtractComponentEXT*(res: TGLuint, src: TGLuint, num: TGLuint){. - dynlib: dllname, importc.} -proc glGenSymbolsEXT*(datatype: TGLenum, storagetype: TGLenum, range: TGLenum, - components: TGLuint): TGLuint{.dynlib: dllname, importc.} -proc glSetInvariantEXT*(id: TGLuint, thetype: TGLenum, address: PGLvoid){. - dynlib: dllname, importc.} -proc glSetLocalConstantEXT*(id: TGLuint, thetype: TGLenum, address: PGLvoid){. - dynlib: dllname, importc.} -proc glVariantbvEXT*(id: TGLuint, address: PGLbyte){.dynlib: dllname, importc.} -proc glVariantsvEXT*(id: TGLuint, address: PGLshort){.dynlib: dllname, importc.} -proc glVariantivEXT*(id: TGLuint, address: PGLint){.dynlib: dllname, importc.} -proc glVariantfvEXT*(id: TGLuint, address: PGLfloat){.dynlib: dllname, importc.} -proc glVariantdvEXT*(id: TGLuint, address: PGLdouble){.dynlib: dllname, importc.} -proc glVariantubvEXT*(id: TGLuint, address: PGLubyte){.dynlib: dllname, importc.} -proc glVariantusvEXT*(id: TGLuint, address: PGLushort){.dynlib: dllname, importc.} -proc glVariantuivEXT*(id: TGLuint, address: PGLuint){.dynlib: dllname, importc.} -proc glVariantPointerEXT*(id: TGLuint, thetype: TGLenum, stride: TGLuint, - address: PGLvoid){.dynlib: dllname, importc.} -proc glEnableVariantClientStateEXT*(id: TGLuint){.dynlib: dllname, importc.} -proc glDisableVariantClientStateEXT*(id: TGLuint){.dynlib: dllname, importc.} -proc glBindLightParameterEXT*(light: TGLenum, value: TGLenum): TGLuint{. - dynlib: dllname, importc.} -proc glBindMaterialParameterEXT*(face: TGLenum, value: TGLenum): TGLuint{. - dynlib: dllname, importc.} -proc glBindTexGenParameterEXT*(theunit: TGLenum, coord: TGLenum, value: TGLenum): TGLuint{. - dynlib: dllname, importc.} -proc glBindTextureUnitParameterEXT*(theunit: TGLenum, value: TGLenum): TGLuint{. - dynlib: dllname, importc.} -proc glBindParameterEXT*(value: TGLenum): TGLuint{.dynlib: dllname, importc.} -proc glIsVariantEnabledEXT*(id: TGLuint, cap: TGLenum): TGLboolean{. - dynlib: dllname, importc.} -proc glGetVariantBooleanvEXT*(id: TGLuint, value: TGLenum, data: PGLboolean){. - dynlib: dllname, importc.} -proc glGetVariantIntegervEXT*(id: TGLuint, value: TGLenum, data: PGLint){. - dynlib: dllname, importc.} -proc glGetVariantFloatvEXT*(id: TGLuint, value: TGLenum, data: PGLfloat){. - dynlib: dllname, importc.} -proc glGetVariantPointervEXT*(id: TGLuint, value: TGLenum, data: PGLvoid){. - dynlib: dllname, importc.} -proc glGetInvariantBooleanvEXT*(id: TGLuint, value: TGLenum, data: PGLboolean){. - dynlib: dllname, importc.} -proc glGetInvariantIntegervEXT*(id: TGLuint, value: TGLenum, data: PGLint){. - dynlib: dllname, importc.} -proc glGetInvariantFloatvEXT*(id: TGLuint, value: TGLenum, data: PGLfloat){. - dynlib: dllname, importc.} -proc glGetLocalConstantBooleanvEXT*(id: TGLuint, value: TGLenum, data: PGLboolean){. - dynlib: dllname, importc.} -proc glGetLocalConstantIntegervEXT*(id: TGLuint, value: TGLenum, data: PGLint){. - dynlib: dllname, importc.} -proc glGetLocalConstantFloatvEXT*(id: TGLuint, value: TGLenum, data: PGLfloat){. - dynlib: dllname, importc.} - #***** GL_EXT_vertex_weighting *****// -const - GL_VERTEX_WEIGHTING_EXT* = 0x00008509 - GL_MODELVIEW0_EXT* = 0x00001700 - GL_MODELVIEW1_EXT* = 0x0000850A - GL_MODELVIEW0_MATRIX_EXT* = 0x00000BA6 - GL_MODELVIEW1_MATRIX_EXT* = 0x00008506 - GL_CURRENT_VERTEX_WEIGHT_EXT* = 0x0000850B - GL_VERTEX_WEIGHT_ARRAY_EXT* = 0x0000850C - GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT* = 0x0000850D - GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT* = 0x0000850E - GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT* = 0x0000850F - GL_MODELVIEW0_STACK_DEPTH_EXT* = 0x00000BA3 - GL_MODELVIEW1_STACK_DEPTH_EXT* = 0x00008502 - GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT* = 0x00008510 - -proc glVertexWeightfEXT*(weight: TGLfloat){.dynlib: dllname, importc.} -proc glVertexWeightfvEXT*(weight: PGLfloat){.dynlib: dllname, importc.} -proc glVertexWeightPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} - #***** GL_HP_occlusion_test *****// -const - GL_OCCLUSION_TEST_HP* = 0x00008165 - GL_OCCLUSION_TEST_RESULT_HP* = 0x00008166 - - #***** GL_NV_blend_square *****// - #***** GL_NV_copy_depth_to_color *****// -const - GL_DEPTH_STENCIL_TO_RGBA_NV* = 0x0000886E - GL_DEPTH_STENCIL_TO_BGRA_NV* = 0x0000886F - - #***** GL_NV_depth_clamp *****// -const - GL_DEPTH_CLAMP_NV* = 0x0000864F - - #***** GL_NV_evaluators *****// -const - GL_EVAL_2D_NV* = 0x000086C0 - GL_EVAL_TRIANGULAR_2D_NV* = 0x000086C1 - GL_MAP_TESSELLATION_NV* = 0x000086C2 - GL_MAP_ATTRIB_U_ORDER_NV* = 0x000086C3 - GL_MAP_ATTRIB_V_ORDER_NV* = 0x000086C4 - GL_EVAL_FRACTIONAL_TESSELLATION_NV* = 0x000086C5 - GL_EVAL_VERTEX_ATTRIB0_NV* = 0x000086C6 - GL_EVAL_VERTEX_ATTRIB1_NV* = 0x000086C7 - GL_EVAL_VERTEX_ATTRIB2_NV* = 0x000086C8 - GL_EVAL_VERTEX_ATTRIB3_NV* = 0x000086C9 - GL_EVAL_VERTEX_ATTRIB4_NV* = 0x000086CA - GL_EVAL_VERTEX_ATTRIB5_NV* = 0x000086CB - GL_EVAL_VERTEX_ATTRIB6_NV* = 0x000086CC - GL_EVAL_VERTEX_ATTRIB7_NV* = 0x000086CD - GL_EVAL_VERTEX_ATTRIB8_NV* = 0x000086CE - GL_EVAL_VERTEX_ATTRIB9_NV* = 0x000086CF - GL_EVAL_VERTEX_ATTRIB10_NV* = 0x000086D0 - GL_EVAL_VERTEX_ATTRIB11_NV* = 0x000086D1 - GL_EVAL_VERTEX_ATTRIB12_NV* = 0x000086D2 - GL_EVAL_VERTEX_ATTRIB13_NV* = 0x000086D3 - GL_EVAL_VERTEX_ATTRIB14_NV* = 0x000086D4 - GL_EVAL_VERTEX_ATTRIB15_NV* = 0x000086D5 - GL_MAX_MAP_TESSELLATION_NV* = 0x000086D6 - GL_MAX_RATIONAL_EVAL_ORDER_NV* = 0x000086D7 - -proc glMapControlPointsNV*(target: TGLenum, index: TGLuint, thetype: TGLenum, - ustride: TGLsizei, vstride: TGLsizei, uorder: TGLint, - vorder: TGLint, thepacked: TGLboolean, points: PGLvoid){. - dynlib: dllname, importc.} -proc glMapParameterivNV*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glMapParameterfvNV*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetMapControlPointsNV*(target: TGLenum, index: TGLuint, thetype: TGLenum, - ustride: TGLsizei, vstride: TGLsizei, - thepacked: TGLboolean, points: PGLvoid){. - dynlib: dllname, importc.} -proc glGetMapParameterivNV*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetMapParameterfvNV*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetMapAttribParameterivNV*(target: TGLenum, index: TGLuint, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glGetMapAttribParameterfvNV*(target: TGLenum, index: TGLuint, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glEvalMapsNV*(target: TGLenum, mode: TGLenum){.dynlib: dllname, importc.} - #***** GL_NV_fence *****// -const - GL_ALL_COMPLETED_NV* = 0x000084F2 - GL_FENCE_STATUS_NV* = 0x000084F3 - GL_FENCE_CONDITION_NV* = 0x000084F4 - -proc glGenFencesNV*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.} -proc glDeleteFencesNV*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.} -proc glSetFenceNV*(fence: TGLuint, condition: TGLenum){.dynlib: dllname, importc.} -proc glTestFenceNV*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glFinishFenceNV*(fence: TGLuint){.dynlib: dllname, importc.} -proc glIsFenceNV*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glGetFenceivNV*(fence: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} - #***** GL_NV_fog_distance *****// -const - GL_FOG_DISTANCE_MODE_NV* = 0x0000855A - GL_EYE_RADIAL_NV* = 0x0000855B - GL_EYE_PLANE_ABSOLUTE_NV* = 0x0000855C - - #***** GL_NV_light_max_exponent *****// -const - GL_MAX_SHININESS_NV* = 0x00008504 - GL_MAX_SPOT_EXPONENT_NV* = 0x00008505 - - #***** GL_NV_multisample_filter_hint *****// -const - GL_MULTISAMPLE_FILTER_HINT_NV* = 0x00008534 - - #***** GL_NV_occlusion_query *****// - # GL_OCCLUSION_TEST_HP { already defined } - # GL_OCCLUSION_TEST_RESULT_HP { already defined } -const - GL_PIXEL_COUNTER_BITS_NV* = 0x00008864 - GL_CURRENT_OCCLUSION_QUERY_ID_NV* = 0x00008865 - GL_PIXEL_COUNT_NV* = 0x00008866 - GL_PIXEL_COUNT_AVAILABLE_NV* = 0x00008867 - -proc glGenOcclusionQueriesNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, - importc.} -proc glDeleteOcclusionQueriesNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, - importc.} -proc glIsOcclusionQueryNV*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glBeginOcclusionQueryNV*(id: TGLuint){.dynlib: dllname, importc.} -proc glEndOcclusionQueryNV*(){.dynlib: dllname, importc.} -proc glGetOcclusionQueryivNV*(id: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetOcclusionQueryuivNV*(id: TGLuint, pname: TGLenum, params: PGLuint){. - dynlib: dllname, importc.} - #***** GL_NV_packed_depth_stencil *****// -const - GL_DEPTH_STENCIL_NV* = 0x000084F9 - GL_UNSIGNED_INT_24_8_NV* = 0x000084FA - - #***** GL_NV_point_sprite *****// -const - GL_POINT_SPRITE_NV* = 0x00008861 - GL_COORD_REPLACE_NV* = 0x00008862 - GL_POINT_SPRITE_R_MODE_NV* = 0x00008863 - -proc glPointParameteriNV*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glPointParameterivNV*(pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} - #***** GL_NV_register_combiners *****// -const - GL_REGISTER_COMBINERS_NV* = 0x00008522 - GL_COMBINER0_NV* = 0x00008550 - GL_COMBINER1_NV* = 0x00008551 - GL_COMBINER2_NV* = 0x00008552 - GL_COMBINER3_NV* = 0x00008553 - GL_COMBINER4_NV* = 0x00008554 - GL_COMBINER5_NV* = 0x00008555 - GL_COMBINER6_NV* = 0x00008556 - GL_COMBINER7_NV* = 0x00008557 - GL_VARIABLE_A_NV* = 0x00008523 - GL_VARIABLE_B_NV* = 0x00008524 - GL_VARIABLE_C_NV* = 0x00008525 - GL_VARIABLE_D_NV* = 0x00008526 - GL_VARIABLE_E_NV* = 0x00008527 - GL_VARIABLE_F_NV* = 0x00008528 - GL_VARIABLE_G_NV* = 0x00008529 - GL_CONSTANT_COLOR0_NV* = 0x0000852A - GL_CONSTANT_COLOR1_NV* = 0x0000852B - GL_PRIMARY_COLOR_NV* = 0x0000852C - GL_SECONDARY_COLOR_NV* = 0x0000852D - GL_SPARE0_NV* = 0x0000852E - GL_SPARE1_NV* = 0x0000852F - GL_UNSIGNED_IDENTITY_NV* = 0x00008536 - GL_UNSIGNED_INVERT_NV* = 0x00008537 - GL_EXPAND_NORMAL_NV* = 0x00008538 - GL_EXPAND_NEGATE_NV* = 0x00008539 - GL_HALF_BIAS_NORMAL_NV* = 0x0000853A - GL_HALF_BIAS_NEGATE_NV* = 0x0000853B - GL_SIGNED_IDENTITY_NV* = 0x0000853C - GL_SIGNED_NEGATE_NV* = 0x0000853D - GL_E_TIMES_F_NV* = 0x00008531 - GL_SPARE0_PLUS_SECONDARY_COLOR_NV* = 0x00008532 - GL_SCALE_BY_TWO_NV* = 0x0000853E - GL_SCALE_BY_FOUR_NV* = 0x0000853F - GL_SCALE_BY_ONE_HALF_NV* = 0x00008540 - GL_BIAS_BY_NEGATIVE_ONE_HALF_NV* = 0x00008541 - GL_DISCARD_NV* = 0x00008530 - constGL_COMBINER_INPUT_NV* = 0x00008542 - GL_COMBINER_MAPPING_NV* = 0x00008543 - GL_COMBINER_COMPONENT_USAGE_NV* = 0x00008544 - GL_COMBINER_AB_DOT_PRODUCT_NV* = 0x00008545 - GL_COMBINER_CD_DOT_PRODUCT_NV* = 0x00008546 - GL_COMBINER_MUX_SUM_NV* = 0x00008547 - GL_COMBINER_SCALE_NV* = 0x00008548 - GL_COMBINER_BIAS_NV* = 0x00008549 - GL_COMBINER_AB_OUTPUT_NV* = 0x0000854A - GL_COMBINER_CD_OUTPUT_NV* = 0x0000854B - GL_COMBINER_SUM_OUTPUT_NV* = 0x0000854C - GL_NUM_GENERAL_COMBINERS_NV* = 0x0000854E - GL_COLOR_SUM_CLAMP_NV* = 0x0000854F - GL_MAX_GENERAL_COMBINERS_NV* = 0x0000854D - -proc glCombinerParameterfvNV*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glCombinerParameterivNV*(pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glCombinerParameterfNV*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, - importc.} -proc glCombinerParameteriNV*(pname: TGLenum, param: TGLint){.dynlib: dllname, - importc.} -proc glCombinerInputNV*(stage: TGLenum, portion: TGLenum, variable: TGLenum, - input: TGLenum, mapping: TGLenum, componentUsage: TGLenum){. - dynlib: dllname, importc.} -proc glCombinerOutputNV*(stage: TGLenum, portion: TGLenum, abOutput: TGLenum, - cdOutput: TGLenum, sumOutput: TGLenum, scale: TGLenum, - bias: TGLenum, abDotProduct: TGLboolean, - cdDotProduct: TGLboolean, muxSum: TGLboolean){. - dynlib: dllname, importc.} -proc glFinalCombinerInputNV*(variable: TGLenum, input: TGLenum, mapping: TGLenum, - componentUsage: TGLenum){.dynlib: dllname, importc.} -proc glGetCombinerInputParameterfvNV*(stage: TGLenum, portion: TGLenum, - variable: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, - importc.} -proc glGetCombinerInputParameterivNV*(stage: TGLenum, portion: TGLenum, - variable: TGLenum, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glGetCombinerOutputParameterfvNV*(stage: TGLenum, portion: TGLenum, - pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetCombinerOutputParameterivNV*(stage: TGLenum, portion: TGLenum, - pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetFinalCombinerInputParameterfvNV*(variable: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetFinalCombinerInputParameterivNV*(variable: TGLenum, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} - #***** GL_NV_register_combiners2 *****// -const - GL_PER_STAGE_CONSTANTS_NV* = 0x00008535 - -proc glCombinerStageParameterfvNV*(stage: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetCombinerStageParameterfvNV*(stage: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, - importc.} - #***** GL_NV_texgen_emboss *****// -const - GL_EMBOSS_MAP_NV* = 0x0000855F - GL_EMBOSS_LIGHT_NV* = 0x0000855D - GL_EMBOSS_CONSTANT_NV* = 0x0000855E - - #***** GL_NV_texgen_reflection *****// -const - GL_NORMAL_MAP_NV* = 0x00008511 - GL_REFLECTION_MAP_NV* = 0x00008512 - - #***** GL_NV_texture_compression_vtc *****// - # GL_COMPRESSED_RGB_S3TC_DXT1_EXT { already defined } - # GL_COMPRESSED_RGBA_S3TC_DXT1_EXT { already defined } - # GL_COMPRESSED_RGBA_S3TC_DXT3_EXT { already defined } - # GL_COMPRESSED_RGBA_S3TC_DXT5_EXT { already defined } - #***** GL_NV_texture_env_combine4 *****// -const - GL_COMBINE4_NV* = 0x00008503 - GL_SOURCE3_RGB_NV* = 0x00008583 - GL_SOURCE3_ALPHA_NV* = 0x0000858B - GL_OPERAND3_RGB_NV* = 0x00008593 - GL_OPERAND3_ALPHA_NV* = 0x0000859B - - #***** GL_NV_texture_rectangle *****// -const - GL_TEXTURE_RECTANGLE_NV* = 0x000084F5 - GL_TEXTURE_BINDING_RECTANGLE_NV* = 0x000084F6 - GL_PROXY_TEXTURE_RECTANGLE_NV* = 0x000084F7 - GL_MAX_RECTANGLE_TEXTURE_SIZE_NV* = 0x000084F8 - - #***** GL_NV_texture_shader *****// -const - GL_TEXTURE_SHADER_NV* = 0x000086DE - GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV* = 0x000086D9 - GL_SHADER_OPERATION_NV* = 0x000086DF - GL_CULL_MODES_NV* = 0x000086E0 - GL_OFFSET_TEXTURE_MATRIX_NV* = 0x000086E1 - GL_OFFSET_TEXTURE_SCALE_NV* = 0x000086E2 - GL_OFFSET_TEXTURE_BIAS_NV* = 0x000086E3 - GL_PREVIOUS_TEXTURE_INPUT_NV* = 0x000086E4 - GL_CONST_EYE_NV* = 0x000086E5 - GL_SHADER_CONSISTENT_NV* = 0x000086DD - GL_PASS_THROUGH_NV* = 0x000086E6 - GL_CULL_FRAGMENT_NV* = 0x000086E7 - GL_OFFSET_TEXTURE_2D_NV* = 0x000086E8 - GL_OFFSET_TEXTURE_RECTANGLE_NV* = 0x0000864C - GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV* = 0x0000864D - GL_DEPENDENT_AR_TEXTURE_2D_NV* = 0x000086E9 - GL_DEPENDENT_GB_TEXTURE_2D_NV* = 0x000086EA - GL_DOT_PRODUCT_NV* = 0x000086EC - GL_DOT_PRODUCT_DEPTH_REPLACE_NV* = 0x000086ED - GL_DOT_PRODUCT_TEXTURE_2D_NV* = 0x000086EE - GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV* = 0x0000864E - GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV* = 0x000086F0 - GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV* = 0x000086F1 - GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV* = 0x000086F2 - GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV* = 0x000086F3 - GL_HILO_NV* = 0x000086F4 - GL_DSDT_NV* = 0x000086F5 - GL_DSDT_MAG_NV* = 0x000086F6 - GL_DSDT_MAG_VIB_NV* = 0x000086F7 - GL_UNSIGNED_INT_S8_S8_8_8_NV* = 0x000086DA - GL_UNSIGNED_INT_8_8_S8_S8_REV_NV* = 0x000086DB - GL_SIGNED_RGBA_NV* = 0x000086FB - GL_SIGNED_RGBA8_NV* = 0x000086FC - GL_SIGNED_RGB_NV* = 0x000086FE - GL_SIGNED_RGB8_NV* = 0x000086FF - GL_SIGNED_LUMINANCE_NV* = 0x00008701 - GL_SIGNED_LUMINANCE8_NV* = 0x00008702 - GL_SIGNED_LUMINANCE_ALPHA_NV* = 0x00008703 - GL_SIGNED_LUMINANCE8_ALPHA8_NV* = 0x00008704 - GL_SIGNED_ALPHA_NV* = 0x00008705 - GL_SIGNED_ALPHA8_NV* = 0x00008706 - GL_SIGNED_INTENSITY_NV* = 0x00008707 - GL_SIGNED_INTENSITY8_NV* = 0x00008708 - GL_SIGNED_RGB_UNSIGNED_ALPHA_NV* = 0x0000870C - GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV* = 0x0000870D - GL_HILO16_NV* = 0x000086F8 - GL_SIGNED_HILO_NV* = 0x000086F9 - GL_SIGNED_HILO16_NV* = 0x000086FA - GL_DSDT8_NV* = 0x00008709 - GL_DSDT8_MAG8_NV* = 0x0000870A - GL_DSDT_MAG_INTENSITY_NV* = 0x000086DC - GL_DSDT8_MAG8_INTENSITY8_NV* = 0x0000870B - GL_HI_SCALE_NV* = 0x0000870E - GL_LO_SCALE_NV* = 0x0000870F - GL_DS_SCALE_NV* = 0x00008710 - GL_DT_SCALE_NV* = 0x00008711 - GL_MAGNITUDE_SCALE_NV* = 0x00008712 - GL_VIBRANCE_SCALE_NV* = 0x00008713 - GL_HI_BIAS_NV* = 0x00008714 - GL_LO_BIAS_NV* = 0x00008715 - GL_DS_BIAS_NV* = 0x00008716 - GL_DT_BIAS_NV* = 0x00008717 - GL_MAGNITUDE_BIAS_NV* = 0x00008718 - GL_VIBRANCE_BIAS_NV* = 0x00008719 - GL_TEXTURE_BORDER_VALUES_NV* = 0x0000871A - GL_TEXTURE_HI_SIZE_NV* = 0x0000871B - GL_TEXTURE_LO_SIZE_NV* = 0x0000871C - GL_TEXTURE_DS_SIZE_NV* = 0x0000871D - GL_TEXTURE_DT_SIZE_NV* = 0x0000871E - GL_TEXTURE_MAG_SIZE_NV* = 0x0000871F - - #***** GL_NV_texture_shader2 *****// -const - GL_DOT_PRODUCT_TEXTURE_3D_NV* = 0x000086EF # GL_HILO_NV { already defined } - # GL_DSDT_NV { already defined } - # GL_DSDT_MAG_NV { already defined } - # GL_DSDT_MAG_VIB_NV { already defined } - # GL_UNSIGNED_INT_S8_S8_8_8_NV { already defined } - # GL_UNSIGNED_INT_8_8_S8_S8_REV_NV { already defined } - # GL_SIGNED_RGBA_NV { already defined } - # GL_SIGNED_RGBA8_NV { already defined } - # GL_SIGNED_RGB_NV { already defined } - # GL_SIGNED_RGB8_NV { already defined } - # GL_SIGNED_LUMINANCE_NV { already defined } - # GL_SIGNED_LUMINANCE8_NV { already defined } - # GL_SIGNED_LUMINANCE_ALPHA_NV { already defined } - # GL_SIGNED_LUMINANCE8_ALPHA8_NV { already defined } - # GL_SIGNED_ALPHA_NV { already defined } - # GL_SIGNED_ALPHA8_NV { already defined } - # GL_SIGNED_INTENSITY_NV { already defined } - # GL_SIGNED_INTENSITY8_NV { already defined } - # GL_SIGNED_RGB_UNSIGNED_ALPHA_NV { already defined } - # GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV { already defined } - # GL_HILO16_NV { already defined } - # GL_SIGNED_HILO_NV { already defined } - # GL_SIGNED_HILO16_NV { already defined } - # GL_DSDT8_NV { already defined } - # GL_DSDT8_MAG8_NV { already defined } - # GL_DSDT_MAG_INTENSITY_NV { already defined } - # GL_DSDT8_MAG8_INTENSITY8_NV { already defined } - - #***** GL_NV_texture_shader3 *****// -const - GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV* = 0x00008850 - GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV* = 0x00008851 - GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV* = 0x00008852 - GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV* = 0x00008853 - GL_OFFSET_HILO_TEXTURE_2D_NV* = 0x00008854 - GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV* = 0x00008855 - GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV* = 0x00008856 - GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV* = 0x00008857 - GL_DEPENDENT_HILO_TEXTURE_2D_NV* = 0x00008858 - GL_DEPENDENT_RGB_TEXTURE_3D_NV* = 0x00008859 - GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV* = 0x0000885A - GL_DOT_PRODUCT_PASS_THROUGH_NV* = 0x0000885B - GL_DOT_PRODUCT_TEXTURE_1D_NV* = 0x0000885C - GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV* = 0x0000885D - GL_HILO8_NV* = 0x0000885E - GL_SIGNED_HILO8_NV* = 0x0000885F - GL_FORCE_BLUE_TO_ONE_NV* = 0x00008860 - - #***** GL_NV_vertex_array_range *****// -const - constGL_VERTEX_ARRAY_RANGE_NV* = 0x0000851D - GL_VERTEX_ARRAY_RANGE_LENGTH_NV* = 0x0000851E - GL_VERTEX_ARRAY_RANGE_VALID_NV* = 0x0000851F - GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV* = 0x00008520 - GL_VERTEX_ARRAY_RANGE_POINTER_NV* = 0x00008521 - -proc glVertexArrayRangeNV*(len: TGLsizei, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glFlushVertexArrayRangeNV*(){.dynlib: dllname, importc.} - #***** GL_NV_vertex_array_range2 *****// -const - GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV* = 0x00008533 - - #***** GL_NV_vertex_program *****// -const - GL_VERTEX_PROGRAM_NV* = 0x00008620 - GL_VERTEX_PROGRAM_POINT_SIZE_NV* = 0x00008642 - GL_VERTEX_PROGRAM_TWO_SIDE_NV* = 0x00008643 - GL_VERTEX_STATE_PROGRAM_NV* = 0x00008621 - GL_ATTRIB_ARRAY_SIZE_NV* = 0x00008623 - GL_ATTRIB_ARRAY_STRIDE_NV* = 0x00008624 - GL_ATTRIB_ARRAY_TYPE_NV* = 0x00008625 - GL_CURRENT_ATTRIB_NV* = 0x00008626 - GL_PROGRAM_PARAMETER_NV* = 0x00008644 - GL_ATTRIB_ARRAY_POINTER_NV* = 0x00008645 - GL_PROGRAM_TARGET_NV* = 0x00008646 - GL_PROGRAM_LENGTH_NV* = 0x00008627 - GL_PROGRAM_RESIDENT_NV* = 0x00008647 - GL_PROGRAM_STRING_NV* = 0x00008628 - constGL_TRACK_MATRIX_NV* = 0x00008648 - GL_TRACK_MATRIX_TRANSFORM_NV* = 0x00008649 - GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV* = 0x0000862E - GL_MAX_TRACK_MATRICES_NV* = 0x0000862F - GL_CURRENT_MATRIX_STACK_DEPTH_NV* = 0x00008640 - GL_CURRENT_MATRIX_NV* = 0x00008641 - GL_VERTEX_PROGRAM_BINDING_NV* = 0x0000864A - GL_PROGRAM_ERROR_POSITION_NV* = 0x0000864B - GL_MODELVIEW_PROJECTION_NV* = 0x00008629 - GL_MATRIX0_NV* = 0x00008630 - GL_MATRIX1_NV* = 0x00008631 - GL_MATRIX2_NV* = 0x00008632 - GL_MATRIX3_NV* = 0x00008633 - GL_MATRIX4_NV* = 0x00008634 - GL_MATRIX5_NV* = 0x00008635 - GL_MATRIX6_NV* = 0x00008636 - GL_MATRIX7_NV* = 0x00008637 - GL_IDENTITY_NV* = 0x0000862A - GL_INVERSE_NV* = 0x0000862B - GL_TRANSPOSE_NV* = 0x0000862C - GL_INVERSE_TRANSPOSE_NV* = 0x0000862D - GL_VERTEX_ATTRIB_ARRAY0_NV* = 0x00008650 - GL_VERTEX_ATTRIB_ARRAY1_NV* = 0x00008651 - GL_VERTEX_ATTRIB_ARRAY2_NV* = 0x00008652 - GL_VERTEX_ATTRIB_ARRAY3_NV* = 0x00008653 - GL_VERTEX_ATTRIB_ARRAY4_NV* = 0x00008654 - GL_VERTEX_ATTRIB_ARRAY5_NV* = 0x00008655 - GL_VERTEX_ATTRIB_ARRAY6_NV* = 0x00008656 - GL_VERTEX_ATTRIB_ARRAY7_NV* = 0x00008657 - GL_VERTEX_ATTRIB_ARRAY8_NV* = 0x00008658 - GL_VERTEX_ATTRIB_ARRAY9_NV* = 0x00008659 - GL_VERTEX_ATTRIB_ARRAY10_NV* = 0x0000865A - GL_VERTEX_ATTRIB_ARRAY11_NV* = 0x0000865B - GL_VERTEX_ATTRIB_ARRAY12_NV* = 0x0000865C - GL_VERTEX_ATTRIB_ARRAY13_NV* = 0x0000865D - GL_VERTEX_ATTRIB_ARRAY14_NV* = 0x0000865E - GL_VERTEX_ATTRIB_ARRAY15_NV* = 0x0000865F - GL_MAP1_VERTEX_ATTRIB0_4_NV* = 0x00008660 - GL_MAP1_VERTEX_ATTRIB1_4_NV* = 0x00008661 - GL_MAP1_VERTEX_ATTRIB2_4_NV* = 0x00008662 - GL_MAP1_VERTEX_ATTRIB3_4_NV* = 0x00008663 - GL_MAP1_VERTEX_ATTRIB4_4_NV* = 0x00008664 - GL_MAP1_VERTEX_ATTRIB5_4_NV* = 0x00008665 - GL_MAP1_VERTEX_ATTRIB6_4_NV* = 0x00008666 - GL_MAP1_VERTEX_ATTRIB7_4_NV* = 0x00008667 - GL_MAP1_VERTEX_ATTRIB8_4_NV* = 0x00008668 - GL_MAP1_VERTEX_ATTRIB9_4_NV* = 0x00008669 - GL_MAP1_VERTEX_ATTRIB10_4_NV* = 0x0000866A - GL_MAP1_VERTEX_ATTRIB11_4_NV* = 0x0000866B - GL_MAP1_VERTEX_ATTRIB12_4_NV* = 0x0000866C - GL_MAP1_VERTEX_ATTRIB13_4_NV* = 0x0000866D - GL_MAP1_VERTEX_ATTRIB14_4_NV* = 0x0000866E - GL_MAP1_VERTEX_ATTRIB15_4_NV* = 0x0000866F - GL_MAP2_VERTEX_ATTRIB0_4_NV* = 0x00008670 - GL_MAP2_VERTEX_ATTRIB1_4_NV* = 0x00008671 - GL_MAP2_VERTEX_ATTRIB2_4_NV* = 0x00008672 - GL_MAP2_VERTEX_ATTRIB3_4_NV* = 0x00008673 - GL_MAP2_VERTEX_ATTRIB4_4_NV* = 0x00008674 - GL_MAP2_VERTEX_ATTRIB5_4_NV* = 0x00008675 - GL_MAP2_VERTEX_ATTRIB6_4_NV* = 0x00008676 - GL_MAP2_VERTEX_ATTRIB7_4_NV* = 0x00008677 - GL_MAP2_VERTEX_ATTRIB8_4_NV* = 0x00008678 - GL_MAP2_VERTEX_ATTRIB9_4_NV* = 0x00008679 - GL_MAP2_VERTEX_ATTRIB10_4_NV* = 0x0000867A - GL_MAP2_VERTEX_ATTRIB11_4_NV* = 0x0000867B - GL_MAP2_VERTEX_ATTRIB12_4_NV* = 0x0000867C - GL_MAP2_VERTEX_ATTRIB13_4_NV* = 0x0000867D - GL_MAP2_VERTEX_ATTRIB14_4_NV* = 0x0000867E - GL_MAP2_VERTEX_ATTRIB15_4_NV* = 0x0000867F - -proc glBindProgramNV*(target: TGLenum, id: TGLuint){.dynlib: dllname, importc.} -proc glDeleteProgramsNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.} -proc glExecuteProgramNV*(target: TGLenum, id: TGLuint, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGenProgramsNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.} -proc glAreProgramsResidentNV*(n: TGLsizei, ids: PGLuint, residences: PGLboolean): TGLboolean{. - dynlib: dllname, importc.} -proc glRequestResidentProgramsNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, - importc.} -proc glGetProgramParameterfvNV*(target: TGLenum, index: TGLuint, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetProgramParameterdvNV*(target: TGLenum, index: TGLuint, pname: TGLenum, - params: PGLdouble){.dynlib: dllname, importc.} -proc glGetProgramivNV*(id: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetProgramStringNV*(id: TGLuint, pname: TGLenum, theProgram: PGLubyte){. - dynlib: dllname, importc.} -proc glGetTrackMatrixivNV*(target: TGLenum, address: TGLuint, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glGetVertexAttribdvNV*(index: TGLuint, pname: TGLenum, params: PGLdouble){. - dynlib: dllname, importc.} -proc glGetVertexAttribfvNV*(index: TGLuint, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetVertexAttribivNV*(index: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetVertexAttribPointervNV*(index: TGLuint, pname: TGLenum, pointer: PGLvoid){. - dynlib: dllname, importc.} -proc glIsProgramNV*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glLoadProgramNV*(target: TGLenum, id: TGLuint, length: TGLsizei, - theProgram: PGLubyte){.dynlib: dllname, importc.} -proc glProgramParameter4fNV*(target: TGLenum, index: TGLuint, x: TGLfloat, - y: TGLfloat, z: TGLfloat, w: TGLfloat){. - dynlib: dllname, importc.} -proc glProgramParameter4fvNV*(target: TGLenum, index: TGLuint, params: PGLfloat){. - dynlib: dllname, importc.} -proc glProgramParameters4dvNV*(target: TGLenum, index: TGLuint, num: TGLuint, - params: PGLdouble){.dynlib: dllname, importc.} -proc glProgramParameters4fvNV*(target: TGLenum, index: TGLuint, num: TGLuint, - params: PGLfloat){.dynlib: dllname, importc.} -proc glTrackMatrixNV*(target: TGLenum, address: TGLuint, matrix: TGLenum, - transform: TGLenum){.dynlib: dllname, importc.} -proc glVertexAttribPointerNV*(index: TGLuint, size: TGLint, thetype: TGLenum, - stride: TGLsizei, pointer: PGLvoid){. - dynlib: dllname, importc.} -proc glVertexAttrib1sNV*(index: TGLuint, x: TGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib1fNV*(index: TGLuint, x: TGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib1dNV*(index: TGLuint, x: TGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib2sNV*(index: TGLuint, x: TGLshort, y: TGLshort){. - dynlib: dllname, importc.} -proc glVertexAttrib2fNV*(index: TGLuint, x: TGLfloat, y: TGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttrib2dNV*(index: TGLuint, x: TGLdouble, y: TGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttrib3sNV*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort){. - dynlib: dllname, importc.} -proc glVertexAttrib3fNV*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttrib3dNV*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttrib4sNV*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort, - w: TGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4fNV*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat, - w: TGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib4dNV*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble, - w: TGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib4ubNV*(index: TGLuint, x: TGLubyte, y: TGLubyte, z: TGLubyte, - w: TGLubyte){.dynlib: dllname, importc.} -proc glVertexAttrib1svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib1fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib1dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib2svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib2fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib2dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib3svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib3fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib3dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib4svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.} -proc glVertexAttrib4fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.} -proc glVertexAttrib4dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.} -proc glVertexAttrib4ubvNV*(index: TGLuint, v: PGLubyte){.dynlib: dllname, importc.} -proc glVertexAttribs1svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){. - dynlib: dllname, importc.} -proc glVertexAttribs1fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttribs1dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttribs2svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){. - dynlib: dllname, importc.} -proc glVertexAttribs2fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttribs2dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttribs3svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){. - dynlib: dllname, importc.} -proc glVertexAttribs3fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttribs3dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttribs4svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){. - dynlib: dllname, importc.} -proc glVertexAttribs4fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){. - dynlib: dllname, importc.} -proc glVertexAttribs4dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){. - dynlib: dllname, importc.} -proc glVertexAttribs4ubvNV*(index: TGLuint, n: TGLsizei, v: PGLubyte){. - dynlib: dllname, importc.} - #***** GL_NV_vertex_program1_1 *****// - #***** GL_ATI_element_array *****// -const - GL_ELEMENT_ARRAY_ATI* = 0x00008768 - GL_ELEMENT_ARRAY_TYPE_ATI* = 0x00008769 - GL_ELEMENT_ARRAY_POINTER_ATI* = 0x0000876A - -proc glElementPointerATI*(thetype: TGLenum, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glDrawElementArrayATI*(mode: TGLenum, count: TGLsizei){.dynlib: dllname, - importc.} -proc glDrawRangeElementArrayATI*(mode: TGLenum, start: TGLuint, theend: TGLuint, - count: TGLsizei){.dynlib: dllname, importc.} - #***** GL_ATI_envmap_bumpmap *****// -const - GL_BUMP_ROT_MATRIX_ATI* = 0x00008775 - GL_BUMP_ROT_MATRIX_SIZE_ATI* = 0x00008776 - GL_BUMP_NUM_TEX_UNITS_ATI* = 0x00008777 - GL_BUMP_TEX_UNITS_ATI* = 0x00008778 - GL_DUDV_ATI* = 0x00008779 - GL_DU8DV8_ATI* = 0x0000877A - GL_BUMP_ENVMAP_ATI* = 0x0000877B - GL_BUMP_TARGET_ATI* = 0x0000877C - -proc glTexBumpParameterivATI*(pname: TGLenum, param: PGLint){.dynlib: dllname, - importc.} -proc glTexBumpParameterfvATI*(pname: TGLenum, param: PGLfloat){.dynlib: dllname, - importc.} -proc glGetTexBumpParameterivATI*(pname: TGLenum, param: PGLint){.dynlib: dllname, - importc.} -proc glGetTexBumpParameterfvATI*(pname: TGLenum, param: PGLfloat){. - dynlib: dllname, importc.} - #***** GL_ATI_fragment_shader *****// -const - GL_FRAGMENT_SHADER_ATI* = 0x00008920 - GL_REG_0_ATI* = 0x00008921 - GL_REG_1_ATI* = 0x00008922 - GL_REG_2_ATI* = 0x00008923 - GL_REG_3_ATI* = 0x00008924 - GL_REG_4_ATI* = 0x00008925 - GL_REG_5_ATI* = 0x00008926 - GL_CON_0_ATI* = 0x00008941 - GL_CON_1_ATI* = 0x00008942 - GL_CON_2_ATI* = 0x00008943 - GL_CON_3_ATI* = 0x00008944 - GL_CON_4_ATI* = 0x00008945 - GL_CON_5_ATI* = 0x00008946 - GL_CON_6_ATI* = 0x00008947 - GL_CON_7_ATI* = 0x00008948 - GL_MOV_ATI* = 0x00008961 - GL_ADD_ATI* = 0x00008963 - GL_MUL_ATI* = 0x00008964 - GL_SUB_ATI* = 0x00008965 - GL_DOT3_ATI* = 0x00008966 - GL_DOT4_ATI* = 0x00008967 - GL_MAD_ATI* = 0x00008968 - GL_LERP_ATI* = 0x00008969 - GL_CND_ATI* = 0x0000896A - GL_CND0_ATI* = 0x0000896B - GL_DOT2_ADD_ATI* = 0x0000896C - GL_SECONDARY_INTERPOLATOR_ATI* = 0x0000896D - GL_SWIZZLE_STR_ATI* = 0x00008976 - GL_SWIZZLE_STQ_ATI* = 0x00008977 - GL_SWIZZLE_STR_DR_ATI* = 0x00008978 - GL_SWIZZLE_STQ_DQ_ATI* = 0x00008979 - GL_RED_BIT_ATI* = 0x00000001 - GL_GREEN_BIT_ATI* = 0x00000002 - GL_BLUE_BIT_ATI* = 0x00000004 - GL_2X_BIT_ATI* = 0x00000001 - GL_4X_BIT_ATI* = 0x00000002 - GL_8X_BIT_ATI* = 0x00000004 - GL_HALF_BIT_ATI* = 0x00000008 - GL_QUARTER_BIT_ATI* = 0x00000010 - GL_EIGHTH_BIT_ATI* = 0x00000020 - GL_SATURATE_BIT_ATI* = 0x00000040 # GL_2X_BIT_ATI { already defined } - GL_COMP_BIT_ATI* = 0x00000002 - GL_NEGATE_BIT_ATI* = 0x00000004 - GL_BIAS_BIT_ATI* = 0x00000008 - -proc glGenFragmentShadersATI*(range: TGLuint): TGLuint{.dynlib: dllname, importc.} -proc glBindFragmentShaderATI*(id: TGLuint){.dynlib: dllname, importc.} -proc glDeleteFragmentShaderATI*(id: TGLuint){.dynlib: dllname, importc.} -proc glBeginFragmentShaderATI*(){.dynlib: dllname, importc.} -proc glEndFragmentShaderATI*(){.dynlib: dllname, importc.} -proc glPassTexCoordATI*(dst: TGLuint, coord: TGLuint, swizzle: TGLenum){. - dynlib: dllname, importc.} -proc glSampleMapATI*(dst: TGLuint, interp: TGLuint, swizzle: TGLenum){. - dynlib: dllname, importc.} -proc glColorFragmentOp1ATI*(op: TGLenum, dst: TGLuint, dstMask: TGLuint, - dstMod: TGLuint, arg1: TGLuint, arg1Rep: TGLuint, - arg1Mod: TGLuint){.dynlib: dllname, importc.} -proc glColorFragmentOp2ATI*(op: TGLenum, dst: TGLuint, dstMask: TGLuint, - dstMod: TGLuint, arg1: TGLuint, arg1Rep: TGLuint, - arg1Mod: TGLuint, arg2: TGLuint, arg2Rep: TGLuint, - arg2Mod: TGLuint){.dynlib: dllname, importc.} -proc glColorFragmentOp3ATI*(op: TGLenum, dst: TGLuint, dstMask: TGLuint, - dstMod: TGLuint, arg1: TGLuint, arg1Rep: TGLuint, - arg1Mod: TGLuint, arg2: TGLuint, arg2Rep: TGLuint, - arg2Mod: TGLuint, arg3: TGLuint, arg3Rep: TGLuint, - arg3Mod: TGLuint){.dynlib: dllname, importc.} -proc glAlphaFragmentOp1ATI*(op: TGLenum, dst: TGLuint, dstMod: TGLuint, - arg1: TGLuint, arg1Rep: TGLuint, arg1Mod: TGLuint){. - dynlib: dllname, importc.} -proc glAlphaFragmentOp2ATI*(op: TGLenum, dst: TGLuint, dstMod: TGLuint, - arg1: TGLuint, arg1Rep: TGLuint, arg1Mod: TGLuint, - arg2: TGLuint, arg2Rep: TGLuint, arg2Mod: TGLuint){. - dynlib: dllname, importc.} -proc glAlphaFragmentOp3ATI*(op: TGLenum, dst: TGLuint, dstMod: TGLuint, - arg1: TGLuint, arg1Rep: TGLuint, arg1Mod: TGLuint, - arg2: TGLuint, arg2Rep: TGLuint, arg2Mod: TGLuint, - arg3: TGLuint, arg3Rep: TGLuint, arg3Mod: TGLuint){. - dynlib: dllname, importc.} -proc glSetFragmentShaderConstantATI*(dst: TGLuint, value: PGLfloat){. - dynlib: dllname, importc.} - #***** GL_ATI_pn_triangles *****// -const - GL_PN_TRIANGLES_ATI* = 0x000087F0 - GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI* = 0x000087F1 - GL_PN_TRIANGLES_POINT_MODE_ATI* = 0x000087F2 - GL_PN_TRIANGLES_NORMAL_MODE_ATI* = 0x000087F3 - GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI* = 0x000087F4 - GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI* = 0x000087F5 - GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI* = 0x000087F6 - GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI* = 0x000087F7 - GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI* = 0x000087F8 - -proc glPNTrianglesiATI*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glPNTrianglesfATI*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} - #***** GL_ATI_texture_mirror_once *****// -const - GL_MIRROR_CLAMP_ATI* = 0x00008742 - GL_MIRROR_CLAMP_TO_EDGE_ATI* = 0x00008743 - - #***** GL_ATI_vertex_array_object *****// -const - GL_STATIC_ATI* = 0x00008760 - GL_DYNAMIC_ATI* = 0x00008761 - GL_PRESERVE_ATI* = 0x00008762 - GL_DISCARD_ATI* = 0x00008763 - GL_OBJECT_BUFFER_SIZE_ATI* = 0x00008764 - GL_OBJECT_BUFFER_USAGE_ATI* = 0x00008765 - GL_ARRAY_OBJECT_BUFFER_ATI* = 0x00008766 - GL_ARRAY_OBJECT_OFFSET_ATI* = 0x00008767 - -proc glNewObjectBufferATI*(size: TGLsizei, pointer: PGLvoid, usage: TGLenum): TGLuint{. - dynlib: dllname, importc.} -proc glIsObjectBufferATI*(buffer: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glUpdateObjectBufferATI*(buffer: TGLuint, offset: TGLuint, size: TGLsizei, - pointer: PGLvoid, preserve: TGLenum){. - dynlib: dllname, importc.} -proc glGetObjectBufferfvATI*(buffer: TGLuint, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetObjectBufferivATI*(buffer: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glDeleteObjectBufferATI*(buffer: TGLuint){.dynlib: dllname, importc.} -proc glArrayObjectATI*(thearray: TGLenum, size: TGLint, thetype: TGLenum, - stride: TGLsizei, buffer: TGLuint, offset: TGLuint){. - dynlib: dllname, importc.} -proc glGetArrayObjectfvATI*(thearray: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetArrayObjectivATI*(thearray: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glVariantArrayObjectATI*(id: TGLuint, thetype: TGLenum, stride: TGLsizei, - buffer: TGLuint, offset: TGLuint){.dynlib: dllname, - importc.} -proc glGetVariantArrayObjectfvATI*(id: TGLuint, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetVariantArrayObjectivATI*(id: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} - #***** GL_ATI_vertex_streams *****// -const - GL_MAX_VERTEX_STREAMS_ATI* = 0x0000876B - GL_VERTEX_STREAM0_ATI* = 0x0000876C - GL_VERTEX_STREAM1_ATI* = 0x0000876D - GL_VERTEX_STREAM2_ATI* = 0x0000876E - GL_VERTEX_STREAM3_ATI* = 0x0000876F - GL_VERTEX_STREAM4_ATI* = 0x00008770 - GL_VERTEX_STREAM5_ATI* = 0x00008771 - GL_VERTEX_STREAM6_ATI* = 0x00008772 - GL_VERTEX_STREAM7_ATI* = 0x00008773 - GL_VERTEX_SOURCE_ATI* = 0x00008774 - -proc glVertexStream1s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream1i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream1f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream1d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glVertexStream1sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream1iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream1fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream1dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glVertexStream2s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream2i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream2f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream2d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glVertexStream2sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream2iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream2fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream2dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glVertexStream3s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream3i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream3f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream3d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glVertexStream3sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream3iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream3fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream3dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glVertexStream4s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream4i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream4f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream4d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glVertexStream4sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glVertexStream4iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glVertexStream4fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glVertexStream4dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glNormalStream3b*(stream: TGLenum, coords: TGLByte){.dynlib: dllname, importc.} -proc glNormalStream3s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glNormalStream3i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glNormalStream3f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glNormalStream3d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glNormalStream3bv*(stream: TGLenum, coords: TGLByte){.dynlib: dllname, - importc.} -proc glNormalStream3sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, - importc.} -proc glNormalStream3iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.} -proc glNormalStream3fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, - importc.} -proc glNormalStream3dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, - importc.} -proc glClientActiveVertexStream*(stream: TGLenum){.dynlib: dllname, importc.} -proc glVertexBlendEnvi*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glVertexBlendEnvf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} - #***** GL_3DFX_texture_compression_FXT1 *****// -const - GL_COMPRESSED_RGB_FXT1_3DFX* = 0x000086B0 - GL_COMPRESSED_RGBA_FXT1_3DFX* = 0x000086B1 - - #***** GL_IBM_cull_vertex *****// -const - GL_CULL_VERTEX_IBM* = 0x0001928A - - #***** GL_IBM_multimode_draw_arrays *****// -proc glMultiModeDrawArraysIBM*(mode: PGLenum, first: PGLint, count: PGLsizei, - primcount: TGLsizei, modestride: TGLint){. - dynlib: dllname, importc.} -proc glMultiModeDrawElementsIBM*(mode: PGLenum, count: PGLsizei, - thetype: TGLenum, indices: PGLvoid, - primcount: TGLsizei, modestride: TGLint){. - dynlib: dllname, importc.} - #***** GL_IBM_raster_pos_clip *****// -const - GL_RASTER_POSITION_UNCLIPPED_IBM* = 0x00019262 - - #***** GL_IBM_texture_mirrored_repeat *****// -const - GL_MIRRORED_REPEAT_IBM* = 0x00008370 - - #***** GL_IBM_vertex_array_lists *****// -const - GL_VERTEX_ARRAY_LIST_IBM* = 0x0001929E - GL_NORMAL_ARRAY_LIST_IBM* = 0x0001929F - GL_COLOR_ARRAY_LIST_IBM* = 0x000192A0 - GL_INDEX_ARRAY_LIST_IBM* = 0x000192A1 - GL_TEXTURE_COORD_ARRAY_LIST_IBM* = 0x000192A2 - GL_EDGE_FLAG_ARRAY_LIST_IBM* = 0x000192A3 - GL_FOG_COORDINATE_ARRAY_LIST_IBM* = 0x000192A4 - GL_SECONDARY_COLOR_ARRAY_LIST_IBM* = 0x000192A5 - GL_VERTEX_ARRAY_LIST_STRIDE_IBM* = 0x000192A8 - GL_NORMAL_ARRAY_LIST_STRIDE_IBM* = 0x000192A9 - GL_COLOR_ARRAY_LIST_STRIDE_IBM* = 0x000192AA - GL_INDEX_ARRAY_LIST_STRIDE_IBM* = 0x000192AB - GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM* = 0x000192AC - GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM* = 0x000192AD - GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM* = 0x000192AE - GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM* = 0x000192AF - -proc glColorPointerListIBM*(size: TGLint, thetype: TGLenum, stride: TGLint, - pointer: PGLvoid, ptrstride: TGLint){. - dynlib: dllname, importc.} -proc glSecondaryColorPointerListIBM*(size: TGLint, thetype: TGLenum, - stride: TGLint, pointer: PGLvoid, - ptrstride: TGLint){.dynlib: dllname, importc.} -proc glEdgeFlagPointerListIBM*(stride: TGLint, pointer: PGLboolean, - ptrstride: TGLint){.dynlib: dllname, importc.} -proc glFogCoordPointerListIBM*(thetype: TGLenum, stride: TGLint, pointer: PGLvoid, - ptrstride: TGLint){.dynlib: dllname, importc.} -proc glNormalPointerListIBM*(thetype: TGLenum, stride: TGLint, pointer: PGLvoid, - ptrstride: TGLint){.dynlib: dllname, importc.} -proc glTexCoordPointerListIBM*(size: TGLint, thetype: TGLenum, stride: TGLint, - pointer: PGLvoid, ptrstride: TGLint){. - dynlib: dllname, importc.} -proc glVertexPointerListIBM*(size: TGLint, thetype: TGLenum, stride: TGLint, - pointer: PGLvoid, ptrstride: TGLint){. - dynlib: dllname, importc.} - #***** GL_MESA_resize_buffers *****// -proc glResizeBuffersMESA*(){.dynlib: dllname, importc.} - #***** GL_MESA_window_pos *****// -proc glWindowPos2dMESA*(x: TGLdouble, y: TGLdouble){.dynlib: dllname, importc.} -proc glWindowPos2fMESA*(x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.} -proc glWindowPos2iMESA*(x: TGLint, y: TGLint){.dynlib: dllname, importc.} -proc glWindowPos2sMESA*(x: TGLshort, y: TGLshort){.dynlib: dllname, importc.} -proc glWindowPos2ivMESA*(p: PGLint){.dynlib: dllname, importc.} -proc glWindowPos2svMESA*(p: PGLshort){.dynlib: dllname, importc.} -proc glWindowPos2fvMESA*(p: PGLfloat){.dynlib: dllname, importc.} -proc glWindowPos2dvMESA*(p: PGLdouble){.dynlib: dllname, importc.} -proc glWindowPos3iMESA*(x: TGLint, y: TGLint, z: TGLint){.dynlib: dllname, importc.} -proc glWindowPos3sMESA*(x: TGLshort, y: TGLshort, z: TGLshort){.dynlib: dllname, - importc.} -proc glWindowPos3fMESA*(x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, - importc.} -proc glWindowPos3dMESA*(x: TGLdouble, y: TGLdouble, z: TGLdouble){.dynlib: dllname, - importc.} -proc glWindowPos3ivMESA*(p: PGLint){.dynlib: dllname, importc.} -proc glWindowPos3svMESA*(p: PGLshort){.dynlib: dllname, importc.} -proc glWindowPos3fvMESA*(p: PGLfloat){.dynlib: dllname, importc.} -proc glWindowPos3dvMESA*(p: PGLdouble){.dynlib: dllname, importc.} -proc glWindowPos4iMESA*(x: TGLint, y: TGLint, z: TGLint, w: TGLint){. - dynlib: dllname, importc.} -proc glWindowPos4sMESA*(x: TGLshort, y: TGLshort, z: TGLshort, w: TGLshort){. - dynlib: dllname, importc.} -proc glWindowPos4fMESA*(x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){. - dynlib: dllname, importc.} -proc glWindowPos4dMESA*(x: TGLdouble, y: TGLdouble, z: TGLdouble, w: TGLdouble){. - dynlib: dllname, importc.} -proc glWindowPos4ivMESA*(p: PGLint){.dynlib: dllname, importc.} -proc glWindowPos4svMESA*(p: PGLshort){.dynlib: dllname, importc.} -proc glWindowPos4fvMESA*(p: PGLfloat){.dynlib: dllname, importc.} -proc glWindowPos4dvMESA*(p: PGLdouble){.dynlib: dllname, importc.} - #***** GL_OML_interlace *****// -const - GL_INTERLACE_OML* = 0x00008980 - GL_INTERLACE_READ_OML* = 0x00008981 - - #***** GL_OML_resample *****// -const - GL_PACK_RESAMPLE_OML* = 0x00008984 - GL_UNPACK_RESAMPLE_OML* = 0x00008985 - GL_RESAMPLE_REPLICATE_OML* = 0x00008986 - GL_RESAMPLE_ZERO_FILL_OML* = 0x00008987 - GL_RESAMPLE_AVERAGE_OML* = 0x00008988 - GL_RESAMPLE_DECIMATE_OML* = 0x00008989 # GL_RESAMPLE_AVERAGE_OML { already defined } - - #***** GL_OML_subsample *****// -const - GL_FORMAT_SUBSAMPLE_24_24_OML* = 0x00008982 - GL_FORMAT_SUBSAMPLE_244_244_OML* = 0x00008983 - - #***** GL_SGIS_generate_mipmap *****// -const - GL_GENERATE_MIPMAP_SGIS* = 0x00008191 - GL_GENERATE_MIPMAP_HINT_SGIS* = 0x00008192 - - #***** GL_SGIS_multisample *****// -const - GLX_SAMPLE_BUFFERS_SGIS* = 0x000186A0 - GLX_SAMPLES_SGIS* = 0x000186A1 - GL_MULTISAMPLE_SGIS* = 0x0000809D - GL_SAMPLE_ALPHA_TO_MASK_SGIS* = 0x0000809E - GL_SAMPLE_ALPHA_TO_ONE_SGIS* = 0x0000809F - constGL_SAMPLE_MASK_SGIS* = 0x000080A0 - GL_MULTISAMPLE_BIT_EXT* = 0x20000000 - GL_1PASS_SGIS* = 0x000080A1 - GL_2PASS_0_SGIS* = 0x000080A2 - GL_2PASS_1_SGIS* = 0x000080A3 - GL_4PASS_0_SGIS* = 0x000080A4 - GL_4PASS_1_SGIS* = 0x000080A5 - GL_4PASS_2_SGIS* = 0x000080A6 - GL_4PASS_3_SGIS* = 0x000080A7 - GL_SAMPLE_BUFFERS_SGIS* = 0x000080A8 - GL_SAMPLES_SGIS* = 0x000080A9 - GL_SAMPLE_MASK_VALUE_SGIS* = 0x000080AA - GL_SAMPLE_MASK_INVERT_SGIS* = 0x000080AB - constGL_SAMPLE_PATTERN_SGIS* = 0x000080AC - -proc glSampleMaskSGIS*(value: TGLclampf, invert: TGLboolean){.dynlib: dllname, - importc.} -proc glSamplePatternSGIS*(pattern: TGLenum){.dynlib: dllname, importc.} - #***** GL_SGIS_pixel_texture *****// -const - GL_PIXEL_TEXTURE_SGIS* = 0x00008353 - GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS* = 0x00008354 - GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS* = 0x00008355 - GL_PIXEL_GROUP_COLOR_SGIS* = 0x00008356 - -proc glPixelTexGenParameteriSGIS*(pname: TGLenum, param: TGLint){.dynlib: dllname, - importc.} -proc glPixelTexGenParameterfSGIS*(pname: TGLenum, param: TGLfloat){. - dynlib: dllname, importc.} -proc glGetPixelTexGenParameterivSGIS*(pname: TGLenum, params: TGLint){. - dynlib: dllname, importc.} -proc glGetPixelTexGenParameterfvSGIS*(pname: TGLenum, params: TGLfloat){. - dynlib: dllname, importc.} - #***** GL_SGIS_texture_border_clamp *****// - # GL_CLAMP_TO_BORDER_SGIS { already defined } - #***** GL_SGIS_texture_color_mask *****// -const - GL_TEXTURE_COLOR_WRITEMASK_SGIS* = 0x000081EF - -proc glTextureColorMaskSGIS*(r: TGLboolean, g: TGLboolean, b: TGLboolean, - a: TGLboolean){.dynlib: dllname, importc.} - #***** GL_SGIS_texture_edge_clamp *****// -const - GL_CLAMP_TO_EDGE_SGIS* = 0x0000812F - - #***** GL_SGIS_texture_lod *****// -const - GL_TEXTURE_MIN_LOD_SGIS* = 0x0000813A - GL_TEXTURE_MAX_LOD_SGIS* = 0x0000813B - GL_TEXTURE_BASE_LEVEL_SGIS* = 0x0000813C - GL_TEXTURE_MAX_LEVEL_SGIS* = 0x0000813D - - #***** GL_SGIS_depth_texture *****// -const - GL_DEPTH_COMPONENT16_SGIX* = 0x000081A5 - GL_DEPTH_COMPONENT24_SGIX* = 0x000081A6 - GL_DEPTH_COMPONENT32_SGIX* = 0x000081A7 - - #***** GL_SGIX_fog_offset *****// -const - GL_FOG_OFFSET_SGIX* = 0x00008198 - GL_FOG_OFFSET_VALUE_SGIX* = 0x00008199 - - #***** GL_SGIX_interlace *****// -const - GL_INTERLACE_SGIX* = 0x00008094 - - #***** GL_SGIX_shadow_ambient *****// -const - GL_SHADOW_AMBIENT_SGIX* = 0x000080BF - - #***** GL_SGI_color_matrix *****// -const - GL_COLOR_MATRIX_SGI* = 0x000080B1 - GL_COLOR_MATRIX_STACK_DEPTH_SGI* = 0x000080B2 - GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI* = 0x000080B3 - GL_POST_COLOR_MATRIX_RED_SCALE_SGI* = 0x000080B4 - GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI* = 0x000080B5 - GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI* = 0x000080B6 - GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI* = 0x000080B7 - GL_POST_COLOR_MATRIX_RED_BIAS_SGI* = 0x000080B8 - GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI* = 0x000080B9 - GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI* = 0x000080BA - GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI* = 0x000080BB - - #***** GL_SGI_color_table *****// -const - constGL_COLOR_TABLE_SGI* = 0x000080D0 - GL_POST_CONVOLUTION_COLOR_TABLE_SGI* = 0x000080D1 - GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI* = 0x000080D2 - GL_PROXY_COLOR_TABLE_SGI* = 0x000080D3 - GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI* = 0x000080D4 - GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI* = 0x000080D5 - GL_COLOR_TABLE_SCALE_SGI* = 0x000080D6 - GL_COLOR_TABLE_BIAS_SGI* = 0x000080D7 - GL_COLOR_TABLE_FORMAT_SGI* = 0x000080D8 - GL_COLOR_TABLE_WIDTH_SGI* = 0x000080D9 - GL_COLOR_TABLE_RED_SIZE_SGI* = 0x000080DA - GL_COLOR_TABLE_GREEN_SIZE_SGI* = 0x000080DB - GL_COLOR_TABLE_BLUE_SIZE_SGI* = 0x000080DC - GL_COLOR_TABLE_ALPHA_SIZE_SGI* = 0x000080DD - GL_COLOR_TABLE_LUMINANCE_SIZE_SGI* = 0x000080DE - GL_COLOR_TABLE_INTENSITY_SIZE_SGI* = 0x000080DF - -proc glColorTableSGI*(target: TGLenum, internalformat: TGLenum, width: TGLsizei, - format: TGLenum, thetype: TGLenum, table: PGLvoid){. - dynlib: dllname, importc.} -proc glCopyColorTableSGI*(target: TGLenum, internalformat: TGLenum, x: TGLint, - y: TGLint, width: TGLsizei){.dynlib: dllname, importc.} -proc glColorTableParameterivSGI*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glColorTableParameterfvSGI*(target: TGLenum, pname: TGLenum, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetColorTableSGI*(target: TGLenum, format: TGLenum, thetype: TGLenum, - table: PGLvoid){.dynlib: dllname, importc.} -proc glGetColorTableParameterivSGI*(target: TGLenum, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glGetColorTableParameterfvSGI*(target: TGLenum, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} - #***** GL_SGI_texture_color_table *****// -const - GL_TEXTURE_COLOR_TABLE_SGI* = 0x000080BC - GL_PROXY_TEXTURE_COLOR_TABLE_SGI* = 0x000080BD - - #***** GL_SUN_vertex *****// -proc glColor4ubVertex2fSUN*(r: TGLubyte, g: TGLubyte, b: TGLubyte, a: TGLubyte, - x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.} -proc glColor4ubVertex2fvSUN*(c: PGLubyte, v: PGLfloat){.dynlib: dllname, importc.} -proc glColor4ubVertex3fSUN*(r: TGLubyte, g: TGLubyte, b: TGLubyte, a: TGLubyte, - x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glColor4ubVertex3fvSUN*(c: PGLubyte, v: PGLfloat){.dynlib: dllname, importc.} -proc glColor3fVertex3fSUN*(r: TGLfloat, g: TGLfloat, b: TGLfloat, x: TGLfloat, - y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.} -proc glColor3fVertex3fvSUN*(c: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.} -proc glNormal3fVertex3fSUN*(nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, x: TGLfloat, - y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.} -proc glNormal3fVertex3fvSUN*(n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.} -proc glColor4fNormal3fVertex3fSUN*(r: TGLfloat, g: TGLfloat, b: TGLfloat, - a: TGLfloat, nx: TGLfloat, ny: TGLfloat, - nz: TGLfloat, x: TGLfloat, y: TGLfloat, - z: TGLfloat){.dynlib: dllname, importc.} -proc glColor4fNormal3fVertex3fvSUN*(c: PGLfloat, n: PGLfloat, v: PGLfloat){. - dynlib: dllname, importc.} -proc glTexCoord2fVertex3fSUN*(s: TGLfloat, t: TGLfloat, x: TGLfloat, y: TGLfloat, - z: TGLfloat){.dynlib: dllname, importc.} -proc glTexCoord2fVertex3fvSUN*(tc: PGLfloat, v: PGLfloat){.dynlib: dllname, - importc.} -proc glTexCoord4fVertex4fSUN*(s: TGLfloat, t: TGLfloat, p: TGLfloat, q: TGLfloat, - x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){. - dynlib: dllname, importc.} -proc glTexCoord4fVertex4fvSUN*(tc: PGLfloat, v: PGLfloat){.dynlib: dllname, - importc.} -proc glTexCoord2fColor4ubVertex3fSUN*(s: TGLfloat, t: TGLfloat, r: TGLubyte, - g: TGLubyte, b: TGLubyte, a: TGLubyte, - x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glTexCoord2fColor4ubVertex3fvSUN*(tc: PGLfloat, c: PGLubyte, v: PGLfloat){. - dynlib: dllname, importc.} -proc glTexCoord2fColor3fVertex3fSUN*(s: TGLfloat, t: TGLfloat, r: TGLfloat, - g: TGLfloat, b: TGLfloat, x: TGLfloat, - y: TGLfloat, z: TGLfloat){.dynlib: dllname, - importc.} -proc glTexCoord2fColor3fVertex3fvSUN*(tc: PGLfloat, c: PGLfloat, v: PGLfloat){. - dynlib: dllname, importc.} -proc glTexCoord2fNormal3fVertex3fSUN*(s: TGLfloat, t: TGLfloat, nx: TGLfloat, - ny: TGLfloat, nz: TGLfloat, x: TGLfloat, - y: TGLfloat, z: TGLfloat){.dynlib: dllname, - importc.} -proc glTexCoord2fNormal3fVertex3fvSUN*(tc: PGLfloat, n: PGLfloat, v: PGLfloat){. - dynlib: dllname, importc.} -proc glTexCoord2fColor4fNormal3fVertex3fSUN*(s: TGLfloat, t: TGLfloat, r: TGLfloat, - g: TGLfloat, b: TGLfloat, a: TGLfloat, nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, - x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.} -proc glTexCoord2fColor4fNormal3fVertex3fvSUN*(tc: PGLfloat, c: PGLfloat, - n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.} -proc glTexCoord4fColor4fNormal3fVertex4fSUN*(s: TGLfloat, t: TGLfloat, p: TGLfloat, - q: TGLfloat, r: TGLfloat, g: TGLfloat, b: TGLfloat, a: TGLfloat, nx: TGLfloat, - ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){. - dynlib: dllname, importc.} -proc glTexCoord4fColor4fNormal3fVertex4fvSUN*(tc: PGLfloat, c: PGLfloat, - n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiVertex3fSUN*(rc: TGLuint, x: TGLfloat, y: TGLfloat, - z: TGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiVertex3fvSUN*(rc: PGLuint, v: PGLfloat){. - dynlib: dllname, importc.} -proc glReplacementCodeuiColor4ubVertex3fSUN*(rc: TGLuint, r: TGLubyte, g: TGLubyte, - b: TGLubyte, a: TGLubyte, x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glReplacementCodeuiColor4ubVertex3fvSUN*(rc: PGLuint, c: PGLubyte, - v: PGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiColor3fVertex3fSUN*(rc: TGLuint, r: TGLfloat, g: TGLfloat, - b: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiColor3fVertex3fvSUN*(rc: PGLuint, c: PGLfloat, - v: PGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiNormal3fVertex3fSUN*(rc: TGLuint, nx: TGLfloat, - ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glReplacementCodeuiNormal3fVertex3fvSUN*(rc: PGLuint, n: PGLfloat, - v: PGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiColor4fNormal3fVertex3fSUN*(rc: TGLuint, r: TGLfloat, - g: TGLfloat, b: TGLfloat, a: TGLfloat, nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, - x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiColor4fNormal3fVertex3fvSUN*(rc: PGLuint, c: PGLfloat, - n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiTexCoord2fVertex3fSUN*(rc: TGLuint, s: TGLfloat, - t: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiTexCoord2fVertex3fvSUN*(rc: PGLuint, tc: PGLfloat, - v: PGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN*(rc: TGLuint, s: TGLfloat, - t: TGLfloat, nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, - z: TGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN*(rc: PGLuint, - tc: PGLfloat, n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.} -proc glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN*(rc: TGLuint, - s: TGLfloat, t: TGLfloat, r: TGLfloat, g: TGLfloat, b: TGLfloat, a: TGLfloat, - nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){. - dynlib: dllname, importc.} -proc glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN*(rc: PGLuint, - tc: PGLfloat, c: PGLfloat, n: PGLfloat, v: PGLfloat){.dynlib: dllname, - importc.} - #***** GL_ARB_fragment_program *****// -const - GL_FRAGMENT_PROGRAM_ARB* = 0x00008804 # GL_PROGRAM_FORMAT_ASCII_ARB { already defined } - # GL_PROGRAM_LENGTH_ARB { already defined } - # GL_PROGRAM_FORMAT_ARB { already defined } - # GL_PROGRAM_BINDING_ARB { already defined } - # GL_PROGRAM_INSTRUCTIONS_ARB { already defined } - # GL_MAX_PROGRAM_INSTRUCTIONS_ARB { already defined } - # GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB { already defined } - # GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB { already defined } - # GL_PROGRAM_TEMPORARIES_ARB { already defined } - # GL_MAX_PROGRAM_TEMPORARIES_ARB { already defined } - # GL_PROGRAM_NATIVE_TEMPORARIES_ARB { already defined } - # GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB { already defined } - # GL_PROGRAM_PARAMETERS_ARB { already defined } - # GL_MAX_PROGRAM_PARAMETERS_ARB { already defined } - # GL_PROGRAM_NATIVE_PARAMETERS_ARB { already defined } - # GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB { already defined } - # GL_PROGRAM_ATTRIBS_ARB { already defined } - # GL_MAX_PROGRAM_ATTRIBS_ARB { already defined } - # GL_PROGRAM_NATIVE_ATTRIBS_ARB { already defined } - # GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB { already defined } - # GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB { already defined } - # GL_MAX_PROGRAM_ENV_PARAMETERS_ARB { already defined } - # GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB { already defined } - GL_PROGRAM_ALU_INSTRUCTIONS_ARB* = 0x00008805 - GL_PROGRAM_TEX_INSTRUCTIONS_ARB* = 0x00008806 - GL_PROGRAM_TEX_INDIRECTIONS_ARB* = 0x00008807 - GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB* = 0x00008808 - GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB* = 0x00008809 - GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB* = 0x0000880A - GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB* = 0x0000880B - GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB* = 0x0000880C - GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB* = 0x0000880D - GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB* = 0x0000880E - GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB* = 0x0000880F - GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB* = 0x00008810 # GL_PROGRAM_STRING_ARB { already defined } - # - # GL_PROGRAM_ERROR_POSITION_ARB { already defined } - # GL_CURRENT_MATRIX_ARB { already defined } - # - # GL_TRANSPOSE_CURRENT_MATRIX_ARB { already defined } - # - # GL_CURRENT_MATRIX_STACK_DEPTH_ARB { already defined } - # - # GL_MAX_PROGRAM_MATRICES_ARB { already defined } - # - # GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB { already defined } - GL_MAX_TEXTURE_COORDS_ARB* = 0x00008871 - GL_MAX_TEXTURE_IMAGE_UNITS_ARB* = 0x00008872 # GL_PROGRAM_ERROR_STRING_ARB { already defined } - # GL_MATRIX0_ARB { already defined } - # GL_MATRIX1_ARB { already defined } - # GL_MATRIX2_ARB { already defined } - # GL_MATRIX3_ARB { already defined } - # GL_MATRIX4_ARB { already defined } - # GL_MATRIX5_ARB { already defined } - # GL_MATRIX6_ARB { already defined } - # GL_MATRIX7_ARB { already defined } - # GL_MATRIX8_ARB { already defined } - # GL_MATRIX9_ARB { already defined } - # GL_MATRIX10_ARB { already defined } - # GL_MATRIX11_ARB { already defined } - # GL_MATRIX12_ARB { already defined } - # GL_MATRIX13_ARB { already defined } - # GL_MATRIX14_ARB { already defined } - # GL_MATRIX15_ARB { already defined } - # GL_MATRIX16_ARB { already defined } - # GL_MATRIX17_ARB { already defined } - # GL_MATRIX18_ARB { already defined } - # GL_MATRIX19_ARB { already defined } - # GL_MATRIX20_ARB { already defined } - # GL_MATRIX21_ARB { already defined } - # GL_MATRIX22_ARB { already defined } - # GL_MATRIX23_ARB { already defined } - # GL_MATRIX24_ARB { already defined } - # GL_MATRIX25_ARB { already defined } - # GL_MATRIX26_ARB { already defined } - # GL_MATRIX27_ARB { already defined } - # GL_MATRIX28_ARB { already defined } - # GL_MATRIX29_ARB { already defined } - # GL_MATRIX30_ARB { already defined } - # GL_MATRIX31_ARB { already defined } - # glProgramStringARB { already defined } - # glBindProgramARB { already defined } - # glDeleteProgramsARB { already defined } - # glGenProgramsARB { already defined } - # glProgramEnvParameter4dARB { already defined } - # glProgramEnvParameter4dvARB { already defined } - # glProgramEnvParameter4fARB { already defined } - # glProgramEnvParameter4fvARB { already defined } - # glProgramLocalParameter4dARB { already defined } - # glProgramLocalParameter4dvARB { already defined } - # glProgramLocalParameter4fARB { already defined } - # glProgramLocalParameter4fvARB { already defined } - # glGetProgramEnvParameterdvARB { already defined } - # glGetProgramEnvParameterfvARB { already defined } - # glGetProgramLocalParameterdvARB { already defined } - # glGetProgramLocalParameterfvARB { already defined } - # glGetProgramivARB { already defined } - # glGetProgramStringARB { already defined } - # glIsProgramARB { already defined } - - #***** GL_ATI_text_fragment_shader ***** -const - GL_TEXT_FRAGMENT_SHADER_ATI* = 0x00008200 #***** GL_ARB_vertex_buffer_object ***** - -const - GL_BUFFER_SIZE_ARB* = 0x00008764 - GL_BUFFER_USAGE_ARB* = 0x00008765 - GL_ARRAY_BUFFER_ARB* = 0x00008892 - GL_ELEMENT_ARRAY_BUFFER_ARB* = 0x00008893 - GL_ARRAY_BUFFER_BINDING_ARB* = 0x00008894 - GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB* = 0x00008895 - GL_VERTEX_ARRAY_BUFFER_BINDING_ARB* = 0x00008896 - GL_NORMAL_ARRAY_BUFFER_BINDING_ARB* = 0x00008897 - GL_COLOR_ARRAY_BUFFER_BINDING_ARB* = 0x00008898 - GL_INDEX_ARRAY_BUFFER_BINDING_ARB* = 0x00008899 - GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB* = 0x0000889A - GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB* = 0x0000889B - GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB* = 0x0000889C - GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB* = 0x0000889D - GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB* = 0x0000889E - GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB* = 0x0000889F - GL_READ_ONLY_ARB* = 0x000088B8 - GL_WRITE_ONLY_ARB* = 0x000088B9 - GL_READ_WRITE_ARB* = 0x000088BA - GL_BUFFER_ACCESS_ARB* = 0x000088BB - GL_BUFFER_MAPPED_ARB* = 0x000088BC - GL_BUFFER_MAP_POINTER_ARB* = 0x000088BD - GL_STREAM_DRAW_ARB* = 0x000088E0 - GL_STREAM_READ_ARB* = 0x000088E1 - GL_STREAM_COPY_ARB* = 0x000088E2 - GL_STATIC_DRAW_ARB* = 0x000088E4 - GL_STATIC_READ_ARB* = 0x000088E5 - GL_STATIC_COPY_ARB* = 0x000088E6 - GL_DYNAMIC_DRAW_ARB* = 0x000088E8 - GL_DYNAMIC_READ_ARB* = 0x000088E9 - GL_DYNAMIC_COPY_ARB* = 0x000088EA - -proc glBindBufferARB*(target: TGLenum, buffer: TGLuint){.dynlib: dllname, importc.} -proc glDeleteBuffersARB*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.} -proc glGenBuffersARB*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.} -proc glIsBufferARB*(buffer: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glBufferDataARB*(target: TGLenum, size: TGLsizei, data: PGLvoid, - usage: TGLenum){.dynlib: dllname, importc.} -proc glBufferSubDataARB*(target: TGLenum, offset: TGLint, size: TGLsizei, - data: PGLvoid){.dynlib: dllname, importc.} -proc glGetBufferSubDataARB*(target: TGLenum, offset: TGLint, size: TGLsizei, - data: PGLvoid){.dynlib: dllname, importc.} -proc glMapBufferARB*(target: TGLenum, access: TGLenum): PGLvoid{.dynlib: dllname, - importc.} -proc glUnmapBufferARB*(target: TGLenum): TGLboolean{.dynlib: dllname, importc.} -proc glGetBufferParameterivARB*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetBufferPointervARB*(target: TGLenum, pname: TGLenum, params: PPGLvoid){. - dynlib: dllname, importc.} - #***** GL_APPLE_client_storage *****// -const - GL_UNPACK_CLIENT_STORAGE_APPLE* = 0x000085B2 - - #***** GL_APPLE_element_array *****// -const - GL_ELEMENT_ARRAY_APPLE* = 0x00008768 - GL_ELEMENT_ARRAY_TYPE_APPLE* = 0x00008769 - GL_ELEMENT_ARRAY_POINTER_APPLE* = 0x0000876A - -proc glElementPointerAPPLE*(thetype: TGLenum, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glDrawElementArrayAPPLE*(mode: TGLenum, first: TGLint, count: TGLsizei){. - dynlib: dllname, importc.} -proc glDrawRangeElementArrayAPPLE*(mode: TGLenum, start: TGLuint, theend: TGLuint, - first: TGLint, count: TGLsizei){. - dynlib: dllname, importc.} -proc glMultiDrawElementArrayAPPLE*(mode: TGLenum, first: PGLint, count: PGLsizei, - primcount: TGLsizei){.dynlib: dllname, importc.} -proc glMultiDrawRangeElementArrayAPPLE*(mode: TGLenum, start: TGLuint, - theend: TGLuint, first: PGLint, - count: PGLsizei, primcount: TGLsizei){. - dynlib: dllname, importc.} - #***** GL_APPLE_fence *****// -const - GL_DRAW_PIXELS_APPLE* = 0x00008A0A - GL_FENCE_APPLE* = 0x00008A0B - -proc glGenFencesAPPLE*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.} -proc glDeleteFencesAPPLE*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.} -proc glSetFenceAPPLE*(fence: TGLuint){.dynlib: dllname, importc.} -proc glIsFenceAPPLE*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glTestFenceAPPLE*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glFinishFenceAPPLE*(fence: TGLuint){.dynlib: dllname, importc.} -proc glTestObjectAPPLE*(theobject: TGLenum, name: TGLuint): TGLboolean{. - dynlib: dllname, importc.} -proc glFinishObjectAPPLE*(theobject: TGLenum, name: TGLint){.dynlib: dllname, - importc.} - #***** GL_APPLE_vertex_array_object *****// -const - GL_VERTEX_ARRAY_BINDING_APPLE* = 0x000085B5 - -proc glBindVertexArrayAPPLE*(thearray: TGLuint){.dynlib: dllname, importc.} -proc glDeleteVertexArraysAPPLE*(n: TGLsizei, arrays: PGLuint){.dynlib: dllname, - importc.} -proc glGenVertexArraysAPPLE*(n: TGLsizei, arrays: PGLuint){.dynlib: dllname, - importc.} -proc glIsVertexArrayAPPLE*(thearray: TGLuint): TGLboolean{.dynlib: dllname, - importc.} - #***** GL_APPLE_vertex_array_range *****// -const - constGL_VERTEX_ARRAY_RANGE_APPLE* = 0x0000851D - GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE* = 0x0000851E - GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE* = 0x00008520 - GL_VERTEX_ARRAY_RANGE_POINTER_APPLE* = 0x00008521 - GL_VERTEX_ARRAY_STORAGE_HINT_APPLE* = 0x0000851F - GL_STORAGE_CACHED_APPLE* = 0x000085BE - GL_STORAGE_SHARED_APPLE* = 0x000085BF - -proc glVertexArrayRangeAPPLE*(len: TGLsizei, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glFlushVertexArrayRangeAPPLE*(len: TGLsizei, pointer: PGLvoid){. - dynlib: dllname, importc.} -proc glVertexArrayParameteriAPPLE*(pname: TGLenum, param: TGLint){. - dynlib: dllname, importc.} - #***** GL_ARB_matrix_palette *****// -const - GL_MATRIX_PALETTE_ARB* = 0x00008840 - GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB* = 0x00008841 - GL_MAX_PALETTE_MATRICES_ARB* = 0x00008842 - constGL_CURRENT_PALETTE_MATRIX_ARB* = 0x00008843 - GL_MATRIX_INDEX_ARRAY_ARB* = 0x00008844 - GL_CURRENT_MATRIX_INDEX_ARB* = 0x00008845 - GL_MATRIX_INDEX_ARRAY_SIZE_ARB* = 0x00008846 - GL_MATRIX_INDEX_ARRAY_TYPE_ARB* = 0x00008847 - GL_MATRIX_INDEX_ARRAY_STRIDE_ARB* = 0x00008848 - GL_MATRIX_INDEX_ARRAY_POINTER_ARB* = 0x00008849 - -proc glCurrentPaletteMatrixARB*(index: TGLint){.dynlib: dllname, importc.} -proc glMatrixIndexubvARB*(size: TGLint, indices: PGLubyte){.dynlib: dllname, - importc.} -proc glMatrixIndexusvARB*(size: TGLint, indices: PGLushort){.dynlib: dllname, - importc.} -proc glMatrixIndexuivARB*(size: TGLint, indices: PGLuint){.dynlib: dllname, - importc.} -proc glMatrixIndexPointerARB*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} - #***** GL_NV_element_array *****// -const - GL_ELEMENT_ARRAY_TYPE_NV* = 0x00008769 - GL_ELEMENT_ARRAY_POINTER_NV* = 0x0000876A - -proc glElementPointerNV*(thetype: TGLenum, pointer: PGLvoid){.dynlib: dllname, - importc.} -proc glDrawElementArrayNV*(mode: TGLenum, first: TGLint, count: TGLsizei){. - dynlib: dllname, importc.} -proc glDrawRangeElementArrayNV*(mode: TGLenum, start: TGLuint, theend: TGLuint, - first: TGLint, count: TGLsizei){.dynlib: dllname, - importc.} -proc glMultiDrawElementArrayNV*(mode: TGLenum, first: PGLint, count: PGLsizei, - primcount: TGLsizei){.dynlib: dllname, importc.} -proc glMultiDrawRangeElementArrayNV*(mode: TGLenum, start: TGLuint, - theend: TGLuint, first: PGLint, - count: PGLsizei, primcount: TGLsizei){. - dynlib: dllname, importc.} - #***** GL_NV_float_buffer *****// -const - GL_FLOAT_R_NV* = 0x00008880 - GL_FLOAT_RG_NV* = 0x00008881 - GL_FLOAT_RGB_NV* = 0x00008882 - GL_FLOAT_RGBA_NV* = 0x00008883 - GL_FLOAT_R16_NV* = 0x00008884 - GL_FLOAT_R32_NV* = 0x00008885 - GL_FLOAT_RG16_NV* = 0x00008886 - GL_FLOAT_RG32_NV* = 0x00008887 - GL_FLOAT_RGB16_NV* = 0x00008888 - GL_FLOAT_RGB32_NV* = 0x00008889 - GL_FLOAT_RGBA16_NV* = 0x0000888A - GL_FLOAT_RGBA32_NV* = 0x0000888B - GL_TEXTURE_FLOAT_COMPONENTS_NV* = 0x0000888C - GL_FLOAT_CLEAR_COLOR_VALUE_NV* = 0x0000888D - GL_FLOAT_RGBA_MODE_NV* = 0x0000888E - - #***** GL_NV_fragment_program *****// -const - GL_FRAGMENT_PROGRAM_NV* = 0x00008870 - GL_MAX_TEXTURE_COORDS_NV* = 0x00008871 - GL_MAX_TEXTURE_IMAGE_UNITS_NV* = 0x00008872 - GL_FRAGMENT_PROGRAM_BINDING_NV* = 0x00008873 - GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV* = 0x00008868 - GL_PROGRAM_ERROR_STRING_NV* = 0x00008874 - -proc glProgramNamedParameter4fNV*(id: TGLuint, length: TGLsizei, name: PGLubyte, - x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){. - dynlib: dllname, importc.} -proc glProgramNamedParameter4dNV*(id: TGLuint, length: TGLsizei, name: PGLubyte, - x: TGLdouble, y: TGLdouble, z: TGLdouble, - w: TGLdouble){.dynlib: dllname, importc.} -proc glGetProgramNamedParameterfvNV*(id: TGLuint, length: TGLsizei, - name: PGLubyte, params: PGLfloat){. - dynlib: dllname, importc.} -proc glGetProgramNamedParameterdvNV*(id: TGLuint, length: TGLsizei, - name: PGLubyte, params: PGLdouble){. - dynlib: dllname, importc.} - # glProgramLocalParameter4dARB { already defined } - # glProgramLocalParameter4dvARB { already defined } - # glProgramLocalParameter4fARB { already defined } - # glProgramLocalParameter4fvARB { already defined } - # glGetProgramLocalParameterdvARB { already defined } - # glGetProgramLocalParameterfvARB { already defined } - #***** GL_NV_primitive_restart *****// -const - constGL_PRIMITIVE_RESTART_NV* = 0x00008558 - constGL_PRIMITIVE_RESTART_INDEX_NV* = 0x00008559 - -proc glPrimitiveRestartNV*(){.dynlib: dllname, importc.} -proc glPrimitiveRestartIndexNV*(index: TGLuint){.dynlib: dllname, importc.} - #***** GL_NV_vertex_program2 *****// - #***** GL_NV_pixel_data_range *****// -const - GL_WRITE_PIXEL_DATA_RANGE_NV* = 0x00008878 - GL_READ_PIXEL_DATA_RANGE_NV* = 0x00008879 - GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV* = 0x0000887A - GL_READ_PIXEL_DATA_RANGE_LENGTH_NV* = 0x0000887B - GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV* = 0x0000887C - GL_READ_PIXEL_DATA_RANGE_POINTER_NV* = 0x0000887D - -proc glPixelDataRangeNV*(target: TGLenum, len: TGLsizei, pointer: PGLvoid){. - dynlib: dllname, importc.} -proc glFlushPixelDataRangeNV*(target: TGLenum){.dynlib: dllname, importc.} - # wglAllocateMemoryNV { already defined } - # wglFreeMemoryNV { already defined } - #***** GL_EXT_texture_rectangle *****// -const - GL_TEXTURE_RECTANGLE_EXT* = 0x000084F5 - GL_TEXTURE_BINDING_RECTANGLE_EXT* = 0x000084F6 - GL_PROXY_TEXTURE_RECTANGLE_EXT* = 0x000084F7 - GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT* = 0x000084F8 - - #***** GL_S3_s3tc *****// -const - GL_RGB_S3TC* = 0x000083A0 - GL_RGB4_S3TC* = 0x000083A1 - GL_RGBA_S3TC* = 0x000083A2 - GL_RGBA4_S3TC* = 0x000083A3 - - #***** GL_ATI_draw_buffers *****// -const - GL_MAX_DRAW_BUFFERS_ATI* = 0x00008824 - GL_DRAW_BUFFER0_ATI* = 0x00008825 - GL_DRAW_BUFFER1_ATI* = 0x00008826 - GL_DRAW_BUFFER2_ATI* = 0x00008827 - GL_DRAW_BUFFER3_ATI* = 0x00008828 - GL_DRAW_BUFFER4_ATI* = 0x00008829 - GL_DRAW_BUFFER5_ATI* = 0x0000882A - GL_DRAW_BUFFER6_ATI* = 0x0000882B - GL_DRAW_BUFFER7_ATI* = 0x0000882C - GL_DRAW_BUFFER8_ATI* = 0x0000882D - GL_DRAW_BUFFER9_ATI* = 0x0000882E - GL_DRAW_BUFFER10_ATI* = 0x0000882F - GL_DRAW_BUFFER11_ATI* = 0x00008830 - GL_DRAW_BUFFER12_ATI* = 0x00008831 - GL_DRAW_BUFFER13_ATI* = 0x00008832 - GL_DRAW_BUFFER14_ATI* = 0x00008833 - GL_DRAW_BUFFER15_ATI* = 0x00008834 - -proc glDrawBuffersATI*(n: TGLsizei, bufs: PGLenum){.dynlib: dllname, importc.} - #***** GL_ATI_texture_env_combine3 *****// -const - GL_MODULATE_ADD_ATI* = 0x00008744 - GL_MODULATE_SIGNED_ADD_ATI* = 0x00008745 - GL_MODULATE_SUBTRACT_ATI* = 0x00008746 - - #***** GL_ATI_texture_float *****// -const - GL_RGBA_FLOAT32_ATI* = 0x00008814 - GL_RGB_FLOAT32_ATI* = 0x00008815 - GL_ALPHA_FLOAT32_ATI* = 0x00008816 - GL_INTENSITY_FLOAT32_ATI* = 0x00008817 - GL_LUMINANCE_FLOAT32_ATI* = 0x00008818 - GL_LUMINANCE_ALPHA_FLOAT32_ATI* = 0x00008819 - GL_RGBA_FLOAT16_ATI* = 0x0000881A - GL_RGB_FLOAT16_ATI* = 0x0000881B - GL_ALPHA_FLOAT16_ATI* = 0x0000881C - GL_INTENSITY_FLOAT16_ATI* = 0x0000881D - GL_LUMINANCE_FLOAT16_ATI* = 0x0000881E - GL_LUMINANCE_ALPHA_FLOAT16_ATI* = 0x0000881F - - #***** GL_NV_texture_expand_normal *****// -const - GL_TEXTURE_UNSIGNED_REMAP_MODE_NV* = 0x0000888F - - #***** GL_NV_half_float *****// -const - GL_HALF_FLOAT_NV* = 0x0000140B - -proc glVertex2hNV*(x: TGLushort, y: TGLushort){.dynlib: dllname, importc.} -proc glVertex2hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glVertex3hNV*(x: TGLushort, y: TGLushort, z: TGLushort){.dynlib: dllname, - importc.} -proc glVertex3hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glVertex4hNV*(x: TGLushort, y: TGLushort, z: TGLushort, w: TGLushort){. - dynlib: dllname, importc.} -proc glVertex4hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glNormal3hNV*(nx: TGLushort, ny: TGLushort, nz: TGLushort){.dynlib: dllname, - importc.} -proc glNormal3hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glColor3hNV*(red: TGLushort, green: TGLushort, blue: TGLushort){. - dynlib: dllname, importc.} -proc glColor3hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glColor4hNV*(red: TGLushort, green: TGLushort, blue: TGLushort, - alpha: TGLushort){.dynlib: dllname, importc.} -proc glColor4hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glTexCoord1hNV*(s: TGLushort){.dynlib: dllname, importc.} -proc glTexCoord1hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glTexCoord2hNV*(s: TGLushort, t: TGLushort){.dynlib: dllname, importc.} -proc glTexCoord2hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glTexCoord3hNV*(s: TGLushort, t: TGLushort, r: TGLushort){.dynlib: dllname, - importc.} -proc glTexCoord3hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glTexCoord4hNV*(s: TGLushort, t: TGLushort, r: TGLushort, q: TGLushort){. - dynlib: dllname, importc.} -proc glTexCoord4hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glMultiTexCoord1hNV*(target: TGLenum, s: TGLushort){.dynlib: dllname, importc.} -proc glMultiTexCoord1hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, - importc.} -proc glMultiTexCoord2hNV*(target: TGLenum, s: TGLushort, t: TGLushort){. - dynlib: dllname, importc.} -proc glMultiTexCoord2hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, - importc.} -proc glMultiTexCoord3hNV*(target: TGLenum, s: TGLushort, t: TGLushort, r: TGLushort){. - dynlib: dllname, importc.} -proc glMultiTexCoord3hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, - importc.} -proc glMultiTexCoord4hNV*(target: TGLenum, s: TGLushort, t: TGLushort, r: TGLushort, - q: TGLushort){.dynlib: dllname, importc.} -proc glMultiTexCoord4hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, - importc.} -proc glFogCoordhNV*(fog: TGLushort){.dynlib: dllname, importc.} -proc glFogCoordhvNV*(fog: PGLushort){.dynlib: dllname, importc.} -proc glSecondaryColor3hNV*(red: TGLushort, green: TGLushort, blue: TGLushort){. - dynlib: dllname, importc.} -proc glSecondaryColor3hvNV*(v: PGLushort){.dynlib: dllname, importc.} -proc glVertexWeighthNV*(weight: TGLushort){.dynlib: dllname, importc.} -proc glVertexWeighthvNV*(weight: PGLushort){.dynlib: dllname, importc.} -proc glVertexAttrib1hNV*(index: TGLuint, x: TGLushort){.dynlib: dllname, importc.} -proc glVertexAttrib1hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.} -proc glVertexAttrib2hNV*(index: TGLuint, x: TGLushort, y: TGLushort){. - dynlib: dllname, importc.} -proc glVertexAttrib2hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.} -proc glVertexAttrib3hNV*(index: TGLuint, x: TGLushort, y: TGLushort, z: TGLushort){. - dynlib: dllname, importc.} -proc glVertexAttrib3hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.} -proc glVertexAttrib4hNV*(index: TGLuint, x: TGLushort, y: TGLushort, z: TGLushort, - w: TGLushort){.dynlib: dllname, importc.} -proc glVertexAttrib4hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.} -proc glVertexAttribs1hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){. - dynlib: dllname, importc.} -proc glVertexAttribs2hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){. - dynlib: dllname, importc.} -proc glVertexAttribs3hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){. - dynlib: dllname, importc.} -proc glVertexAttribs4hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){. - dynlib: dllname, importc.} - #***** GL_ATI_map_object_buffer *****// -proc glMapObjectBufferATI*(buffer: TGLuint): PGLvoid{.dynlib: dllname, importc.} -proc glUnmapObjectBufferATI*(buffer: TGLuint){.dynlib: dllname, importc.} - #***** GL_ATI_separate_stencil *****// -const - GL_KEEP* = 0x00001E00 - GL_ZERO* = 0x00000000 - GL_REPLACE* = 0x00001E01 - GL_INCR* = 0x00001E02 - GL_DECR* = 0x00001E03 - GL_INVERT* = 0x0000150A - GL_NEVER* = 0x00000200 - GL_LESS* = 0x00000201 - GL_LEQUAL* = 0x00000203 - GL_GREATER* = 0x00000204 - GL_GEQUAL* = 0x00000206 - GL_EQUAL* = 0x00000202 - GL_NOTEQUAL* = 0x00000205 - GL_ALWAYS* = 0x00000207 - GL_FRONT* = 0x00000404 - GL_BACK* = 0x00000405 - GL_FRONT_AND_BACK* = 0x00000408 - GL_STENCIL_BACK_FUNC_ATI* = 0x00008800 - GL_STENCIL_BACK_FAIL_ATI* = 0x00008801 - GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI* = 0x00008802 - GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI* = 0x00008803 - -proc glStencilOpSeparateATI*(face: TGLenum, sfail: TGLenum, dpfail: TGLenum, - dppass: TGLenum){.dynlib: dllname, importc.} -proc glStencilFuncSeparateATI*(frontfunc: TGLenum, backfunc: TGLenum, theRef: TGLint, - mask: TGLuint){.dynlib: dllname, importc.} - #***** GL_ATI_vertex_attrib_array_object *****// -proc glVertexAttribArrayObjectATI*(index: TGLuint, size: TGLint, thetype: TGLenum, - normalized: TGLboolean, stride: TGLsizei, - buffer: TGLuint, offset: TGLuint){. - dynlib: dllname, importc.} -proc glGetVertexAttribArrayObjectfvATI*(index: TGLuint, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, - importc.} -proc glGetVertexAttribArrayObjectivATI*(index: TGLuint, pname: TGLenum, - params: PGLint){.dynlib: dllname, - importc.} - #***** GL_ARB_occlusion_query *****// -const - GL_SAMPLES_PASSED_ARB* = 0x00008914 - GL_QUERY_COUNTER_BITS_ARB* = 0x00008864 - GL_CURRENT_QUERY_ARB* = 0x00008865 - GL_QUERY_RESULT_ARB* = 0x00008866 - GL_QUERY_RESULT_AVAILABLE_ARB* = 0x00008867 - -proc glGenQueriesARB*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.} -proc glDeleteQueriesARB*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.} -proc glIsQueryARB*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glBeginQueryARB*(target: TGLenum, id: TGLuint){.dynlib: dllname, importc.} -proc glEndQueryARB*(target: TGLenum){.dynlib: dllname, importc.} -proc glGetQueryivARB*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetQueryObjectivARB*(id: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetQueryObjectuivARB*(id: TGLuint, pname: TGLenum, params: PGLuint){. - dynlib: dllname, importc.} - #***** GL_ARB_shader_objects *****// -const - GL_PROGRAM_OBJECT_ARB* = 0x00008B40 - GL_OBJECT_TYPE_ARB* = 0x00008B4E - GL_OBJECT_SUBTYPE_ARB* = 0x00008B4F - GL_OBJECT_DELETE_STATUS_ARB* = 0x00008B80 - GL_OBJECT_COMPILE_STATUS_ARB* = 0x00008B81 - GL_OBJECT_LINK_STATUS_ARB* = 0x00008B82 - GL_OBJECT_VALIDATE_STATUS_ARB* = 0x00008B83 - GL_OBJECT_INFO_LOG_LENGTH_ARB* = 0x00008B84 - GL_OBJECT_ATTACHED_OBJECTS_ARB* = 0x00008B85 - GL_OBJECT_ACTIVE_UNIFORMS_ARB* = 0x00008B86 - GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB* = 0x00008B87 - GL_OBJECT_SHADER_SOURCE_LENGTH_ARB* = 0x00008B88 - GL_SHADER_OBJECT_ARB* = 0x00008B48 - GL_FLOAT* = 0x00001406 - GL_FLOAT_VEC2_ARB* = 0x00008B50 - GL_FLOAT_VEC3_ARB* = 0x00008B51 - GL_FLOAT_VEC4_ARB* = 0x00008B52 - GL_INT* = 0x00001404 - GL_INT_VEC2_ARB* = 0x00008B53 - GL_INT_VEC3_ARB* = 0x00008B54 - GL_INT_VEC4_ARB* = 0x00008B55 - GL_BOOL_ARB* = 0x00008B56 - GL_BOOL_VEC2_ARB* = 0x00008B57 - GL_BOOL_VEC3_ARB* = 0x00008B58 - GL_BOOL_VEC4_ARB* = 0x00008B59 - GL_FLOAT_MAT2_ARB* = 0x00008B5A - GL_FLOAT_MAT3_ARB* = 0x00008B5B - GL_FLOAT_MAT4_ARB* = 0x00008B5C - -proc glDeleteObjectARB*(obj: GLhandleARB){.dynlib: dllname, importc.} -proc glGetHandleARB*(pname: TGLenum): GLhandleARB{.dynlib: dllname, importc.} -proc glDetachObjectARB*(containerObj: GLhandleARB, attachedObj: GLhandleARB){. - dynlib: dllname, importc.} -proc glCreateShaderObjectARB*(shaderType: TGLenum): GLhandleARB{.dynlib: dllname, - importc.} -proc glShaderSourceARB*(shaderObj: GLhandleARB, count: TGLsizei, str: PGLvoid, - len: PGLint){.dynlib: dllname, importc.} -proc glCompileShaderARB*(shaderObj: GLhandleARB){.dynlib: dllname, importc.} -proc glCreateProgramObjectARB*(): GLhandleARB{.dynlib: dllname, importc.} -proc glAttachObjectARB*(containerObj: GLhandleARB, obj: GLhandleARB){. - dynlib: dllname, importc.} -proc glLinkProgramARB*(programObj: GLhandleARB){.dynlib: dllname, importc.} -proc glUseProgramObjectARB*(programObj: GLhandleARB){.dynlib: dllname, importc.} -proc glValidateProgramARB*(programObj: GLhandleARB){.dynlib: dllname, importc.} -proc glUniform1fARB*(location: TGLint, v0: TGLfloat){.dynlib: dllname, importc.} -proc glUniform2fARB*(location: TGLint, v0: TGLfloat, v1: TGLfloat){. - dynlib: dllname, importc.} -proc glUniform3fARB*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat){. - dynlib: dllname, importc.} -proc glUniform4fARB*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat, - v3: TGLfloat){.dynlib: dllname, importc.} -proc glUniform1iARB*(location: TGLint, v0: TGLint){.dynlib: dllname, importc.} -proc glUniform2iARB*(location: TGLint, v0: TGLint, v1: TGLint){.dynlib: dllname, - importc.} -proc glUniform3iARB*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint){. - dynlib: dllname, importc.} -proc glUniform4iARB*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint, v3: TGLint){. - dynlib: dllname, importc.} -proc glUniform1fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform2fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform3fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform4fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniform1ivARB*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniform2ivARB*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniform3ivARB*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniform4ivARB*(location: TGLint, count: TGLsizei, value: PGLint){. - dynlib: dllname, importc.} -proc glUniformMatrix2fvARB*(location: TGLint, count: TGLsizei, - transpose: TGLboolean, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniformMatrix3fvARB*(location: TGLint, count: TGLsizei, - transpose: TGLboolean, value: PGLfloat){. - dynlib: dllname, importc.} -proc glUniformMatrix4fvARB*(location: TGLint, count: TGLsizei, - transpose: TGLboolean, value: PGLfloat){. - dynlib: dllname, importc.} -proc glGetObjectParameterfvARB*(obj: GLhandleARB, pname: TGLenum, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetObjectParameterivARB*(obj: GLhandleARB, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetInfoLogARB*(obj: GLhandleARB, maxLength: TGLsizei, len: PGLsizei, - infoLog: PGLcharARB){.dynlib: dllname, importc.} -proc glGetAttachedObjectsARB*(containerObj: GLhandleARB, maxCount: TGLsizei, - count: PGLsizei, obj: PGLhandleARB){. - dynlib: dllname, importc.} -proc glGetUniformLocationARB*(programObj: GLhandleARB, name: PGLcharARB): TGLint{. - dynlib: dllname, importc.} -proc glGetActiveUniformARB*(programObj: GLhandleARB, index: TGLuint, - maxLength: TGLsizei, len: PGLsizei, size: PGLint, - thetype: PGLenum, name: PGLcharARB){. - dynlib: dllname, importc.} -proc glGetUniformfvARB*(programObj: GLhandleARB, location: TGLint, - params: PGLfloat){.dynlib: dllname, importc.} -proc glGetUniformivARB*(programObj: GLhandleARB, location: TGLint, params: PGLint){. - dynlib: dllname, importc.} -proc glGetShaderSourceARB*(obj: GLhandleARB, maxLength: TGLsizei, len: PGLsizei, - source: PGLcharARB){.dynlib: dllname, importc.} - -const - GL_VERTEX_SHADER_ARB* = 0x00008B31 - GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB* = 0x00008B4A - GL_MAX_VARYING_FLOATS_ARB* = 0x00008B4B # GL_MAX_VERTEX_ATTRIBS_ARB { already defined } - # GL_MAX_TEXTURE_IMAGE_UNITS_ARB { already defined } - GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB* = 0x00008B4C - GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB* = 0x00008B4D # - # GL_MAX_TEXTURE_COORDS_ARB { already defined } - # - # GL_VERTEX_PROGRAM_POINT_SIZE_ARB { already defined } - # - # GL_VERTEX_PROGRAM_TWO_SIDE_ARB { already defined } - # GL_OBJECT_TYPE_ARB { already defined } - # GL_OBJECT_SUBTYPE_ARB { already defined } - GL_OBJECT_ACTIVE_ATTRIBUTES_ARB* = 0x00008B89 - GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB* = 0x00008B8A # GL_SHADER_OBJECT_ARB { already defined } - # - # GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB { already defined } - # - # GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB { already defined } - # - # GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB { already defined } - # - # GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB { already defined } - # - # GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB { already defined } - # - # GL_CURRENT_VERTEX_ATTRIB_ARB { already defined } - # - # GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB { already defined } - # GL_FLOAT { already defined } - # GL_FLOAT_VEC2_ARB { already defined } - # GL_FLOAT_VEC3_ARB { already defined } - # GL_FLOAT_VEC4_ARB { already defined } - # GL_FLOAT_MAT2_ARB { already defined } - # GL_FLOAT_MAT3_ARB { already defined } - # GL_FLOAT_MAT4_ARB { already defined } - # glVertexAttrib1fARB { already defined } - # glVertexAttrib1sARB { already defined } - # glVertexAttrib1dARB { already defined } - # glVertexAttrib2fARB { already defined } - # glVertexAttrib2sARB { already defined } - # glVertexAttrib2dARB { already defined } - # glVertexAttrib3fARB { already defined } - # glVertexAttrib3sARB { already defined } - # glVertexAttrib3dARB { already defined } - # glVertexAttrib4fARB { already defined } - # glVertexAttrib4sARB { already defined } - # glVertexAttrib4dARB { already defined } - # glVertexAttrib4NubARB { already defined } - # glVertexAttrib1fvARB { already defined } - # glVertexAttrib1svARB { already defined } - # glVertexAttrib1dvARB { already defined } - # glVertexAttrib2fvARB { already defined } - # glVertexAttrib2svARB { already defined } - # glVertexAttrib2dvARB { already defined } - # glVertexAttrib3fvARB { already defined } - # glVertexAttrib3svARB { already defined } - # glVertexAttrib3dvARB { already defined } - # glVertexAttrib4fvARB { already defined } - # glVertexAttrib4svARB { already defined } - # glVertexAttrib4dvARB { already defined } - # glVertexAttrib4ivARB { already defined } - # glVertexAttrib4bvARB { already defined } - # glVertexAttrib4ubvARB { already defined } - # glVertexAttrib4usvARB { already defined } - # glVertexAttrib4uivARB { already defined } - # glVertexAttrib4NbvARB { already defined } - # glVertexAttrib4NsvARB { already defined } - # glVertexAttrib4NivARB { already defined } - # glVertexAttrib4NubvARB { already defined } - # glVertexAttrib4NusvARB { already defined } - # glVertexAttrib4NuivARB { already defined } - # - # glVertexAttribPointerARB { already defined } - # - # glEnableVertexAttribArrayARB { already defined } - # - # glDisableVertexAttribArrayARB { already defined } - -proc glBindAttribLocationARB*(programObj: GLhandleARB, index: TGLuint, - name: PGLcharARB){.dynlib: dllname, importc.} -proc glGetActiveAttribARB*(programObj: GLhandleARB, index: TGLuint, - maxLength: TGLsizei, len: PGLsizei, size: PGLint, - thetype: PGLenum, name: PGLcharARB){.dynlib: dllname, - importc.} -proc glGetAttribLocationARB*(programObj: GLhandleARB, name: PGLcharARB): TGLint{. - dynlib: dllname, importc.} - # glGetVertexAttribdvARB { already defined } - # glGetVertexAttribfvARB { already defined } - # glGetVertexAttribivARB { already defined } - # glGetVertexAttribPointervARB { already defined } - #***** GL_ARB_fragment_shader *****// -const - GL_FRAGMENT_SHADER_ARB* = 0x00008B30 - GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB* = 0x00008B49 # GL_MAX_TEXTURE_COORDS_ARB { already defined } - # - # GL_MAX_TEXTURE_IMAGE_UNITS_ARB { already defined } - # GL_OBJECT_TYPE_ARB { already defined } - # GL_OBJECT_SUBTYPE_ARB { already defined } - # GL_SHADER_OBJECT_ARB { already defined } - - #***** GL_ARB_shading_language_100 *****// - #***** GL_ARB_texture_non_power_of_two *****// - #***** GL_ARB_point_sprite *****// -const - GL_POINT_SPRITE_ARB* = 0x00008861 - GL_COORD_REPLACE_ARB* = 0x00008862 - - #***** GL_EXT_depth_bounds_test *****// -const - constGL_DEPTH_BOUNDS_TEST_EXT* = 0x00008890 - constGL_DEPTH_BOUNDS_EXT* = 0x00008891 - -proc glDepthBoundsEXT*(zmin: TGLclampd, zmax: TGLclampd){.dynlib: dllname, importc.} - #***** GL_EXT_texture_mirror_clamp *****// -const - GL_MIRROR_CLAMP_EXT* = 0x00008742 - GL_MIRROR_CLAMP_TO_EDGE_EXT* = 0x00008743 - GL_MIRROR_CLAMP_TO_BORDER_EXT* = 0x00008912 - - #***** GL_EXT_blend_equation_separate *****// -const - GL_BLEND_EQUATION_RGB_EXT* = 0x00008009 - GL_BLEND_EQUATION_ALPHA_EXT* = 0x0000883D - -proc glBlendEquationSeparateEXT*(modeRGB: TGLenum, modeAlpha: TGLenum){. - dynlib: dllname, importc.} - #***** GL_MESA_pack_invert *****// -const - GL_PACK_INVERT_MESA* = 0x00008758 - - #***** GL_MESA_ycbcr_texture *****// -const - GL_YCBCR_MESA* = 0x00008757 - GL_UNSIGNED_SHORT_8_8_MESA* = 0x000085BA - GL_UNSIGNED_SHORT_8_8_REV_MESA* = 0x000085BB - - #***** GL_ARB_fragment_program_shadow *****// - #***** GL_NV_fragment_program_option *****// - #***** GL_EXT_pixel_buffer_object *****// -const - GL_PIXEL_PACK_BUFFER_EXT* = 0x000088EB - GL_PIXEL_UNPACK_BUFFER_EXT* = 0x000088EC - GL_PIXEL_PACK_BUFFER_BINDING_EXT* = 0x000088ED - GL_PIXEL_UNPACK_BUFFER_BINDING_EXT* = 0x000088EF - - #***** GL_NV_fragment_program2 *****// -const - GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV* = 0x000088F4 - GL_MAX_PROGRAM_CALL_DEPTH_NV* = 0x000088F5 - GL_MAX_PROGRAM_IF_DEPTH_NV* = 0x000088F6 - GL_MAX_PROGRAM_LOOP_DEPTH_NV* = 0x000088F7 - GL_MAX_PROGRAM_LOOP_COUNT_NV* = 0x000088F8 - - #***** GL_NV_vertex_program2_option *****// - # GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV { already defined } - # GL_MAX_PROGRAM_CALL_DEPTH_NV { already defined } - #***** GL_NV_vertex_program3 *****// - # GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB { already defined } - #***** GL_ARB_draw_buffers *****// -const - GL_MAX_DRAW_BUFFERS_ARB* = 0x00008824 - GL_DRAW_BUFFER0_ARB* = 0x00008825 - GL_DRAW_BUFFER1_ARB* = 0x00008826 - GL_DRAW_BUFFER2_ARB* = 0x00008827 - GL_DRAW_BUFFER3_ARB* = 0x00008828 - GL_DRAW_BUFFER4_ARB* = 0x00008829 - GL_DRAW_BUFFER5_ARB* = 0x0000882A - GL_DRAW_BUFFER6_ARB* = 0x0000882B - GL_DRAW_BUFFER7_ARB* = 0x0000882C - GL_DRAW_BUFFER8_ARB* = 0x0000882D - GL_DRAW_BUFFER9_ARB* = 0x0000882E - GL_DRAW_BUFFER10_ARB* = 0x0000882F - GL_DRAW_BUFFER11_ARB* = 0x00008830 - GL_DRAW_BUFFER12_ARB* = 0x00008831 - GL_DRAW_BUFFER13_ARB* = 0x00008832 - GL_DRAW_BUFFER14_ARB* = 0x00008833 - GL_DRAW_BUFFER15_ARB* = 0x00008834 - -proc glDrawBuffersARB*(n: TGLsizei, bufs: PGLenum){.dynlib: dllname, importc.} - #***** GL_ARB_texture_rectangle *****// -const - GL_TEXTURE_RECTANGLE_ARB* = 0x000084F5 - GL_TEXTURE_BINDING_RECTANGLE_ARB* = 0x000084F6 - GL_PROXY_TEXTURE_RECTANGLE_ARB* = 0x000084F7 - GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB* = 0x000084F8 - - #***** GL_ARB_color_buffer_float *****// -const - GL_RGBA_FLOAT_MODE_ARB* = 0x00008820 - GL_CLAMP_VERTEX_COLOR_ARB* = 0x0000891A - GL_CLAMP_FRAGMENT_COLOR_ARB* = 0x0000891B - GL_CLAMP_READ_COLOR_ARB* = 0x0000891C - GL_FIXED_ONLY_ARB* = 0x0000891D - WGL_TYPE_RGBA_FLOAT_ARB* = 0x000021A0 - -proc glClampColorARB*(target: TGLenum, clamp: TGLenum){.dynlib: dllname, importc.} - #***** GL_ARB_half_float_pixel *****// -const - GL_HALF_FLOAT_ARB* = 0x0000140B - - #***** GL_ARB_texture_float *****// -const - GL_TEXTURE_RED_TYPE_ARB* = 0x00008C10 - GL_TEXTURE_GREEN_TYPE_ARB* = 0x00008C11 - GL_TEXTURE_BLUE_TYPE_ARB* = 0x00008C12 - GL_TEXTURE_ALPHA_TYPE_ARB* = 0x00008C13 - GL_TEXTURE_LUMINANCE_TYPE_ARB* = 0x00008C14 - GL_TEXTURE_INTENSITY_TYPE_ARB* = 0x00008C15 - GL_TEXTURE_DEPTH_TYPE_ARB* = 0x00008C16 - GL_UNSIGNED_NORMALIZED_ARB* = 0x00008C17 - GL_RGBA32F_ARB* = 0x00008814 - GL_RGB32F_ARB* = 0x00008815 - GL_ALPHA32F_ARB* = 0x00008816 - GL_INTENSITY32F_ARB* = 0x00008817 - GL_LUMINANCE32F_ARB* = 0x00008818 - GL_LUMINANCE_ALPHA32F_ARB* = 0x00008819 - GL_RGBA16F_ARB* = 0x0000881A - GL_RGB16F_ARB* = 0x0000881B - GL_ALPHA16F_ARB* = 0x0000881C - GL_INTENSITY16F_ARB* = 0x0000881D - GL_LUMINANCE16F_ARB* = 0x0000881E - GL_LUMINANCE_ALPHA16F_ARB* = 0x0000881F - - #***** GL_EXT_texture_compression_dxt1 *****// - # GL_COMPRESSED_RGB_S3TC_DXT1_EXT { already defined } - # GL_COMPRESSED_RGBA_S3TC_DXT1_EXT { already defined } - #***** GL_ARB_pixel_buffer_object *****// -const - GL_PIXEL_PACK_BUFFER_ARB* = 0x000088EB - GL_PIXEL_UNPACK_BUFFER_ARB* = 0x000088EC - GL_PIXEL_PACK_BUFFER_BINDING_ARB* = 0x000088ED - GL_PIXEL_UNPACK_BUFFER_BINDING_ARB* = 0x000088EF - - #***** GL_EXT_framebuffer_object *****// -const - GL_FRAMEBUFFER_EXT* = 0x00008D40 - GL_RENDERBUFFER_EXT* = 0x00008D41 - GL_STENCIL_INDEX_EXT* = 0x00008D45 - GL_STENCIL_INDEX1_EXT* = 0x00008D46 - GL_STENCIL_INDEX4_EXT* = 0x00008D47 - GL_STENCIL_INDEX8_EXT* = 0x00008D48 - GL_STENCIL_INDEX16_EXT* = 0x00008D49 - GL_RENDERBUFFER_WIDTH_EXT* = 0x00008D42 - GL_RENDERBUFFER_HEIGHT_EXT* = 0x00008D43 - GL_RENDERBUFFER_INTERNAL_FORMAT_EXT* = 0x00008D44 - GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT* = 0x00008CD0 - GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT* = 0x00008CD1 - GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT* = 0x00008CD2 - GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT* = 0x00008CD3 - GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT* = 0x00008CD4 - GL_COLOR_ATTACHMENT0_EXT* = 0x00008CE0 - GL_COLOR_ATTACHMENT1_EXT* = 0x00008CE1 - GL_COLOR_ATTACHMENT2_EXT* = 0x00008CE2 - GL_COLOR_ATTACHMENT3_EXT* = 0x00008CE3 - GL_COLOR_ATTACHMENT4_EXT* = 0x00008CE4 - GL_COLOR_ATTACHMENT5_EXT* = 0x00008CE5 - GL_COLOR_ATTACHMENT6_EXT* = 0x00008CE6 - GL_COLOR_ATTACHMENT7_EXT* = 0x00008CE7 - GL_COLOR_ATTACHMENT8_EXT* = 0x00008CE8 - GL_COLOR_ATTACHMENT9_EXT* = 0x00008CE9 - GL_COLOR_ATTACHMENT10_EXT* = 0x00008CEA - GL_COLOR_ATTACHMENT11_EXT* = 0x00008CEB - GL_COLOR_ATTACHMENT12_EXT* = 0x00008CEC - GL_COLOR_ATTACHMENT13_EXT* = 0x00008CED - GL_COLOR_ATTACHMENT14_EXT* = 0x00008CEE - GL_COLOR_ATTACHMENT15_EXT* = 0x00008CEF - GL_DEPTH_ATTACHMENT_EXT* = 0x00008D00 - GL_STENCIL_ATTACHMENT_EXT* = 0x00008D20 - GL_FRAMEBUFFER_COMPLETE_EXT* = 0x00008CD5 - GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT* = 0x00008CD6 - GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT* = 0x00008CD7 - GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT* = 0x00008CD8 - GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT* = 0x00008CD9 - GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT* = 0x00008CDA - GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT* = 0x00008CDB - GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT* = 0x00008CDC - GL_FRAMEBUFFER_UNSUPPORTED_EXT* = 0x00008CDD - GL_FRAMEBUFFER_STATUS_ERROR_EXT* = 0x00008CDE - GL_FRAMEBUFFER_BINDING_EXT* = 0x00008CA6 - GL_RENDERBUFFER_BINDING_EXT* = 0x00008CA7 - GL_MAX_COLOR_ATTACHMENTS_EXT* = 0x00008CDF - GL_MAX_RENDERBUFFER_SIZE_EXT* = 0x000084E8 - GL_INVALID_FRAMEBUFFER_OPERATION_EXT* = 0x00000506 - -proc glIsRenderbufferEXT*(renderbuffer: TGLuint): TGLboolean{.dynlib: dllname, - importc.} -proc glBindRenderbufferEXT*(target: TGLenum, renderbuffer: TGLuint){. - dynlib: dllname, importc.} -proc glDeleteRenderbuffersEXT*(n: TGLsizei, renderbuffers: PGLuint){. - dynlib: dllname, importc.} -proc glGenRenderbuffersEXT*(n: TGLsizei, renderbuffers: PGLuint){. - dynlib: dllname, importc.} -proc glRenderbufferStorageEXT*(target: TGLenum, internalformat: TGLenum, - width: TGLsizei, height: TGLsizei){. - dynlib: dllname, importc.} -proc glGetRenderbufferParameterivEXT*(target: TGLenum, pname: TGLenum, - params: PGLint){.dynlib: dllname, importc.} -proc glIsFramebufferEXT*(framebuffer: TGLuint): TGLboolean{.dynlib: dllname, - importc.} -proc glBindFramebufferEXT*(target: TGLenum, framebuffer: TGLuint){. - dynlib: dllname, importc.} -proc glDeleteFramebuffersEXT*(n: TGLsizei, framebuffers: PGLuint){. - dynlib: dllname, importc.} -proc glGenFramebuffersEXT*(n: TGLsizei, framebuffers: PGLuint){.dynlib: dllname, - importc.} -proc glCheckFramebufferStatusEXT*(target: TGLenum): TGLenum{.dynlib: dllname, - importc.} -proc glFramebufferTexture1DEXT*(target: TGLenum, attachment: TGLenum, - textarget: TGLenum, texture: TGLuint, level: TGLint){. - dynlib: dllname, importc.} -proc glFramebufferTexture2DEXT*(target: TGLenum, attachment: TGLenum, - textarget: TGLenum, texture: TGLuint, level: TGLint){. - dynlib: dllname, importc.} -proc glFramebufferTexture3DEXT*(target: TGLenum, attachment: TGLenum, - textarget: TGLenum, texture: TGLuint, - level: TGLint, zoffset: TGLint){.dynlib: dllname, - importc.} -proc glFramebufferRenderbufferEXT*(target: TGLenum, attachment: TGLenum, - renderbuffertarget: TGLenum, - renderbuffer: TGLuint){.dynlib: dllname, - importc.} -proc glGetFramebufferAttachmentParameterivEXT*(target: TGLenum, - attachment: TGLenum, pname: TGLenum, params: PGLint){.dynlib: dllname, importc.} -proc glGenerateMipmapEXT*(target: TGLenum){.dynlib: dllname, importc.} - #***** GL_version_1_4 *****// -const - GL_BLEND_DST_RGB* = 0x000080C8 - GL_BLEND_SRC_RGB* = 0x000080C9 - GL_BLEND_DST_ALPHA* = 0x000080CA - GL_BLEND_SRC_ALPHA* = 0x000080CB - GL_POINT_SIZE_MIN* = 0x00008126 - GL_POINT_SIZE_MAX* = 0x00008127 - GL_POINT_FADE_THRESHOLD_SIZE* = 0x00008128 - GL_POINT_DISTANCE_ATTENUATION* = 0x00008129 - GL_GENERATE_MIPMAP* = 0x00008191 - GL_GENERATE_MIPMAP_HINT* = 0x00008192 - GL_DEPTH_COMPONENT16* = 0x000081A5 - GL_DEPTH_COMPONENT24* = 0x000081A6 - GL_DEPTH_COMPONENT32* = 0x000081A7 - GL_MIRRORED_REPEAT* = 0x00008370 - GL_FOG_COORDINATE_SOURCE* = 0x00008450 - GL_FOG_COORDINATE* = 0x00008451 - GL_FRAGMENT_DEPTH* = 0x00008452 - GL_CURRENT_FOG_COORDINATE* = 0x00008453 - GL_FOG_COORDINATE_ARRAY_TYPE* = 0x00008454 - GL_FOG_COORDINATE_ARRAY_STRIDE* = 0x00008455 - GL_FOG_COORDINATE_ARRAY_POINTER* = 0x00008456 - GL_FOG_COORDINATE_ARRAY* = 0x00008457 - GL_COLOR_SUM* = 0x00008458 - GL_CURRENT_SECONDARY_COLOR* = 0x00008459 - GL_SECONDARY_COLOR_ARRAY_SIZE* = 0x0000845A - GL_SECONDARY_COLOR_ARRAY_TYPE* = 0x0000845B - GL_SECONDARY_COLOR_ARRAY_STRIDE* = 0x0000845C - GL_SECONDARY_COLOR_ARRAY_POINTER* = 0x0000845D - GL_SECONDARY_COLOR_ARRAY* = 0x0000845E - GL_MAX_TEXTURE_LOD_BIAS* = 0x000084FD - GL_TEXTURE_FILTER_CONTROL* = 0x00008500 - GL_TEXTURE_LOD_BIAS* = 0x00008501 - GL_INCR_WRAP* = 0x00008507 - GL_DECR_WRAP* = 0x00008508 - GL_TEXTURE_DEPTH_SIZE* = 0x0000884A - GL_DEPTH_TEXTURE_MODE* = 0x0000884B - GL_TEXTURE_COMPARE_MODE* = 0x0000884C - GL_TEXTURE_COMPARE_FUNC* = 0x0000884D - GL_COMPARE_R_TO_TEXTURE* = 0x0000884E - -proc glBlendFuncSeparate*(sfactorRGB: TGLenum, dfactorRGB: TGLenum, - sfactorAlpha: TGLenum, dfactorAlpha: TGLenum){. - dynlib: dllname, importc.} -proc glFogCoordf*(coord: TGLfloat){.dynlib: dllname, importc.} -proc glFogCoordfv*(coord: PGLfloat){.dynlib: dllname, importc.} -proc glFogCoordd*(coord: TGLdouble){.dynlib: dllname, importc.} -proc glFogCoorddv*(coord: PGLdouble){.dynlib: dllname, importc.} -proc glFogCoordPointer*(thetype: TGLenum, stride: TGLsizei, pointer: PGLvoid){. - dynlib: dllname, importc.} -proc glMultiDrawArrays*(mode: TGLenum, first: PGLint, count: PGLsizei, - primcount: TGLsizei){.dynlib: dllname, importc.} -proc glMultiDrawElements*(mode: TGLenum, count: PGLsizei, thetype: TGLenum, - indices: PGLvoid, primcount: TGLsizei){. - dynlib: dllname, importc.} -proc glPointParameterf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.} -proc glPointParameterfv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, - importc.} -proc glPointParameteri*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.} -proc glPointParameteriv*(pname: TGLenum, params: PGLint){.dynlib: dllname, - importc.} -proc glSecondaryColor3b*(red: TGLByte, green: TGLByte, blue: TGLByte){. - dynlib: dllname, importc.} -proc glSecondaryColor3bv*(v: PGLbyte){.dynlib: dllname, importc.} -proc glSecondaryColor3d*(red: TGLdouble, green: TGLdouble, blue: TGLdouble){. - dynlib: dllname, importc.} -proc glSecondaryColor3dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glSecondaryColor3f*(red: TGLfloat, green: TGLfloat, blue: TGLfloat){. - dynlib: dllname, importc.} -proc glSecondaryColor3fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glSecondaryColor3i*(red: TGLint, green: TGLint, blue: TGLint){. - dynlib: dllname, importc.} -proc glSecondaryColor3iv*(v: PGLint){.dynlib: dllname, importc.} -proc glSecondaryColor3s*(red: TGLshort, green: TGLshort, blue: TGLshort){. - dynlib: dllname, importc.} -proc glSecondaryColor3sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glSecondaryColor3ub*(red: TGLubyte, green: TGLubyte, blue: TGLubyte){. - dynlib: dllname, importc.} -proc glSecondaryColor3ubv*(v: PGLubyte){.dynlib: dllname, importc.} -proc glSecondaryColor3ui*(red: TGLuint, green: TGLuint, blue: TGLuint){. - dynlib: dllname, importc.} -proc glSecondaryColor3uiv*(v: PGLuint){.dynlib: dllname, importc.} -proc glSecondaryColor3us*(red: TGLushort, green: TGLushort, blue: TGLushort){. - dynlib: dllname, importc.} -proc glSecondaryColor3usv*(v: PGLushort){.dynlib: dllname, importc.} -proc glSecondaryColorPointer*(size: TGLint, thetype: TGLenum, stride: TGLsizei, - pointer: PGLvoid){.dynlib: dllname, importc.} -proc glWindowPos2d*(x: TGLdouble, y: TGLdouble){.dynlib: dllname, importc.} -proc glWindowPos2dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glWindowPos2f*(x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.} -proc glWindowPos2fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glWindowPos2i*(x: TGLint, y: TGLint){.dynlib: dllname, importc.} -proc glWindowPos2iv*(v: PGLint){.dynlib: dllname, importc.} -proc glWindowPos2s*(x: TGLshort, y: TGLshort){.dynlib: dllname, importc.} -proc glWindowPos2sv*(v: PGLshort){.dynlib: dllname, importc.} -proc glWindowPos3d*(x: TGLdouble, y: TGLdouble, z: TGLdouble){.dynlib: dllname, - importc.} -proc glWindowPos3dv*(v: PGLdouble){.dynlib: dllname, importc.} -proc glWindowPos3f*(x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, - importc.} -proc glWindowPos3fv*(v: PGLfloat){.dynlib: dllname, importc.} -proc glWindowPos3i*(x: TGLint, y: TGLint, z: TGLint){.dynlib: dllname, importc.} -proc glWindowPos3iv*(v: PGLint){.dynlib: dllname, importc.} -proc glWindowPos3s*(x: TGLshort, y: TGLshort, z: TGLshort){.dynlib: dllname, - importc.} -proc glWindowPos3sv*(v: PGLshort){.dynlib: dllname, importc.} - #***** GL_version_1_5 *****// -const - GL_BUFFER_SIZE* = 0x00008764 - GL_BUFFER_USAGE* = 0x00008765 - GL_QUERY_COUNTER_BITS* = 0x00008864 - GL_CURRENT_QUERY* = 0x00008865 - GL_QUERY_RESULT* = 0x00008866 - GL_QUERY_RESULT_AVAILABLE* = 0x00008867 - GL_ARRAY_BUFFER* = 0x00008892 - GL_ELEMENT_ARRAY_BUFFER* = 0x00008893 - GL_ARRAY_BUFFER_BINDING* = 0x00008894 - GL_ELEMENT_ARRAY_BUFFER_BINDING* = 0x00008895 - GL_VERTEX_ARRAY_BUFFER_BINDING* = 0x00008896 - GL_NORMAL_ARRAY_BUFFER_BINDING* = 0x00008897 - GL_COLOR_ARRAY_BUFFER_BINDING* = 0x00008898 - GL_INDEX_ARRAY_BUFFER_BINDING* = 0x00008899 - GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING* = 0x0000889A - GL_EDGE_FLAG_ARRAY_BUFFER_BINDING* = 0x0000889B - GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING* = 0x0000889C - GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING* = 0x0000889D - GL_WEIGHT_ARRAY_BUFFER_BINDING* = 0x0000889E - GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING* = 0x0000889F - GL_READ_ONLY* = 0x000088B8 - GL_WRITE_ONLY* = 0x000088B9 - GL_READ_WRITE* = 0x000088BA - GL_BUFFER_ACCESS* = 0x000088BB - GL_BUFFER_MAPPED* = 0x000088BC - GL_BUFFER_MAP_POINTER* = 0x000088BD - GL_STREAM_DRAW* = 0x000088E0 - GL_STREAM_READ* = 0x000088E1 - GL_STREAM_COPY* = 0x000088E2 - GL_STATIC_DRAW* = 0x000088E4 - GL_STATIC_READ* = 0x000088E5 - GL_STATIC_COPY* = 0x000088E6 - GL_DYNAMIC_DRAW* = 0x000088E8 - GL_DYNAMIC_READ* = 0x000088E9 - GL_DYNAMIC_COPY* = 0x000088EA - GL_SAMPLES_PASSED* = 0x00008914 - GL_FOG_COORD_SRC* = 0x00008450 - GL_FOG_COORD* = 0x00008451 - GL_CURRENT_FOG_COORD* = 0x00008453 - GL_FOG_COORD_ARRAY_TYPE* = 0x00008454 - GL_FOG_COORD_ARRAY_STRIDE* = 0x00008455 - GL_FOG_COORD_ARRAY_POINTER* = 0x00008456 - GL_FOG_COORD_ARRAY* = 0x00008457 - GL_FOG_COORD_ARRAY_BUFFER_BINDING* = 0x0000889D - GL_SRC0_RGB* = 0x00008580 - GL_SRC1_RGB* = 0x00008581 - GL_SRC2_RGB* = 0x00008582 - GL_SRC0_ALPHA* = 0x00008588 - GL_SRC1_ALPHA* = 0x00008589 - GL_SRC2_ALPHA* = 0x0000858A - -proc glGenQueries*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.} -proc glDeleteQueries*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.} -proc glIsQuery*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glBeginQuery*(target: TGLenum, id: TGLuint){.dynlib: dllname, importc.} -proc glEndQuery*(target: TGLenum){.dynlib: dllname, importc.} -proc glGetQueryiv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetQueryObjectiv*(id: TGLuint, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetQueryObjectuiv*(id: TGLuint, pname: TGLenum, params: PGLuint){. - dynlib: dllname, importc.} -proc glBindBuffer*(target: TGLenum, buffer: TGLuint){.dynlib: dllname, importc.} -proc glDeleteBuffers*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.} -proc glGenBuffers*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.} -proc glIsBuffer*(buffer: TGLuint): TGLboolean{.dynlib: dllname, importc.} -proc glBufferData*(target: TGLenum, size: GLsizeiptr, data: PGLvoid, - usage: TGLenum){.dynlib: dllname, importc.} -proc glBufferSubData*(target: TGLenum, offset: GLintptr, size: GLsizeiptr, - data: PGLvoid){.dynlib: dllname, importc.} -proc glGetBufferSubData*(target: TGLenum, offset: GLintptr, size: GLsizeiptr, - data: PGLvoid){.dynlib: dllname, importc.} -proc glMapBuffer*(target: TGLenum, access: TGLenum): PGLvoid{.dynlib: dllname, - importc.} -proc glUnmapBuffer*(target: TGLenum): TGLboolean{.dynlib: dllname, importc.} -proc glGetBufferParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){. - dynlib: dllname, importc.} -proc glGetBufferPointerv*(target: TGLenum, pname: TGLenum, params: PGLvoid){. - dynlib: dllname, importc.} - #***** GL_version_2_0 *****// -const - GL_BLEND_EQUATION_RGB* = 0x00008009 - GL_VERTEX_ATTRIB_ARRAY_ENABLED* = 0x00008622 - GL_VERTEX_ATTRIB_ARRAY_SIZE* = 0x00008623 - GL_VERTEX_ATTRIB_ARRAY_STRIDE* = 0x00008624 - GL_VERTEX_ATTRIB_ARRAY_TYPE* = 0x00008625 - GL_CURRENT_VERTEX_ATTRIB* = 0x00008626 - GL_VERTEX_PROGRAM_POINT_SIZE* = 0x00008642 - GL_VERTEX_PROGRAM_TWO_SIDE* = 0x00008643 - GL_VERTEX_ATTRIB_ARRAY_POINTER* = 0x00008645 - GL_STENCIL_BACK_FUNC* = 0x00008800 - GL_STENCIL_BACK_FAIL* = 0x00008801 - GL_STENCIL_BACK_PASS_DEPTH_FAIL* = 0x00008802 - GL_STENCIL_BACK_PASS_DEPTH_PASS* = 0x00008803 - GL_MAX_DRAW_BUFFERS* = 0x00008824 - GL_DRAW_BUFFER0* = 0x00008825 - GL_DRAW_BUFFER1* = 0x00008826 - GL_DRAW_BUFFER2* = 0x00008827 - GL_DRAW_BUFFER3* = 0x00008828 - GL_DRAW_BUFFER4* = 0x00008829 - GL_DRAW_BUFFER5* = 0x0000882A - GL_DRAW_BUFFER6* = 0x0000882B - GL_DRAW_BUFFER7* = 0x0000882C - GL_DRAW_BUFFER8* = 0x0000882D - GL_DRAW_BUFFER9* = 0x0000882E - GL_DRAW_BUFFER10* = 0x0000882F - GL_DRAW_BUFFER11* = 0x00008830 - GL_DRAW_BUFFER12* = 0x00008831 - GL_DRAW_BUFFER13* = 0x00008832 - GL_DRAW_BUFFER14* = 0x00008833 - GL_DRAW_BUFFER15* = 0x00008834 - GL_BLEND_EQUATION_ALPHA* = 0x0000883D - GL_POINT_SPRITE* = 0x00008861 - GL_COORD_REPLACE* = 0x00008862 - GL_MAX_VERTEX_ATTRIBS* = 0x00008869 - GL_VERTEX_ATTRIB_ARRAY_NORMALIZED* = 0x0000886A - GL_MAX_TEXTURE_COORDS* = 0x00008871 - GL_MAX_TEXTURE_IMAGE_UNITS* = 0x00008872 - GL_FRAGMENT_SHADER* = 0x00008B30 - GL_VERTEX_SHADER* = 0x00008B31 - GL_MAX_FRAGMENT_UNIFORM_COMPONENTS* = 0x00008B49 - GL_MAX_VERTEX_UNIFORM_COMPONENTS* = 0x00008B4A - GL_MAX_VARYING_FLOATS* = 0x00008B4B - GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS* = 0x00008B4C - GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS* = 0x00008B4D - GL_SHADER_TYPE* = 0x00008B4F - GL_FLOAT_VEC2* = 0x00008B50 - GL_FLOAT_VEC3* = 0x00008B51 - GL_FLOAT_VEC4* = 0x00008B52 - GL_INT_VEC2* = 0x00008B53 - GL_INT_VEC3* = 0x00008B54 - GL_INT_VEC4* = 0x00008B55 - GL_BOOL* = 0x00008B56 - GL_BOOL_VEC2* = 0x00008B57 - GL_BOOL_VEC3* = 0x00008B58 - GL_BOOL_VEC4* = 0x00008B59 - GL_FLOAT_MAT2* = 0x00008B5A - GL_FLOAT_MAT3* = 0x00008B5B - GL_FLOAT_MAT4* = 0x00008B5C - GL_SAMPLER_1D* = 0x00008B5D - GL_SAMPLER_2D* = 0x00008B5E - GL_SAMPLER_3D* = 0x00008B5F - GL_SAMPLER_CUBE* = 0x00008B60 - GL_SAMPLER_1D_SHADOW* = 0x00008B61 - GL_SAMPLER_2D_SHADOW* = 0x00008B62 - GL_DELETE_STATUS* = 0x00008B80 - GL_COMPILE_STATUS* = 0x00008B81 - GL_LINK_STATUS* = 0x00008B82 - GL_VALIDATE_STATUS* = 0x00008B83 - GL_INFO_LOG_LENGTH* = 0x00008B84 - GL_ATTACHED_SHADERS* = 0x00008B85 - GL_ACTIVE_UNIFORMS* = 0x00008B86 - GL_ACTIVE_UNIFORM_MAX_LENGTH* = 0x00008B87 - GL_SHADER_SOURCE_LENGTH* = 0x00008B88 - GL_ACTIVE_ATTRIBUTES* = 0x00008B89 - GL_ACTIVE_ATTRIBUTE_MAX_LENGTH* = 0x00008B8A - GL_FRAGMENT_SHADER_DERIVATIVE_HINT* = 0x00008B8B - GL_SHADING_LANGUAGE_VERSION* = 0x00008B8C - GL_CURRENT_PROGRAM* = 0x00008B8D - GL_POINT_SPRITE_COORD_ORIGIN* = 0x00008CA0 - GL_LOWER_LEFT* = 0x00008CA1 - GL_UPPER_LEFT* = 0x00008CA2 - GL_STENCIL_BACK_REF* = 0x00008CA3 - GL_STENCIL_BACK_VALUE_MASK* = 0x00008CA4 - GL_STENCIL_BACK_WRITEMASK* = 0x00008CA5 - -{.pop.} diff --git a/lib/oldwrappers/opengl/glu.nim b/lib/oldwrappers/opengl/glu.nim deleted file mode 100755 index 297f4d354..000000000 --- a/lib/oldwrappers/opengl/glu.nim +++ /dev/null @@ -1,311 +0,0 @@ -# -# -# Adaption of the delphi3d.net OpenGL units to FreePascal -# Sebastian Guenther (sg@freepascal.org) in 2002 -# These units are free to use -#****************************************************************************** -# Converted to Delphi by Tom Nuydens (tom@delphi3d.net) -# For the latest updates, visit Delphi3D: http://www.delphi3d.net -#****************************************************************************** - -import - GL - -when defined(windows): - const dllname = "glu32.dll" -elif defined(macosx): - const dllname = "/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib" -else: - const dllname = "libGLU.so.1" - -type - TViewPortArray* = array[0..3, TGLint] - T16dArray* = array[0..15, TGLdouble] - TCallBack* = proc () - T3dArray* = array[0..2, TGLdouble] - T4pArray* = array[0..3, Pointer] - T4fArray* = array[0..3, TGLfloat] - PPointer* = ptr Pointer - -type - GLUnurbs*{.final.} = object - PGLUnurbs* = ptr GLUnurbs - GLUquadric*{.final.} = object - PGLUquadric* = ptr GLUquadric - GLUtesselator*{.final.} = object - PGLUtesselator* = ptr GLUtesselator # backwards compatibility: - GLUnurbsObj* = GLUnurbs - PGLUnurbsObj* = PGLUnurbs - GLUquadricObj* = GLUquadric - PGLUquadricObj* = PGLUquadric - GLUtesselatorObj* = GLUtesselator - PGLUtesselatorObj* = PGLUtesselator - GLUtriangulatorObj* = GLUtesselator - PGLUtriangulatorObj* = PGLUtesselator - TGLUnurbs* = GLUnurbs - TGLUquadric* = GLUquadric - TGLUtesselator* = GLUtesselator - TGLUnurbsObj* = GLUnurbsObj - TGLUquadricObj* = GLUquadricObj - TGLUtesselatorObj* = GLUtesselatorObj - TGLUtriangulatorObj* = GLUtriangulatorObj - -proc gluErrorString*(errCode: TGLenum): cstring{.dynlib: dllname, importc.} -proc gluErrorUnicodeStringEXT*(errCode: TGLenum): ptr int16{.dynlib: dllname, - importc.} -proc gluGetString*(name: TGLenum): cstring{.dynlib: dllname, importc.} -proc gluOrtho2D*(left, right, bottom, top: TGLdouble){.dynlib: dllname, importc.} -proc gluPerspective*(fovy, aspect, zNear, zFar: TGLdouble){.dynlib: dllname, - importc.} -proc gluPickMatrix*(x, y, width, height: TGLdouble, viewport: var TViewPortArray){. - dynlib: dllname, importc.} -proc gluLookAt*(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble){. - dynlib: dllname, importc.} -proc gluProject*(objx, objy, objz: TGLdouble, - modelMatrix, projMatrix: var T16dArray, - viewport: var TViewPortArray, winx, winy, winz: PGLdouble): int{. - dynlib: dllname, importc.} -proc gluUnProject*(winx, winy, winz: TGLdouble, - modelMatrix, projMatrix: var T16dArray, - viewport: var TViewPortArray, objx, objy, objz: PGLdouble): int{. - dynlib: dllname, importc.} -proc gluScaleImage*(format: TGLenum, widthin, heightin: TGLint, typein: TGLenum, - datain: Pointer, widthout, heightout: TGLint, - typeout: TGLenum, dataout: Pointer): int{.dynlib: dllname, - importc.} -proc gluBuild1DMipmaps*(target: TGLenum, components, width: TGLint, - format, atype: TGLenum, data: Pointer): int{. - dynlib: dllname, importc.} -proc gluBuild2DMipmaps*(target: TGLenum, components, width, height: TGLint, - format, atype: TGLenum, data: Pointer): int{. - dynlib: dllname, importc.} -proc gluNewQuadric*(): PGLUquadric{.dynlib: dllname, importc.} -proc gluDeleteQuadric*(state: PGLUquadric){.dynlib: dllname, importc.} -proc gluQuadricNormals*(quadObject: PGLUquadric, normals: TGLenum){. - dynlib: dllname, importc.} -proc gluQuadricTexture*(quadObject: PGLUquadric, textureCoords: TGLboolean){. - dynlib: dllname, importc.} -proc gluQuadricOrientation*(quadObject: PGLUquadric, orientation: TGLenum){. - dynlib: dllname, importc.} -proc gluQuadricDrawStyle*(quadObject: PGLUquadric, drawStyle: TGLenum){. - dynlib: dllname, importc.} -proc gluCylinder*(qobj: PGLUquadric, baseRadius, topRadius, height: TGLdouble, - slices, stacks: TGLint){.dynlib: dllname, importc.} -proc gluDisk*(qobj: PGLUquadric, innerRadius, outerRadius: TGLdouble, - slices, loops: TGLint){.dynlib: dllname, importc.} -proc gluPartialDisk*(qobj: PGLUquadric, innerRadius, outerRadius: TGLdouble, - slices, loops: TGLint, startAngle, sweepAngle: TGLdouble){. - dynlib: dllname, importc.} -proc gluSphere*(qobj: PGLuquadric, radius: TGLdouble, slices, stacks: TGLint){. - dynlib: dllname, importc.} -proc gluQuadricCallback*(qobj: PGLUquadric, which: TGLenum, fn: TCallBack){. - dynlib: dllname, importc.} -proc gluNewTess*(): PGLUtesselator{.dynlib: dllname, importc.} -proc gluDeleteTess*(tess: PGLUtesselator){.dynlib: dllname, importc.} -proc gluTessBeginPolygon*(tess: PGLUtesselator, polygon_data: Pointer){. - dynlib: dllname, importc.} -proc gluTessBeginContour*(tess: PGLUtesselator){.dynlib: dllname, importc.} -proc gluTessVertex*(tess: PGLUtesselator, coords: var T3dArray, data: Pointer){. - dynlib: dllname, importc.} -proc gluTessEndContour*(tess: PGLUtesselator){.dynlib: dllname, importc.} -proc gluTessEndPolygon*(tess: PGLUtesselator){.dynlib: dllname, importc.} -proc gluTessProperty*(tess: PGLUtesselator, which: TGLenum, value: TGLdouble){. - dynlib: dllname, importc.} -proc gluTessNormal*(tess: PGLUtesselator, x, y, z: TGLdouble){.dynlib: dllname, - importc.} -proc gluTessCallback*(tess: PGLUtesselator, which: TGLenum, fn: TCallBack){. - dynlib: dllname, importc.} -proc gluGetTessProperty*(tess: PGLUtesselator, which: TGLenum, value: PGLdouble){. - dynlib: dllname, importc.} -proc gluNewNurbsRenderer*(): PGLUnurbs{.dynlib: dllname, importc.} -proc gluDeleteNurbsRenderer*(nobj: PGLUnurbs){.dynlib: dllname, importc.} -proc gluBeginSurface*(nobj: PGLUnurbs){.dynlib: dllname, importc.} -proc gluBeginCurve*(nobj: PGLUnurbs){.dynlib: dllname, importc.} -proc gluEndCurve*(nobj: PGLUnurbs){.dynlib: dllname, importc.} -proc gluEndSurface*(nobj: PGLUnurbs){.dynlib: dllname, importc.} -proc gluBeginTrim*(nobj: PGLUnurbs){.dynlib: dllname, importc.} -proc gluEndTrim*(nobj: PGLUnurbs){.dynlib: dllname, importc.} -proc gluPwlCurve*(nobj: PGLUnurbs, count: TGLint, aarray: PGLfloat, - stride: TGLint, atype: TGLenum){.dynlib: dllname, importc.} -proc gluNurbsCurve*(nobj: PGLUnurbs, nknots: TGLint, knot: PGLfloat, - stride: TGLint, ctlarray: PGLfloat, order: TGLint, - atype: TGLenum){.dynlib: dllname, importc.} -proc gluNurbsSurface*(nobj: PGLUnurbs, sknot_count: TGLint, sknot: PGLfloat, - tknot_count: TGLint, tknot: PGLfloat, - s_stride, t_stride: TGLint, ctlarray: PGLfloat, - sorder, torder: TGLint, atype: TGLenum){.dynlib: dllname, - importc.} -proc gluLoadSamplingMatrices*(nobj: PGLUnurbs, - modelMatrix, projMatrix: var T16dArray, - viewport: var TViewPortArray){.dynlib: dllname, - importc.} -proc gluNurbsProperty*(nobj: PGLUnurbs, aproperty: TGLenum, value: TGLfloat){. - dynlib: dllname, importc.} -proc gluGetNurbsProperty*(nobj: PGLUnurbs, aproperty: TGLenum, value: PGLfloat){. - dynlib: dllname, importc.} -proc gluNurbsCallback*(nobj: PGLUnurbs, which: TGLenum, fn: TCallBack){. - dynlib: dllname, importc.} - #*** Callback function prototypes *** -type # gluQuadricCallback - GLUquadricErrorProc* = proc (p: TGLenum) # gluTessCallback - GLUtessBeginProc* = proc (p: TGLenum) - GLUtessEdgeFlagProc* = proc (p: TGLboolean) - GLUtessVertexProc* = proc (p: Pointer) - GLUtessEndProc* = proc () - GLUtessErrorProc* = proc (p: TGLenum) - GLUtessCombineProc* = proc (p1: var T3dArray, p2: T4pArray, p3: T4fArray, - p4: PPointer) - GLUtessBeginDataProc* = proc (p1: TGLenum, p2: Pointer) - GLUtessEdgeFlagDataProc* = proc (p1: TGLboolean, p2: Pointer) - GLUtessVertexDataProc* = proc (p1, p2: Pointer) - GLUtessEndDataProc* = proc (p: Pointer) - GLUtessErrorDataProc* = proc (p1: TGLenum, p2: Pointer) - GLUtessCombineDataProc* = proc (p1: var T3dArray, p2: var T4pArray, - p3: var T4fArray, p4: PPointer, p5: Pointer) # - # gluNurbsCallback - GLUnurbsErrorProc* = proc (p: TGLenum) #*** Generic constants ****/ - -const # Version - GLU_VERSION_1_1* = 1 - GLU_VERSION_1_2* = 1 # Errors: (return value 0 = no error) - GLU_INVALID_ENUM* = 100900 - GLU_INVALID_VALUE* = 100901 - GLU_OUT_OF_MEMORY* = 100902 - GLU_INCOMPATIBLE_GL_VERSION* = 100903 # StringName - GLU_VERSION* = 100800 - GLU_EXTENSIONS* = 100801 # Boolean - GLU_TRUE* = GL_TRUE - GLU_FALSE* = GL_FALSE #*** Quadric constants ****/ - # QuadricNormal - GLU_SMOOTH* = 100000 - GLU_FLAT* = 100001 - GLU_NONE* = 100002 # QuadricDrawStyle - GLU_POINT* = 100010 - GLU_LINE* = 100011 - GLU_FILL* = 100012 - GLU_SILHOUETTE* = 100013 # QuadricOrientation - GLU_OUTSIDE* = 100020 - GLU_INSIDE* = 100021 # Callback types: - # GLU_ERROR = 100103; - #*** Tesselation constants ****/ - GLU_TESS_MAX_COORD* = 1.00000e+150 # TessProperty - GLU_TESS_WINDING_RULE* = 100140 - GLU_TESS_BOUNDARY_ONLY* = 100141 - GLU_TESS_TOLERANCE* = 100142 # TessWinding - GLU_TESS_WINDING_ODD* = 100130 - GLU_TESS_WINDING_NONZERO* = 100131 - GLU_TESS_WINDING_POSITIVE* = 100132 - GLU_TESS_WINDING_NEGATIVE* = 100133 - GLU_TESS_WINDING_ABS_GEQ_TWO* = 100134 # TessCallback - GLU_TESS_BEGIN* = 100100 # void (CALLBACK*)(TGLenum type) - constGLU_TESS_VERTEX* = 100101 # void (CALLBACK*)(void *data) - GLU_TESS_END* = 100102 # void (CALLBACK*)(void) - GLU_TESS_ERROR* = 100103 # void (CALLBACK*)(TGLenum errno) - GLU_TESS_EDGE_FLAG* = 100104 # void (CALLBACK*)(TGLboolean boundaryEdge) - GLU_TESS_COMBINE* = 100105 # void (CALLBACK*)(TGLdouble coords[3], - # void *data[4], - # TGLfloat weight[4], - # void **dataOut) - GLU_TESS_BEGIN_DATA* = 100106 # void (CALLBACK*)(TGLenum type, - # void *polygon_data) - GLU_TESS_VERTEX_DATA* = 100107 # void (CALLBACK*)(void *data, - # void *polygon_data) - GLU_TESS_END_DATA* = 100108 # void (CALLBACK*)(void *polygon_data) - GLU_TESS_ERROR_DATA* = 100109 # void (CALLBACK*)(TGLenum errno, - # void *polygon_data) - GLU_TESS_EDGE_FLAG_DATA* = 100110 # void (CALLBACK*)(TGLboolean boundaryEdge, - # void *polygon_data) - GLU_TESS_COMBINE_DATA* = 100111 # void (CALLBACK*)(TGLdouble coords[3], - # void *data[4], - # TGLfloat weight[4], - # void **dataOut, - # void *polygon_data) - # TessError - GLU_TESS_ERROR1* = 100151 - GLU_TESS_ERROR2* = 100152 - GLU_TESS_ERROR3* = 100153 - GLU_TESS_ERROR4* = 100154 - GLU_TESS_ERROR5* = 100155 - GLU_TESS_ERROR6* = 100156 - GLU_TESS_ERROR7* = 100157 - GLU_TESS_ERROR8* = 100158 - GLU_TESS_MISSING_BEGIN_POLYGON* = GLU_TESS_ERROR1 - GLU_TESS_MISSING_BEGIN_CONTOUR* = GLU_TESS_ERROR2 - GLU_TESS_MISSING_END_POLYGON* = GLU_TESS_ERROR3 - GLU_TESS_MISSING_END_CONTOUR* = GLU_TESS_ERROR4 - GLU_TESS_COORD_TOO_LARGE* = GLU_TESS_ERROR5 - GLU_TESS_NEED_COMBINE_CALLBACK* = GLU_TESS_ERROR6 #*** NURBS constants ****/ - # NurbsProperty - GLU_AUTO_LOAD_MATRIX* = 100200 - GLU_CULLING* = 100201 - GLU_SAMPLING_TOLERANCE* = 100203 - GLU_DISPLAY_MODE* = 100204 - GLU_PARAMETRIC_TOLERANCE* = 100202 - GLU_SAMPLING_METHOD* = 100205 - GLU_U_STEP* = 100206 - GLU_V_STEP* = 100207 # NurbsSampling - GLU_PATH_LENGTH* = 100215 - GLU_PARAMETRIC_ERROR* = 100216 - GLU_DOMAIN_DISTANCE* = 100217 # NurbsTrim - GLU_MAP1_TRIM_2* = 100210 - GLU_MAP1_TRIM_3* = 100211 # NurbsDisplay - # GLU_FILL = 100012; - GLU_OUTLINE_POLYGON* = 100240 - GLU_OUTLINE_PATCH* = 100241 # NurbsCallback - # GLU_ERROR = 100103; - # NurbsErrors - GLU_NURBS_ERROR1* = 100251 - GLU_NURBS_ERROR2* = 100252 - GLU_NURBS_ERROR3* = 100253 - GLU_NURBS_ERROR4* = 100254 - GLU_NURBS_ERROR5* = 100255 - GLU_NURBS_ERROR6* = 100256 - GLU_NURBS_ERROR7* = 100257 - GLU_NURBS_ERROR8* = 100258 - GLU_NURBS_ERROR9* = 100259 - GLU_NURBS_ERROR10* = 100260 - GLU_NURBS_ERROR11* = 100261 - GLU_NURBS_ERROR12* = 100262 - GLU_NURBS_ERROR13* = 100263 - GLU_NURBS_ERROR14* = 100264 - GLU_NURBS_ERROR15* = 100265 - GLU_NURBS_ERROR16* = 100266 - GLU_NURBS_ERROR17* = 100267 - GLU_NURBS_ERROR18* = 100268 - GLU_NURBS_ERROR19* = 100269 - GLU_NURBS_ERROR20* = 100270 - GLU_NURBS_ERROR21* = 100271 - GLU_NURBS_ERROR22* = 100272 - GLU_NURBS_ERROR23* = 100273 - GLU_NURBS_ERROR24* = 100274 - GLU_NURBS_ERROR25* = 100275 - GLU_NURBS_ERROR26* = 100276 - GLU_NURBS_ERROR27* = 100277 - GLU_NURBS_ERROR28* = 100278 - GLU_NURBS_ERROR29* = 100279 - GLU_NURBS_ERROR30* = 100280 - GLU_NURBS_ERROR31* = 100281 - GLU_NURBS_ERROR32* = 100282 - GLU_NURBS_ERROR33* = 100283 - GLU_NURBS_ERROR34* = 100284 - GLU_NURBS_ERROR35* = 100285 - GLU_NURBS_ERROR36* = 100286 - GLU_NURBS_ERROR37* = 100287 #*** Backwards compatibility for old tesselator ****/ - -proc gluBeginPolygon*(tess: PGLUtesselator){.dynlib: dllname, importc.} -proc gluNextContour*(tess: PGLUtesselator, atype: TGLenum){.dynlib: dllname, - importc.} -proc gluEndPolygon*(tess: PGLUtesselator){.dynlib: dllname, importc.} -const # Contours types -- obsolete! - GLU_CW* = 100120 - GLU_CCW* = 100121 - GLU_INTERIOR* = 100122 - GLU_EXTERIOR* = 100123 - GLU_UNKNOWN* = 100124 # Names without "TESS_" prefix - GLU_BEGIN* = GLU_TESS_BEGIN - GLU_VERTEX* = constGLU_TESS_VERTEX - GLU_END* = GLU_TESS_END - GLU_ERROR* = GLU_TESS_ERROR - GLU_EDGE_FLAG* = GLU_TESS_EDGE_FLAG - -# implementation diff --git a/lib/oldwrappers/opengl/glut.nim b/lib/oldwrappers/opengl/glut.nim deleted file mode 100755 index 55ee18bda..000000000 --- a/lib/oldwrappers/opengl/glut.nim +++ /dev/null @@ -1,378 +0,0 @@ -# -# -# Adaption of the delphi3d.net OpenGL units to FreePascal -# Sebastian Guenther (sg@freepascal.org) in 2002 -# These units are free to use -# - -# Copyright (c) Mark J. Kilgard, 1994, 1995, 1996. -# This program is freely distributable without licensing fees and is -# provided without guarantee or warrantee expressed or implied. This -# program is -not- in the public domain. -#****************************************************************************** -# Converted to Delphi by Tom Nuydens (tom@delphi3d.net) -# Contributions by Igor Karpov (glygrik@hotbox.ru) -# For the latest updates, visit Delphi3D: http://www.delphi3d.net -#****************************************************************************** - -import - GL - -when defined(windows): - const dllname = "glut32.dll" -elif defined(macosx): - const dllname = "/System/Library/Frameworks/GLUT.framework/GLUT" -else: - const dllname = "libglut.so.3" - -type - PInteger* = ptr int - PPChar* = ptr cstring - TGlutVoidCallback* = proc (){.cdecl.} - TGlut1IntCallback* = proc (value: cint){.cdecl.} - TGlut2IntCallback* = proc (v1, v2: cint){.cdecl.} - TGlut3IntCallback* = proc (v1, v2, v3: cint){.cdecl.} - TGlut4IntCallback* = proc (v1, v2, v3, v4: cint){.cdecl.} - TGlut1Char2IntCallback* = proc (c: int8, v1, v2: cint){.cdecl.} - TGlut1UInt3IntCallback* = proc (u, v1, v2, v3: cint){.cdecl.} - -const - GLUT_API_VERSION* = 3 - GLUT_XLIB_IMPLEMENTATION* = 12 # Display mode bit masks. - GLUT_RGB* = 0 - GLUT_RGBA* = GLUT_RGB - GLUT_INDEX* = 1 - GLUT_SINGLE* = 0 - GLUT_DOUBLE* = 2 - GLUT_ACCUM* = 4 - GLUT_ALPHA* = 8 - GLUT_DEPTH* = 16 - GLUT_STENCIL* = 32 - GLUT_MULTISAMPLE* = 128 - GLUT_STEREO* = 256 - GLUT_LUMINANCE* = 512 # Mouse buttons. - GLUT_LEFT_BUTTON* = 0 - GLUT_MIDDLE_BUTTON* = 1 - GLUT_RIGHT_BUTTON* = 2 # Mouse button state. - GLUT_DOWN* = 0 - GLUT_UP* = 1 # function keys - GLUT_KEY_F1* = 1 - GLUT_KEY_F2* = 2 - GLUT_KEY_F3* = 3 - GLUT_KEY_F4* = 4 - GLUT_KEY_F5* = 5 - GLUT_KEY_F6* = 6 - GLUT_KEY_F7* = 7 - GLUT_KEY_F8* = 8 - GLUT_KEY_F9* = 9 - GLUT_KEY_F10* = 10 - GLUT_KEY_F11* = 11 - GLUT_KEY_F12* = 12 # directional keys - GLUT_KEY_LEFT* = 100 - GLUT_KEY_UP* = 101 - GLUT_KEY_RIGHT* = 102 - GLUT_KEY_DOWN* = 103 - GLUT_KEY_PAGE_UP* = 104 - GLUT_KEY_PAGE_DOWN* = 105 - GLUT_KEY_HOME* = 106 - GLUT_KEY_END* = 107 - GLUT_KEY_INSERT* = 108 # Entry/exit state. - GLUT_LEFT* = 0 - GLUT_ENTERED* = 1 # Menu usage state. - GLUT_MENU_NOT_IN_USE* = 0 - GLUT_MENU_IN_USE* = 1 # Visibility state. - GLUT_NOT_VISIBLE* = 0 - GLUT_VISIBLE* = 1 # Window status state. - GLUT_HIDDEN* = 0 - GLUT_FULLY_RETAINED* = 1 - GLUT_PARTIALLY_RETAINED* = 2 - GLUT_FULLY_COVERED* = 3 # Color index component selection values. - GLUT_RED* = 0 - GLUT_GREEN* = 1 - GLUT_BLUE* = 2 # Layers for use. - GLUT_NORMAL* = 0 - GLUT_OVERLAY* = 1 - -when defined(Windows): - const # Stroke font constants (use these in GLUT program). - GLUT_STROKE_ROMAN* = cast[Pointer](0) - GLUT_STROKE_MONO_ROMAN* = cast[Pointer](1) # Bitmap font constants (use these in GLUT program). - GLUT_BITMAP_9_BY_15* = cast[Pointer](2) - GLUT_BITMAP_8_BY_13* = cast[Pointer](3) - GLUT_BITMAP_TIMES_ROMAN_10* = cast[Pointer](4) - GLUT_BITMAP_TIMES_ROMAN_24* = cast[Pointer](5) - GLUT_BITMAP_HELVETICA_10* = cast[Pointer](6) - GLUT_BITMAP_HELVETICA_12* = cast[Pointer](7) - GLUT_BITMAP_HELVETICA_18* = cast[Pointer](8) -else: - var # Stroke font constants (use these in GLUT program). - GLUT_STROKE_ROMAN*: Pointer - GLUT_STROKE_MONO_ROMAN*: Pointer # Bitmap font constants (use these in GLUT program). - GLUT_BITMAP_9_BY_15*: Pointer - GLUT_BITMAP_8_BY_13*: Pointer - GLUT_BITMAP_TIMES_ROMAN_10*: Pointer - GLUT_BITMAP_TIMES_ROMAN_24*: Pointer - GLUT_BITMAP_HELVETICA_10*: Pointer - GLUT_BITMAP_HELVETICA_12*: Pointer - GLUT_BITMAP_HELVETICA_18*: Pointer -const # glutGet parameters. - GLUT_WINDOW_X* = 100 - GLUT_WINDOW_Y* = 101 - GLUT_WINDOW_WIDTH* = 102 - GLUT_WINDOW_HEIGHT* = 103 - GLUT_WINDOW_BUFFER_SIZE* = 104 - GLUT_WINDOW_STENCIL_SIZE* = 105 - GLUT_WINDOW_DEPTH_SIZE* = 106 - GLUT_WINDOW_RED_SIZE* = 107 - GLUT_WINDOW_GREEN_SIZE* = 108 - GLUT_WINDOW_BLUE_SIZE* = 109 - GLUT_WINDOW_ALPHA_SIZE* = 110 - GLUT_WINDOW_ACCUM_RED_SIZE* = 111 - GLUT_WINDOW_ACCUM_GREEN_SIZE* = 112 - GLUT_WINDOW_ACCUM_BLUE_SIZE* = 113 - GLUT_WINDOW_ACCUM_ALPHA_SIZE* = 114 - GLUT_WINDOW_DOUBLEBUFFER* = 115 - GLUT_WINDOW_RGBA* = 116 - GLUT_WINDOW_PARENT* = 117 - GLUT_WINDOW_NUM_CHILDREN* = 118 - GLUT_WINDOW_COLORMAP_SIZE* = 119 - GLUT_WINDOW_NUM_SAMPLES* = 120 - GLUT_WINDOW_STEREO* = 121 - GLUT_WINDOW_CURSOR* = 122 - GLUT_SCREEN_WIDTH* = 200 - GLUT_SCREEN_HEIGHT* = 201 - GLUT_SCREEN_WIDTH_MM* = 202 - GLUT_SCREEN_HEIGHT_MM* = 203 - GLUT_MENU_NUM_ITEMS* = 300 - GLUT_DISPLAY_MODE_POSSIBLE* = 400 - GLUT_INIT_WINDOW_X* = 500 - GLUT_INIT_WINDOW_Y* = 501 - GLUT_INIT_WINDOW_WIDTH* = 502 - GLUT_INIT_WINDOW_HEIGHT* = 503 - constGLUT_INIT_DISPLAY_MODE* = 504 - GLUT_ELAPSED_TIME* = 700 - GLUT_WINDOW_FORMAT_ID* = 123 # glutDeviceGet parameters. - GLUT_HAS_KEYBOARD* = 600 - GLUT_HAS_MOUSE* = 601 - GLUT_HAS_SPACEBALL* = 602 - GLUT_HAS_DIAL_AND_BUTTON_BOX* = 603 - GLUT_HAS_TABLET* = 604 - GLUT_NUM_MOUSE_BUTTONS* = 605 - GLUT_NUM_SPACEBALL_BUTTONS* = 606 - GLUT_NUM_BUTTON_BOX_BUTTONS* = 607 - GLUT_NUM_DIALS* = 608 - GLUT_NUM_TABLET_BUTTONS* = 609 - GLUT_DEVICE_IGNORE_KEY_REPEAT* = 610 - GLUT_DEVICE_KEY_REPEAT* = 611 - GLUT_HAS_JOYSTICK* = 612 - GLUT_OWNS_JOYSTICK* = 613 - GLUT_JOYSTICK_BUTTONS* = 614 - GLUT_JOYSTICK_AXES* = 615 - GLUT_JOYSTICK_POLL_RATE* = 616 # glutLayerGet parameters. - GLUT_OVERLAY_POSSIBLE* = 800 - GLUT_LAYER_IN_USE* = 801 - GLUT_HAS_OVERLAY* = 802 - GLUT_TRANSPARENT_INDEX* = 803 - GLUT_NORMAL_DAMAGED* = 804 - GLUT_OVERLAY_DAMAGED* = 805 # glutVideoResizeGet parameters. - GLUT_VIDEO_RESIZE_POSSIBLE* = 900 - GLUT_VIDEO_RESIZE_IN_USE* = 901 - GLUT_VIDEO_RESIZE_X_DELTA* = 902 - GLUT_VIDEO_RESIZE_Y_DELTA* = 903 - GLUT_VIDEO_RESIZE_WIDTH_DELTA* = 904 - GLUT_VIDEO_RESIZE_HEIGHT_DELTA* = 905 - GLUT_VIDEO_RESIZE_X* = 906 - GLUT_VIDEO_RESIZE_Y* = 907 - GLUT_VIDEO_RESIZE_WIDTH* = 908 - GLUT_VIDEO_RESIZE_HEIGHT* = 909 # glutGetModifiers return mask. - GLUT_ACTIVE_SHIFT* = 1 - GLUT_ACTIVE_CTRL* = 2 - GLUT_ACTIVE_ALT* = 4 # glutSetCursor parameters. - # Basic arrows. - GLUT_CURSOR_RIGHT_ARROW* = 0 - GLUT_CURSOR_LEFT_ARROW* = 1 # Symbolic cursor shapes. - GLUT_CURSOR_INFO* = 2 - GLUT_CURSOR_DESTROY* = 3 - GLUT_CURSOR_HELP* = 4 - GLUT_CURSOR_CYCLE* = 5 - GLUT_CURSOR_SPRAY* = 6 - GLUT_CURSOR_WAIT* = 7 - GLUT_CURSOR_TEXT* = 8 - GLUT_CURSOR_CROSSHAIR* = 9 # Directional cursors. - GLUT_CURSOR_UP_DOWN* = 10 - GLUT_CURSOR_LEFT_RIGHT* = 11 # Sizing cursors. - GLUT_CURSOR_TOP_SIDE* = 12 - GLUT_CURSOR_BOTTOM_SIDE* = 13 - GLUT_CURSOR_LEFT_SIDE* = 14 - GLUT_CURSOR_RIGHT_SIDE* = 15 - GLUT_CURSOR_TOP_LEFT_CORNER* = 16 - GLUT_CURSOR_TOP_RIGHT_CORNER* = 17 - GLUT_CURSOR_BOTTOM_RIGHT_CORNER* = 18 - GLUT_CURSOR_BOTTOM_LEFT_CORNER* = 19 # Inherit from parent window. - GLUT_CURSOR_INHERIT* = 100 # Blank cursor. - GLUT_CURSOR_NONE* = 101 # Fullscreen crosshair (if available). - GLUT_CURSOR_FULL_CROSSHAIR* = 102 # GLUT device control sub-API. - # glutSetKeyRepeat modes. - GLUT_KEY_REPEAT_OFF* = 0 - GLUT_KEY_REPEAT_ON* = 1 - GLUT_KEY_REPEAT_DEFAULT* = 2 # Joystick button masks. - GLUT_JOYSTICK_BUTTON_A* = 1 - GLUT_JOYSTICK_BUTTON_B* = 2 - GLUT_JOYSTICK_BUTTON_C* = 4 - GLUT_JOYSTICK_BUTTON_D* = 8 # GLUT game mode sub-API. - # glutGameModeGet. - GLUT_GAME_MODE_ACTIVE* = 0 - GLUT_GAME_MODE_POSSIBLE* = 1 - GLUT_GAME_MODE_WIDTH* = 2 - GLUT_GAME_MODE_HEIGHT* = 3 - GLUT_GAME_MODE_PIXEL_DEPTH* = 4 - GLUT_GAME_MODE_REFRESH_RATE* = 5 - GLUT_GAME_MODE_DISPLAY_CHANGED* = 6 # GLUT initialization sub-API. - -proc glutInit*(argcp: PInteger, argv: PPChar){.dynlib: dllname, importc.} -proc glutInitDisplayMode*(mode: int16){.dynlib: dllname, importc.} -proc glutInitDisplayString*(str: cstring){.dynlib: dllname, importc.} -proc glutInitWindowPosition*(x, y: int){.dynlib: dllname, importc.} -proc glutInitWindowSize*(width, height: int){.dynlib: dllname, importc.} -proc glutMainLoop*(){.dynlib: dllname, importc.} - # GLUT window sub-API. -proc glutCreateWindow*(title: cstring): int{.dynlib: dllname, importc.} -proc glutCreateSubWindow*(win, x, y, width, height: int): int{.dynlib: dllname, - importc.} -proc glutDestroyWindow*(win: int){.dynlib: dllname, importc.} -proc glutPostRedisplay*(){.dynlib: dllname, importc.} -proc glutPostWindowRedisplay*(win: int){.dynlib: dllname, importc.} -proc glutSwapBuffers*(){.dynlib: dllname, importc.} -proc glutGetWindow*(): int{.dynlib: dllname, importc.} -proc glutSetWindow*(win: int){.dynlib: dllname, importc.} -proc glutSetWindowTitle*(title: cstring){.dynlib: dllname, importc.} -proc glutSetIconTitle*(title: cstring){.dynlib: dllname, importc.} -proc glutPositionWindow*(x, y: int){.dynlib: dllname, importc.} -proc glutReshapeWindow*(width, height: int){.dynlib: dllname, importc.} -proc glutPopWindow*(){.dynlib: dllname, importc.} -proc glutPushWindow*(){.dynlib: dllname, importc.} -proc glutIconifyWindow*(){.dynlib: dllname, importc.} -proc glutShowWindow*(){.dynlib: dllname, importc.} -proc glutHideWindow*(){.dynlib: dllname, importc.} -proc glutFullScreen*(){.dynlib: dllname, importc.} -proc glutSetCursor*(cursor: int){.dynlib: dllname, importc.} -proc glutWarpPointer*(x, y: int){.dynlib: dllname, importc.} - # GLUT overlay sub-API. -proc glutEstablishOverlay*(){.dynlib: dllname, importc.} -proc glutRemoveOverlay*(){.dynlib: dllname, importc.} -proc glutUseLayer*(layer: TGLenum){.dynlib: dllname, importc.} -proc glutPostOverlayRedisplay*(){.dynlib: dllname, importc.} -proc glutPostWindowOverlayRedisplay*(win: int){.dynlib: dllname, importc.} -proc glutShowOverlay*(){.dynlib: dllname, importc.} -proc glutHideOverlay*(){.dynlib: dllname, importc.} - # GLUT menu sub-API. -proc glutCreateMenu*(callback: TGlut1IntCallback): int{.dynlib: dllname, importc.} -proc glutDestroyMenu*(menu: int){.dynlib: dllname, importc.} -proc glutGetMenu*(): int{.dynlib: dllname, importc.} -proc glutSetMenu*(menu: int){.dynlib: dllname, importc.} -proc glutAddMenuEntry*(caption: cstring, value: int){.dynlib: dllname, importc.} -proc glutAddSubMenu*(caption: cstring, submenu: int){.dynlib: dllname, importc.} -proc glutChangeToMenuEntry*(item: int, caption: cstring, value: int){. - dynlib: dllname, importc.} -proc glutChangeToSubMenu*(item: int, caption: cstring, submenu: int){. - dynlib: dllname, importc.} -proc glutRemoveMenuItem*(item: int){.dynlib: dllname, importc.} -proc glutAttachMenu*(button: int){.dynlib: dllname, importc.} -proc glutDetachMenu*(button: int){.dynlib: dllname, importc.} - # GLUT window callback sub-API. -proc glutDisplayFunc*(f: TGlutVoidCallback){.dynlib: dllname, importc.} -proc glutReshapeFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.} -proc glutKeyboardFunc*(f: TGlut1Char2IntCallback){.dynlib: dllname, importc.} -proc glutMouseFunc*(f: TGlut4IntCallback){.dynlib: dllname, importc.} -proc glutMotionFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.} -proc glutPassiveMotionFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.} -proc glutEntryFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.} -proc glutVisibilityFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.} -proc glutIdleFunc*(f: TGlutVoidCallback){.dynlib: dllname, importc.} -proc glutTimerFunc*(millis: int16, f: TGlut1IntCallback, value: int){. - dynlib: dllname, importc.} -proc glutMenuStateFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.} -proc glutSpecialFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.} -proc glutSpaceballMotionFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.} -proc glutSpaceballRotateFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.} -proc glutSpaceballButtonFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.} -proc glutButtonBoxFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.} -proc glutDialsFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.} -proc glutTabletMotionFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.} -proc glutTabletButtonFunc*(f: TGlut4IntCallback){.dynlib: dllname, importc.} -proc glutMenuStatusFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.} -proc glutOverlayDisplayFunc*(f: TGlutVoidCallback){.dynlib: dllname, importc.} -proc glutWindowStatusFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.} -proc glutKeyboardUpFunc*(f: TGlut1Char2IntCallback){.dynlib: dllname, importc.} -proc glutSpecialUpFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.} -proc glutJoystickFunc*(f: TGlut1UInt3IntCallback, pollInterval: int){. - dynlib: dllname, importc.} - # GLUT color index sub-API. -proc glutSetColor*(cell: int, red, green, blue: TGLfloat){.dynlib: dllname, - importc.} -proc glutGetColor*(ndx, component: int): TGLfloat{.dynlib: dllname, importc.} -proc glutCopyColormap*(win: int){.dynlib: dllname, importc.} - # GLUT state retrieval sub-API. -proc glutGet*(t: TGLenum): int{.dynlib: dllname, importc.} -proc glutDeviceGet*(t: TGLenum): int{.dynlib: dllname, importc.} - # GLUT extension support sub-API -proc glutExtensionSupported*(name: cstring): int{.dynlib: dllname, importc.} -proc glutGetModifiers*(): int{.dynlib: dllname, importc.} -proc glutLayerGet*(t: TGLenum): int{.dynlib: dllname, importc.} - # GLUT font sub-API -proc glutBitmapCharacter*(font: pointer, character: int){.dynlib: dllname, - importc.} -proc glutBitmapWidth*(font: pointer, character: int): int{.dynlib: dllname, - importc.} -proc glutStrokeCharacter*(font: pointer, character: int){.dynlib: dllname, - importc.} -proc glutStrokeWidth*(font: pointer, character: int): int{.dynlib: dllname, - importc.} -proc glutBitmapLength*(font: pointer, str: cstring): int{.dynlib: dllname, - importc.} -proc glutStrokeLength*(font: pointer, str: cstring): int{.dynlib: dllname, - importc.} - # GLUT pre-built models sub-API -proc glutWireSphere*(radius: TGLdouble, slices, stacks: TGLint){.dynlib: dllname, - importc.} -proc glutSolidSphere*(radius: TGLdouble, slices, stacks: TGLint){.dynlib: dllname, - importc.} -proc glutWireCone*(base, height: TGLdouble, slices, stacks: TGLint){. - dynlib: dllname, importc.} -proc glutSolidCone*(base, height: TGLdouble, slices, stacks: TGLint){. - dynlib: dllname, importc.} -proc glutWireCube*(size: TGLdouble){.dynlib: dllname, importc.} -proc glutSolidCube*(size: TGLdouble){.dynlib: dllname, importc.} -proc glutWireTorus*(innerRadius, outerRadius: TGLdouble, sides, rings: TGLint){. - dynlib: dllname, importc.} -proc glutSolidTorus*(innerRadius, outerRadius: TGLdouble, sides, rings: TGLint){. - dynlib: dllname, importc.} -proc glutWireDodecahedron*(){.dynlib: dllname, importc.} -proc glutSolidDodecahedron*(){.dynlib: dllname, importc.} -proc glutWireTeapot*(size: TGLdouble){.dynlib: dllname, importc.} -proc glutSolidTeapot*(size: TGLdouble){.dynlib: dllname, importc.} -proc glutWireOctahedron*(){.dynlib: dllname, importc.} -proc glutSolidOctahedron*(){.dynlib: dllname, importc.} -proc glutWireTetrahedron*(){.dynlib: dllname, importc.} -proc glutSolidTetrahedron*(){.dynlib: dllname, importc.} -proc glutWireIcosahedron*(){.dynlib: dllname, importc.} -proc glutSolidIcosahedron*(){.dynlib: dllname, importc.} - # GLUT video resize sub-API. -proc glutVideoResizeGet*(param: TGLenum): int{.dynlib: dllname, importc.} -proc glutSetupVideoResizing*(){.dynlib: dllname, importc.} -proc glutStopVideoResizing*(){.dynlib: dllname, importc.} -proc glutVideoResize*(x, y, width, height: int){.dynlib: dllname, importc.} -proc glutVideoPan*(x, y, width, height: int){.dynlib: dllname, importc.} - # GLUT debugging sub-API. -proc glutReportErrors*(){.dynlib: dllname, importc.} - # GLUT device control sub-API. -proc glutIgnoreKeyRepeat*(ignore: int){.dynlib: dllname, importc.} -proc glutSetKeyRepeat*(repeatMode: int){.dynlib: dllname, importc.} -proc glutForceJoystickFunc*(){.dynlib: dllname, importc.} - # GLUT game mode sub-API. - #example glutGameModeString('1280x1024:32@75'); -proc glutGameModeString*(AString: cstring){.dynlib: dllname, importc.} -proc glutEnterGameMode*(): int{.dynlib: dllname, importc.} -proc glutLeaveGameMode*(){.dynlib: dllname, importc.} -proc glutGameModeGet*(mode: TGLenum): int{.dynlib: dllname, importc.} -# implementation diff --git a/lib/oldwrappers/opengl/glx.nim b/lib/oldwrappers/opengl/glx.nim deleted file mode 100755 index a967acfc6..000000000 --- a/lib/oldwrappers/opengl/glx.nim +++ /dev/null @@ -1,148 +0,0 @@ -# -# -# Translation of the Mesa GLX headers for FreePascal -# Copyright (C) 1999 Sebastian Guenther -# -# -# Mesa 3-D graphics library -# Version: 3.0 -# Copyright (C) 1995-1998 Brian Paul -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library 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 -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public -# License along with this library; if not, write to the Free -# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# - -import - X, XLib, XUtil, gl - -when defined(windows): - const dllname = "GL.dll" -elif defined(macosx): - const dllname = "/usr/X11R6/lib/libGL.dylib" -else: - const dllname = "libGL.so" - -const - GLX_USE_GL* = 1 - GLX_BUFFER_SIZE* = 2 - GLX_LEVEL* = 3 - GLX_RGBA* = 4 - GLX_DOUBLEBUFFER* = 5 - GLX_STEREO* = 6 - GLX_AUX_BUFFERS* = 7 - GLX_RED_SIZE* = 8 - GLX_GREEN_SIZE* = 9 - GLX_BLUE_SIZE* = 10 - GLX_ALPHA_SIZE* = 11 - GLX_DEPTH_SIZE* = 12 - GLX_STENCIL_SIZE* = 13 - GLX_ACCUM_RED_SIZE* = 14 - GLX_ACCUM_GREEN_SIZE* = 15 - GLX_ACCUM_BLUE_SIZE* = 16 - GLX_ACCUM_ALPHA_SIZE* = 17 # GLX_EXT_visual_info extension - GLX_X_VISUAL_TYPE_EXT* = 0x00000022 - GLX_TRANSPARENT_TYPE_EXT* = 0x00000023 - GLX_TRANSPARENT_INDEX_VALUE_EXT* = 0x00000024 - GLX_TRANSPARENT_RED_VALUE_EXT* = 0x00000025 - GLX_TRANSPARENT_GREEN_VALUE_EXT* = 0x00000026 - GLX_TRANSPARENT_BLUE_VALUE_EXT* = 0x00000027 - GLX_TRANSPARENT_ALPHA_VALUE_EXT* = 0x00000028 # Error codes returned by glXGetConfig: - GLX_BAD_SCREEN* = 1 - GLX_BAD_ATTRIBUTE* = 2 - GLX_NO_EXTENSION* = 3 - GLX_BAD_VISUAL* = 4 - GLX_BAD_CONTEXT* = 5 - GLX_BAD_VALUE* = 6 - GLX_BAD_ENUM* = 7 # GLX 1.1 and later: - GLX_VENDOR* = 1 - GLX_VERSION* = 2 - GLX_EXTENSIONS* = 3 # GLX_visual_info extension - GLX_TRUE_COLOR_EXT* = 0x00008002 - GLX_DIRECT_COLOR_EXT* = 0x00008003 - GLX_PSEUDO_COLOR_EXT* = 0x00008004 - GLX_STATIC_COLOR_EXT* = 0x00008005 - GLX_GRAY_SCALE_EXT* = 0x00008006 - GLX_STATIC_GRAY_EXT* = 0x00008007 - GLX_NONE_EXT* = 0x00008000 - GLX_TRANSPARENT_RGB_EXT* = 0x00008008 - GLX_TRANSPARENT_INDEX_EXT* = 0x00008009 - -type # From XLib: - XPixmap* = TXID - XFont* = TXID - XColormap* = TXID - GLXContext* = Pointer - GLXPixmap* = TXID - GLXDrawable* = TXID - GLXContextID* = TXID - TXPixmap* = XPixmap - TXFont* = XFont - TXColormap* = XColormap - TGLXContext* = GLXContext - TGLXPixmap* = GLXPixmap - TGLXDrawable* = GLXDrawable - TGLXContextID* = GLXContextID - -proc glXChooseVisual*(dpy: PDisplay, screen: int, attribList: ptr int32): PXVisualInfo{. - cdecl, dynlib: dllname, importc.} -proc glXCreateContext*(dpy: PDisplay, vis: PXVisualInfo, shareList: GLXContext, - direct: bool): GLXContext{.cdecl, dynlib: dllname, - importc.} -proc glXDestroyContext*(dpy: PDisplay, ctx: GLXContext){.cdecl, dynlib: dllname, - importc.} -proc glXMakeCurrent*(dpy: PDisplay, drawable: GLXDrawable, ctx: GLXContext): bool{. - cdecl, dynlib: dllname, importc.} -proc glXCopyContext*(dpy: PDisplay, src, dst: GLXContext, mask: int32){.cdecl, - dynlib: dllname, importc.} -proc glXSwapBuffers*(dpy: PDisplay, drawable: GLXDrawable){.cdecl, - dynlib: dllname, importc.} -proc glXCreateGLXPixmap*(dpy: PDisplay, visual: PXVisualInfo, pixmap: XPixmap): GLXPixmap{. - cdecl, dynlib: dllname, importc.} -proc glXDestroyGLXPixmap*(dpy: PDisplay, pixmap: GLXPixmap){.cdecl, - dynlib: dllname, importc.} -proc glXQueryExtension*(dpy: PDisplay, errorb, event: var int): bool{.cdecl, - dynlib: dllname, importc.} -proc glXQueryVersion*(dpy: PDisplay, maj, min: var int): bool{.cdecl, - dynlib: dllname, importc.} -proc glXIsDirect*(dpy: PDisplay, ctx: GLXContext): bool{.cdecl, dynlib: dllname, - importc.} -proc glXGetConfig*(dpy: PDisplay, visual: PXVisualInfo, attrib: int, - value: var int): int{.cdecl, dynlib: dllname, importc.} -proc glXGetCurrentContext*(): GLXContext{.cdecl, dynlib: dllname, importc.} -proc glXGetCurrentDrawable*(): GLXDrawable{.cdecl, dynlib: dllname, importc.} -proc glXWaitGL*(){.cdecl, dynlib: dllname, importc.} -proc glXWaitX*(){.cdecl, dynlib: dllname, importc.} -proc glXUseXFont*(font: XFont, first, count, list: int){.cdecl, dynlib: dllname, - importc.} - # GLX 1.1 and later -proc glXQueryExtensionsString*(dpy: PDisplay, screen: int): cstring{.cdecl, - dynlib: dllname, importc.} -proc glXQueryServerString*(dpy: PDisplay, screen, name: int): cstring{.cdecl, - dynlib: dllname, importc.} -proc glXGetClientString*(dpy: PDisplay, name: int): cstring{.cdecl, - dynlib: dllname, importc.} - # Mesa GLX Extensions -proc glXCreateGLXPixmapMESA*(dpy: PDisplay, visual: PXVisualInfo, - pixmap: XPixmap, cmap: XColormap): GLXPixmap{. - cdecl, dynlib: dllname, importc.} -proc glXReleaseBufferMESA*(dpy: PDisplay, d: GLXDrawable): bool{.cdecl, - dynlib: dllname, importc.} -proc glXCopySubBufferMESA*(dpy: PDisplay, drawbale: GLXDrawable, - x, y, width, height: int){.cdecl, dynlib: dllname, - importc.} -proc glXGetVideoSyncSGI*(counter: var int32): int{.cdecl, dynlib: dllname, - importc.} -proc glXWaitVideoSyncSGI*(divisor, remainder: int, count: var int32): int{. - cdecl, dynlib: dllname, importc.} -# implementation diff --git a/lib/oldwrappers/opengl/wingl.nim b/lib/oldwrappers/opengl/wingl.nim deleted file mode 100755 index 2cebf8622..000000000 --- a/lib/oldwrappers/opengl/wingl.nim +++ /dev/null @@ -1,348 +0,0 @@ - -import - gl, windows - -proc wglGetExtensionsStringARB*(hdc: HDC): cstring{.dynlib: dllname, importc.} - -const - WGL_FRONT_COLOR_BUFFER_BIT_ARB* = 0x00000001 - WGL_BACK_COLOR_BUFFER_BIT_ARB* = 0x00000002 - WGL_DEPTH_BUFFER_BIT_ARB* = 0x00000004 - WGL_STENCIL_BUFFER_BIT_ARB* = 0x00000008 - -proc WinChoosePixelFormat*(DC: HDC, p2: PPixelFormatDescriptor): int{. - dynlib: "gdi32", importc: "ChoosePixelFormat".} -proc wglCreateBufferRegionARB*(hDC: HDC, iLayerPlane: TGLint, uType: TGLuint): THandle{. - dynlib: dllname, importc.} -proc wglDeleteBufferRegionARB*(hRegion: THandle){.dynlib: dllname, importc.} -proc wglSaveBufferRegionARB*(hRegion: THandle, x: TGLint, y: TGLint, - width: TGLint, height: TGLint): BOOL{. - dynlib: dllname, importc.} -proc wglRestoreBufferRegionARB*(hRegion: THandle, x: TGLint, y: TGLint, - width: TGLint, height: TGLint, xSrc: TGLint, - ySrc: TGLint): BOOL{.dynlib: dllname, importc.} -proc wglAllocateMemoryNV*(size: TGLsizei, readFrequency: TGLfloat, - writeFrequency: TGLfloat, priority: TGLfloat): PGLvoid{. - dynlib: dllname, importc.} -proc wglFreeMemoryNV*(pointer: PGLvoid){.dynlib: dllname, importc.} -const - WGL_IMAGE_BUFFER_MIN_ACCESS_I3D* = 0x00000001 - WGL_IMAGE_BUFFER_LOCK_I3D* = 0x00000002 - -proc wglCreateImageBufferI3D*(hDC: HDC, dwSize: DWORD, uFlags: UINT): PGLvoid{. - dynlib: dllname, importc.} -proc wglDestroyImageBufferI3D*(hDC: HDC, pAddress: PGLvoid): BOOL{. - dynlib: dllname, importc.} -proc wglAssociateImageBufferEventsI3D*(hdc: HDC, pEvent: PHandle, - pAddress: PGLvoid, pSize: PDWORD, - count: UINT): BOOL{.dynlib: dllname, - importc.} -proc wglReleaseImageBufferEventsI3D*(hdc: HDC, pAddress: PGLvoid, count: UINT): BOOL{. - dynlib: dllname, importc.} -proc wglEnableFrameLockI3D*(): BOOL{.dynlib: dllname, importc.} -proc wglDisableFrameLockI3D*(): BOOL{.dynlib: dllname, importc.} -proc wglIsEnabledFrameLockI3D*(pFlag: PBOOL): BOOL{.dynlib: dllname, importc.} -proc wglQueryFrameLockMasterI3D*(pFlag: PBOOL): BOOL{.dynlib: dllname, importc.} -proc wglGetFrameUsageI3D*(pUsage: PGLfloat): BOOL{.dynlib: dllname, importc.} -proc wglBeginFrameTrackingI3D*(): BOOL{.dynlib: dllname, importc.} -proc wglEndFrameTrackingI3D*(): BOOL{.dynlib: dllname, importc.} -proc wglQueryFrameTrackingI3D*(pFrameCount: PDWORD, pMissedFrames: PDWORD, - pLastMissedUsage: PGLfloat): BOOL{. - dynlib: dllname, importc.} -const - WGL_NUMBER_PIXEL_FORMATS_ARB* = 0x00002000 - WGL_DRAW_TO_WINDOW_ARB* = 0x00002001 - WGL_DRAW_TO_BITMAP_ARB* = 0x00002002 - WGL_ACCELERATION_ARB* = 0x00002003 - WGL_NEED_PALETTE_ARB* = 0x00002004 - WGL_NEED_SYSTEM_PALETTE_ARB* = 0x00002005 - WGL_SWAP_LAYER_BUFFERS_ARB* = 0x00002006 - WGL_SWAP_METHOD_ARB* = 0x00002007 - WGL_NUMBER_OVERLAYS_ARB* = 0x00002008 - WGL_NUMBER_UNDERLAYS_ARB* = 0x00002009 - WGL_TRANSPARENT_ARB* = 0x0000200A - WGL_TRANSPARENT_RED_VALUE_ARB* = 0x00002037 - WGL_TRANSPARENT_GREEN_VALUE_ARB* = 0x00002038 - WGL_TRANSPARENT_BLUE_VALUE_ARB* = 0x00002039 - WGL_TRANSPARENT_ALPHA_VALUE_ARB* = 0x0000203A - WGL_TRANSPARENT_INDEX_VALUE_ARB* = 0x0000203B - WGL_SHARE_DEPTH_ARB* = 0x0000200C - WGL_SHARE_STENCIL_ARB* = 0x0000200D - WGL_SHARE_ACCUM_ARB* = 0x0000200E - WGL_SUPPORT_GDI_ARB* = 0x0000200F - WGL_SUPPORT_OPENGL_ARB* = 0x00002010 - WGL_DOUBLE_BUFFER_ARB* = 0x00002011 - WGL_STEREO_ARB* = 0x00002012 - WGL_PIXEL_TYPE_ARB* = 0x00002013 - WGL_COLOR_BITS_ARB* = 0x00002014 - WGL_RED_BITS_ARB* = 0x00002015 - WGL_RED_SHIFT_ARB* = 0x00002016 - WGL_GREEN_BITS_ARB* = 0x00002017 - WGL_GREEN_SHIFT_ARB* = 0x00002018 - WGL_BLUE_BITS_ARB* = 0x00002019 - WGL_BLUE_SHIFT_ARB* = 0x0000201A - WGL_ALPHA_BITS_ARB* = 0x0000201B - WGL_ALPHA_SHIFT_ARB* = 0x0000201C - WGL_ACCUM_BITS_ARB* = 0x0000201D - WGL_ACCUM_RED_BITS_ARB* = 0x0000201E - WGL_ACCUM_GREEN_BITS_ARB* = 0x0000201F - WGL_ACCUM_BLUE_BITS_ARB* = 0x00002020 - WGL_ACCUM_ALPHA_BITS_ARB* = 0x00002021 - WGL_DEPTH_BITS_ARB* = 0x00002022 - WGL_STENCIL_BITS_ARB* = 0x00002023 - WGL_AUX_BUFFERS_ARB* = 0x00002024 - WGL_NO_ACCELERATION_ARB* = 0x00002025 - WGL_GENERIC_ACCELERATION_ARB* = 0x00002026 - WGL_FULL_ACCELERATION_ARB* = 0x00002027 - WGL_SWAP_EXCHANGE_ARB* = 0x00002028 - WGL_SWAP_COPY_ARB* = 0x00002029 - WGL_SWAP_UNDEFINED_ARB* = 0x0000202A - WGL_TYPE_RGBA_ARB* = 0x0000202B - WGL_TYPE_COLORINDEX_ARB* = 0x0000202C - -proc wglGetPixelFormatAttribivARB*(hdc: HDC, iPixelFormat: TGLint, - iLayerPlane: TGLint, nAttributes: TGLuint, - piAttributes: PGLint, piValues: PGLint): BOOL{. - dynlib: dllname, importc.} -proc wglGetPixelFormatAttribfvARB*(hdc: HDC, iPixelFormat: TGLint, - iLayerPlane: TGLint, nAttributes: TGLuint, - piAttributes: PGLint, pfValues: PGLfloat): BOOL{. - dynlib: dllname, importc.} -proc wglChoosePixelFormatARB*(hdc: HDC, piAttribIList: PGLint, - pfAttribFList: PGLfloat, nMaxFormats: TGLuint, - piFormats: PGLint, nNumFormats: PGLuint): BOOL{. - dynlib: dllname, importc.} -const - WGL_ERROR_INVALID_PIXEL_TYPE_ARB* = 0x00002043 - WGL_ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB* = 0x00002054 - -proc wglMakeContextCurrentARB*(hDrawDC: HDC, hReadDC: HDC, hglrc: HGLRC): BOOL{. - dynlib: dllname, importc.} -proc wglGetCurrentReadDCARB*(): HDC{.dynlib: dllname, importc.} -const - WGL_DRAW_TO_PBUFFER_ARB* = 0x0000202D # WGL_DRAW_TO_PBUFFER_ARB { already defined } - WGL_MAX_PBUFFER_PIXELS_ARB* = 0x0000202E - WGL_MAX_PBUFFER_WIDTH_ARB* = 0x0000202F - WGL_MAX_PBUFFER_HEIGHT_ARB* = 0x00002030 - WGL_PBUFFER_LARGEST_ARB* = 0x00002033 - WGL_PBUFFER_WIDTH_ARB* = 0x00002034 - WGL_PBUFFER_HEIGHT_ARB* = 0x00002035 - WGL_PBUFFER_LOST_ARB* = 0x00002036 - -proc wglCreatePbufferARB*(hDC: HDC, iPixelFormat: TGLint, iWidth: TGLint, - iHeight: TGLint, piAttribList: PGLint): THandle{. - dynlib: dllname, importc.} -proc wglGetPbufferDCARB*(hPbuffer: THandle): HDC{.dynlib: dllname, importc.} -proc wglReleasePbufferDCARB*(hPbuffer: THandle, hDC: HDC): TGLint{. - dynlib: dllname, importc.} -proc wglDestroyPbufferARB*(hPbuffer: THandle): BOOL{.dynlib: dllname, importc.} -proc wglQueryPbufferARB*(hPbuffer: THandle, iAttribute: TGLint, piValue: PGLint): BOOL{. - dynlib: dllname, importc.} -proc wglSwapIntervalEXT*(interval: TGLint): BOOL{.dynlib: dllname, importc.} -proc wglGetSwapIntervalEXT*(): TGLint{.dynlib: dllname, importc.} -const - WGL_BIND_TO_TEXTURE_RGB_ARB* = 0x00002070 - WGL_BIND_TO_TEXTURE_RGBA_ARB* = 0x00002071 - WGL_TEXTURE_FORMAT_ARB* = 0x00002072 - WGL_TEXTURE_TARGET_ARB* = 0x00002073 - WGL_MIPMAP_TEXTURE_ARB* = 0x00002074 - WGL_TEXTURE_RGB_ARB* = 0x00002075 - WGL_TEXTURE_RGBA_ARB* = 0x00002076 - WGL_NO_TEXTURE_ARB* = 0x00002077 - WGL_TEXTURE_CUBE_MAP_ARB* = 0x00002078 - WGL_TEXTURE_1D_ARB* = 0x00002079 - WGL_TEXTURE_2D_ARB* = 0x0000207A # WGL_NO_TEXTURE_ARB { already defined } - WGL_MIPMAP_LEVEL_ARB* = 0x0000207B - WGL_CUBE_MAP_FACE_ARB* = 0x0000207C - WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB* = 0x0000207D - WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB* = 0x0000207E - WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB* = 0x0000207F - WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB* = 0x00002080 - WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB* = 0x00002081 - WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB* = 0x00002082 - WGL_FRONT_LEFT_ARB* = 0x00002083 - WGL_FRONT_RIGHT_ARB* = 0x00002084 - WGL_BACK_LEFT_ARB* = 0x00002085 - WGL_BACK_RIGHT_ARB* = 0x00002086 - WGL_AUX0_ARB* = 0x00002087 - WGL_AUX1_ARB* = 0x00002088 - WGL_AUX2_ARB* = 0x00002089 - WGL_AUX3_ARB* = 0x0000208A - WGL_AUX4_ARB* = 0x0000208B - WGL_AUX5_ARB* = 0x0000208C - WGL_AUX6_ARB* = 0x0000208D - WGL_AUX7_ARB* = 0x0000208E - WGL_AUX8_ARB* = 0x0000208F - WGL_AUX9_ARB* = 0x00002090 - -proc wglBindTexImageARB*(hPbuffer: THandle, iBuffer: TGLint): BOOL{. - dynlib: dllname, importc.} -proc wglReleaseTexImageARB*(hPbuffer: THandle, iBuffer: TGLint): BOOL{. - dynlib: dllname, importc.} -proc wglSetPbufferAttribARB*(hPbuffer: THandle, piAttribList: PGLint): BOOL{. - dynlib: dllname, importc.} -proc wglGetExtensionsStringEXT*(): cstring{.dynlib: dllname, importc.} -proc wglMakeContextCurrentEXT*(hDrawDC: HDC, hReadDC: HDC, hglrc: HGLRC): BOOL{. - dynlib: dllname, importc.} -proc wglGetCurrentReadDCEXT*(): HDC{.dynlib: dllname, importc.} -const - WGL_DRAW_TO_PBUFFER_EXT* = 0x0000202D - WGL_MAX_PBUFFER_PIXELS_EXT* = 0x0000202E - WGL_MAX_PBUFFER_WIDTH_EXT* = 0x0000202F - WGL_MAX_PBUFFER_HEIGHT_EXT* = 0x00002030 - WGL_OPTIMAL_PBUFFER_WIDTH_EXT* = 0x00002031 - WGL_OPTIMAL_PBUFFER_HEIGHT_EXT* = 0x00002032 - WGL_PBUFFER_LARGEST_EXT* = 0x00002033 - WGL_PBUFFER_WIDTH_EXT* = 0x00002034 - WGL_PBUFFER_HEIGHT_EXT* = 0x00002035 - -proc wglCreatePbufferEXT*(hDC: HDC, iPixelFormat: TGLint, iWidth: TGLint, - iHeight: TGLint, piAttribList: PGLint): THandle{. - dynlib: dllname, importc.} -proc wglGetPbufferDCEXT*(hPbuffer: THandle): HDC{.dynlib: dllname, importc.} -proc wglReleasePbufferDCEXT*(hPbuffer: THandle, hDC: HDC): TGLint{. - dynlib: dllname, importc.} -proc wglDestroyPbufferEXT*(hPbuffer: THandle): BOOL{.dynlib: dllname, importc.} -proc wglQueryPbufferEXT*(hPbuffer: THandle, iAttribute: TGLint, piValue: PGLint): BOOL{. - dynlib: dllname, importc.} -const - WGL_NUMBER_PIXEL_FORMATS_EXT* = 0x00002000 - WGL_DRAW_TO_WINDOW_EXT* = 0x00002001 - WGL_DRAW_TO_BITMAP_EXT* = 0x00002002 - WGL_ACCELERATION_EXT* = 0x00002003 - WGL_NEED_PALETTE_EXT* = 0x00002004 - WGL_NEED_SYSTEM_PALETTE_EXT* = 0x00002005 - WGL_SWAP_LAYER_BUFFERS_EXT* = 0x00002006 - WGL_SWAP_METHOD_EXT* = 0x00002007 - WGL_NUMBER_OVERLAYS_EXT* = 0x00002008 - WGL_NUMBER_UNDERLAYS_EXT* = 0x00002009 - WGL_TRANSPARENT_EXT* = 0x0000200A - WGL_TRANSPARENT_VALUE_EXT* = 0x0000200B - WGL_SHARE_DEPTH_EXT* = 0x0000200C - WGL_SHARE_STENCIL_EXT* = 0x0000200D - WGL_SHARE_ACCUM_EXT* = 0x0000200E - WGL_SUPPORT_GDI_EXT* = 0x0000200F - WGL_SUPPORT_OPENGL_EXT* = 0x00002010 - WGL_DOUBLE_BUFFER_EXT* = 0x00002011 - WGL_STEREO_EXT* = 0x00002012 - WGL_PIXEL_TYPE_EXT* = 0x00002013 - WGL_COLOR_BITS_EXT* = 0x00002014 - WGL_RED_BITS_EXT* = 0x00002015 - WGL_RED_SHIFT_EXT* = 0x00002016 - WGL_GREEN_BITS_EXT* = 0x00002017 - WGL_GREEN_SHIFT_EXT* = 0x00002018 - WGL_BLUE_BITS_EXT* = 0x00002019 - WGL_BLUE_SHIFT_EXT* = 0x0000201A - WGL_ALPHA_BITS_EXT* = 0x0000201B - WGL_ALPHA_SHIFT_EXT* = 0x0000201C - WGL_ACCUM_BITS_EXT* = 0x0000201D - WGL_ACCUM_RED_BITS_EXT* = 0x0000201E - WGL_ACCUM_GREEN_BITS_EXT* = 0x0000201F - WGL_ACCUM_BLUE_BITS_EXT* = 0x00002020 - WGL_ACCUM_ALPHA_BITS_EXT* = 0x00002021 - WGL_DEPTH_BITS_EXT* = 0x00002022 - WGL_STENCIL_BITS_EXT* = 0x00002023 - WGL_AUX_BUFFERS_EXT* = 0x00002024 - WGL_NO_ACCELERATION_EXT* = 0x00002025 - WGL_GENERIC_ACCELERATION_EXT* = 0x00002026 - WGL_FULL_ACCELERATION_EXT* = 0x00002027 - WGL_SWAP_EXCHANGE_EXT* = 0x00002028 - WGL_SWAP_COPY_EXT* = 0x00002029 - WGL_SWAP_UNDEFINED_EXT* = 0x0000202A - WGL_TYPE_RGBA_EXT* = 0x0000202B - WGL_TYPE_COLORINDEX_EXT* = 0x0000202C - -proc wglGetPixelFormatAttribivEXT*(hdc: HDC, iPixelFormat: TGLint, - iLayerPlane: TGLint, nAttributes: TGLuint, - piAttributes: PGLint, piValues: PGLint): BOOL{. - dynlib: dllname, importc.} -proc wglGetPixelFormatAttribfvEXT*(hdc: HDC, iPixelFormat: TGLint, - iLayerPlane: TGLint, nAttributes: TGLuint, - piAttributes: PGLint, pfValues: PGLfloat): BOOL{. - dynlib: dllname, importc.} -proc wglChoosePixelFormatEXT*(hdc: HDC, piAttribIList: PGLint, - pfAttribFList: PGLfloat, nMaxFormats: TGLuint, - piFormats: PGLint, nNumFormats: PGLuint): BOOL{. - dynlib: dllname, importc.} -const - WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D* = 0x00002050 - WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D* = 0x00002051 - WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D* = 0x00002052 - WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D* = 0x00002053 - -proc wglGetDigitalVideoParametersI3D*(hDC: HDC, iAttribute: TGLint, - piValue: PGLint): BOOL{.dynlib: dllname, - importc.} -proc wglSetDigitalVideoParametersI3D*(hDC: HDC, iAttribute: TGLint, - piValue: PGLint): BOOL{.dynlib: dllname, - importc.} -const - WGL_GAMMA_TABLE_SIZE_I3D* = 0x0000204E - WGL_GAMMA_EXCLUDE_DESKTOP_I3D* = 0x0000204F - -proc wglGetGammaTableParametersI3D*(hDC: HDC, iAttribute: TGLint, - piValue: PGLint): BOOL{.dynlib: dllname, - importc.} -proc wglSetGammaTableParametersI3D*(hDC: HDC, iAttribute: TGLint, - piValue: PGLint): BOOL{.dynlib: dllname, - importc.} -proc wglGetGammaTableI3D*(hDC: HDC, iEntries: TGLint, puRed: PGLUSHORT, - puGreen: PGLUSHORT, puBlue: PGLUSHORT): BOOL{. - dynlib: dllname, importc.} -proc wglSetGammaTableI3D*(hDC: HDC, iEntries: TGLint, puRed: PGLUSHORT, - puGreen: PGLUSHORT, puBlue: PGLUSHORT): BOOL{. - dynlib: dllname, importc.} -const - WGL_GENLOCK_SOURCE_MULTIVIEW_I3D* = 0x00002044 - WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D* = 0x00002045 - WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D* = 0x00002046 - WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D* = 0x00002047 - WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D* = 0x00002048 - WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D* = 0x00002049 - WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D* = 0x0000204A - WGL_GENLOCK_SOURCE_EDGE_RISING_I3D* = 0x0000204B - WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D* = 0x0000204C - WGL_FLOAT_COMPONENTS_NV* = 0x000020B0 - WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV* = 0x000020B1 - WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV* = 0x000020B2 - WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV* = 0x000020B3 - WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV* = 0x000020B4 - WGL_TEXTURE_FLOAT_R_NV* = 0x000020B5 - WGL_TEXTURE_FLOAT_RG_NV* = 0x000020B6 - WGL_TEXTURE_FLOAT_RGB_NV* = 0x000020B7 - WGL_TEXTURE_FLOAT_RGBA_NV* = 0x000020B8 - -proc wglEnableGenlockI3D*(hDC: HDC): BOOL{.dynlib: dllname, importc.} -proc wglDisableGenlockI3D*(hDC: HDC): BOOL{.dynlib: dllname, importc.} -proc wglIsEnabledGenlockI3D*(hDC: HDC, pFlag: PBOOL): BOOL{.dynlib: dllname, - importc.} -proc wglGenlockSourceI3D*(hDC: HDC, uSource: TGLuint): BOOL{.dynlib: dllname, - importc.} -proc wglGetGenlockSourceI3D*(hDC: HDC, uSource: PGLUINT): BOOL{.dynlib: dllname, - importc.} -proc wglGenlockSourceEdgeI3D*(hDC: HDC, uEdge: TGLuint): BOOL{.dynlib: dllname, - importc.} -proc wglGetGenlockSourceEdgeI3D*(hDC: HDC, uEdge: PGLUINT): BOOL{. - dynlib: dllname, importc.} -proc wglGenlockSampleRateI3D*(hDC: HDC, uRate: TGLuint): BOOL{.dynlib: dllname, - importc.} -proc wglGetGenlockSampleRateI3D*(hDC: HDC, uRate: PGLUINT): BOOL{. - dynlib: dllname, importc.} -proc wglGenlockSourceDelayI3D*(hDC: HDC, uDelay: TGLuint): BOOL{. - dynlib: dllname, importc.} -proc wglGetGenlockSourceDelayI3D*(hDC: HDC, uDelay: PGLUINT): BOOL{. - dynlib: dllname, importc.} -proc wglQueryGenlockMaxSourceDelayI3D*(hDC: HDC, uMaxLineDelay: PGLUINT, - uMaxPixelDelay: PGLUINT): BOOL{. - dynlib: dllname, importc.} -const - WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV* = 0x000020A0 - WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV* = 0x000020A1 - WGL_TEXTURE_RECTANGLE_NV* = 0x000020A2 - -const - WGL_RGBA_FLOAT_MODE_ATI* = 0x00008820 - WGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI* = 0x00008835 - WGL_TYPE_RGBA_FLOAT_ATI* = 0x000021A0 - -# implementation diff --git a/lib/oldwrappers/pcre/pcre.nim b/lib/oldwrappers/pcre/pcre.nim deleted file mode 100755 index 05f937579..000000000 --- a/lib/oldwrappers/pcre/pcre.nim +++ /dev/null @@ -1,279 +0,0 @@ -# -# -# Nimrod's Runtime Library -# (c) Copyright 2009 Andreas Rumpf -# -# See the file "copying.txt", included in this -# distribution, for details about the copyright. -# - -{.compile: "pcre_all.c" .} - -type - Pbyte = ptr byte - PPchar = ptr cstring - Pint = ptr cint - Ppcre* = ptr TPcre - Ppcre_callout_block* = ptr tpcre_callout_block - Ppcre_extra* = ptr Tpcre_extra - TPcre {.final, pure.} = object - - # The structure for passing additional data to pcre_exec(). This is defined - # in such as way as to be extensible. - # Bits for which fields are set - # Opaque data from pcre_study() - # Maximum number of calls to match() - # Data passed back in callouts - # Const before type ignored - # Pointer to character tables - Tpcre_extra* {.final, pure.} = object - flags: cint - study_data: pointer - match_limit: cint - callout_data: pointer - tables: ptr byte - - # The structure for passing out data via the pcre_callout_function. We use a - # structure so that new fields can be added on the end in future versions, - # without changing the API of the function, thereby allowing old clients to - # work without modification. - # Identifies version of block - # ------------------------ Version 0 ------------------------------- - # Number compiled into pattern - # The offset vector - # Const before type ignored - # The subject being matched - # The length of the subject - # Offset to start of this match attempt - # Where we currently are in the subject - # Max current capture - # Most recently closed capture - # Data passed in with the call - # ------------------- Added for Version 1 -------------------------- - # Offset to next item in the pattern - # Length of next item in the pattern - # ------------------------------------------------------------------ - TPcre_callout_block* {.final, pure.} = object - version: cint - callout_number: cint - offset_vector: ptr cint - subject: ptr char - subject_length: cint - start_match: cint - current_position: cint - capture_top: cint - capture_last: cint - callout_data: pointer - pattern_position: cint - next_item_length: cint - - -#************************************************ -#* Perl-Compatible Regular Expressions * -#************************************************ -# -# Modified by Andreas Rumpf for h2pas. - -# In its original form, this is the .in file that is transformed by -# "configure" into pcre.h. -# -# Copyright (c) 1997-2005 University of Cambridge -# -# ----------------------------------------------------------------------------- -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# * Neither the name of the University of Cambridge nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# ----------------------------------------------------------------------------- - -# The file pcre.h is build by "configure". Do not edit it; instead -# make changes to pcre.in. - -const - PCRE_MAJOR* = 6 - PCRE_MINOR* = 3 - PCRE_DATE* = "2005/11/29" - # Options - PCRE_CASELESS* = 0x00000001 - PCRE_MULTILINE* = 0x00000002 - PCRE_DOTALL* = 0x00000004 - PCRE_EXTENDED* = 0x00000008 - PCRE_ANCHORED* = 0x00000010 - PCRE_DOLLAR_ENDONLY* = 0x00000020 - PCRE_EXTRA* = 0x00000040 - PCRE_NOTBOL* = 0x00000080 - PCRE_NOTEOL* = 0x00000100 - PCRE_UNGREEDY* = 0x00000200 - PCRE_NOTEMPTY* = 0x00000400 - PCRE_UTF8* = 0x00000800 - PCRE_NO_AUTO_CAPTURE* = 0x00001000 - PCRE_NO_UTF8_CHECK* = 0x00002000 - PCRE_AUTO_CALLOUT* = 0x00004000 - PCRE_PARTIAL* = 0x00008000 - PCRE_DFA_SHORTEST* = 0x00010000 - PCRE_DFA_RESTART* = 0x00020000 - PCRE_FIRSTLINE* = 0x00040000 - # Exec-time and get/set-time error codes - PCRE_ERROR_NOMATCH* = -(1) - PCRE_ERROR_NULL* = -(2) - PCRE_ERROR_BADOPTION* = -(3) - PCRE_ERROR_BADMAGIC* = -(4) - PCRE_ERROR_UNKNOWN_NODE* = -(5) - PCRE_ERROR_NOMEMORY* = -(6) - PCRE_ERROR_NOSUBSTRING* = -(7) - PCRE_ERROR_MATCHLIMIT* = -(8) - # Never used by PCRE itself - PCRE_ERROR_CALLOUT* = -(9) - PCRE_ERROR_BADUTF8* = -(10) - PCRE_ERROR_BADUTF8_OFFSET* = -(11) - PCRE_ERROR_PARTIAL* = -(12) - PCRE_ERROR_BADPARTIAL* = -(13) - PCRE_ERROR_INTERNAL* = -(14) - PCRE_ERROR_BADCOUNT* = -(15) - PCRE_ERROR_DFA_UITEM* = -(16) - PCRE_ERROR_DFA_UCOND* = -(17) - PCRE_ERROR_DFA_UMLIMIT* = -(18) - PCRE_ERROR_DFA_WSSIZE* = -(19) - PCRE_ERROR_DFA_RECURSE* = -(20) - # Request types for pcre_fullinfo() - PCRE_INFO_OPTIONS* = 0 - PCRE_INFO_SIZE* = 1 - PCRE_INFO_CAPTURECOUNT* = 2 - PCRE_INFO_BACKREFMAX* = 3 - PCRE_INFO_FIRSTBYTE* = 4 - # For backwards compatibility - PCRE_INFO_FIRSTCHAR* = 4 - PCRE_INFO_FIRSTTABLE* = 5 - PCRE_INFO_LASTLITERAL* = 6 - PCRE_INFO_NAMEENTRYSIZE* = 7 - PCRE_INFO_NAMECOUNT* = 8 - PCRE_INFO_NAMETABLE* = 9 - PCRE_INFO_STUDYSIZE* = 10 - PCRE_INFO_DEFAULT_TABLES* = 11 - # Request types for pcre_config() - PCRE_CONFIG_UTF8* = 0 - PCRE_CONFIG_NEWLINE* = 1 - PCRE_CONFIG_LINK_SIZE* = 2 - PCRE_CONFIG_POSIX_MALLOC_THRESHOLD* = 3 - PCRE_CONFIG_MATCH_LIMIT* = 4 - PCRE_CONFIG_STACKRECURSE* = 5 - PCRE_CONFIG_UNICODE_PROPERTIES* = 6 - # Bit flags for the pcre_extra structure - PCRE_EXTRA_STUDY_DATA* = 0x0001 - PCRE_EXTRA_MATCH_LIMIT* = 0x0002 - PCRE_EXTRA_CALLOUT_DATA* = 0x0004 - PCRE_EXTRA_TABLES* = 0x0008 - -# Exported PCRE functions - -proc pcre_compile*(para1: cstring, para2: cint, para3: ptr cstring, - para4: ptr int, para5: Pbyte): Ppcre {. - importc: "pcre_compile", noconv.} - -proc pcre_compile2*(para1: cstring, para2: cint, para3: Pint, para4: PPchar, - para5: ptr int, para6: Pbyte): Ppcre {. - importc: "pcre_compile2", noconv.} - -proc pcre_config*(para1: cint, para2: pointer): cint {. - importc: "pcre_config", noconv.} - -proc pcre_copy_named_substring*(para1: Ppcre, para2: cstring, para3: Pint, - para4: cint, para5: cstring, para6: cstring, - para7: cint): cint {. - importc: "pcre_copy_named_substring", noconv.} - -proc pcre_copy_substring*(para1: cstring, para2: Pint, para3: cint, para4: cint, - para5: cstring, para6: cint): cint {. - importc: "pcre_copy_substring", noconv.} - -proc pcre_dfa_exec*(para1: Ppcre, para2: Ppcre_extra, para3: cstring, - para4: cint, para5: cint, para6: cint, para7: Pint, - para8: cint, para9: Pint, para10: cint): cint {. - importc: "pcre_dfa_exec", noconv.} - -proc pcre_exec*(para1: Ppcre, para2: Ppcre_extra, para3: cstring, - para4: cint, para5: cint, para6: cint, para7: Pint, - para8: cint): cint {.importc: "pcre_exec", noconv.} - -proc pcre_free_substring*(para1: cstring) {. - importc: "pcre_free_substring", noconv.} - -proc pcre_free_substring_list*(para1: PPchar) {. - importc: "pcre_free_substring_list", noconv.} - -proc pcre_fullinfo*(para1: Ppcre, para2: Ppcre_extra, para3: cint, - para4: pointer): cint {.importc: "pcre_fullinfo", noconv.} - -proc pcre_get_named_substring*(para1: Ppcre, para2: cstring, para3: Pint, - para4: cint, para5: cstring, para6: PPchar): cint {. - importc: "pcre_get_named_substring", noconv.} - -proc pcre_get_stringnumber*(para1: Ppcre, para2: cstring): cint {. - importc: "pcre_get_stringnumber", noconv.} - -proc pcre_get_substring*(para1: cstring, para2: Pint, para3: cint, - para4: cint, para5: PPchar): cint {. - importc: "pcre_get_substring", noconv.} - -proc pcre_get_substring_list*(para1: cstring, para2: Pint, para3: cint, - para4: ptr PPchar): cint {. - importc: "pcre_get_substring_list", noconv.} - -proc pcre_info*(para1: Ppcre, para2: Pint, para3: Pint): cint {. - importc: "pcre_info", noconv.} - -proc pcre_maketables*: ptr byte {. - importc: "pcre_maketables", noconv.} - -proc pcre_refcount*(para1: Ppcre, para2: cint): cint {. - importc: "pcre_refcount", noconv.} - -proc pcre_study*(para1: Ppcre, para2: cint, - para3: ptr CString): Ppcre_extra {.importc, noconv.} - -proc pcre_version*: CString {.importc: "pcre_version", noconv.} - -# Indirection for store get and free functions. These can be set to -# alternative malloc/free functions if required. Special ones are used in the -# non-recursive case for "frames". There is also an optional callout function -# that is triggered by the (?) regex item. -# - -# we use Nimrod's memory manager (but not GC!) for these functions: -type - TMalloc = proc (para1: int): pointer {.noconv.} - TFree = proc (para1: pointer) {.noconv.} -var - pcre_malloc {.importc: "pcre_malloc".}: TMalloc - pcre_free {.importc: "pcre_free".}: TFree - pcre_stack_malloc {.importc: "pcre_stack_malloc".}: TMalloc - pcre_stack_free {.importc: "pcre_stack_free".}: TFree - pcre_callout {.importc: "pcre_callout".}: - proc (para1: Ppcre_callout_block): cint {.noconv.} - -pcre_malloc = cast[TMalloc](system.alloc) -pcre_free = cast[TFree](system.dealloc) -pcre_stack_malloc = cast[TMalloc](system.alloc) -pcre_stack_free = cast[TFree](system.dealloc) -pcre_callout = nil diff --git a/lib/oldwrappers/pcre/pcre_all.c b/lib/oldwrappers/pcre/pcre_all.c deleted file mode 100755 index bcda06e50..000000000 --- a/lib/oldwrappers/pcre/pcre_all.c +++ /dev/null @@ -1,30072 +0,0 @@ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* This file is automatically written by the dftables auxiliary -program. If you edit it by hand, you might like to edit the Makefile to -prevent its ever being regenerated. - -This file contains the default tables for characters with codes less than -128 (ASCII characters). These tables are used when no external tables are -passed to PCRE. */ - -const unsigned char _pcre_default_tables[] = { - -/* This table is a lower casing table. */ - - 0, 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, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, - 64, 97, 98, 99,100,101,102,103, - 104,105,106,107,108,109,110,111, - 112,113,114,115,116,117,118,119, - 120,121,122, 91, 92, 93, 94, 95, - 96, 97, 98, 99,100,101,102,103, - 104,105,106,107,108,109,110,111, - 112,113,114,115,116,117,118,119, - 120,121,122,123,124,125,126,127, - 128,129,130,131,132,133,134,135, - 136,137,138,139,140,141,142,143, - 144,145,146,147,148,149,150,151, - 152,153,154,155,156,157,158,159, - 160,161,162,163,164,165,166,167, - 168,169,170,171,172,173,174,175, - 176,177,178,179,180,181,182,183, - 184,185,186,187,188,189,190,191, - 192,193,194,195,196,197,198,199, - 200,201,202,203,204,205,206,207, - 208,209,210,211,212,213,214,215, - 216,217,218,219,220,221,222,223, - 224,225,226,227,228,229,230,231, - 232,233,234,235,236,237,238,239, - 240,241,242,243,244,245,246,247, - 248,249,250,251,252,253,254,255, - -/* This table is a case flipping table. */ - - 0, 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, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, - 64, 97, 98, 99,100,101,102,103, - 104,105,106,107,108,109,110,111, - 112,113,114,115,116,117,118,119, - 120,121,122, 91, 92, 93, 94, 95, - 96, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, - 88, 89, 90,123,124,125,126,127, - 128,129,130,131,132,133,134,135, - 136,137,138,139,140,141,142,143, - 144,145,146,147,148,149,150,151, - 152,153,154,155,156,157,158,159, - 160,161,162,163,164,165,166,167, - 168,169,170,171,172,173,174,175, - 176,177,178,179,180,181,182,183, - 184,185,186,187,188,189,190,191, - 192,193,194,195,196,197,198,199, - 200,201,202,203,204,205,206,207, - 208,209,210,211,212,213,214,215, - 216,217,218,219,220,221,222,223, - 224,225,226,227,228,229,230,231, - 232,233,234,235,236,237,238,239, - 240,241,242,243,244,245,246,247, - 248,249,250,251,252,253,254,255, - -/* This table contains bit maps for various character classes. -Each map is 32 bytes long and the bits run from the least -significant end of each byte. The classes that have their own -maps are: space, xdigit, digit, upper, lower, word, graph -print, punct, and cntrl. Other classes are built from combinations. */ - - 0x00,0x3e,0x00,0x00,0x01,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, - 0x7e,0x00,0x00,0x00,0x7e,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, - 0xfe,0xff,0xff,0x87,0xfe,0xff,0xff,0x07, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, - 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0x00,0x00,0x00,0x00,0xfe,0xff,0x00,0xfc, - 0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x78, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - - 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - -/* This table identifies various classes of character by individual bits: - 0x01 white space character - 0x02 letter - 0x04 decimal digit - 0x08 hexadecimal digit - 0x10 alphanumeric or '_' - 0x80 regular expression metacharacter or binary zero -*/ - - 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0- 7 */ - 0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00, /* 8- 15 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */ - 0x01,0x00,0x00,0x00,0x80,0x00,0x00,0x00, /* - ' */ - 0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x00, /* ( - / */ - 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /* 0 - 7 */ - 0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x80, /* 8 - ? */ - 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* @ - G */ - 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* H - O */ - 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* P - W */ - 0x12,0x12,0x12,0x80,0x00,0x00,0x80,0x10, /* X - _ */ - 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* ` - g */ - 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* h - o */ - 0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* p - w */ - 0x12,0x12,0x12,0x80,0x80,0x00,0x00,0x00, /* x -127 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */ - -/* End of chartables.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_compile(), along with -supporting internal functions that are not used by other modules. */ - - -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - -/* This header contains definitions that are shared between the different -modules, but which are not relevant to the exported API. This includes some -functions whose names all begin with "_pcre_". */ - - -/* Define DEBUG to get debugging output on stdout. */ - -/**** -#define DEBUG -****/ - -/* Use a macro for debugging printing, 'cause that eliminates the use of #ifdef -inline, and there are *still* stupid compilers about that don't like indented -pre-processor statements, or at least there were when I first wrote this. After -all, it had only been about 10 years then... */ - -#ifdef DEBUG -#define DPRINTF(p) printf p -#else -#define DPRINTF(p) /*nothing*/ -#endif - - -/* Get the definitions provided by running "configure" */ - - -/* On Unix systems config.in is converted by configure into config.h. PCRE is -written in Standard C, but there are a few non-standard things it can cope -with, allowing it to run on SunOS4 and other "close to standard" systems. - -On a non-Unix system you should just copy this file into config.h, and set up -the macros the way you need them. You should normally change the definitions of -HAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf -works, these cannot be made the defaults. If your system has bcopy() and not -memmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your -system has neither bcopy() nor memmove(), leave them both as 0; an emulation -function will be used. */ - -/* If you are compiling for a system that uses EBCDIC instead of ASCII -character codes, define this macro as 1. On systems that can use "configure", -this can be done via --enable-ebcdic. */ - -#ifndef EBCDIC -#define EBCDIC 0 -#endif - -/* If you are compiling for a system that needs some magic to be inserted -before the definition of an exported function, define this macro to contain the -relevant magic. It apears at the start of every exported function. */ - -#define EXPORT - -/* Define to empty if the "const" keyword does not work. */ - -#undef const - -/* Define to "unsigned" if doesn't define size_t. */ - -#undef size_t - -/* The following two definitions are mainly for the benefit of SunOS4, which -doesn't have the strerror() or memmove() functions that should be present in -all Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should -normally be defined with the value 1 for other systems, but unfortunately we -can't make this the default because "configure" files generated by autoconf -will only change 0 to 1; they won't change 1 to 0 if the functions are not -found. */ - -#define HAVE_STRERROR 1 -#define HAVE_MEMMOVE 1 - -/* There are some non-Unix systems that don't even have bcopy(). If this macro -is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of -HAVE_BCOPY is not relevant. */ - -#define HAVE_BCOPY 0 - -/* The value of NEWLINE determines the newline character. The default is to -leave it up to the compiler, but some sites want to force a particular value. -On Unix systems, "configure" can be used to override this default. */ - -#ifndef NEWLINE -#define NEWLINE '\n' -#endif - -/* The value of LINK_SIZE determines the number of bytes used to store -links as offsets within the compiled regex. The default is 2, which allows for -compiled patterns up to 64K long. This covers the vast majority of cases. -However, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for -longer patterns in extreme cases. On Unix systems, "configure" can be used to -override this default. */ - -#ifndef LINK_SIZE -#define LINK_SIZE 2 -#endif - -/* The value of MATCH_LIMIT determines the default number of times the match() -function can be called during a single execution of pcre_exec(). (There is a -runtime method of setting a different limit.) The limit exists in order to -catch runaway regular expressions that take for ever to determine that they do -not match. The default is set very large so that it does not accidentally catch -legitimate cases. On Unix systems, "configure" can be used to override this -default default. */ - -#ifndef MATCH_LIMIT -#define MATCH_LIMIT 10000000 -#endif - -/* When calling PCRE via the POSIX interface, additional working storage is -required for holding the pointers to capturing substrings because PCRE requires -three integers per substring, whereas the POSIX interface provides only two. If -the number of expected substrings is small, the wrapper function uses space on -the stack, because this is faster than using malloc() for each call. The -threshold above which the stack is no longer use is defined by POSIX_MALLOC_ -THRESHOLD. On Unix systems, "configure" can be used to override this default. -*/ - -#ifndef POSIX_MALLOC_THRESHOLD -#define POSIX_MALLOC_THRESHOLD 10 -#endif - -/* PCRE uses recursive function calls to handle backtracking while matching. -This can sometimes be a problem on systems that have stacks of limited size. -Define NO_RECURSE to get a version that doesn't use recursion in the match() -function; instead it creates its own stack by steam using pcre_recurse_malloc -to get memory. For more detail, see comments and other stuff just above the -match() function. On Unix systems, "configure" can be used to set this in the -Makefile (use --disable-stack-for-recursion). */ - -/* #define NO_RECURSE */ - -/* End */ - -/* Standard C headers plus the external interface definition. The only time -setjmp and stdarg are used is when NO_RECURSE is set. */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef PCRE_SPY -#define PCRE_DEFINITION /* Win32 __declspec(export) trigger for .dll */ -#endif - -/* We need to have types that specify unsigned 16-bit and 32-bit integers. We -cannot determine these outside the compilation (e.g. by running a program as -part of "configure") because PCRE is often cross-compiled for use on other -systems. Instead we make use of the maximum sizes that are available at -preprocessor time in standard C environments. */ - -#if USHRT_MAX == 65535 - typedef unsigned short pcre_uint16; -#elif UINT_MAX == 65535 - typedef unsigned int pcre_uint16; -#else - #error Cannot determine a type for 16-bit unsigned integers -#endif - -#if UINT_MAX == 4294967295 - typedef unsigned int pcre_uint32; -#elif ULONG_MAX == 4294967295 - typedef unsigned long int pcre_uint32; -#else - #error Cannot determine a type for 32-bit unsigned integers -#endif - -/* All character handling must be done as unsigned characters. Otherwise there -are problems with top-bit-set characters and functions such as isspace(). -However, we leave the interface to the outside world as char *, because that -should make things easier for callers. We define a short type for unsigned char -to save lots of typing. I tried "uchar", but it causes problems on Digital -Unix, where it is defined in sys/types, so use "uschar" instead. */ - -typedef unsigned char uschar; - -/* Include the public PCRE header */ - -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* In its original form, this is the .in file that is transformed by -"configure" into pcre.h. - - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - -#ifndef _PCRE_H -#define _PCRE_H - -/* The file pcre.h is build by "configure". Do not edit it; instead -make changes to pcre.in. */ - -#define PCRE_MAJOR 6 -#define PCRE_MINOR 3 -#define PCRE_DATE "2005/11/29" - -/* For other operating systems, we use the standard "extern". */ - -#ifndef PCRE_DATA_SCOPE -# ifdef __cplusplus -# define PCRE_DATA_SCOPE extern "C" -# else -# define PCRE_DATA_SCOPE extern -# endif -#endif - -/* Have to include stdlib.h in order to ensure that size_t is defined; -it is needed here for malloc. */ - -#include - -/* Allow for C++ users */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* Options */ - -#define PCRE_CASELESS 0x00000001 -#define PCRE_MULTILINE 0x00000002 -#define PCRE_DOTALL 0x00000004 -#define PCRE_EXTENDED 0x00000008 -#define PCRE_ANCHORED 0x00000010 -#define PCRE_DOLLAR_ENDONLY 0x00000020 -#define PCRE_EXTRA 0x00000040 -#define PCRE_NOTBOL 0x00000080 -#define PCRE_NOTEOL 0x00000100 -#define PCRE_UNGREEDY 0x00000200 -#define PCRE_NOTEMPTY 0x00000400 -#define PCRE_UTF8 0x00000800 -#define PCRE_NO_AUTO_CAPTURE 0x00001000 -#define PCRE_NO_UTF8_CHECK 0x00002000 -#define PCRE_AUTO_CALLOUT 0x00004000 -#define PCRE_PARTIAL 0x00008000 -#define PCRE_DFA_SHORTEST 0x00010000 -#define PCRE_DFA_RESTART 0x00020000 -#define PCRE_FIRSTLINE 0x00040000 - -/* Exec-time and get/set-time error codes */ - -#define PCRE_ERROR_NOMATCH (-1) -#define PCRE_ERROR_NULL (-2) -#define PCRE_ERROR_BADOPTION (-3) -#define PCRE_ERROR_BADMAGIC (-4) -#define PCRE_ERROR_UNKNOWN_NODE (-5) -#define PCRE_ERROR_NOMEMORY (-6) -#define PCRE_ERROR_NOSUBSTRING (-7) -#define PCRE_ERROR_MATCHLIMIT (-8) -#define PCRE_ERROR_CALLOUT (-9) /* Never used by PCRE itself */ -#define PCRE_ERROR_BADUTF8 (-10) -#define PCRE_ERROR_BADUTF8_OFFSET (-11) -#define PCRE_ERROR_PARTIAL (-12) -#define PCRE_ERROR_BADPARTIAL (-13) -#define PCRE_ERROR_INTERNAL (-14) -#define PCRE_ERROR_BADCOUNT (-15) -#define PCRE_ERROR_DFA_UITEM (-16) -#define PCRE_ERROR_DFA_UCOND (-17) -#define PCRE_ERROR_DFA_UMLIMIT (-18) -#define PCRE_ERROR_DFA_WSSIZE (-19) -#define PCRE_ERROR_DFA_RECURSE (-20) - -/* Request types for pcre_fullinfo() */ - -#define PCRE_INFO_OPTIONS 0 -#define PCRE_INFO_SIZE 1 -#define PCRE_INFO_CAPTURECOUNT 2 -#define PCRE_INFO_BACKREFMAX 3 -#define PCRE_INFO_FIRSTBYTE 4 -#define PCRE_INFO_FIRSTCHAR 4 /* For backwards compatibility */ -#define PCRE_INFO_FIRSTTABLE 5 -#define PCRE_INFO_LASTLITERAL 6 -#define PCRE_INFO_NAMEENTRYSIZE 7 -#define PCRE_INFO_NAMECOUNT 8 -#define PCRE_INFO_NAMETABLE 9 -#define PCRE_INFO_STUDYSIZE 10 -#define PCRE_INFO_DEFAULT_TABLES 11 - -/* Request types for pcre_config() */ - -#define PCRE_CONFIG_UTF8 0 -#define PCRE_CONFIG_NEWLINE 1 -#define PCRE_CONFIG_LINK_SIZE 2 -#define PCRE_CONFIG_POSIX_MALLOC_THRESHOLD 3 -#define PCRE_CONFIG_MATCH_LIMIT 4 -#define PCRE_CONFIG_STACKRECURSE 5 -#define PCRE_CONFIG_UNICODE_PROPERTIES 6 - -/* Bit flags for the pcre_extra structure */ - -#define PCRE_EXTRA_STUDY_DATA 0x0001 -#define PCRE_EXTRA_MATCH_LIMIT 0x0002 -#define PCRE_EXTRA_CALLOUT_DATA 0x0004 -#define PCRE_EXTRA_TABLES 0x0008 - -/* Types */ - -struct real_pcre; /* declaration; the definition is private */ -typedef struct real_pcre pcre; - -/* The structure for passing additional data to pcre_exec(). This is defined in -such as way as to be extensible. Always add new fields at the end, in order to -remain compatible. */ - -typedef struct pcre_extra { - unsigned long int flags; /* Bits for which fields are set */ - void *study_data; /* Opaque data from pcre_study() */ - unsigned long int match_limit; /* Maximum number of calls to match() */ - void *callout_data; /* Data passed back in callouts */ - const unsigned char *tables; /* Pointer to character tables */ -} pcre_extra; - -/* The structure for passing out data via the pcre_callout_function. We use a -structure so that new fields can be added on the end in future versions, -without changing the API of the function, thereby allowing old clients to work -without modification. */ - -typedef struct pcre_callout_block { - int version; /* Identifies version of block */ - /* ------------------------ Version 0 ------------------------------- */ - int callout_number; /* Number compiled into pattern */ - int *offset_vector; /* The offset vector */ - const char *subject; /* The subject being matched */ - int subject_length; /* The length of the subject */ - int start_match; /* Offset to start of this match attempt */ - int current_position; /* Where we currently are in the subject */ - int capture_top; /* Max current capture */ - int capture_last; /* Most recently closed capture */ - void *callout_data; /* Data passed in with the call */ - /* ------------------- Added for Version 1 -------------------------- */ - int pattern_position; /* Offset to next item in the pattern */ - int next_item_length; /* Length of next item in the pattern */ - /* ------------------------------------------------------------------ */ -} pcre_callout_block; - -/* Indirection for store get and free functions. These can be set to -alternative malloc/free functions if required. Special ones are used in the -non-recursive case for "frames". There is also an optional callout function -that is triggered by the (?) regex item. For Virtual Pascal, these definitions -have to take another form. */ - -#ifndef VPCOMPAT -PCRE_DATA_SCOPE void *(*pcre_malloc)(size_t); -PCRE_DATA_SCOPE void (*pcre_free)(void *); -PCRE_DATA_SCOPE void *(*pcre_stack_malloc)(size_t); -PCRE_DATA_SCOPE void (*pcre_stack_free)(void *); -PCRE_DATA_SCOPE int (*pcre_callout)(pcre_callout_block *); -#else /* VPCOMPAT */ -PCRE_DATA_SCOPE void *pcre_malloc(size_t); -PCRE_DATA_SCOPE void pcre_free(void *); -PCRE_DATA_SCOPE void *pcre_stack_malloc(size_t); -PCRE_DATA_SCOPE void pcre_stack_free(void *); -PCRE_DATA_SCOPE int pcre_callout(pcre_callout_block *); -#endif /* VPCOMPAT */ - -/* Exported PCRE functions */ - -PCRE_DATA_SCOPE pcre *pcre_compile(const char *, int, const char **, int *, - const unsigned char *); -PCRE_DATA_SCOPE pcre *pcre_compile2(const char *, int, int *, const char **, - int *, const unsigned char *); -PCRE_DATA_SCOPE int pcre_config(int, void *); -PCRE_DATA_SCOPE int pcre_copy_named_substring(const pcre *, const char *, - int *, int, const char *, char *, int); -PCRE_DATA_SCOPE int pcre_copy_substring(const char *, int *, int, int, char *, - int); -PCRE_DATA_SCOPE int pcre_dfa_exec(const pcre *, const pcre_extra *, - const char *, int, int, int, int *, int , int *, int); -PCRE_DATA_SCOPE int pcre_exec(const pcre *, const pcre_extra *, const char *, - int, int, int, int *, int); -PCRE_DATA_SCOPE void pcre_free_substring(const char *); -PCRE_DATA_SCOPE void pcre_free_substring_list(const char **); -PCRE_DATA_SCOPE int pcre_fullinfo(const pcre *, const pcre_extra *, int, - void *); -PCRE_DATA_SCOPE int pcre_get_named_substring(const pcre *, const char *, - int *, int, const char *, const char **); -PCRE_DATA_SCOPE int pcre_get_stringnumber(const pcre *, const char *); -PCRE_DATA_SCOPE int pcre_get_substring(const char *, int *, int, int, - const char **); -PCRE_DATA_SCOPE int pcre_get_substring_list(const char *, int *, int, - const char ***); -PCRE_DATA_SCOPE int pcre_info(const pcre *, int *, int *); -PCRE_DATA_SCOPE const unsigned char *pcre_maketables(void); -PCRE_DATA_SCOPE int pcre_refcount(pcre *, int); -PCRE_DATA_SCOPE pcre_extra *pcre_study(const pcre *, int, const char **); -PCRE_DATA_SCOPE const char *pcre_version(void); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* End of pcre.h */ - -/* Include the (copy of) the public ucp header, changing the external name into -a private one. This does no harm, even if we aren't compiling UCP support. */ - -#define ucp_findchar _pcre_ucp_findchar -/************************************************* -* libucp - Unicode Property Table handler * -*************************************************/ - - -#ifndef _UCP_H -#define _UCP_H - -/* These are the character categories that are returned by ucp_findchar */ - -enum { - ucp_C, /* Other */ - ucp_L, /* Letter */ - ucp_M, /* Mark */ - ucp_N, /* Number */ - ucp_P, /* Punctuation */ - ucp_S, /* Symbol */ - ucp_Z /* Separator */ -}; - -/* These are the detailed character types that are returned by ucp_findchar */ - -enum { - ucp_Cc, /* Control */ - ucp_Cf, /* Format */ - ucp_Cn, /* Unassigned */ - ucp_Co, /* Private use */ - ucp_Cs, /* Surrogate */ - ucp_Ll, /* Lower case letter */ - ucp_Lm, /* Modifier letter */ - ucp_Lo, /* Other letter */ - ucp_Lt, /* Title case letter */ - ucp_Lu, /* Upper case letter */ - ucp_Mc, /* Spacing mark */ - ucp_Me, /* Enclosing mark */ - ucp_Mn, /* Non-spacing mark */ - ucp_Nd, /* Decimal number */ - ucp_Nl, /* Letter number */ - ucp_No, /* Other number */ - ucp_Pc, /* Connector punctuation */ - ucp_Pd, /* Dash punctuation */ - ucp_Pe, /* Close punctuation */ - ucp_Pf, /* Final punctuation */ - ucp_Pi, /* Initial punctuation */ - ucp_Po, /* Other punctuation */ - ucp_Ps, /* Open punctuation */ - ucp_Sc, /* Currency symbol */ - ucp_Sk, /* Modifier symbol */ - ucp_Sm, /* Mathematical symbol */ - ucp_So, /* Other symbol */ - ucp_Zl, /* Line separator */ - ucp_Zp, /* Paragraph separator */ - ucp_Zs /* Space separator */ -}; - -extern int ucp_findchar(const int, int *, int *); - -#endif - -/* End of ucp.h */ - -/* When compiling for use with the Virtual Pascal compiler, these functions -need to have their names changed. PCRE must be compiled with the -DVPCOMPAT -option on the command line. */ - -#ifdef VPCOMPAT -#define strncmp(s1,s2,m) _strncmp(s1,s2,m) -#define memcpy(d,s,n) _memcpy(d,s,n) -#define memmove(d,s,n) _memmove(d,s,n) -#define memset(s,c,n) _memset(s,c,n) -#else /* VPCOMPAT */ - -/* To cope with SunOS4 and other systems that lack memmove() but have bcopy(), -define a macro for memmove() if HAVE_MEMMOVE is false, provided that HAVE_BCOPY -is set. Otherwise, include an emulating function for those systems that have -neither (there some non-Unix environments where this is the case). This assumes -that all calls to memmove are moving strings upwards in store, which is the -case in PCRE. */ - -#if ! HAVE_MEMMOVE -#undef memmove /* some systems may have a macro */ -#if HAVE_BCOPY -#define memmove(a, b, c) bcopy(b, a, c) -#else /* HAVE_BCOPY */ -void * -pcre_memmove(unsigned char *dest, const unsigned char *src, size_t n) -{ -int i; -dest += n; -src += n; -for (i = 0; i < n; ++i) *(--dest) = *(--src); -} -#define memmove(a, b, c) pcre_memmove(a, b, c) -#endif /* not HAVE_BCOPY */ -#endif /* not HAVE_MEMMOVE */ -#endif /* not VPCOMPAT */ - - -/* PCRE keeps offsets in its compiled code as 2-byte quantities (always stored -in big-endian order) by default. These are used, for example, to link from the -start of a subpattern to its alternatives and its end. The use of 2 bytes per -offset limits the size of the compiled regex to around 64K, which is big enough -for almost everybody. However, I received a request for an even bigger limit. -For this reason, and also to make the code easier to maintain, the storing and -loading of offsets from the byte string is now handled by the macros that are -defined here. - -The macros are controlled by the value of LINK_SIZE. This defaults to 2 in -the config.h file, but can be overridden by using -D on the command line. This -is automated on Unix systems via the "configure" command. */ - -#if LINK_SIZE == 2 - -#define PUT(a,n,d) \ - (a[n] = (d) >> 8), \ - (a[(n)+1] = (d) & 255) - -#define GET(a,n) \ - (((a)[n] << 8) | (a)[(n)+1]) - -#define MAX_PATTERN_SIZE (1 << 16) - - -#elif LINK_SIZE == 3 - -#define PUT(a,n,d) \ - (a[n] = (d) >> 16), \ - (a[(n)+1] = (d) >> 8), \ - (a[(n)+2] = (d) & 255) - -#define GET(a,n) \ - (((a)[n] << 16) | ((a)[(n)+1] << 8) | (a)[(n)+2]) - -#define MAX_PATTERN_SIZE (1 << 24) - - -#elif LINK_SIZE == 4 - -#define PUT(a,n,d) \ - (a[n] = (d) >> 24), \ - (a[(n)+1] = (d) >> 16), \ - (a[(n)+2] = (d) >> 8), \ - (a[(n)+3] = (d) & 255) - -#define GET(a,n) \ - (((a)[n] << 24) | ((a)[(n)+1] << 16) | ((a)[(n)+2] << 8) | (a)[(n)+3]) - -#define MAX_PATTERN_SIZE (1 << 30) /* Keep it positive */ - - -#else -#error LINK_SIZE must be either 2, 3, or 4 -#endif - - -/* Convenience macro defined in terms of the others */ - -#define PUTINC(a,n,d) PUT(a,n,d), a += LINK_SIZE - - -/* PCRE uses some other 2-byte quantities that do not change when the size of -offsets changes. There are used for repeat counts and for other things such as -capturing parenthesis numbers in back references. */ - -#define PUT2(a,n,d) \ - a[n] = (d) >> 8; \ - a[(n)+1] = (d) & 255 - -#define GET2(a,n) \ - (((a)[n] << 8) | (a)[(n)+1]) - -#define PUT2INC(a,n,d) PUT2(a,n,d), a += 2 - - -/* When UTF-8 encoding is being used, a character is no longer just a single -byte. The macros for character handling generate simple sequences when used in -byte-mode, and more complicated ones for UTF-8 characters. */ - -#ifndef SUPPORT_UTF8 -#define GETCHAR(c, eptr) c = *eptr; -#define GETCHARTEST(c, eptr) c = *eptr; -#define GETCHARINC(c, eptr) c = *eptr++; -#define GETCHARINCTEST(c, eptr) c = *eptr++; -#define GETCHARLEN(c, eptr, len) c = *eptr; -#define BACKCHAR(eptr) - -#else /* SUPPORT_UTF8 */ - -/* Get the next UTF-8 character, not advancing the pointer. This is called when -we know we are in UTF-8 mode. */ - -#define GETCHAR(c, eptr) \ - c = *eptr; \ - if ((c & 0xc0) == 0xc0) \ - { \ - int gcii; \ - int gcaa = _pcre_utf8_table4[c & 0x3f]; /* Number of additional bytes */ \ - int gcss = 6*gcaa; \ - c = (c & _pcre_utf8_table3[gcaa]) << gcss; \ - for (gcii = 1; gcii <= gcaa; gcii++) \ - { \ - gcss -= 6; \ - c |= (eptr[gcii] & 0x3f) << gcss; \ - } \ - } - -/* Get the next UTF-8 character, testing for UTF-8 mode, and not advancing the -pointer. */ - -#define GETCHARTEST(c, eptr) \ - c = *eptr; \ - if (utf8 && (c & 0xc0) == 0xc0) \ - { \ - int gcii; \ - int gcaa = _pcre_utf8_table4[c & 0x3f]; /* Number of additional bytes */ \ - int gcss = 6*gcaa; \ - c = (c & _pcre_utf8_table3[gcaa]) << gcss; \ - for (gcii = 1; gcii <= gcaa; gcii++) \ - { \ - gcss -= 6; \ - c |= (eptr[gcii] & 0x3f) << gcss; \ - } \ - } - -/* Get the next UTF-8 character, advancing the pointer. This is called when we -know we are in UTF-8 mode. */ - -#define GETCHARINC(c, eptr) \ - c = *eptr++; \ - if ((c & 0xc0) == 0xc0) \ - { \ - int gcaa = _pcre_utf8_table4[c & 0x3f]; /* Number of additional bytes */ \ - int gcss = 6*gcaa; \ - c = (c & _pcre_utf8_table3[gcaa]) << gcss; \ - while (gcaa-- > 0) \ - { \ - gcss -= 6; \ - c |= (*eptr++ & 0x3f) << gcss; \ - } \ - } - -/* Get the next character, testing for UTF-8 mode, and advancing the pointer */ - -#define GETCHARINCTEST(c, eptr) \ - c = *eptr++; \ - if (utf8 && (c & 0xc0) == 0xc0) \ - { \ - int gcaa = _pcre_utf8_table4[c & 0x3f]; /* Number of additional bytes */ \ - int gcss = 6*gcaa; \ - c = (c & _pcre_utf8_table3[gcaa]) << gcss; \ - while (gcaa-- > 0) \ - { \ - gcss -= 6; \ - c |= (*eptr++ & 0x3f) << gcss; \ - } \ - } - -/* Get the next UTF-8 character, not advancing the pointer, incrementing length -if there are extra bytes. This is called when we know we are in UTF-8 mode. */ - -#define GETCHARLEN(c, eptr, len) \ - c = *eptr; \ - if ((c & 0xc0) == 0xc0) \ - { \ - int gcii; \ - int gcaa = _pcre_utf8_table4[c & 0x3f]; /* Number of additional bytes */ \ - int gcss = 6*gcaa; \ - c = (c & _pcre_utf8_table3[gcaa]) << gcss; \ - for (gcii = 1; gcii <= gcaa; gcii++) \ - { \ - gcss -= 6; \ - c |= (eptr[gcii] & 0x3f) << gcss; \ - } \ - len += gcaa; \ - } - -/* If the pointer is not at the start of a character, move it back until -it is. Called only in UTF-8 mode. */ - -#define BACKCHAR(eptr) while((*eptr & 0xc0) == 0x80) eptr--; - -#endif - - -/* In case there is no definition of offsetof() provided - though any proper -Standard C system should have one. */ - -#ifndef offsetof -#define offsetof(p_type,field) ((size_t)&(((p_type *)0)->field)) -#endif - - -/* These are the public options that can change during matching. */ - -#define PCRE_IMS (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL) - -/* Private options flags start at the most significant end of the four bytes, -but skip the top bit so we can use ints for convenience without getting tangled -with negative values. The public options defined in pcre.h start at the least -significant end. Make sure they don't overlap! */ - -#define PCRE_FIRSTSET 0x40000000 /* first_byte is set */ -#define PCRE_REQCHSET 0x20000000 /* req_byte is set */ -#define PCRE_STARTLINE 0x10000000 /* start after \n for multiline */ -#define PCRE_ICHANGED 0x08000000 /* i option changes within regex */ -#define PCRE_NOPARTIAL 0x04000000 /* can't use partial with this regex */ - -/* Options for the "extra" block produced by pcre_study(). */ - -#define PCRE_STUDY_MAPPED 0x01 /* a map of starting chars exists */ - -/* Masks for identifying the public options that are permitted at compile -time, run time, or study time, respectively. */ - -#define PUBLIC_OPTIONS \ - (PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \ - PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY|PCRE_UTF8| \ - PCRE_NO_AUTO_CAPTURE|PCRE_NO_UTF8_CHECK|PCRE_AUTO_CALLOUT|PCRE_FIRSTLINE) - -#define PUBLIC_EXEC_OPTIONS \ - (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NO_UTF8_CHECK| \ - PCRE_PARTIAL) - -#define PUBLIC_DFA_EXEC_OPTIONS \ - (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NO_UTF8_CHECK| \ - PCRE_PARTIAL|PCRE_DFA_SHORTEST|PCRE_DFA_RESTART) - -#define PUBLIC_STUDY_OPTIONS 0 /* None defined */ - -/* Magic number to provide a small check against being handed junk. Also used -to detect whether a pattern was compiled on a host of different endianness. */ - -#define MAGIC_NUMBER 0x50435245UL /* 'PCRE' */ - -/* Negative values for the firstchar and reqchar variables */ - -#define REQ_UNSET (-2) -#define REQ_NONE (-1) - -/* The maximum remaining length of subject we are prepared to search for a -req_byte match. */ - -#define REQ_BYTE_MAX 1000 - -/* Flags added to firstbyte or reqbyte; a "non-literal" item is either a -variable-length repeat, or a anything other than literal characters. */ - -#define REQ_CASELESS 0x0100 /* indicates caselessness */ -#define REQ_VARY 0x0200 /* reqbyte followed non-literal item */ - -/* Miscellaneous definitions */ - -typedef int BOOL; - -#define FALSE 0 -#define TRUE 1 - -/* Escape items that are just an encoding of a particular data value. Note that -ESC_n is defined as yet another macro, which is set in config.h to either \n -(the default) or \r (which some people want). */ - -#ifndef ESC_e -#define ESC_e 27 -#endif - -#ifndef ESC_f -#define ESC_f '\f' -#endif - -#ifndef ESC_n -#define ESC_n NEWLINE -#endif - -#ifndef ESC_r -#define ESC_r '\r' -#endif - -/* We can't officially use ESC_t because it is a POSIX reserved identifier -(presumably because of all the others like size_t). */ - -#ifndef ESC_tee -#define ESC_tee '\t' -#endif - -/* These are escaped items that aren't just an encoding of a particular data -value such as \n. They must have non-zero values, as check_escape() returns -their negation. Also, they must appear in the same order as in the opcode -definitions below, up to ESC_z. There's a dummy for OP_ANY because it -corresponds to "." rather than an escape sequence. The final one must be -ESC_REF as subsequent values are used for \1, \2, \3, etc. There is are two -tests in the code for an escape greater than ESC_b and less than ESC_Z to -detect the types that may be repeated. These are the types that consume -characters. If any new escapes are put in between that don't consume a -character, that code will have to change. */ - -enum { ESC_A = 1, ESC_G, ESC_B, ESC_b, ESC_D, ESC_d, ESC_S, ESC_s, ESC_W, - ESC_w, ESC_dum1, ESC_C, ESC_P, ESC_p, ESC_X, ESC_Z, ESC_z, ESC_E, - ESC_Q, ESC_REF }; - -/* Flag bits and data types for the extended class (OP_XCLASS) for classes that -contain UTF-8 characters with values greater than 255. */ - -#define XCL_NOT 0x01 /* Flag: this is a negative class */ -#define XCL_MAP 0x02 /* Flag: a 32-byte map is present */ - -#define XCL_END 0 /* Marks end of individual items */ -#define XCL_SINGLE 1 /* Single item (one multibyte char) follows */ -#define XCL_RANGE 2 /* A range (two multibyte chars) follows */ -#define XCL_PROP 3 /* Unicode property (one property code) follows */ -#define XCL_NOTPROP 4 /* Unicode inverted property (ditto) */ - - -/* Opcode table: OP_BRA must be last, as all values >= it are used for brackets -that extract substrings. Starting from 1 (i.e. after OP_END), the values up to -OP_EOD must correspond in order to the list of escapes immediately above. -Note that whenever this list is updated, the two macro definitions that follow -must also be updated to match. */ - -enum { - OP_END, /* 0 End of pattern */ - - /* Values corresponding to backslashed metacharacters */ - - OP_SOD, /* 1 Start of data: \A */ - OP_SOM, /* 2 Start of match (subject + offset): \G */ - OP_NOT_WORD_BOUNDARY, /* 3 \B */ - OP_WORD_BOUNDARY, /* 4 \b */ - OP_NOT_DIGIT, /* 5 \D */ - OP_DIGIT, /* 6 \d */ - OP_NOT_WHITESPACE, /* 7 \S */ - OP_WHITESPACE, /* 8 \s */ - OP_NOT_WORDCHAR, /* 9 \W */ - OP_WORDCHAR, /* 10 \w */ - OP_ANY, /* 11 Match any character */ - OP_ANYBYTE, /* 12 Match any byte (\C); different to OP_ANY for UTF-8 */ - OP_NOTPROP, /* 13 \P (not Unicode property) */ - OP_PROP, /* 14 \p (Unicode property) */ - OP_EXTUNI, /* 15 \X (extended Unicode sequence */ - OP_EODN, /* 16 End of data or \n at end of data: \Z. */ - OP_EOD, /* 17 End of data: \z */ - - OP_OPT, /* 18 Set runtime options */ - OP_CIRC, /* 19 Start of line - varies with multiline switch */ - OP_DOLL, /* 20 End of line - varies with multiline switch */ - OP_CHAR, /* 21 Match one character, casefully */ - OP_CHARNC, /* 22 Match one character, caselessly */ - OP_NOT, /* 23 Match anything but the following char */ - - OP_STAR, /* 24 The maximizing and minimizing versions of */ - OP_MINSTAR, /* 25 all these opcodes must come in pairs, with */ - OP_PLUS, /* 26 the minimizing one second. */ - OP_MINPLUS, /* 27 This first set applies to single characters */ - OP_QUERY, /* 28 */ - OP_MINQUERY, /* 29 */ - OP_UPTO, /* 30 From 0 to n matches */ - OP_MINUPTO, /* 31 */ - OP_EXACT, /* 32 Exactly n matches */ - - OP_NOTSTAR, /* 33 The maximizing and minimizing versions of */ - OP_NOTMINSTAR, /* 34 all these opcodes must come in pairs, with */ - OP_NOTPLUS, /* 35 the minimizing one second. */ - OP_NOTMINPLUS, /* 36 This set applies to "not" single characters */ - OP_NOTQUERY, /* 37 */ - OP_NOTMINQUERY, /* 38 */ - OP_NOTUPTO, /* 39 From 0 to n matches */ - OP_NOTMINUPTO, /* 40 */ - OP_NOTEXACT, /* 41 Exactly n matches */ - - OP_TYPESTAR, /* 42 The maximizing and minimizing versions of */ - OP_TYPEMINSTAR, /* 43 all these opcodes must come in pairs, with */ - OP_TYPEPLUS, /* 44 the minimizing one second. These codes must */ - OP_TYPEMINPLUS, /* 45 be in exactly the same order as those above. */ - OP_TYPEQUERY, /* 46 This set applies to character types such as \d */ - OP_TYPEMINQUERY, /* 47 */ - OP_TYPEUPTO, /* 48 From 0 to n matches */ - OP_TYPEMINUPTO, /* 49 */ - OP_TYPEEXACT, /* 50 Exactly n matches */ - - OP_CRSTAR, /* 51 The maximizing and minimizing versions of */ - OP_CRMINSTAR, /* 52 all these opcodes must come in pairs, with */ - OP_CRPLUS, /* 53 the minimizing one second. These codes must */ - OP_CRMINPLUS, /* 54 be in exactly the same order as those above. */ - OP_CRQUERY, /* 55 These are for character classes and back refs */ - OP_CRMINQUERY, /* 56 */ - OP_CRRANGE, /* 57 These are different to the three sets above. */ - OP_CRMINRANGE, /* 58 */ - - OP_CLASS, /* 59 Match a character class, chars < 256 only */ - OP_NCLASS, /* 60 Same, but the bitmap was created from a negative - class - the difference is relevant only when a UTF-8 - character > 255 is encountered. */ - - OP_XCLASS, /* 61 Extended class for handling UTF-8 chars within the - class. This does both positive and negative. */ - - OP_REF, /* 62 Match a back reference */ - OP_RECURSE, /* 63 Match a numbered subpattern (possibly recursive) */ - OP_CALLOUT, /* 64 Call out to external function if provided */ - - OP_ALT, /* 65 Start of alternation */ - OP_KET, /* 66 End of group that doesn't have an unbounded repeat */ - OP_KETRMAX, /* 67 These two must remain together and in this */ - OP_KETRMIN, /* 68 order. They are for groups the repeat for ever. */ - - /* The assertions must come before ONCE and COND */ - - OP_ASSERT, /* 69 Positive lookahead */ - OP_ASSERT_NOT, /* 70 Negative lookahead */ - OP_ASSERTBACK, /* 71 Positive lookbehind */ - OP_ASSERTBACK_NOT, /* 72 Negative lookbehind */ - OP_REVERSE, /* 73 Move pointer back - used in lookbehind assertions */ - - /* ONCE and COND must come after the assertions, with ONCE first, as there's - a test for >= ONCE for a subpattern that isn't an assertion. */ - - OP_ONCE, /* 74 Once matched, don't back up into the subpattern */ - OP_COND, /* 75 Conditional group */ - OP_CREF, /* 76 Used to hold an extraction string number (cond ref) */ - - OP_BRAZERO, /* 77 These two must remain together and in this */ - OP_BRAMINZERO, /* 78 order. */ - - OP_BRANUMBER, /* 79 Used for extracting brackets whose number is greater - than can fit into an opcode. */ - - OP_BRA /* 80 This and greater values are used for brackets that - extract substrings up to EXTRACT_BASIC_MAX. After - that, use is made of OP_BRANUMBER. */ -}; - -/* WARNING WARNING WARNING: There is an implicit assumption in pcre.c and -study.c that all opcodes are less than 128 in value. This makes handling UTF-8 -character sequences easier. */ - -/* The highest extraction number before we have to start using additional -bytes. (Originally PCRE didn't have support for extraction counts highter than -this number.) The value is limited by the number of opcodes left after OP_BRA, -i.e. 255 - OP_BRA. We actually set it a bit lower to leave room for additional -opcodes. */ - -#define EXTRACT_BASIC_MAX 100 - - -/* This macro defines textual names for all the opcodes. These are used only -for debugging. The macro is referenced only in pcre_printint.c. */ - -#define OP_NAME_LIST \ - "End", "\\A", "\\G", "\\B", "\\b", "\\D", "\\d", \ - "\\S", "\\s", "\\W", "\\w", "Any", "Anybyte", \ - "notprop", "prop", "extuni", \ - "\\Z", "\\z", \ - "Opt", "^", "$", "char", "charnc", "not", \ - "*", "*?", "+", "+?", "?", "??", "{", "{", "{", \ - "*", "*?", "+", "+?", "?", "??", "{", "{", "{", \ - "*", "*?", "+", "+?", "?", "??", "{", "{", "{", \ - "*", "*?", "+", "+?", "?", "??", "{", "{", \ - "class", "nclass", "xclass", "Ref", "Recurse", "Callout", \ - "Alt", "Ket", "KetRmax", "KetRmin", "Assert", "Assert not", \ - "AssertB", "AssertB not", "Reverse", "Once", "Cond", "Cond ref",\ - "Brazero", "Braminzero", "Branumber", "Bra" - - -/* This macro defines the length of fixed length operations in the compiled -regex. The lengths are used when searching for specific things, and also in the -debugging printing of a compiled regex. We use a macro so that it can be -defined close to the definitions of the opcodes themselves. - -As things have been extended, some of these are no longer fixed lenths, but are -minima instead. For example, the length of a single-character repeat may vary -in UTF-8 mode. The code that uses this table must know about such things. */ - -#define OP_LENGTHS \ - 1, /* End */ \ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* \A, \G, \B, \B, \D, \d, \S, \s, \W, \w */ \ - 1, 1, /* Any, Anybyte */ \ - 2, 2, 1, /* NOTPROP, PROP, EXTUNI */ \ - 1, 1, 2, 1, 1, /* \Z, \z, Opt, ^, $ */ \ - 2, /* Char - the minimum length */ \ - 2, /* Charnc - the minimum length */ \ - 2, /* not */ \ - /* Positive single-char repeats ** These are */ \ - 2, 2, 2, 2, 2, 2, /* *, *?, +, +?, ?, ?? ** minima in */ \ - 4, 4, 4, /* upto, minupto, exact ** UTF-8 mode */ \ - /* Negative single-char repeats - only for chars < 256 */ \ - 2, 2, 2, 2, 2, 2, /* NOT *, *?, +, +?, ?, ?? */ \ - 4, 4, 4, /* NOT upto, minupto, exact */ \ - /* Positive type repeats */ \ - 2, 2, 2, 2, 2, 2, /* Type *, *?, +, +?, ?, ?? */ \ - 4, 4, 4, /* Type upto, minupto, exact */ \ - /* Character class & ref repeats */ \ - 1, 1, 1, 1, 1, 1, /* *, *?, +, +?, ?, ?? */ \ - 5, 5, /* CRRANGE, CRMINRANGE */ \ - 33, /* CLASS */ \ - 33, /* NCLASS */ \ - 0, /* XCLASS - variable length */ \ - 3, /* REF */ \ - 1+LINK_SIZE, /* RECURSE */ \ - 2+2*LINK_SIZE, /* CALLOUT */ \ - 1+LINK_SIZE, /* Alt */ \ - 1+LINK_SIZE, /* Ket */ \ - 1+LINK_SIZE, /* KetRmax */ \ - 1+LINK_SIZE, /* KetRmin */ \ - 1+LINK_SIZE, /* Assert */ \ - 1+LINK_SIZE, /* Assert not */ \ - 1+LINK_SIZE, /* Assert behind */ \ - 1+LINK_SIZE, /* Assert behind not */ \ - 1+LINK_SIZE, /* Reverse */ \ - 1+LINK_SIZE, /* Once */ \ - 1+LINK_SIZE, /* COND */ \ - 3, /* CREF */ \ - 1, 1, /* BRAZERO, BRAMINZERO */ \ - 3, /* BRANUMBER */ \ - 1+LINK_SIZE /* BRA */ \ - - -/* A magic value for OP_CREF to indicate the "in recursion" condition. */ - -#define CREF_RECURSE 0xffff - -/* Error code numbers. They are given names so that they can more easily be -tracked. */ - -enum { ERR0, ERR1, ERR2, ERR3, ERR4, ERR5, ERR6, ERR7, ERR8, ERR9, - ERR10, ERR11, ERR12, ERR13, ERR14, ERR15, ERR16, ERR17, ERR18, ERR19, - ERR20, ERR21, ERR22, ERR23, ERR24, ERR25, ERR26, ERR27, ERR28, ERR29, - ERR30, ERR31, ERR32, ERR33, ERR34, ERR35, ERR36, ERR37, ERR38, ERR39, - ERR40, ERR41, ERR42, ERR43, ERR44, ERR45, ERR46, ERR47 }; - -/* The real format of the start of the pcre block; the index of names and the -code vector run on as long as necessary after the end. We store an explicit -offset to the name table so that if a regex is compiled on one host, saved, and -then run on another where the size of pointers is different, all might still -be well. For the case of compiled-on-4 and run-on-8, we include an extra -pointer that is always NULL. For future-proofing, a few dummy fields were -originally included - even though you can never get this planning right - but -there is only one left now. - -NOTE NOTE NOTE: -Because people can now save and re-use compiled patterns, any additions to this -structure should be made at the end, and something earlier (e.g. a new -flag in the options or one of the dummy fields) should indicate that the new -fields are present. Currently PCRE always sets the dummy fields to zero. -NOTE NOTE NOTE: -*/ - -typedef struct real_pcre { - pcre_uint32 magic_number; - pcre_uint32 size; /* Total that was malloced */ - pcre_uint32 options; - pcre_uint32 dummy1; /* For future use, maybe */ - - pcre_uint16 top_bracket; - pcre_uint16 top_backref; - pcre_uint16 first_byte; - pcre_uint16 req_byte; - pcre_uint16 name_table_offset; /* Offset to name table that follows */ - pcre_uint16 name_entry_size; /* Size of any name items */ - pcre_uint16 name_count; /* Number of name items */ - pcre_uint16 ref_count; /* Reference count */ - - const unsigned char *tables; /* Pointer to tables or NULL for std */ - const unsigned char *nullpad; /* NULL padding */ -} real_pcre; - -/* The format of the block used to store data from pcre_study(). The same -remark (see NOTE above) about extending this structure applies. */ - -typedef struct pcre_study_data { - pcre_uint32 size; /* Total that was malloced */ - pcre_uint32 options; - uschar start_bits[32]; -} pcre_study_data; - -/* Structure for passing "static" information around between the functions -doing the compiling, so that they are thread-safe. */ - -typedef struct compile_data { - const uschar *lcc; /* Points to lower casing table */ - const uschar *fcc; /* Points to case-flipping table */ - const uschar *cbits; /* Points to character type table */ - const uschar *ctypes; /* Points to table of type maps */ - const uschar *start_code; /* The start of the compiled code */ - const uschar *start_pattern; /* The start of the pattern */ - uschar *name_table; /* The name/number table */ - int names_found; /* Number of entries so far */ - int name_entry_size; /* Size of each entry */ - int top_backref; /* Maximum back reference */ - unsigned int backref_map; /* Bitmap of low back refs */ - int req_varyopt; /* "After variable item" flag for reqbyte */ - BOOL nopartial; /* Set TRUE if partial won't work */ -} compile_data; - -/* Structure for maintaining a chain of pointers to the currently incomplete -branches, for testing for left recursion. */ - -typedef struct branch_chain { - struct branch_chain *outer; - uschar *current; -} branch_chain; - -/* Structure for items in a linked list that represents an explicit recursive -call within the pattern. */ - -typedef struct recursion_info { - struct recursion_info *prevrec; /* Previous recursion record (or NULL) */ - int group_num; /* Number of group that was called */ - const uschar *after_call; /* "Return value": points after the call in the expr */ - const uschar *save_start; /* Old value of md->start_match */ - int *offset_save; /* Pointer to start of saved offsets */ - int saved_max; /* Number of saved offsets */ -} recursion_info; - -/* When compiling in a mode that doesn't use recursive calls to match(), -a structure is used to remember local variables on the heap. It is defined in -pcre.c, close to the match() function, so that it is easy to keep it in step -with any changes of local variable. However, the pointer to the current frame -must be saved in some "static" place over a longjmp(). We declare the -structure here so that we can put a pointer in the match_data structure. -NOTE: This isn't used for a "normal" compilation of pcre. */ - -struct heapframe; - -/* Structure for passing "static" information around between the functions -doing traditional NFA matching, so that they are thread-safe. */ - -typedef struct match_data { - unsigned long int match_call_count; /* As it says */ - unsigned long int match_limit;/* As it says */ - int *offset_vector; /* Offset vector */ - int offset_end; /* One past the end */ - int offset_max; /* The maximum usable for return data */ - const uschar *lcc; /* Points to lower casing table */ - const uschar *ctypes; /* Points to table of type maps */ - BOOL offset_overflow; /* Set if too many extractions */ - BOOL notbol; /* NOTBOL flag */ - BOOL noteol; /* NOTEOL flag */ - BOOL utf8; /* UTF8 flag */ - BOOL endonly; /* Dollar not before final \n */ - BOOL notempty; /* Empty string match not wanted */ - BOOL partial; /* PARTIAL flag */ - BOOL hitend; /* Hit the end of the subject at some point */ - const uschar *start_code; /* For use when recursing */ - const uschar *start_subject; /* Start of the subject string */ - const uschar *end_subject; /* End of the subject string */ - const uschar *start_match; /* Start of this match attempt */ - const uschar *end_match_ptr; /* Subject position at end match */ - int end_offset_top; /* Highwater mark at end of match */ - int capture_last; /* Most recent capture number */ - int start_offset; /* The start offset value */ - recursion_info *recursive; /* Linked list of recursion data */ - void *callout_data; /* To pass back to callouts */ - struct heapframe *thisframe; /* Used only when compiling for no recursion */ -} match_data; - -/* A similar structure is used for the same purpose by the DFA matching -functions. */ - -typedef struct dfa_match_data { - const uschar *start_code; /* Start of the compiled pattern */ - const uschar *start_subject; /* Start of the subject string */ - const uschar *end_subject; /* End of subject string */ - const uschar *tables; /* Character tables */ - int moptions; /* Match options */ - int poptions; /* Pattern options */ - void *callout_data; /* To pass back to callouts */ -} dfa_match_data; - -/* Bit definitions for entries in the pcre_ctypes table. */ - -#define ctype_space 0x01 -#define ctype_letter 0x02 -#define ctype_digit 0x04 -#define ctype_xdigit 0x08 -#define ctype_word 0x10 /* alphameric or '_' */ -#define ctype_meta 0x80 /* regexp meta char or zero (end pattern) */ - -/* Offsets for the bitmap tables in pcre_cbits. Each table contains a set -of bits for a class map. Some classes are built by combining these tables. */ - -#define cbit_space 0 /* [:space:] or \s */ -#define cbit_xdigit 32 /* [:xdigit:] */ -#define cbit_digit 64 /* [:digit:] or \d */ -#define cbit_upper 96 /* [:upper:] */ -#define cbit_lower 128 /* [:lower:] */ -#define cbit_word 160 /* [:word:] or \w */ -#define cbit_graph 192 /* [:graph:] */ -#define cbit_print 224 /* [:print:] */ -#define cbit_punct 256 /* [:punct:] */ -#define cbit_cntrl 288 /* [:cntrl:] */ -#define cbit_length 320 /* Length of the cbits table */ - -/* Offsets of the various tables from the base tables pointer, and -total length. */ - -#define lcc_offset 0 -#define fcc_offset 256 -#define cbits_offset 512 -#define ctypes_offset (cbits_offset + cbit_length) -#define tables_length (ctypes_offset + 256) - -/* Layout of the UCP type table that translates property names into codes for -ucp_findchar(). */ - -typedef struct { - const char *name; - int value; -} ucp_type_table; - - -/* Internal shared data tables. These are tables that are used by more than one -of the exported public functions. They have to be "external" in the C sense, -but are not part of the PCRE public API. The data for these tables is in the -pcre_tables.c module. */ - -extern const int _pcre_utf8_table1[]; -extern const int _pcre_utf8_table2[]; -extern const int _pcre_utf8_table3[]; -extern const uschar _pcre_utf8_table4[]; - -extern const int _pcre_utf8_table1_size; - -extern const ucp_type_table _pcre_utt[]; -extern const int _pcre_utt_size; - -extern const uschar _pcre_default_tables[]; - -extern const uschar _pcre_OP_lengths[]; - - -/* Internal shared functions. These are functions that are used by more than -one of the exported public functions. They have to be "external" in the C -sense, but are not part of the PCRE public API. */ - -extern int _pcre_ord2utf8(int, uschar *); -extern void _pcre_printint(pcre *, FILE *); -extern real_pcre * _pcre_try_flipped(const real_pcre *, real_pcre *, - const pcre_study_data *, pcre_study_data *); -extern int _pcre_ucp_findchar(const int, int *, int *); -extern int _pcre_valid_utf8(const uschar *, int); -extern BOOL _pcre_xclass(int, const uschar *); - -/* End of pcre_internal.h */ - - -/************************************************* -* Code parameters and static tables * -*************************************************/ - -/* Maximum number of items on the nested bracket stacks at compile time. This -applies to the nesting of all kinds of parentheses. It does not limit -un-nested, non-capturing parentheses. This number can be made bigger if -necessary - it is used to dimension one int and one unsigned char vector at -compile time. */ - -#define BRASTACK_SIZE 200 - - -/* Table for handling escaped characters in the range '0'-'z'. Positive returns -are simple data values; negative values are for special things like \d and so -on. Zero means further processing is needed (for things like \x), or the escape -is invalid. */ - -#if !EBCDIC /* This is the "normal" table for ASCII systems */ -static const short int escapes[] = { - 0, 0, 0, 0, 0, 0, 0, 0, /* 0 - 7 */ - 0, 0, ':', ';', '<', '=', '>', '?', /* 8 - ? */ - '@', -ESC_A, -ESC_B, -ESC_C, -ESC_D, -ESC_E, 0, -ESC_G, /* @ - G */ - 0, 0, 0, 0, 0, 0, 0, 0, /* H - O */ --ESC_P, -ESC_Q, 0, -ESC_S, 0, 0, 0, -ESC_W, /* P - W */ --ESC_X, 0, -ESC_Z, '[', '\\', ']', '^', '_', /* X - _ */ - '`', 7, -ESC_b, 0, -ESC_d, ESC_e, ESC_f, 0, /* ` - g */ - 0, 0, 0, 0, 0, 0, ESC_n, 0, /* h - o */ --ESC_p, 0, ESC_r, -ESC_s, ESC_tee, 0, 0, -ESC_w, /* p - w */ - 0, 0, -ESC_z /* x - z */ -}; - -#else /* This is the "abnormal" table for EBCDIC systems */ -static const short int escapes[] = { -/* 48 */ 0, 0, 0, '.', '<', '(', '+', '|', -/* 50 */ '&', 0, 0, 0, 0, 0, 0, 0, -/* 58 */ 0, 0, '!', '$', '*', ')', ';', '~', -/* 60 */ '-', '/', 0, 0, 0, 0, 0, 0, -/* 68 */ 0, 0, '|', ',', '%', '_', '>', '?', -/* 70 */ 0, 0, 0, 0, 0, 0, 0, 0, -/* 78 */ 0, '`', ':', '#', '@', '\'', '=', '"', -/* 80 */ 0, 7, -ESC_b, 0, -ESC_d, ESC_e, ESC_f, 0, -/* 88 */ 0, 0, 0, '{', 0, 0, 0, 0, -/* 90 */ 0, 0, 0, 'l', 0, ESC_n, 0, -ESC_p, -/* 98 */ 0, ESC_r, 0, '}', 0, 0, 0, 0, -/* A0 */ 0, '~', -ESC_s, ESC_tee, 0, 0, -ESC_w, 0, -/* A8 */ 0,-ESC_z, 0, 0, 0, '[', 0, 0, -/* B0 */ 0, 0, 0, 0, 0, 0, 0, 0, -/* B8 */ 0, 0, 0, 0, 0, ']', '=', '-', -/* C0 */ '{',-ESC_A, -ESC_B, -ESC_C, -ESC_D,-ESC_E, 0, -ESC_G, -/* C8 */ 0, 0, 0, 0, 0, 0, 0, 0, -/* D0 */ '}', 0, 0, 0, 0, 0, 0, -ESC_P, -/* D8 */-ESC_Q, 0, 0, 0, 0, 0, 0, 0, -/* E0 */ '\\', 0, -ESC_S, 0, 0, 0, -ESC_W, -ESC_X, -/* E8 */ 0,-ESC_Z, 0, 0, 0, 0, 0, 0, -/* F0 */ 0, 0, 0, 0, 0, 0, 0, 0, -/* F8 */ 0, 0, 0, 0, 0, 0, 0, 0 -}; -#endif - - -/* Tables of names of POSIX character classes and their lengths. The list is -terminated by a zero length entry. The first three must be alpha, upper, lower, -as this is assumed for handling case independence. */ - -static const char *const posix_names[] = { - "alpha", "lower", "upper", - "alnum", "ascii", "blank", "cntrl", "digit", "graph", - "print", "punct", "space", "word", "xdigit" }; - -static const uschar posix_name_lengths[] = { - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 6, 0 }; - -/* Table of class bit maps for each POSIX class; up to three may be combined -to form the class. The table for [:blank:] is dynamically modified to remove -the vertical space characters. */ - -static const int posix_class_maps[] = { - cbit_lower, cbit_upper, -1, /* alpha */ - cbit_lower, -1, -1, /* lower */ - cbit_upper, -1, -1, /* upper */ - cbit_digit, cbit_lower, cbit_upper, /* alnum */ - cbit_print, cbit_cntrl, -1, /* ascii */ - cbit_space, -1, -1, /* blank - a GNU extension */ - cbit_cntrl, -1, -1, /* cntrl */ - cbit_digit, -1, -1, /* digit */ - cbit_graph, -1, -1, /* graph */ - cbit_print, -1, -1, /* print */ - cbit_punct, -1, -1, /* punct */ - cbit_space, -1, -1, /* space */ - cbit_word, -1, -1, /* word - a Perl extension */ - cbit_xdigit,-1, -1 /* xdigit */ -}; - - -/* The texts of compile-time error messages. These are "char *" because they -are passed to the outside world. */ - -static const char *error_texts[] = { - "no error", - "\\ at end of pattern", - "\\c at end of pattern", - "unrecognized character follows \\", - "numbers out of order in {} quantifier", - /* 5 */ - "number too big in {} quantifier", - "missing terminating ] for character class", - "invalid escape sequence in character class", - "range out of order in character class", - "nothing to repeat", - /* 10 */ - "operand of unlimited repeat could match the empty string", - "internal error: unexpected repeat", - "unrecognized character after (?", - "POSIX named classes are supported only within a class", - "missing )", - /* 15 */ - "reference to non-existent subpattern", - "erroffset passed as NULL", - "unknown option bit(s) set", - "missing ) after comment", - "parentheses nested too deeply", - /* 20 */ - "regular expression too large", - "failed to get memory", - "unmatched parentheses", - "internal error: code overflow", - "unrecognized character after (?<", - /* 25 */ - "lookbehind assertion is not fixed length", - "malformed number after (?(", - "conditional group contains more than two branches", - "assertion expected after (?(", - "(?R or (?digits must be followed by )", - /* 30 */ - "unknown POSIX class name", - "POSIX collating elements are not supported", - "this version of PCRE is not compiled with PCRE_UTF8 support", - "spare error", - "character value in \\x{...} sequence is too large", - /* 35 */ - "invalid condition (?(0)", - "\\C not allowed in lookbehind assertion", - "PCRE does not support \\L, \\l, \\N, \\U, or \\u", - "number after (?C is > 255", - "closing ) for (?C expected", - /* 40 */ - "recursive call could loop indefinitely", - "unrecognized character after (?P", - "syntax error after (?P", - "two named groups have the same name", - "invalid UTF-8 string", - /* 45 */ - "support for \\P, \\p, and \\X has not been compiled", - "malformed \\P or \\p sequence", - "unknown property name after \\P or \\p" -}; - - -/* Table to identify digits and hex digits. This is used when compiling -patterns. Note that the tables in chartables are dependent on the locale, and -may mark arbitrary characters as digits - but the PCRE compiling code expects -to handle only 0-9, a-z, and A-Z as digits when compiling. That is why we have -a private table here. It costs 256 bytes, but it is a lot faster than doing -character value tests (at least in some simple cases I timed), and in some -applications one wants PCRE to compile efficiently as well as match -efficiently. - -For convenience, we use the same bit definitions as in chartables: - - 0x04 decimal digit - 0x08 hexadecimal digit - -Then we can use ctype_digit and ctype_xdigit in the code. */ - -#if !EBCDIC /* This is the "normal" case, for ASCII systems */ -static const unsigned char digitab[] = - { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0- 7 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 8- 15 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - ' */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ( - / */ - 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, /* 0 - 7 */ - 0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00, /* 8 - ? */ - 0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /* @ - G */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* H - O */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* P - W */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* X - _ */ - 0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /* ` - g */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* h - o */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* p - w */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* x -127 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */ - -#else /* This is the "abnormal" case, for EBCDIC systems */ -static const unsigned char digitab[] = - { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0- 7 0 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 8- 15 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 10 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 32- 39 20 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 40- 47 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 48- 55 30 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 56- 63 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - 71 40 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 72- | */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* & - 87 50 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 88- ¬ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - -103 60 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 104- ? */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 112-119 70 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 120- " */ - 0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /* 128- g 80 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* h -143 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144- p 90 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* q -159 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160- x A0 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* y -175 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ^ -183 B0 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */ - 0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /* { - G C0 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* H -207 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* } - P D0 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* Q -223 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* \ - X E0 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* Y -239 */ - 0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, /* 0 - 7 F0 */ - 0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00};/* 8 -255 */ - -static const unsigned char ebcdic_chartab[] = { /* chartable partial dup */ - 0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 0- 7 */ - 0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00, /* 8- 15 */ - 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 16- 23 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */ - 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 32- 39 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 40- 47 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 48- 55 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 56- 63 */ - 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - 71 */ - 0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x80, /* 72- | */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* & - 87 */ - 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00, /* 88- ¬ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - -103 */ - 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x80, /* 104- ? */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 112-119 */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 120- " */ - 0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* 128- g */ - 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* h -143 */ - 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* 144- p */ - 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* q -159 */ - 0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /* 160- x */ - 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* y -175 */ - 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ^ -183 */ - 0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00, /* 184-191 */ - 0x80,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* { - G */ - 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* H -207 */ - 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* } - P */ - 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* Q -223 */ - 0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /* \ - X */ - 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* Y -239 */ - 0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /* 0 - 7 */ - 0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x00};/* 8 -255 */ -#endif - - -/* Definition to allow mutual recursion */ - -static BOOL - compile_regex(int, int, int *, uschar **, const uschar **, int *, BOOL, int, - int *, int *, branch_chain *, compile_data *); - - - -/************************************************* -* Handle escapes * -*************************************************/ - -/* This function is called when a \ has been encountered. It either returns a -positive value for a simple escape such as \n, or a negative value which -encodes one of the more complicated things such as \d. When UTF-8 is enabled, -a positive value greater than 255 may be returned. On entry, ptr is pointing at -the \. On exit, it is on the final character of the escape sequence. - -Arguments: - ptrptr points to the pattern position pointer - errorcodeptr points to the errorcode variable - bracount number of previous extracting brackets - options the options bits - isclass TRUE if inside a character class - -Returns: zero or positive => a data character - negative => a special escape sequence - on error, errorptr is set -*/ - -static int -check_escape(const uschar **ptrptr, int *errorcodeptr, int bracount, - int options, BOOL isclass) -{ -const uschar *ptr = *ptrptr; -int c, i; - -/* If backslash is at the end of the pattern, it's an error. */ - -c = *(++ptr); -if (c == 0) *errorcodeptr = ERR1; - -/* Non-alphamerics are literals. For digits or letters, do an initial lookup in -a table. A non-zero result is something that can be returned immediately. -Otherwise further processing may be required. */ - -#if !EBCDIC /* ASCII coding */ -else if (c < '0' || c > 'z') {} /* Not alphameric */ -else if ((i = escapes[c - '0']) != 0) c = i; - -#else /* EBCDIC coding */ -else if (c < 'a' || (ebcdic_chartab[c] & 0x0E) == 0) {} /* Not alphameric */ -else if ((i = escapes[c - 0x48]) != 0) c = i; -#endif - -/* Escapes that need further processing, or are illegal. */ - -else - { - const uschar *oldptr; - switch (c) - { - /* A number of Perl escapes are not handled by PCRE. We give an explicit - error. */ - - case 'l': - case 'L': - case 'N': - case 'u': - case 'U': - *errorcodeptr = ERR37; - break; - - /* The handling of escape sequences consisting of a string of digits - starting with one that is not zero is not straightforward. By experiment, - the way Perl works seems to be as follows: - - Outside a character class, the digits are read as a decimal number. If the - number is less than 10, or if there are that many previous extracting - left brackets, then it is a back reference. Otherwise, up to three octal - digits are read to form an escaped byte. Thus \123 is likely to be octal - 123 (cf \0123, which is octal 012 followed by the literal 3). If the octal - value is greater than 377, the least significant 8 bits are taken. Inside a - character class, \ followed by a digit is always an octal number. */ - - case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - - if (!isclass) - { - oldptr = ptr; - c -= '0'; - while ((digitab[ptr[1]] & ctype_digit) != 0) - c = c * 10 + *(++ptr) - '0'; - if (c < 10 || c <= bracount) - { - c = -(ESC_REF + c); - break; - } - ptr = oldptr; /* Put the pointer back and fall through */ - } - - /* Handle an octal number following \. If the first digit is 8 or 9, Perl - generates a binary zero byte and treats the digit as a following literal. - Thus we have to pull back the pointer by one. */ - - if ((c = *ptr) >= '8') - { - ptr--; - c = 0; - break; - } - - /* \0 always starts an octal number, but we may drop through to here with a - larger first octal digit. */ - - case '0': - c -= '0'; - while(i++ < 2 && ptr[1] >= '0' && ptr[1] <= '7') - c = c * 8 + *(++ptr) - '0'; - c &= 255; /* Take least significant 8 bits */ - break; - - /* \x is complicated when UTF-8 is enabled. \x{ddd} is a character number - which can be greater than 0xff, but only if the ddd are hex digits. */ - - case 'x': -#ifdef SUPPORT_UTF8 - if (ptr[1] == '{' && (options & PCRE_UTF8) != 0) - { - const uschar *pt = ptr + 2; - register int count = 0; - c = 0; - while ((digitab[*pt] & ctype_xdigit) != 0) - { - int cc = *pt++; - count++; -#if !EBCDIC /* ASCII coding */ - if (cc >= 'a') cc -= 32; /* Convert to upper case */ - c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10)); -#else /* EBCDIC coding */ - if (cc >= 'a' && cc <= 'z') cc += 64; /* Convert to upper case */ - c = c * 16 + cc - ((cc >= '0')? '0' : ('A' - 10)); -#endif - } - if (*pt == '}') - { - if (c < 0 || count > 8) *errorcodeptr = ERR34; - ptr = pt; - break; - } - /* If the sequence of hex digits does not end with '}', then we don't - recognize this construct; fall through to the normal \x handling. */ - } -#endif - - /* Read just a single hex char */ - - c = 0; - while (i++ < 2 && (digitab[ptr[1]] & ctype_xdigit) != 0) - { - int cc; /* Some compilers don't like ++ */ - cc = *(++ptr); /* in initializers */ -#if !EBCDIC /* ASCII coding */ - if (cc >= 'a') cc -= 32; /* Convert to upper case */ - c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10)); -#else /* EBCDIC coding */ - if (cc <= 'z') cc += 64; /* Convert to upper case */ - c = c * 16 + cc - ((cc >= '0')? '0' : ('A' - 10)); -#endif - } - break; - - /* Other special escapes not starting with a digit are straightforward */ - - case 'c': - c = *(++ptr); - if (c == 0) - { - *errorcodeptr = ERR2; - return 0; - } - - /* A letter is upper-cased; then the 0x40 bit is flipped. This coding - is ASCII-specific, but then the whole concept of \cx is ASCII-specific. - (However, an EBCDIC equivalent has now been added.) */ - -#if !EBCDIC /* ASCII coding */ - if (c >= 'a' && c <= 'z') c -= 32; - c ^= 0x40; -#else /* EBCDIC coding */ - if (c >= 'a' && c <= 'z') c += 64; - c ^= 0xC0; -#endif - break; - - /* PCRE_EXTRA enables extensions to Perl in the matter of escapes. Any - other alphameric following \ is an error if PCRE_EXTRA was set; otherwise, - for Perl compatibility, it is a literal. This code looks a bit odd, but - there used to be some cases other than the default, and there may be again - in future, so I haven't "optimized" it. */ - - default: - if ((options & PCRE_EXTRA) != 0) switch(c) - { - default: - *errorcodeptr = ERR3; - break; - } - break; - } - } - -*ptrptr = ptr; -return c; -} - - - -#ifdef SUPPORT_UCP -/************************************************* -* Handle \P and \p * -*************************************************/ - -/* This function is called after \P or \p has been encountered, provided that -PCRE is compiled with support for Unicode properties. On entry, ptrptr is -pointing at the P or p. On exit, it is pointing at the final character of the -escape sequence. - -Argument: - ptrptr points to the pattern position pointer - negptr points to a boolean that is set TRUE for negation else FALSE - errorcodeptr points to the error code variable - -Returns: value from ucp_type_table, or -1 for an invalid type -*/ - -static int -get_ucp(const uschar **ptrptr, BOOL *negptr, int *errorcodeptr) -{ -int c, i, bot, top; -const uschar *ptr = *ptrptr; -char name[4]; - -c = *(++ptr); -if (c == 0) goto ERROR_RETURN; - -*negptr = FALSE; - -/* \P or \p can be followed by a one- or two-character name in {}, optionally -preceded by ^ for negation. */ - -if (c == '{') - { - if (ptr[1] == '^') - { - *negptr = TRUE; - ptr++; - } - for (i = 0; i <= 2; i++) - { - c = *(++ptr); - if (c == 0) goto ERROR_RETURN; - if (c == '}') break; - name[i] = c; - } - if (c !='}') /* Try to distinguish error cases */ - { - while (*(++ptr) != 0 && *ptr != '}'); - if (*ptr == '}') goto UNKNOWN_RETURN; else goto ERROR_RETURN; - } - name[i] = 0; - } - -/* Otherwise there is just one following character */ - -else - { - name[0] = c; - name[1] = 0; - } - -*ptrptr = ptr; - -/* Search for a recognized property name using binary chop */ - -bot = 0; -top = _pcre_utt_size; - -while (bot < top) - { - i = (bot + top)/2; - c = strcmp(name, _pcre_utt[i].name); - if (c == 0) return _pcre_utt[i].value; - if (c > 0) bot = i + 1; else top = i; - } - -UNKNOWN_RETURN: -*errorcodeptr = ERR47; -*ptrptr = ptr; -return -1; - -ERROR_RETURN: -*errorcodeptr = ERR46; -*ptrptr = ptr; -return -1; -} -#endif - - - - -/************************************************* -* Check for counted repeat * -*************************************************/ - -/* This function is called when a '{' is encountered in a place where it might -start a quantifier. It looks ahead to see if it really is a quantifier or not. -It is only a quantifier if it is one of the forms {ddd} {ddd,} or {ddd,ddd} -where the ddds are digits. - -Arguments: - p pointer to the first char after '{' - -Returns: TRUE or FALSE -*/ - -static BOOL -is_counted_repeat(const uschar *p) -{ -if ((digitab[*p++] & ctype_digit) == 0) return FALSE; -while ((digitab[*p] & ctype_digit) != 0) p++; -if (*p == '}') return TRUE; - -if (*p++ != ',') return FALSE; -if (*p == '}') return TRUE; - -if ((digitab[*p++] & ctype_digit) == 0) return FALSE; -while ((digitab[*p] & ctype_digit) != 0) p++; - -return (*p == '}'); -} - - - -/************************************************* -* Read repeat counts * -*************************************************/ - -/* Read an item of the form {n,m} and return the values. This is called only -after is_counted_repeat() has confirmed that a repeat-count quantifier exists, -so the syntax is guaranteed to be correct, but we need to check the values. - -Arguments: - p pointer to first char after '{' - minp pointer to int for min - maxp pointer to int for max - returned as -1 if no max - errorcodeptr points to error code variable - -Returns: pointer to '}' on success; - current ptr on error, with errorcodeptr set non-zero -*/ - -static const uschar * -read_repeat_counts(const uschar *p, int *minp, int *maxp, int *errorcodeptr) -{ -int min = 0; -int max = -1; - -/* Read the minimum value and do a paranoid check: a negative value indicates -an integer overflow. */ - -while ((digitab[*p] & ctype_digit) != 0) min = min * 10 + *p++ - '0'; -if (min < 0 || min > 65535) - { - *errorcodeptr = ERR5; - return p; - } - -/* Read the maximum value if there is one, and again do a paranoid on its size. -Also, max must not be less than min. */ - -if (*p == '}') max = min; else - { - if (*(++p) != '}') - { - max = 0; - while((digitab[*p] & ctype_digit) != 0) max = max * 10 + *p++ - '0'; - if (max < 0 || max > 65535) - { - *errorcodeptr = ERR5; - return p; - } - if (max < min) - { - *errorcodeptr = ERR4; - return p; - } - } - } - -/* Fill in the required variables, and pass back the pointer to the terminating -'}'. */ - -*minp = min; -*maxp = max; -return p; -} - - - -/************************************************* -* Find first significant op code * -*************************************************/ - -/* This is called by several functions that scan a compiled expression looking -for a fixed first character, or an anchoring op code etc. It skips over things -that do not influence this. For some calls, a change of option is important. -For some calls, it makes sense to skip negative forward and all backward -assertions, and also the \b assertion; for others it does not. - -Arguments: - code pointer to the start of the group - options pointer to external options - optbit the option bit whose changing is significant, or - zero if none are - skipassert TRUE if certain assertions are to be skipped - -Returns: pointer to the first significant opcode -*/ - -static const uschar* -first_significant_code(const uschar *code, int *options, int optbit, - BOOL skipassert) -{ -for (;;) - { - switch ((int)*code) - { - case OP_OPT: - if (optbit > 0 && ((int)code[1] & optbit) != (*options & optbit)) - *options = (int)code[1]; - code += 2; - break; - - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - if (!skipassert) return code; - do code += GET(code, 1); while (*code == OP_ALT); - code += _pcre_OP_lengths[*code]; - break; - - case OP_WORD_BOUNDARY: - case OP_NOT_WORD_BOUNDARY: - if (!skipassert) return code; - /* Fall through */ - - case OP_CALLOUT: - case OP_CREF: - case OP_BRANUMBER: - code += _pcre_OP_lengths[*code]; - break; - - default: - return code; - } - } -/* Control never reaches here */ -} - - - - -/************************************************* -* Find the fixed length of a pattern * -*************************************************/ - -/* Scan a pattern and compute the fixed length of subject that will match it, -if the length is fixed. This is needed for dealing with backward assertions. -In UTF8 mode, the result is in characters rather than bytes. - -Arguments: - code points to the start of the pattern (the bracket) - options the compiling options - -Returns: the fixed length, or -1 if there is no fixed length, - or -2 if \C was encountered -*/ - -static int -find_fixedlength(uschar *code, int options) -{ -int length = -1; - -register int branchlength = 0; -register uschar *cc = code + 1 + LINK_SIZE; - -/* Scan along the opcodes for this branch. If we get to the end of the -branch, check the length against that of the other branches. */ - -for (;;) - { - int d; - register int op = *cc; - if (op >= OP_BRA) op = OP_BRA; - - switch (op) - { - case OP_BRA: - case OP_ONCE: - case OP_COND: - d = find_fixedlength(cc, options); - if (d < 0) return d; - branchlength += d; - do cc += GET(cc, 1); while (*cc == OP_ALT); - cc += 1 + LINK_SIZE; - break; - - /* Reached end of a branch; if it's a ket it is the end of a nested - call. If it's ALT it is an alternation in a nested call. If it is - END it's the end of the outer call. All can be handled by the same code. */ - - case OP_ALT: - case OP_KET: - case OP_KETRMAX: - case OP_KETRMIN: - case OP_END: - if (length < 0) length = branchlength; - else if (length != branchlength) return -1; - if (*cc != OP_ALT) return length; - cc += 1 + LINK_SIZE; - branchlength = 0; - break; - - /* Skip over assertive subpatterns */ - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - do cc += GET(cc, 1); while (*cc == OP_ALT); - /* Fall through */ - - /* Skip over things that don't match chars */ - - case OP_REVERSE: - case OP_BRANUMBER: - case OP_CREF: - case OP_OPT: - case OP_CALLOUT: - case OP_SOD: - case OP_SOM: - case OP_EOD: - case OP_EODN: - case OP_CIRC: - case OP_DOLL: - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - cc += _pcre_OP_lengths[*cc]; - break; - - /* Handle literal characters */ - - case OP_CHAR: - case OP_CHARNC: - branchlength++; - cc += 2; -#ifdef SUPPORT_UTF8 - if ((options & PCRE_UTF8) != 0) - { - while ((*cc & 0xc0) == 0x80) cc++; - } -#endif - break; - - /* Handle exact repetitions. The count is already in characters, but we - need to skip over a multibyte character in UTF8 mode. */ - - case OP_EXACT: - branchlength += GET2(cc,1); - cc += 4; -#ifdef SUPPORT_UTF8 - if ((options & PCRE_UTF8) != 0) - { - while((*cc & 0x80) == 0x80) cc++; - } -#endif - break; - - case OP_TYPEEXACT: - branchlength += GET2(cc,1); - cc += 4; - break; - - /* Handle single-char matchers */ - - case OP_PROP: - case OP_NOTPROP: - cc++; - /* Fall through */ - - case OP_NOT_DIGIT: - case OP_DIGIT: - case OP_NOT_WHITESPACE: - case OP_WHITESPACE: - case OP_NOT_WORDCHAR: - case OP_WORDCHAR: - case OP_ANY: - branchlength++; - cc++; - break; - - /* The single-byte matcher isn't allowed */ - - case OP_ANYBYTE: - return -2; - - /* Check a class for variable quantification */ - -#ifdef SUPPORT_UTF8 - case OP_XCLASS: - cc += GET(cc, 1) - 33; - /* Fall through */ -#endif - - case OP_CLASS: - case OP_NCLASS: - cc += 33; - - switch (*cc) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRQUERY: - case OP_CRMINQUERY: - return -1; - - case OP_CRRANGE: - case OP_CRMINRANGE: - if (GET2(cc,1) != GET2(cc,3)) return -1; - branchlength += GET2(cc,1); - cc += 5; - break; - - default: - branchlength++; - } - break; - - /* Anything else is variable length */ - - default: - return -1; - } - } -/* Control never gets here */ -} - - - - -/************************************************* -* Scan compiled regex for numbered bracket * -*************************************************/ - -/* This little function scans through a compiled pattern until it finds a -capturing bracket with the given number. - -Arguments: - code points to start of expression - utf8 TRUE in UTF-8 mode - number the required bracket number - -Returns: pointer to the opcode for the bracket, or NULL if not found -*/ - -static const uschar * -find_bracket(const uschar *code, BOOL utf8, int number) -{ -#ifndef SUPPORT_UTF8 -utf8 = utf8; /* Stop pedantic compilers complaining */ -#endif - -for (;;) - { - register int c = *code; - if (c == OP_END) return NULL; - else if (c > OP_BRA) - { - int n = c - OP_BRA; - if (n > EXTRACT_BASIC_MAX) n = GET2(code, 2+LINK_SIZE); - if (n == number) return (uschar *)code; - code += _pcre_OP_lengths[OP_BRA]; - } - else - { - code += _pcre_OP_lengths[c]; - -#ifdef SUPPORT_UTF8 - - /* In UTF-8 mode, opcodes that are followed by a character may be followed - by a multi-byte character. The length in the table is a minimum, so we have - to scan along to skip the extra bytes. All opcodes are less than 128, so we - can use relatively efficient code. */ - - if (utf8) switch(c) - { - case OP_CHAR: - case OP_CHARNC: - case OP_EXACT: - case OP_UPTO: - case OP_MINUPTO: - case OP_STAR: - case OP_MINSTAR: - case OP_PLUS: - case OP_MINPLUS: - case OP_QUERY: - case OP_MINQUERY: - while ((*code & 0xc0) == 0x80) code++; - break; - - /* XCLASS is used for classes that cannot be represented just by a bit - map. This includes negated single high-valued characters. The length in - the table is zero; the actual length is stored in the compiled code. */ - - case OP_XCLASS: - code += GET(code, 1) + 1; - break; - } -#endif - } - } -} - - - -/************************************************* -* Scan compiled regex for recursion reference * -*************************************************/ - -/* This little function scans through a compiled pattern until it finds an -instance of OP_RECURSE. - -Arguments: - code points to start of expression - utf8 TRUE in UTF-8 mode - -Returns: pointer to the opcode for OP_RECURSE, or NULL if not found -*/ - -static const uschar * -find_recurse(const uschar *code, BOOL utf8) -{ -#ifndef SUPPORT_UTF8 -utf8 = utf8; /* Stop pedantic compilers complaining */ -#endif - -for (;;) - { - register int c = *code; - if (c == OP_END) return NULL; - else if (c == OP_RECURSE) return code; - else if (c > OP_BRA) - { - code += _pcre_OP_lengths[OP_BRA]; - } - else - { - code += _pcre_OP_lengths[c]; - -#ifdef SUPPORT_UTF8 - - /* In UTF-8 mode, opcodes that are followed by a character may be followed - by a multi-byte character. The length in the table is a minimum, so we have - to scan along to skip the extra bytes. All opcodes are less than 128, so we - can use relatively efficient code. */ - - if (utf8) switch(c) - { - case OP_CHAR: - case OP_CHARNC: - case OP_EXACT: - case OP_UPTO: - case OP_MINUPTO: - case OP_STAR: - case OP_MINSTAR: - case OP_PLUS: - case OP_MINPLUS: - case OP_QUERY: - case OP_MINQUERY: - while ((*code & 0xc0) == 0x80) code++; - break; - - /* XCLASS is used for classes that cannot be represented just by a bit - map. This includes negated single high-valued characters. The length in - the table is zero; the actual length is stored in the compiled code. */ - - case OP_XCLASS: - code += GET(code, 1) + 1; - break; - } -#endif - } - } -} - - - -/************************************************* -* Scan compiled branch for non-emptiness * -*************************************************/ - -/* This function scans through a branch of a compiled pattern to see whether it -can match the empty string or not. It is called only from could_be_empty() -below. Note that first_significant_code() skips over assertions. If we hit an -unclosed bracket, we return "empty" - this means we've struck an inner bracket -whose current branch will already have been scanned. - -Arguments: - code points to start of search - endcode points to where to stop - utf8 TRUE if in UTF8 mode - -Returns: TRUE if what is matched could be empty -*/ - -static BOOL -could_be_empty_branch(const uschar *code, const uschar *endcode, BOOL utf8) -{ -register int c; -for (code = first_significant_code(code + 1 + LINK_SIZE, NULL, 0, TRUE); - code < endcode; - code = first_significant_code(code + _pcre_OP_lengths[c], NULL, 0, TRUE)) - { - const uschar *ccode; - - c = *code; - - if (c >= OP_BRA) - { - BOOL empty_branch; - if (GET(code, 1) == 0) return TRUE; /* Hit unclosed bracket */ - - /* Scan a closed bracket */ - - empty_branch = FALSE; - do - { - if (!empty_branch && could_be_empty_branch(code, endcode, utf8)) - empty_branch = TRUE; - code += GET(code, 1); - } - while (*code == OP_ALT); - if (!empty_branch) return FALSE; /* All branches are non-empty */ - code += 1 + LINK_SIZE; - c = *code; - } - - else switch (c) - { - /* Check for quantifiers after a class */ - -#ifdef SUPPORT_UTF8 - case OP_XCLASS: - ccode = code + GET(code, 1); - goto CHECK_CLASS_REPEAT; -#endif - - case OP_CLASS: - case OP_NCLASS: - ccode = code + 33; - -#ifdef SUPPORT_UTF8 - CHECK_CLASS_REPEAT: -#endif - - switch (*ccode) - { - case OP_CRSTAR: /* These could be empty; continue */ - case OP_CRMINSTAR: - case OP_CRQUERY: - case OP_CRMINQUERY: - break; - - default: /* Non-repeat => class must match */ - case OP_CRPLUS: /* These repeats aren't empty */ - case OP_CRMINPLUS: - return FALSE; - - case OP_CRRANGE: - case OP_CRMINRANGE: - if (GET2(ccode, 1) > 0) return FALSE; /* Minimum > 0 */ - break; - } - break; - - /* Opcodes that must match a character */ - - case OP_PROP: - case OP_NOTPROP: - case OP_EXTUNI: - case OP_NOT_DIGIT: - case OP_DIGIT: - case OP_NOT_WHITESPACE: - case OP_WHITESPACE: - case OP_NOT_WORDCHAR: - case OP_WORDCHAR: - case OP_ANY: - case OP_ANYBYTE: - case OP_CHAR: - case OP_CHARNC: - case OP_NOT: - case OP_PLUS: - case OP_MINPLUS: - case OP_EXACT: - case OP_NOTPLUS: - case OP_NOTMINPLUS: - case OP_NOTEXACT: - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - case OP_TYPEEXACT: - return FALSE; - - /* End of branch */ - - case OP_KET: - case OP_KETRMAX: - case OP_KETRMIN: - case OP_ALT: - return TRUE; - - /* In UTF-8 mode, STAR, MINSTAR, QUERY, MINQUERY, UPTO, and MINUPTO may be - followed by a multibyte character */ - -#ifdef SUPPORT_UTF8 - case OP_STAR: - case OP_MINSTAR: - case OP_QUERY: - case OP_MINQUERY: - case OP_UPTO: - case OP_MINUPTO: - if (utf8) while ((code[2] & 0xc0) == 0x80) code++; - break; -#endif - } - } - -return TRUE; -} - - - -/************************************************* -* Scan compiled regex for non-emptiness * -*************************************************/ - -/* This function is called to check for left recursive calls. We want to check -the current branch of the current pattern to see if it could match the empty -string. If it could, we must look outwards for branches at other levels, -stopping when we pass beyond the bracket which is the subject of the recursion. - -Arguments: - code points to start of the recursion - endcode points to where to stop (current RECURSE item) - bcptr points to the chain of current (unclosed) branch starts - utf8 TRUE if in UTF-8 mode - -Returns: TRUE if what is matched could be empty -*/ - -static BOOL -could_be_empty(const uschar *code, const uschar *endcode, branch_chain *bcptr, - BOOL utf8) -{ -while (bcptr != NULL && bcptr->current >= code) - { - if (!could_be_empty_branch(bcptr->current, endcode, utf8)) return FALSE; - bcptr = bcptr->outer; - } -return TRUE; -} - - - -/************************************************* -* Check for POSIX class syntax * -*************************************************/ - -/* This function is called when the sequence "[:" or "[." or "[=" is -encountered in a character class. It checks whether this is followed by an -optional ^ and then a sequence of letters, terminated by a matching ":]" or -".]" or "=]". - -Argument: - ptr pointer to the initial [ - endptr where to return the end pointer - cd pointer to compile data - -Returns: TRUE or FALSE -*/ - -static BOOL -check_posix_syntax(const uschar *ptr, const uschar **endptr, compile_data *cd) -{ -int terminator; /* Don't combine these lines; the Solaris cc */ -terminator = *(++ptr); /* compiler warns about "non-constant" initializer. */ -if (*(++ptr) == '^') ptr++; -while ((cd->ctypes[*ptr] & ctype_letter) != 0) ptr++; -if (*ptr == terminator && ptr[1] == ']') - { - *endptr = ptr; - return TRUE; - } -return FALSE; -} - - - - -/************************************************* -* Check POSIX class name * -*************************************************/ - -/* This function is called to check the name given in a POSIX-style class entry -such as [:alnum:]. - -Arguments: - ptr points to the first letter - len the length of the name - -Returns: a value representing the name, or -1 if unknown -*/ - -static int -check_posix_name(const uschar *ptr, int len) -{ -register int yield = 0; -while (posix_name_lengths[yield] != 0) - { - if (len == posix_name_lengths[yield] && - strncmp((const char *)ptr, posix_names[yield], len) == 0) return yield; - yield++; - } -return -1; -} - - -/************************************************* -* Adjust OP_RECURSE items in repeated group * -*************************************************/ - -/* OP_RECURSE items contain an offset from the start of the regex to the group -that is referenced. This means that groups can be replicated for fixed -repetition simply by copying (because the recursion is allowed to refer to -earlier groups that are outside the current group). However, when a group is -optional (i.e. the minimum quantifier is zero), OP_BRAZERO is inserted before -it, after it has been compiled. This means that any OP_RECURSE items within it -that refer to the group itself or any contained groups have to have their -offsets adjusted. That is the job of this function. Before it is called, the -partially compiled regex must be temporarily terminated with OP_END. - -Arguments: - group points to the start of the group - adjust the amount by which the group is to be moved - utf8 TRUE in UTF-8 mode - cd contains pointers to tables etc. - -Returns: nothing -*/ - -static void -adjust_recurse(uschar *group, int adjust, BOOL utf8, compile_data *cd) -{ -uschar *ptr = group; -while ((ptr = (uschar *)find_recurse(ptr, utf8)) != NULL) - { - int offset = GET(ptr, 1); - if (cd->start_code + offset >= group) PUT(ptr, 1, offset + adjust); - ptr += 1 + LINK_SIZE; - } -} - - - -/************************************************* -* Insert an automatic callout point * -*************************************************/ - -/* This function is called when the PCRE_AUTO_CALLOUT option is set, to insert -callout points before each pattern item. - -Arguments: - code current code pointer - ptr current pattern pointer - cd pointers to tables etc - -Returns: new code pointer -*/ - -static uschar * -auto_callout(uschar *code, const uschar *ptr, compile_data *cd) -{ -*code++ = OP_CALLOUT; -*code++ = 255; -PUT(code, 0, ptr - cd->start_pattern); /* Pattern offset */ -PUT(code, LINK_SIZE, 0); /* Default length */ -return code + 2*LINK_SIZE; -} - - - -/************************************************* -* Complete a callout item * -*************************************************/ - -/* A callout item contains the length of the next item in the pattern, which -we can't fill in till after we have reached the relevant point. This is used -for both automatic and manual callouts. - -Arguments: - previous_callout points to previous callout item - ptr current pattern pointer - cd pointers to tables etc - -Returns: nothing -*/ - -static void -complete_callout(uschar *previous_callout, const uschar *ptr, compile_data *cd) -{ -int length = ptr - cd->start_pattern - GET(previous_callout, 2); -PUT(previous_callout, 2 + LINK_SIZE, length); -} - - - -#ifdef SUPPORT_UCP -/************************************************* -* Get othercase range * -*************************************************/ - -/* This function is passed the start and end of a class range, in UTF-8 mode -with UCP support. It searches up the characters, looking for internal ranges of -characters in the "other" case. Each call returns the next one, updating the -start address. - -Arguments: - cptr points to starting character value; updated - d end value - ocptr where to put start of othercase range - odptr where to put end of othercase range - -Yield: TRUE when range returned; FALSE when no more -*/ - -static BOOL -get_othercase_range(int *cptr, int d, int *ocptr, int *odptr) -{ -int c, chartype, othercase, next; - -for (c = *cptr; c <= d; c++) - { - if (_pcre_ucp_findchar(c, &chartype, &othercase) == ucp_L && othercase != 0) - break; - } - -if (c > d) return FALSE; - -*ocptr = othercase; -next = othercase + 1; - -for (++c; c <= d; c++) - { - if (_pcre_ucp_findchar(c, &chartype, &othercase) != ucp_L || - othercase != next) - break; - next++; - } - -*odptr = next - 1; -*cptr = c; - -return TRUE; -} -#endif /* SUPPORT_UCP */ - - -/************************************************* -* Compile one branch * -*************************************************/ - -/* Scan the pattern, compiling it into the code vector. If the options are -changed during the branch, the pointer is used to change the external options -bits. - -Arguments: - optionsptr pointer to the option bits - brackets points to number of extracting brackets used - codeptr points to the pointer to the current code point - ptrptr points to the current pattern pointer - errorcodeptr points to error code variable - firstbyteptr set to initial literal character, or < 0 (REQ_UNSET, REQ_NONE) - reqbyteptr set to the last literal character required, else < 0 - bcptr points to current branch chain - cd contains pointers to tables etc. - -Returns: TRUE on success - FALSE, with *errorcodeptr set non-zero on error -*/ - -static BOOL -compile_branch(int *optionsptr, int *brackets, uschar **codeptr, - const uschar **ptrptr, int *errorcodeptr, int *firstbyteptr, - int *reqbyteptr, branch_chain *bcptr, compile_data *cd) -{ -int repeat_type, op_type; -int repeat_min = 0, repeat_max = 0; /* To please picky compilers */ -int bravalue = 0; -int greedy_default, greedy_non_default; -int firstbyte, reqbyte; -int zeroreqbyte, zerofirstbyte; -int req_caseopt, reqvary, tempreqvary; -int condcount = 0; -int options = *optionsptr; -int after_manual_callout = 0; -register int c; -register uschar *code = *codeptr; -uschar *tempcode; -BOOL inescq = FALSE; -BOOL groupsetfirstbyte = FALSE; -const uschar *ptr = *ptrptr; -const uschar *tempptr; -uschar *previous = NULL; -uschar *previous_callout = NULL; -uschar classbits[32]; - -#ifdef SUPPORT_UTF8 -BOOL class_utf8; -BOOL utf8 = (options & PCRE_UTF8) != 0; -uschar *class_utf8data; -uschar utf8_char[6]; -#else -BOOL utf8 = FALSE; -#endif - -/* Set up the default and non-default settings for greediness */ - -greedy_default = ((options & PCRE_UNGREEDY) != 0); -greedy_non_default = greedy_default ^ 1; - -/* Initialize no first byte, no required byte. REQ_UNSET means "no char -matching encountered yet". It gets changed to REQ_NONE if we hit something that -matches a non-fixed char first char; reqbyte just remains unset if we never -find one. - -When we hit a repeat whose minimum is zero, we may have to adjust these values -to take the zero repeat into account. This is implemented by setting them to -zerofirstbyte and zeroreqbyte when such a repeat is encountered. The individual -item types that can be repeated set these backoff variables appropriately. */ - -firstbyte = reqbyte = zerofirstbyte = zeroreqbyte = REQ_UNSET; - -/* The variable req_caseopt contains either the REQ_CASELESS value or zero, -according to the current setting of the caseless flag. REQ_CASELESS is a bit -value > 255. It is added into the firstbyte or reqbyte variables to record the -case status of the value. This is used only for ASCII characters. */ - -req_caseopt = ((options & PCRE_CASELESS) != 0)? REQ_CASELESS : 0; - -/* Switch on next character until the end of the branch */ - -for (;; ptr++) - { - BOOL negate_class; - BOOL possessive_quantifier; - BOOL is_quantifier; - int class_charcount; - int class_lastchar; - int newoptions; - int recno; - int skipbytes; - int subreqbyte; - int subfirstbyte; - int mclength; - uschar mcbuffer[8]; - - /* Next byte in the pattern */ - - c = *ptr; - - /* If in \Q...\E, check for the end; if not, we have a literal */ - - if (inescq && c != 0) - { - if (c == '\\' && ptr[1] == 'E') - { - inescq = FALSE; - ptr++; - continue; - } - else - { - if (previous_callout != NULL) - { - complete_callout(previous_callout, ptr, cd); - previous_callout = NULL; - } - if ((options & PCRE_AUTO_CALLOUT) != 0) - { - previous_callout = code; - code = auto_callout(code, ptr, cd); - } - goto NORMAL_CHAR; - } - } - - /* Fill in length of a previous callout, except when the next thing is - a quantifier. */ - - is_quantifier = c == '*' || c == '+' || c == '?' || - (c == '{' && is_counted_repeat(ptr+1)); - - if (!is_quantifier && previous_callout != NULL && - after_manual_callout-- <= 0) - { - complete_callout(previous_callout, ptr, cd); - previous_callout = NULL; - } - - /* In extended mode, skip white space and comments */ - - if ((options & PCRE_EXTENDED) != 0) - { - if ((cd->ctypes[c] & ctype_space) != 0) continue; - if (c == '#') - { - /* The space before the ; is to avoid a warning on a silly compiler - on the Macintosh. */ - while ((c = *(++ptr)) != 0 && c != NEWLINE) ; - if (c != 0) continue; /* Else fall through to handle end of string */ - } - } - - /* No auto callout for quantifiers. */ - - if ((options & PCRE_AUTO_CALLOUT) != 0 && !is_quantifier) - { - previous_callout = code; - code = auto_callout(code, ptr, cd); - } - - switch(c) - { - /* The branch terminates at end of string, |, or ). */ - - case 0: - case '|': - case ')': - *firstbyteptr = firstbyte; - *reqbyteptr = reqbyte; - *codeptr = code; - *ptrptr = ptr; - return TRUE; - - /* Handle single-character metacharacters. In multiline mode, ^ disables - the setting of any following char as a first character. */ - - case '^': - if ((options & PCRE_MULTILINE) != 0) - { - if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE; - } - previous = NULL; - *code++ = OP_CIRC; - break; - - case '$': - previous = NULL; - *code++ = OP_DOLL; - break; - - /* There can never be a first char if '.' is first, whatever happens about - repeats. The value of reqbyte doesn't change either. */ - - case '.': - if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE; - zerofirstbyte = firstbyte; - zeroreqbyte = reqbyte; - previous = code; - *code++ = OP_ANY; - break; - - /* Character classes. If the included characters are all < 255 in value, we - build a 32-byte bitmap of the permitted characters, except in the special - case where there is only one such character. For negated classes, we build - the map as usual, then invert it at the end. However, we use a different - opcode so that data characters > 255 can be handled correctly. - - If the class contains characters outside the 0-255 range, a different - opcode is compiled. It may optionally have a bit map for characters < 256, - but those above are are explicitly listed afterwards. A flag byte tells - whether the bitmap is present, and whether this is a negated class or not. - */ - - case '[': - previous = code; - - /* PCRE supports POSIX class stuff inside a class. Perl gives an error if - they are encountered at the top level, so we'll do that too. */ - - if ((ptr[1] == ':' || ptr[1] == '.' || ptr[1] == '=') && - check_posix_syntax(ptr, &tempptr, cd)) - { - *errorcodeptr = (ptr[1] == ':')? ERR13 : ERR31; - goto FAILED; - } - - /* If the first character is '^', set the negation flag and skip it. */ - - if ((c = *(++ptr)) == '^') - { - negate_class = TRUE; - c = *(++ptr); - } - else - { - negate_class = FALSE; - } - - /* Keep a count of chars with values < 256 so that we can optimize the case - of just a single character (as long as it's < 256). For higher valued UTF-8 - characters, we don't yet do any optimization. */ - - class_charcount = 0; - class_lastchar = -1; - -#ifdef SUPPORT_UTF8 - class_utf8 = FALSE; /* No chars >= 256 */ - class_utf8data = code + LINK_SIZE + 34; /* For UTF-8 items */ -#endif - - /* Initialize the 32-char bit map to all zeros. We have to build the - map in a temporary bit of store, in case the class contains only 1 - character (< 256), because in that case the compiled code doesn't use the - bit map. */ - - memset(classbits, 0, 32 * sizeof(uschar)); - - /* Process characters until ] is reached. By writing this as a "do" it - means that an initial ] is taken as a data character. The first pass - through the regex checked the overall syntax, so we don't need to be very - strict here. At the start of the loop, c contains the first byte of the - character. */ - - do - { -#ifdef SUPPORT_UTF8 - if (utf8 && c > 127) - { /* Braces are required because the */ - GETCHARLEN(c, ptr, ptr); /* macro generates multiple statements */ - } -#endif - - /* Inside \Q...\E everything is literal except \E */ - - if (inescq) - { - if (c == '\\' && ptr[1] == 'E') - { - inescq = FALSE; - ptr++; - continue; - } - else goto LONE_SINGLE_CHARACTER; - } - - /* Handle POSIX class names. Perl allows a negation extension of the - form [:^name:]. A square bracket that doesn't match the syntax is - treated as a literal. We also recognize the POSIX constructions - [.ch.] and [=ch=] ("collating elements") and fault them, as Perl - 5.6 and 5.8 do. */ - - if (c == '[' && - (ptr[1] == ':' || ptr[1] == '.' || ptr[1] == '=') && - check_posix_syntax(ptr, &tempptr, cd)) - { - BOOL local_negate = FALSE; - int posix_class, i; - register const uschar *cbits = cd->cbits; - - if (ptr[1] != ':') - { - *errorcodeptr = ERR31; - goto FAILED; - } - - ptr += 2; - if (*ptr == '^') - { - local_negate = TRUE; - ptr++; - } - - posix_class = check_posix_name(ptr, tempptr - ptr); - if (posix_class < 0) - { - *errorcodeptr = ERR30; - goto FAILED; - } - - /* If matching is caseless, upper and lower are converted to - alpha. This relies on the fact that the class table starts with - alpha, lower, upper as the first 3 entries. */ - - if ((options & PCRE_CASELESS) != 0 && posix_class <= 2) - posix_class = 0; - - /* Or into the map we are building up to 3 of the static class - tables, or their negations. The [:blank:] class sets up the same - chars as the [:space:] class (all white space). We remove the vertical - white space chars afterwards. */ - - posix_class *= 3; - for (i = 0; i < 3; i++) - { - BOOL blankclass = strncmp((char *)ptr, "blank", 5) == 0; - int taboffset = posix_class_maps[posix_class + i]; - if (taboffset < 0) break; - if (local_negate) - { - if (i == 0) - for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+taboffset]; - else - for (c = 0; c < 32; c++) classbits[c] &= ~cbits[c+taboffset]; - if (blankclass) classbits[1] |= 0x3c; - } - else - { - for (c = 0; c < 32; c++) classbits[c] |= cbits[c+taboffset]; - if (blankclass) classbits[1] &= ~0x3c; - } - } - - ptr = tempptr + 1; - class_charcount = 10; /* Set > 1; assumes more than 1 per class */ - continue; /* End of POSIX syntax handling */ - } - - /* Backslash may introduce a single character, or it may introduce one - of the specials, which just set a flag. Escaped items are checked for - validity in the pre-compiling pass. The sequence \b is a special case. - Inside a class (and only there) it is treated as backspace. Elsewhere - it marks a word boundary. Other escapes have preset maps ready to - or into the one we are building. We assume they have more than one - character in them, so set class_charcount bigger than one. */ - - if (c == '\\') - { - c = check_escape(&ptr, errorcodeptr, *brackets, options, TRUE); - - if (-c == ESC_b) c = '\b'; /* \b is backslash in a class */ - else if (-c == ESC_X) c = 'X'; /* \X is literal X in a class */ - else if (-c == ESC_Q) /* Handle start of quoted string */ - { - if (ptr[1] == '\\' && ptr[2] == 'E') - { - ptr += 2; /* avoid empty string */ - } - else inescq = TRUE; - continue; - } - - if (c < 0) - { - register const uschar *cbits = cd->cbits; - class_charcount += 2; /* Greater than 1 is what matters */ - switch (-c) - { - case ESC_d: - for (c = 0; c < 32; c++) classbits[c] |= cbits[c+cbit_digit]; - continue; - - case ESC_D: - for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+cbit_digit]; - continue; - - case ESC_w: - for (c = 0; c < 32; c++) classbits[c] |= cbits[c+cbit_word]; - continue; - - case ESC_W: - for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+cbit_word]; - continue; - - case ESC_s: - for (c = 0; c < 32; c++) classbits[c] |= cbits[c+cbit_space]; - classbits[1] &= ~0x08; /* Perl 5.004 onwards omits VT from \s */ - continue; - - case ESC_S: - for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+cbit_space]; - classbits[1] |= 0x08; /* Perl 5.004 onwards omits VT from \s */ - continue; - -#ifdef SUPPORT_UCP - case ESC_p: - case ESC_P: - { - BOOL negated; - int property = get_ucp(&ptr, &negated, errorcodeptr); - if (property < 0) goto FAILED; - class_utf8 = TRUE; - *class_utf8data++ = ((-c == ESC_p) != negated)? - XCL_PROP : XCL_NOTPROP; - *class_utf8data++ = property; - class_charcount -= 2; /* Not a < 256 character */ - } - continue; -#endif - - /* Unrecognized escapes are faulted if PCRE is running in its - strict mode. By default, for compatibility with Perl, they are - treated as literals. */ - - default: - if ((options & PCRE_EXTRA) != 0) - { - *errorcodeptr = ERR7; - goto FAILED; - } - c = *ptr; /* The final character */ - class_charcount -= 2; /* Undo the default count from above */ - } - } - - /* Fall through if we have a single character (c >= 0). This may be - > 256 in UTF-8 mode. */ - - } /* End of backslash handling */ - - /* A single character may be followed by '-' to form a range. However, - Perl does not permit ']' to be the end of the range. A '-' character - here is treated as a literal. */ - - if (ptr[1] == '-' && ptr[2] != ']') - { - int d; - ptr += 2; - -#ifdef SUPPORT_UTF8 - if (utf8) - { /* Braces are required because the */ - GETCHARLEN(d, ptr, ptr); /* macro generates multiple statements */ - } - else -#endif - d = *ptr; /* Not UTF-8 mode */ - - /* The second part of a range can be a single-character escape, but - not any of the other escapes. Perl 5.6 treats a hyphen as a literal - in such circumstances. */ - - if (d == '\\') - { - const uschar *oldptr = ptr; - d = check_escape(&ptr, errorcodeptr, *brackets, options, TRUE); - - /* \b is backslash; \X is literal X; any other special means the '-' - was literal */ - - if (d < 0) - { - if (d == -ESC_b) d = '\b'; - else if (d == -ESC_X) d = 'X'; else - { - ptr = oldptr - 2; - goto LONE_SINGLE_CHARACTER; /* A few lines below */ - } - } - } - - /* The check that the two values are in the correct order happens in - the pre-pass. Optimize one-character ranges */ - - if (d == c) goto LONE_SINGLE_CHARACTER; /* A few lines below */ - - /* In UTF-8 mode, if the upper limit is > 255, or > 127 for caseless - matching, we have to use an XCLASS with extra data items. Caseless - matching for characters > 127 is available only if UCP support is - available. */ - -#ifdef SUPPORT_UTF8 - if (utf8 && (d > 255 || ((options & PCRE_CASELESS) != 0 && d > 127))) - { - class_utf8 = TRUE; - - /* With UCP support, we can find the other case equivalents of - the relevant characters. There may be several ranges. Optimize how - they fit with the basic range. */ - -#ifdef SUPPORT_UCP - if ((options & PCRE_CASELESS) != 0) - { - int occ, ocd; - int cc = c; - int origd = d; - while (get_othercase_range(&cc, origd, &occ, &ocd)) - { - if (occ >= c && ocd <= d) continue; /* Skip embedded ranges */ - - if (occ < c && ocd >= c - 1) /* Extend the basic range */ - { /* if there is overlap, */ - c = occ; /* noting that if occ < c */ - continue; /* we can't have ocd > d */ - } /* because a subrange is */ - if (ocd > d && occ <= d + 1) /* always shorter than */ - { /* the basic range. */ - d = ocd; - continue; - } - - if (occ == ocd) - { - *class_utf8data++ = XCL_SINGLE; - } - else - { - *class_utf8data++ = XCL_RANGE; - class_utf8data += _pcre_ord2utf8(occ, class_utf8data); - } - class_utf8data += _pcre_ord2utf8(ocd, class_utf8data); - } - } -#endif /* SUPPORT_UCP */ - - /* Now record the original range, possibly modified for UCP caseless - overlapping ranges. */ - - *class_utf8data++ = XCL_RANGE; - class_utf8data += _pcre_ord2utf8(c, class_utf8data); - class_utf8data += _pcre_ord2utf8(d, class_utf8data); - - /* With UCP support, we are done. Without UCP support, there is no - caseless matching for UTF-8 characters > 127; we can use the bit map - for the smaller ones. */ - -#ifdef SUPPORT_UCP - continue; /* With next character in the class */ -#else - if ((options & PCRE_CASELESS) == 0 || c > 127) continue; - - /* Adjust upper limit and fall through to set up the map */ - - d = 127; - -#endif /* SUPPORT_UCP */ - } -#endif /* SUPPORT_UTF8 */ - - /* We use the bit map for all cases when not in UTF-8 mode; else - ranges that lie entirely within 0-127 when there is UCP support; else - for partial ranges without UCP support. */ - - for (; c <= d; c++) - { - classbits[c/8] |= (1 << (c&7)); - if ((options & PCRE_CASELESS) != 0) - { - int uc = cd->fcc[c]; /* flip case */ - classbits[uc/8] |= (1 << (uc&7)); - } - class_charcount++; /* in case a one-char range */ - class_lastchar = c; - } - - continue; /* Go get the next char in the class */ - } - - /* Handle a lone single character - we can get here for a normal - non-escape char, or after \ that introduces a single character or for an - apparent range that isn't. */ - - LONE_SINGLE_CHARACTER: - - /* Handle a character that cannot go in the bit map */ - -#ifdef SUPPORT_UTF8 - if (utf8 && (c > 255 || ((options & PCRE_CASELESS) != 0 && c > 127))) - { - class_utf8 = TRUE; - *class_utf8data++ = XCL_SINGLE; - class_utf8data += _pcre_ord2utf8(c, class_utf8data); - -#ifdef SUPPORT_UCP - if ((options & PCRE_CASELESS) != 0) - { - int chartype; - int othercase; - if (_pcre_ucp_findchar(c, &chartype, &othercase) >= 0 && - othercase > 0) - { - *class_utf8data++ = XCL_SINGLE; - class_utf8data += _pcre_ord2utf8(othercase, class_utf8data); - } - } -#endif /* SUPPORT_UCP */ - - } - else -#endif /* SUPPORT_UTF8 */ - - /* Handle a single-byte character */ - { - classbits[c/8] |= (1 << (c&7)); - if ((options & PCRE_CASELESS) != 0) - { - c = cd->fcc[c]; /* flip case */ - classbits[c/8] |= (1 << (c&7)); - } - class_charcount++; - class_lastchar = c; - } - } - - /* Loop until ']' reached; the check for end of string happens inside the - loop. This "while" is the end of the "do" above. */ - - while ((c = *(++ptr)) != ']' || inescq); - - /* If class_charcount is 1, we saw precisely one character whose value is - less than 256. In non-UTF-8 mode we can always optimize. In UTF-8 mode, we - can optimize the negative case only if there were no characters >= 128 - because OP_NOT and the related opcodes like OP_NOTSTAR operate on - single-bytes only. This is an historical hangover. Maybe one day we can - tidy these opcodes to handle multi-byte characters. - - The optimization throws away the bit map. We turn the item into a - 1-character OP_CHAR[NC] if it's positive, or OP_NOT if it's negative. Note - that OP_NOT does not support multibyte characters. In the positive case, it - can cause firstbyte to be set. Otherwise, there can be no first char if - this item is first, whatever repeat count may follow. In the case of - reqbyte, save the previous value for reinstating. */ - -#ifdef SUPPORT_UTF8 - if (class_charcount == 1 && - (!utf8 || - (!class_utf8 && (!negate_class || class_lastchar < 128)))) - -#else - if (class_charcount == 1) -#endif - { - zeroreqbyte = reqbyte; - - /* The OP_NOT opcode works on one-byte characters only. */ - - if (negate_class) - { - if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE; - zerofirstbyte = firstbyte; - *code++ = OP_NOT; - *code++ = class_lastchar; - break; - } - - /* For a single, positive character, get the value into mcbuffer, and - then we can handle this with the normal one-character code. */ - -#ifdef SUPPORT_UTF8 - if (utf8 && class_lastchar > 127) - mclength = _pcre_ord2utf8(class_lastchar, mcbuffer); - else -#endif - { - mcbuffer[0] = class_lastchar; - mclength = 1; - } - goto ONE_CHAR; - } /* End of 1-char optimization */ - - /* The general case - not the one-char optimization. If this is the first - thing in the branch, there can be no first char setting, whatever the - repeat count. Any reqbyte setting must remain unchanged after any kind of - repeat. */ - - if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE; - zerofirstbyte = firstbyte; - zeroreqbyte = reqbyte; - - /* If there are characters with values > 255, we have to compile an - extended class, with its own opcode. If there are no characters < 256, - we can omit the bitmap. */ - -#ifdef SUPPORT_UTF8 - if (class_utf8) - { - *class_utf8data++ = XCL_END; /* Marks the end of extra data */ - *code++ = OP_XCLASS; - code += LINK_SIZE; - *code = negate_class? XCL_NOT : 0; - - /* If the map is required, install it, and move on to the end of - the extra data */ - - if (class_charcount > 0) - { - *code++ |= XCL_MAP; - memcpy(code, classbits, 32); - code = class_utf8data; - } - - /* If the map is not required, slide down the extra data. */ - - else - { - int len = class_utf8data - (code + 33); - memmove(code + 1, code + 33, len); - code += len + 1; - } - - /* Now fill in the complete length of the item */ - - PUT(previous, 1, code - previous); - break; /* End of class handling */ - } -#endif - - /* If there are no characters > 255, negate the 32-byte map if necessary, - and copy it into the code vector. If this is the first thing in the branch, - there can be no first char setting, whatever the repeat count. Any reqbyte - setting must remain unchanged after any kind of repeat. */ - - if (negate_class) - { - *code++ = OP_NCLASS; - for (c = 0; c < 32; c++) code[c] = ~classbits[c]; - } - else - { - *code++ = OP_CLASS; - memcpy(code, classbits, 32); - } - code += 32; - break; - - /* Various kinds of repeat; '{' is not necessarily a quantifier, but this - has been tested above. */ - - case '{': - if (!is_quantifier) goto NORMAL_CHAR; - ptr = read_repeat_counts(ptr+1, &repeat_min, &repeat_max, errorcodeptr); - if (*errorcodeptr != 0) goto FAILED; - goto REPEAT; - - case '*': - repeat_min = 0; - repeat_max = -1; - goto REPEAT; - - case '+': - repeat_min = 1; - repeat_max = -1; - goto REPEAT; - - case '?': - repeat_min = 0; - repeat_max = 1; - - REPEAT: - if (previous == NULL) - { - *errorcodeptr = ERR9; - goto FAILED; - } - - if (repeat_min == 0) - { - firstbyte = zerofirstbyte; /* Adjust for zero repeat */ - reqbyte = zeroreqbyte; /* Ditto */ - } - - /* Remember whether this is a variable length repeat */ - - reqvary = (repeat_min == repeat_max)? 0 : REQ_VARY; - - op_type = 0; /* Default single-char op codes */ - possessive_quantifier = FALSE; /* Default not possessive quantifier */ - - /* Save start of previous item, in case we have to move it up to make space - for an inserted OP_ONCE for the additional '+' extension. */ - - tempcode = previous; - - /* If the next character is '+', we have a possessive quantifier. This - implies greediness, whatever the setting of the PCRE_UNGREEDY option. - If the next character is '?' this is a minimizing repeat, by default, - but if PCRE_UNGREEDY is set, it works the other way round. We change the - repeat type to the non-default. */ - - if (ptr[1] == '+') - { - repeat_type = 0; /* Force greedy */ - possessive_quantifier = TRUE; - ptr++; - } - else if (ptr[1] == '?') - { - repeat_type = greedy_non_default; - ptr++; - } - else repeat_type = greedy_default; - - /* If previous was a recursion, we need to wrap it inside brackets so that - it can be replicated if necessary. */ - - if (*previous == OP_RECURSE) - { - memmove(previous + 1 + LINK_SIZE, previous, 1 + LINK_SIZE); - code += 1 + LINK_SIZE; - *previous = OP_BRA; - PUT(previous, 1, code - previous); - *code = OP_KET; - PUT(code, 1, code - previous); - code += 1 + LINK_SIZE; - } - - /* If previous was a character match, abolish the item and generate a - repeat item instead. If a char item has a minumum of more than one, ensure - that it is set in reqbyte - it might not be if a sequence such as x{3} is - the first thing in a branch because the x will have gone into firstbyte - instead. */ - - if (*previous == OP_CHAR || *previous == OP_CHARNC) - { - /* Deal with UTF-8 characters that take up more than one byte. It's - easier to write this out separately than try to macrify it. Use c to - hold the length of the character in bytes, plus 0x80 to flag that it's a - length rather than a small character. */ - -#ifdef SUPPORT_UTF8 - if (utf8 && (code[-1] & 0x80) != 0) - { - uschar *lastchar = code - 1; - while((*lastchar & 0xc0) == 0x80) lastchar--; - c = code - lastchar; /* Length of UTF-8 character */ - memcpy(utf8_char, lastchar, c); /* Save the char */ - c |= 0x80; /* Flag c as a length */ - } - else -#endif - - /* Handle the case of a single byte - either with no UTF8 support, or - with UTF-8 disabled, or for a UTF-8 character < 128. */ - - { - c = code[-1]; - if (repeat_min > 1) reqbyte = c | req_caseopt | cd->req_varyopt; - } - - goto OUTPUT_SINGLE_REPEAT; /* Code shared with single character types */ - } - - /* If previous was a single negated character ([^a] or similar), we use - one of the special opcodes, replacing it. The code is shared with single- - character repeats by setting opt_type to add a suitable offset into - repeat_type. OP_NOT is currently used only for single-byte chars. */ - - else if (*previous == OP_NOT) - { - op_type = OP_NOTSTAR - OP_STAR; /* Use "not" opcodes */ - c = previous[1]; - goto OUTPUT_SINGLE_REPEAT; - } - - /* If previous was a character type match (\d or similar), abolish it and - create a suitable repeat item. The code is shared with single-character - repeats by setting op_type to add a suitable offset into repeat_type. Note - the the Unicode property types will be present only when SUPPORT_UCP is - defined, but we don't wrap the little bits of code here because it just - makes it horribly messy. */ - - else if (*previous < OP_EODN) - { - uschar *oldcode; - int prop_type; - op_type = OP_TYPESTAR - OP_STAR; /* Use type opcodes */ - c = *previous; - - OUTPUT_SINGLE_REPEAT: - prop_type = (*previous == OP_PROP || *previous == OP_NOTPROP)? - previous[1] : -1; - - oldcode = code; - code = previous; /* Usually overwrite previous item */ - - /* If the maximum is zero then the minimum must also be zero; Perl allows - this case, so we do too - by simply omitting the item altogether. */ - - if (repeat_max == 0) goto END_REPEAT; - - /* All real repeats make it impossible to handle partial matching (maybe - one day we will be able to remove this restriction). */ - - if (repeat_max != 1) cd->nopartial = TRUE; - - /* Combine the op_type with the repeat_type */ - - repeat_type += op_type; - - /* A minimum of zero is handled either as the special case * or ?, or as - an UPTO, with the maximum given. */ - - if (repeat_min == 0) - { - if (repeat_max == -1) *code++ = OP_STAR + repeat_type; - else if (repeat_max == 1) *code++ = OP_QUERY + repeat_type; - else - { - *code++ = OP_UPTO + repeat_type; - PUT2INC(code, 0, repeat_max); - } - } - - /* A repeat minimum of 1 is optimized into some special cases. If the - maximum is unlimited, we use OP_PLUS. Otherwise, the original item it - left in place and, if the maximum is greater than 1, we use OP_UPTO with - one less than the maximum. */ - - else if (repeat_min == 1) - { - if (repeat_max == -1) - *code++ = OP_PLUS + repeat_type; - else - { - code = oldcode; /* leave previous item in place */ - if (repeat_max == 1) goto END_REPEAT; - *code++ = OP_UPTO + repeat_type; - PUT2INC(code, 0, repeat_max - 1); - } - } - - /* The case {n,n} is just an EXACT, while the general case {n,m} is - handled as an EXACT followed by an UPTO. */ - - else - { - *code++ = OP_EXACT + op_type; /* NB EXACT doesn't have repeat_type */ - PUT2INC(code, 0, repeat_min); - - /* If the maximum is unlimited, insert an OP_STAR. Before doing so, - we have to insert the character for the previous code. For a repeated - Unicode property match, there is an extra byte that defines the - required property. In UTF-8 mode, long characters have their length in - c, with the 0x80 bit as a flag. */ - - if (repeat_max < 0) - { -#ifdef SUPPORT_UTF8 - if (utf8 && c >= 128) - { - memcpy(code, utf8_char, c & 7); - code += c & 7; - } - else -#endif - { - *code++ = c; - if (prop_type >= 0) *code++ = prop_type; - } - *code++ = OP_STAR + repeat_type; - } - - /* Else insert an UPTO if the max is greater than the min, again - preceded by the character, for the previously inserted code. */ - - else if (repeat_max != repeat_min) - { -#ifdef SUPPORT_UTF8 - if (utf8 && c >= 128) - { - memcpy(code, utf8_char, c & 7); - code += c & 7; - } - else -#endif - *code++ = c; - if (prop_type >= 0) *code++ = prop_type; - repeat_max -= repeat_min; - *code++ = OP_UPTO + repeat_type; - PUT2INC(code, 0, repeat_max); - } - } - - /* The character or character type itself comes last in all cases. */ - -#ifdef SUPPORT_UTF8 - if (utf8 && c >= 128) - { - memcpy(code, utf8_char, c & 7); - code += c & 7; - } - else -#endif - *code++ = c; - - /* For a repeated Unicode property match, there is an extra byte that - defines the required property. */ - -#ifdef SUPPORT_UCP - if (prop_type >= 0) *code++ = prop_type; -#endif - } - - /* If previous was a character class or a back reference, we put the repeat - stuff after it, but just skip the item if the repeat was {0,0}. */ - - else if (*previous == OP_CLASS || - *previous == OP_NCLASS || -#ifdef SUPPORT_UTF8 - *previous == OP_XCLASS || -#endif - *previous == OP_REF) - { - if (repeat_max == 0) - { - code = previous; - goto END_REPEAT; - } - - /* All real repeats make it impossible to handle partial matching (maybe - one day we will be able to remove this restriction). */ - - if (repeat_max != 1) cd->nopartial = TRUE; - - if (repeat_min == 0 && repeat_max == -1) - *code++ = OP_CRSTAR + repeat_type; - else if (repeat_min == 1 && repeat_max == -1) - *code++ = OP_CRPLUS + repeat_type; - else if (repeat_min == 0 && repeat_max == 1) - *code++ = OP_CRQUERY + repeat_type; - else - { - *code++ = OP_CRRANGE + repeat_type; - PUT2INC(code, 0, repeat_min); - if (repeat_max == -1) repeat_max = 0; /* 2-byte encoding for max */ - PUT2INC(code, 0, repeat_max); - } - } - - /* If previous was a bracket group, we may have to replicate it in certain - cases. */ - - else if (*previous >= OP_BRA || *previous == OP_ONCE || - *previous == OP_COND) - { - register int i; - int ketoffset = 0; - int len = code - previous; - uschar *bralink = NULL; - - /* If the maximum repeat count is unlimited, find the end of the bracket - by scanning through from the start, and compute the offset back to it - from the current code pointer. There may be an OP_OPT setting following - the final KET, so we can't find the end just by going back from the code - pointer. */ - - if (repeat_max == -1) - { - register uschar *ket = previous; - do ket += GET(ket, 1); while (*ket != OP_KET); - ketoffset = code - ket; - } - - /* The case of a zero minimum is special because of the need to stick - OP_BRAZERO in front of it, and because the group appears once in the - data, whereas in other cases it appears the minimum number of times. For - this reason, it is simplest to treat this case separately, as otherwise - the code gets far too messy. There are several special subcases when the - minimum is zero. */ - - if (repeat_min == 0) - { - /* If the maximum is also zero, we just omit the group from the output - altogether. */ - - if (repeat_max == 0) - { - code = previous; - goto END_REPEAT; - } - - /* If the maximum is 1 or unlimited, we just have to stick in the - BRAZERO and do no more at this point. However, we do need to adjust - any OP_RECURSE calls inside the group that refer to the group itself or - any internal group, because the offset is from the start of the whole - regex. Temporarily terminate the pattern while doing this. */ - - if (repeat_max <= 1) - { - *code = OP_END; - adjust_recurse(previous, 1, utf8, cd); - memmove(previous+1, previous, len); - code++; - *previous++ = OP_BRAZERO + repeat_type; - } - - /* If the maximum is greater than 1 and limited, we have to replicate - in a nested fashion, sticking OP_BRAZERO before each set of brackets. - The first one has to be handled carefully because it's the original - copy, which has to be moved up. The remainder can be handled by code - that is common with the non-zero minimum case below. We have to - adjust the value or repeat_max, since one less copy is required. Once - again, we may have to adjust any OP_RECURSE calls inside the group. */ - - else - { - int offset; - *code = OP_END; - adjust_recurse(previous, 2 + LINK_SIZE, utf8, cd); - memmove(previous + 2 + LINK_SIZE, previous, len); - code += 2 + LINK_SIZE; - *previous++ = OP_BRAZERO + repeat_type; - *previous++ = OP_BRA; - - /* We chain together the bracket offset fields that have to be - filled in later when the ends of the brackets are reached. */ - - offset = (bralink == NULL)? 0 : previous - bralink; - bralink = previous; - PUTINC(previous, 0, offset); - } - - repeat_max--; - } - - /* If the minimum is greater than zero, replicate the group as many - times as necessary, and adjust the maximum to the number of subsequent - copies that we need. If we set a first char from the group, and didn't - set a required char, copy the latter from the former. */ - - else - { - if (repeat_min > 1) - { - if (groupsetfirstbyte && reqbyte < 0) reqbyte = firstbyte; - for (i = 1; i < repeat_min; i++) - { - memcpy(code, previous, len); - code += len; - } - } - if (repeat_max > 0) repeat_max -= repeat_min; - } - - /* This code is common to both the zero and non-zero minimum cases. If - the maximum is limited, it replicates the group in a nested fashion, - remembering the bracket starts on a stack. In the case of a zero minimum, - the first one was set up above. In all cases the repeat_max now specifies - the number of additional copies needed. */ - - if (repeat_max >= 0) - { - for (i = repeat_max - 1; i >= 0; i--) - { - *code++ = OP_BRAZERO + repeat_type; - - /* All but the final copy start a new nesting, maintaining the - chain of brackets outstanding. */ - - if (i != 0) - { - int offset; - *code++ = OP_BRA; - offset = (bralink == NULL)? 0 : code - bralink; - bralink = code; - PUTINC(code, 0, offset); - } - - memcpy(code, previous, len); - code += len; - } - - /* Now chain through the pending brackets, and fill in their length - fields (which are holding the chain links pro tem). */ - - while (bralink != NULL) - { - int oldlinkoffset; - int offset = code - bralink + 1; - uschar *bra = code - offset; - oldlinkoffset = GET(bra, 1); - bralink = (oldlinkoffset == 0)? NULL : bralink - oldlinkoffset; - *code++ = OP_KET; - PUTINC(code, 0, offset); - PUT(bra, 1, offset); - } - } - - /* If the maximum is unlimited, set a repeater in the final copy. We - can't just offset backwards from the current code point, because we - don't know if there's been an options resetting after the ket. The - correct offset was computed above. */ - - else code[-ketoffset] = OP_KETRMAX + repeat_type; - } - - /* Else there's some kind of shambles */ - - else - { - *errorcodeptr = ERR11; - goto FAILED; - } - - /* If the character following a repeat is '+', we wrap the entire repeated - item inside OP_ONCE brackets. This is just syntactic sugar, taken from - Sun's Java package. The repeated item starts at tempcode, not at previous, - which might be the first part of a string whose (former) last char we - repeated. However, we don't support '+' after a greediness '?'. */ - - if (possessive_quantifier) - { - int len = code - tempcode; - memmove(tempcode + 1+LINK_SIZE, tempcode, len); - code += 1 + LINK_SIZE; - len += 1 + LINK_SIZE; - tempcode[0] = OP_ONCE; - *code++ = OP_KET; - PUTINC(code, 0, len); - PUT(tempcode, 1, len); - } - - /* In all case we no longer have a previous item. We also set the - "follows varying string" flag for subsequently encountered reqbytes if - it isn't already set and we have just passed a varying length item. */ - - END_REPEAT: - previous = NULL; - cd->req_varyopt |= reqvary; - break; - - - /* Start of nested bracket sub-expression, or comment or lookahead or - lookbehind or option setting or condition. First deal with special things - that can come after a bracket; all are introduced by ?, and the appearance - of any of them means that this is not a referencing group. They were - checked for validity in the first pass over the string, so we don't have to - check for syntax errors here. */ - - case '(': - newoptions = options; - skipbytes = 0; - - if (*(++ptr) == '?') - { - int set, unset; - int *optset; - - switch (*(++ptr)) - { - case '#': /* Comment; skip to ket */ - ptr++; - while (*ptr != ')') ptr++; - continue; - - case ':': /* Non-extracting bracket */ - bravalue = OP_BRA; - ptr++; - break; - - case '(': - bravalue = OP_COND; /* Conditional group */ - - /* Condition to test for recursion */ - - if (ptr[1] == 'R') - { - code[1+LINK_SIZE] = OP_CREF; - PUT2(code, 2+LINK_SIZE, CREF_RECURSE); - skipbytes = 3; - ptr += 3; - } - - /* Condition to test for a numbered subpattern match. We know that - if a digit follows ( then there will just be digits until ) because - the syntax was checked in the first pass. */ - - else if ((digitab[ptr[1]] && ctype_digit) != 0) - { - int condref; /* Don't amalgamate; some compilers */ - condref = *(++ptr) - '0'; /* grumble at autoincrement in declaration */ - while (*(++ptr) != ')') condref = condref*10 + *ptr - '0'; - if (condref == 0) - { - *errorcodeptr = ERR35; - goto FAILED; - } - ptr++; - code[1+LINK_SIZE] = OP_CREF; - PUT2(code, 2+LINK_SIZE, condref); - skipbytes = 3; - } - /* For conditions that are assertions, we just fall through, having - set bravalue above. */ - break; - - case '=': /* Positive lookahead */ - bravalue = OP_ASSERT; - ptr++; - break; - - case '!': /* Negative lookahead */ - bravalue = OP_ASSERT_NOT; - ptr++; - break; - - case '<': /* Lookbehinds */ - switch (*(++ptr)) - { - case '=': /* Positive lookbehind */ - bravalue = OP_ASSERTBACK; - ptr++; - break; - - case '!': /* Negative lookbehind */ - bravalue = OP_ASSERTBACK_NOT; - ptr++; - break; - } - break; - - case '>': /* One-time brackets */ - bravalue = OP_ONCE; - ptr++; - break; - - case 'C': /* Callout - may be followed by digits; */ - previous_callout = code; /* Save for later completion */ - after_manual_callout = 1; /* Skip one item before completing */ - *code++ = OP_CALLOUT; /* Already checked that the terminating */ - { /* closing parenthesis is present. */ - int n = 0; - while ((digitab[*(++ptr)] & ctype_digit) != 0) - n = n * 10 + *ptr - '0'; - if (n > 255) - { - *errorcodeptr = ERR38; - goto FAILED; - } - *code++ = n; - PUT(code, 0, ptr - cd->start_pattern + 1); /* Pattern offset */ - PUT(code, LINK_SIZE, 0); /* Default length */ - code += 2 * LINK_SIZE; - } - previous = NULL; - continue; - - case 'P': /* Named subpattern handling */ - if (*(++ptr) == '<') /* Definition */ - { - int i, namelen; - uschar *slot = cd->name_table; - const uschar *name; /* Don't amalgamate; some compilers */ - name = ++ptr; /* grumble at autoincrement in declaration */ - - while (*ptr++ != '>'); - namelen = ptr - name - 1; - - for (i = 0; i < cd->names_found; i++) - { - int crc = memcmp(name, slot+2, namelen); - if (crc == 0) - { - if (slot[2+namelen] == 0) - { - *errorcodeptr = ERR43; - goto FAILED; - } - crc = -1; /* Current name is substring */ - } - if (crc < 0) - { - memmove(slot + cd->name_entry_size, slot, - (cd->names_found - i) * cd->name_entry_size); - break; - } - slot += cd->name_entry_size; - } - - PUT2(slot, 0, *brackets + 1); - memcpy(slot + 2, name, namelen); - slot[2+namelen] = 0; - cd->names_found++; - goto NUMBERED_GROUP; - } - - if (*ptr == '=' || *ptr == '>') /* Reference or recursion */ - { - int i, namelen; - int type = *ptr++; - const uschar *name = ptr; - uschar *slot = cd->name_table; - - while (*ptr != ')') ptr++; - namelen = ptr - name; - - for (i = 0; i < cd->names_found; i++) - { - if (strncmp((char *)name, (char *)slot+2, namelen) == 0) break; - slot += cd->name_entry_size; - } - if (i >= cd->names_found) - { - *errorcodeptr = ERR15; - goto FAILED; - } - - recno = GET2(slot, 0); - - if (type == '>') goto HANDLE_RECURSION; /* A few lines below */ - - /* Back reference */ - - previous = code; - *code++ = OP_REF; - PUT2INC(code, 0, recno); - cd->backref_map |= (recno < 32)? (1 << recno) : 1; - if (recno > cd->top_backref) cd->top_backref = recno; - continue; - } - - /* Should never happen */ - break; - - case 'R': /* Pattern recursion */ - ptr++; /* Same as (?0) */ - /* Fall through */ - - /* Recursion or "subroutine" call */ - - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - { - const uschar *called; - recno = 0; - while((digitab[*ptr] & ctype_digit) != 0) - recno = recno * 10 + *ptr++ - '0'; - - /* Come here from code above that handles a named recursion */ - - HANDLE_RECURSION: - - previous = code; - - /* Find the bracket that is being referenced. Temporarily end the - regex in case it doesn't exist. */ - - *code = OP_END; - called = (recno == 0)? - cd->start_code : find_bracket(cd->start_code, utf8, recno); - - if (called == NULL) - { - *errorcodeptr = ERR15; - goto FAILED; - } - - /* If the subpattern is still open, this is a recursive call. We - check to see if this is a left recursion that could loop for ever, - and diagnose that case. */ - - if (GET(called, 1) == 0 && could_be_empty(called, code, bcptr, utf8)) - { - *errorcodeptr = ERR40; - goto FAILED; - } - - /* Insert the recursion/subroutine item */ - - *code = OP_RECURSE; - PUT(code, 1, called - cd->start_code); - code += 1 + LINK_SIZE; - } - continue; - - /* Character after (? not specially recognized */ - - default: /* Option setting */ - set = unset = 0; - optset = &set; - - while (*ptr != ')' && *ptr != ':') - { - switch (*ptr++) - { - case '-': optset = &unset; break; - - case 'i': *optset |= PCRE_CASELESS; break; - case 'm': *optset |= PCRE_MULTILINE; break; - case 's': *optset |= PCRE_DOTALL; break; - case 'x': *optset |= PCRE_EXTENDED; break; - case 'U': *optset |= PCRE_UNGREEDY; break; - case 'X': *optset |= PCRE_EXTRA; break; - } - } - - /* Set up the changed option bits, but don't change anything yet. */ - - newoptions = (options | set) & (~unset); - - /* If the options ended with ')' this is not the start of a nested - group with option changes, so the options change at this level. Compile - code to change the ims options if this setting actually changes any of - them. We also pass the new setting back so that it can be put at the - start of any following branches, and when this group ends (if we are in - a group), a resetting item can be compiled. - - Note that if this item is right at the start of the pattern, the - options will have been abstracted and made global, so there will be no - change to compile. */ - - if (*ptr == ')') - { - if ((options & PCRE_IMS) != (newoptions & PCRE_IMS)) - { - *code++ = OP_OPT; - *code++ = newoptions & PCRE_IMS; - } - - /* Change options at this level, and pass them back for use - in subsequent branches. Reset the greedy defaults and the case - value for firstbyte and reqbyte. */ - - *optionsptr = options = newoptions; - greedy_default = ((newoptions & PCRE_UNGREEDY) != 0); - greedy_non_default = greedy_default ^ 1; - req_caseopt = ((options & PCRE_CASELESS) != 0)? REQ_CASELESS : 0; - - previous = NULL; /* This item can't be repeated */ - continue; /* It is complete */ - } - - /* If the options ended with ':' we are heading into a nested group - with possible change of options. Such groups are non-capturing and are - not assertions of any kind. All we need to do is skip over the ':'; - the newoptions value is handled below. */ - - bravalue = OP_BRA; - ptr++; - } - } - - /* If PCRE_NO_AUTO_CAPTURE is set, all unadorned brackets become - non-capturing and behave like (?:...) brackets */ - - else if ((options & PCRE_NO_AUTO_CAPTURE) != 0) - { - bravalue = OP_BRA; - } - - /* Else we have a referencing group; adjust the opcode. If the bracket - number is greater than EXTRACT_BASIC_MAX, we set the opcode one higher, and - arrange for the true number to follow later, in an OP_BRANUMBER item. */ - - else - { - NUMBERED_GROUP: - if (++(*brackets) > EXTRACT_BASIC_MAX) - { - bravalue = OP_BRA + EXTRACT_BASIC_MAX + 1; - code[1+LINK_SIZE] = OP_BRANUMBER; - PUT2(code, 2+LINK_SIZE, *brackets); - skipbytes = 3; - } - else bravalue = OP_BRA + *brackets; - } - - /* Process nested bracketed re. Assertions may not be repeated, but other - kinds can be. We copy code into a non-register variable in order to be able - to pass its address because some compilers complain otherwise. Pass in a - new setting for the ims options if they have changed. */ - - previous = (bravalue >= OP_ONCE)? code : NULL; - *code = bravalue; - tempcode = code; - tempreqvary = cd->req_varyopt; /* Save value before bracket */ - - if (!compile_regex( - newoptions, /* The complete new option state */ - options & PCRE_IMS, /* The previous ims option state */ - brackets, /* Extracting bracket count */ - &tempcode, /* Where to put code (updated) */ - &ptr, /* Input pointer (updated) */ - errorcodeptr, /* Where to put an error message */ - (bravalue == OP_ASSERTBACK || - bravalue == OP_ASSERTBACK_NOT), /* TRUE if back assert */ - skipbytes, /* Skip over OP_COND/OP_BRANUMBER */ - &subfirstbyte, /* For possible first char */ - &subreqbyte, /* For possible last char */ - bcptr, /* Current branch chain */ - cd)) /* Tables block */ - goto FAILED; - - /* At the end of compiling, code is still pointing to the start of the - group, while tempcode has been updated to point past the end of the group - and any option resetting that may follow it. The pattern pointer (ptr) - is on the bracket. */ - - /* If this is a conditional bracket, check that there are no more than - two branches in the group. */ - - else if (bravalue == OP_COND) - { - uschar *tc = code; - condcount = 0; - - do { - condcount++; - tc += GET(tc,1); - } - while (*tc != OP_KET); - - if (condcount > 2) - { - *errorcodeptr = ERR27; - goto FAILED; - } - - /* If there is just one branch, we must not make use of its firstbyte or - reqbyte, because this is equivalent to an empty second branch. */ - - if (condcount == 1) subfirstbyte = subreqbyte = REQ_NONE; - } - - /* Handle updating of the required and first characters. Update for normal - brackets of all kinds, and conditions with two branches (see code above). - If the bracket is followed by a quantifier with zero repeat, we have to - back off. Hence the definition of zeroreqbyte and zerofirstbyte outside the - main loop so that they can be accessed for the back off. */ - - zeroreqbyte = reqbyte; - zerofirstbyte = firstbyte; - groupsetfirstbyte = FALSE; - - if (bravalue >= OP_BRA || bravalue == OP_ONCE || bravalue == OP_COND) - { - /* If we have not yet set a firstbyte in this branch, take it from the - subpattern, remembering that it was set here so that a repeat of more - than one can replicate it as reqbyte if necessary. If the subpattern has - no firstbyte, set "none" for the whole branch. In both cases, a zero - repeat forces firstbyte to "none". */ - - if (firstbyte == REQ_UNSET) - { - if (subfirstbyte >= 0) - { - firstbyte = subfirstbyte; - groupsetfirstbyte = TRUE; - } - else firstbyte = REQ_NONE; - zerofirstbyte = REQ_NONE; - } - - /* If firstbyte was previously set, convert the subpattern's firstbyte - into reqbyte if there wasn't one, using the vary flag that was in - existence beforehand. */ - - else if (subfirstbyte >= 0 && subreqbyte < 0) - subreqbyte = subfirstbyte | tempreqvary; - - /* If the subpattern set a required byte (or set a first byte that isn't - really the first byte - see above), set it. */ - - if (subreqbyte >= 0) reqbyte = subreqbyte; - } - - /* For a forward assertion, we take the reqbyte, if set. This can be - helpful if the pattern that follows the assertion doesn't set a different - char. For example, it's useful for /(?=abcde).+/. We can't set firstbyte - for an assertion, however because it leads to incorrect effect for patterns - such as /(?=a)a.+/ when the "real" "a" would then become a reqbyte instead - of a firstbyte. This is overcome by a scan at the end if there's no - firstbyte, looking for an asserted first char. */ - - else if (bravalue == OP_ASSERT && subreqbyte >= 0) reqbyte = subreqbyte; - - /* Now update the main code pointer to the end of the group. */ - - code = tempcode; - - /* Error if hit end of pattern */ - - if (*ptr != ')') - { - *errorcodeptr = ERR14; - goto FAILED; - } - break; - - /* Check \ for being a real metacharacter; if not, fall through and handle - it as a data character at the start of a string. Escape items are checked - for validity in the pre-compiling pass. */ - - case '\\': - tempptr = ptr; - c = check_escape(&ptr, errorcodeptr, *brackets, options, FALSE); - - /* Handle metacharacters introduced by \. For ones like \d, the ESC_ values - are arranged to be the negation of the corresponding OP_values. For the - back references, the values are ESC_REF plus the reference number. Only - back references and those types that consume a character may be repeated. - We can test for values between ESC_b and ESC_Z for the latter; this may - have to change if any new ones are ever created. */ - - if (c < 0) - { - if (-c == ESC_Q) /* Handle start of quoted string */ - { - if (ptr[1] == '\\' && ptr[2] == 'E') ptr += 2; /* avoid empty string */ - else inescq = TRUE; - continue; - } - - /* For metasequences that actually match a character, we disable the - setting of a first character if it hasn't already been set. */ - - if (firstbyte == REQ_UNSET && -c > ESC_b && -c < ESC_Z) - firstbyte = REQ_NONE; - - /* Set values to reset to if this is followed by a zero repeat. */ - - zerofirstbyte = firstbyte; - zeroreqbyte = reqbyte; - - /* Back references are handled specially */ - - if (-c >= ESC_REF) - { - int number = -c - ESC_REF; - previous = code; - *code++ = OP_REF; - PUT2INC(code, 0, number); - } - - /* So are Unicode property matches, if supported. We know that get_ucp - won't fail because it was tested in the pre-pass. */ - -#ifdef SUPPORT_UCP - else if (-c == ESC_P || -c == ESC_p) - { - BOOL negated; - int value = get_ucp(&ptr, &negated, errorcodeptr); - previous = code; - *code++ = ((-c == ESC_p) != negated)? OP_PROP : OP_NOTPROP; - *code++ = value; - } -#endif - - /* For the rest, we can obtain the OP value by negating the escape - value */ - - else - { - previous = (-c > ESC_b && -c < ESC_Z)? code : NULL; - *code++ = -c; - } - continue; - } - - /* We have a data character whose value is in c. In UTF-8 mode it may have - a value > 127. We set its representation in the length/buffer, and then - handle it as a data character. */ - -#ifdef SUPPORT_UTF8 - if (utf8 && c > 127) - mclength = _pcre_ord2utf8(c, mcbuffer); - else -#endif - - { - mcbuffer[0] = c; - mclength = 1; - } - - goto ONE_CHAR; - - /* Handle a literal character. It is guaranteed not to be whitespace or # - when the extended flag is set. If we are in UTF-8 mode, it may be a - multi-byte literal character. */ - - default: - NORMAL_CHAR: - mclength = 1; - mcbuffer[0] = c; - -#ifdef SUPPORT_UTF8 - if (utf8 && (c & 0xc0) == 0xc0) - { - while ((ptr[1] & 0xc0) == 0x80) - mcbuffer[mclength++] = *(++ptr); - } -#endif - - /* At this point we have the character's bytes in mcbuffer, and the length - in mclength. When not in UTF-8 mode, the length is always 1. */ - - ONE_CHAR: - previous = code; - *code++ = ((options & PCRE_CASELESS) != 0)? OP_CHARNC : OP_CHAR; - for (c = 0; c < mclength; c++) *code++ = mcbuffer[c]; - - /* Set the first and required bytes appropriately. If no previous first - byte, set it from this character, but revert to none on a zero repeat. - Otherwise, leave the firstbyte value alone, and don't change it on a zero - repeat. */ - - if (firstbyte == REQ_UNSET) - { - zerofirstbyte = REQ_NONE; - zeroreqbyte = reqbyte; - - /* If the character is more than one byte long, we can set firstbyte - only if it is not to be matched caselessly. */ - - if (mclength == 1 || req_caseopt == 0) - { - firstbyte = mcbuffer[0] | req_caseopt; - if (mclength != 1) reqbyte = code[-1] | cd->req_varyopt; - } - else firstbyte = reqbyte = REQ_NONE; - } - - /* firstbyte was previously set; we can set reqbyte only the length is - 1 or the matching is caseful. */ - - else - { - zerofirstbyte = firstbyte; - zeroreqbyte = reqbyte; - if (mclength == 1 || req_caseopt == 0) - reqbyte = code[-1] | req_caseopt | cd->req_varyopt; - } - - break; /* End of literal character handling */ - } - } /* end of big loop */ - -/* Control never reaches here by falling through, only by a goto for all the -error states. Pass back the position in the pattern so that it can be displayed -to the user for diagnosing the error. */ - -FAILED: -*ptrptr = ptr; -return FALSE; -} - - - - -/************************************************* -* Compile sequence of alternatives * -*************************************************/ - -/* On entry, ptr is pointing past the bracket character, but on return -it points to the closing bracket, or vertical bar, or end of string. -The code variable is pointing at the byte into which the BRA operator has been -stored. If the ims options are changed at the start (for a (?ims: group) or -during any branch, we need to insert an OP_OPT item at the start of every -following branch to ensure they get set correctly at run time, and also pass -the new options into every subsequent branch compile. - -Argument: - options option bits, including any changes for this subpattern - oldims previous settings of ims option bits - brackets -> int containing the number of extracting brackets used - codeptr -> the address of the current code pointer - ptrptr -> the address of the current pattern pointer - errorcodeptr -> pointer to error code variable - lookbehind TRUE if this is a lookbehind assertion - skipbytes skip this many bytes at start (for OP_COND, OP_BRANUMBER) - firstbyteptr place to put the first required character, or a negative number - reqbyteptr place to put the last required character, or a negative number - bcptr pointer to the chain of currently open branches - cd points to the data block with tables pointers etc. - -Returns: TRUE on success -*/ - -static BOOL -compile_regex(int options, int oldims, int *brackets, uschar **codeptr, - const uschar **ptrptr, int *errorcodeptr, BOOL lookbehind, int skipbytes, - int *firstbyteptr, int *reqbyteptr, branch_chain *bcptr, compile_data *cd) -{ -const uschar *ptr = *ptrptr; -uschar *code = *codeptr; -uschar *last_branch = code; -uschar *start_bracket = code; -uschar *reverse_count = NULL; -int firstbyte, reqbyte; -int branchfirstbyte, branchreqbyte; -branch_chain bc; - -bc.outer = bcptr; -bc.current = code; - -firstbyte = reqbyte = REQ_UNSET; - -/* Offset is set zero to mark that this bracket is still open */ - -PUT(code, 1, 0); -code += 1 + LINK_SIZE + skipbytes; - -/* Loop for each alternative branch */ - -for (;;) - { - /* Handle a change of ims options at the start of the branch */ - - if ((options & PCRE_IMS) != oldims) - { - *code++ = OP_OPT; - *code++ = options & PCRE_IMS; - } - - /* Set up dummy OP_REVERSE if lookbehind assertion */ - - if (lookbehind) - { - *code++ = OP_REVERSE; - reverse_count = code; - PUTINC(code, 0, 0); - } - - /* Now compile the branch */ - - if (!compile_branch(&options, brackets, &code, &ptr, errorcodeptr, - &branchfirstbyte, &branchreqbyte, &bc, cd)) - { - *ptrptr = ptr; - return FALSE; - } - - /* If this is the first branch, the firstbyte and reqbyte values for the - branch become the values for the regex. */ - - if (*last_branch != OP_ALT) - { - firstbyte = branchfirstbyte; - reqbyte = branchreqbyte; - } - - /* If this is not the first branch, the first char and reqbyte have to - match the values from all the previous branches, except that if the previous - value for reqbyte didn't have REQ_VARY set, it can still match, and we set - REQ_VARY for the regex. */ - - else - { - /* If we previously had a firstbyte, but it doesn't match the new branch, - we have to abandon the firstbyte for the regex, but if there was previously - no reqbyte, it takes on the value of the old firstbyte. */ - - if (firstbyte >= 0 && firstbyte != branchfirstbyte) - { - if (reqbyte < 0) reqbyte = firstbyte; - firstbyte = REQ_NONE; - } - - /* If we (now or from before) have no firstbyte, a firstbyte from the - branch becomes a reqbyte if there isn't a branch reqbyte. */ - - if (firstbyte < 0 && branchfirstbyte >= 0 && branchreqbyte < 0) - branchreqbyte = branchfirstbyte; - - /* Now ensure that the reqbytes match */ - - if ((reqbyte & ~REQ_VARY) != (branchreqbyte & ~REQ_VARY)) - reqbyte = REQ_NONE; - else reqbyte |= branchreqbyte; /* To "or" REQ_VARY */ - } - - /* If lookbehind, check that this branch matches a fixed-length string, - and put the length into the OP_REVERSE item. Temporarily mark the end of - the branch with OP_END. */ - - if (lookbehind) - { - int length; - *code = OP_END; - length = find_fixedlength(last_branch, options); - DPRINTF(("fixed length = %d\n", length)); - if (length < 0) - { - *errorcodeptr = (length == -2)? ERR36 : ERR25; - *ptrptr = ptr; - return FALSE; - } - PUT(reverse_count, 0, length); - } - - /* Reached end of expression, either ')' or end of pattern. Go back through - the alternative branches and reverse the chain of offsets, with the field in - the BRA item now becoming an offset to the first alternative. If there are - no alternatives, it points to the end of the group. The length in the - terminating ket is always the length of the whole bracketed item. If any of - the ims options were changed inside the group, compile a resetting op-code - following, except at the very end of the pattern. Return leaving the pointer - at the terminating char. */ - - if (*ptr != '|') - { - int length = code - last_branch; - do - { - int prev_length = GET(last_branch, 1); - PUT(last_branch, 1, length); - length = prev_length; - last_branch -= length; - } - while (length > 0); - - /* Fill in the ket */ - - *code = OP_KET; - PUT(code, 1, code - start_bracket); - code += 1 + LINK_SIZE; - - /* Resetting option if needed */ - - if ((options & PCRE_IMS) != oldims && *ptr == ')') - { - *code++ = OP_OPT; - *code++ = oldims; - } - - /* Set values to pass back */ - - *codeptr = code; - *ptrptr = ptr; - *firstbyteptr = firstbyte; - *reqbyteptr = reqbyte; - return TRUE; - } - - /* Another branch follows; insert an "or" node. Its length field points back - to the previous branch while the bracket remains open. At the end the chain - is reversed. It's done like this so that the start of the bracket has a - zero offset until it is closed, making it possible to detect recursion. */ - - *code = OP_ALT; - PUT(code, 1, code - last_branch); - bc.current = last_branch = code; - code += 1 + LINK_SIZE; - ptr++; - } -/* Control never reaches here */ -} - - - - -/************************************************* -* Check for anchored expression * -*************************************************/ - -/* Try to find out if this is an anchored regular expression. Consider each -alternative branch. If they all start with OP_SOD or OP_CIRC, or with a bracket -all of whose alternatives start with OP_SOD or OP_CIRC (recurse ad lib), then -it's anchored. However, if this is a multiline pattern, then only OP_SOD -counts, since OP_CIRC can match in the middle. - -We can also consider a regex to be anchored if OP_SOM starts all its branches. -This is the code for \G, which means "match at start of match position, taking -into account the match offset". - -A branch is also implicitly anchored if it starts with .* and DOTALL is set, -because that will try the rest of the pattern at all possible matching points, -so there is no point trying again.... er .... - -.... except when the .* appears inside capturing parentheses, and there is a -subsequent back reference to those parentheses. We haven't enough information -to catch that case precisely. - -At first, the best we could do was to detect when .* was in capturing brackets -and the highest back reference was greater than or equal to that level. -However, by keeping a bitmap of the first 31 back references, we can catch some -of the more common cases more precisely. - -Arguments: - code points to start of expression (the bracket) - options points to the options setting - bracket_map a bitmap of which brackets we are inside while testing; this - handles up to substring 31; after that we just have to take - the less precise approach - backref_map the back reference bitmap - -Returns: TRUE or FALSE -*/ - -static BOOL -is_anchored(register const uschar *code, int *options, unsigned int bracket_map, - unsigned int backref_map) -{ -do { - const uschar *scode = - first_significant_code(code + 1+LINK_SIZE, options, PCRE_MULTILINE, FALSE); - register int op = *scode; - - /* Capturing brackets */ - - if (op > OP_BRA) - { - int new_map; - op -= OP_BRA; - if (op > EXTRACT_BASIC_MAX) op = GET2(scode, 2+LINK_SIZE); - new_map = bracket_map | ((op < 32)? (1 << op) : 1); - if (!is_anchored(scode, options, new_map, backref_map)) return FALSE; - } - - /* Other brackets */ - - else if (op == OP_BRA || op == OP_ASSERT || op == OP_ONCE || op == OP_COND) - { - if (!is_anchored(scode, options, bracket_map, backref_map)) return FALSE; - } - - /* .* is not anchored unless DOTALL is set and it isn't in brackets that - are or may be referenced. */ - - else if ((op == OP_TYPESTAR || op == OP_TYPEMINSTAR) && - (*options & PCRE_DOTALL) != 0) - { - if (scode[1] != OP_ANY || (bracket_map & backref_map) != 0) return FALSE; - } - - /* Check for explicit anchoring */ - - else if (op != OP_SOD && op != OP_SOM && - ((*options & PCRE_MULTILINE) != 0 || op != OP_CIRC)) - return FALSE; - code += GET(code, 1); - } -while (*code == OP_ALT); /* Loop for each alternative */ -return TRUE; -} - - - -/************************************************* -* Check for starting with ^ or .* * -*************************************************/ - -/* This is called to find out if every branch starts with ^ or .* so that -"first char" processing can be done to speed things up in multiline -matching and for non-DOTALL patterns that start with .* (which must start at -the beginning or after \n). As in the case of is_anchored() (see above), we -have to take account of back references to capturing brackets that contain .* -because in that case we can't make the assumption. - -Arguments: - code points to start of expression (the bracket) - bracket_map a bitmap of which brackets we are inside while testing; this - handles up to substring 31; after that we just have to take - the less precise approach - backref_map the back reference bitmap - -Returns: TRUE or FALSE -*/ - -static BOOL -is_startline(const uschar *code, unsigned int bracket_map, - unsigned int backref_map) -{ -do { - const uschar *scode = first_significant_code(code + 1+LINK_SIZE, NULL, 0, - FALSE); - register int op = *scode; - - /* Capturing brackets */ - - if (op > OP_BRA) - { - int new_map; - op -= OP_BRA; - if (op > EXTRACT_BASIC_MAX) op = GET2(scode, 2+LINK_SIZE); - new_map = bracket_map | ((op < 32)? (1 << op) : 1); - if (!is_startline(scode, new_map, backref_map)) return FALSE; - } - - /* Other brackets */ - - else if (op == OP_BRA || op == OP_ASSERT || op == OP_ONCE || op == OP_COND) - { if (!is_startline(scode, bracket_map, backref_map)) return FALSE; } - - /* .* means "start at start or after \n" if it isn't in brackets that - may be referenced. */ - - else if (op == OP_TYPESTAR || op == OP_TYPEMINSTAR) - { - if (scode[1] != OP_ANY || (bracket_map & backref_map) != 0) return FALSE; - } - - /* Check for explicit circumflex */ - - else if (op != OP_CIRC) return FALSE; - - /* Move on to the next alternative */ - - code += GET(code, 1); - } -while (*code == OP_ALT); /* Loop for each alternative */ -return TRUE; -} - - - -/************************************************* -* Check for asserted fixed first char * -*************************************************/ - -/* During compilation, the "first char" settings from forward assertions are -discarded, because they can cause conflicts with actual literals that follow. -However, if we end up without a first char setting for an unanchored pattern, -it is worth scanning the regex to see if there is an initial asserted first -char. If all branches start with the same asserted char, or with a bracket all -of whose alternatives start with the same asserted char (recurse ad lib), then -we return that char, otherwise -1. - -Arguments: - code points to start of expression (the bracket) - options pointer to the options (used to check casing changes) - inassert TRUE if in an assertion - -Returns: -1 or the fixed first char -*/ - -static int -find_firstassertedchar(const uschar *code, int *options, BOOL inassert) -{ -register int c = -1; -do { - int d; - const uschar *scode = - first_significant_code(code + 1+LINK_SIZE, options, PCRE_CASELESS, TRUE); - register int op = *scode; - - if (op >= OP_BRA) op = OP_BRA; - - switch(op) - { - default: - return -1; - - case OP_BRA: - case OP_ASSERT: - case OP_ONCE: - case OP_COND: - if ((d = find_firstassertedchar(scode, options, op == OP_ASSERT)) < 0) - return -1; - if (c < 0) c = d; else if (c != d) return -1; - break; - - case OP_EXACT: /* Fall through */ - scode += 2; - - case OP_CHAR: - case OP_CHARNC: - case OP_PLUS: - case OP_MINPLUS: - if (!inassert) return -1; - if (c < 0) - { - c = scode[1]; - if ((*options & PCRE_CASELESS) != 0) c |= REQ_CASELESS; - } - else if (c != scode[1]) return -1; - break; - } - - code += GET(code, 1); - } -while (*code == OP_ALT); -return c; -} - - - -/************************************************* -* Compile a Regular Expression * -*************************************************/ - -/* This function takes a string and returns a pointer to a block of store -holding a compiled version of the expression. The original API for this -function had no error code return variable; it is retained for backwards -compatibility. The new function is given a new name. - -Arguments: - pattern the regular expression - options various option bits - errorcodeptr pointer to error code variable (pcre_compile2() only) - can be NULL if you don't want a code value - errorptr pointer to pointer to error text - erroroffset ptr offset in pattern where error was detected - tables pointer to character tables or NULL - -Returns: pointer to compiled data block, or NULL on error, - with errorptr and erroroffset set -*/ - -EXPORT pcre * -pcre_compile(const char *pattern, int options, const char **errorptr, - int *erroroffset, const unsigned char *tables) -{ -return pcre_compile2(pattern, options, NULL, errorptr, erroroffset, tables); -} - - -EXPORT pcre * -pcre_compile2(const char *pattern, int options, int *errorcodeptr, - const char **errorptr, int *erroroffset, const unsigned char *tables) -{ -real_pcre *re; -int length = 1 + LINK_SIZE; /* For initial BRA plus length */ -int c, firstbyte, reqbyte; -int bracount = 0; -int branch_extra = 0; -int branch_newextra; -int item_count = -1; -int name_count = 0; -int max_name_size = 0; -int lastitemlength = 0; -int errorcode = 0; -#ifdef SUPPORT_UTF8 -BOOL utf8; -BOOL class_utf8; -#endif -BOOL inescq = FALSE; -BOOL capturing; -unsigned int brastackptr = 0; -size_t size; -uschar *code; -const uschar *codestart; -const uschar *ptr; -compile_data compile_block; -int brastack[BRASTACK_SIZE]; -uschar bralenstack[BRASTACK_SIZE]; - -/* We can't pass back an error message if errorptr is NULL; I guess the best we -can do is just return NULL, but we can set a code value if there is a code -pointer. */ - -if (errorptr == NULL) - { - if (errorcodeptr != NULL) *errorcodeptr = 99; - return NULL; - } - -*errorptr = NULL; -if (errorcodeptr != NULL) *errorcodeptr = ERR0; - -/* However, we can give a message for this error */ - -if (erroroffset == NULL) - { - errorcode = ERR16; - goto PCRE_EARLY_ERROR_RETURN; - } - -*erroroffset = 0; - -/* Can't support UTF8 unless PCRE has been compiled to include the code. */ - -#ifdef SUPPORT_UTF8 -utf8 = (options & PCRE_UTF8) != 0; -if (utf8 && (options & PCRE_NO_UTF8_CHECK) == 0 && - (*erroroffset = _pcre_valid_utf8((uschar *)pattern, -1)) >= 0) - { - errorcode = ERR44; - goto PCRE_EARLY_ERROR_RETURN; - } -#else -if ((options & PCRE_UTF8) != 0) - { - errorcode = ERR32; - goto PCRE_EARLY_ERROR_RETURN; - } -#endif - -if ((options & ~PUBLIC_OPTIONS) != 0) - { - errorcode = ERR17; - goto PCRE_EARLY_ERROR_RETURN; - } - -/* Set up pointers to the individual character tables */ - -if (tables == NULL) tables = _pcre_default_tables; -compile_block.lcc = tables + lcc_offset; -compile_block.fcc = tables + fcc_offset; -compile_block.cbits = tables + cbits_offset; -compile_block.ctypes = tables + ctypes_offset; - -/* Maximum back reference and backref bitmap. This is updated for numeric -references during the first pass, but for named references during the actual -compile pass. The bitmap records up to 31 back references to help in deciding -whether (.*) can be treated as anchored or not. */ - -compile_block.top_backref = 0; -compile_block.backref_map = 0; - -/* Reflect pattern for debugging output */ - -DPRINTF(("------------------------------------------------------------------\n")); -DPRINTF(("%s\n", pattern)); - -/* The first thing to do is to make a pass over the pattern to compute the -amount of store required to hold the compiled code. This does not have to be -perfect as long as errors are overestimates. At the same time we can detect any -flag settings right at the start, and extract them. Make an attempt to correct -for any counted white space if an "extended" flag setting appears late in the -pattern. We can't be so clever for #-comments. */ - -ptr = (const uschar *)(pattern - 1); -while ((c = *(++ptr)) != 0) - { - int min, max; - int class_optcount; - int bracket_length; - int duplength; - - /* If we are inside a \Q...\E sequence, all chars are literal */ - - if (inescq) - { - if ((options & PCRE_AUTO_CALLOUT) != 0) length += 2 + 2*LINK_SIZE; - goto NORMAL_CHAR; - } - - /* Otherwise, first check for ignored whitespace and comments */ - - if ((options & PCRE_EXTENDED) != 0) - { - if ((compile_block.ctypes[c] & ctype_space) != 0) continue; - if (c == '#') - { - /* The space before the ; is to avoid a warning on a silly compiler - on the Macintosh. */ - while ((c = *(++ptr)) != 0 && c != NEWLINE) ; - if (c == 0) break; - continue; - } - } - - item_count++; /* Is zero for the first non-comment item */ - - /* Allow space for auto callout before every item except quantifiers. */ - - if ((options & PCRE_AUTO_CALLOUT) != 0 && - c != '*' && c != '+' && c != '?' && - (c != '{' || !is_counted_repeat(ptr + 1))) - length += 2 + 2*LINK_SIZE; - - switch(c) - { - /* A backslashed item may be an escaped data character or it may be a - character type. */ - - case '\\': - c = check_escape(&ptr, &errorcode, bracount, options, FALSE); - if (errorcode != 0) goto PCRE_ERROR_RETURN; - - lastitemlength = 1; /* Default length of last item for repeats */ - - if (c >= 0) /* Data character */ - { - length += 2; /* For a one-byte character */ - -#ifdef SUPPORT_UTF8 - if (utf8 && c > 127) - { - int i; - for (i = 0; i < _pcre_utf8_table1_size; i++) - if (c <= _pcre_utf8_table1[i]) break; - length += i; - lastitemlength += i; - } -#endif - - continue; - } - - /* If \Q, enter "literal" mode */ - - if (-c == ESC_Q) - { - inescq = TRUE; - continue; - } - - /* \X is supported only if Unicode property support is compiled */ - -#ifndef SUPPORT_UCP - if (-c == ESC_X) - { - errorcode = ERR45; - goto PCRE_ERROR_RETURN; - } -#endif - - /* \P and \p are for Unicode properties, but only when the support has - been compiled. Each item needs 2 bytes. */ - - else if (-c == ESC_P || -c == ESC_p) - { -#ifdef SUPPORT_UCP - BOOL negated; - length += 2; - lastitemlength = 2; - if (get_ucp(&ptr, &negated, &errorcode) < 0) goto PCRE_ERROR_RETURN; - continue; -#else - errorcode = ERR45; - goto PCRE_ERROR_RETURN; -#endif - } - - /* Other escapes need one byte */ - - length++; - - /* A back reference needs an additional 2 bytes, plus either one or 5 - bytes for a repeat. We also need to keep the value of the highest - back reference. */ - - if (c <= -ESC_REF) - { - int refnum = -c - ESC_REF; - compile_block.backref_map |= (refnum < 32)? (1 << refnum) : 1; - if (refnum > compile_block.top_backref) - compile_block.top_backref = refnum; - length += 2; /* For single back reference */ - if (ptr[1] == '{' && is_counted_repeat(ptr+2)) - { - ptr = read_repeat_counts(ptr+2, &min, &max, &errorcode); - if (errorcode != 0) goto PCRE_ERROR_RETURN; - if ((min == 0 && (max == 1 || max == -1)) || - (min == 1 && max == -1)) - length++; - else length += 5; - if (ptr[1] == '?') ptr++; - } - } - continue; - - case '^': /* Single-byte metacharacters */ - case '.': - case '$': - length++; - lastitemlength = 1; - continue; - - case '*': /* These repeats won't be after brackets; */ - case '+': /* those are handled separately */ - case '?': - length++; - goto POSESSIVE; /* A few lines below */ - - /* This covers the cases of braced repeats after a single char, metachar, - class, or back reference. */ - - case '{': - if (!is_counted_repeat(ptr+1)) goto NORMAL_CHAR; - ptr = read_repeat_counts(ptr+1, &min, &max, &errorcode); - if (errorcode != 0) goto PCRE_ERROR_RETURN; - - /* These special cases just insert one extra opcode */ - - if ((min == 0 && (max == 1 || max == -1)) || - (min == 1 && max == -1)) - length++; - - /* These cases might insert additional copies of a preceding character. */ - - else - { - if (min != 1) - { - length -= lastitemlength; /* Uncount the original char or metachar */ - if (min > 0) length += 3 + lastitemlength; - } - length += lastitemlength + ((max > 0)? 3 : 1); - } - - if (ptr[1] == '?') ptr++; /* Needs no extra length */ - - POSESSIVE: /* Test for possessive quantifier */ - if (ptr[1] == '+') - { - ptr++; - length += 2 + 2*LINK_SIZE; /* Allow for atomic brackets */ - } - continue; - - /* An alternation contains an offset to the next branch or ket. If any ims - options changed in the previous branch(es), and/or if we are in a - lookbehind assertion, extra space will be needed at the start of the - branch. This is handled by branch_extra. */ - - case '|': - length += 1 + LINK_SIZE + branch_extra; - continue; - - /* A character class uses 33 characters provided that all the character - values are less than 256. Otherwise, it uses a bit map for low valued - characters, and individual items for others. Don't worry about character - types that aren't allowed in classes - they'll get picked up during the - compile. A character class that contains only one single-byte character - uses 2 or 3 bytes, depending on whether it is negated or not. Notice this - where we can. (In UTF-8 mode we can do this only for chars < 128.) */ - - case '[': - if (*(++ptr) == '^') - { - class_optcount = 10; /* Greater than one */ - ptr++; - } - else class_optcount = 0; - -#ifdef SUPPORT_UTF8 - class_utf8 = FALSE; -#endif - - /* Written as a "do" so that an initial ']' is taken as data */ - - if (*ptr != 0) do - { - /* Inside \Q...\E everything is literal except \E */ - - if (inescq) - { - if (*ptr != '\\' || ptr[1] != 'E') goto GET_ONE_CHARACTER; - inescq = FALSE; - ptr += 1; - continue; - } - - /* Outside \Q...\E, check for escapes */ - - if (*ptr == '\\') - { - c = check_escape(&ptr, &errorcode, bracount, options, TRUE); - if (errorcode != 0) goto PCRE_ERROR_RETURN; - - /* \b is backspace inside a class; \X is literal */ - - if (-c == ESC_b) c = '\b'; - else if (-c == ESC_X) c = 'X'; - - /* \Q enters quoting mode */ - - else if (-c == ESC_Q) - { - inescq = TRUE; - continue; - } - - /* Handle escapes that turn into characters */ - - if (c >= 0) goto NON_SPECIAL_CHARACTER; - - /* Escapes that are meta-things. The normal ones just affect the - bit map, but Unicode properties require an XCLASS extended item. */ - - else - { - class_optcount = 10; /* \d, \s etc; make sure > 1 */ -#ifdef SUPPORT_UTF8 - if (-c == ESC_p || -c == ESC_P) - { - if (!class_utf8) - { - class_utf8 = TRUE; - length += LINK_SIZE + 2; - } - length += 2; - } -#endif - } - } - - /* Check the syntax for POSIX stuff. The bits we actually handle are - checked during the real compile phase. */ - - else if (*ptr == '[' && check_posix_syntax(ptr, &ptr, &compile_block)) - { - ptr++; - class_optcount = 10; /* Make sure > 1 */ - } - - /* Anything else increments the possible optimization count. We have to - detect ranges here so that we can compute the number of extra ranges for - caseless wide characters when UCP support is available. If there are wide - characters, we are going to have to use an XCLASS, even for single - characters. */ - - else - { - int d; - - GET_ONE_CHARACTER: - -#ifdef SUPPORT_UTF8 - if (utf8) - { - int extra = 0; - GETCHARLEN(c, ptr, extra); - ptr += extra; - } - else c = *ptr; -#else - c = *ptr; -#endif - - /* Come here from handling \ above when it escapes to a char value */ - - NON_SPECIAL_CHARACTER: - class_optcount++; - - d = -1; - if (ptr[1] == '-') - { - uschar const *hyptr = ptr++; - if (ptr[1] == '\\') - { - ptr++; - d = check_escape(&ptr, &errorcode, bracount, options, TRUE); - if (errorcode != 0) goto PCRE_ERROR_RETURN; - if (-d == ESC_b) d = '\b'; /* backspace */ - else if (-d == ESC_X) d = 'X'; /* literal X in a class */ - } - else if (ptr[1] != 0 && ptr[1] != ']') - { - ptr++; -#ifdef SUPPORT_UTF8 - if (utf8) - { - int extra = 0; - GETCHARLEN(d, ptr, extra); - ptr += extra; - } - else -#endif - d = *ptr; - } - if (d < 0) ptr = hyptr; /* go back to hyphen as data */ - } - - /* If d >= 0 we have a range. In UTF-8 mode, if the end is > 255, or > - 127 for caseless matching, we will need to use an XCLASS. */ - - if (d >= 0) - { - class_optcount = 10; /* Ensure > 1 */ - if (d < c) - { - errorcode = ERR8; - goto PCRE_ERROR_RETURN; - } - -#ifdef SUPPORT_UTF8 - if (utf8 && (d > 255 || ((options & PCRE_CASELESS) != 0 && d > 127))) - { - uschar buffer[6]; - if (!class_utf8) /* Allow for XCLASS overhead */ - { - class_utf8 = TRUE; - length += LINK_SIZE + 2; - } - -#ifdef SUPPORT_UCP - /* If we have UCP support, find out how many extra ranges are - needed to map the other case of characters within this range. We - have to mimic the range optimization here, because extending the - range upwards might push d over a boundary that makes is use - another byte in the UTF-8 representation. */ - - if ((options & PCRE_CASELESS) != 0) - { - int occ, ocd; - int cc = c; - int origd = d; - while (get_othercase_range(&cc, origd, &occ, &ocd)) - { - if (occ >= c && ocd <= d) continue; /* Skip embedded */ - - if (occ < c && ocd >= c - 1) /* Extend the basic range */ - { /* if there is overlap, */ - c = occ; /* noting that if occ < c */ - continue; /* we can't have ocd > d */ - } /* because a subrange is */ - if (ocd > d && occ <= d + 1) /* always shorter than */ - { /* the basic range. */ - d = ocd; - continue; - } - - /* An extra item is needed */ - - length += 1 + _pcre_ord2utf8(occ, buffer) + - ((occ == ocd)? 0 : _pcre_ord2utf8(ocd, buffer)); - } - } -#endif /* SUPPORT_UCP */ - - /* The length of the (possibly extended) range */ - - length += 1 + _pcre_ord2utf8(c, buffer) + _pcre_ord2utf8(d, buffer); - } -#endif /* SUPPORT_UTF8 */ - - } - - /* We have a single character. There is nothing to be done unless we - are in UTF-8 mode. If the char is > 255, or 127 when caseless, we must - allow for an XCL_SINGLE item, doubled for caselessness if there is UCP - support. */ - - else - { -#ifdef SUPPORT_UTF8 - if (utf8 && (c > 255 || ((options & PCRE_CASELESS) != 0 && c > 127))) - { - uschar buffer[6]; - class_optcount = 10; /* Ensure > 1 */ - if (!class_utf8) /* Allow for XCLASS overhead */ - { - class_utf8 = TRUE; - length += LINK_SIZE + 2; - } -#ifdef SUPPORT_UCP - length += (((options & PCRE_CASELESS) != 0)? 2 : 1) * - (1 + _pcre_ord2utf8(c, buffer)); -#else /* SUPPORT_UCP */ - length += 1 + _pcre_ord2utf8(c, buffer); -#endif /* SUPPORT_UCP */ - } -#endif /* SUPPORT_UTF8 */ - } - } - } - while (*(++ptr) != 0 && (inescq || *ptr != ']')); /* Concludes "do" above */ - - if (*ptr == 0) /* Missing terminating ']' */ - { - errorcode = ERR6; - goto PCRE_ERROR_RETURN; - } - - /* We can optimize when there was only one optimizable character. Repeats - for positive and negated single one-byte chars are handled by the general - code. Here, we handle repeats for the class opcodes. */ - - if (class_optcount == 1) length += 3; else - { - length += 33; - - /* A repeat needs either 1 or 5 bytes. If it is a possessive quantifier, - we also need extra for wrapping the whole thing in a sub-pattern. */ - - if (*ptr != 0 && ptr[1] == '{' && is_counted_repeat(ptr+2)) - { - ptr = read_repeat_counts(ptr+2, &min, &max, &errorcode); - if (errorcode != 0) goto PCRE_ERROR_RETURN; - if ((min == 0 && (max == 1 || max == -1)) || - (min == 1 && max == -1)) - length++; - else length += 5; - if (ptr[1] == '+') - { - ptr++; - length += 2 + 2*LINK_SIZE; - } - else if (ptr[1] == '?') ptr++; - } - } - continue; - - /* Brackets may be genuine groups or special things */ - - case '(': - branch_newextra = 0; - bracket_length = 1 + LINK_SIZE; - capturing = FALSE; - - /* Handle special forms of bracket, which all start (? */ - - if (ptr[1] == '?') - { - int set, unset; - int *optset; - - switch (c = ptr[2]) - { - /* Skip over comments entirely */ - case '#': - ptr += 3; - while (*ptr != 0 && *ptr != ')') ptr++; - if (*ptr == 0) - { - errorcode = ERR18; - goto PCRE_ERROR_RETURN; - } - continue; - - /* Non-referencing groups and lookaheads just move the pointer on, and - then behave like a non-special bracket, except that they don't increment - the count of extracting brackets. Ditto for the "once only" bracket, - which is in Perl from version 5.005. */ - - case ':': - case '=': - case '!': - case '>': - ptr += 2; - break; - - /* (?R) specifies a recursive call to the regex, which is an extension - to provide the facility which can be obtained by (?p{perl-code}) in - Perl 5.6. In Perl 5.8 this has become (??{perl-code}). - - From PCRE 4.00, items such as (?3) specify subroutine-like "calls" to - the appropriate numbered brackets. This includes both recursive and - non-recursive calls. (?R) is now synonymous with (?0). */ - - case 'R': - ptr++; - - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - ptr += 2; - if (c != 'R') - while ((digitab[*(++ptr)] & ctype_digit) != 0); - if (*ptr != ')') - { - errorcode = ERR29; - goto PCRE_ERROR_RETURN; - } - length += 1 + LINK_SIZE; - - /* If this item is quantified, it will get wrapped inside brackets so - as to use the code for quantified brackets. We jump down and use the - code that handles this for real brackets. */ - - if (ptr[1] == '+' || ptr[1] == '*' || ptr[1] == '?' || ptr[1] == '{') - { - length += 2 + 2 * LINK_SIZE; /* to make bracketed */ - duplength = 5 + 3 * LINK_SIZE; - goto HANDLE_QUANTIFIED_BRACKETS; - } - continue; - - /* (?C) is an extension which provides "callout" - to provide a bit of - the functionality of the Perl (?{...}) feature. An optional number may - follow (default is zero). */ - - case 'C': - ptr += 2; - while ((digitab[*(++ptr)] & ctype_digit) != 0); - if (*ptr != ')') - { - errorcode = ERR39; - goto PCRE_ERROR_RETURN; - } - length += 2 + 2*LINK_SIZE; - continue; - - /* Named subpatterns are an extension copied from Python */ - - case 'P': - ptr += 3; - - /* Handle the definition of a named subpattern */ - - if (*ptr == '<') - { - const uschar *p; /* Don't amalgamate; some compilers */ - p = ++ptr; /* grumble at autoincrement in declaration */ - while ((compile_block.ctypes[*ptr] & ctype_word) != 0) ptr++; - if (*ptr != '>') - { - errorcode = ERR42; - goto PCRE_ERROR_RETURN; - } - name_count++; - if (ptr - p > max_name_size) max_name_size = (ptr - p); - capturing = TRUE; /* Named parentheses are always capturing */ - break; - } - - /* Handle back references and recursive calls to named subpatterns */ - - if (*ptr == '=' || *ptr == '>') - { - while ((compile_block.ctypes[*(++ptr)] & ctype_word) != 0); - if (*ptr != ')') - { - errorcode = ERR42; - goto PCRE_ERROR_RETURN; - } - break; - } - - /* Unknown character after (?P */ - - errorcode = ERR41; - goto PCRE_ERROR_RETURN; - - /* Lookbehinds are in Perl from version 5.005 */ - - case '<': - ptr += 3; - if (*ptr == '=' || *ptr == '!') - { - branch_newextra = 1 + LINK_SIZE; - length += 1 + LINK_SIZE; /* For the first branch */ - break; - } - errorcode = ERR24; - goto PCRE_ERROR_RETURN; - - /* Conditionals are in Perl from version 5.005. The bracket must either - be followed by a number (for bracket reference) or by an assertion - group, or (a PCRE extension) by 'R' for a recursion test. */ - - case '(': - if (ptr[3] == 'R' && ptr[4] == ')') - { - ptr += 4; - length += 3; - } - else if ((digitab[ptr[3]] & ctype_digit) != 0) - { - ptr += 4; - length += 3; - while ((digitab[*ptr] & ctype_digit) != 0) ptr++; - if (*ptr != ')') - { - errorcode = ERR26; - goto PCRE_ERROR_RETURN; - } - } - else /* An assertion must follow */ - { - ptr++; /* Can treat like ':' as far as spacing is concerned */ - if (ptr[2] != '?' || - (ptr[3] != '=' && ptr[3] != '!' && ptr[3] != '<') ) - { - ptr += 2; /* To get right offset in message */ - errorcode = ERR28; - goto PCRE_ERROR_RETURN; - } - } - break; - - /* Else loop checking valid options until ) is met. Anything else is an - error. If we are without any brackets, i.e. at top level, the settings - act as if specified in the options, so massage the options immediately. - This is for backward compatibility with Perl 5.004. */ - - default: - set = unset = 0; - optset = &set; - ptr += 2; - - for (;; ptr++) - { - c = *ptr; - switch (c) - { - case 'i': - *optset |= PCRE_CASELESS; - continue; - - case 'm': - *optset |= PCRE_MULTILINE; - continue; - - case 's': - *optset |= PCRE_DOTALL; - continue; - - case 'x': - *optset |= PCRE_EXTENDED; - continue; - - case 'X': - *optset |= PCRE_EXTRA; - continue; - - case 'U': - *optset |= PCRE_UNGREEDY; - continue; - - case '-': - optset = &unset; - continue; - - /* A termination by ')' indicates an options-setting-only item; if - this is at the very start of the pattern (indicated by item_count - being zero), we use it to set the global options. This is helpful - when analyzing the pattern for first characters, etc. Otherwise - nothing is done here and it is handled during the compiling - process. - - We allow for more than one options setting at the start. If such - settings do not change the existing options, nothing is compiled. - However, we must leave space just in case something is compiled. - This can happen for pathological sequences such as (?i)(?-i) - because the global options will end up with -i set. The space is - small and not significant. (Before I did this there was a reported - bug with (?i)(?-i) in a machine-generated pattern.) - - [Historical note: Up to Perl 5.8, options settings at top level - were always global settings, wherever they appeared in the pattern. - That is, they were equivalent to an external setting. From 5.8 - onwards, they apply only to what follows (which is what you might - expect).] */ - - case ')': - if (item_count == 0) - { - options = (options | set) & (~unset); - set = unset = 0; /* To save length */ - item_count--; /* To allow for several */ - length += 2; - } - - /* Fall through */ - - /* A termination by ':' indicates the start of a nested group with - the given options set. This is again handled at compile time, but - we must allow for compiled space if any of the ims options are - set. We also have to allow for resetting space at the end of - the group, which is why 4 is added to the length and not just 2. - If there are several changes of options within the same group, this - will lead to an over-estimate on the length, but this shouldn't - matter very much. We also have to allow for resetting options at - the start of any alternations, which we do by setting - branch_newextra to 2. Finally, we record whether the case-dependent - flag ever changes within the regex. This is used by the "required - character" code. */ - - case ':': - if (((set|unset) & PCRE_IMS) != 0) - { - length += 4; - branch_newextra = 2; - if (((set|unset) & PCRE_CASELESS) != 0) options |= PCRE_ICHANGED; - } - goto END_OPTIONS; - - /* Unrecognized option character */ - - default: - errorcode = ERR12; - goto PCRE_ERROR_RETURN; - } - } - - /* If we hit a closing bracket, that's it - this is a freestanding - option-setting. We need to ensure that branch_extra is updated if - necessary. The only values branch_newextra can have here are 0 or 2. - If the value is 2, then branch_extra must either be 2 or 5, depending - on whether this is a lookbehind group or not. */ - - END_OPTIONS: - if (c == ')') - { - if (branch_newextra == 2 && - (branch_extra == 0 || branch_extra == 1+LINK_SIZE)) - branch_extra += branch_newextra; - continue; - } - - /* If options were terminated by ':' control comes here. This is a - non-capturing group with an options change. There is nothing more that - needs to be done because "capturing" is already set FALSE by default; - we can just fall through. */ - - } - } - - /* Ordinary parentheses, not followed by '?', are capturing unless - PCRE_NO_AUTO_CAPTURE is set. */ - - else capturing = (options & PCRE_NO_AUTO_CAPTURE) == 0; - - /* Capturing brackets must be counted so we can process escapes in a - Perlish way. If the number exceeds EXTRACT_BASIC_MAX we are going to need - an additional 3 bytes of memory per capturing bracket. */ - - if (capturing) - { - bracount++; - if (bracount > EXTRACT_BASIC_MAX) bracket_length += 3; - } - - /* Save length for computing whole length at end if there's a repeat that - requires duplication of the group. Also save the current value of - branch_extra, and start the new group with the new value. If non-zero, this - will either be 2 for a (?imsx: group, or 3 for a lookbehind assertion. */ - - if (brastackptr >= sizeof(brastack)/sizeof(int)) - { - errorcode = ERR19; - goto PCRE_ERROR_RETURN; - } - - bralenstack[brastackptr] = branch_extra; - branch_extra = branch_newextra; - - brastack[brastackptr++] = length; - length += bracket_length; - continue; - - /* Handle ket. Look for subsequent max/min; for certain sets of values we - have to replicate this bracket up to that many times. If brastackptr is - 0 this is an unmatched bracket which will generate an error, but take care - not to try to access brastack[-1] when computing the length and restoring - the branch_extra value. */ - - case ')': - length += 1 + LINK_SIZE; - if (brastackptr > 0) - { - duplength = length - brastack[--brastackptr]; - branch_extra = bralenstack[brastackptr]; - } - else duplength = 0; - - /* The following code is also used when a recursion such as (?3) is - followed by a quantifier, because in that case, it has to be wrapped inside - brackets so that the quantifier works. The value of duplength must be - set before arrival. */ - - HANDLE_QUANTIFIED_BRACKETS: - - /* Leave ptr at the final char; for read_repeat_counts this happens - automatically; for the others we need an increment. */ - - if ((c = ptr[1]) == '{' && is_counted_repeat(ptr+2)) - { - ptr = read_repeat_counts(ptr+2, &min, &max, &errorcode); - if (errorcode != 0) goto PCRE_ERROR_RETURN; - } - else if (c == '*') { min = 0; max = -1; ptr++; } - else if (c == '+') { min = 1; max = -1; ptr++; } - else if (c == '?') { min = 0; max = 1; ptr++; } - else { min = 1; max = 1; } - - /* If the minimum is zero, we have to allow for an OP_BRAZERO before the - group, and if the maximum is greater than zero, we have to replicate - maxval-1 times; each replication acquires an OP_BRAZERO plus a nesting - bracket set. */ - - if (min == 0) - { - length++; - if (max > 0) length += (max - 1) * (duplength + 3 + 2*LINK_SIZE); - } - - /* When the minimum is greater than zero, we have to replicate up to - minval-1 times, with no additions required in the copies. Then, if there - is a limited maximum we have to replicate up to maxval-1 times allowing - for a BRAZERO item before each optional copy and nesting brackets for all - but one of the optional copies. */ - - else - { - length += (min - 1) * duplength; - if (max > min) /* Need this test as max=-1 means no limit */ - length += (max - min) * (duplength + 3 + 2*LINK_SIZE) - - (2 + 2*LINK_SIZE); - } - - /* Allow space for once brackets for "possessive quantifier" */ - - if (ptr[1] == '+') - { - ptr++; - length += 2 + 2*LINK_SIZE; - } - continue; - - /* Non-special character. It won't be space or # in extended mode, so it is - always a genuine character. If we are in a \Q...\E sequence, check for the - end; if not, we have a literal. */ - - default: - NORMAL_CHAR: - - if (inescq && c == '\\' && ptr[1] == 'E') - { - inescq = FALSE; - ptr++; - continue; - } - - length += 2; /* For a one-byte character */ - lastitemlength = 1; /* Default length of last item for repeats */ - - /* In UTF-8 mode, check for additional bytes. */ - -#ifdef SUPPORT_UTF8 - if (utf8 && (c & 0xc0) == 0xc0) - { - while ((ptr[1] & 0xc0) == 0x80) /* Can't flow over the end */ - { /* because the end is marked */ - lastitemlength++; /* by a zero byte. */ - length++; - ptr++; - } - } -#endif - - continue; - } - } - -length += 2 + LINK_SIZE; /* For final KET and END */ - -if ((options & PCRE_AUTO_CALLOUT) != 0) - length += 2 + 2*LINK_SIZE; /* For final callout */ - -if (length > MAX_PATTERN_SIZE) - { - errorcode = ERR20; - goto PCRE_EARLY_ERROR_RETURN; - } - -/* Compute the size of data block needed and get it, either from malloc or -externally provided function. */ - -size = length + sizeof(real_pcre) + name_count * (max_name_size + 3); -re = (real_pcre *)(pcre_malloc)(size); - -if (re == NULL) - { - errorcode = ERR21; - goto PCRE_EARLY_ERROR_RETURN; - } - -/* Put in the magic number, and save the sizes, options, and character table -pointer. NULL is used for the default character tables. The nullpad field is at -the end; it's there to help in the case when a regex compiled on a system with -4-byte pointers is run on another with 8-byte pointers. */ - -re->magic_number = MAGIC_NUMBER; -re->size = size; -re->options = options; -re->dummy1 = 0; -re->name_table_offset = sizeof(real_pcre); -re->name_entry_size = max_name_size + 3; -re->name_count = name_count; -re->ref_count = 0; -re->tables = (tables == _pcre_default_tables)? NULL : tables; -re->nullpad = NULL; - -/* The starting points of the name/number translation table and of the code are -passed around in the compile data block. */ - -compile_block.names_found = 0; -compile_block.name_entry_size = max_name_size + 3; -compile_block.name_table = (uschar *)re + re->name_table_offset; -codestart = compile_block.name_table + re->name_entry_size * re->name_count; -compile_block.start_code = codestart; -compile_block.start_pattern = (const uschar *)pattern; -compile_block.req_varyopt = 0; -compile_block.nopartial = FALSE; - -/* Set up a starting, non-extracting bracket, then compile the expression. On -error, errorcode will be set non-zero, so we don't need to look at the result -of the function here. */ - -ptr = (const uschar *)pattern; -code = (uschar *)codestart; -*code = OP_BRA; -bracount = 0; -(void)compile_regex(options, options & PCRE_IMS, &bracount, &code, &ptr, - &errorcode, FALSE, 0, &firstbyte, &reqbyte, NULL, &compile_block); -re->top_bracket = bracount; -re->top_backref = compile_block.top_backref; - -if (compile_block.nopartial) re->options |= PCRE_NOPARTIAL; - -/* If not reached end of pattern on success, there's an excess bracket. */ - -if (errorcode == 0 && *ptr != 0) errorcode = ERR22; - -/* Fill in the terminating state and check for disastrous overflow, but -if debugging, leave the test till after things are printed out. */ - -*code++ = OP_END; - -#ifndef DEBUG -if (code - codestart > length) errorcode = ERR23; -#endif - -/* Give an error if there's back reference to a non-existent capturing -subpattern. */ - -if (re->top_backref > re->top_bracket) errorcode = ERR15; - -/* Failed to compile, or error while post-processing */ - -if (errorcode != 0) - { - (pcre_free)(re); - PCRE_ERROR_RETURN: - *erroroffset = ptr - (const uschar *)pattern; - PCRE_EARLY_ERROR_RETURN: - *errorptr = error_texts[errorcode]; - if (errorcodeptr != NULL) *errorcodeptr = errorcode; - return NULL; - } - -/* If the anchored option was not passed, set the flag if we can determine that -the pattern is anchored by virtue of ^ characters or \A or anything else (such -as starting with .* when DOTALL is set). - -Otherwise, if we know what the first character has to be, save it, because that -speeds up unanchored matches no end. If not, see if we can set the -PCRE_STARTLINE flag. This is helpful for multiline matches when all branches -start with ^. and also when all branches start with .* for non-DOTALL matches. -*/ - -if ((options & PCRE_ANCHORED) == 0) - { - int temp_options = options; - if (is_anchored(codestart, &temp_options, 0, compile_block.backref_map)) - re->options |= PCRE_ANCHORED; - else - { - if (firstbyte < 0) - firstbyte = find_firstassertedchar(codestart, &temp_options, FALSE); - if (firstbyte >= 0) /* Remove caseless flag for non-caseable chars */ - { - int ch = firstbyte & 255; - re->first_byte = ((firstbyte & REQ_CASELESS) != 0 && - compile_block.fcc[ch] == ch)? ch : firstbyte; - re->options |= PCRE_FIRSTSET; - } - else if (is_startline(codestart, 0, compile_block.backref_map)) - re->options |= PCRE_STARTLINE; - } - } - -/* For an anchored pattern, we use the "required byte" only if it follows a -variable length item in the regex. Remove the caseless flag for non-caseable -bytes. */ - -if (reqbyte >= 0 && - ((re->options & PCRE_ANCHORED) == 0 || (reqbyte & REQ_VARY) != 0)) - { - int ch = reqbyte & 255; - re->req_byte = ((reqbyte & REQ_CASELESS) != 0 && - compile_block.fcc[ch] == ch)? (reqbyte & ~REQ_CASELESS) : reqbyte; - re->options |= PCRE_REQCHSET; - } - -/* Print out the compiled data for debugging */ - -#ifdef DEBUG - -printf("Length = %d top_bracket = %d top_backref = %d\n", - length, re->top_bracket, re->top_backref); - -if (re->options != 0) - { - printf("%s%s%s%s%s%s%s%s%s%s\n", - ((re->options & PCRE_NOPARTIAL) != 0)? "nopartial " : "", - ((re->options & PCRE_ANCHORED) != 0)? "anchored " : "", - ((re->options & PCRE_CASELESS) != 0)? "caseless " : "", - ((re->options & PCRE_ICHANGED) != 0)? "case state changed " : "", - ((re->options & PCRE_EXTENDED) != 0)? "extended " : "", - ((re->options & PCRE_MULTILINE) != 0)? "multiline " : "", - ((re->options & PCRE_DOTALL) != 0)? "dotall " : "", - ((re->options & PCRE_DOLLAR_ENDONLY) != 0)? "endonly " : "", - ((re->options & PCRE_EXTRA) != 0)? "extra " : "", - ((re->options & PCRE_UNGREEDY) != 0)? "ungreedy " : ""); - } - -if ((re->options & PCRE_FIRSTSET) != 0) - { - int ch = re->first_byte & 255; - const char *caseless = ((re->first_byte & REQ_CASELESS) == 0)? "" : " (caseless)"; - if (isprint(ch)) printf("First char = %c%s\n", ch, caseless); - else printf("First char = \\x%02x%s\n", ch, caseless); - } - -if ((re->options & PCRE_REQCHSET) != 0) - { - int ch = re->req_byte & 255; - const char *caseless = ((re->req_byte & REQ_CASELESS) == 0)? "" : " (caseless)"; - if (isprint(ch)) printf("Req char = %c%s\n", ch, caseless); - else printf("Req char = \\x%02x%s\n", ch, caseless); - } - -_pcre_printint(re, stdout); - -/* This check is done here in the debugging case so that the code that -was compiled can be seen. */ - -if (code - codestart > length) - { - (pcre_free)(re); - *errorptr = error_texts[ERR23]; - *erroroffset = ptr - (uschar *)pattern; - if (errorcodeptr != NULL) *errorcodeptr = ERR23; - return NULL; - } -#endif - -return (pcre *)re; -} - -/* End of pcre_compile.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_config(). */ - - - - -/************************************************* -* Return info about what features are configured * -*************************************************/ - -/* This function has an extensible interface so that additional items can be -added compatibly. - -Arguments: - what what information is required - where where to put the information - -Returns: 0 if data returned, negative on error -*/ - -EXPORT int -pcre_config(int what, void *where) -{ -switch (what) - { - case PCRE_CONFIG_UTF8: -#ifdef SUPPORT_UTF8 - *((int *)where) = 1; -#else - *((int *)where) = 0; -#endif - break; - - case PCRE_CONFIG_UNICODE_PROPERTIES: -#ifdef SUPPORT_UCP - *((int *)where) = 1; -#else - *((int *)where) = 0; -#endif - break; - - case PCRE_CONFIG_NEWLINE: - *((int *)where) = NEWLINE; - break; - - case PCRE_CONFIG_LINK_SIZE: - *((int *)where) = LINK_SIZE; - break; - - case PCRE_CONFIG_POSIX_MALLOC_THRESHOLD: - *((int *)where) = POSIX_MALLOC_THRESHOLD; - break; - - case PCRE_CONFIG_MATCH_LIMIT: - *((unsigned int *)where) = MATCH_LIMIT; - break; - - case PCRE_CONFIG_STACKRECURSE: -#ifdef NO_RECURSE - *((int *)where) = 0; -#else - *((int *)where) = 1; -#endif - break; - - default: return PCRE_ERROR_BADOPTION; - } - -return 0; -} - -/* End of pcre_config.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_dfa_exec(), which is an -alternative matching function that uses a DFA algorithm. This is NOT Perl- -compatible, but it has advantages in certain applications. */ - - - - -/* For use to indent debugging output */ - -#define SP " " - - - -/************************************************* -* Code parameters and static tables * -*************************************************/ - -/* These are offsets that are used to turn the OP_TYPESTAR and friends opcodes -into others, under special conditions. A gap of 10 between the blocks should be -enough. */ - -#define OP_PROP_EXTRA (EXTRACT_BASIC_MAX+1) -#define OP_EXTUNI_EXTRA (EXTRACT_BASIC_MAX+11) - - -/* This table identifies those opcodes that are followed immediately by a -character that is to be tested in some way. This makes is possible to -centralize the loading of these characters. In the case of Type * etc, the -"character" is the opcode for \D, \d, \S, \s, \W, or \w, which will always be a -small value. */ - -static uschar coptable[] = { - 0, /* End */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* \A, \G, \B, \b, \D, \d, \S, \s, \W, \w */ - 0, 0, /* Any, Anybyte */ - 0, 0, 0, /* NOTPROP, PROP, EXTUNI */ - 0, 0, 0, 0, 0, /* \Z, \z, Opt, ^, $ */ - 1, /* Char */ - 1, /* Charnc */ - 1, /* not */ - /* Positive single-char repeats */ - 1, 1, 1, 1, 1, 1, /* *, *?, +, +?, ?, ?? */ - 3, 3, 3, /* upto, minupto, exact */ - /* Negative single-char repeats - only for chars < 256 */ - 1, 1, 1, 1, 1, 1, /* NOT *, *?, +, +?, ?, ?? */ - 3, 3, 3, /* NOT upto, minupto, exact */ - /* Positive type repeats */ - 1, 1, 1, 1, 1, 1, /* Type *, *?, +, +?, ?, ?? */ - 3, 3, 3, /* Type upto, minupto, exact */ - /* Character class & ref repeats */ - 0, 0, 0, 0, 0, 0, /* *, *?, +, +?, ?, ?? */ - 0, 0, /* CRRANGE, CRMINRANGE */ - 0, /* CLASS */ - 0, /* NCLASS */ - 0, /* XCLASS - variable length */ - 0, /* REF */ - 0, /* RECURSE */ - 0, /* CALLOUT */ - 0, /* Alt */ - 0, /* Ket */ - 0, /* KetRmax */ - 0, /* KetRmin */ - 0, /* Assert */ - 0, /* Assert not */ - 0, /* Assert behind */ - 0, /* Assert behind not */ - 0, /* Reverse */ - 0, /* Once */ - 0, /* COND */ - 0, /* CREF */ - 0, 0, /* BRAZERO, BRAMINZERO */ - 0, /* BRANUMBER */ - 0 /* BRA */ -}; - -/* These 2 tables allow for compact code for testing for \D, \d, \S, \s, \W, -and \w */ - -static uschar toptable1[] = { - 0, 0, 0, 0, 0, - ctype_digit, ctype_digit, - ctype_space, ctype_space, - ctype_word, ctype_word, - 0 /* OP_ANY */ -}; - -static uschar toptable2[] = { - 0, 0, 0, 0, 0, - ctype_digit, 0, - ctype_space, 0, - ctype_word, 0, - 1 /* OP_ANY */ -}; - - -/* Structure for holding data about a particular state, which is in effect the -current data for an active path through the match tree. It must consist -entirely of ints because the working vector we are passed, and which we put -these structures in, is a vector of ints. */ - -typedef struct stateblock { - int offset; /* Offset to opcode */ - int count; /* Count for repeats */ - int ims; /* ims flag bits */ - int data; /* Some use extra data */ -} stateblock; - -#define INTS_PER_STATEBLOCK (sizeof(stateblock)/sizeof(int)) - - -#ifdef DEBUG -/************************************************* -* Print character string * -*************************************************/ - -/* Character string printing function for debugging. - -Arguments: - p points to string - length number of bytes - f where to print - -Returns: nothing -*/ - -static void -pchars(unsigned char *p, int length, FILE *f) -{ -int c; -while (length-- > 0) - { - if (isprint(c = *(p++))) - fprintf(f, "%c", c); - else - fprintf(f, "\\x%02x", c); - } -} -#endif - - - -/************************************************* -* Execute a Regular Expression - DFA engine * -*************************************************/ - -/* This internal function applies a compiled pattern to a subject string, -starting at a given point, using a DFA engine. This function is called from the -external one, possibly multiple times if the pattern is not anchored. The -function calls itself recursively for some kinds of subpattern. - -Arguments: - md the match_data block with fixed information - this_start_code the opening bracket of this subexpression's code - current_subject where we currently are in the subject string - start_offset start offset in the subject string - offsets vector to contain the matching string offsets - offsetcount size of same - workspace vector of workspace - wscount size of same - ims the current ims flags - rlevel function call recursion level - recursing regex recursive call level - -Returns: > 0 => - = 0 => - -1 => failed to match - < -1 => some kind of unexpected problem - -The following macros are used for adding states to the two state vectors (one -for the current character, one for the following character). */ - -#define ADD_ACTIVE(x,y) \ - if (active_count++ < wscount) \ - { \ - next_active_state->offset = (x); \ - next_active_state->count = (y); \ - next_active_state->ims = ims; \ - next_active_state++; \ - DPRINTF(("%.*sADD_ACTIVE(%d,%d)\n", rlevel*2-2, SP, (x), (y))); \ - } \ - else return PCRE_ERROR_DFA_WSSIZE - -#define ADD_ACTIVE_DATA(x,y,z) \ - if (active_count++ < wscount) \ - { \ - next_active_state->offset = (x); \ - next_active_state->count = (y); \ - next_active_state->ims = ims; \ - next_active_state->data = (z); \ - next_active_state++; \ - DPRINTF(("%.*sADD_ACTIVE_DATA(%d,%d,%d)\n", rlevel*2-2, SP, (x), (y), (z))); \ - } \ - else return PCRE_ERROR_DFA_WSSIZE - -#define ADD_NEW(x,y) \ - if (new_count++ < wscount) \ - { \ - next_new_state->offset = (x); \ - next_new_state->count = (y); \ - next_new_state->ims = ims; \ - next_new_state++; \ - DPRINTF(("%.*sADD_NEW(%d,%d)\n", rlevel*2-2, SP, (x), (y))); \ - } \ - else return PCRE_ERROR_DFA_WSSIZE - -#define ADD_NEW_DATA(x,y,z) \ - if (new_count++ < wscount) \ - { \ - next_new_state->offset = (x); \ - next_new_state->count = (y); \ - next_new_state->ims = ims; \ - next_new_state->data = (z); \ - next_new_state++; \ - DPRINTF(("%.*sADD_NEW_DATA(%d,%d,%d)\n", rlevel*2-2, SP, (x), (y), (z))); \ - } \ - else return PCRE_ERROR_DFA_WSSIZE - -/* And now, here is the code */ - -static int -internal_dfa_exec( - dfa_match_data *md, - const uschar *this_start_code, - const uschar *current_subject, - int start_offset, - int *offsets, - int offsetcount, - int *workspace, - int wscount, - int ims, - int rlevel, - int recursing) -{ -stateblock *active_states, *new_states, *temp_states; -stateblock *next_active_state, *next_new_state; - -const uschar *ctypes, *lcc, *fcc; -const uschar *ptr; -const uschar *end_code; - -int active_count, new_count, match_count; - -/* Some fields in the md block are frequently referenced, so we load them into -independent variables in the hope that this will perform better. */ - -const uschar *start_subject = md->start_subject; -const uschar *end_subject = md->end_subject; -const uschar *start_code = md->start_code; - -BOOL utf8 = (md->poptions & PCRE_UTF8) != 0; - -rlevel++; -offsetcount &= (-2); - -wscount -= 2; -wscount = (wscount - (wscount % (INTS_PER_STATEBLOCK * 2))) / - (2 * INTS_PER_STATEBLOCK); - -DPRINTF(("\n%.*s---------------------\n" - "%.*sCall to internal_dfa_exec f=%d r=%d\n", - rlevel*2-2, SP, rlevel*2-2, SP, rlevel, recursing)); - -ctypes = md->tables + ctypes_offset; -lcc = md->tables + lcc_offset; -fcc = md->tables + fcc_offset; - -match_count = PCRE_ERROR_NOMATCH; /* A negative number */ - -active_states = (stateblock *)(workspace + 2); -next_new_state = new_states = active_states + wscount; -new_count = 0; - -/* The first thing in any (sub) pattern is a bracket of some sort. Push all -the alternative states onto the list, and find out where the end is. This -makes is possible to use this function recursively, when we want to stop at a -matching internal ket rather than at the end. - -If the first opcode in the first alternative is OP_REVERSE, we are dealing with -a backward assertion. In that case, we have to find out the maximum amount to -move back, and set up each alternative appropriately. */ - -if (this_start_code[1+LINK_SIZE] == OP_REVERSE) - { - int max_back = 0; - int gone_back; - - end_code = this_start_code; - do - { - int back = GET(end_code, 2+LINK_SIZE); - if (back > max_back) max_back = back; - end_code += GET(end_code, 1); - } - while (*end_code == OP_ALT); - - /* If we can't go back the amount required for the longest lookbehind - pattern, go back as far as we can; some alternatives may still be viable. */ - -#ifdef SUPPORT_UTF8 - /* In character mode we have to step back character by character */ - - if (utf8) - { - for (gone_back = 0; gone_back < max_back; gone_back++) - { - if (current_subject <= start_subject) break; - current_subject--; - while (current_subject > start_subject && - (*current_subject & 0xc0) == 0x80) - current_subject--; - } - } - else -#endif - - /* In byte-mode we can do this quickly. */ - - { - gone_back = (current_subject - max_back < start_subject)? - current_subject - start_subject : max_back; - current_subject -= gone_back; - } - - /* Now we can process the individual branches. */ - - end_code = this_start_code; - do - { - int back = GET(end_code, 2+LINK_SIZE); - if (back <= gone_back) - { - int bstate = end_code - start_code + 2 + 2*LINK_SIZE; - ADD_NEW_DATA(-bstate, 0, gone_back - back); - } - end_code += GET(end_code, 1); - } - while (*end_code == OP_ALT); - } - -/* This is the code for a "normal" subpattern (not a backward assertion). The -start of a whole pattern is always one of these. If we are at the top level, -we may be asked to restart matching from the same point that we reached for a -previous partial match. We still have to scan through the top-level branches to -find the end state. */ - -else - { - end_code = this_start_code; - - /* Restarting */ - - if (rlevel == 1 && (md->moptions & PCRE_DFA_RESTART) != 0) - { - do { end_code += GET(end_code, 1); } while (*end_code == OP_ALT); - new_count = workspace[1]; - if (!workspace[0]) - memcpy(new_states, active_states, new_count * sizeof(stateblock)); - } - - /* Not restarting */ - - else - { - do - { - ADD_NEW(end_code - start_code + 1 + LINK_SIZE, 0); - end_code += GET(end_code, 1); - } - while (*end_code == OP_ALT); - } - } - -workspace[0] = 0; /* Bit indicating which vector is current */ - -DPRINTF(("%.*sEnd state = %d\n", rlevel*2-2, SP, end_code - start_code)); - -/* Loop for scanning the subject */ - -ptr = current_subject; -for (;;) - { - int i, j; - int c, d, clen, dlen; - - /* Make the new state list into the active state list and empty the - new state list. */ - - temp_states = active_states; - active_states = new_states; - new_states = temp_states; - active_count = new_count; - new_count = 0; - - workspace[0] ^= 1; /* Remember for the restarting feature */ - workspace[1] = active_count; - -#ifdef DEBUG - printf("%.*sNext character: rest of subject = \"", rlevel*2-2, SP); - pchars((uschar *)ptr, strlen((char *)ptr), stdout); - printf("\"\n"); - - printf("%.*sActive states: ", rlevel*2-2, SP); - for (i = 0; i < active_count; i++) - printf("%d/%d ", active_states[i].offset, active_states[i].count); - printf("\n"); -#endif - - /* Set the pointers for adding new states */ - - next_active_state = active_states + active_count; - next_new_state = new_states; - - /* Load the current character from the subject outside the loop, as many - different states may want to look at it, and we assume that at least one - will. */ - - if (ptr < end_subject) - { - clen = 1; -#ifdef SUPPORT_UTF8 - if (utf8) { GETCHARLEN(c, ptr, clen); } else -#endif /* SUPPORT_UTF8 */ - c = *ptr; - } - else - { - clen = 0; /* At end subject */ - c = -1; - } - - /* Scan up the active states and act on each one. The result of an action - may be to add more states to the currently active list (e.g. on hitting a - parenthesis) or it may be to put states on the new list, for considering - when we move the character pointer on. */ - - for (i = 0; i < active_count; i++) - { - stateblock *current_state = active_states + i; - const uschar *code; - int state_offset = current_state->offset; - int count, codevalue; - int chartype, othercase; - -#ifdef DEBUG - printf ("%.*sProcessing state %d c=", rlevel*2-2, SP, state_offset); - if (c < 0) printf("-1\n"); - else if (c > 32 && c < 127) printf("'%c'\n", c); - else printf("0x%02x\n", c); -#endif - - /* This variable is referred to implicity in the ADD_xxx macros. */ - - ims = current_state->ims; - - /* A negative offset is a special case meaning "hold off going to this - (negated) state until the number of characters in the data field have - been skipped". */ - - if (state_offset < 0) - { - if (current_state->data > 0) - { - DPRINTF(("%.*sSkipping this character\n", rlevel*2-2, SP)); - ADD_NEW_DATA(state_offset, current_state->count, - current_state->data - 1); - continue; - } - else - { - current_state->offset = state_offset = -state_offset; - } - } - - /* Check for a duplicate state with the same count, and skip if found. */ - - for (j = 0; j < i; j++) - { - if (active_states[j].offset == state_offset && - active_states[j].count == current_state->count) - { - DPRINTF(("%.*sDuplicate state: skipped\n", rlevel*2-2, SP)); - goto NEXT_ACTIVE_STATE; - } - } - - /* The state offset is the offset to the opcode */ - - code = start_code + state_offset; - codevalue = *code; - if (codevalue >= OP_BRA) codevalue = OP_BRA; /* All brackets are equal */ - - /* If this opcode is followed by an inline character, load it. It is - tempting to test for the presence of a subject character here, but that - is wrong, because sometimes zero repetitions of the subject are - permitted. - - We also use this mechanism for opcodes such as OP_TYPEPLUS that take an - argument that is not a data character - but is always one byte long. - Unfortunately, we have to take special action to deal with \P, \p, and - \X in this case. To keep the other cases fast, convert these ones to new - opcodes. */ - - if (coptable[codevalue] > 0) - { - dlen = 1; -#ifdef SUPPORT_UTF8 - if (utf8) { GETCHARLEN(d, (code + coptable[codevalue]), dlen); } else -#endif /* SUPPORT_UTF8 */ - d = code[coptable[codevalue]]; - if (codevalue >= OP_TYPESTAR) - { - if (d == OP_ANYBYTE) return PCRE_ERROR_DFA_UITEM; - if (d >= OP_NOTPROP) - codevalue += (d == OP_EXTUNI)? OP_EXTUNI_EXTRA : OP_PROP_EXTRA; - } - } - else - { - dlen = 0; /* Not strictly necessary, but compilers moan */ - d = -1; /* if these variables are not set. */ - } - - - /* Now process the individual opcodes */ - - switch (codevalue) - { - -/* ========================================================================== */ - /* Reached a closing bracket. If not at the end of the pattern, carry - on with the next opcode. Otherwise, unless we have an empty string and - PCRE_NOTEMPTY is set, save the match data, shifting up all previous - matches so we always have the longest first. */ - - case OP_KET: - case OP_KETRMIN: - case OP_KETRMAX: - if (code != end_code) - { - ADD_ACTIVE(state_offset + 1 + LINK_SIZE, 0); - if (codevalue != OP_KET) - { - ADD_ACTIVE(state_offset - GET(code, 1), 0); - } - } - else if (ptr > current_subject || (md->moptions & PCRE_NOTEMPTY) == 0) - { - if (match_count < 0) match_count = (offsetcount >= 2)? 1 : 0; - else if (match_count > 0 && ++match_count * 2 >= offsetcount) - match_count = 0; - count = ((match_count == 0)? offsetcount : match_count * 2) - 2; - if (count > 0) memmove(offsets + 2, offsets, count * sizeof(int)); - if (offsetcount >= 2) - { - offsets[0] = current_subject - start_subject; - offsets[1] = ptr - start_subject; - DPRINTF(("%.*sSet matched string = \"%.*s\"\n", rlevel*2-2, SP, - offsets[1] - offsets[0], current_subject)); - } - if ((md->moptions & PCRE_DFA_SHORTEST) != 0) - { - DPRINTF(("%.*sEnd of internal_dfa_exec %d: returning %d\n" - "%.*s---------------------\n\n", rlevel*2-2, SP, rlevel, - match_count, rlevel*2-2, SP)); - return match_count; - } - } - break; - -/* ========================================================================== */ - /* These opcodes add to the current list of states without looking - at the current character. */ - - /*-----------------------------------------------------------------*/ - case OP_ALT: - do { code += GET(code, 1); } while (*code == OP_ALT); - ADD_ACTIVE(code - start_code, 0); - break; - - /*-----------------------------------------------------------------*/ - case OP_BRA: - do - { - ADD_ACTIVE(code - start_code + 1 + LINK_SIZE, 0); - code += GET(code, 1); - } - while (*code == OP_ALT); - break; - - /*-----------------------------------------------------------------*/ - case OP_BRAZERO: - case OP_BRAMINZERO: - ADD_ACTIVE(state_offset + 1, 0); - code += 1 + GET(code, 2); - while (*code == OP_ALT) code += GET(code, 1); - ADD_ACTIVE(code - start_code + 1 + LINK_SIZE, 0); - break; - - /*-----------------------------------------------------------------*/ - case OP_BRANUMBER: - ADD_ACTIVE(state_offset + 1 + LINK_SIZE, 0); - break; - - /*-----------------------------------------------------------------*/ - case OP_CIRC: - if ((ptr == start_subject && (md->moptions & PCRE_NOTBOL) == 0) || - ((ims & PCRE_MULTILINE) != 0 && ptr[-1] == NEWLINE)) - { ADD_ACTIVE(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_EOD: - if (ptr >= end_subject) { ADD_ACTIVE(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_OPT: - ims = code[1]; - ADD_ACTIVE(state_offset + 2, 0); - break; - - /*-----------------------------------------------------------------*/ - case OP_SOD: - if (ptr == start_subject) { ADD_ACTIVE(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_SOM: - if (ptr == start_subject + start_offset) { ADD_ACTIVE(state_offset + 1, 0); } - break; - - -/* ========================================================================== */ - /* These opcodes inspect the next subject character, and sometimes - the previous one as well, but do not have an argument. The variable - clen contains the length of the current character and is zero if we are - at the end of the subject. */ - - /*-----------------------------------------------------------------*/ - case OP_ANY: - if (clen > 0 && (c != NEWLINE || (ims & PCRE_DOTALL) != 0)) - { ADD_NEW(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_EODN: - if (clen == 0 || (c == NEWLINE && ptr + 1 == end_subject)) - { ADD_ACTIVE(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_DOLL: - if ((md->moptions & PCRE_NOTEOL) == 0) - { - if (clen == 0 || (c == NEWLINE && (ptr + 1 == end_subject || - (ims & PCRE_MULTILINE) != 0))) - { ADD_ACTIVE(state_offset + 1, 0); } - } - else if (c == NEWLINE && (ims & PCRE_MULTILINE) != 0) - { ADD_ACTIVE(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - - case OP_DIGIT: - case OP_WHITESPACE: - case OP_WORDCHAR: - if (clen > 0 && c < 256 && - ((ctypes[c] & toptable1[codevalue]) ^ toptable2[codevalue]) != 0) - { ADD_NEW(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_NOT_DIGIT: - case OP_NOT_WHITESPACE: - case OP_NOT_WORDCHAR: - if (clen > 0 && (c >= 256 || - ((ctypes[c] & toptable1[codevalue]) ^ toptable2[codevalue]) != 0)) - { ADD_NEW(state_offset + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_WORD_BOUNDARY: - case OP_NOT_WORD_BOUNDARY: - { - int left_word, right_word; - - if (ptr > start_subject) - { - const uschar *temp = ptr - 1; -#ifdef SUPPORT_UTF8 - if (utf8) BACKCHAR(temp); -#endif - GETCHARTEST(d, temp); - left_word = d < 256 && (ctypes[d] & ctype_word) != 0; - } - else left_word = 0; - - if (clen > 0) right_word = c < 256 && (ctypes[c] & ctype_word) != 0; - else right_word = 0; - - if ((left_word == right_word) == (codevalue == OP_NOT_WORD_BOUNDARY)) - { ADD_ACTIVE(state_offset + 1, 0); } - } - break; - - -#ifdef SUPPORT_UCP - - /*-----------------------------------------------------------------*/ - /* Check the next character by Unicode property. We will get here only - if the support is in the binary; otherwise a compile-time error occurs. - */ - - case OP_PROP: - case OP_NOTPROP: - if (clen > 0) - { - int rqdtype, category; - category = ucp_findchar(c, &chartype, &othercase); - rqdtype = code[1]; - if (rqdtype >= 128) - { - if ((rqdtype - 128 == category) == (codevalue == OP_PROP)) - { ADD_NEW(state_offset + 2, 0); } - } - else - { - if ((rqdtype == chartype) == (codevalue == OP_PROP)) - { ADD_NEW(state_offset + 2, 0); } - } - } - break; -#endif - - - -/* ========================================================================== */ - /* These opcodes likewise inspect the subject character, but have an - argument that is not a data character. It is one of these opcodes: - OP_ANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE, OP_WORDCHAR, - OP_NOT_WORDCHAR. The value is loaded into d. */ - - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - count = current_state->count; /* Already matched */ - if (count > 0) { ADD_ACTIVE(state_offset + 2, 0); } - if (clen > 0) - { - if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) || - (c < 256 && - (d != OP_ANY || c != '\n' || (ims & PCRE_DOTALL) != 0) && - ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0)) - { - count++; - ADD_NEW(state_offset, count); - } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - ADD_ACTIVE(state_offset + 2, 0); - if (clen > 0) - { - if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) || - (c < 256 && - (d != OP_ANY || c != '\n' || (ims & PCRE_DOTALL) != 0) && - ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0)) - { - ADD_NEW(state_offset + 2, 0); - } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_TYPESTAR: - case OP_TYPEMINSTAR: - ADD_ACTIVE(state_offset + 2, 0); - if (clen > 0) - { - if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) || - (c < 256 && - (d != OP_ANY || c != '\n' || (ims & PCRE_DOTALL) != 0) && - ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0)) - { - ADD_NEW(state_offset, 0); - } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_TYPEEXACT: - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - if (codevalue != OP_TYPEEXACT) - { ADD_ACTIVE(state_offset + 4, 0); } - count = current_state->count; /* Number already matched */ - if (clen > 0) - { - if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) || - (c < 256 && - (d != OP_ANY || c != '\n' || (ims & PCRE_DOTALL) != 0) && - ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0)) - { - if (++count >= GET2(code, 1)) - { ADD_NEW(state_offset + 4, 0); } - else - { ADD_NEW(state_offset, count); } - } - } - break; - -/* ========================================================================== */ - /* These are virtual opcodes that are used when something like - OP_TYPEPLUS has OP_PROP, OP_NOTPROP, or OP_EXTUNI as its argument. It - keeps the code above fast for the other cases. The argument is in the - d variable. */ - - case OP_PROP_EXTRA + OP_TYPEPLUS: - case OP_PROP_EXTRA + OP_TYPEMINPLUS: - count = current_state->count; /* Already matched */ - if (count > 0) { ADD_ACTIVE(state_offset + 3, 0); } - if (clen > 0) - { - int category = ucp_findchar(c, &chartype, &othercase); - int rqdtype = code[2]; - if ((d == OP_PROP) == - (rqdtype == ((rqdtype >= 128)? (category + 128) : chartype))) - { count++; ADD_NEW(state_offset, count); } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_EXTUNI_EXTRA + OP_TYPEPLUS: - case OP_EXTUNI_EXTRA + OP_TYPEMINPLUS: - count = current_state->count; /* Already matched */ - if (count > 0) { ADD_ACTIVE(state_offset + 2, 0); } - if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M) - { - const uschar *nptr = ptr + clen; - int ncount = 0; - while (nptr < end_subject) - { - int nd; - int ndlen = 1; - GETCHARLEN(nd, nptr, ndlen); - if (ucp_findchar(nd, &chartype, &othercase) != ucp_M) break; - ncount++; - nptr += ndlen; - } - count++; - ADD_NEW_DATA(-state_offset, count, ncount); - } - break; - - /*-----------------------------------------------------------------*/ - case OP_PROP_EXTRA + OP_TYPEQUERY: - case OP_PROP_EXTRA + OP_TYPEMINQUERY: - count = 3; - goto QS1; - - case OP_PROP_EXTRA + OP_TYPESTAR: - case OP_PROP_EXTRA + OP_TYPEMINSTAR: - count = 0; - - QS1: - - ADD_ACTIVE(state_offset + 3, 0); - if (clen > 0) - { - int category = ucp_findchar(c, &chartype, &othercase); - int rqdtype = code[2]; - if ((d == OP_PROP) == - (rqdtype == ((rqdtype >= 128)? (category + 128) : chartype))) - { ADD_NEW(state_offset + count, 0); } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_EXTUNI_EXTRA + OP_TYPEQUERY: - case OP_EXTUNI_EXTRA + OP_TYPEMINQUERY: - count = 2; - goto QS2; - - case OP_EXTUNI_EXTRA + OP_TYPESTAR: - case OP_EXTUNI_EXTRA + OP_TYPEMINSTAR: - count = 0; - - QS2: - - ADD_ACTIVE(state_offset + 2, 0); - if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M) - { - const uschar *nptr = ptr + clen; - int ncount = 0; - while (nptr < end_subject) - { - int nd; - int ndlen = 1; - GETCHARLEN(nd, nptr, ndlen); - if (ucp_findchar(nd, &chartype, &othercase) != ucp_M) break; - ncount++; - nptr += ndlen; - } - ADD_NEW_DATA(-(state_offset + count), 0, ncount); - } - break; - - /*-----------------------------------------------------------------*/ - case OP_PROP_EXTRA + OP_TYPEEXACT: - case OP_PROP_EXTRA + OP_TYPEUPTO: - case OP_PROP_EXTRA + OP_TYPEMINUPTO: - if (codevalue != OP_PROP_EXTRA + OP_TYPEEXACT) - { ADD_ACTIVE(state_offset + 5, 0); } - count = current_state->count; /* Number already matched */ - if (clen > 0) - { - int category = ucp_findchar(c, &chartype, &othercase); - int rqdtype = code[4]; - if ((d == OP_PROP) == - (rqdtype == ((rqdtype >= 128)? (category + 128) : chartype))) - { - if (++count >= GET2(code, 1)) - { ADD_NEW(state_offset + 5, 0); } - else - { ADD_NEW(state_offset, count); } - } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_EXTUNI_EXTRA + OP_TYPEEXACT: - case OP_EXTUNI_EXTRA + OP_TYPEUPTO: - case OP_EXTUNI_EXTRA + OP_TYPEMINUPTO: - if (codevalue != OP_EXTUNI_EXTRA + OP_TYPEEXACT) - { ADD_ACTIVE(state_offset + 4, 0); } - count = current_state->count; /* Number already matched */ - if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M) - { - const uschar *nptr = ptr + clen; - int ncount = 0; - while (nptr < end_subject) - { - int nd; - int ndlen = 1; - GETCHARLEN(nd, nptr, ndlen); - if (ucp_findchar(nd, &chartype, &othercase) != ucp_M) break; - ncount++; - nptr += ndlen; - } - if (++count >= GET2(code, 1)) - { ADD_NEW_DATA(-(state_offset + 4), 0, ncount); } - else - { ADD_NEW_DATA(-state_offset, count, ncount); } - } - break; - -/* ========================================================================== */ - /* These opcodes are followed by a character that is usually compared - to the current subject character; it is loaded into d. We still get - here even if there is no subject character, because in some cases zero - repetitions are permitted. */ - - /*-----------------------------------------------------------------*/ - case OP_CHAR: - if (clen > 0 && c == d) { ADD_NEW(state_offset + dlen + 1, 0); } - break; - - /*-----------------------------------------------------------------*/ - case OP_CHARNC: - if (clen == 0) break; - -#ifdef SUPPORT_UTF8 - if (utf8) - { - if (c == d) { ADD_NEW(state_offset + dlen + 1, 0); } else - { - if (c < 128) othercase = fcc[c]; else - - /* If we have Unicode property support, we can use it to test the - other case of the character, if there is one. The result of - ucp_findchar() is < 0 if the char isn't found, and othercase is - returned as zero if there isn't another case. */ - -#ifdef SUPPORT_UCP - if (ucp_findchar(c, &chartype, &othercase) < 0) -#endif - othercase = -1; - - if (d == othercase) { ADD_NEW(state_offset + dlen + 1, 0); } - } - } - else -#endif /* SUPPORT_UTF8 */ - - /* Non-UTF-8 mode */ - { - if (lcc[c] == lcc[d]) { ADD_NEW(state_offset + 2, 0); } - } - break; - - -#ifdef SUPPORT_UCP - /*-----------------------------------------------------------------*/ - /* This is a tricky one because it can match more than one character. - Find out how many characters to skip, and then set up a negative state - to wait for them to pass before continuing. */ - - case OP_EXTUNI: - if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M) - { - const uschar *nptr = ptr + clen; - int ncount = 0; - while (nptr < end_subject) - { - int nclen = 1; - GETCHARLEN(c, nptr, nclen); - if (ucp_findchar(c, &chartype, &othercase) != ucp_M) break; - ncount++; - nptr += nclen; - } - ADD_NEW_DATA(-(state_offset + 1), 0, ncount); - } - break; -#endif - - /*-----------------------------------------------------------------*/ - /* Match a negated single character. This is only used for one-byte - characters, that is, we know that d < 256. The character we are - checking (c) can be multibyte. */ - - case OP_NOT: - if (clen > 0) - { - int otherd = ((ims & PCRE_CASELESS) != 0)? fcc[d] : d; - if (c != d && c != otherd) { ADD_NEW(state_offset + dlen + 1, 0); } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_PLUS: - case OP_MINPLUS: - case OP_NOTPLUS: - case OP_NOTMINPLUS: - count = current_state->count; /* Already matched */ - if (count > 0) { ADD_ACTIVE(state_offset + dlen + 1, 0); } - if (clen > 0) - { - int otherd = -1; - if ((ims & PCRE_CASELESS) != 0) - { -#ifdef SUPPORT_UTF8 - if (utf8 && c >= 128) - { -#ifdef SUPPORT_UCP - if (ucp_findchar(d, &chartype, &otherd) < 0) otherd = -1; -#endif /* SUPPORT_UCP */ - } - else -#endif /* SUPPORT_UTF8 */ - otherd = fcc[d]; - } - if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR)) - { count++; ADD_NEW(state_offset, count); } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_QUERY: - case OP_MINQUERY: - case OP_NOTQUERY: - case OP_NOTMINQUERY: - ADD_ACTIVE(state_offset + dlen + 1, 0); - if (clen > 0) - { - int otherd = -1; - if ((ims && PCRE_CASELESS) != 0) - { -#ifdef SUPPORT_UTF8 - if (utf8 && c >= 128) - { -#ifdef SUPPORT_UCP - if (ucp_findchar(c, &chartype, &otherd) < 0) otherd = -1; -#endif /* SUPPORT_UCP */ - } - else -#endif /* SUPPORT_UTF8 */ - otherd = fcc[d]; - } - if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR)) - { ADD_NEW(state_offset + dlen + 1, 0); } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_STAR: - case OP_MINSTAR: - case OP_NOTSTAR: - case OP_NOTMINSTAR: - ADD_ACTIVE(state_offset + dlen + 1, 0); - if (clen > 0) - { - int otherd = -1; - if ((ims && PCRE_CASELESS) != 0) - { -#ifdef SUPPORT_UTF8 - if (utf8 && c >= 128) - { -#ifdef SUPPORT_UCP - if (ucp_findchar(c, &chartype, &otherd) < 0) otherd = -1; -#endif /* SUPPORT_UCP */ - } - else -#endif /* SUPPORT_UTF8 */ - otherd = fcc[d]; - } - if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR)) - { ADD_NEW(state_offset, 0); } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_EXACT: - case OP_UPTO: - case OP_MINUPTO: - case OP_NOTEXACT: - case OP_NOTUPTO: - case OP_NOTMINUPTO: - if (codevalue != OP_EXACT && codevalue != OP_NOTEXACT) - { ADD_ACTIVE(state_offset + dlen + 3, 0); } - count = current_state->count; /* Number already matched */ - if (clen > 0) - { - int otherd = -1; - if ((ims & PCRE_CASELESS) != 0) - { -#ifdef SUPPORT_UTF8 - if (utf8 && c >= 128) - { -#ifdef SUPPORT_UCP - if (ucp_findchar(d, &chartype, &otherd) < 0) otherd = -1; -#endif /* SUPPORT_UCP */ - } - else -#endif /* SUPPORT_UTF8 */ - otherd = fcc[d]; - } - if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR)) - { - if (++count >= GET2(code, 1)) - { ADD_NEW(state_offset + dlen + 3, 0); } - else - { ADD_NEW(state_offset, count); } - } - } - break; - - -/* ========================================================================== */ - /* These are the class-handling opcodes */ - - case OP_CLASS: - case OP_NCLASS: - case OP_XCLASS: - { - BOOL isinclass = FALSE; - int next_state_offset; - const uschar *ecode; - - /* For a simple class, there is always just a 32-byte table, and we - can set isinclass from it. */ - - if (codevalue != OP_XCLASS) - { - ecode = code + 33; - if (clen > 0) - { - isinclass = (c > 255)? (codevalue == OP_NCLASS) : - ((code[1 + c/8] & (1 << (c&7))) != 0); - } - } - - /* An extended class may have a table or a list of single characters, - ranges, or both, and it may be positive or negative. There's a - function that sorts all this out. */ - - else - { - ecode = code + GET(code, 1); - if (clen > 0) isinclass = _pcre_xclass(c, code + 1 + LINK_SIZE); - } - - /* At this point, isinclass is set for all kinds of class, and ecode - points to the byte after the end of the class. If there is a - quantifier, this is where it will be. */ - - next_state_offset = ecode - start_code; - - switch (*ecode) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - ADD_ACTIVE(next_state_offset + 1, 0); - if (isinclass) { ADD_NEW(state_offset, 0); } - break; - - case OP_CRPLUS: - case OP_CRMINPLUS: - count = current_state->count; /* Already matched */ - if (count > 0) { ADD_ACTIVE(next_state_offset + 1, 0); } - if (isinclass) { count++; ADD_NEW(state_offset, count); } - break; - - case OP_CRQUERY: - case OP_CRMINQUERY: - ADD_ACTIVE(next_state_offset + 1, 0); - if (isinclass) { ADD_NEW(next_state_offset + 1, 0); } - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - count = current_state->count; /* Already matched */ - if (count >= GET2(ecode, 1)) - { ADD_ACTIVE(next_state_offset + 5, 0); } - if (isinclass) - { - if (++count >= GET2(ecode, 3)) - { ADD_NEW(next_state_offset + 5, 0); } - else - { ADD_NEW(state_offset, count); } - } - break; - - default: - if (isinclass) { ADD_NEW(next_state_offset, 0); } - break; - } - } - break; - -/* ========================================================================== */ - /* These are the opcodes for fancy brackets of various kinds. We have - to use recursion in order to handle them. */ - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - { - int rc; - int local_offsets[2]; - int local_workspace[1000]; - const uschar *endasscode = code + GET(code, 1); - - while (*endasscode == OP_ALT) endasscode += GET(endasscode, 1); - - rc = internal_dfa_exec( - md, /* static match data */ - code, /* this subexpression's code */ - ptr, /* where we currently are */ - ptr - start_subject, /* start offset */ - local_offsets, /* offset vector */ - sizeof(local_offsets)/sizeof(int), /* size of same */ - local_workspace, /* workspace vector */ - sizeof(local_workspace)/sizeof(int), /* size of same */ - ims, /* the current ims flags */ - rlevel, /* function recursion level */ - recursing); /* pass on regex recursion */ - - if ((rc >= 0) == (codevalue == OP_ASSERT || codevalue == OP_ASSERTBACK)) - { ADD_ACTIVE(endasscode + LINK_SIZE + 1 - start_code, 0); } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_COND: - { - int local_offsets[1000]; - int local_workspace[1000]; - int condcode = code[LINK_SIZE+1]; - - /* The only supported version of OP_CREF is for the value 0xffff, which - means "test if in a recursion". */ - - if (condcode == OP_CREF) - { - int value = GET2(code, LINK_SIZE+2); - if (value != 0xffff) return PCRE_ERROR_DFA_UCOND; - if (recursing > 0) { ADD_ACTIVE(state_offset + LINK_SIZE + 4, 0); } - else { ADD_ACTIVE(state_offset + GET(code, 1) + LINK_SIZE + 1, 0); } - } - - /* Otherwise, the condition is an assertion */ - - else - { - int rc; - const uschar *asscode = code + LINK_SIZE + 1; - const uschar *endasscode = asscode + GET(asscode, 1); - - while (*endasscode == OP_ALT) endasscode += GET(endasscode, 1); - - rc = internal_dfa_exec( - md, /* fixed match data */ - asscode, /* this subexpression's code */ - ptr, /* where we currently are */ - ptr - start_subject, /* start offset */ - local_offsets, /* offset vector */ - sizeof(local_offsets)/sizeof(int), /* size of same */ - local_workspace, /* workspace vector */ - sizeof(local_workspace)/sizeof(int), /* size of same */ - ims, /* the current ims flags */ - rlevel, /* function recursion level */ - recursing); /* pass on regex recursion */ - - if ((rc >= 0) == - (condcode == OP_ASSERT || condcode == OP_ASSERTBACK)) - { ADD_ACTIVE(endasscode + LINK_SIZE + 1 - start_code, 0); } - else - { ADD_ACTIVE(state_offset + GET(code, 1) + LINK_SIZE + 1, 0); } - } - } - break; - - /*-----------------------------------------------------------------*/ - case OP_RECURSE: - { - int local_offsets[1000]; - int local_workspace[1000]; - int rc; - - DPRINTF(("%.*sStarting regex recursion %d\n", rlevel*2-2, SP, - recursing + 1)); - - rc = internal_dfa_exec( - md, /* fixed match data */ - start_code + GET(code, 1), /* this subexpression's code */ - ptr, /* where we currently are */ - ptr - start_subject, /* start offset */ - local_offsets, /* offset vector */ - sizeof(local_offsets)/sizeof(int), /* size of same */ - local_workspace, /* workspace vector */ - sizeof(local_workspace)/sizeof(int), /* size of same */ - ims, /* the current ims flags */ - rlevel, /* function recursion level */ - recursing + 1); /* regex recurse level */ - - DPRINTF(("%.*sReturn from regex recursion %d: rc=%d\n", rlevel*2-2, SP, - recursing + 1, rc)); - - /* Ran out of internal offsets */ - - if (rc == 0) return PCRE_ERROR_DFA_RECURSE; - - /* For each successful matched substring, set up the next state with a - count of characters to skip before trying it. Note that the count is in - characters, not bytes. */ - - if (rc > 0) - { - for (rc = rc*2 - 2; rc >= 0; rc -= 2) - { - const uschar *p = start_subject + local_offsets[rc]; - const uschar *pp = start_subject + local_offsets[rc+1]; - int charcount = local_offsets[rc+1] - local_offsets[rc]; - while (p < pp) if ((*p++ & 0xc0) == 0x80) charcount--; - if (charcount > 0) - { - ADD_NEW_DATA(-(state_offset + LINK_SIZE + 1), 0, (charcount - 1)); - } - else - { - ADD_ACTIVE(state_offset + LINK_SIZE + 1, 0); - } - } - } - else if (rc != PCRE_ERROR_NOMATCH) return rc; - } - break; - - /*-----------------------------------------------------------------*/ - case OP_ONCE: - { - const uschar *endcode; - int local_offsets[2]; - int local_workspace[1000]; - - int rc = internal_dfa_exec( - md, /* fixed match data */ - code, /* this subexpression's code */ - ptr, /* where we currently are */ - ptr - start_subject, /* start offset */ - local_offsets, /* offset vector */ - sizeof(local_offsets)/sizeof(int), /* size of same */ - local_workspace, /* workspace vector */ - sizeof(local_workspace)/sizeof(int), /* size of same */ - ims, /* the current ims flags */ - rlevel, /* function recursion level */ - recursing); /* pass on regex recursion */ - - if (rc >= 0) - { - const uschar *end_subpattern = code; - int charcount = local_offsets[1] - local_offsets[0]; - int next_state_offset, repeat_state_offset; - BOOL is_repeated; - - do { end_subpattern += GET(end_subpattern, 1); } - while (*end_subpattern == OP_ALT); - next_state_offset = end_subpattern - start_code + LINK_SIZE + 1; - - /* If the end of this subpattern is KETRMAX or KETRMIN, we must - arrange for the repeat state also to be added to the relevant list. - Calculate the offset, or set -1 for no repeat. */ - - repeat_state_offset = (*end_subpattern == OP_KETRMAX || - *end_subpattern == OP_KETRMIN)? - end_subpattern - start_code - GET(end_subpattern, 1) : -1; - - /* If we have matched an empty string, add the next state at the - current character pointer. This is important so that the duplicate - checking kicks in, which is what breaks infinite loops that match an - empty string. */ - - if (charcount == 0) - { - ADD_ACTIVE(next_state_offset, 0); - } - - /* Optimization: if there are no more active states, and there - are no new states yet set up, then skip over the subject string - right here, to save looping. Otherwise, set up the new state to swing - into action when the end of the substring is reached. */ - - else if (i + 1 >= active_count && new_count == 0) - { - ptr += charcount; - clen = 0; - ADD_NEW(next_state_offset, 0); - - /* If we are adding a repeat state at the new character position, - we must fudge things so that it is the only current state. - Otherwise, it might be a duplicate of one we processed before, and - that would cause it to be skipped. */ - - if (repeat_state_offset >= 0) - { - next_active_state = active_states; - active_count = 0; - i = -1; - ADD_ACTIVE(repeat_state_offset, 0); - } - } - else - { - const uschar *p = start_subject + local_offsets[0]; - const uschar *pp = start_subject + local_offsets[1]; - while (p < pp) if ((*p++ & 0xc0) == 0x80) charcount--; - ADD_NEW_DATA(-next_state_offset, 0, (charcount - 1)); - if (repeat_state_offset >= 0) - { ADD_NEW_DATA(-repeat_state_offset, 0, (charcount - 1)); } - } - - } - else if (rc != PCRE_ERROR_NOMATCH) return rc; - } - break; - - -/* ========================================================================== */ - /* Handle callouts */ - - case OP_CALLOUT: - if (pcre_callout != NULL) - { - int rrc; - pcre_callout_block cb; - cb.version = 1; /* Version 1 of the callout block */ - cb.callout_number = code[1]; - cb.offset_vector = offsets; - cb.subject = (char *)start_subject; - cb.subject_length = end_subject - start_subject; - cb.start_match = current_subject - start_subject; - cb.current_position = ptr - start_subject; - cb.pattern_position = GET(code, 2); - cb.next_item_length = GET(code, 2 + LINK_SIZE); - cb.capture_top = 1; - cb.capture_last = -1; - cb.callout_data = md->callout_data; - if ((rrc = (*pcre_callout)(&cb)) < 0) return rrc; /* Abandon */ - if (rrc == 0) { ADD_ACTIVE(state_offset + 2 + 2*LINK_SIZE, 0); } - } - break; - - -/* ========================================================================== */ - default: /* Unsupported opcode */ - return PCRE_ERROR_DFA_UITEM; - } - - NEXT_ACTIVE_STATE: continue; - - } /* End of loop scanning active states */ - - /* We have finished the processing at the current subject character. If no - new states have been set for the next character, we have found all the - matches that we are going to find. If we are at the top level and partial - matching has been requested, check for appropriate conditions. */ - - if (new_count <= 0) - { - if (match_count < 0 && /* No matches found */ - rlevel == 1 && /* Top level match function */ - (md->moptions & PCRE_PARTIAL) != 0 && /* Want partial matching */ - ptr >= end_subject && /* Reached end of subject */ - ptr > current_subject) /* Matched non-empty string */ - { - if (offsetcount >= 2) - { - offsets[0] = current_subject - start_subject; - offsets[1] = end_subject - start_subject; - } - match_count = PCRE_ERROR_PARTIAL; - } - - DPRINTF(("%.*sEnd of internal_dfa_exec %d: returning %d\n" - "%.*s---------------------\n\n", rlevel*2-2, SP, rlevel, match_count, - rlevel*2-2, SP)); - return match_count; - } - - /* One or more states are active for the next character. */ - - ptr += clen; /* Advance to next subject character */ - } /* Loop to move along the subject string */ - -/* Control never gets here, but we must keep the compiler happy. */ - -DPRINTF(("%.*s+++ Unexpected end of internal_dfa_exec %d +++\n" - "%.*s---------------------\n\n", rlevel*2-2, SP, rlevel, rlevel*2-2, SP)); -return PCRE_ERROR_NOMATCH; -} - - - - -/************************************************* -* Execute a Regular Expression - DFA engine * -*************************************************/ - -/* This external function applies a compiled re to a subject string using a DFA -engine. This function calls the internal function multiple times if the pattern -is not anchored. - -Arguments: - argument_re points to the compiled expression - extra_data points to extra data or is NULL (not currently used) - subject points to the subject string - length length of subject string (may contain binary zeros) - start_offset where to start in the subject string - options option bits - offsets vector of match offsets - offsetcount size of same - workspace workspace vector - wscount size of same - -Returns: > 0 => number of match offset pairs placed in offsets - = 0 => offsets overflowed; longest matches are present - -1 => failed to match - < -1 => some kind of unexpected problem -*/ - -EXPORT int -pcre_dfa_exec(const pcre *argument_re, const pcre_extra *extra_data, - const char *subject, int length, int start_offset, int options, int *offsets, - int offsetcount, int *workspace, int wscount) -{ -real_pcre *re = (real_pcre *)argument_re; -dfa_match_data match_block; -BOOL utf8, anchored, startline, firstline; -const uschar *current_subject, *end_subject, *lcc; - -pcre_study_data internal_study; -const pcre_study_data *study = NULL; -real_pcre internal_re; - -const uschar *req_byte_ptr; -const uschar *start_bits = NULL; -BOOL first_byte_caseless = FALSE; -BOOL req_byte_caseless = FALSE; -int first_byte = -1; -int req_byte = -1; -int req_byte2 = -1; - -/* Plausibility checks */ - -if ((options & ~PUBLIC_DFA_EXEC_OPTIONS) != 0) return PCRE_ERROR_BADOPTION; -if (re == NULL || subject == NULL || workspace == NULL || - (offsets == NULL && offsetcount > 0)) return PCRE_ERROR_NULL; -if (offsetcount < 0) return PCRE_ERROR_BADCOUNT; -if (wscount < 20) return PCRE_ERROR_DFA_WSSIZE; - -/* We need to find the pointer to any study data before we test for byte -flipping, so we scan the extra_data block first. This may set two fields in the -match block, so we must initialize them beforehand. However, the other fields -in the match block must not be set until after the byte flipping. */ - -match_block.tables = re->tables; -match_block.callout_data = NULL; - -if (extra_data != NULL) - { - unsigned int flags = extra_data->flags; - if ((flags & PCRE_EXTRA_STUDY_DATA) != 0) - study = (const pcre_study_data *)extra_data->study_data; - if ((flags & PCRE_EXTRA_MATCH_LIMIT) != 0) return PCRE_ERROR_DFA_UMLIMIT; - if ((flags & PCRE_EXTRA_CALLOUT_DATA) != 0) - match_block.callout_data = extra_data->callout_data; - if ((flags & PCRE_EXTRA_TABLES) != 0) - match_block.tables = extra_data->tables; - } - -/* Check that the first field in the block is the magic number. If it is not, -test for a regex that was compiled on a host of opposite endianness. If this is -the case, flipped values are put in internal_re and internal_study if there was -study data too. */ - -if (re->magic_number != MAGIC_NUMBER) - { - re = _pcre_try_flipped(re, &internal_re, study, &internal_study); - if (re == NULL) return PCRE_ERROR_BADMAGIC; - if (study != NULL) study = &internal_study; - } - -/* Set some local values */ - -current_subject = (const unsigned char *)subject + start_offset; -end_subject = (const unsigned char *)subject + length; -req_byte_ptr = current_subject - 1; - -utf8 = (re->options & PCRE_UTF8) != 0; -anchored = (options & PCRE_ANCHORED) != 0 || (re->options & PCRE_ANCHORED) != 0; - -/* The remaining fixed data for passing around. */ - -match_block.start_code = (const uschar *)argument_re + - re->name_table_offset + re->name_count * re->name_entry_size; -match_block.start_subject = (const unsigned char *)subject; -match_block.end_subject = end_subject; -match_block.moptions = options; -match_block.poptions = re->options; - -/* Check a UTF-8 string if required. Unfortunately there's no way of passing -back the character offset. */ - -#ifdef SUPPORT_UTF8 -if (utf8 && (options & PCRE_NO_UTF8_CHECK) == 0) - { - if (_pcre_valid_utf8((uschar *)subject, length) >= 0) - return PCRE_ERROR_BADUTF8; - if (start_offset > 0 && start_offset < length) - { - int tb = ((uschar *)subject)[start_offset]; - if (tb > 127) - { - tb &= 0xc0; - if (tb != 0 && tb != 0xc0) return PCRE_ERROR_BADUTF8_OFFSET; - } - } - } -#endif - -/* If the exec call supplied NULL for tables, use the inbuilt ones. This -is a feature that makes it possible to save compiled regex and re-use them -in other programs later. */ - -if (match_block.tables == NULL) match_block.tables = _pcre_default_tables; - -/* The lower casing table and the "must be at the start of a line" flag are -used in a loop when finding where to start. */ - -lcc = match_block.tables + lcc_offset; -startline = (re->options & PCRE_STARTLINE) != 0; -firstline = (re->options & PCRE_FIRSTLINE) != 0; - -/* Set up the first character to match, if available. The first_byte value is -never set for an anchored regular expression, but the anchoring may be forced -at run time, so we have to test for anchoring. The first char may be unset for -an unanchored pattern, of course. If there's no first char and the pattern was -studied, there may be a bitmap of possible first characters. */ - -if (!anchored) - { - if ((re->options & PCRE_FIRSTSET) != 0) - { - first_byte = re->first_byte & 255; - if ((first_byte_caseless = ((re->first_byte & REQ_CASELESS) != 0)) == TRUE) - first_byte = lcc[first_byte]; - } - else - { - if (startline && study != NULL && - (study->options & PCRE_STUDY_MAPPED) != 0) - start_bits = study->start_bits; - } - } - -/* For anchored or unanchored matches, there may be a "last known required -character" set. */ - -if ((re->options & PCRE_REQCHSET) != 0) - { - req_byte = re->req_byte & 255; - req_byte_caseless = (re->req_byte & REQ_CASELESS) != 0; - req_byte2 = (match_block.tables + fcc_offset)[req_byte]; /* case flipped */ - } - -/* Call the main matching function, looping for a non-anchored regex after a -failed match. Unless restarting, optimize by moving to the first match -character if possible, when not anchored. Then unless wanting a partial match, -check for a required later character. */ - -for (;;) - { - int rc; - - if ((options & PCRE_DFA_RESTART) == 0) - { - const uschar *save_end_subject = end_subject; - - /* Advance to a unique first char if possible. If firstline is TRUE, the - start of the match is constrained to the first line of a multiline string. - Implement this by temporarily adjusting end_subject so that we stop scanning - at a newline. If the match fails at the newline, later code breaks this loop. - */ - - if (firstline) - { - const uschar *t = current_subject; - while (t < save_end_subject && *t != '\n') t++; - end_subject = t; - } - - if (first_byte >= 0) - { - if (first_byte_caseless) - while (current_subject < end_subject && - lcc[*current_subject] != first_byte) - current_subject++; - else - while (current_subject < end_subject && *current_subject != first_byte) - current_subject++; - } - - /* Or to just after \n for a multiline match if possible */ - - else if (startline) - { - if (current_subject > match_block.start_subject + start_offset) - { - while (current_subject < end_subject && current_subject[-1] != NEWLINE) - current_subject++; - } - } - - /* Or to a non-unique first char after study */ - - else if (start_bits != NULL) - { - while (current_subject < end_subject) - { - register unsigned int c = *current_subject; - if ((start_bits[c/8] & (1 << (c&7))) == 0) current_subject++; - else break; - } - } - - /* Restore fudged end_subject */ - - end_subject = save_end_subject; - } - - /* If req_byte is set, we know that that character must appear in the subject - for the match to succeed. If the first character is set, req_byte must be - later in the subject; otherwise the test starts at the match point. This - optimization can save a huge amount of work in patterns with nested unlimited - repeats that aren't going to match. Writing separate code for cased/caseless - versions makes it go faster, as does using an autoincrement and backing off - on a match. - - HOWEVER: when the subject string is very, very long, searching to its end can - take a long time, and give bad performance on quite ordinary patterns. This - showed up when somebody was matching /^C/ on a 32-megabyte string... so we - don't do this when the string is sufficiently long. - - ALSO: this processing is disabled when partial matching is requested. - */ - - if (req_byte >= 0 && - end_subject - current_subject < REQ_BYTE_MAX && - (options & PCRE_PARTIAL) == 0) - { - register const uschar *p = current_subject + ((first_byte >= 0)? 1 : 0); - - /* We don't need to repeat the search if we haven't yet reached the - place we found it at last time. */ - - if (p > req_byte_ptr) - { - if (req_byte_caseless) - { - while (p < end_subject) - { - register int pp = *p++; - if (pp == req_byte || pp == req_byte2) { p--; break; } - } - } - else - { - while (p < end_subject) - { - if (*p++ == req_byte) { p--; break; } - } - } - - /* If we can't find the required character, break the matching loop, - which will cause a return or PCRE_ERROR_NOMATCH. */ - - if (p >= end_subject) break; - - /* If we have found the required character, save the point where we - found it, so that we don't search again next time round the loop if - the start hasn't passed this character yet. */ - - req_byte_ptr = p; - } - } - - /* OK, now we can do the business */ - - rc = internal_dfa_exec( - &match_block, /* fixed match data */ - match_block.start_code, /* this subexpression's code */ - current_subject, /* where we currently are */ - start_offset, /* start offset in subject */ - offsets, /* offset vector */ - offsetcount, /* size of same */ - workspace, /* workspace vector */ - wscount, /* size of same */ - re->options & (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL), /* ims flags */ - 0, /* function recurse level */ - 0); /* regex recurse level */ - - /* Anything other than "no match" means we are done, always; otherwise, carry - on only if not anchored. */ - - if (rc != PCRE_ERROR_NOMATCH || anchored) return rc; - - /* Advance to the next subject character unless we are at the end of a line - and firstline is set. */ - - if (firstline && *current_subject == NEWLINE) break; - current_subject++; - -#ifdef SUPPORT_UTF8 - if (utf8) - { - while (current_subject < end_subject && (*current_subject & 0xc0) == 0x80) - current_subject++; - } -#endif - - if (current_subject > end_subject) break; - } - -return PCRE_ERROR_NOMATCH; -} - -/* End of pcre_dfa_exec.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains pcre_exec(), the externally visible function that does -pattern matching using an NFA algorithm, trying to mimic Perl as closely as -possible. There are also some static supporting functions. */ - - - - -/* Structure for building a chain of data that actually lives on the -stack, for holding the values of the subject pointer at the start of each -subpattern, so as to detect when an empty string has been matched by a -subpattern - to break infinite loops. When NO_RECURSE is set, these blocks -are on the heap, not on the stack. */ - -typedef struct eptrblock { - struct eptrblock *epb_prev; - const uschar *epb_saved_eptr; -} eptrblock; - -/* Flag bits for the match() function */ - -#define match_condassert 0x01 /* Called to check a condition assertion */ -#define match_isgroup 0x02 /* Set if start of bracketed group */ - -/* Non-error returns from the match() function. Error returns are externally -defined PCRE_ERROR_xxx codes, which are all negative. */ - -#define MATCH_MATCH 1 -#define MATCH_NOMATCH 0 - -/* Maximum number of ints of offset to save on the stack for recursive calls. -If the offset vector is bigger, malloc is used. This should be a multiple of 3, -because the offset vector is always a multiple of 3 long. */ - -#define REC_STACK_SAVE_MAX 30 - -/* Min and max values for the common repeats; for the maxima, 0 => infinity */ - -static const char rep_min[] = { 0, 0, 1, 1, 0, 0 }; -static const char rep_max[] = { 0, 0, 0, 0, 1, 1 }; - - - -#ifdef DEBUG -/************************************************* -* Debugging function to print chars * -*************************************************/ - -/* Print a sequence of chars in printable format, stopping at the end of the -subject if the requested. - -Arguments: - p points to characters - length number to print - is_subject TRUE if printing from within md->start_subject - md pointer to matching data block, if is_subject is TRUE - -Returns: nothing -*/ - -static void -pchars(const uschar *p, int length, BOOL is_subject, match_data *md) -{ -int c; -if (is_subject && length > md->end_subject - p) length = md->end_subject - p; -while (length-- > 0) - if (isprint(c = *(p++))) printf("%c", c); else printf("\\x%02x", c); -} -#endif - - - -/************************************************* -* Match a back-reference * -*************************************************/ - -/* If a back reference hasn't been set, the length that is passed is greater -than the number of characters left in the string, so the match fails. - -Arguments: - offset index into the offset vector - eptr points into the subject - length length to be matched - md points to match data block - ims the ims flags - -Returns: TRUE if matched -*/ - -static BOOL -match_ref(int offset, register const uschar *eptr, int length, match_data *md, - unsigned long int ims) -{ -const uschar *p = md->start_subject + md->offset_vector[offset]; - -#ifdef DEBUG -if (eptr >= md->end_subject) - printf("matching subject "); -else - { - printf("matching subject "); - pchars(eptr, length, TRUE, md); - } -printf(" against backref "); -pchars(p, length, FALSE, md); -printf("\n"); -#endif - -/* Always fail if not enough characters left */ - -if (length > md->end_subject - eptr) return FALSE; - -/* Separate the caselesss case for speed */ - -if ((ims & PCRE_CASELESS) != 0) - { - while (length-- > 0) - if (md->lcc[*p++] != md->lcc[*eptr++]) return FALSE; - } -else - { while (length-- > 0) if (*p++ != *eptr++) return FALSE; } - -return TRUE; -} - - - -/*************************************************************************** -**************************************************************************** - RECURSION IN THE match() FUNCTION - -The match() function is highly recursive. Some regular expressions can cause -it to recurse thousands of times. I was writing for Unix, so I just let it -call itself recursively. This uses the stack for saving everything that has -to be saved for a recursive call. On Unix, the stack can be large, and this -works fine. - -It turns out that on non-Unix systems there are problems with programs that -use a lot of stack. (This despite the fact that every last chip has oodles -of memory these days, and techniques for extending the stack have been known -for decades.) So.... - -There is a fudge, triggered by defining NO_RECURSE, which avoids recursive -calls by keeping local variables that need to be preserved in blocks of memory -obtained from malloc instead instead of on the stack. Macros are used to -achieve this so that the actual code doesn't look very different to what it -always used to. -**************************************************************************** -***************************************************************************/ - - -/* These versions of the macros use the stack, as normal */ - -#ifndef NO_RECURSE -#define REGISTER register -#define RMATCH(rx,ra,rb,rc,rd,re,rf,rg) rx = match(ra,rb,rc,rd,re,rf,rg) -#define RRETURN(ra) return ra -#else - - -/* These versions of the macros manage a private stack on the heap. Note -that the rd argument of RMATCH isn't actually used. It's the md argument of -match(), which never changes. */ - -#define REGISTER - -#define RMATCH(rx,ra,rb,rc,rd,re,rf,rg)\ - {\ - heapframe *newframe = (pcre_stack_malloc)(sizeof(heapframe));\ - if (setjmp(frame->Xwhere) == 0)\ - {\ - newframe->Xeptr = ra;\ - newframe->Xecode = rb;\ - newframe->Xoffset_top = rc;\ - newframe->Xims = re;\ - newframe->Xeptrb = rf;\ - newframe->Xflags = rg;\ - newframe->Xprevframe = frame;\ - frame = newframe;\ - DPRINTF(("restarting from line %d\n", __LINE__));\ - goto HEAP_RECURSE;\ - }\ - else\ - {\ - DPRINTF(("longjumped back to line %d\n", __LINE__));\ - frame = md->thisframe;\ - rx = frame->Xresult;\ - }\ - } - -#define RRETURN(ra)\ - {\ - heapframe *newframe = frame;\ - frame = newframe->Xprevframe;\ - (pcre_stack_free)(newframe);\ - if (frame != NULL)\ - {\ - frame->Xresult = ra;\ - md->thisframe = frame;\ - longjmp(frame->Xwhere, 1);\ - }\ - return ra;\ - } - - -/* Structure for remembering the local variables in a private frame */ - -typedef struct heapframe { - struct heapframe *Xprevframe; - - /* Function arguments that may change */ - - const uschar *Xeptr; - const uschar *Xecode; - int Xoffset_top; - long int Xims; - eptrblock *Xeptrb; - int Xflags; - - /* Function local variables */ - - const uschar *Xcallpat; - const uschar *Xcharptr; - const uschar *Xdata; - const uschar *Xnext; - const uschar *Xpp; - const uschar *Xprev; - const uschar *Xsaved_eptr; - - recursion_info Xnew_recursive; - - BOOL Xcur_is_word; - BOOL Xcondition; - BOOL Xminimize; - BOOL Xprev_is_word; - - unsigned long int Xoriginal_ims; - -#ifdef SUPPORT_UCP - int Xprop_type; - int Xprop_fail_result; - int Xprop_category; - int Xprop_chartype; - int Xprop_othercase; - int Xprop_test_against; - int *Xprop_test_variable; -#endif - - int Xctype; - int Xfc; - int Xfi; - int Xlength; - int Xmax; - int Xmin; - int Xnumber; - int Xoffset; - int Xop; - int Xsave_capture_last; - int Xsave_offset1, Xsave_offset2, Xsave_offset3; - int Xstacksave[REC_STACK_SAVE_MAX]; - - eptrblock Xnewptrb; - - /* Place to pass back result, and where to jump back to */ - - int Xresult; - jmp_buf Xwhere; - -} heapframe; - -#endif - - -/*************************************************************************** -***************************************************************************/ - - - -/************************************************* -* Match from current position * -*************************************************/ - -/* On entry ecode points to the first opcode, and eptr to the first character -in the subject string, while eptrb holds the value of eptr at the start of the -last bracketed group - used for breaking infinite loops matching zero-length -strings. This function is called recursively in many circumstances. Whenever it -returns a negative (error) response, the outer incarnation must also return the -same response. - -Performance note: It might be tempting to extract commonly used fields from the -md structure (e.g. utf8, end_subject) into individual variables to improve -performance. Tests using gcc on a SPARC disproved this; in the first case, it -made performance worse. - -Arguments: - eptr pointer in subject - ecode position in code - offset_top current top pointer - md pointer to "static" info for the match - ims current /i, /m, and /s options - eptrb pointer to chain of blocks containing eptr at start of - brackets - for testing for empty matches - flags can contain - match_condassert - this is an assertion condition - match_isgroup - this is the start of a bracketed group - -Returns: MATCH_MATCH if matched ) these values are >= 0 - MATCH_NOMATCH if failed to match ) - a negative PCRE_ERROR_xxx value if aborted by an error condition - (e.g. stopped by recursion limit) -*/ - -static int -match(REGISTER const uschar *eptr, REGISTER const uschar *ecode, - int offset_top, match_data *md, unsigned long int ims, eptrblock *eptrb, - int flags) -{ -/* These variables do not need to be preserved over recursion in this function, -so they can be ordinary variables in all cases. Mark them with "register" -because they are used a lot in loops. */ - -register int rrc; /* Returns from recursive calls */ -register int i; /* Used for loops not involving calls to RMATCH() */ -register int c; /* Character values not kept over RMATCH() calls */ -register BOOL utf8; /* Local copy of UTF-8 flag for speed */ - -/* When recursion is not being used, all "local" variables that have to be -preserved over calls to RMATCH() are part of a "frame" which is obtained from -heap storage. Set up the top-level frame here; others are obtained from the -heap whenever RMATCH() does a "recursion". See the macro definitions above. */ - -#ifdef NO_RECURSE -heapframe *frame = (pcre_stack_malloc)(sizeof(heapframe)); -frame->Xprevframe = NULL; /* Marks the top level */ - -/* Copy in the original argument variables */ - -frame->Xeptr = eptr; -frame->Xecode = ecode; -frame->Xoffset_top = offset_top; -frame->Xims = ims; -frame->Xeptrb = eptrb; -frame->Xflags = flags; - -/* This is where control jumps back to to effect "recursion" */ - -HEAP_RECURSE: - -/* Macros make the argument variables come from the current frame */ - -#define eptr frame->Xeptr -#define ecode frame->Xecode -#define offset_top frame->Xoffset_top -#define ims frame->Xims -#define eptrb frame->Xeptrb -#define flags frame->Xflags - -/* Ditto for the local variables */ - -#ifdef SUPPORT_UTF8 -#define charptr frame->Xcharptr -#endif -#define callpat frame->Xcallpat -#define data frame->Xdata -#define next frame->Xnext -#define pp frame->Xpp -#define prev frame->Xprev -#define saved_eptr frame->Xsaved_eptr - -#define new_recursive frame->Xnew_recursive - -#define cur_is_word frame->Xcur_is_word -#define condition frame->Xcondition -#define minimize frame->Xminimize -#define prev_is_word frame->Xprev_is_word - -#define original_ims frame->Xoriginal_ims - -#ifdef SUPPORT_UCP -#define prop_type frame->Xprop_type -#define prop_fail_result frame->Xprop_fail_result -#define prop_category frame->Xprop_category -#define prop_chartype frame->Xprop_chartype -#define prop_othercase frame->Xprop_othercase -#define prop_test_against frame->Xprop_test_against -#define prop_test_variable frame->Xprop_test_variable -#endif - -#define ctype frame->Xctype -#define fc frame->Xfc -#define fi frame->Xfi -#define length frame->Xlength -#define max frame->Xmax -#define min frame->Xmin -#define number frame->Xnumber -#define offset frame->Xoffset -#define op frame->Xop -#define save_capture_last frame->Xsave_capture_last -#define save_offset1 frame->Xsave_offset1 -#define save_offset2 frame->Xsave_offset2 -#define save_offset3 frame->Xsave_offset3 -#define stacksave frame->Xstacksave - -#define newptrb frame->Xnewptrb - -/* When recursion is being used, local variables are allocated on the stack and -get preserved during recursion in the normal way. In this environment, fi and -i, and fc and c, can be the same variables. */ - -#else -#define fi i -#define fc c - - -#ifdef SUPPORT_UTF8 /* Many of these variables are used ony */ -const uschar *charptr; /* small blocks of the code. My normal */ -#endif /* style of coding would have declared */ -const uschar *callpat; /* them within each of those blocks. */ -const uschar *data; /* However, in order to accommodate the */ -const uschar *next; /* version of this code that uses an */ -const uschar *pp; /* external "stack" implemented on the */ -const uschar *prev; /* heap, it is easier to declare them */ -const uschar *saved_eptr; /* all here, so the declarations can */ - /* be cut out in a block. The only */ -recursion_info new_recursive; /* declarations within blocks below are */ - /* for variables that do not have to */ -BOOL cur_is_word; /* be preserved over a recursive call */ -BOOL condition; /* to RMATCH(). */ -BOOL minimize; -BOOL prev_is_word; - -unsigned long int original_ims; - -#ifdef SUPPORT_UCP -int prop_type; -int prop_fail_result; -int prop_category; -int prop_chartype; -int prop_othercase; -int prop_test_against; -int *prop_test_variable; -#endif - -int ctype; -int length; -int max; -int min; -int number; -int offset; -int op; -int save_capture_last; -int save_offset1, save_offset2, save_offset3; -int stacksave[REC_STACK_SAVE_MAX]; - -eptrblock newptrb; -#endif - -/* These statements are here to stop the compiler complaining about unitialized -variables. */ - -#ifdef SUPPORT_UCP -prop_fail_result = 0; -prop_test_against = 0; -prop_test_variable = NULL; -#endif - -/* OK, now we can get on with the real code of the function. Recursion is -specified by the macros RMATCH and RRETURN. When NO_RECURSE is *not* defined, -these just turn into a recursive call to match() and a "return", respectively. -However, RMATCH isn't like a function call because it's quite a complicated -macro. It has to be used in one particular way. This shouldn't, however, impact -performance when true recursion is being used. */ - -if (md->match_call_count++ >= md->match_limit) RRETURN(PCRE_ERROR_MATCHLIMIT); - -original_ims = ims; /* Save for resetting on ')' */ -utf8 = md->utf8; /* Local copy of the flag */ - -/* At the start of a bracketed group, add the current subject pointer to the -stack of such pointers, to be re-instated at the end of the group when we hit -the closing ket. When match() is called in other circumstances, we don't add to -this stack. */ - -if ((flags & match_isgroup) != 0) - { - newptrb.epb_prev = eptrb; - newptrb.epb_saved_eptr = eptr; - eptrb = &newptrb; - } - -/* Now start processing the operations. */ - -for (;;) - { - op = *ecode; - minimize = FALSE; - - /* For partial matching, remember if we ever hit the end of the subject after - matching at least one subject character. */ - - if (md->partial && - eptr >= md->end_subject && - eptr > md->start_match) - md->hitend = TRUE; - - /* Opening capturing bracket. If there is space in the offset vector, save - the current subject position in the working slot at the top of the vector. We - mustn't change the current values of the data slot, because they may be set - from a previous iteration of this group, and be referred to by a reference - inside the group. - - If the bracket fails to match, we need to restore this value and also the - values of the final offsets, in case they were set by a previous iteration of - the same bracket. - - If there isn't enough space in the offset vector, treat this as if it were a - non-capturing bracket. Don't worry about setting the flag for the error case - here; that is handled in the code for KET. */ - - if (op > OP_BRA) - { - number = op - OP_BRA; - - /* For extended extraction brackets (large number), we have to fish out the - number from a dummy opcode at the start. */ - - if (number > EXTRACT_BASIC_MAX) - number = GET2(ecode, 2+LINK_SIZE); - offset = number << 1; - -#ifdef DEBUG - printf("start bracket %d subject=", number); - pchars(eptr, 16, TRUE, md); - printf("\n"); -#endif - - if (offset < md->offset_max) - { - save_offset1 = md->offset_vector[offset]; - save_offset2 = md->offset_vector[offset+1]; - save_offset3 = md->offset_vector[md->offset_end - number]; - save_capture_last = md->capture_last; - - DPRINTF(("saving %d %d %d\n", save_offset1, save_offset2, save_offset3)); - md->offset_vector[md->offset_end - number] = eptr - md->start_subject; - - do - { - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb, - match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - md->capture_last = save_capture_last; - ecode += GET(ecode, 1); - } - while (*ecode == OP_ALT); - - DPRINTF(("bracket %d failed\n", number)); - - md->offset_vector[offset] = save_offset1; - md->offset_vector[offset+1] = save_offset2; - md->offset_vector[md->offset_end - number] = save_offset3; - - RRETURN(MATCH_NOMATCH); - } - - /* Insufficient room for saving captured contents */ - - else op = OP_BRA; - } - - /* Other types of node can be handled by a switch */ - - switch(op) - { - case OP_BRA: /* Non-capturing bracket: optimized */ - DPRINTF(("start bracket 0\n")); - do - { - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb, - match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - ecode += GET(ecode, 1); - } - while (*ecode == OP_ALT); - DPRINTF(("bracket 0 failed\n")); - RRETURN(MATCH_NOMATCH); - - /* Conditional group: compilation checked that there are no more than - two branches. If the condition is false, skipping the first branch takes us - past the end if there is only one branch, but that's OK because that is - exactly what going to the ket would do. */ - - case OP_COND: - if (ecode[LINK_SIZE+1] == OP_CREF) /* Condition extract or recurse test */ - { - offset = GET2(ecode, LINK_SIZE+2) << 1; /* Doubled ref number */ - condition = (offset == CREF_RECURSE * 2)? - (md->recursive != NULL) : - (offset < offset_top && md->offset_vector[offset] >= 0); - RMATCH(rrc, eptr, ecode + (condition? - (LINK_SIZE + 4) : (LINK_SIZE + 1 + GET(ecode, 1))), - offset_top, md, ims, eptrb, match_isgroup); - RRETURN(rrc); - } - - /* The condition is an assertion. Call match() to evaluate it - setting - the final argument TRUE causes it to stop at the end of an assertion. */ - - else - { - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL, - match_condassert | match_isgroup); - if (rrc == MATCH_MATCH) - { - ecode += 1 + LINK_SIZE + GET(ecode, LINK_SIZE+2); - while (*ecode == OP_ALT) ecode += GET(ecode, 1); - } - else if (rrc != MATCH_NOMATCH) - { - RRETURN(rrc); /* Need braces because of following else */ - } - else ecode += GET(ecode, 1); - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb, - match_isgroup); - RRETURN(rrc); - } - /* Control never reaches here */ - - /* Skip over conditional reference or large extraction number data if - encountered. */ - - case OP_CREF: - case OP_BRANUMBER: - ecode += 3; - break; - - /* End of the pattern. If we are in a recursion, we should restore the - offsets appropriately and continue from after the call. */ - - case OP_END: - if (md->recursive != NULL && md->recursive->group_num == 0) - { - recursion_info *rec = md->recursive; - DPRINTF(("Hit the end in a (?0) recursion\n")); - md->recursive = rec->prevrec; - memmove(md->offset_vector, rec->offset_save, - rec->saved_max * sizeof(int)); - md->start_match = rec->save_start; - ims = original_ims; - ecode = rec->after_call; - break; - } - - /* Otherwise, if PCRE_NOTEMPTY is set, fail if we have matched an empty - string - backtracking will then try other alternatives, if any. */ - - if (md->notempty && eptr == md->start_match) RRETURN(MATCH_NOMATCH); - md->end_match_ptr = eptr; /* Record where we ended */ - md->end_offset_top = offset_top; /* and how many extracts were taken */ - RRETURN(MATCH_MATCH); - - /* Change option settings */ - - case OP_OPT: - ims = ecode[1]; - ecode += 2; - DPRINTF(("ims set to %02lx\n", ims)); - break; - - /* Assertion brackets. Check the alternative branches in turn - the - matching won't pass the KET for an assertion. If any one branch matches, - the assertion is true. Lookbehind assertions have an OP_REVERSE item at the - start of each branch to move the current point backwards, so the code at - this level is identical to the lookahead case. */ - - case OP_ASSERT: - case OP_ASSERTBACK: - do - { - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL, - match_isgroup); - if (rrc == MATCH_MATCH) break; - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - ecode += GET(ecode, 1); - } - while (*ecode == OP_ALT); - if (*ecode == OP_KET) RRETURN(MATCH_NOMATCH); - - /* If checking an assertion for a condition, return MATCH_MATCH. */ - - if ((flags & match_condassert) != 0) RRETURN(MATCH_MATCH); - - /* Continue from after the assertion, updating the offsets high water - mark, since extracts may have been taken during the assertion. */ - - do ecode += GET(ecode,1); while (*ecode == OP_ALT); - ecode += 1 + LINK_SIZE; - offset_top = md->end_offset_top; - continue; - - /* Negative assertion: all branches must fail to match */ - - case OP_ASSERT_NOT: - case OP_ASSERTBACK_NOT: - do - { - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL, - match_isgroup); - if (rrc == MATCH_MATCH) RRETURN(MATCH_NOMATCH); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - ecode += GET(ecode,1); - } - while (*ecode == OP_ALT); - - if ((flags & match_condassert) != 0) RRETURN(MATCH_MATCH); - - ecode += 1 + LINK_SIZE; - continue; - - /* Move the subject pointer back. This occurs only at the start of - each branch of a lookbehind assertion. If we are too close to the start to - move back, this match function fails. When working with UTF-8 we move - back a number of characters, not bytes. */ - - case OP_REVERSE: -#ifdef SUPPORT_UTF8 - if (utf8) - { - c = GET(ecode,1); - for (i = 0; i < c; i++) - { - eptr--; - if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH); - BACKCHAR(eptr) - } - } - else -#endif - - /* No UTF-8 support, or not in UTF-8 mode: count is byte count */ - - { - eptr -= GET(ecode,1); - if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH); - } - - /* Skip to next op code */ - - ecode += 1 + LINK_SIZE; - break; - - /* The callout item calls an external function, if one is provided, passing - details of the match so far. This is mainly for debugging, though the - function is able to force a failure. */ - - case OP_CALLOUT: - if (pcre_callout != NULL) - { - pcre_callout_block cb; - cb.version = 1; /* Version 1 of the callout block */ - cb.callout_number = ecode[1]; - cb.offset_vector = md->offset_vector; - cb.subject = (const char *)md->start_subject; - cb.subject_length = md->end_subject - md->start_subject; - cb.start_match = md->start_match - md->start_subject; - cb.current_position = eptr - md->start_subject; - cb.pattern_position = GET(ecode, 2); - cb.next_item_length = GET(ecode, 2 + LINK_SIZE); - cb.capture_top = offset_top/2; - cb.capture_last = md->capture_last; - cb.callout_data = md->callout_data; - if ((rrc = (*pcre_callout)(&cb)) > 0) RRETURN(MATCH_NOMATCH); - if (rrc < 0) RRETURN(rrc); - } - ecode += 2 + 2*LINK_SIZE; - break; - - /* Recursion either matches the current regex, or some subexpression. The - offset data is the offset to the starting bracket from the start of the - whole pattern. (This is so that it works from duplicated subpatterns.) - - If there are any capturing brackets started but not finished, we have to - save their starting points and reinstate them after the recursion. However, - we don't know how many such there are (offset_top records the completed - total) so we just have to save all the potential data. There may be up to - 65535 such values, which is too large to put on the stack, but using malloc - for small numbers seems expensive. As a compromise, the stack is used when - there are no more than REC_STACK_SAVE_MAX values to store; otherwise malloc - is used. A problem is what to do if the malloc fails ... there is no way of - returning to the top level with an error. Save the top REC_STACK_SAVE_MAX - values on the stack, and accept that the rest may be wrong. - - There are also other values that have to be saved. We use a chained - sequence of blocks that actually live on the stack. Thanks to Robin Houston - for the original version of this logic. */ - - case OP_RECURSE: - { - callpat = md->start_code + GET(ecode, 1); - new_recursive.group_num = *callpat - OP_BRA; - - /* For extended extraction brackets (large number), we have to fish out - the number from a dummy opcode at the start. */ - - if (new_recursive.group_num > EXTRACT_BASIC_MAX) - new_recursive.group_num = GET2(callpat, 2+LINK_SIZE); - - /* Add to "recursing stack" */ - - new_recursive.prevrec = md->recursive; - md->recursive = &new_recursive; - - /* Find where to continue from afterwards */ - - ecode += 1 + LINK_SIZE; - new_recursive.after_call = ecode; - - /* Now save the offset data. */ - - new_recursive.saved_max = md->offset_end; - if (new_recursive.saved_max <= REC_STACK_SAVE_MAX) - new_recursive.offset_save = stacksave; - else - { - new_recursive.offset_save = - (int *)(pcre_malloc)(new_recursive.saved_max * sizeof(int)); - if (new_recursive.offset_save == NULL) RRETURN(PCRE_ERROR_NOMEMORY); - } - - memcpy(new_recursive.offset_save, md->offset_vector, - new_recursive.saved_max * sizeof(int)); - new_recursive.save_start = md->start_match; - md->start_match = eptr; - - /* OK, now we can do the recursion. For each top-level alternative we - restore the offset and recursion data. */ - - DPRINTF(("Recursing into group %d\n", new_recursive.group_num)); - do - { - RMATCH(rrc, eptr, callpat + 1 + LINK_SIZE, offset_top, md, ims, - eptrb, match_isgroup); - if (rrc == MATCH_MATCH) - { - md->recursive = new_recursive.prevrec; - if (new_recursive.offset_save != stacksave) - (pcre_free)(new_recursive.offset_save); - RRETURN(MATCH_MATCH); - } - else if (rrc != MATCH_NOMATCH) RRETURN(rrc); - - md->recursive = &new_recursive; - memcpy(md->offset_vector, new_recursive.offset_save, - new_recursive.saved_max * sizeof(int)); - callpat += GET(callpat, 1); - } - while (*callpat == OP_ALT); - - DPRINTF(("Recursion didn't match\n")); - md->recursive = new_recursive.prevrec; - if (new_recursive.offset_save != stacksave) - (pcre_free)(new_recursive.offset_save); - RRETURN(MATCH_NOMATCH); - } - /* Control never reaches here */ - - /* "Once" brackets are like assertion brackets except that after a match, - the point in the subject string is not moved back. Thus there can never be - a move back into the brackets. Friedl calls these "atomic" subpatterns. - Check the alternative branches in turn - the matching won't pass the KET - for this kind of subpattern. If any one branch matches, we carry on as at - the end of a normal bracket, leaving the subject pointer. */ - - case OP_ONCE: - { - prev = ecode; - saved_eptr = eptr; - - do - { - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, - eptrb, match_isgroup); - if (rrc == MATCH_MATCH) break; - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - ecode += GET(ecode,1); - } - while (*ecode == OP_ALT); - - /* If hit the end of the group (which could be repeated), fail */ - - if (*ecode != OP_ONCE && *ecode != OP_ALT) RRETURN(MATCH_NOMATCH); - - /* Continue as from after the assertion, updating the offsets high water - mark, since extracts may have been taken. */ - - do ecode += GET(ecode,1); while (*ecode == OP_ALT); - - offset_top = md->end_offset_top; - eptr = md->end_match_ptr; - - /* For a non-repeating ket, just continue at this level. This also - happens for a repeating ket if no characters were matched in the group. - This is the forcible breaking of infinite loops as implemented in Perl - 5.005. If there is an options reset, it will get obeyed in the normal - course of events. */ - - if (*ecode == OP_KET || eptr == saved_eptr) - { - ecode += 1+LINK_SIZE; - break; - } - - /* The repeating kets try the rest of the pattern or restart from the - preceding bracket, in the appropriate order. We need to reset any options - that changed within the bracket before re-running it, so check the next - opcode. */ - - if (ecode[1+LINK_SIZE] == OP_OPT) - { - ims = (ims & ~PCRE_IMS) | ecode[4]; - DPRINTF(("ims set to %02lx at group repeat\n", ims)); - } - - if (*ecode == OP_KETRMIN) - { - RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - else /* OP_KETRMAX */ - { - RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - } - RRETURN(MATCH_NOMATCH); - - /* An alternation is the end of a branch; scan along to find the end of the - bracketed group and go to there. */ - - case OP_ALT: - do ecode += GET(ecode,1); while (*ecode == OP_ALT); - break; - - /* BRAZERO and BRAMINZERO occur just before a bracket group, indicating - that it may occur zero times. It may repeat infinitely, or not at all - - i.e. it could be ()* or ()? in the pattern. Brackets with fixed upper - repeat limits are compiled as a number of copies, with the optional ones - preceded by BRAZERO or BRAMINZERO. */ - - case OP_BRAZERO: - { - next = ecode+1; - RMATCH(rrc, eptr, next, offset_top, md, ims, eptrb, match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - do next += GET(next,1); while (*next == OP_ALT); - ecode = next + 1+LINK_SIZE; - } - break; - - case OP_BRAMINZERO: - { - next = ecode+1; - do next += GET(next,1); while (*next == OP_ALT); - RMATCH(rrc, eptr, next + 1+LINK_SIZE, offset_top, md, ims, eptrb, - match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - ecode++; - } - break; - - /* End of a group, repeated or non-repeating. If we are at the end of - an assertion "group", stop matching and return MATCH_MATCH, but record the - current high water mark for use by positive assertions. Do this also - for the "once" (not-backup up) groups. */ - - case OP_KET: - case OP_KETRMIN: - case OP_KETRMAX: - { - prev = ecode - GET(ecode, 1); - saved_eptr = eptrb->epb_saved_eptr; - - /* Back up the stack of bracket start pointers. */ - - eptrb = eptrb->epb_prev; - - if (*prev == OP_ASSERT || *prev == OP_ASSERT_NOT || - *prev == OP_ASSERTBACK || *prev == OP_ASSERTBACK_NOT || - *prev == OP_ONCE) - { - md->end_match_ptr = eptr; /* For ONCE */ - md->end_offset_top = offset_top; - RRETURN(MATCH_MATCH); - } - - /* In all other cases except a conditional group we have to check the - group number back at the start and if necessary complete handling an - extraction by setting the offsets and bumping the high water mark. */ - - if (*prev != OP_COND) - { - number = *prev - OP_BRA; - - /* For extended extraction brackets (large number), we have to fish out - the number from a dummy opcode at the start. */ - - if (number > EXTRACT_BASIC_MAX) number = GET2(prev, 2+LINK_SIZE); - offset = number << 1; - -#ifdef DEBUG - printf("end bracket %d", number); - printf("\n"); -#endif - - /* Test for a numbered group. This includes groups called as a result - of recursion. Note that whole-pattern recursion is coded as a recurse - into group 0, so it won't be picked up here. Instead, we catch it when - the OP_END is reached. */ - - if (number > 0) - { - md->capture_last = number; - if (offset >= md->offset_max) md->offset_overflow = TRUE; else - { - md->offset_vector[offset] = - md->offset_vector[md->offset_end - number]; - md->offset_vector[offset+1] = eptr - md->start_subject; - if (offset_top <= offset) offset_top = offset + 2; - } - - /* Handle a recursively called group. Restore the offsets - appropriately and continue from after the call. */ - - if (md->recursive != NULL && md->recursive->group_num == number) - { - recursion_info *rec = md->recursive; - DPRINTF(("Recursion (%d) succeeded - continuing\n", number)); - md->recursive = rec->prevrec; - md->start_match = rec->save_start; - memcpy(md->offset_vector, rec->offset_save, - rec->saved_max * sizeof(int)); - ecode = rec->after_call; - ims = original_ims; - break; - } - } - } - - /* Reset the value of the ims flags, in case they got changed during - the group. */ - - ims = original_ims; - DPRINTF(("ims reset to %02lx\n", ims)); - - /* For a non-repeating ket, just continue at this level. This also - happens for a repeating ket if no characters were matched in the group. - This is the forcible breaking of infinite loops as implemented in Perl - 5.005. If there is an options reset, it will get obeyed in the normal - course of events. */ - - if (*ecode == OP_KET || eptr == saved_eptr) - { - ecode += 1 + LINK_SIZE; - break; - } - - /* The repeating kets try the rest of the pattern or restart from the - preceding bracket, in the appropriate order. */ - - if (*ecode == OP_KETRMIN) - { - RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - else /* OP_KETRMAX */ - { - RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - } - - RRETURN(MATCH_NOMATCH); - - /* Start of subject unless notbol, or after internal newline if multiline */ - - case OP_CIRC: - if (md->notbol && eptr == md->start_subject) RRETURN(MATCH_NOMATCH); - if ((ims & PCRE_MULTILINE) != 0) - { - if (eptr != md->start_subject && eptr[-1] != NEWLINE) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - } - /* ... else fall through */ - - /* Start of subject assertion */ - - case OP_SOD: - if (eptr != md->start_subject) RRETURN(MATCH_NOMATCH); - ecode++; - break; - - /* Start of match assertion */ - - case OP_SOM: - if (eptr != md->start_subject + md->start_offset) RRETURN(MATCH_NOMATCH); - ecode++; - break; - - /* Assert before internal newline if multiline, or before a terminating - newline unless endonly is set, else end of subject unless noteol is set. */ - - case OP_DOLL: - if ((ims & PCRE_MULTILINE) != 0) - { - if (eptr < md->end_subject) - { if (*eptr != NEWLINE) RRETURN(MATCH_NOMATCH); } - else - { if (md->noteol) RRETURN(MATCH_NOMATCH); } - ecode++; - break; - } - else - { - if (md->noteol) RRETURN(MATCH_NOMATCH); - if (!md->endonly) - { - if (eptr < md->end_subject - 1 || - (eptr == md->end_subject - 1 && *eptr != NEWLINE)) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - } - } - /* ... else fall through */ - - /* End of subject assertion (\z) */ - - case OP_EOD: - if (eptr < md->end_subject) RRETURN(MATCH_NOMATCH); - ecode++; - break; - - /* End of subject or ending \n assertion (\Z) */ - - case OP_EODN: - if (eptr < md->end_subject - 1 || - (eptr == md->end_subject - 1 && *eptr != NEWLINE)) RRETURN(MATCH_NOMATCH); - ecode++; - break; - - /* Word boundary assertions */ - - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - { - - /* Find out if the previous and current characters are "word" characters. - It takes a bit more work in UTF-8 mode. Characters > 255 are assumed to - be "non-word" characters. */ - -#ifdef SUPPORT_UTF8 - if (utf8) - { - if (eptr == md->start_subject) prev_is_word = FALSE; else - { - const uschar *lastptr = eptr - 1; - while((*lastptr & 0xc0) == 0x80) lastptr--; - GETCHAR(c, lastptr); - prev_is_word = c < 256 && (md->ctypes[c] & ctype_word) != 0; - } - if (eptr >= md->end_subject) cur_is_word = FALSE; else - { - GETCHAR(c, eptr); - cur_is_word = c < 256 && (md->ctypes[c] & ctype_word) != 0; - } - } - else -#endif - - /* More streamlined when not in UTF-8 mode */ - - { - prev_is_word = (eptr != md->start_subject) && - ((md->ctypes[eptr[-1]] & ctype_word) != 0); - cur_is_word = (eptr < md->end_subject) && - ((md->ctypes[*eptr] & ctype_word) != 0); - } - - /* Now see if the situation is what we want */ - - if ((*ecode++ == OP_WORD_BOUNDARY)? - cur_is_word == prev_is_word : cur_is_word != prev_is_word) - RRETURN(MATCH_NOMATCH); - } - break; - - /* Match a single character type; inline for speed */ - - case OP_ANY: - if ((ims & PCRE_DOTALL) == 0 && eptr < md->end_subject && *eptr == NEWLINE) - RRETURN(MATCH_NOMATCH); - if (eptr++ >= md->end_subject) RRETURN(MATCH_NOMATCH); -#ifdef SUPPORT_UTF8 - if (utf8) - while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; -#endif - ecode++; - break; - - /* Match a single byte, even in UTF-8 mode. This opcode really does match - any byte, even newline, independent of the setting of PCRE_DOTALL. */ - - case OP_ANYBYTE: - if (eptr++ >= md->end_subject) RRETURN(MATCH_NOMATCH); - ecode++; - break; - - case OP_NOT_DIGIT: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - if ( -#ifdef SUPPORT_UTF8 - c < 256 && -#endif - (md->ctypes[c] & ctype_digit) != 0 - ) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - - case OP_DIGIT: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - if ( -#ifdef SUPPORT_UTF8 - c >= 256 || -#endif - (md->ctypes[c] & ctype_digit) == 0 - ) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - - case OP_NOT_WHITESPACE: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - if ( -#ifdef SUPPORT_UTF8 - c < 256 && -#endif - (md->ctypes[c] & ctype_space) != 0 - ) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - - case OP_WHITESPACE: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - if ( -#ifdef SUPPORT_UTF8 - c >= 256 || -#endif - (md->ctypes[c] & ctype_space) == 0 - ) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - - case OP_NOT_WORDCHAR: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - if ( -#ifdef SUPPORT_UTF8 - c < 256 && -#endif - (md->ctypes[c] & ctype_word) != 0 - ) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - - case OP_WORDCHAR: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - if ( -#ifdef SUPPORT_UTF8 - c >= 256 || -#endif - (md->ctypes[c] & ctype_word) == 0 - ) - RRETURN(MATCH_NOMATCH); - ecode++; - break; - -#ifdef SUPPORT_UCP - /* Check the next character by Unicode property. We will get here only - if the support is in the binary; otherwise a compile-time error occurs. */ - - case OP_PROP: - case OP_NOTPROP: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - { - int chartype, rqdtype; - int othercase; - int category = ucp_findchar(c, &chartype, &othercase); - - rqdtype = *(++ecode); - ecode++; - - if (rqdtype >= 128) - { - if ((rqdtype - 128 != category) == (op == OP_PROP)) - RRETURN(MATCH_NOMATCH); - } - else - { - if ((rqdtype != chartype) == (op == OP_PROP)) - RRETURN(MATCH_NOMATCH); - } - } - break; - - /* Match an extended Unicode sequence. We will get here only if the support - is in the binary; otherwise a compile-time error occurs. */ - - case OP_EXTUNI: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - { - int chartype; - int othercase; - int category = ucp_findchar(c, &chartype, &othercase); - if (category == ucp_M) RRETURN(MATCH_NOMATCH); - while (eptr < md->end_subject) - { - int len = 1; - if (!utf8) c = *eptr; else - { - GETCHARLEN(c, eptr, len); - } - category = ucp_findchar(c, &chartype, &othercase); - if (category != ucp_M) break; - eptr += len; - } - } - ecode++; - break; -#endif - - - /* Match a back reference, possibly repeatedly. Look past the end of the - item to see if there is repeat information following. The code is similar - to that for character classes, but repeated for efficiency. Then obey - similar code to character type repeats - written out again for speed. - However, if the referenced string is the empty string, always treat - it as matched, any number of times (otherwise there could be infinite - loops). */ - - case OP_REF: - { - offset = GET2(ecode, 1) << 1; /* Doubled ref number */ - ecode += 3; /* Advance past item */ - - /* If the reference is unset, set the length to be longer than the amount - of subject left; this ensures that every attempt at a match fails. We - can't just fail here, because of the possibility of quantifiers with zero - minima. */ - - length = (offset >= offset_top || md->offset_vector[offset] < 0)? - md->end_subject - eptr + 1 : - md->offset_vector[offset+1] - md->offset_vector[offset]; - - /* Set up for repetition, or handle the non-repeated case */ - - switch (*ecode) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRPLUS: - case OP_CRMINPLUS: - case OP_CRQUERY: - case OP_CRMINQUERY: - c = *ecode++ - OP_CRSTAR; - minimize = (c & 1) != 0; - min = rep_min[c]; /* Pick up values from tables; */ - max = rep_max[c]; /* zero for max => infinity */ - if (max == 0) max = INT_MAX; - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - minimize = (*ecode == OP_CRMINRANGE); - min = GET2(ecode, 1); - max = GET2(ecode, 3); - if (max == 0) max = INT_MAX; - ecode += 5; - break; - - default: /* No repeat follows */ - if (!match_ref(offset, eptr, length, md, ims)) RRETURN(MATCH_NOMATCH); - eptr += length; - continue; /* With the main loop */ - } - - /* If the length of the reference is zero, just continue with the - main loop. */ - - if (length == 0) continue; - - /* First, ensure the minimum number of matches are present. We get back - the length of the reference string explicitly rather than passing the - address of eptr, so that eptr can be a register variable. */ - - for (i = 1; i <= min; i++) - { - if (!match_ref(offset, eptr, length, md, ims)) RRETURN(MATCH_NOMATCH); - eptr += length; - } - - /* If min = max, continue at the same level without recursion. - They are not both allowed to be zero. */ - - if (min == max) continue; - - /* If minimizing, keep trying and advancing the pointer */ - - if (minimize) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || !match_ref(offset, eptr, length, md, ims)) - RRETURN(MATCH_NOMATCH); - eptr += length; - } - /* Control never gets here */ - } - - /* If maximizing, find the longest string and work backwards */ - - else - { - pp = eptr; - for (i = min; i < max; i++) - { - if (!match_ref(offset, eptr, length, md, ims)) break; - eptr += length; - } - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - eptr -= length; - } - RRETURN(MATCH_NOMATCH); - } - } - /* Control never gets here */ - - - - /* Match a bit-mapped character class, possibly repeatedly. This op code is - used when all the characters in the class have values in the range 0-255, - and either the matching is caseful, or the characters are in the range - 0-127 when UTF-8 processing is enabled. The only difference between - OP_CLASS and OP_NCLASS occurs when a data character outside the range is - encountered. - - First, look past the end of the item to see if there is repeat information - following. Then obey similar code to character type repeats - written out - again for speed. */ - - case OP_NCLASS: - case OP_CLASS: - { - data = ecode + 1; /* Save for matching */ - ecode += 33; /* Advance past the item */ - - switch (*ecode) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRPLUS: - case OP_CRMINPLUS: - case OP_CRQUERY: - case OP_CRMINQUERY: - c = *ecode++ - OP_CRSTAR; - minimize = (c & 1) != 0; - min = rep_min[c]; /* Pick up values from tables; */ - max = rep_max[c]; /* zero for max => infinity */ - if (max == 0) max = INT_MAX; - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - minimize = (*ecode == OP_CRMINRANGE); - min = GET2(ecode, 1); - max = GET2(ecode, 3); - if (max == 0) max = INT_MAX; - ecode += 5; - break; - - default: /* No repeat follows */ - min = max = 1; - break; - } - - /* First, ensure the minimum number of matches are present. */ - -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); - if (c > 255) - { - if (op == OP_CLASS) RRETURN(MATCH_NOMATCH); - } - else - { - if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH); - } - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - c = *eptr++; - if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH); - } - } - - /* If max == min we can continue with the main loop without the - need to recurse. */ - - if (min == max) continue; - - /* If minimizing, keep testing the rest of the expression and advancing - the pointer while it matches the class. */ - - if (minimize) - { -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); - if (c > 255) - { - if (op == OP_CLASS) RRETURN(MATCH_NOMATCH); - } - else - { - if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH); - } - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - c = *eptr++; - if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH); - } - } - /* Control never gets here */ - } - - /* If maximizing, find the longest possible run, then work backwards. */ - - else - { - pp = eptr; - -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (c > 255) - { - if (op == OP_CLASS) break; - } - else - { - if ((data[c/8] & (1 << (c&7))) == 0) break; - } - eptr += len; - } - for (;;) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (eptr-- == pp) break; /* Stop if tried at original pos */ - BACKCHAR(eptr); - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject) break; - c = *eptr; - if ((data[c/8] & (1 << (c&7))) == 0) break; - eptr++; - } - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - eptr--; - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - } - - RRETURN(MATCH_NOMATCH); - } - } - /* Control never gets here */ - - - /* Match an extended character class. This opcode is encountered only - in UTF-8 mode, because that's the only time it is compiled. */ - -#ifdef SUPPORT_UTF8 - case OP_XCLASS: - { - data = ecode + 1 + LINK_SIZE; /* Save for matching */ - ecode += GET(ecode, 1); /* Advance past the item */ - - switch (*ecode) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRPLUS: - case OP_CRMINPLUS: - case OP_CRQUERY: - case OP_CRMINQUERY: - c = *ecode++ - OP_CRSTAR; - minimize = (c & 1) != 0; - min = rep_min[c]; /* Pick up values from tables; */ - max = rep_max[c]; /* zero for max => infinity */ - if (max == 0) max = INT_MAX; - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - minimize = (*ecode == OP_CRMINRANGE); - min = GET2(ecode, 1); - max = GET2(ecode, 3); - if (max == 0) max = INT_MAX; - ecode += 5; - break; - - default: /* No repeat follows */ - min = max = 1; - break; - } - - /* First, ensure the minimum number of matches are present. */ - - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); - if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH); - } - - /* If max == min we can continue with the main loop without the - need to recurse. */ - - if (min == max) continue; - - /* If minimizing, keep testing the rest of the expression and advancing - the pointer while it matches the class. */ - - if (minimize) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); - if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH); - } - /* Control never gets here */ - } - - /* If maximizing, find the longest possible run, then work backwards. */ - - else - { - pp = eptr; - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (!_pcre_xclass(c, data)) break; - eptr += len; - } - for(;;) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (eptr-- == pp) break; /* Stop if tried at original pos */ - BACKCHAR(eptr) - } - RRETURN(MATCH_NOMATCH); - } - - /* Control never gets here */ - } -#endif /* End of XCLASS */ - - /* Match a single character, casefully */ - - case OP_CHAR: -#ifdef SUPPORT_UTF8 - if (utf8) - { - length = 1; - ecode++; - GETCHARLEN(fc, ecode, length); - if (length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH); - while (length-- > 0) if (*ecode++ != *eptr++) RRETURN(MATCH_NOMATCH); - } - else -#endif - - /* Non-UTF-8 mode */ - { - if (md->end_subject - eptr < 1) RRETURN(MATCH_NOMATCH); - if (ecode[1] != *eptr++) RRETURN(MATCH_NOMATCH); - ecode += 2; - } - break; - - /* Match a single character, caselessly */ - - case OP_CHARNC: -#ifdef SUPPORT_UTF8 - if (utf8) - { - length = 1; - ecode++; - GETCHARLEN(fc, ecode, length); - - if (length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH); - - /* If the pattern character's value is < 128, we have only one byte, and - can use the fast lookup table. */ - - if (fc < 128) - { - if (md->lcc[*ecode++] != md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH); - } - - /* Otherwise we must pick up the subject character */ - - else - { - int dc; - GETCHARINC(dc, eptr); - ecode += length; - - /* If we have Unicode property support, we can use it to test the other - case of the character, if there is one. The result of ucp_findchar() is - < 0 if the char isn't found, and othercase is returned as zero if there - isn't one. */ - - if (fc != dc) - { -#ifdef SUPPORT_UCP - int chartype; - int othercase; - if (ucp_findchar(fc, &chartype, &othercase) < 0 || dc != othercase) -#endif - RRETURN(MATCH_NOMATCH); - } - } - } - else -#endif /* SUPPORT_UTF8 */ - - /* Non-UTF-8 mode */ - { - if (md->end_subject - eptr < 1) RRETURN(MATCH_NOMATCH); - if (md->lcc[ecode[1]] != md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH); - ecode += 2; - } - break; - - /* Match a single character repeatedly; different opcodes share code. */ - - case OP_EXACT: - min = max = GET2(ecode, 1); - ecode += 3; - goto REPEATCHAR; - - case OP_UPTO: - case OP_MINUPTO: - min = 0; - max = GET2(ecode, 1); - minimize = *ecode == OP_MINUPTO; - ecode += 3; - goto REPEATCHAR; - - case OP_STAR: - case OP_MINSTAR: - case OP_PLUS: - case OP_MINPLUS: - case OP_QUERY: - case OP_MINQUERY: - c = *ecode++ - OP_STAR; - minimize = (c & 1) != 0; - min = rep_min[c]; /* Pick up values from tables; */ - max = rep_max[c]; /* zero for max => infinity */ - if (max == 0) max = INT_MAX; - - /* Common code for all repeated single-character matches. We can give - up quickly if there are fewer than the minimum number of characters left in - the subject. */ - - REPEATCHAR: -#ifdef SUPPORT_UTF8 - if (utf8) - { - length = 1; - charptr = ecode; - GETCHARLEN(fc, ecode, length); - if (min * length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH); - ecode += length; - - /* Handle multibyte character matching specially here. There is - support for caseless matching if UCP support is present. */ - - if (length > 1) - { - int oclength = 0; - uschar occhars[8]; - -#ifdef SUPPORT_UCP - int othercase; - int chartype; - if ((ims & PCRE_CASELESS) != 0 && - ucp_findchar(fc, &chartype, &othercase) >= 0 && - othercase > 0) - oclength = _pcre_ord2utf8(othercase, occhars); -#endif /* SUPPORT_UCP */ - - for (i = 1; i <= min; i++) - { - if (memcmp(eptr, charptr, length) == 0) eptr += length; - /* Need braces because of following else */ - else if (oclength == 0) { RRETURN(MATCH_NOMATCH); } - else - { - if (memcmp(eptr, occhars, oclength) != 0) RRETURN(MATCH_NOMATCH); - eptr += oclength; - } - } - - if (min == max) continue; - - if (minimize) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - if (memcmp(eptr, charptr, length) == 0) eptr += length; - /* Need braces because of following else */ - else if (oclength == 0) { RRETURN(MATCH_NOMATCH); } - else - { - if (memcmp(eptr, occhars, oclength) != 0) RRETURN(MATCH_NOMATCH); - eptr += oclength; - } - } - /* Control never gets here */ - } - else - { - pp = eptr; - for (i = min; i < max; i++) - { - if (eptr > md->end_subject - length) break; - if (memcmp(eptr, charptr, length) == 0) eptr += length; - else if (oclength == 0) break; - else - { - if (memcmp(eptr, occhars, oclength) != 0) break; - eptr += oclength; - } - } - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - eptr -= length; - } - RRETURN(MATCH_NOMATCH); - } - /* Control never gets here */ - } - - /* If the length of a UTF-8 character is 1, we fall through here, and - obey the code as for non-UTF-8 characters below, though in this case the - value of fc will always be < 128. */ - } - else -#endif /* SUPPORT_UTF8 */ - - /* When not in UTF-8 mode, load a single-byte character. */ - { - if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH); - fc = *ecode++; - } - - /* The value of fc at this point is always less than 256, though we may or - may not be in UTF-8 mode. The code is duplicated for the caseless and - caseful cases, for speed, since matching characters is likely to be quite - common. First, ensure the minimum number of matches are present. If min = - max, continue at the same level without recursing. Otherwise, if - minimizing, keep trying the rest of the expression and advancing one - matching character if failing, up to the maximum. Alternatively, if - maximizing, find the maximum number of characters and work backwards. */ - - DPRINTF(("matching %c{%d,%d} against subject %.*s\n", fc, min, max, - max, eptr)); - - if ((ims & PCRE_CASELESS) != 0) - { - fc = md->lcc[fc]; - for (i = 1; i <= min; i++) - if (fc != md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH); - if (min == max) continue; - if (minimize) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject || - fc != md->lcc[*eptr++]) - RRETURN(MATCH_NOMATCH); - } - /* Control never gets here */ - } - else - { - pp = eptr; - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || fc != md->lcc[*eptr]) break; - eptr++; - } - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - eptr--; - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - RRETURN(MATCH_NOMATCH); - } - /* Control never gets here */ - } - - /* Caseful comparisons (includes all multi-byte characters) */ - - else - { - for (i = 1; i <= min; i++) if (fc != *eptr++) RRETURN(MATCH_NOMATCH); - if (min == max) continue; - if (minimize) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject || fc != *eptr++) - RRETURN(MATCH_NOMATCH); - } - /* Control never gets here */ - } - else - { - pp = eptr; - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || fc != *eptr) break; - eptr++; - } - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - eptr--; - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - RRETURN(MATCH_NOMATCH); - } - } - /* Control never gets here */ - - /* Match a negated single one-byte character. The character we are - checking can be multibyte. */ - - case OP_NOT: - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - ecode++; - GETCHARINCTEST(c, eptr); - if ((ims & PCRE_CASELESS) != 0) - { -#ifdef SUPPORT_UTF8 - if (c < 256) -#endif - c = md->lcc[c]; - if (md->lcc[*ecode++] == c) RRETURN(MATCH_NOMATCH); - } - else - { - if (*ecode++ == c) RRETURN(MATCH_NOMATCH); - } - break; - - /* Match a negated single one-byte character repeatedly. This is almost a - repeat of the code for a repeated single character, but I haven't found a - nice way of commoning these up that doesn't require a test of the - positive/negative option for each character match. Maybe that wouldn't add - very much to the time taken, but character matching *is* what this is all - about... */ - - case OP_NOTEXACT: - min = max = GET2(ecode, 1); - ecode += 3; - goto REPEATNOTCHAR; - - case OP_NOTUPTO: - case OP_NOTMINUPTO: - min = 0; - max = GET2(ecode, 1); - minimize = *ecode == OP_NOTMINUPTO; - ecode += 3; - goto REPEATNOTCHAR; - - case OP_NOTSTAR: - case OP_NOTMINSTAR: - case OP_NOTPLUS: - case OP_NOTMINPLUS: - case OP_NOTQUERY: - case OP_NOTMINQUERY: - c = *ecode++ - OP_NOTSTAR; - minimize = (c & 1) != 0; - min = rep_min[c]; /* Pick up values from tables; */ - max = rep_max[c]; /* zero for max => infinity */ - if (max == 0) max = INT_MAX; - - /* Common code for all repeated single-byte matches. We can give up quickly - if there are fewer than the minimum number of bytes left in the - subject. */ - - REPEATNOTCHAR: - if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH); - fc = *ecode++; - - /* The code is duplicated for the caseless and caseful cases, for speed, - since matching characters is likely to be quite common. First, ensure the - minimum number of matches are present. If min = max, continue at the same - level without recursing. Otherwise, if minimizing, keep trying the rest of - the expression and advancing one matching character if failing, up to the - maximum. Alternatively, if maximizing, find the maximum number of - characters and work backwards. */ - - DPRINTF(("negative matching %c{%d,%d} against subject %.*s\n", fc, min, max, - max, eptr)); - - if ((ims & PCRE_CASELESS) != 0) - { - fc = md->lcc[fc]; - -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - register int d; - for (i = 1; i <= min; i++) - { - GETCHARINC(d, eptr); - if (d < 256) d = md->lcc[d]; - if (fc == d) RRETURN(MATCH_NOMATCH); - } - } - else -#endif - - /* Not UTF-8 mode */ - { - for (i = 1; i <= min; i++) - if (fc == md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH); - } - - if (min == max) continue; - - if (minimize) - { -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - register int d; - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - GETCHARINC(d, eptr); - if (d < 256) d = md->lcc[d]; - if (fi >= max || eptr >= md->end_subject || fc == d) - RRETURN(MATCH_NOMATCH); - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject || fc == md->lcc[*eptr++]) - RRETURN(MATCH_NOMATCH); - } - } - /* Control never gets here */ - } - - /* Maximize case */ - - else - { - pp = eptr; - -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - register int d; - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(d, eptr, len); - if (d < 256) d = md->lcc[d]; - if (fc == d) break; - eptr += len; - } - for(;;) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (eptr-- == pp) break; /* Stop if tried at original pos */ - BACKCHAR(eptr); - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || fc == md->lcc[*eptr]) break; - eptr++; - } - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - eptr--; - } - } - - RRETURN(MATCH_NOMATCH); - } - /* Control never gets here */ - } - - /* Caseful comparisons */ - - else - { -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - register int d; - for (i = 1; i <= min; i++) - { - GETCHARINC(d, eptr); - if (fc == d) RRETURN(MATCH_NOMATCH); - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (i = 1; i <= min; i++) - if (fc == *eptr++) RRETURN(MATCH_NOMATCH); - } - - if (min == max) continue; - - if (minimize) - { -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - register int d; - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - GETCHARINC(d, eptr); - if (fi >= max || eptr >= md->end_subject || fc == d) - RRETURN(MATCH_NOMATCH); - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject || fc == *eptr++) - RRETURN(MATCH_NOMATCH); - } - } - /* Control never gets here */ - } - - /* Maximize case */ - - else - { - pp = eptr; - -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - register int d; - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(d, eptr, len); - if (fc == d) break; - eptr += len; - } - for(;;) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (eptr-- == pp) break; /* Stop if tried at original pos */ - BACKCHAR(eptr); - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || fc == *eptr) break; - eptr++; - } - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - eptr--; - } - } - - RRETURN(MATCH_NOMATCH); - } - } - /* Control never gets here */ - - /* Match a single character type repeatedly; several different opcodes - share code. This is very similar to the code for single characters, but we - repeat it in the interests of efficiency. */ - - case OP_TYPEEXACT: - min = max = GET2(ecode, 1); - minimize = TRUE; - ecode += 3; - goto REPEATTYPE; - - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - min = 0; - max = GET2(ecode, 1); - minimize = *ecode == OP_TYPEMINUPTO; - ecode += 3; - goto REPEATTYPE; - - case OP_TYPESTAR: - case OP_TYPEMINSTAR: - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - c = *ecode++ - OP_TYPESTAR; - minimize = (c & 1) != 0; - min = rep_min[c]; /* Pick up values from tables; */ - max = rep_max[c]; /* zero for max => infinity */ - if (max == 0) max = INT_MAX; - - /* Common code for all repeated single character type matches. Note that - in UTF-8 mode, '.' matches a character of any length, but for the other - character types, the valid characters are all one-byte long. */ - - REPEATTYPE: - ctype = *ecode++; /* Code for the character type */ - -#ifdef SUPPORT_UCP - if (ctype == OP_PROP || ctype == OP_NOTPROP) - { - prop_fail_result = ctype == OP_NOTPROP; - prop_type = *ecode++; - if (prop_type >= 128) - { - prop_test_against = prop_type - 128; - prop_test_variable = &prop_category; - } - else - { - prop_test_against = prop_type; - prop_test_variable = &prop_chartype; - } - } - else prop_type = -1; -#endif - - /* First, ensure the minimum number of matches are present. Use inline - code for maximizing the speed, and do the type test once at the start - (i.e. keep it out of the loop). Also we can test that there are at least - the minimum number of bytes before we start. This isn't as effective in - UTF-8 mode, but it does no harm. Separate the UTF-8 code completely as that - is tidier. Also separate the UCP code, which can be the same for both UTF-8 - and single-bytes. */ - - if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH); - if (min > 0) - { -#ifdef SUPPORT_UCP - if (prop_type > 0) - { - for (i = 1; i <= min; i++) - { - GETCHARINC(c, eptr); - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if ((*prop_test_variable == prop_test_against) == prop_fail_result) - RRETURN(MATCH_NOMATCH); - } - } - - /* Match extended Unicode sequences. We will get here only if the - support is in the binary; otherwise a compile-time error occurs. */ - - else if (ctype == OP_EXTUNI) - { - for (i = 1; i <= min; i++) - { - GETCHARINCTEST(c, eptr); - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if (prop_category == ucp_M) RRETURN(MATCH_NOMATCH); - while (eptr < md->end_subject) - { - int len = 1; - if (!utf8) c = *eptr; else - { - GETCHARLEN(c, eptr, len); - } - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if (prop_category != ucp_M) break; - eptr += len; - } - } - } - - else -#endif /* SUPPORT_UCP */ - -/* Handle all other cases when the coding is UTF-8 */ - -#ifdef SUPPORT_UTF8 - if (utf8) switch(ctype) - { - case OP_ANY: - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject || - (*eptr++ == NEWLINE && (ims & PCRE_DOTALL) == 0)) - RRETURN(MATCH_NOMATCH); - while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; - } - break; - - case OP_ANYBYTE: - eptr += min; - break; - - case OP_NOT_DIGIT: - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); - if (c < 128 && (md->ctypes[c] & ctype_digit) != 0) - RRETURN(MATCH_NOMATCH); - } - break; - - case OP_DIGIT: - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject || - *eptr >= 128 || (md->ctypes[*eptr++] & ctype_digit) == 0) - RRETURN(MATCH_NOMATCH); - /* No need to skip more bytes - we know it's a 1-byte character */ - } - break; - - case OP_NOT_WHITESPACE: - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject || - (*eptr < 128 && (md->ctypes[*eptr++] & ctype_space) != 0)) - RRETURN(MATCH_NOMATCH); - while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; - } - break; - - case OP_WHITESPACE: - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject || - *eptr >= 128 || (md->ctypes[*eptr++] & ctype_space) == 0) - RRETURN(MATCH_NOMATCH); - /* No need to skip more bytes - we know it's a 1-byte character */ - } - break; - - case OP_NOT_WORDCHAR: - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject || - (*eptr < 128 && (md->ctypes[*eptr++] & ctype_word) != 0)) - RRETURN(MATCH_NOMATCH); - while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; - } - break; - - case OP_WORDCHAR: - for (i = 1; i <= min; i++) - { - if (eptr >= md->end_subject || - *eptr >= 128 || (md->ctypes[*eptr++] & ctype_word) == 0) - RRETURN(MATCH_NOMATCH); - /* No need to skip more bytes - we know it's a 1-byte character */ - } - break; - - default: - RRETURN(PCRE_ERROR_INTERNAL); - } /* End switch(ctype) */ - - else -#endif /* SUPPORT_UTF8 */ - - /* Code for the non-UTF-8 case for minimum matching of operators other - than OP_PROP and OP_NOTPROP. */ - - switch(ctype) - { - case OP_ANY: - if ((ims & PCRE_DOTALL) == 0) - { - for (i = 1; i <= min; i++) - if (*eptr++ == NEWLINE) RRETURN(MATCH_NOMATCH); - } - else eptr += min; - break; - - case OP_ANYBYTE: - eptr += min; - break; - - case OP_NOT_DIGIT: - for (i = 1; i <= min; i++) - if ((md->ctypes[*eptr++] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_DIGIT: - for (i = 1; i <= min; i++) - if ((md->ctypes[*eptr++] & ctype_digit) == 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_NOT_WHITESPACE: - for (i = 1; i <= min; i++) - if ((md->ctypes[*eptr++] & ctype_space) != 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_WHITESPACE: - for (i = 1; i <= min; i++) - if ((md->ctypes[*eptr++] & ctype_space) == 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_NOT_WORDCHAR: - for (i = 1; i <= min; i++) - if ((md->ctypes[*eptr++] & ctype_word) != 0) - RRETURN(MATCH_NOMATCH); - break; - - case OP_WORDCHAR: - for (i = 1; i <= min; i++) - if ((md->ctypes[*eptr++] & ctype_word) == 0) - RRETURN(MATCH_NOMATCH); - break; - - default: - RRETURN(PCRE_ERROR_INTERNAL); - } - } - - /* If min = max, continue at the same level without recursing */ - - if (min == max) continue; - - /* If minimizing, we have to test the rest of the pattern before each - subsequent match. Again, separate the UTF-8 case for speed, and also - separate the UCP cases. */ - - if (minimize) - { -#ifdef SUPPORT_UCP - if (prop_type > 0) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINC(c, eptr); - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if ((*prop_test_variable == prop_test_against) == prop_fail_result) - RRETURN(MATCH_NOMATCH); - } - } - - /* Match extended Unicode sequences. We will get here only if the - support is in the binary; otherwise a compile-time error occurs. */ - - else if (ctype == OP_EXTUNI) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - GETCHARINCTEST(c, eptr); - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if (prop_category == ucp_M) RRETURN(MATCH_NOMATCH); - while (eptr < md->end_subject) - { - int len = 1; - if (!utf8) c = *eptr; else - { - GETCHARLEN(c, eptr, len); - } - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if (prop_category != ucp_M) break; - eptr += len; - } - } - } - - else -#endif /* SUPPORT_UCP */ - -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - if (utf8) - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - - GETCHARINC(c, eptr); - switch(ctype) - { - case OP_ANY: - if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) RRETURN(MATCH_NOMATCH); - break; - - case OP_ANYBYTE: - break; - - case OP_NOT_DIGIT: - if (c < 256 && (md->ctypes[c] & ctype_digit) != 0) - RRETURN(MATCH_NOMATCH); - break; - - case OP_DIGIT: - if (c >= 256 || (md->ctypes[c] & ctype_digit) == 0) - RRETURN(MATCH_NOMATCH); - break; - - case OP_NOT_WHITESPACE: - if (c < 256 && (md->ctypes[c] & ctype_space) != 0) - RRETURN(MATCH_NOMATCH); - break; - - case OP_WHITESPACE: - if (c >= 256 || (md->ctypes[c] & ctype_space) == 0) - RRETURN(MATCH_NOMATCH); - break; - - case OP_NOT_WORDCHAR: - if (c < 256 && (md->ctypes[c] & ctype_word) != 0) - RRETURN(MATCH_NOMATCH); - break; - - case OP_WORDCHAR: - if (c >= 256 || (md->ctypes[c] & ctype_word) == 0) - RRETURN(MATCH_NOMATCH); - break; - - default: - RRETURN(PCRE_ERROR_INTERNAL); - } - } - } - else -#endif - /* Not UTF-8 mode */ - { - for (fi = min;; fi++) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH); - c = *eptr++; - switch(ctype) - { - case OP_ANY: - if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) RRETURN(MATCH_NOMATCH); - break; - - case OP_ANYBYTE: - break; - - case OP_NOT_DIGIT: - if ((md->ctypes[c] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_DIGIT: - if ((md->ctypes[c] & ctype_digit) == 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_NOT_WHITESPACE: - if ((md->ctypes[c] & ctype_space) != 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_WHITESPACE: - if ((md->ctypes[c] & ctype_space) == 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_NOT_WORDCHAR: - if ((md->ctypes[c] & ctype_word) != 0) RRETURN(MATCH_NOMATCH); - break; - - case OP_WORDCHAR: - if ((md->ctypes[c] & ctype_word) == 0) RRETURN(MATCH_NOMATCH); - break; - - default: - RRETURN(PCRE_ERROR_INTERNAL); - } - } - } - /* Control never gets here */ - } - - /* If maximizing it is worth using inline code for speed, doing the type - test once at the start (i.e. keep it out of the loop). Again, keep the - UTF-8 and UCP stuff separate. */ - - else - { - pp = eptr; /* Remember where we started */ - -#ifdef SUPPORT_UCP - if (prop_type > 0) - { - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if ((*prop_test_variable == prop_test_against) == prop_fail_result) - break; - eptr+= len; - } - - /* eptr is now past the end of the maximum run */ - - for(;;) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (eptr-- == pp) break; /* Stop if tried at original pos */ - BACKCHAR(eptr); - } - } - - /* Match extended Unicode sequences. We will get here only if the - support is in the binary; otherwise a compile-time error occurs. */ - - else if (ctype == OP_EXTUNI) - { - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject) break; - GETCHARINCTEST(c, eptr); - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if (prop_category == ucp_M) break; - while (eptr < md->end_subject) - { - int len = 1; - if (!utf8) c = *eptr; else - { - GETCHARLEN(c, eptr, len); - } - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if (prop_category != ucp_M) break; - eptr += len; - } - } - - /* eptr is now past the end of the maximum run */ - - for(;;) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (eptr-- == pp) break; /* Stop if tried at original pos */ - for (;;) /* Move back over one extended */ - { - int len = 1; - BACKCHAR(eptr); - if (!utf8) c = *eptr; else - { - GETCHARLEN(c, eptr, len); - } - prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase); - if (prop_category != ucp_M) break; - eptr--; - } - } - } - - else -#endif /* SUPPORT_UCP */ - -#ifdef SUPPORT_UTF8 - /* UTF-8 mode */ - - if (utf8) - { - switch(ctype) - { - case OP_ANY: - - /* Special code is required for UTF8, but when the maximum is unlimited - we don't need it, so we repeat the non-UTF8 code. This is probably - worth it, because .* is quite a common idiom. */ - - if (max < INT_MAX) - { - if ((ims & PCRE_DOTALL) == 0) - { - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || *eptr == NEWLINE) break; - eptr++; - while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; - } - } - else - { - for (i = min; i < max; i++) - { - eptr++; - while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++; - } - } - } - - /* Handle unlimited UTF-8 repeat */ - - else - { - if ((ims & PCRE_DOTALL) == 0) - { - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || *eptr == NEWLINE) break; - eptr++; - } - break; - } - else - { - c = max - min; - if (c > md->end_subject - eptr) c = md->end_subject - eptr; - eptr += c; - } - } - break; - - /* The byte case is the same as non-UTF8 */ - - case OP_ANYBYTE: - c = max - min; - if (c > md->end_subject - eptr) c = md->end_subject - eptr; - eptr += c; - break; - - case OP_NOT_DIGIT: - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (c < 256 && (md->ctypes[c] & ctype_digit) != 0) break; - eptr+= len; - } - break; - - case OP_DIGIT: - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (c >= 256 ||(md->ctypes[c] & ctype_digit) == 0) break; - eptr+= len; - } - break; - - case OP_NOT_WHITESPACE: - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (c < 256 && (md->ctypes[c] & ctype_space) != 0) break; - eptr+= len; - } - break; - - case OP_WHITESPACE: - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (c >= 256 ||(md->ctypes[c] & ctype_space) == 0) break; - eptr+= len; - } - break; - - case OP_NOT_WORDCHAR: - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (c < 256 && (md->ctypes[c] & ctype_word) != 0) break; - eptr+= len; - } - break; - - case OP_WORDCHAR: - for (i = min; i < max; i++) - { - int len = 1; - if (eptr >= md->end_subject) break; - GETCHARLEN(c, eptr, len); - if (c >= 256 || (md->ctypes[c] & ctype_word) == 0) break; - eptr+= len; - } - break; - - default: - RRETURN(PCRE_ERROR_INTERNAL); - } - - /* eptr is now past the end of the maximum run */ - - for(;;) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - if (eptr-- == pp) break; /* Stop if tried at original pos */ - BACKCHAR(eptr); - } - } - else -#endif - - /* Not UTF-8 mode */ - { - switch(ctype) - { - case OP_ANY: - if ((ims & PCRE_DOTALL) == 0) - { - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || *eptr == NEWLINE) break; - eptr++; - } - break; - } - /* For DOTALL case, fall through and treat as \C */ - - case OP_ANYBYTE: - c = max - min; - if (c > md->end_subject - eptr) c = md->end_subject - eptr; - eptr += c; - break; - - case OP_NOT_DIGIT: - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) != 0) - break; - eptr++; - } - break; - - case OP_DIGIT: - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) == 0) - break; - eptr++; - } - break; - - case OP_NOT_WHITESPACE: - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) != 0) - break; - eptr++; - } - break; - - case OP_WHITESPACE: - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) == 0) - break; - eptr++; - } - break; - - case OP_NOT_WORDCHAR: - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) != 0) - break; - eptr++; - } - break; - - case OP_WORDCHAR: - for (i = min; i < max; i++) - { - if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) == 0) - break; - eptr++; - } - break; - - default: - RRETURN(PCRE_ERROR_INTERNAL); - } - - /* eptr is now past the end of the maximum run */ - - while (eptr >= pp) - { - RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0); - eptr--; - if (rrc != MATCH_NOMATCH) RRETURN(rrc); - } - } - - /* Get here if we can't make it match with any permitted repetitions */ - - RRETURN(MATCH_NOMATCH); - } - /* Control never gets here */ - - /* There's been some horrible disaster. Since all codes > OP_BRA are - for capturing brackets, and there shouldn't be any gaps between 0 and - OP_BRA, arrival here can only mean there is something seriously wrong - in the code above or the OP_xxx definitions. */ - - default: - DPRINTF(("Unknown opcode %d\n", *ecode)); - RRETURN(PCRE_ERROR_UNKNOWN_NODE); - } - - /* Do not stick any code in here without much thought; it is assumed - that "continue" in the code above comes out to here to repeat the main - loop. */ - - } /* End of main loop */ -/* Control never reaches here */ -} - - -/*************************************************************************** -**************************************************************************** - RECURSION IN THE match() FUNCTION - -Undefine all the macros that were defined above to handle this. */ - -#ifdef NO_RECURSE -#undef eptr -#undef ecode -#undef offset_top -#undef ims -#undef eptrb -#undef flags - -#undef callpat -#undef charptr -#undef data -#undef next -#undef pp -#undef prev -#undef saved_eptr - -#undef new_recursive - -#undef cur_is_word -#undef condition -#undef minimize -#undef prev_is_word - -#undef original_ims - -#undef ctype -#undef length -#undef max -#undef min -#undef number -#undef offset -#undef op -#undef save_capture_last -#undef save_offset1 -#undef save_offset2 -#undef save_offset3 -#undef stacksave - -#undef newptrb - -#endif - -/* These two are defined as macros in both cases */ - -#undef fc -#undef fi - -/*************************************************************************** -***************************************************************************/ - - - -/************************************************* -* Execute a Regular Expression * -*************************************************/ - -/* This function applies a compiled re to a subject string and picks out -portions of the string if it matches. Two elements in the vector are set for -each substring: the offsets to the start and end of the substring. - -Arguments: - argument_re points to the compiled expression - extra_data points to extra data or is NULL - subject points to the subject string - length length of subject string (may contain binary zeros) - start_offset where to start in the subject string - options option bits - offsets points to a vector of ints to be filled in with offsets - offsetcount the number of elements in the vector - -Returns: > 0 => success; value is the number of elements filled in - = 0 => success, but offsets is not big enough - -1 => failed to match - < -1 => some kind of unexpected problem -*/ - -EXPORT int -pcre_exec(const pcre *argument_re, const pcre_extra *extra_data, - const char *subject, int length, int start_offset, int options, int *offsets, - int offsetcount) -{ -int rc, resetcount, ocount; -int first_byte = -1; -int req_byte = -1; -int req_byte2 = -1; -unsigned long int ims = 0; -BOOL using_temporary_offsets = FALSE; -BOOL anchored; -BOOL startline; -BOOL firstline; -BOOL first_byte_caseless = FALSE; -BOOL req_byte_caseless = FALSE; -match_data match_block; -const uschar *tables; -const uschar *start_bits = NULL; -const uschar *start_match = (const uschar *)subject + start_offset; -const uschar *end_subject; -const uschar *req_byte_ptr = start_match - 1; - -pcre_study_data internal_study; -const pcre_study_data *study; - -real_pcre internal_re; -const real_pcre *external_re = (const real_pcre *)argument_re; -const real_pcre *re = external_re; - -/* Plausibility checks */ - -if ((options & ~PUBLIC_EXEC_OPTIONS) != 0) return PCRE_ERROR_BADOPTION; -if (re == NULL || subject == NULL || - (offsets == NULL && offsetcount > 0)) return PCRE_ERROR_NULL; -if (offsetcount < 0) return PCRE_ERROR_BADCOUNT; - -/* Fish out the optional data from the extra_data structure, first setting -the default values. */ - -study = NULL; -match_block.match_limit = MATCH_LIMIT; -match_block.callout_data = NULL; - -/* The table pointer is always in native byte order. */ - -tables = external_re->tables; - -if (extra_data != NULL) - { - register unsigned int flags = extra_data->flags; - if ((flags & PCRE_EXTRA_STUDY_DATA) != 0) - study = (const pcre_study_data *)extra_data->study_data; - if ((flags & PCRE_EXTRA_MATCH_LIMIT) != 0) - match_block.match_limit = extra_data->match_limit; - if ((flags & PCRE_EXTRA_CALLOUT_DATA) != 0) - match_block.callout_data = extra_data->callout_data; - if ((flags & PCRE_EXTRA_TABLES) != 0) tables = extra_data->tables; - } - -/* If the exec call supplied NULL for tables, use the inbuilt ones. This -is a feature that makes it possible to save compiled regex and re-use them -in other programs later. */ - -if (tables == NULL) tables = _pcre_default_tables; - -/* Check that the first field in the block is the magic number. If it is not, -test for a regex that was compiled on a host of opposite endianness. If this is -the case, flipped values are put in internal_re and internal_study if there was -study data too. */ - -if (re->magic_number != MAGIC_NUMBER) - { - re = _pcre_try_flipped(re, &internal_re, study, &internal_study); - if (re == NULL) return PCRE_ERROR_BADMAGIC; - if (study != NULL) study = &internal_study; - } - -/* Set up other data */ - -anchored = ((re->options | options) & PCRE_ANCHORED) != 0; -startline = (re->options & PCRE_STARTLINE) != 0; -firstline = (re->options & PCRE_FIRSTLINE) != 0; - -/* The code starts after the real_pcre block and the capture name table. */ - -match_block.start_code = (const uschar *)external_re + re->name_table_offset + - re->name_count * re->name_entry_size; - -match_block.start_subject = (const uschar *)subject; -match_block.start_offset = start_offset; -match_block.end_subject = match_block.start_subject + length; -end_subject = match_block.end_subject; - -match_block.endonly = (re->options & PCRE_DOLLAR_ENDONLY) != 0; -match_block.utf8 = (re->options & PCRE_UTF8) != 0; - -match_block.notbol = (options & PCRE_NOTBOL) != 0; -match_block.noteol = (options & PCRE_NOTEOL) != 0; -match_block.notempty = (options & PCRE_NOTEMPTY) != 0; -match_block.partial = (options & PCRE_PARTIAL) != 0; -match_block.hitend = FALSE; - -match_block.recursive = NULL; /* No recursion at top level */ - -match_block.lcc = tables + lcc_offset; -match_block.ctypes = tables + ctypes_offset; - -/* Partial matching is supported only for a restricted set of regexes at the -moment. */ - -if (match_block.partial && (re->options & PCRE_NOPARTIAL) != 0) - return PCRE_ERROR_BADPARTIAL; - -/* Check a UTF-8 string if required. Unfortunately there's no way of passing -back the character offset. */ - -#ifdef SUPPORT_UTF8 -if (match_block.utf8 && (options & PCRE_NO_UTF8_CHECK) == 0) - { - if (_pcre_valid_utf8((uschar *)subject, length) >= 0) - return PCRE_ERROR_BADUTF8; - if (start_offset > 0 && start_offset < length) - { - int tb = ((uschar *)subject)[start_offset]; - if (tb > 127) - { - tb &= 0xc0; - if (tb != 0 && tb != 0xc0) return PCRE_ERROR_BADUTF8_OFFSET; - } - } - } -#endif - -/* The ims options can vary during the matching as a result of the presence -of (?ims) items in the pattern. They are kept in a local variable so that -restoring at the exit of a group is easy. */ - -ims = re->options & (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL); - -/* If the expression has got more back references than the offsets supplied can -hold, we get a temporary chunk of working store to use during the matching. -Otherwise, we can use the vector supplied, rounding down its size to a multiple -of 3. */ - -ocount = offsetcount - (offsetcount % 3); - -if (re->top_backref > 0 && re->top_backref >= ocount/3) - { - ocount = re->top_backref * 3 + 3; - match_block.offset_vector = (int *)(pcre_malloc)(ocount * sizeof(int)); - if (match_block.offset_vector == NULL) return PCRE_ERROR_NOMEMORY; - using_temporary_offsets = TRUE; - DPRINTF(("Got memory to hold back references\n")); - } -else match_block.offset_vector = offsets; - -match_block.offset_end = ocount; -match_block.offset_max = (2*ocount)/3; -match_block.offset_overflow = FALSE; -match_block.capture_last = -1; - -/* Compute the minimum number of offsets that we need to reset each time. Doing -this makes a huge difference to execution time when there aren't many brackets -in the pattern. */ - -resetcount = 2 + re->top_bracket * 2; -if (resetcount > offsetcount) resetcount = ocount; - -/* Reset the working variable associated with each extraction. These should -never be used unless previously set, but they get saved and restored, and so we -initialize them to avoid reading uninitialized locations. */ - -if (match_block.offset_vector != NULL) - { - register int *iptr = match_block.offset_vector + ocount; - register int *iend = iptr - resetcount/2 + 1; - while (--iptr >= iend) *iptr = -1; - } - -/* Set up the first character to match, if available. The first_byte value is -never set for an anchored regular expression, but the anchoring may be forced -at run time, so we have to test for anchoring. The first char may be unset for -an unanchored pattern, of course. If there's no first char and the pattern was -studied, there may be a bitmap of possible first characters. */ - -if (!anchored) - { - if ((re->options & PCRE_FIRSTSET) != 0) - { - first_byte = re->first_byte & 255; - if ((first_byte_caseless = ((re->first_byte & REQ_CASELESS) != 0)) == TRUE) - first_byte = match_block.lcc[first_byte]; - } - else - if (!startline && study != NULL && - (study->options & PCRE_STUDY_MAPPED) != 0) - start_bits = study->start_bits; - } - -/* For anchored or unanchored matches, there may be a "last known required -character" set. */ - -if ((re->options & PCRE_REQCHSET) != 0) - { - req_byte = re->req_byte & 255; - req_byte_caseless = (re->req_byte & REQ_CASELESS) != 0; - req_byte2 = (tables + fcc_offset)[req_byte]; /* case flipped */ - } - -/* Loop for handling unanchored repeated matching attempts; for anchored regexs -the loop runs just once. */ - -do - { - const uschar *save_end_subject = end_subject; - - /* Reset the maximum number of extractions we might see. */ - - if (match_block.offset_vector != NULL) - { - register int *iptr = match_block.offset_vector; - register int *iend = iptr + resetcount; - while (iptr < iend) *iptr++ = -1; - } - - /* Advance to a unique first char if possible. If firstline is TRUE, the - start of the match is constrained to the first line of a multiline string. - Implement this by temporarily adjusting end_subject so that we stop scanning - at a newline. If the match fails at the newline, later code breaks this loop. - */ - - if (firstline) - { - const uschar *t = start_match; - while (t < save_end_subject && *t != '\n') t++; - end_subject = t; - } - - /* Now test for a unique first byte */ - - if (first_byte >= 0) - { - if (first_byte_caseless) - while (start_match < end_subject && - match_block.lcc[*start_match] != first_byte) - start_match++; - else - while (start_match < end_subject && *start_match != first_byte) - start_match++; - } - - /* Or to just after \n for a multiline match if possible */ - - else if (startline) - { - if (start_match > match_block.start_subject + start_offset) - { - while (start_match < end_subject && start_match[-1] != NEWLINE) - start_match++; - } - } - - /* Or to a non-unique first char after study */ - - else if (start_bits != NULL) - { - while (start_match < end_subject) - { - register unsigned int c = *start_match; - if ((start_bits[c/8] & (1 << (c&7))) == 0) start_match++; else break; - } - } - - /* Restore fudged end_subject */ - - end_subject = save_end_subject; - -#ifdef DEBUG /* Sigh. Some compilers never learn. */ - printf(">>>> Match against: "); - pchars(start_match, end_subject - start_match, TRUE, &match_block); - printf("\n"); -#endif - - /* If req_byte is set, we know that that character must appear in the subject - for the match to succeed. If the first character is set, req_byte must be - later in the subject; otherwise the test starts at the match point. This - optimization can save a huge amount of backtracking in patterns with nested - unlimited repeats that aren't going to match. Writing separate code for - cased/caseless versions makes it go faster, as does using an autoincrement - and backing off on a match. - - HOWEVER: when the subject string is very, very long, searching to its end can - take a long time, and give bad performance on quite ordinary patterns. This - showed up when somebody was matching /^C/ on a 32-megabyte string... so we - don't do this when the string is sufficiently long. - - ALSO: this processing is disabled when partial matching is requested. - */ - - if (req_byte >= 0 && - end_subject - start_match < REQ_BYTE_MAX && - !match_block.partial) - { - register const uschar *p = start_match + ((first_byte >= 0)? 1 : 0); - - /* We don't need to repeat the search if we haven't yet reached the - place we found it at last time. */ - - if (p > req_byte_ptr) - { - if (req_byte_caseless) - { - while (p < end_subject) - { - register int pp = *p++; - if (pp == req_byte || pp == req_byte2) { p--; break; } - } - } - else - { - while (p < end_subject) - { - if (*p++ == req_byte) { p--; break; } - } - } - - /* If we can't find the required character, break the matching loop */ - - if (p >= end_subject) break; - - /* If we have found the required character, save the point where we - found it, so that we don't search again next time round the loop if - the start hasn't passed this character yet. */ - - req_byte_ptr = p; - } - } - - /* When a match occurs, substrings will be set for all internal extractions; - we just need to set up the whole thing as substring 0 before returning. If - there were too many extractions, set the return code to zero. In the case - where we had to get some local store to hold offsets for backreferences, copy - those back references that we can. In this case there need not be overflow - if certain parts of the pattern were not used. */ - - match_block.start_match = start_match; - match_block.match_call_count = 0; - - rc = match(start_match, match_block.start_code, 2, &match_block, ims, NULL, - match_isgroup); - - /* When the result is no match, if the subject's first character was a - newline and the PCRE_FIRSTLINE option is set, break (which will return - PCRE_ERROR_NOMATCH). The option requests that a match occur before the first - newline in the subject. Otherwise, advance the pointer to the next character - and continue - but the continuation will actually happen only when the - pattern is not anchored. */ - - if (rc == MATCH_NOMATCH) - { - if (firstline && *start_match == NEWLINE) break; - start_match++; -#ifdef SUPPORT_UTF8 - if (match_block.utf8) - while(start_match < end_subject && (*start_match & 0xc0) == 0x80) - start_match++; -#endif - continue; - } - - if (rc != MATCH_MATCH) - { - DPRINTF((">>>> error: returning %d\n", rc)); - return rc; - } - - /* We have a match! Copy the offset information from temporary store if - necessary */ - - if (using_temporary_offsets) - { - if (offsetcount >= 4) - { - memcpy(offsets + 2, match_block.offset_vector + 2, - (offsetcount - 2) * sizeof(int)); - DPRINTF(("Copied offsets from temporary memory\n")); - } - if (match_block.end_offset_top > offsetcount) - match_block.offset_overflow = TRUE; - - DPRINTF(("Freeing temporary memory\n")); - (pcre_free)(match_block.offset_vector); - } - - rc = match_block.offset_overflow? 0 : match_block.end_offset_top/2; - - if (offsetcount < 2) rc = 0; else - { - offsets[0] = start_match - match_block.start_subject; - offsets[1] = match_block.end_match_ptr - match_block.start_subject; - } - - DPRINTF((">>>> returning %d\n", rc)); - return rc; - } - -/* This "while" is the end of the "do" above */ - -while (!anchored && start_match <= end_subject); - -if (using_temporary_offsets) - { - DPRINTF(("Freeing temporary memory\n")); - (pcre_free)(match_block.offset_vector); - } - -if (match_block.partial && match_block.hitend) - { - DPRINTF((">>>> returning PCRE_ERROR_PARTIAL\n")); - return PCRE_ERROR_PARTIAL; - } -else - { - DPRINTF((">>>> returning PCRE_ERROR_NOMATCH\n")); - return PCRE_ERROR_NOMATCH; - } -} - -/* End of pcre_exec.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/*PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_fullinfo(), which returns -information about a compiled pattern. */ - - - - -/************************************************* -* Return info about compiled pattern * -*************************************************/ - -/* This is a newer "info" function which has an extensible interface so -that additional items can be added compatibly. - -Arguments: - argument_re points to compiled code - extra_data points extra data, or NULL - what what information is required - where where to put the information - -Returns: 0 if data returned, negative on error -*/ - -EXPORT int -pcre_fullinfo(const pcre *argument_re, const pcre_extra *extra_data, int what, - void *where) -{ -real_pcre internal_re; -pcre_study_data internal_study; -const real_pcre *re = (const real_pcre *)argument_re; -const pcre_study_data *study = NULL; - -if (re == NULL || where == NULL) return PCRE_ERROR_NULL; - -if (extra_data != NULL && (extra_data->flags & PCRE_EXTRA_STUDY_DATA) != 0) - study = (const pcre_study_data *)extra_data->study_data; - -if (re->magic_number != MAGIC_NUMBER) - { - re = _pcre_try_flipped(re, &internal_re, study, &internal_study); - if (re == NULL) return PCRE_ERROR_BADMAGIC; - if (study != NULL) study = &internal_study; - } - -switch (what) - { - case PCRE_INFO_OPTIONS: - *((unsigned long int *)where) = re->options & PUBLIC_OPTIONS; - break; - - case PCRE_INFO_SIZE: - *((size_t *)where) = re->size; - break; - - case PCRE_INFO_STUDYSIZE: - *((size_t *)where) = (study == NULL)? 0 : study->size; - break; - - case PCRE_INFO_CAPTURECOUNT: - *((int *)where) = re->top_bracket; - break; - - case PCRE_INFO_BACKREFMAX: - *((int *)where) = re->top_backref; - break; - - case PCRE_INFO_FIRSTBYTE: - *((int *)where) = - ((re->options & PCRE_FIRSTSET) != 0)? re->first_byte : - ((re->options & PCRE_STARTLINE) != 0)? -1 : -2; - break; - - /* Make sure we pass back the pointer to the bit vector in the external - block, not the internal copy (with flipped integer fields). */ - - case PCRE_INFO_FIRSTTABLE: - *((const uschar **)where) = - (study != NULL && (study->options & PCRE_STUDY_MAPPED) != 0)? - ((const pcre_study_data *)extra_data->study_data)->start_bits : NULL; - break; - - case PCRE_INFO_LASTLITERAL: - *((int *)where) = - ((re->options & PCRE_REQCHSET) != 0)? re->req_byte : -1; - break; - - case PCRE_INFO_NAMEENTRYSIZE: - *((int *)where) = re->name_entry_size; - break; - - case PCRE_INFO_NAMECOUNT: - *((int *)where) = re->name_count; - break; - - case PCRE_INFO_NAMETABLE: - *((const uschar **)where) = (const uschar *)re + re->name_table_offset; - break; - - case PCRE_INFO_DEFAULT_TABLES: - *((const uschar **)where) = (const uschar *)(_pcre_default_tables); - break; - - default: return PCRE_ERROR_BADOPTION; - } - -return 0; -} - -/* End of pcre_fullinfo.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains some convenience functions for extracting substrings -from the subject string after a regex match has succeeded. The original idea -for these functions came from Scott Wimer. */ - - - - -/************************************************* -* Find number for named string * -*************************************************/ - -/* This function is used by the two extraction functions below, as well -as being generally available. - -Arguments: - code the compiled regex - stringname the name whose number is required - -Returns: the number of the named parentheses, or a negative number - (PCRE_ERROR_NOSUBSTRING) if not found -*/ - -int -pcre_get_stringnumber(const pcre *code, const char *stringname) -{ -int rc; -int entrysize; -int top, bot; -uschar *nametable; - -if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0) - return rc; -if (top <= 0) return PCRE_ERROR_NOSUBSTRING; - -if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0) - return rc; -if ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0) - return rc; - -bot = 0; -while (top > bot) - { - int mid = (top + bot) / 2; - uschar *entry = nametable + entrysize*mid; - int c = strcmp(stringname, (char *)(entry + 2)); - if (c == 0) return (entry[0] << 8) + entry[1]; - if (c > 0) bot = mid + 1; else top = mid; - } - -return PCRE_ERROR_NOSUBSTRING; -} - - - -/************************************************* -* Copy captured string to given buffer * -*************************************************/ - -/* This function copies a single captured substring into a given buffer. -Note that we use memcpy() rather than strncpy() in case there are binary zeros -in the string. - -Arguments: - subject the subject string that was matched - ovector pointer to the offsets table - stringcount the number of substrings that were captured - (i.e. the yield of the pcre_exec call, unless - that was zero, in which case it should be 1/3 - of the offset table size) - stringnumber the number of the required substring - buffer where to put the substring - size the size of the buffer - -Returns: if successful: - the length of the copied string, not including the zero - that is put on the end; can be zero - if not successful: - PCRE_ERROR_NOMEMORY (-6) buffer too small - PCRE_ERROR_NOSUBSTRING (-7) no such captured substring -*/ - -int -pcre_copy_substring(const char *subject, int *ovector, int stringcount, - int stringnumber, char *buffer, int size) -{ -int yield; -if (stringnumber < 0 || stringnumber >= stringcount) - return PCRE_ERROR_NOSUBSTRING; -stringnumber *= 2; -yield = ovector[stringnumber+1] - ovector[stringnumber]; -if (size < yield + 1) return PCRE_ERROR_NOMEMORY; -memcpy(buffer, subject + ovector[stringnumber], yield); -buffer[yield] = 0; -return yield; -} - - - -/************************************************* -* Copy named captured string to given buffer * -*************************************************/ - -/* This function copies a single captured substring into a given buffer, -identifying it by name. - -Arguments: - code the compiled regex - subject the subject string that was matched - ovector pointer to the offsets table - stringcount the number of substrings that were captured - (i.e. the yield of the pcre_exec call, unless - that was zero, in which case it should be 1/3 - of the offset table size) - stringname the name of the required substring - buffer where to put the substring - size the size of the buffer - -Returns: if successful: - the length of the copied string, not including the zero - that is put on the end; can be zero - if not successful: - PCRE_ERROR_NOMEMORY (-6) buffer too small - PCRE_ERROR_NOSUBSTRING (-7) no such captured substring -*/ - -int -pcre_copy_named_substring(const pcre *code, const char *subject, int *ovector, - int stringcount, const char *stringname, char *buffer, int size) -{ -int n = pcre_get_stringnumber(code, stringname); -if (n <= 0) return n; -return pcre_copy_substring(subject, ovector, stringcount, n, buffer, size); -} - - - -/************************************************* -* Copy all captured strings to new store * -*************************************************/ - -/* This function gets one chunk of store and builds a list of pointers and all -of the captured substrings in it. A NULL pointer is put on the end of the list. - -Arguments: - subject the subject string that was matched - ovector pointer to the offsets table - stringcount the number of substrings that were captured - (i.e. the yield of the pcre_exec call, unless - that was zero, in which case it should be 1/3 - of the offset table size) - listptr set to point to the list of pointers - -Returns: if successful: 0 - if not successful: - PCRE_ERROR_NOMEMORY (-6) failed to get store -*/ - -int -pcre_get_substring_list(const char *subject, int *ovector, int stringcount, - const char ***listptr) -{ -int i; -int size = sizeof(char *); -int double_count = stringcount * 2; -char **stringlist; -char *p; - -for (i = 0; i < double_count; i += 2) - size += sizeof(char *) + ovector[i+1] - ovector[i] + 1; - -stringlist = (char **)(pcre_malloc)(size); -if (stringlist == NULL) return PCRE_ERROR_NOMEMORY; - -*listptr = (const char **)stringlist; -p = (char *)(stringlist + stringcount + 1); - -for (i = 0; i < double_count; i += 2) - { - int len = ovector[i+1] - ovector[i]; - memcpy(p, subject + ovector[i], len); - *stringlist++ = p; - p += len; - *p++ = 0; - } - -*stringlist = NULL; -return 0; -} - - - -/************************************************* -* Free store obtained by get_substring_list * -*************************************************/ - -/* This function exists for the benefit of people calling PCRE from non-C -programs that can call its functions, but not free() or (pcre_free)() directly. - -Argument: the result of a previous pcre_get_substring_list() -Returns: nothing -*/ - -void -pcre_free_substring_list(const char **pointer) -{ -(pcre_free)((void *)pointer); -} - - - -/************************************************* -* Copy captured string to new store * -*************************************************/ - -/* This function copies a single captured substring into a piece of new -store - -Arguments: - subject the subject string that was matched - ovector pointer to the offsets table - stringcount the number of substrings that were captured - (i.e. the yield of the pcre_exec call, unless - that was zero, in which case it should be 1/3 - of the offset table size) - stringnumber the number of the required substring - stringptr where to put a pointer to the substring - -Returns: if successful: - the length of the string, not including the zero that - is put on the end; can be zero - if not successful: - PCRE_ERROR_NOMEMORY (-6) failed to get store - PCRE_ERROR_NOSUBSTRING (-7) substring not present -*/ - -int -pcre_get_substring(const char *subject, int *ovector, int stringcount, - int stringnumber, const char **stringptr) -{ -int yield; -char *substring; -if (stringnumber < 0 || stringnumber >= stringcount) - return PCRE_ERROR_NOSUBSTRING; -stringnumber *= 2; -yield = ovector[stringnumber+1] - ovector[stringnumber]; -substring = (char *)(pcre_malloc)(yield + 1); -if (substring == NULL) return PCRE_ERROR_NOMEMORY; -memcpy(substring, subject + ovector[stringnumber], yield); -substring[yield] = 0; -*stringptr = substring; -return yield; -} - - - -/************************************************* -* Copy named captured string to new store * -*************************************************/ - -/* This function copies a single captured substring, identified by name, into -new store. - -Arguments: - code the compiled regex - subject the subject string that was matched - ovector pointer to the offsets table - stringcount the number of substrings that were captured - (i.e. the yield of the pcre_exec call, unless - that was zero, in which case it should be 1/3 - of the offset table size) - stringname the name of the required substring - stringptr where to put the pointer - -Returns: if successful: - the length of the copied string, not including the zero - that is put on the end; can be zero - if not successful: - PCRE_ERROR_NOMEMORY (-6) couldn't get memory - PCRE_ERROR_NOSUBSTRING (-7) no such captured substring -*/ - -int -pcre_get_named_substring(const pcre *code, const char *subject, int *ovector, - int stringcount, const char *stringname, const char **stringptr) -{ -int n = pcre_get_stringnumber(code, stringname); -if (n <= 0) return n; -return pcre_get_substring(subject, ovector, stringcount, n, stringptr); -} - - - - -/************************************************* -* Free store obtained by get_substring * -*************************************************/ - -/* This function exists for the benefit of people calling PCRE from non-C -programs that can call its functions, but not free() or (pcre_free)() directly. - -Argument: the result of a previous pcre_get_substring() -Returns: nothing -*/ - -void -pcre_free_substring(const char *pointer) -{ -(pcre_free)((void *)pointer); -} - -/* End of pcre_get.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains global variables that are exported by the PCRE library. -PCRE is thread-clean and doesn't use any global variables in the normal sense. -However, it calls memory allocation and freeing functions via the four -indirections below, and it can optionally do callouts, using the fifth -indirection. These values can be changed by the caller, but are shared between -all threads. However, when compiling for Virtual Pascal, things are done -differently, and global variables are not used (see pcre.in). */ - - - - -#ifndef VPCOMPAT -#ifdef __cplusplus -extern "C" void *(*pcre_malloc)(size_t) = malloc; -extern "C" void (*pcre_free)(void *) = free; -extern "C" void *(*pcre_stack_malloc)(size_t) = malloc; -extern "C" void (*pcre_stack_free)(void *) = free; -extern "C" int (*pcre_callout)(pcre_callout_block *) = NULL; -#else -void *(*pcre_malloc)(size_t) = malloc; -void (*pcre_free)(void *) = free; -void *(*pcre_stack_malloc)(size_t) = malloc; -void (*pcre_stack_free)(void *) = free; -int (*pcre_callout)(pcre_callout_block *) = NULL; -#endif -#endif - -/* End of pcre_globals.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_info(), which gives some -information about a compiled pattern. However, use of this function is now -deprecated, as it has been superseded by pcre_fullinfo(). */ - - - - -/************************************************* -* (Obsolete) Return info about compiled pattern * -*************************************************/ - -/* This is the original "info" function. It picks potentially useful data out -of the private structure, but its interface was too rigid. It remains for -backwards compatibility. The public options are passed back in an int - though -the re->options field has been expanded to a long int, all the public options -at the low end of it, and so even on 16-bit systems this will still be OK. -Therefore, I haven't changed the API for pcre_info(). - -Arguments: - argument_re points to compiled code - optptr where to pass back the options - first_byte where to pass back the first character, - or -1 if multiline and all branches start ^, - or -2 otherwise - -Returns: number of capturing subpatterns - or negative values on error -*/ - -EXPORT int -pcre_info(const pcre *argument_re, int *optptr, int *first_byte) -{ -real_pcre internal_re; -const real_pcre *re = (const real_pcre *)argument_re; -if (re == NULL) return PCRE_ERROR_NULL; -if (re->magic_number != MAGIC_NUMBER) - { - re = _pcre_try_flipped(re, &internal_re, NULL, NULL); - if (re == NULL) return PCRE_ERROR_BADMAGIC; - } -if (optptr != NULL) *optptr = (int)(re->options & PUBLIC_OPTIONS); -if (first_byte != NULL) - *first_byte = ((re->options & PCRE_FIRSTSET) != 0)? re->first_byte : - ((re->options & PCRE_STARTLINE) != 0)? -1 : -2; -return re->top_bracket; -} - -/* End of pcre_info.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_maketables(), which builds -character tables for PCRE in the current locale. The file is compiled on its -own as part of the PCRE library. However, it is also included in the -compilation of dftables.c, in which case the macro DFTABLES is defined. */ - - -#ifndef DFTABLES -#endif - - -/************************************************* -* Create PCRE character tables * -*************************************************/ - -/* This function builds a set of character tables for use by PCRE and returns -a pointer to them. They are build using the ctype functions, and consequently -their contents will depend upon the current locale setting. When compiled as -part of the library, the store is obtained via pcre_malloc(), but when compiled -inside dftables, use malloc(). - -Arguments: none -Returns: pointer to the contiguous block of data -*/ - -const unsigned char * -pcre_maketables(void) -{ -unsigned char *yield, *p; -int i; - -#ifndef DFTABLES -yield = (unsigned char*)(pcre_malloc)(tables_length); -#else -yield = (unsigned char*)malloc(tables_length); -#endif - -if (yield == NULL) return NULL; -p = yield; - -/* First comes the lower casing table */ - -for (i = 0; i < 256; i++) *p++ = tolower(i); - -/* Next the case-flipping table */ - -for (i = 0; i < 256; i++) *p++ = islower(i)? toupper(i) : tolower(i); - -/* Then the character class tables. Don't try to be clever and save effort -on exclusive ones - in some locales things may be different. Note that the -table for "space" includes everything "isspace" gives, including VT in the -default locale. This makes it work for the POSIX class [:space:]. */ - -memset(p, 0, cbit_length); -for (i = 0; i < 256; i++) - { - if (isdigit(i)) - { - p[cbit_digit + i/8] |= 1 << (i&7); - p[cbit_word + i/8] |= 1 << (i&7); - } - if (isupper(i)) - { - p[cbit_upper + i/8] |= 1 << (i&7); - p[cbit_word + i/8] |= 1 << (i&7); - } - if (islower(i)) - { - p[cbit_lower + i/8] |= 1 << (i&7); - p[cbit_word + i/8] |= 1 << (i&7); - } - if (i == '_') p[cbit_word + i/8] |= 1 << (i&7); - if (isspace(i)) p[cbit_space + i/8] |= 1 << (i&7); - if (isxdigit(i))p[cbit_xdigit + i/8] |= 1 << (i&7); - if (isgraph(i)) p[cbit_graph + i/8] |= 1 << (i&7); - if (isprint(i)) p[cbit_print + i/8] |= 1 << (i&7); - if (ispunct(i)) p[cbit_punct + i/8] |= 1 << (i&7); - if (iscntrl(i)) p[cbit_cntrl + i/8] |= 1 << (i&7); - } -p += cbit_length; - -/* Finally, the character type table. In this, we exclude VT from the white -space chars, because Perl doesn't recognize it as such for \s and for comments -within regexes. */ - -for (i = 0; i < 256; i++) - { - int x = 0; - if (i != 0x0b && isspace(i)) x += ctype_space; - if (isalpha(i)) x += ctype_letter; - if (isdigit(i)) x += ctype_digit; - if (isxdigit(i)) x += ctype_xdigit; - if (isalnum(i) || i == '_') x += ctype_word; - - /* Note: strchr includes the terminating zero in the characters it considers. - In this instance, that is ok because we want binary zero to be flagged as a - meta-character, which in this sense is any character that terminates a run - of data characters. */ - - if (strchr("*+?{^.$|()[", i) != 0) x += ctype_meta; *p++ = x; } - -return yield; -} - -/* End of pcre_maketables.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This file contains a private PCRE function that converts an ordinal -character value into a UTF8 string. */ - - - - -/************************************************* -* Convert character value to UTF-8 * -*************************************************/ - -/* This function takes an integer value in the range 0 - 0x7fffffff -and encodes it as a UTF-8 character in 0 to 6 bytes. - -Arguments: - cvalue the character value - buffer pointer to buffer for result - at least 6 bytes long - -Returns: number of characters placed in the buffer -*/ - -EXPORT int -_pcre_ord2utf8(int cvalue, uschar *buffer) -{ -register int i, j; -for (i = 0; i < _pcre_utf8_table1_size; i++) - if (cvalue <= _pcre_utf8_table1[i]) break; -buffer += i; -for (j = i; j > 0; j--) - { - *buffer-- = 0x80 | (cvalue & 0x3f); - cvalue >>= 6; - } -*buffer = _pcre_utf8_table2[i] | cvalue; -return i + 1; -} - -/* End of pcre_ord2utf8.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains an PCRE private debugging function for printing out the -internal form of a compiled regular expression, along with some supporting -local functions. */ - - - - -static const char *OP_names[] = { OP_NAME_LIST }; - - -/************************************************* -* Print single- or multi-byte character * -*************************************************/ - -static int -print_char(FILE *f, uschar *ptr, BOOL utf8) -{ -int c = *ptr; - -if (!utf8 || (c & 0xc0) != 0xc0) - { - if (isprint(c)) fprintf(f, "%c", c); else fprintf(f, "\\x%02x", c); - return 0; - } -else - { - int i; - int a = _pcre_utf8_table4[c & 0x3f]; /* Number of additional bytes */ - int s = 6*a; - c = (c & _pcre_utf8_table3[a]) << s; - for (i = 1; i <= a; i++) - { - /* This is a check for malformed UTF-8; it should only occur if the sanity - check has been turned off. Rather than swallow random bytes, just stop if - we hit a bad one. Print it with \X instead of \x as an indication. */ - - if ((ptr[i] & 0xc0) != 0x80) - { - fprintf(f, "\\X{%x}", c); - return i - 1; - } - - /* The byte is OK */ - - s -= 6; - c |= (ptr[i] & 0x3f) << s; - } - if (c < 128) fprintf(f, "\\x%02x", c); else fprintf(f, "\\x{%x}", c); - return a; - } -} - - - -/************************************************* -* Find Unicode property name * -*************************************************/ - -static const char * -get_ucpname(int property) -{ -#ifdef SUPPORT_UCP -int i; -for (i = _pcre_utt_size; i >= 0; i--) - { - if (property == _pcre_utt[i].value) break; - } -return (i >= 0)? _pcre_utt[i].name : "??"; -#else -return "??"; -#endif -} - - - -/************************************************* -* Print compiled regex * -*************************************************/ - -/* Make this function work for a regex with integers either byte order. -However, we assume that what we are passed is a compiled regex. */ - -EXPORT void -_pcre_printint(pcre *external_re, FILE *f) -{ -real_pcre *re = (real_pcre *)external_re; -uschar *codestart, *code; -BOOL utf8; - -unsigned int options = re->options; -int offset = re->name_table_offset; -int count = re->name_count; -int size = re->name_entry_size; - -if (re->magic_number != MAGIC_NUMBER) - { - offset = ((offset << 8) & 0xff00) | ((offset >> 8) & 0xff); - count = ((count << 8) & 0xff00) | ((count >> 8) & 0xff); - size = ((size << 8) & 0xff00) | ((size >> 8) & 0xff); - options = ((options << 24) & 0xff000000) | - ((options << 8) & 0x00ff0000) | - ((options >> 8) & 0x0000ff00) | - ((options >> 24) & 0x000000ff); - } - -code = codestart = (uschar *)re + offset + count * size; -utf8 = (options & PCRE_UTF8) != 0; - -for(;;) - { - uschar *ccode; - int c; - int extra = 0; - - fprintf(f, "%3d ", (int)(code - codestart)); - - if (*code >= OP_BRA) - { - if (*code - OP_BRA > EXTRACT_BASIC_MAX) - fprintf(f, "%3d Bra extra\n", GET(code, 1)); - else - fprintf(f, "%3d Bra %d\n", GET(code, 1), *code - OP_BRA); - code += _pcre_OP_lengths[OP_BRA]; - continue; - } - - switch(*code) - { - case OP_END: - fprintf(f, " %s\n", OP_names[*code]); - fprintf(f, "------------------------------------------------------------------\n"); - return; - - case OP_OPT: - fprintf(f, " %.2x %s", code[1], OP_names[*code]); - break; - - case OP_CHAR: - { - fprintf(f, " "); - do - { - code++; - code += 1 + print_char(f, code, utf8); - } - while (*code == OP_CHAR); - fprintf(f, "\n"); - continue; - } - break; - - case OP_CHARNC: - { - fprintf(f, " NC "); - do - { - code++; - code += 1 + print_char(f, code, utf8); - } - while (*code == OP_CHARNC); - fprintf(f, "\n"); - continue; - } - break; - - case OP_KETRMAX: - case OP_KETRMIN: - case OP_ALT: - case OP_KET: - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - case OP_ONCE: - case OP_COND: - case OP_REVERSE: - fprintf(f, "%3d %s", GET(code, 1), OP_names[*code]); - break; - - case OP_BRANUMBER: - printf("%3d %s", GET2(code, 1), OP_names[*code]); - break; - - case OP_CREF: - if (GET2(code, 1) == CREF_RECURSE) - fprintf(f, " Cond recurse"); - else - fprintf(f, "%3d %s", GET2(code,1), OP_names[*code]); - break; - - case OP_STAR: - case OP_MINSTAR: - case OP_PLUS: - case OP_MINPLUS: - case OP_QUERY: - case OP_MINQUERY: - case OP_TYPESTAR: - case OP_TYPEMINSTAR: - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - fprintf(f, " "); - if (*code >= OP_TYPESTAR) - { - fprintf(f, "%s", OP_names[code[1]]); - if (code[1] == OP_PROP || code[1] == OP_NOTPROP) - { - fprintf(f, " %s ", get_ucpname(code[2])); - extra = 1; - } - } - else extra = print_char(f, code+1, utf8); - fprintf(f, "%s", OP_names[*code]); - break; - - case OP_EXACT: - case OP_UPTO: - case OP_MINUPTO: - fprintf(f, " "); - extra = print_char(f, code+3, utf8); - fprintf(f, "{"); - if (*code != OP_EXACT) fprintf(f, ","); - fprintf(f, "%d}", GET2(code,1)); - if (*code == OP_MINUPTO) fprintf(f, "?"); - break; - - case OP_TYPEEXACT: - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - fprintf(f, " %s", OP_names[code[3]]); - if (code[3] == OP_PROP || code[3] == OP_NOTPROP) - { - fprintf(f, " %s ", get_ucpname(code[4])); - extra = 1; - } - fprintf(f, "{"); - if (*code != OP_TYPEEXACT) fprintf(f, "0,"); - fprintf(f, "%d}", GET2(code,1)); - if (*code == OP_TYPEMINUPTO) fprintf(f, "?"); - break; - - case OP_NOT: - if (isprint(c = code[1])) fprintf(f, " [^%c]", c); - else fprintf(f, " [^\\x%02x]", c); - break; - - case OP_NOTSTAR: - case OP_NOTMINSTAR: - case OP_NOTPLUS: - case OP_NOTMINPLUS: - case OP_NOTQUERY: - case OP_NOTMINQUERY: - if (isprint(c = code[1])) fprintf(f, " [^%c]", c); - else fprintf(f, " [^\\x%02x]", c); - fprintf(f, "%s", OP_names[*code]); - break; - - case OP_NOTEXACT: - case OP_NOTUPTO: - case OP_NOTMINUPTO: - if (isprint(c = code[3])) fprintf(f, " [^%c]{", c); - else fprintf(f, " [^\\x%02x]{", c); - if (*code != OP_NOTEXACT) fprintf(f, "0,"); - fprintf(f, "%d}", GET2(code,1)); - if (*code == OP_NOTMINUPTO) fprintf(f, "?"); - break; - - case OP_RECURSE: - fprintf(f, "%3d %s", GET(code, 1), OP_names[*code]); - break; - - case OP_REF: - fprintf(f, " \\%d", GET2(code,1)); - ccode = code + _pcre_OP_lengths[*code]; - goto CLASS_REF_REPEAT; - - case OP_CALLOUT: - fprintf(f, " %s %d %d %d", OP_names[*code], code[1], GET(code,2), - GET(code, 2 + LINK_SIZE)); - break; - - case OP_PROP: - case OP_NOTPROP: - fprintf(f, " %s %s", OP_names[*code], get_ucpname(code[1])); - break; - - /* OP_XCLASS can only occur in UTF-8 mode. However, there's no harm in - having this code always here, and it makes it less messy without all those - #ifdefs. */ - - case OP_CLASS: - case OP_NCLASS: - case OP_XCLASS: - { - int i, min, max; - BOOL printmap; - - fprintf(f, " ["); - - if (*code == OP_XCLASS) - { - extra = GET(code, 1); - ccode = code + LINK_SIZE + 1; - printmap = (*ccode & XCL_MAP) != 0; - if ((*ccode++ & XCL_NOT) != 0) fprintf(f, "^"); - } - else - { - printmap = TRUE; - ccode = code + 1; - } - - /* Print a bit map */ - - if (printmap) - { - for (i = 0; i < 256; i++) - { - if ((ccode[i/8] & (1 << (i&7))) != 0) - { - int j; - for (j = i+1; j < 256; j++) - if ((ccode[j/8] & (1 << (j&7))) == 0) break; - if (i == '-' || i == ']') fprintf(f, "\\"); - if (isprint(i)) fprintf(f, "%c", i); else fprintf(f, "\\x%02x", i); - if (--j > i) - { - if (j != i + 1) fprintf(f, "-"); - if (j == '-' || j == ']') fprintf(f, "\\"); - if (isprint(j)) fprintf(f, "%c", j); else fprintf(f, "\\x%02x", j); - } - i = j; - } - } - ccode += 32; - } - - /* For an XCLASS there is always some additional data */ - - if (*code == OP_XCLASS) - { - int ch; - while ((ch = *ccode++) != XCL_END) - { - if (ch == XCL_PROP) - { - fprintf(f, "\\p{%s}", get_ucpname(*ccode++)); - } - else if (ch == XCL_NOTPROP) - { - fprintf(f, "\\P{%s}", get_ucpname(*ccode++)); - } - else - { - ccode += 1 + print_char(f, ccode, TRUE); - if (ch == XCL_RANGE) - { - fprintf(f, "-"); - ccode += 1 + print_char(f, ccode, TRUE); - } - } - } - } - - /* Indicate a non-UTF8 class which was created by negation */ - - fprintf(f, "]%s", (*code == OP_NCLASS)? " (neg)" : ""); - - /* Handle repeats after a class or a back reference */ - - CLASS_REF_REPEAT: - switch(*ccode) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRPLUS: - case OP_CRMINPLUS: - case OP_CRQUERY: - case OP_CRMINQUERY: - fprintf(f, "%s", OP_names[*ccode]); - extra += _pcre_OP_lengths[*ccode]; - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - min = GET2(ccode,1); - max = GET2(ccode,3); - if (max == 0) fprintf(f, "{%d,}", min); - else fprintf(f, "{%d,%d}", min, max); - if (*ccode == OP_CRMINRANGE) fprintf(f, "?"); - extra += _pcre_OP_lengths[*ccode]; - break; - } - } - break; - - /* Anything else is just an item with no data*/ - - default: - fprintf(f, " %s", OP_names[*code]); - break; - } - - code += _pcre_OP_lengths[*code] + extra; - fprintf(f, "\n"); - } -} - -/* End of pcre_printint.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_refcount(), which is an -auxiliary function that can be used to maintain a reference count in a compiled -pattern data block. This might be helpful in applications where the block is -shared by different users. */ - - - -/************************************************* -* Maintain reference count * -*************************************************/ - -/* The reference count is a 16-bit field, initialized to zero. It is not -possible to transfer a non-zero count from one host to a different host that -has a different byte order - though I can't see why anyone in their right mind -would ever want to do that! - -Arguments: - argument_re points to compiled code - adjust value to add to the count - -Returns: the (possibly updated) count value (a non-negative number), or - a negative error number -*/ - -EXPORT int -pcre_refcount(pcre *argument_re, int adjust) -{ -real_pcre *re = (real_pcre *)argument_re; -if (re == NULL) return PCRE_ERROR_NULL; -re->ref_count = (-adjust > re->ref_count)? 0 : - (adjust + re->ref_count > 65535)? 65535 : - re->ref_count + adjust; -return re->ref_count; -} - -/* End of pcre_refcount.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_study(), along with local -supporting functions. */ - - - - -/************************************************* -* Set a bit and maybe its alternate case * -*************************************************/ - -/* Given a character, set its bit in the table, and also the bit for the other -version of a letter if we are caseless. - -Arguments: - start_bits points to the bit map - c is the character - caseless the caseless flag - cd the block with char table pointers - -Returns: nothing -*/ - -static void -set_bit(uschar *start_bits, unsigned int c, BOOL caseless, compile_data *cd) -{ -start_bits[c/8] |= (1 << (c&7)); -if (caseless && (cd->ctypes[c] & ctype_letter) != 0) - start_bits[cd->fcc[c]/8] |= (1 << (cd->fcc[c]&7)); -} - - - -/************************************************* -* Create bitmap of starting chars * -*************************************************/ - -/* This function scans a compiled unanchored expression and attempts to build a -bitmap of the set of initial characters. If it can't, it returns FALSE. As time -goes by, we may be able to get more clever at doing this. - -Arguments: - code points to an expression - start_bits points to a 32-byte table, initialized to 0 - caseless the current state of the caseless flag - utf8 TRUE if in UTF-8 mode - cd the block with char table pointers - -Returns: TRUE if table built, FALSE otherwise -*/ - -static BOOL -set_start_bits(const uschar *code, uschar *start_bits, BOOL caseless, - BOOL utf8, compile_data *cd) -{ -register int c; - -/* This next statement and the later reference to dummy are here in order to -trick the optimizer of the IBM C compiler for OS/2 into generating correct -code. Apparently IBM isn't going to fix the problem, and we would rather not -disable optimization (in this module it actually makes a big difference, and -the pcre module can use all the optimization it can get). */ - -volatile int dummy; - -do - { - const uschar *tcode = code + 1 + LINK_SIZE; - BOOL try_next = TRUE; - - while (try_next) - { - /* If a branch starts with a bracket or a positive lookahead assertion, - recurse to set bits from within them. That's all for this branch. */ - - if ((int)*tcode >= OP_BRA || *tcode == OP_ASSERT) - { - if (!set_start_bits(tcode, start_bits, caseless, utf8, cd)) - return FALSE; - try_next = FALSE; - } - - else switch(*tcode) - { - default: - return FALSE; - - /* Skip over callout */ - - case OP_CALLOUT: - tcode += 2 + 2*LINK_SIZE; - break; - - /* Skip over extended extraction bracket number */ - - case OP_BRANUMBER: - tcode += 3; - break; - - /* Skip over lookbehind and negative lookahead assertions */ - - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - do tcode += GET(tcode, 1); while (*tcode == OP_ALT); - tcode += 1+LINK_SIZE; - break; - - /* Skip over an option setting, changing the caseless flag */ - - case OP_OPT: - caseless = (tcode[1] & PCRE_CASELESS) != 0; - tcode += 2; - break; - - /* BRAZERO does the bracket, but carries on. */ - - case OP_BRAZERO: - case OP_BRAMINZERO: - if (!set_start_bits(++tcode, start_bits, caseless, utf8, cd)) - return FALSE; - dummy = 1; - do tcode += GET(tcode,1); while (*tcode == OP_ALT); - tcode += 1+LINK_SIZE; - break; - - /* Single-char * or ? sets the bit and tries the next item */ - - case OP_STAR: - case OP_MINSTAR: - case OP_QUERY: - case OP_MINQUERY: - set_bit(start_bits, tcode[1], caseless, cd); - tcode += 2; -#ifdef SUPPORT_UTF8 - if (utf8) while ((*tcode & 0xc0) == 0x80) tcode++; -#endif - break; - - /* Single-char upto sets the bit and tries the next */ - - case OP_UPTO: - case OP_MINUPTO: - set_bit(start_bits, tcode[3], caseless, cd); - tcode += 4; -#ifdef SUPPORT_UTF8 - if (utf8) while ((*tcode & 0xc0) == 0x80) tcode++; -#endif - break; - - /* At least one single char sets the bit and stops */ - - case OP_EXACT: /* Fall through */ - tcode += 2; - - case OP_CHAR: - case OP_CHARNC: - case OP_PLUS: - case OP_MINPLUS: - set_bit(start_bits, tcode[1], caseless, cd); - try_next = FALSE; - break; - - /* Single character type sets the bits and stops */ - - case OP_NOT_DIGIT: - for (c = 0; c < 32; c++) - start_bits[c] |= ~cd->cbits[c+cbit_digit]; - try_next = FALSE; - break; - - case OP_DIGIT: - for (c = 0; c < 32; c++) - start_bits[c] |= cd->cbits[c+cbit_digit]; - try_next = FALSE; - break; - - case OP_NOT_WHITESPACE: - for (c = 0; c < 32; c++) - start_bits[c] |= ~cd->cbits[c+cbit_space]; - try_next = FALSE; - break; - - case OP_WHITESPACE: - for (c = 0; c < 32; c++) - start_bits[c] |= cd->cbits[c+cbit_space]; - try_next = FALSE; - break; - - case OP_NOT_WORDCHAR: - for (c = 0; c < 32; c++) - start_bits[c] |= ~cd->cbits[c+cbit_word]; - try_next = FALSE; - break; - - case OP_WORDCHAR: - for (c = 0; c < 32; c++) - start_bits[c] |= cd->cbits[c+cbit_word]; - try_next = FALSE; - break; - - /* One or more character type fudges the pointer and restarts, knowing - it will hit a single character type and stop there. */ - - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - tcode++; - break; - - case OP_TYPEEXACT: - tcode += 3; - break; - - /* Zero or more repeats of character types set the bits and then - try again. */ - - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - tcode += 2; /* Fall through */ - - case OP_TYPESTAR: - case OP_TYPEMINSTAR: - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - switch(tcode[1]) - { - case OP_ANY: - return FALSE; - - case OP_NOT_DIGIT: - for (c = 0; c < 32; c++) - start_bits[c] |= ~cd->cbits[c+cbit_digit]; - break; - - case OP_DIGIT: - for (c = 0; c < 32; c++) - start_bits[c] |= cd->cbits[c+cbit_digit]; - break; - - case OP_NOT_WHITESPACE: - for (c = 0; c < 32; c++) - start_bits[c] |= ~cd->cbits[c+cbit_space]; - break; - - case OP_WHITESPACE: - for (c = 0; c < 32; c++) - start_bits[c] |= cd->cbits[c+cbit_space]; - break; - - case OP_NOT_WORDCHAR: - for (c = 0; c < 32; c++) - start_bits[c] |= ~cd->cbits[c+cbit_word]; - break; - - case OP_WORDCHAR: - for (c = 0; c < 32; c++) - start_bits[c] |= cd->cbits[c+cbit_word]; - break; - } - - tcode += 2; - break; - - /* Character class where all the information is in a bit map: set the - bits and either carry on or not, according to the repeat count. If it was - a negative class, and we are operating with UTF-8 characters, any byte - with a value >= 0xc4 is a potentially valid starter because it starts a - character with a value > 255. */ - - case OP_NCLASS: - if (utf8) - { - start_bits[24] |= 0xf0; /* Bits for 0xc4 - 0xc8 */ - memset(start_bits+25, 0xff, 7); /* Bits for 0xc9 - 0xff */ - } - /* Fall through */ - - case OP_CLASS: - { - tcode++; - - /* In UTF-8 mode, the bits in a bit map correspond to character - values, not to byte values. However, the bit map we are constructing is - for byte values. So we have to do a conversion for characters whose - value is > 127. In fact, there are only two possible starting bytes for - characters in the range 128 - 255. */ - - if (utf8) - { - for (c = 0; c < 16; c++) start_bits[c] |= tcode[c]; - for (c = 128; c < 256; c++) - { - if ((tcode[c/8] && (1 << (c&7))) != 0) - { - int d = (c >> 6) | 0xc0; /* Set bit for this starter */ - start_bits[d/8] |= (1 << (d&7)); /* and then skip on to the */ - c = (c & 0xc0) + 0x40 - 1; /* next relevant character. */ - } - } - } - - /* In non-UTF-8 mode, the two bit maps are completely compatible. */ - - else - { - for (c = 0; c < 32; c++) start_bits[c] |= tcode[c]; - } - - /* Advance past the bit map, and act on what follows */ - - tcode += 32; - switch (*tcode) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRQUERY: - case OP_CRMINQUERY: - tcode++; - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - if (((tcode[1] << 8) + tcode[2]) == 0) tcode += 5; - else try_next = FALSE; - break; - - default: - try_next = FALSE; - break; - } - } - break; /* End of bitmap class handling */ - - } /* End of switch */ - } /* End of try_next loop */ - - code += GET(code, 1); /* Advance to next branch */ - } -while (*code == OP_ALT); -return TRUE; -} - - - -/************************************************* -* Study a compiled expression * -*************************************************/ - -/* This function is handed a compiled expression that it must study to produce -information that will speed up the matching. It returns a pcre_extra block -which then gets handed back to pcre_exec(). - -Arguments: - re points to the compiled expression - options contains option bits - errorptr points to where to place error messages; - set NULL unless error - -Returns: pointer to a pcre_extra block, with study_data filled in and the - appropriate flag set; - NULL on error or if no optimization possible -*/ - -EXPORT pcre_extra * -pcre_study(const pcre *external_re, int options, const char **errorptr) -{ -uschar start_bits[32]; -pcre_extra *extra; -pcre_study_data *study; -const uschar *tables; -const real_pcre *re = (const real_pcre *)external_re; -uschar *code = (uschar *)re + re->name_table_offset + - (re->name_count * re->name_entry_size); -compile_data compile_block; - -*errorptr = NULL; - -if (re == NULL || re->magic_number != MAGIC_NUMBER) - { - *errorptr = "argument is not a compiled regular expression"; - return NULL; - } - -if ((options & ~PUBLIC_STUDY_OPTIONS) != 0) - { - *errorptr = "unknown or incorrect option bit(s) set"; - return NULL; - } - -/* For an anchored pattern, or an unanchored pattern that has a first char, or -a multiline pattern that matches only at "line starts", no further processing -at present. */ - -if ((re->options & (PCRE_ANCHORED|PCRE_FIRSTSET|PCRE_STARTLINE)) != 0) - return NULL; - -/* Set the character tables in the block that is passed around */ - -tables = re->tables; -if (tables == NULL) - (void)pcre_fullinfo(external_re, NULL, PCRE_INFO_DEFAULT_TABLES, - (void *)(&tables)); - -compile_block.lcc = tables + lcc_offset; -compile_block.fcc = tables + fcc_offset; -compile_block.cbits = tables + cbits_offset; -compile_block.ctypes = tables + ctypes_offset; - -/* See if we can find a fixed set of initial characters for the pattern. */ - -memset(start_bits, 0, 32 * sizeof(uschar)); -if (!set_start_bits(code, start_bits, (re->options & PCRE_CASELESS) != 0, - (re->options & PCRE_UTF8) != 0, &compile_block)) return NULL; - -/* Get a pcre_extra block and a pcre_study_data block. The study data is put in -the latter, which is pointed to by the former, which may also get additional -data set later by the calling program. At the moment, the size of -pcre_study_data is fixed. We nevertheless save it in a field for returning via -the pcre_fullinfo() function so that if it becomes variable in the future, we -don't have to change that code. */ - -extra = (pcre_extra *)(pcre_malloc) - (sizeof(pcre_extra) + sizeof(pcre_study_data)); - -if (extra == NULL) - { - *errorptr = "failed to get memory"; - return NULL; - } - -study = (pcre_study_data *)((char *)extra + sizeof(pcre_extra)); -extra->flags = PCRE_EXTRA_STUDY_DATA; -extra->study_data = study; - -study->size = sizeof(pcre_study_data); -study->options = PCRE_STUDY_MAPPED; -memcpy(study->start_bits, start_bits, sizeof(start_bits)); - -return extra; -} - -/* End of pcre_study.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains some fixed tables that are used by more than one of the -PCRE code modules. */ - - - - -/* Table of sizes for the fixed-length opcodes. It's defined in a macro so that -the definition is next to the definition of the opcodes in internal.h. */ - -const uschar _pcre_OP_lengths[] = { OP_LENGTHS }; - - - -/************************************************* -* Tables for UTF-8 support * -*************************************************/ - -/* These are the breakpoints for different numbers of bytes in a UTF-8 -character. */ - -const int _pcre_utf8_table1[] = - { 0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff}; - -const int _pcre_utf8_table1_size = sizeof(_pcre_utf8_table1)/sizeof(int); - -/* These are the indicator bits and the mask for the data bits to set in the -first byte of a character, indexed by the number of additional bytes. */ - -const int _pcre_utf8_table2[] = { 0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc}; -const int _pcre_utf8_table3[] = { 0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01}; - -/* Table of the number of extra characters, indexed by the first character -masked with 0x3f. The highest number for a valid UTF-8 character is in fact -0x3d. */ - -const uschar _pcre_utf8_table4[] = { - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 }; - -/* This table translates Unicode property names into code values for the -ucp_findchar() function. It is used by pcretest as well as by the library -functions. */ - -const ucp_type_table _pcre_utt[] = { - { "C", 128 + ucp_C }, - { "Cc", ucp_Cc }, - { "Cf", ucp_Cf }, - { "Cn", ucp_Cn }, - { "Co", ucp_Co }, - { "Cs", ucp_Cs }, - { "L", 128 + ucp_L }, - { "Ll", ucp_Ll }, - { "Lm", ucp_Lm }, - { "Lo", ucp_Lo }, - { "Lt", ucp_Lt }, - { "Lu", ucp_Lu }, - { "M", 128 + ucp_M }, - { "Mc", ucp_Mc }, - { "Me", ucp_Me }, - { "Mn", ucp_Mn }, - { "N", 128 + ucp_N }, - { "Nd", ucp_Nd }, - { "Nl", ucp_Nl }, - { "No", ucp_No }, - { "P", 128 + ucp_P }, - { "Pc", ucp_Pc }, - { "Pd", ucp_Pd }, - { "Pe", ucp_Pe }, - { "Pf", ucp_Pf }, - { "Pi", ucp_Pi }, - { "Po", ucp_Po }, - { "Ps", ucp_Ps }, - { "S", 128 + ucp_S }, - { "Sc", ucp_Sc }, - { "Sk", ucp_Sk }, - { "Sm", ucp_Sm }, - { "So", ucp_So }, - { "Z", 128 + ucp_Z }, - { "Zl", ucp_Zl }, - { "Zp", ucp_Zp }, - { "Zs", ucp_Zs } -}; - -const int _pcre_utt_size = sizeof(_pcre_utt)/sizeof(ucp_type_table); - -/* End of pcre_tables.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains an internal function that tests a compiled pattern to -see if it was compiled with the opposite endianness. If so, it uses an -auxiliary local function to flip the appropriate bytes. */ - - - - -/************************************************* -* Flip bytes in an integer * -*************************************************/ - -/* This function is called when the magic number in a regex doesn't match, in -order to flip its bytes to see if we are dealing with a pattern that was -compiled on a host of different endianness. If so, this function is used to -flip other byte values. - -Arguments: - value the number to flip - n the number of bytes to flip (assumed to be 2 or 4) - -Returns: the flipped value -*/ - -static long int -byteflip(long int value, int n) -{ -if (n == 2) return ((value & 0x00ff) << 8) | ((value & 0xff00) >> 8); -return ((value & 0x000000ff) << 24) | - ((value & 0x0000ff00) << 8) | - ((value & 0x00ff0000) >> 8) | - ((value & 0xff000000) >> 24); -} - - - -/************************************************* -* Test for a byte-flipped compiled regex * -*************************************************/ - -/* This function is called from pcre_exec(), pcre_dfa_exec(), and also from -pcre_fullinfo(). Its job is to test whether the regex is byte-flipped - that -is, it was compiled on a system of opposite endianness. The function is called -only when the native MAGIC_NUMBER test fails. If the regex is indeed flipped, -we flip all the relevant values into a different data block, and return it. - -Arguments: - re points to the regex - study points to study data, or NULL - internal_re points to a new regex block - internal_study points to a new study block - -Returns: the new block if is is indeed a byte-flipped regex - NULL if it is not -*/ - -EXPORT real_pcre * -_pcre_try_flipped(const real_pcre *re, real_pcre *internal_re, - const pcre_study_data *study, pcre_study_data *internal_study) -{ -if (byteflip(re->magic_number, sizeof(re->magic_number)) != MAGIC_NUMBER) - return NULL; - -*internal_re = *re; /* To copy other fields */ -internal_re->size = byteflip(re->size, sizeof(re->size)); -internal_re->options = byteflip(re->options, sizeof(re->options)); -internal_re->top_bracket = - (pcre_uint16)byteflip(re->top_bracket, sizeof(re->top_bracket)); -internal_re->top_backref = - (pcre_uint16)byteflip(re->top_backref, sizeof(re->top_backref)); -internal_re->first_byte = - (pcre_uint16)byteflip(re->first_byte, sizeof(re->first_byte)); -internal_re->req_byte = - (pcre_uint16)byteflip(re->req_byte, sizeof(re->req_byte)); -internal_re->name_table_offset = - (pcre_uint16)byteflip(re->name_table_offset, sizeof(re->name_table_offset)); -internal_re->name_entry_size = - (pcre_uint16)byteflip(re->name_entry_size, sizeof(re->name_entry_size)); -internal_re->name_count = - (pcre_uint16)byteflip(re->name_count, sizeof(re->name_count)); - -if (study != NULL) - { - *internal_study = *study; /* To copy other fields */ - internal_study->size = byteflip(study->size, sizeof(study->size)); - internal_study->options = byteflip(study->options, sizeof(study->options)); - } - -return internal_re; -} - -/* End of pcre_tryflipped.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module compiles code for supporting the use of Unicode character -properties. We use the (embryonic at the time of writing) UCP library, by -including some of its files, copies of which have been put in the PCRE -distribution. There is a macro in pcre_internal.h that changes the name -ucp_findchar into _pcre_ucp_findchar. */ - - - -/************************************************* -* libucp - Unicode Property Table handler * -*************************************************/ - -/* Copyright (c) University of Cambridge 2004 */ - -/* This little library provides a fast way of obtaining the basic Unicode -properties of a character, using a compact binary tree that occupies less than -100K bytes. - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/************************************************* -* libucp - Unicode Property Table handler * -*************************************************/ - -/* Internal header file defining the layout of compact nodes in the tree. */ - -typedef struct cnode { - unsigned short int f0; - unsigned short int f1; - unsigned short int f2; -} cnode; - -/* Things for the f0 field */ - -#define f0_leftexists 0x8000 /* Left child exists */ -#define f0_typemask 0x3f00 /* Type bits */ -#define f0_typeshift 8 /* Type shift */ -#define f0_chhmask 0x00ff /* Character high bits */ - -/* Things for the f2 field */ - -#define f2_rightmask 0xf000 /* Mask for right offset bits */ -#define f2_rightshift 12 /* Shift for right offset */ -#define f2_casemask 0x0fff /* Mask for case offset */ - -/* The tree consists of a vector of structures of type cnode, with the root -node as the first element. The three short ints (16-bits) are used as follows: - -(f0) (1) The 0x8000 bit of f0 is set if a left child exists. The child's node - is the next node in the vector. - (2) The 0x4000 bits of f0 is spare. - (3) The 0x3f00 bits of f0 contain the character type; this is a number - defined by the enumeration in ucp.h (e.g. ucp_Lu). - (4) The bottom 8 bits of f0 contain the most significant byte of the - character's 24-bit codepoint. - -(f1) (1) The f1 field contains the two least significant bytes of the - codepoint. - -(f2) (1) The 0xf000 bits of f2 contain zero if there is no right child of this - node. Otherwise, they contain one plus the exponent of the power of - two of the offset to the right node (e.g. a value of 3 means 8). The - units of the offset are node items. - - (2) The 0x0fff bits of f2 contain the signed offset from this character to - its alternate cased value. They are zero if there is no such - character. - - ------------------------------------------------------------------------------ -||.|.| type (6) | ms char (8) || ls char (16) ||....| case offset (12) || ------------------------------------------------------------------------------ - | | | - | |-> spare | - | exponent of right - |-> left child exists child offset - - -The upper/lower casing information is set only for characters that come in -pairs. There are (at present) four non-one-to-one mappings in the Unicode data. -These are ignored. They are: - - 1FBE Greek Prosgegrammeni (lower, with upper -> capital iota) - 2126 Ohm - 212A Kelvin - 212B Angstrom - -Certainly for the last three, having an alternate case would seem to be a -mistake. I don't know any Greek, so cannot comment on the first one. - - -When searching the tree, proceed as follows: - -(1) Start at the first node. - -(2) Extract the character value from f1 and the bottom 8 bits of f0; - -(3) Compare with the character being sought. If equal, we are done. - -(4) If the test character is smaller, inspect the f0_leftexists flag. If it is - not set, the character is not in the tree. If it is set, move to the next - node, and go to (2). - -(5) If the test character is bigger, extract the f2_rightmask bits from f2, and - shift them right by f2_rightshift. If the result is zero, the character is - not in the tree. Otherwise, calculate the number of nodes to skip by - shifting the value 1 left by this number minus one. Go to (2). -*/ - - -/* End of internal.h */ -/* This source module is automatically generated from the Unicode -property table. See internal.h for a description of the layout. */ - -static cnode ucp_table[] = { - { 0x9a00, 0x2f1f, 0xe000 }, - { 0x8700, 0x1558, 0xd000 }, - { 0x8700, 0x0a99, 0xc000 }, - { 0x8500, 0x0435, 0xbfe0 }, - { 0x8500, 0x01ff, 0xafff }, - { 0x8500, 0x00ff, 0x9079 }, - { 0x8000, 0x007f, 0x8000 }, - { 0x9500, 0x003f, 0x7000 }, - { 0x8000, 0x001f, 0x6000 }, - { 0x8000, 0x000f, 0x5000 }, - { 0x8000, 0x0007, 0x4000 }, - { 0x8000, 0x0003, 0x3000 }, - { 0x8000, 0x0001, 0x2000 }, - { 0x0000, 0x0000, 0x0000 }, - { 0x0000, 0x0002, 0x0000 }, - { 0x8000, 0x0005, 0x2000 }, - { 0x0000, 0x0004, 0x0000 }, - { 0x0000, 0x0006, 0x0000 }, - { 0x8000, 0x000b, 0x3000 }, - { 0x8000, 0x0009, 0x2000 }, - { 0x0000, 0x0008, 0x0000 }, - { 0x0000, 0x000a, 0x0000 }, - { 0x8000, 0x000d, 0x2000 }, - { 0x0000, 0x000c, 0x0000 }, - { 0x0000, 0x000e, 0x0000 }, - { 0x8000, 0x0017, 0x4000 }, - { 0x8000, 0x0013, 0x3000 }, - { 0x8000, 0x0011, 0x2000 }, - { 0x0000, 0x0010, 0x0000 }, - { 0x0000, 0x0012, 0x0000 }, - { 0x8000, 0x0015, 0x2000 }, - { 0x0000, 0x0014, 0x0000 }, - { 0x0000, 0x0016, 0x0000 }, - { 0x8000, 0x001b, 0x3000 }, - { 0x8000, 0x0019, 0x2000 }, - { 0x0000, 0x0018, 0x0000 }, - { 0x0000, 0x001a, 0x0000 }, - { 0x8000, 0x001d, 0x2000 }, - { 0x0000, 0x001c, 0x0000 }, - { 0x0000, 0x001e, 0x0000 }, - { 0x9500, 0x002f, 0x5000 }, - { 0x9500, 0x0027, 0x4000 }, - { 0x9500, 0x0023, 0x3000 }, - { 0x9500, 0x0021, 0x2000 }, - { 0x1d00, 0x0020, 0x0000 }, - { 0x1500, 0x0022, 0x0000 }, - { 0x9500, 0x0025, 0x2000 }, - { 0x1700, 0x0024, 0x0000 }, - { 0x1500, 0x0026, 0x0000 }, - { 0x9900, 0x002b, 0x3000 }, - { 0x9200, 0x0029, 0x2000 }, - { 0x1600, 0x0028, 0x0000 }, - { 0x1500, 0x002a, 0x0000 }, - { 0x9100, 0x002d, 0x2000 }, - { 0x1500, 0x002c, 0x0000 }, - { 0x1500, 0x002e, 0x0000 }, - { 0x8d00, 0x0037, 0x4000 }, - { 0x8d00, 0x0033, 0x3000 }, - { 0x8d00, 0x0031, 0x2000 }, - { 0x0d00, 0x0030, 0x0000 }, - { 0x0d00, 0x0032, 0x0000 }, - { 0x8d00, 0x0035, 0x2000 }, - { 0x0d00, 0x0034, 0x0000 }, - { 0x0d00, 0x0036, 0x0000 }, - { 0x9500, 0x003b, 0x3000 }, - { 0x8d00, 0x0039, 0x2000 }, - { 0x0d00, 0x0038, 0x0000 }, - { 0x1500, 0x003a, 0x0000 }, - { 0x9900, 0x003d, 0x2000 }, - { 0x1900, 0x003c, 0x0000 }, - { 0x1900, 0x003e, 0x0000 }, - { 0x9000, 0x005f, 0x6000 }, - { 0x8900, 0x004f, 0x5020 }, - { 0x8900, 0x0047, 0x4020 }, - { 0x8900, 0x0043, 0x3020 }, - { 0x8900, 0x0041, 0x2020 }, - { 0x1500, 0x0040, 0x0000 }, - { 0x0900, 0x0042, 0x0020 }, - { 0x8900, 0x0045, 0x2020 }, - { 0x0900, 0x0044, 0x0020 }, - { 0x0900, 0x0046, 0x0020 }, - { 0x8900, 0x004b, 0x3020 }, - { 0x8900, 0x0049, 0x2020 }, - { 0x0900, 0x0048, 0x0020 }, - { 0x0900, 0x004a, 0x0020 }, - { 0x8900, 0x004d, 0x2020 }, - { 0x0900, 0x004c, 0x0020 }, - { 0x0900, 0x004e, 0x0020 }, - { 0x8900, 0x0057, 0x4020 }, - { 0x8900, 0x0053, 0x3020 }, - { 0x8900, 0x0051, 0x2020 }, - { 0x0900, 0x0050, 0x0020 }, - { 0x0900, 0x0052, 0x0020 }, - { 0x8900, 0x0055, 0x2020 }, - { 0x0900, 0x0054, 0x0020 }, - { 0x0900, 0x0056, 0x0020 }, - { 0x9600, 0x005b, 0x3000 }, - { 0x8900, 0x0059, 0x2020 }, - { 0x0900, 0x0058, 0x0020 }, - { 0x0900, 0x005a, 0x0020 }, - { 0x9200, 0x005d, 0x2000 }, - { 0x1500, 0x005c, 0x0000 }, - { 0x1800, 0x005e, 0x0000 }, - { 0x8500, 0x006f, 0x5fe0 }, - { 0x8500, 0x0067, 0x4fe0 }, - { 0x8500, 0x0063, 0x3fe0 }, - { 0x8500, 0x0061, 0x2fe0 }, - { 0x1800, 0x0060, 0x0000 }, - { 0x0500, 0x0062, 0x0fe0 }, - { 0x8500, 0x0065, 0x2fe0 }, - { 0x0500, 0x0064, 0x0fe0 }, - { 0x0500, 0x0066, 0x0fe0 }, - { 0x8500, 0x006b, 0x3fe0 }, - { 0x8500, 0x0069, 0x2fe0 }, - { 0x0500, 0x0068, 0x0fe0 }, - { 0x0500, 0x006a, 0x0fe0 }, - { 0x8500, 0x006d, 0x2fe0 }, - { 0x0500, 0x006c, 0x0fe0 }, - { 0x0500, 0x006e, 0x0fe0 }, - { 0x8500, 0x0077, 0x4fe0 }, - { 0x8500, 0x0073, 0x3fe0 }, - { 0x8500, 0x0071, 0x2fe0 }, - { 0x0500, 0x0070, 0x0fe0 }, - { 0x0500, 0x0072, 0x0fe0 }, - { 0x8500, 0x0075, 0x2fe0 }, - { 0x0500, 0x0074, 0x0fe0 }, - { 0x0500, 0x0076, 0x0fe0 }, - { 0x9600, 0x007b, 0x3000 }, - { 0x8500, 0x0079, 0x2fe0 }, - { 0x0500, 0x0078, 0x0fe0 }, - { 0x0500, 0x007a, 0x0fe0 }, - { 0x9200, 0x007d, 0x2000 }, - { 0x1900, 0x007c, 0x0000 }, - { 0x1900, 0x007e, 0x0000 }, - { 0x9500, 0x00bf, 0x7000 }, - { 0x8000, 0x009f, 0x6000 }, - { 0x8000, 0x008f, 0x5000 }, - { 0x8000, 0x0087, 0x4000 }, - { 0x8000, 0x0083, 0x3000 }, - { 0x8000, 0x0081, 0x2000 }, - { 0x0000, 0x0080, 0x0000 }, - { 0x0000, 0x0082, 0x0000 }, - { 0x8000, 0x0085, 0x2000 }, - { 0x0000, 0x0084, 0x0000 }, - { 0x0000, 0x0086, 0x0000 }, - { 0x8000, 0x008b, 0x3000 }, - { 0x8000, 0x0089, 0x2000 }, - { 0x0000, 0x0088, 0x0000 }, - { 0x0000, 0x008a, 0x0000 }, - { 0x8000, 0x008d, 0x2000 }, - { 0x0000, 0x008c, 0x0000 }, - { 0x0000, 0x008e, 0x0000 }, - { 0x8000, 0x0097, 0x4000 }, - { 0x8000, 0x0093, 0x3000 }, - { 0x8000, 0x0091, 0x2000 }, - { 0x0000, 0x0090, 0x0000 }, - { 0x0000, 0x0092, 0x0000 }, - { 0x8000, 0x0095, 0x2000 }, - { 0x0000, 0x0094, 0x0000 }, - { 0x0000, 0x0096, 0x0000 }, - { 0x8000, 0x009b, 0x3000 }, - { 0x8000, 0x0099, 0x2000 }, - { 0x0000, 0x0098, 0x0000 }, - { 0x0000, 0x009a, 0x0000 }, - { 0x8000, 0x009d, 0x2000 }, - { 0x0000, 0x009c, 0x0000 }, - { 0x0000, 0x009e, 0x0000 }, - { 0x9800, 0x00af, 0x5000 }, - { 0x9a00, 0x00a7, 0x4000 }, - { 0x9700, 0x00a3, 0x3000 }, - { 0x9500, 0x00a1, 0x2000 }, - { 0x1d00, 0x00a0, 0x0000 }, - { 0x1700, 0x00a2, 0x0000 }, - { 0x9700, 0x00a5, 0x2000 }, - { 0x1700, 0x00a4, 0x0000 }, - { 0x1a00, 0x00a6, 0x0000 }, - { 0x9400, 0x00ab, 0x3000 }, - { 0x9a00, 0x00a9, 0x2000 }, - { 0x1800, 0x00a8, 0x0000 }, - { 0x0500, 0x00aa, 0x0000 }, - { 0x8100, 0x00ad, 0x2000 }, - { 0x1900, 0x00ac, 0x0000 }, - { 0x1a00, 0x00ae, 0x0000 }, - { 0x9500, 0x00b7, 0x4000 }, - { 0x8f00, 0x00b3, 0x3000 }, - { 0x9900, 0x00b1, 0x2000 }, - { 0x1a00, 0x00b0, 0x0000 }, - { 0x0f00, 0x00b2, 0x0000 }, - { 0x8500, 0x00b5, 0x22e7 }, - { 0x1800, 0x00b4, 0x0000 }, - { 0x1a00, 0x00b6, 0x0000 }, - { 0x9300, 0x00bb, 0x3000 }, - { 0x8f00, 0x00b9, 0x2000 }, - { 0x1800, 0x00b8, 0x0000 }, - { 0x0500, 0x00ba, 0x0000 }, - { 0x8f00, 0x00bd, 0x2000 }, - { 0x0f00, 0x00bc, 0x0000 }, - { 0x0f00, 0x00be, 0x0000 }, - { 0x8500, 0x00df, 0x6000 }, - { 0x8900, 0x00cf, 0x5020 }, - { 0x8900, 0x00c7, 0x4020 }, - { 0x8900, 0x00c3, 0x3020 }, - { 0x8900, 0x00c1, 0x2020 }, - { 0x0900, 0x00c0, 0x0020 }, - { 0x0900, 0x00c2, 0x0020 }, - { 0x8900, 0x00c5, 0x2020 }, - { 0x0900, 0x00c4, 0x0020 }, - { 0x0900, 0x00c6, 0x0020 }, - { 0x8900, 0x00cb, 0x3020 }, - { 0x8900, 0x00c9, 0x2020 }, - { 0x0900, 0x00c8, 0x0020 }, - { 0x0900, 0x00ca, 0x0020 }, - { 0x8900, 0x00cd, 0x2020 }, - { 0x0900, 0x00cc, 0x0020 }, - { 0x0900, 0x00ce, 0x0020 }, - { 0x9900, 0x00d7, 0x4000 }, - { 0x8900, 0x00d3, 0x3020 }, - { 0x8900, 0x00d1, 0x2020 }, - { 0x0900, 0x00d0, 0x0020 }, - { 0x0900, 0x00d2, 0x0020 }, - { 0x8900, 0x00d5, 0x2020 }, - { 0x0900, 0x00d4, 0x0020 }, - { 0x0900, 0x00d6, 0x0020 }, - { 0x8900, 0x00db, 0x3020 }, - { 0x8900, 0x00d9, 0x2020 }, - { 0x0900, 0x00d8, 0x0020 }, - { 0x0900, 0x00da, 0x0020 }, - { 0x8900, 0x00dd, 0x2020 }, - { 0x0900, 0x00dc, 0x0020 }, - { 0x0900, 0x00de, 0x0020 }, - { 0x8500, 0x00ef, 0x5fe0 }, - { 0x8500, 0x00e7, 0x4fe0 }, - { 0x8500, 0x00e3, 0x3fe0 }, - { 0x8500, 0x00e1, 0x2fe0 }, - { 0x0500, 0x00e0, 0x0fe0 }, - { 0x0500, 0x00e2, 0x0fe0 }, - { 0x8500, 0x00e5, 0x2fe0 }, - { 0x0500, 0x00e4, 0x0fe0 }, - { 0x0500, 0x00e6, 0x0fe0 }, - { 0x8500, 0x00eb, 0x3fe0 }, - { 0x8500, 0x00e9, 0x2fe0 }, - { 0x0500, 0x00e8, 0x0fe0 }, - { 0x0500, 0x00ea, 0x0fe0 }, - { 0x8500, 0x00ed, 0x2fe0 }, - { 0x0500, 0x00ec, 0x0fe0 }, - { 0x0500, 0x00ee, 0x0fe0 }, - { 0x9900, 0x00f7, 0x4000 }, - { 0x8500, 0x00f3, 0x3fe0 }, - { 0x8500, 0x00f1, 0x2fe0 }, - { 0x0500, 0x00f0, 0x0fe0 }, - { 0x0500, 0x00f2, 0x0fe0 }, - { 0x8500, 0x00f5, 0x2fe0 }, - { 0x0500, 0x00f4, 0x0fe0 }, - { 0x0500, 0x00f6, 0x0fe0 }, - { 0x8500, 0x00fb, 0x3fe0 }, - { 0x8500, 0x00f9, 0x2fe0 }, - { 0x0500, 0x00f8, 0x0fe0 }, - { 0x0500, 0x00fa, 0x0fe0 }, - { 0x8500, 0x00fd, 0x2fe0 }, - { 0x0500, 0x00fc, 0x0fe0 }, - { 0x0500, 0x00fe, 0x0fe0 }, - { 0x8500, 0x017f, 0x8ed4 }, - { 0x8900, 0x013f, 0x7001 }, - { 0x8500, 0x011f, 0x6fff }, - { 0x8500, 0x010f, 0x5fff }, - { 0x8500, 0x0107, 0x4fff }, - { 0x8500, 0x0103, 0x3fff }, - { 0x8500, 0x0101, 0x2fff }, - { 0x0900, 0x0100, 0x0001 }, - { 0x0900, 0x0102, 0x0001 }, - { 0x8500, 0x0105, 0x2fff }, - { 0x0900, 0x0104, 0x0001 }, - { 0x0900, 0x0106, 0x0001 }, - { 0x8500, 0x010b, 0x3fff }, - { 0x8500, 0x0109, 0x2fff }, - { 0x0900, 0x0108, 0x0001 }, - { 0x0900, 0x010a, 0x0001 }, - { 0x8500, 0x010d, 0x2fff }, - { 0x0900, 0x010c, 0x0001 }, - { 0x0900, 0x010e, 0x0001 }, - { 0x8500, 0x0117, 0x4fff }, - { 0x8500, 0x0113, 0x3fff }, - { 0x8500, 0x0111, 0x2fff }, - { 0x0900, 0x0110, 0x0001 }, - { 0x0900, 0x0112, 0x0001 }, - { 0x8500, 0x0115, 0x2fff }, - { 0x0900, 0x0114, 0x0001 }, - { 0x0900, 0x0116, 0x0001 }, - { 0x8500, 0x011b, 0x3fff }, - { 0x8500, 0x0119, 0x2fff }, - { 0x0900, 0x0118, 0x0001 }, - { 0x0900, 0x011a, 0x0001 }, - { 0x8500, 0x011d, 0x2fff }, - { 0x0900, 0x011c, 0x0001 }, - { 0x0900, 0x011e, 0x0001 }, - { 0x8500, 0x012f, 0x5fff }, - { 0x8500, 0x0127, 0x4fff }, - { 0x8500, 0x0123, 0x3fff }, - { 0x8500, 0x0121, 0x2fff }, - { 0x0900, 0x0120, 0x0001 }, - { 0x0900, 0x0122, 0x0001 }, - { 0x8500, 0x0125, 0x2fff }, - { 0x0900, 0x0124, 0x0001 }, - { 0x0900, 0x0126, 0x0001 }, - { 0x8500, 0x012b, 0x3fff }, - { 0x8500, 0x0129, 0x2fff }, - { 0x0900, 0x0128, 0x0001 }, - { 0x0900, 0x012a, 0x0001 }, - { 0x8500, 0x012d, 0x2fff }, - { 0x0900, 0x012c, 0x0001 }, - { 0x0900, 0x012e, 0x0001 }, - { 0x8500, 0x0137, 0x4fff }, - { 0x8500, 0x0133, 0x3fff }, - { 0x8500, 0x0131, 0x2f18 }, - { 0x0900, 0x0130, 0x0f39 }, - { 0x0900, 0x0132, 0x0001 }, - { 0x8500, 0x0135, 0x2fff }, - { 0x0900, 0x0134, 0x0001 }, - { 0x0900, 0x0136, 0x0001 }, - { 0x8900, 0x013b, 0x3001 }, - { 0x8900, 0x0139, 0x2001 }, - { 0x0500, 0x0138, 0x0000 }, - { 0x0500, 0x013a, 0x0fff }, - { 0x8900, 0x013d, 0x2001 }, - { 0x0500, 0x013c, 0x0fff }, - { 0x0500, 0x013e, 0x0fff }, - { 0x8500, 0x015f, 0x6fff }, - { 0x8500, 0x014f, 0x5fff }, - { 0x8900, 0x0147, 0x4001 }, - { 0x8900, 0x0143, 0x3001 }, - { 0x8900, 0x0141, 0x2001 }, - { 0x0500, 0x0140, 0x0fff }, - { 0x0500, 0x0142, 0x0fff }, - { 0x8900, 0x0145, 0x2001 }, - { 0x0500, 0x0144, 0x0fff }, - { 0x0500, 0x0146, 0x0fff }, - { 0x8500, 0x014b, 0x3fff }, - { 0x8500, 0x0149, 0x2000 }, - { 0x0500, 0x0148, 0x0fff }, - { 0x0900, 0x014a, 0x0001 }, - { 0x8500, 0x014d, 0x2fff }, - { 0x0900, 0x014c, 0x0001 }, - { 0x0900, 0x014e, 0x0001 }, - { 0x8500, 0x0157, 0x4fff }, - { 0x8500, 0x0153, 0x3fff }, - { 0x8500, 0x0151, 0x2fff }, - { 0x0900, 0x0150, 0x0001 }, - { 0x0900, 0x0152, 0x0001 }, - { 0x8500, 0x0155, 0x2fff }, - { 0x0900, 0x0154, 0x0001 }, - { 0x0900, 0x0156, 0x0001 }, - { 0x8500, 0x015b, 0x3fff }, - { 0x8500, 0x0159, 0x2fff }, - { 0x0900, 0x0158, 0x0001 }, - { 0x0900, 0x015a, 0x0001 }, - { 0x8500, 0x015d, 0x2fff }, - { 0x0900, 0x015c, 0x0001 }, - { 0x0900, 0x015e, 0x0001 }, - { 0x8500, 0x016f, 0x5fff }, - { 0x8500, 0x0167, 0x4fff }, - { 0x8500, 0x0163, 0x3fff }, - { 0x8500, 0x0161, 0x2fff }, - { 0x0900, 0x0160, 0x0001 }, - { 0x0900, 0x0162, 0x0001 }, - { 0x8500, 0x0165, 0x2fff }, - { 0x0900, 0x0164, 0x0001 }, - { 0x0900, 0x0166, 0x0001 }, - { 0x8500, 0x016b, 0x3fff }, - { 0x8500, 0x0169, 0x2fff }, - { 0x0900, 0x0168, 0x0001 }, - { 0x0900, 0x016a, 0x0001 }, - { 0x8500, 0x016d, 0x2fff }, - { 0x0900, 0x016c, 0x0001 }, - { 0x0900, 0x016e, 0x0001 }, - { 0x8500, 0x0177, 0x4fff }, - { 0x8500, 0x0173, 0x3fff }, - { 0x8500, 0x0171, 0x2fff }, - { 0x0900, 0x0170, 0x0001 }, - { 0x0900, 0x0172, 0x0001 }, - { 0x8500, 0x0175, 0x2fff }, - { 0x0900, 0x0174, 0x0001 }, - { 0x0900, 0x0176, 0x0001 }, - { 0x8900, 0x017b, 0x3001 }, - { 0x8900, 0x0179, 0x2001 }, - { 0x0900, 0x0178, 0x0f87 }, - { 0x0500, 0x017a, 0x0fff }, - { 0x8900, 0x017d, 0x2001 }, - { 0x0500, 0x017c, 0x0fff }, - { 0x0500, 0x017e, 0x0fff }, - { 0x8500, 0x01bf, 0x7038 }, - { 0x8900, 0x019f, 0x60d6 }, - { 0x8900, 0x018f, 0x50ca }, - { 0x8900, 0x0187, 0x4001 }, - { 0x8500, 0x0183, 0x3fff }, - { 0x8900, 0x0181, 0x20d2 }, - { 0x0500, 0x0180, 0x0000 }, - { 0x0900, 0x0182, 0x0001 }, - { 0x8500, 0x0185, 0x2fff }, - { 0x0900, 0x0184, 0x0001 }, - { 0x0900, 0x0186, 0x00ce }, - { 0x8900, 0x018b, 0x3001 }, - { 0x8900, 0x0189, 0x20cd }, - { 0x0500, 0x0188, 0x0fff }, - { 0x0900, 0x018a, 0x00cd }, - { 0x8500, 0x018d, 0x2000 }, - { 0x0500, 0x018c, 0x0fff }, - { 0x0900, 0x018e, 0x004f }, - { 0x8900, 0x0197, 0x40d1 }, - { 0x8900, 0x0193, 0x30cd }, - { 0x8900, 0x0191, 0x2001 }, - { 0x0900, 0x0190, 0x00cb }, - { 0x0500, 0x0192, 0x0fff }, - { 0x8500, 0x0195, 0x2061 }, - { 0x0900, 0x0194, 0x00cf }, - { 0x0900, 0x0196, 0x00d3 }, - { 0x8500, 0x019b, 0x3000 }, - { 0x8500, 0x0199, 0x2fff }, - { 0x0900, 0x0198, 0x0001 }, - { 0x0500, 0x019a, 0x0000 }, - { 0x8900, 0x019d, 0x20d5 }, - { 0x0900, 0x019c, 0x00d3 }, - { 0x0500, 0x019e, 0x0082 }, - { 0x8900, 0x01af, 0x5001 }, - { 0x8900, 0x01a7, 0x4001 }, - { 0x8500, 0x01a3, 0x3fff }, - { 0x8500, 0x01a1, 0x2fff }, - { 0x0900, 0x01a0, 0x0001 }, - { 0x0900, 0x01a2, 0x0001 }, - { 0x8500, 0x01a5, 0x2fff }, - { 0x0900, 0x01a4, 0x0001 }, - { 0x0900, 0x01a6, 0x00da }, - { 0x8500, 0x01ab, 0x3000 }, - { 0x8900, 0x01a9, 0x20da }, - { 0x0500, 0x01a8, 0x0fff }, - { 0x0500, 0x01aa, 0x0000 }, - { 0x8500, 0x01ad, 0x2fff }, - { 0x0900, 0x01ac, 0x0001 }, - { 0x0900, 0x01ae, 0x00da }, - { 0x8900, 0x01b7, 0x40db }, - { 0x8900, 0x01b3, 0x3001 }, - { 0x8900, 0x01b1, 0x20d9 }, - { 0x0500, 0x01b0, 0x0fff }, - { 0x0900, 0x01b2, 0x00d9 }, - { 0x8900, 0x01b5, 0x2001 }, - { 0x0500, 0x01b4, 0x0fff }, - { 0x0500, 0x01b6, 0x0fff }, - { 0x8700, 0x01bb, 0x3000 }, - { 0x8500, 0x01b9, 0x2fff }, - { 0x0900, 0x01b8, 0x0001 }, - { 0x0500, 0x01ba, 0x0000 }, - { 0x8500, 0x01bd, 0x2fff }, - { 0x0900, 0x01bc, 0x0001 }, - { 0x0500, 0x01be, 0x0000 }, - { 0x8500, 0x01df, 0x6fff }, - { 0x8900, 0x01cf, 0x5001 }, - { 0x8900, 0x01c7, 0x4002 }, - { 0x8700, 0x01c3, 0x3000 }, - { 0x8700, 0x01c1, 0x2000 }, - { 0x0700, 0x01c0, 0x0000 }, - { 0x0700, 0x01c2, 0x0000 }, - { 0x8800, 0x01c5, 0x2000 }, - { 0x0900, 0x01c4, 0x0002 }, - { 0x0500, 0x01c6, 0x0ffe }, - { 0x8800, 0x01cb, 0x3000 }, - { 0x8500, 0x01c9, 0x2ffe }, - { 0x0800, 0x01c8, 0x0000 }, - { 0x0900, 0x01ca, 0x0002 }, - { 0x8900, 0x01cd, 0x2001 }, - { 0x0500, 0x01cc, 0x0ffe }, - { 0x0500, 0x01ce, 0x0fff }, - { 0x8900, 0x01d7, 0x4001 }, - { 0x8900, 0x01d3, 0x3001 }, - { 0x8900, 0x01d1, 0x2001 }, - { 0x0500, 0x01d0, 0x0fff }, - { 0x0500, 0x01d2, 0x0fff }, - { 0x8900, 0x01d5, 0x2001 }, - { 0x0500, 0x01d4, 0x0fff }, - { 0x0500, 0x01d6, 0x0fff }, - { 0x8900, 0x01db, 0x3001 }, - { 0x8900, 0x01d9, 0x2001 }, - { 0x0500, 0x01d8, 0x0fff }, - { 0x0500, 0x01da, 0x0fff }, - { 0x8500, 0x01dd, 0x2fb1 }, - { 0x0500, 0x01dc, 0x0fff }, - { 0x0900, 0x01de, 0x0001 }, - { 0x8500, 0x01ef, 0x5fff }, - { 0x8500, 0x01e7, 0x4fff }, - { 0x8500, 0x01e3, 0x3fff }, - { 0x8500, 0x01e1, 0x2fff }, - { 0x0900, 0x01e0, 0x0001 }, - { 0x0900, 0x01e2, 0x0001 }, - { 0x8500, 0x01e5, 0x2fff }, - { 0x0900, 0x01e4, 0x0001 }, - { 0x0900, 0x01e6, 0x0001 }, - { 0x8500, 0x01eb, 0x3fff }, - { 0x8500, 0x01e9, 0x2fff }, - { 0x0900, 0x01e8, 0x0001 }, - { 0x0900, 0x01ea, 0x0001 }, - { 0x8500, 0x01ed, 0x2fff }, - { 0x0900, 0x01ec, 0x0001 }, - { 0x0900, 0x01ee, 0x0001 }, - { 0x8900, 0x01f7, 0x4fc8 }, - { 0x8500, 0x01f3, 0x3ffe }, - { 0x8900, 0x01f1, 0x2002 }, - { 0x0500, 0x01f0, 0x0000 }, - { 0x0800, 0x01f2, 0x0000 }, - { 0x8500, 0x01f5, 0x2fff }, - { 0x0900, 0x01f4, 0x0001 }, - { 0x0900, 0x01f6, 0x0f9f }, - { 0x8500, 0x01fb, 0x3fff }, - { 0x8500, 0x01f9, 0x2fff }, - { 0x0900, 0x01f8, 0x0001 }, - { 0x0900, 0x01fa, 0x0001 }, - { 0x8500, 0x01fd, 0x2fff }, - { 0x0900, 0x01fc, 0x0001 }, - { 0x0900, 0x01fe, 0x0001 }, - { 0x8c00, 0x0318, 0x9000 }, - { 0x8500, 0x0298, 0x8000 }, - { 0x8500, 0x0258, 0x7000 }, - { 0x8500, 0x021f, 0x6fff }, - { 0x8500, 0x020f, 0x5fff }, - { 0x8500, 0x0207, 0x4fff }, - { 0x8500, 0x0203, 0x3fff }, - { 0x8500, 0x0201, 0x2fff }, - { 0x0900, 0x0200, 0x0001 }, - { 0x0900, 0x0202, 0x0001 }, - { 0x8500, 0x0205, 0x2fff }, - { 0x0900, 0x0204, 0x0001 }, - { 0x0900, 0x0206, 0x0001 }, - { 0x8500, 0x020b, 0x3fff }, - { 0x8500, 0x0209, 0x2fff }, - { 0x0900, 0x0208, 0x0001 }, - { 0x0900, 0x020a, 0x0001 }, - { 0x8500, 0x020d, 0x2fff }, - { 0x0900, 0x020c, 0x0001 }, - { 0x0900, 0x020e, 0x0001 }, - { 0x8500, 0x0217, 0x4fff }, - { 0x8500, 0x0213, 0x3fff }, - { 0x8500, 0x0211, 0x2fff }, - { 0x0900, 0x0210, 0x0001 }, - { 0x0900, 0x0212, 0x0001 }, - { 0x8500, 0x0215, 0x2fff }, - { 0x0900, 0x0214, 0x0001 }, - { 0x0900, 0x0216, 0x0001 }, - { 0x8500, 0x021b, 0x3fff }, - { 0x8500, 0x0219, 0x2fff }, - { 0x0900, 0x0218, 0x0001 }, - { 0x0900, 0x021a, 0x0001 }, - { 0x8500, 0x021d, 0x2fff }, - { 0x0900, 0x021c, 0x0001 }, - { 0x0900, 0x021e, 0x0001 }, - { 0x8500, 0x022f, 0x5fff }, - { 0x8500, 0x0227, 0x4fff }, - { 0x8500, 0x0223, 0x3fff }, - { 0x8500, 0x0221, 0x2000 }, - { 0x0900, 0x0220, 0x0f7e }, - { 0x0900, 0x0222, 0x0001 }, - { 0x8500, 0x0225, 0x2fff }, - { 0x0900, 0x0224, 0x0001 }, - { 0x0900, 0x0226, 0x0001 }, - { 0x8500, 0x022b, 0x3fff }, - { 0x8500, 0x0229, 0x2fff }, - { 0x0900, 0x0228, 0x0001 }, - { 0x0900, 0x022a, 0x0001 }, - { 0x8500, 0x022d, 0x2fff }, - { 0x0900, 0x022c, 0x0001 }, - { 0x0900, 0x022e, 0x0001 }, - { 0x8500, 0x0250, 0x4000 }, - { 0x8500, 0x0233, 0x3fff }, - { 0x8500, 0x0231, 0x2fff }, - { 0x0900, 0x0230, 0x0001 }, - { 0x0900, 0x0232, 0x0001 }, - { 0x8500, 0x0235, 0x2000 }, - { 0x0500, 0x0234, 0x0000 }, - { 0x0500, 0x0236, 0x0000 }, - { 0x8500, 0x0254, 0x3f32 }, - { 0x8500, 0x0252, 0x2000 }, - { 0x0500, 0x0251, 0x0000 }, - { 0x0500, 0x0253, 0x0f2e }, - { 0x8500, 0x0256, 0x2f33 }, - { 0x0500, 0x0255, 0x0000 }, - { 0x0500, 0x0257, 0x0f33 }, - { 0x8500, 0x0278, 0x6000 }, - { 0x8500, 0x0268, 0x5f2f }, - { 0x8500, 0x0260, 0x4f33 }, - { 0x8500, 0x025c, 0x3000 }, - { 0x8500, 0x025a, 0x2000 }, - { 0x0500, 0x0259, 0x0f36 }, - { 0x0500, 0x025b, 0x0f35 }, - { 0x8500, 0x025e, 0x2000 }, - { 0x0500, 0x025d, 0x0000 }, - { 0x0500, 0x025f, 0x0000 }, - { 0x8500, 0x0264, 0x3000 }, - { 0x8500, 0x0262, 0x2000 }, - { 0x0500, 0x0261, 0x0000 }, - { 0x0500, 0x0263, 0x0f31 }, - { 0x8500, 0x0266, 0x2000 }, - { 0x0500, 0x0265, 0x0000 }, - { 0x0500, 0x0267, 0x0000 }, - { 0x8500, 0x0270, 0x4000 }, - { 0x8500, 0x026c, 0x3000 }, - { 0x8500, 0x026a, 0x2000 }, - { 0x0500, 0x0269, 0x0f2d }, - { 0x0500, 0x026b, 0x0000 }, - { 0x8500, 0x026e, 0x2000 }, - { 0x0500, 0x026d, 0x0000 }, - { 0x0500, 0x026f, 0x0f2d }, - { 0x8500, 0x0274, 0x3000 }, - { 0x8500, 0x0272, 0x2f2b }, - { 0x0500, 0x0271, 0x0000 }, - { 0x0500, 0x0273, 0x0000 }, - { 0x8500, 0x0276, 0x2000 }, - { 0x0500, 0x0275, 0x0f2a }, - { 0x0500, 0x0277, 0x0000 }, - { 0x8500, 0x0288, 0x5f26 }, - { 0x8500, 0x0280, 0x4f26 }, - { 0x8500, 0x027c, 0x3000 }, - { 0x8500, 0x027a, 0x2000 }, - { 0x0500, 0x0279, 0x0000 }, - { 0x0500, 0x027b, 0x0000 }, - { 0x8500, 0x027e, 0x2000 }, - { 0x0500, 0x027d, 0x0000 }, - { 0x0500, 0x027f, 0x0000 }, - { 0x8500, 0x0284, 0x3000 }, - { 0x8500, 0x0282, 0x2000 }, - { 0x0500, 0x0281, 0x0000 }, - { 0x0500, 0x0283, 0x0f26 }, - { 0x8500, 0x0286, 0x2000 }, - { 0x0500, 0x0285, 0x0000 }, - { 0x0500, 0x0287, 0x0000 }, - { 0x8500, 0x0290, 0x4000 }, - { 0x8500, 0x028c, 0x3000 }, - { 0x8500, 0x028a, 0x2f27 }, - { 0x0500, 0x0289, 0x0000 }, - { 0x0500, 0x028b, 0x0f27 }, - { 0x8500, 0x028e, 0x2000 }, - { 0x0500, 0x028d, 0x0000 }, - { 0x0500, 0x028f, 0x0000 }, - { 0x8500, 0x0294, 0x3000 }, - { 0x8500, 0x0292, 0x2f25 }, - { 0x0500, 0x0291, 0x0000 }, - { 0x0500, 0x0293, 0x0000 }, - { 0x8500, 0x0296, 0x2000 }, - { 0x0500, 0x0295, 0x0000 }, - { 0x0500, 0x0297, 0x0000 }, - { 0x9800, 0x02d8, 0x7000 }, - { 0x8600, 0x02b8, 0x6000 }, - { 0x8500, 0x02a8, 0x5000 }, - { 0x8500, 0x02a0, 0x4000 }, - { 0x8500, 0x029c, 0x3000 }, - { 0x8500, 0x029a, 0x2000 }, - { 0x0500, 0x0299, 0x0000 }, - { 0x0500, 0x029b, 0x0000 }, - { 0x8500, 0x029e, 0x2000 }, - { 0x0500, 0x029d, 0x0000 }, - { 0x0500, 0x029f, 0x0000 }, - { 0x8500, 0x02a4, 0x3000 }, - { 0x8500, 0x02a2, 0x2000 }, - { 0x0500, 0x02a1, 0x0000 }, - { 0x0500, 0x02a3, 0x0000 }, - { 0x8500, 0x02a6, 0x2000 }, - { 0x0500, 0x02a5, 0x0000 }, - { 0x0500, 0x02a7, 0x0000 }, - { 0x8600, 0x02b0, 0x4000 }, - { 0x8500, 0x02ac, 0x3000 }, - { 0x8500, 0x02aa, 0x2000 }, - { 0x0500, 0x02a9, 0x0000 }, - { 0x0500, 0x02ab, 0x0000 }, - { 0x8500, 0x02ae, 0x2000 }, - { 0x0500, 0x02ad, 0x0000 }, - { 0x0500, 0x02af, 0x0000 }, - { 0x8600, 0x02b4, 0x3000 }, - { 0x8600, 0x02b2, 0x2000 }, - { 0x0600, 0x02b1, 0x0000 }, - { 0x0600, 0x02b3, 0x0000 }, - { 0x8600, 0x02b6, 0x2000 }, - { 0x0600, 0x02b5, 0x0000 }, - { 0x0600, 0x02b7, 0x0000 }, - { 0x8600, 0x02c8, 0x5000 }, - { 0x8600, 0x02c0, 0x4000 }, - { 0x8600, 0x02bc, 0x3000 }, - { 0x8600, 0x02ba, 0x2000 }, - { 0x0600, 0x02b9, 0x0000 }, - { 0x0600, 0x02bb, 0x0000 }, - { 0x8600, 0x02be, 0x2000 }, - { 0x0600, 0x02bd, 0x0000 }, - { 0x0600, 0x02bf, 0x0000 }, - { 0x9800, 0x02c4, 0x3000 }, - { 0x9800, 0x02c2, 0x2000 }, - { 0x0600, 0x02c1, 0x0000 }, - { 0x1800, 0x02c3, 0x0000 }, - { 0x8600, 0x02c6, 0x2000 }, - { 0x1800, 0x02c5, 0x0000 }, - { 0x0600, 0x02c7, 0x0000 }, - { 0x8600, 0x02d0, 0x4000 }, - { 0x8600, 0x02cc, 0x3000 }, - { 0x8600, 0x02ca, 0x2000 }, - { 0x0600, 0x02c9, 0x0000 }, - { 0x0600, 0x02cb, 0x0000 }, - { 0x8600, 0x02ce, 0x2000 }, - { 0x0600, 0x02cd, 0x0000 }, - { 0x0600, 0x02cf, 0x0000 }, - { 0x9800, 0x02d4, 0x3000 }, - { 0x9800, 0x02d2, 0x2000 }, - { 0x0600, 0x02d1, 0x0000 }, - { 0x1800, 0x02d3, 0x0000 }, - { 0x9800, 0x02d6, 0x2000 }, - { 0x1800, 0x02d5, 0x0000 }, - { 0x1800, 0x02d7, 0x0000 }, - { 0x9800, 0x02f8, 0x6000 }, - { 0x9800, 0x02e8, 0x5000 }, - { 0x8600, 0x02e0, 0x4000 }, - { 0x9800, 0x02dc, 0x3000 }, - { 0x9800, 0x02da, 0x2000 }, - { 0x1800, 0x02d9, 0x0000 }, - { 0x1800, 0x02db, 0x0000 }, - { 0x9800, 0x02de, 0x2000 }, - { 0x1800, 0x02dd, 0x0000 }, - { 0x1800, 0x02df, 0x0000 }, - { 0x8600, 0x02e4, 0x3000 }, - { 0x8600, 0x02e2, 0x2000 }, - { 0x0600, 0x02e1, 0x0000 }, - { 0x0600, 0x02e3, 0x0000 }, - { 0x9800, 0x02e6, 0x2000 }, - { 0x1800, 0x02e5, 0x0000 }, - { 0x1800, 0x02e7, 0x0000 }, - { 0x9800, 0x02f0, 0x4000 }, - { 0x9800, 0x02ec, 0x3000 }, - { 0x9800, 0x02ea, 0x2000 }, - { 0x1800, 0x02e9, 0x0000 }, - { 0x1800, 0x02eb, 0x0000 }, - { 0x8600, 0x02ee, 0x2000 }, - { 0x1800, 0x02ed, 0x0000 }, - { 0x1800, 0x02ef, 0x0000 }, - { 0x9800, 0x02f4, 0x3000 }, - { 0x9800, 0x02f2, 0x2000 }, - { 0x1800, 0x02f1, 0x0000 }, - { 0x1800, 0x02f3, 0x0000 }, - { 0x9800, 0x02f6, 0x2000 }, - { 0x1800, 0x02f5, 0x0000 }, - { 0x1800, 0x02f7, 0x0000 }, - { 0x8c00, 0x0308, 0x5000 }, - { 0x8c00, 0x0300, 0x4000 }, - { 0x9800, 0x02fc, 0x3000 }, - { 0x9800, 0x02fa, 0x2000 }, - { 0x1800, 0x02f9, 0x0000 }, - { 0x1800, 0x02fb, 0x0000 }, - { 0x9800, 0x02fe, 0x2000 }, - { 0x1800, 0x02fd, 0x0000 }, - { 0x1800, 0x02ff, 0x0000 }, - { 0x8c00, 0x0304, 0x3000 }, - { 0x8c00, 0x0302, 0x2000 }, - { 0x0c00, 0x0301, 0x0000 }, - { 0x0c00, 0x0303, 0x0000 }, - { 0x8c00, 0x0306, 0x2000 }, - { 0x0c00, 0x0305, 0x0000 }, - { 0x0c00, 0x0307, 0x0000 }, - { 0x8c00, 0x0310, 0x4000 }, - { 0x8c00, 0x030c, 0x3000 }, - { 0x8c00, 0x030a, 0x2000 }, - { 0x0c00, 0x0309, 0x0000 }, - { 0x0c00, 0x030b, 0x0000 }, - { 0x8c00, 0x030e, 0x2000 }, - { 0x0c00, 0x030d, 0x0000 }, - { 0x0c00, 0x030f, 0x0000 }, - { 0x8c00, 0x0314, 0x3000 }, - { 0x8c00, 0x0312, 0x2000 }, - { 0x0c00, 0x0311, 0x0000 }, - { 0x0c00, 0x0313, 0x0000 }, - { 0x8c00, 0x0316, 0x2000 }, - { 0x0c00, 0x0315, 0x0000 }, - { 0x0c00, 0x0317, 0x0000 }, - { 0x8500, 0x03b0, 0x8000 }, - { 0x8c00, 0x035d, 0x7000 }, - { 0x8c00, 0x0338, 0x6000 }, - { 0x8c00, 0x0328, 0x5000 }, - { 0x8c00, 0x0320, 0x4000 }, - { 0x8c00, 0x031c, 0x3000 }, - { 0x8c00, 0x031a, 0x2000 }, - { 0x0c00, 0x0319, 0x0000 }, - { 0x0c00, 0x031b, 0x0000 }, - { 0x8c00, 0x031e, 0x2000 }, - { 0x0c00, 0x031d, 0x0000 }, - { 0x0c00, 0x031f, 0x0000 }, - { 0x8c00, 0x0324, 0x3000 }, - { 0x8c00, 0x0322, 0x2000 }, - { 0x0c00, 0x0321, 0x0000 }, - { 0x0c00, 0x0323, 0x0000 }, - { 0x8c00, 0x0326, 0x2000 }, - { 0x0c00, 0x0325, 0x0000 }, - { 0x0c00, 0x0327, 0x0000 }, - { 0x8c00, 0x0330, 0x4000 }, - { 0x8c00, 0x032c, 0x3000 }, - { 0x8c00, 0x032a, 0x2000 }, - { 0x0c00, 0x0329, 0x0000 }, - { 0x0c00, 0x032b, 0x0000 }, - { 0x8c00, 0x032e, 0x2000 }, - { 0x0c00, 0x032d, 0x0000 }, - { 0x0c00, 0x032f, 0x0000 }, - { 0x8c00, 0x0334, 0x3000 }, - { 0x8c00, 0x0332, 0x2000 }, - { 0x0c00, 0x0331, 0x0000 }, - { 0x0c00, 0x0333, 0x0000 }, - { 0x8c00, 0x0336, 0x2000 }, - { 0x0c00, 0x0335, 0x0000 }, - { 0x0c00, 0x0337, 0x0000 }, - { 0x8c00, 0x0348, 0x5000 }, - { 0x8c00, 0x0340, 0x4000 }, - { 0x8c00, 0x033c, 0x3000 }, - { 0x8c00, 0x033a, 0x2000 }, - { 0x0c00, 0x0339, 0x0000 }, - { 0x0c00, 0x033b, 0x0000 }, - { 0x8c00, 0x033e, 0x2000 }, - { 0x0c00, 0x033d, 0x0000 }, - { 0x0c00, 0x033f, 0x0000 }, - { 0x8c00, 0x0344, 0x3000 }, - { 0x8c00, 0x0342, 0x2000 }, - { 0x0c00, 0x0341, 0x0000 }, - { 0x0c00, 0x0343, 0x0000 }, - { 0x8c00, 0x0346, 0x2000 }, - { 0x0c00, 0x0345, 0x0000 }, - { 0x0c00, 0x0347, 0x0000 }, - { 0x8c00, 0x0350, 0x4000 }, - { 0x8c00, 0x034c, 0x3000 }, - { 0x8c00, 0x034a, 0x2000 }, - { 0x0c00, 0x0349, 0x0000 }, - { 0x0c00, 0x034b, 0x0000 }, - { 0x8c00, 0x034e, 0x2000 }, - { 0x0c00, 0x034d, 0x0000 }, - { 0x0c00, 0x034f, 0x0000 }, - { 0x8c00, 0x0354, 0x3000 }, - { 0x8c00, 0x0352, 0x2000 }, - { 0x0c00, 0x0351, 0x0000 }, - { 0x0c00, 0x0353, 0x0000 }, - { 0x8c00, 0x0356, 0x2000 }, - { 0x0c00, 0x0355, 0x0000 }, - { 0x0c00, 0x0357, 0x0000 }, - { 0x8900, 0x038f, 0x603f }, - { 0x8c00, 0x036d, 0x5000 }, - { 0x8c00, 0x0365, 0x4000 }, - { 0x8c00, 0x0361, 0x3000 }, - { 0x8c00, 0x035f, 0x2000 }, - { 0x0c00, 0x035e, 0x0000 }, - { 0x0c00, 0x0360, 0x0000 }, - { 0x8c00, 0x0363, 0x2000 }, - { 0x0c00, 0x0362, 0x0000 }, - { 0x0c00, 0x0364, 0x0000 }, - { 0x8c00, 0x0369, 0x3000 }, - { 0x8c00, 0x0367, 0x2000 }, - { 0x0c00, 0x0366, 0x0000 }, - { 0x0c00, 0x0368, 0x0000 }, - { 0x8c00, 0x036b, 0x2000 }, - { 0x0c00, 0x036a, 0x0000 }, - { 0x0c00, 0x036c, 0x0000 }, - { 0x9800, 0x0385, 0x4000 }, - { 0x9800, 0x0375, 0x3000 }, - { 0x8c00, 0x036f, 0x2000 }, - { 0x0c00, 0x036e, 0x0000 }, - { 0x1800, 0x0374, 0x0000 }, - { 0x9500, 0x037e, 0x2000 }, - { 0x0600, 0x037a, 0x0000 }, - { 0x1800, 0x0384, 0x0000 }, - { 0x8900, 0x0389, 0x3025 }, - { 0x9500, 0x0387, 0x2000 }, - { 0x0900, 0x0386, 0x0026 }, - { 0x0900, 0x0388, 0x0025 }, - { 0x8900, 0x038c, 0x2040 }, - { 0x0900, 0x038a, 0x0025 }, - { 0x0900, 0x038e, 0x003f }, - { 0x8900, 0x039f, 0x5020 }, - { 0x8900, 0x0397, 0x4020 }, - { 0x8900, 0x0393, 0x3020 }, - { 0x8900, 0x0391, 0x2020 }, - { 0x0500, 0x0390, 0x0000 }, - { 0x0900, 0x0392, 0x0020 }, - { 0x8900, 0x0395, 0x2020 }, - { 0x0900, 0x0394, 0x0020 }, - { 0x0900, 0x0396, 0x0020 }, - { 0x8900, 0x039b, 0x3020 }, - { 0x8900, 0x0399, 0x2020 }, - { 0x0900, 0x0398, 0x0020 }, - { 0x0900, 0x039a, 0x0020 }, - { 0x8900, 0x039d, 0x2020 }, - { 0x0900, 0x039c, 0x0020 }, - { 0x0900, 0x039e, 0x0020 }, - { 0x8900, 0x03a8, 0x4020 }, - { 0x8900, 0x03a4, 0x3020 }, - { 0x8900, 0x03a1, 0x2020 }, - { 0x0900, 0x03a0, 0x0020 }, - { 0x0900, 0x03a3, 0x0020 }, - { 0x8900, 0x03a6, 0x2020 }, - { 0x0900, 0x03a5, 0x0020 }, - { 0x0900, 0x03a7, 0x0020 }, - { 0x8500, 0x03ac, 0x3fda }, - { 0x8900, 0x03aa, 0x2020 }, - { 0x0900, 0x03a9, 0x0020 }, - { 0x0900, 0x03ab, 0x0020 }, - { 0x8500, 0x03ae, 0x2fdb }, - { 0x0500, 0x03ad, 0x0fdb }, - { 0x0500, 0x03af, 0x0fdb }, - { 0x8500, 0x03f1, 0x7fb0 }, - { 0x8500, 0x03d1, 0x6fc7 }, - { 0x8500, 0x03c0, 0x5fe0 }, - { 0x8500, 0x03b8, 0x4fe0 }, - { 0x8500, 0x03b4, 0x3fe0 }, - { 0x8500, 0x03b2, 0x2fe0 }, - { 0x0500, 0x03b1, 0x0fe0 }, - { 0x0500, 0x03b3, 0x0fe0 }, - { 0x8500, 0x03b6, 0x2fe0 }, - { 0x0500, 0x03b5, 0x0fe0 }, - { 0x0500, 0x03b7, 0x0fe0 }, - { 0x8500, 0x03bc, 0x3fe0 }, - { 0x8500, 0x03ba, 0x2fe0 }, - { 0x0500, 0x03b9, 0x0fe0 }, - { 0x0500, 0x03bb, 0x0fe0 }, - { 0x8500, 0x03be, 0x2fe0 }, - { 0x0500, 0x03bd, 0x0fe0 }, - { 0x0500, 0x03bf, 0x0fe0 }, - { 0x8500, 0x03c8, 0x4fe0 }, - { 0x8500, 0x03c4, 0x3fe0 }, - { 0x8500, 0x03c2, 0x2fe1 }, - { 0x0500, 0x03c1, 0x0fe0 }, - { 0x0500, 0x03c3, 0x0fe0 }, - { 0x8500, 0x03c6, 0x2fe0 }, - { 0x0500, 0x03c5, 0x0fe0 }, - { 0x0500, 0x03c7, 0x0fe0 }, - { 0x8500, 0x03cc, 0x3fc0 }, - { 0x8500, 0x03ca, 0x2fe0 }, - { 0x0500, 0x03c9, 0x0fe0 }, - { 0x0500, 0x03cb, 0x0fe0 }, - { 0x8500, 0x03ce, 0x2fc1 }, - { 0x0500, 0x03cd, 0x0fc1 }, - { 0x0500, 0x03d0, 0x0fc2 }, - { 0x8500, 0x03e1, 0x5fff }, - { 0x8500, 0x03d9, 0x4fff }, - { 0x8500, 0x03d5, 0x3fd1 }, - { 0x8900, 0x03d3, 0x2000 }, - { 0x0900, 0x03d2, 0x0000 }, - { 0x0900, 0x03d4, 0x0000 }, - { 0x8500, 0x03d7, 0x2000 }, - { 0x0500, 0x03d6, 0x0fca }, - { 0x0900, 0x03d8, 0x0001 }, - { 0x8500, 0x03dd, 0x3fff }, - { 0x8500, 0x03db, 0x2fff }, - { 0x0900, 0x03da, 0x0001 }, - { 0x0900, 0x03dc, 0x0001 }, - { 0x8500, 0x03df, 0x2fff }, - { 0x0900, 0x03de, 0x0001 }, - { 0x0900, 0x03e0, 0x0001 }, - { 0x8500, 0x03e9, 0x4fff }, - { 0x8500, 0x03e5, 0x3fff }, - { 0x8500, 0x03e3, 0x2fff }, - { 0x0900, 0x03e2, 0x0001 }, - { 0x0900, 0x03e4, 0x0001 }, - { 0x8500, 0x03e7, 0x2fff }, - { 0x0900, 0x03e6, 0x0001 }, - { 0x0900, 0x03e8, 0x0001 }, - { 0x8500, 0x03ed, 0x3fff }, - { 0x8500, 0x03eb, 0x2fff }, - { 0x0900, 0x03ea, 0x0001 }, - { 0x0900, 0x03ec, 0x0001 }, - { 0x8500, 0x03ef, 0x2fff }, - { 0x0900, 0x03ee, 0x0001 }, - { 0x0500, 0x03f0, 0x0faa }, - { 0x8900, 0x0415, 0x6020 }, - { 0x8900, 0x0405, 0x5050 }, - { 0x8900, 0x03f9, 0x4ff9 }, - { 0x8500, 0x03f5, 0x3fa0 }, - { 0x8500, 0x03f3, 0x2000 }, - { 0x0500, 0x03f2, 0x0007 }, - { 0x0900, 0x03f4, 0x0fc4 }, - { 0x8900, 0x03f7, 0x2001 }, - { 0x1900, 0x03f6, 0x0000 }, - { 0x0500, 0x03f8, 0x0fff }, - { 0x8900, 0x0401, 0x3050 }, - { 0x8500, 0x03fb, 0x2fff }, - { 0x0900, 0x03fa, 0x0001 }, - { 0x0900, 0x0400, 0x0050 }, - { 0x8900, 0x0403, 0x2050 }, - { 0x0900, 0x0402, 0x0050 }, - { 0x0900, 0x0404, 0x0050 }, - { 0x8900, 0x040d, 0x4050 }, - { 0x8900, 0x0409, 0x3050 }, - { 0x8900, 0x0407, 0x2050 }, - { 0x0900, 0x0406, 0x0050 }, - { 0x0900, 0x0408, 0x0050 }, - { 0x8900, 0x040b, 0x2050 }, - { 0x0900, 0x040a, 0x0050 }, - { 0x0900, 0x040c, 0x0050 }, - { 0x8900, 0x0411, 0x3020 }, - { 0x8900, 0x040f, 0x2050 }, - { 0x0900, 0x040e, 0x0050 }, - { 0x0900, 0x0410, 0x0020 }, - { 0x8900, 0x0413, 0x2020 }, - { 0x0900, 0x0412, 0x0020 }, - { 0x0900, 0x0414, 0x0020 }, - { 0x8900, 0x0425, 0x5020 }, - { 0x8900, 0x041d, 0x4020 }, - { 0x8900, 0x0419, 0x3020 }, - { 0x8900, 0x0417, 0x2020 }, - { 0x0900, 0x0416, 0x0020 }, - { 0x0900, 0x0418, 0x0020 }, - { 0x8900, 0x041b, 0x2020 }, - { 0x0900, 0x041a, 0x0020 }, - { 0x0900, 0x041c, 0x0020 }, - { 0x8900, 0x0421, 0x3020 }, - { 0x8900, 0x041f, 0x2020 }, - { 0x0900, 0x041e, 0x0020 }, - { 0x0900, 0x0420, 0x0020 }, - { 0x8900, 0x0423, 0x2020 }, - { 0x0900, 0x0422, 0x0020 }, - { 0x0900, 0x0424, 0x0020 }, - { 0x8900, 0x042d, 0x4020 }, - { 0x8900, 0x0429, 0x3020 }, - { 0x8900, 0x0427, 0x2020 }, - { 0x0900, 0x0426, 0x0020 }, - { 0x0900, 0x0428, 0x0020 }, - { 0x8900, 0x042b, 0x2020 }, - { 0x0900, 0x042a, 0x0020 }, - { 0x0900, 0x042c, 0x0020 }, - { 0x8500, 0x0431, 0x3fe0 }, - { 0x8900, 0x042f, 0x2020 }, - { 0x0900, 0x042e, 0x0020 }, - { 0x0500, 0x0430, 0x0fe0 }, - { 0x8500, 0x0433, 0x2fe0 }, - { 0x0500, 0x0432, 0x0fe0 }, - { 0x0500, 0x0434, 0x0fe0 }, - { 0x8700, 0x06a4, 0xa000 }, - { 0x8500, 0x0563, 0x9fd0 }, - { 0x8900, 0x04b6, 0x8001 }, - { 0x8500, 0x0475, 0x7fff }, - { 0x8500, 0x0455, 0x6fb0 }, - { 0x8500, 0x0445, 0x5fe0 }, - { 0x8500, 0x043d, 0x4fe0 }, - { 0x8500, 0x0439, 0x3fe0 }, - { 0x8500, 0x0437, 0x2fe0 }, - { 0x0500, 0x0436, 0x0fe0 }, - { 0x0500, 0x0438, 0x0fe0 }, - { 0x8500, 0x043b, 0x2fe0 }, - { 0x0500, 0x043a, 0x0fe0 }, - { 0x0500, 0x043c, 0x0fe0 }, - { 0x8500, 0x0441, 0x3fe0 }, - { 0x8500, 0x043f, 0x2fe0 }, - { 0x0500, 0x043e, 0x0fe0 }, - { 0x0500, 0x0440, 0x0fe0 }, - { 0x8500, 0x0443, 0x2fe0 }, - { 0x0500, 0x0442, 0x0fe0 }, - { 0x0500, 0x0444, 0x0fe0 }, - { 0x8500, 0x044d, 0x4fe0 }, - { 0x8500, 0x0449, 0x3fe0 }, - { 0x8500, 0x0447, 0x2fe0 }, - { 0x0500, 0x0446, 0x0fe0 }, - { 0x0500, 0x0448, 0x0fe0 }, - { 0x8500, 0x044b, 0x2fe0 }, - { 0x0500, 0x044a, 0x0fe0 }, - { 0x0500, 0x044c, 0x0fe0 }, - { 0x8500, 0x0451, 0x3fb0 }, - { 0x8500, 0x044f, 0x2fe0 }, - { 0x0500, 0x044e, 0x0fe0 }, - { 0x0500, 0x0450, 0x0fb0 }, - { 0x8500, 0x0453, 0x2fb0 }, - { 0x0500, 0x0452, 0x0fb0 }, - { 0x0500, 0x0454, 0x0fb0 }, - { 0x8500, 0x0465, 0x5fff }, - { 0x8500, 0x045d, 0x4fb0 }, - { 0x8500, 0x0459, 0x3fb0 }, - { 0x8500, 0x0457, 0x2fb0 }, - { 0x0500, 0x0456, 0x0fb0 }, - { 0x0500, 0x0458, 0x0fb0 }, - { 0x8500, 0x045b, 0x2fb0 }, - { 0x0500, 0x045a, 0x0fb0 }, - { 0x0500, 0x045c, 0x0fb0 }, - { 0x8500, 0x0461, 0x3fff }, - { 0x8500, 0x045f, 0x2fb0 }, - { 0x0500, 0x045e, 0x0fb0 }, - { 0x0900, 0x0460, 0x0001 }, - { 0x8500, 0x0463, 0x2fff }, - { 0x0900, 0x0462, 0x0001 }, - { 0x0900, 0x0464, 0x0001 }, - { 0x8500, 0x046d, 0x4fff }, - { 0x8500, 0x0469, 0x3fff }, - { 0x8500, 0x0467, 0x2fff }, - { 0x0900, 0x0466, 0x0001 }, - { 0x0900, 0x0468, 0x0001 }, - { 0x8500, 0x046b, 0x2fff }, - { 0x0900, 0x046a, 0x0001 }, - { 0x0900, 0x046c, 0x0001 }, - { 0x8500, 0x0471, 0x3fff }, - { 0x8500, 0x046f, 0x2fff }, - { 0x0900, 0x046e, 0x0001 }, - { 0x0900, 0x0470, 0x0001 }, - { 0x8500, 0x0473, 0x2fff }, - { 0x0900, 0x0472, 0x0001 }, - { 0x0900, 0x0474, 0x0001 }, - { 0x8900, 0x0496, 0x6001 }, - { 0x8c00, 0x0485, 0x5000 }, - { 0x8500, 0x047d, 0x4fff }, - { 0x8500, 0x0479, 0x3fff }, - { 0x8500, 0x0477, 0x2fff }, - { 0x0900, 0x0476, 0x0001 }, - { 0x0900, 0x0478, 0x0001 }, - { 0x8500, 0x047b, 0x2fff }, - { 0x0900, 0x047a, 0x0001 }, - { 0x0900, 0x047c, 0x0001 }, - { 0x8500, 0x0481, 0x3fff }, - { 0x8500, 0x047f, 0x2fff }, - { 0x0900, 0x047e, 0x0001 }, - { 0x0900, 0x0480, 0x0001 }, - { 0x8c00, 0x0483, 0x2000 }, - { 0x1a00, 0x0482, 0x0000 }, - { 0x0c00, 0x0484, 0x0000 }, - { 0x8900, 0x048e, 0x4001 }, - { 0x8900, 0x048a, 0x3001 }, - { 0x8b00, 0x0488, 0x2000 }, - { 0x0c00, 0x0486, 0x0000 }, - { 0x0b00, 0x0489, 0x0000 }, - { 0x8900, 0x048c, 0x2001 }, - { 0x0500, 0x048b, 0x0fff }, - { 0x0500, 0x048d, 0x0fff }, - { 0x8900, 0x0492, 0x3001 }, - { 0x8900, 0x0490, 0x2001 }, - { 0x0500, 0x048f, 0x0fff }, - { 0x0500, 0x0491, 0x0fff }, - { 0x8900, 0x0494, 0x2001 }, - { 0x0500, 0x0493, 0x0fff }, - { 0x0500, 0x0495, 0x0fff }, - { 0x8900, 0x04a6, 0x5001 }, - { 0x8900, 0x049e, 0x4001 }, - { 0x8900, 0x049a, 0x3001 }, - { 0x8900, 0x0498, 0x2001 }, - { 0x0500, 0x0497, 0x0fff }, - { 0x0500, 0x0499, 0x0fff }, - { 0x8900, 0x049c, 0x2001 }, - { 0x0500, 0x049b, 0x0fff }, - { 0x0500, 0x049d, 0x0fff }, - { 0x8900, 0x04a2, 0x3001 }, - { 0x8900, 0x04a0, 0x2001 }, - { 0x0500, 0x049f, 0x0fff }, - { 0x0500, 0x04a1, 0x0fff }, - { 0x8900, 0x04a4, 0x2001 }, - { 0x0500, 0x04a3, 0x0fff }, - { 0x0500, 0x04a5, 0x0fff }, - { 0x8900, 0x04ae, 0x4001 }, - { 0x8900, 0x04aa, 0x3001 }, - { 0x8900, 0x04a8, 0x2001 }, - { 0x0500, 0x04a7, 0x0fff }, - { 0x0500, 0x04a9, 0x0fff }, - { 0x8900, 0x04ac, 0x2001 }, - { 0x0500, 0x04ab, 0x0fff }, - { 0x0500, 0x04ad, 0x0fff }, - { 0x8900, 0x04b2, 0x3001 }, - { 0x8900, 0x04b0, 0x2001 }, - { 0x0500, 0x04af, 0x0fff }, - { 0x0500, 0x04b1, 0x0fff }, - { 0x8900, 0x04b4, 0x2001 }, - { 0x0500, 0x04b3, 0x0fff }, - { 0x0500, 0x04b5, 0x0fff }, - { 0x8500, 0x04f9, 0x7fff }, - { 0x8500, 0x04d7, 0x6fff }, - { 0x8500, 0x04c6, 0x5fff }, - { 0x8900, 0x04be, 0x4001 }, - { 0x8900, 0x04ba, 0x3001 }, - { 0x8900, 0x04b8, 0x2001 }, - { 0x0500, 0x04b7, 0x0fff }, - { 0x0500, 0x04b9, 0x0fff }, - { 0x8900, 0x04bc, 0x2001 }, - { 0x0500, 0x04bb, 0x0fff }, - { 0x0500, 0x04bd, 0x0fff }, - { 0x8500, 0x04c2, 0x3fff }, - { 0x8900, 0x04c0, 0x2000 }, - { 0x0500, 0x04bf, 0x0fff }, - { 0x0900, 0x04c1, 0x0001 }, - { 0x8500, 0x04c4, 0x2fff }, - { 0x0900, 0x04c3, 0x0001 }, - { 0x0900, 0x04c5, 0x0001 }, - { 0x8500, 0x04ce, 0x4fff }, - { 0x8500, 0x04ca, 0x3fff }, - { 0x8500, 0x04c8, 0x2fff }, - { 0x0900, 0x04c7, 0x0001 }, - { 0x0900, 0x04c9, 0x0001 }, - { 0x8500, 0x04cc, 0x2fff }, - { 0x0900, 0x04cb, 0x0001 }, - { 0x0900, 0x04cd, 0x0001 }, - { 0x8500, 0x04d3, 0x3fff }, - { 0x8500, 0x04d1, 0x2fff }, - { 0x0900, 0x04d0, 0x0001 }, - { 0x0900, 0x04d2, 0x0001 }, - { 0x8500, 0x04d5, 0x2fff }, - { 0x0900, 0x04d4, 0x0001 }, - { 0x0900, 0x04d6, 0x0001 }, - { 0x8500, 0x04e7, 0x5fff }, - { 0x8500, 0x04df, 0x4fff }, - { 0x8500, 0x04db, 0x3fff }, - { 0x8500, 0x04d9, 0x2fff }, - { 0x0900, 0x04d8, 0x0001 }, - { 0x0900, 0x04da, 0x0001 }, - { 0x8500, 0x04dd, 0x2fff }, - { 0x0900, 0x04dc, 0x0001 }, - { 0x0900, 0x04de, 0x0001 }, - { 0x8500, 0x04e3, 0x3fff }, - { 0x8500, 0x04e1, 0x2fff }, - { 0x0900, 0x04e0, 0x0001 }, - { 0x0900, 0x04e2, 0x0001 }, - { 0x8500, 0x04e5, 0x2fff }, - { 0x0900, 0x04e4, 0x0001 }, - { 0x0900, 0x04e6, 0x0001 }, - { 0x8500, 0x04ef, 0x4fff }, - { 0x8500, 0x04eb, 0x3fff }, - { 0x8500, 0x04e9, 0x2fff }, - { 0x0900, 0x04e8, 0x0001 }, - { 0x0900, 0x04ea, 0x0001 }, - { 0x8500, 0x04ed, 0x2fff }, - { 0x0900, 0x04ec, 0x0001 }, - { 0x0900, 0x04ee, 0x0001 }, - { 0x8500, 0x04f3, 0x3fff }, - { 0x8500, 0x04f1, 0x2fff }, - { 0x0900, 0x04f0, 0x0001 }, - { 0x0900, 0x04f2, 0x0001 }, - { 0x8500, 0x04f5, 0x2fff }, - { 0x0900, 0x04f4, 0x0001 }, - { 0x0900, 0x04f8, 0x0001 }, - { 0x8900, 0x0540, 0x6030 }, - { 0x8500, 0x050f, 0x5fff }, - { 0x8500, 0x0507, 0x4fff }, - { 0x8500, 0x0503, 0x3fff }, - { 0x8500, 0x0501, 0x2fff }, - { 0x0900, 0x0500, 0x0001 }, - { 0x0900, 0x0502, 0x0001 }, - { 0x8500, 0x0505, 0x2fff }, - { 0x0900, 0x0504, 0x0001 }, - { 0x0900, 0x0506, 0x0001 }, - { 0x8500, 0x050b, 0x3fff }, - { 0x8500, 0x0509, 0x2fff }, - { 0x0900, 0x0508, 0x0001 }, - { 0x0900, 0x050a, 0x0001 }, - { 0x8500, 0x050d, 0x2fff }, - { 0x0900, 0x050c, 0x0001 }, - { 0x0900, 0x050e, 0x0001 }, - { 0x8900, 0x0538, 0x4030 }, - { 0x8900, 0x0534, 0x3030 }, - { 0x8900, 0x0532, 0x2030 }, - { 0x0900, 0x0531, 0x0030 }, - { 0x0900, 0x0533, 0x0030 }, - { 0x8900, 0x0536, 0x2030 }, - { 0x0900, 0x0535, 0x0030 }, - { 0x0900, 0x0537, 0x0030 }, - { 0x8900, 0x053c, 0x3030 }, - { 0x8900, 0x053a, 0x2030 }, - { 0x0900, 0x0539, 0x0030 }, - { 0x0900, 0x053b, 0x0030 }, - { 0x8900, 0x053e, 0x2030 }, - { 0x0900, 0x053d, 0x0030 }, - { 0x0900, 0x053f, 0x0030 }, - { 0x8900, 0x0550, 0x5030 }, - { 0x8900, 0x0548, 0x4030 }, - { 0x8900, 0x0544, 0x3030 }, - { 0x8900, 0x0542, 0x2030 }, - { 0x0900, 0x0541, 0x0030 }, - { 0x0900, 0x0543, 0x0030 }, - { 0x8900, 0x0546, 0x2030 }, - { 0x0900, 0x0545, 0x0030 }, - { 0x0900, 0x0547, 0x0030 }, - { 0x8900, 0x054c, 0x3030 }, - { 0x8900, 0x054a, 0x2030 }, - { 0x0900, 0x0549, 0x0030 }, - { 0x0900, 0x054b, 0x0030 }, - { 0x8900, 0x054e, 0x2030 }, - { 0x0900, 0x054d, 0x0030 }, - { 0x0900, 0x054f, 0x0030 }, - { 0x9500, 0x055a, 0x4000 }, - { 0x8900, 0x0554, 0x3030 }, - { 0x8900, 0x0552, 0x2030 }, - { 0x0900, 0x0551, 0x0030 }, - { 0x0900, 0x0553, 0x0030 }, - { 0x8900, 0x0556, 0x2030 }, - { 0x0900, 0x0555, 0x0030 }, - { 0x0600, 0x0559, 0x0000 }, - { 0x9500, 0x055e, 0x3000 }, - { 0x9500, 0x055c, 0x2000 }, - { 0x1500, 0x055b, 0x0000 }, - { 0x1500, 0x055d, 0x0000 }, - { 0x8500, 0x0561, 0x2fd0 }, - { 0x1500, 0x055f, 0x0000 }, - { 0x0500, 0x0562, 0x0fd0 }, - { 0x9a00, 0x060f, 0x8000 }, - { 0x8c00, 0x05ab, 0x7000 }, - { 0x8500, 0x0583, 0x6fd0 }, - { 0x8500, 0x0573, 0x5fd0 }, - { 0x8500, 0x056b, 0x4fd0 }, - { 0x8500, 0x0567, 0x3fd0 }, - { 0x8500, 0x0565, 0x2fd0 }, - { 0x0500, 0x0564, 0x0fd0 }, - { 0x0500, 0x0566, 0x0fd0 }, - { 0x8500, 0x0569, 0x2fd0 }, - { 0x0500, 0x0568, 0x0fd0 }, - { 0x0500, 0x056a, 0x0fd0 }, - { 0x8500, 0x056f, 0x3fd0 }, - { 0x8500, 0x056d, 0x2fd0 }, - { 0x0500, 0x056c, 0x0fd0 }, - { 0x0500, 0x056e, 0x0fd0 }, - { 0x8500, 0x0571, 0x2fd0 }, - { 0x0500, 0x0570, 0x0fd0 }, - { 0x0500, 0x0572, 0x0fd0 }, - { 0x8500, 0x057b, 0x4fd0 }, - { 0x8500, 0x0577, 0x3fd0 }, - { 0x8500, 0x0575, 0x2fd0 }, - { 0x0500, 0x0574, 0x0fd0 }, - { 0x0500, 0x0576, 0x0fd0 }, - { 0x8500, 0x0579, 0x2fd0 }, - { 0x0500, 0x0578, 0x0fd0 }, - { 0x0500, 0x057a, 0x0fd0 }, - { 0x8500, 0x057f, 0x3fd0 }, - { 0x8500, 0x057d, 0x2fd0 }, - { 0x0500, 0x057c, 0x0fd0 }, - { 0x0500, 0x057e, 0x0fd0 }, - { 0x8500, 0x0581, 0x2fd0 }, - { 0x0500, 0x0580, 0x0fd0 }, - { 0x0500, 0x0582, 0x0fd0 }, - { 0x8c00, 0x059a, 0x5000 }, - { 0x8c00, 0x0592, 0x4000 }, - { 0x8500, 0x0587, 0x3000 }, - { 0x8500, 0x0585, 0x2fd0 }, - { 0x0500, 0x0584, 0x0fd0 }, - { 0x0500, 0x0586, 0x0fd0 }, - { 0x9100, 0x058a, 0x2000 }, - { 0x1500, 0x0589, 0x0000 }, - { 0x0c00, 0x0591, 0x0000 }, - { 0x8c00, 0x0596, 0x3000 }, - { 0x8c00, 0x0594, 0x2000 }, - { 0x0c00, 0x0593, 0x0000 }, - { 0x0c00, 0x0595, 0x0000 }, - { 0x8c00, 0x0598, 0x2000 }, - { 0x0c00, 0x0597, 0x0000 }, - { 0x0c00, 0x0599, 0x0000 }, - { 0x8c00, 0x05a3, 0x4000 }, - { 0x8c00, 0x059e, 0x3000 }, - { 0x8c00, 0x059c, 0x2000 }, - { 0x0c00, 0x059b, 0x0000 }, - { 0x0c00, 0x059d, 0x0000 }, - { 0x8c00, 0x05a0, 0x2000 }, - { 0x0c00, 0x059f, 0x0000 }, - { 0x0c00, 0x05a1, 0x0000 }, - { 0x8c00, 0x05a7, 0x3000 }, - { 0x8c00, 0x05a5, 0x2000 }, - { 0x0c00, 0x05a4, 0x0000 }, - { 0x0c00, 0x05a6, 0x0000 }, - { 0x8c00, 0x05a9, 0x2000 }, - { 0x0c00, 0x05a8, 0x0000 }, - { 0x0c00, 0x05aa, 0x0000 }, - { 0x8700, 0x05d7, 0x6000 }, - { 0x8c00, 0x05bc, 0x5000 }, - { 0x8c00, 0x05b3, 0x4000 }, - { 0x8c00, 0x05af, 0x3000 }, - { 0x8c00, 0x05ad, 0x2000 }, - { 0x0c00, 0x05ac, 0x0000 }, - { 0x0c00, 0x05ae, 0x0000 }, - { 0x8c00, 0x05b1, 0x2000 }, - { 0x0c00, 0x05b0, 0x0000 }, - { 0x0c00, 0x05b2, 0x0000 }, - { 0x8c00, 0x05b7, 0x3000 }, - { 0x8c00, 0x05b5, 0x2000 }, - { 0x0c00, 0x05b4, 0x0000 }, - { 0x0c00, 0x05b6, 0x0000 }, - { 0x8c00, 0x05b9, 0x2000 }, - { 0x0c00, 0x05b8, 0x0000 }, - { 0x0c00, 0x05bb, 0x0000 }, - { 0x8c00, 0x05c4, 0x4000 }, - { 0x9500, 0x05c0, 0x3000 }, - { 0x9500, 0x05be, 0x2000 }, - { 0x0c00, 0x05bd, 0x0000 }, - { 0x0c00, 0x05bf, 0x0000 }, - { 0x8c00, 0x05c2, 0x2000 }, - { 0x0c00, 0x05c1, 0x0000 }, - { 0x1500, 0x05c3, 0x0000 }, - { 0x8700, 0x05d3, 0x3000 }, - { 0x8700, 0x05d1, 0x2000 }, - { 0x0700, 0x05d0, 0x0000 }, - { 0x0700, 0x05d2, 0x0000 }, - { 0x8700, 0x05d5, 0x2000 }, - { 0x0700, 0x05d4, 0x0000 }, - { 0x0700, 0x05d6, 0x0000 }, - { 0x8700, 0x05e7, 0x5000 }, - { 0x8700, 0x05df, 0x4000 }, - { 0x8700, 0x05db, 0x3000 }, - { 0x8700, 0x05d9, 0x2000 }, - { 0x0700, 0x05d8, 0x0000 }, - { 0x0700, 0x05da, 0x0000 }, - { 0x8700, 0x05dd, 0x2000 }, - { 0x0700, 0x05dc, 0x0000 }, - { 0x0700, 0x05de, 0x0000 }, - { 0x8700, 0x05e3, 0x3000 }, - { 0x8700, 0x05e1, 0x2000 }, - { 0x0700, 0x05e0, 0x0000 }, - { 0x0700, 0x05e2, 0x0000 }, - { 0x8700, 0x05e5, 0x2000 }, - { 0x0700, 0x05e4, 0x0000 }, - { 0x0700, 0x05e6, 0x0000 }, - { 0x9500, 0x05f4, 0x4000 }, - { 0x8700, 0x05f0, 0x3000 }, - { 0x8700, 0x05e9, 0x2000 }, - { 0x0700, 0x05e8, 0x0000 }, - { 0x0700, 0x05ea, 0x0000 }, - { 0x8700, 0x05f2, 0x2000 }, - { 0x0700, 0x05f1, 0x0000 }, - { 0x1500, 0x05f3, 0x0000 }, - { 0x8100, 0x0603, 0x3000 }, - { 0x8100, 0x0601, 0x2000 }, - { 0x0100, 0x0600, 0x0000 }, - { 0x0100, 0x0602, 0x0000 }, - { 0x9500, 0x060d, 0x2000 }, - { 0x1500, 0x060c, 0x0000 }, - { 0x1a00, 0x060e, 0x0000 }, - { 0x8d00, 0x0664, 0x7000 }, - { 0x8700, 0x0638, 0x6000 }, - { 0x8700, 0x0628, 0x5000 }, - { 0x9500, 0x061f, 0x4000 }, - { 0x8c00, 0x0613, 0x3000 }, - { 0x8c00, 0x0611, 0x2000 }, - { 0x0c00, 0x0610, 0x0000 }, - { 0x0c00, 0x0612, 0x0000 }, - { 0x8c00, 0x0615, 0x2000 }, - { 0x0c00, 0x0614, 0x0000 }, - { 0x1500, 0x061b, 0x0000 }, - { 0x8700, 0x0624, 0x3000 }, - { 0x8700, 0x0622, 0x2000 }, - { 0x0700, 0x0621, 0x0000 }, - { 0x0700, 0x0623, 0x0000 }, - { 0x8700, 0x0626, 0x2000 }, - { 0x0700, 0x0625, 0x0000 }, - { 0x0700, 0x0627, 0x0000 }, - { 0x8700, 0x0630, 0x4000 }, - { 0x8700, 0x062c, 0x3000 }, - { 0x8700, 0x062a, 0x2000 }, - { 0x0700, 0x0629, 0x0000 }, - { 0x0700, 0x062b, 0x0000 }, - { 0x8700, 0x062e, 0x2000 }, - { 0x0700, 0x062d, 0x0000 }, - { 0x0700, 0x062f, 0x0000 }, - { 0x8700, 0x0634, 0x3000 }, - { 0x8700, 0x0632, 0x2000 }, - { 0x0700, 0x0631, 0x0000 }, - { 0x0700, 0x0633, 0x0000 }, - { 0x8700, 0x0636, 0x2000 }, - { 0x0700, 0x0635, 0x0000 }, - { 0x0700, 0x0637, 0x0000 }, - { 0x8c00, 0x064d, 0x5000 }, - { 0x8700, 0x0645, 0x4000 }, - { 0x8700, 0x0641, 0x3000 }, - { 0x8700, 0x063a, 0x2000 }, - { 0x0700, 0x0639, 0x0000 }, - { 0x0600, 0x0640, 0x0000 }, - { 0x8700, 0x0643, 0x2000 }, - { 0x0700, 0x0642, 0x0000 }, - { 0x0700, 0x0644, 0x0000 }, - { 0x8700, 0x0649, 0x3000 }, - { 0x8700, 0x0647, 0x2000 }, - { 0x0700, 0x0646, 0x0000 }, - { 0x0700, 0x0648, 0x0000 }, - { 0x8c00, 0x064b, 0x2000 }, - { 0x0700, 0x064a, 0x0000 }, - { 0x0c00, 0x064c, 0x0000 }, - { 0x8c00, 0x0655, 0x4000 }, - { 0x8c00, 0x0651, 0x3000 }, - { 0x8c00, 0x064f, 0x2000 }, - { 0x0c00, 0x064e, 0x0000 }, - { 0x0c00, 0x0650, 0x0000 }, - { 0x8c00, 0x0653, 0x2000 }, - { 0x0c00, 0x0652, 0x0000 }, - { 0x0c00, 0x0654, 0x0000 }, - { 0x8d00, 0x0660, 0x3000 }, - { 0x8c00, 0x0657, 0x2000 }, - { 0x0c00, 0x0656, 0x0000 }, - { 0x0c00, 0x0658, 0x0000 }, - { 0x8d00, 0x0662, 0x2000 }, - { 0x0d00, 0x0661, 0x0000 }, - { 0x0d00, 0x0663, 0x0000 }, - { 0x8700, 0x0684, 0x6000 }, - { 0x8700, 0x0674, 0x5000 }, - { 0x9500, 0x066c, 0x4000 }, - { 0x8d00, 0x0668, 0x3000 }, - { 0x8d00, 0x0666, 0x2000 }, - { 0x0d00, 0x0665, 0x0000 }, - { 0x0d00, 0x0667, 0x0000 }, - { 0x9500, 0x066a, 0x2000 }, - { 0x0d00, 0x0669, 0x0000 }, - { 0x1500, 0x066b, 0x0000 }, - { 0x8c00, 0x0670, 0x3000 }, - { 0x8700, 0x066e, 0x2000 }, - { 0x1500, 0x066d, 0x0000 }, - { 0x0700, 0x066f, 0x0000 }, - { 0x8700, 0x0672, 0x2000 }, - { 0x0700, 0x0671, 0x0000 }, - { 0x0700, 0x0673, 0x0000 }, - { 0x8700, 0x067c, 0x4000 }, - { 0x8700, 0x0678, 0x3000 }, - { 0x8700, 0x0676, 0x2000 }, - { 0x0700, 0x0675, 0x0000 }, - { 0x0700, 0x0677, 0x0000 }, - { 0x8700, 0x067a, 0x2000 }, - { 0x0700, 0x0679, 0x0000 }, - { 0x0700, 0x067b, 0x0000 }, - { 0x8700, 0x0680, 0x3000 }, - { 0x8700, 0x067e, 0x2000 }, - { 0x0700, 0x067d, 0x0000 }, - { 0x0700, 0x067f, 0x0000 }, - { 0x8700, 0x0682, 0x2000 }, - { 0x0700, 0x0681, 0x0000 }, - { 0x0700, 0x0683, 0x0000 }, - { 0x8700, 0x0694, 0x5000 }, - { 0x8700, 0x068c, 0x4000 }, - { 0x8700, 0x0688, 0x3000 }, - { 0x8700, 0x0686, 0x2000 }, - { 0x0700, 0x0685, 0x0000 }, - { 0x0700, 0x0687, 0x0000 }, - { 0x8700, 0x068a, 0x2000 }, - { 0x0700, 0x0689, 0x0000 }, - { 0x0700, 0x068b, 0x0000 }, - { 0x8700, 0x0690, 0x3000 }, - { 0x8700, 0x068e, 0x2000 }, - { 0x0700, 0x068d, 0x0000 }, - { 0x0700, 0x068f, 0x0000 }, - { 0x8700, 0x0692, 0x2000 }, - { 0x0700, 0x0691, 0x0000 }, - { 0x0700, 0x0693, 0x0000 }, - { 0x8700, 0x069c, 0x4000 }, - { 0x8700, 0x0698, 0x3000 }, - { 0x8700, 0x0696, 0x2000 }, - { 0x0700, 0x0695, 0x0000 }, - { 0x0700, 0x0697, 0x0000 }, - { 0x8700, 0x069a, 0x2000 }, - { 0x0700, 0x0699, 0x0000 }, - { 0x0700, 0x069b, 0x0000 }, - { 0x8700, 0x06a0, 0x3000 }, - { 0x8700, 0x069e, 0x2000 }, - { 0x0700, 0x069d, 0x0000 }, - { 0x0700, 0x069f, 0x0000 }, - { 0x8700, 0x06a2, 0x2000 }, - { 0x0700, 0x06a1, 0x0000 }, - { 0x0700, 0x06a3, 0x0000 }, - { 0x8700, 0x0926, 0x9000 }, - { 0x8700, 0x0725, 0x8000 }, - { 0x8c00, 0x06e4, 0x7000 }, - { 0x8700, 0x06c4, 0x6000 }, - { 0x8700, 0x06b4, 0x5000 }, - { 0x8700, 0x06ac, 0x4000 }, - { 0x8700, 0x06a8, 0x3000 }, - { 0x8700, 0x06a6, 0x2000 }, - { 0x0700, 0x06a5, 0x0000 }, - { 0x0700, 0x06a7, 0x0000 }, - { 0x8700, 0x06aa, 0x2000 }, - { 0x0700, 0x06a9, 0x0000 }, - { 0x0700, 0x06ab, 0x0000 }, - { 0x8700, 0x06b0, 0x3000 }, - { 0x8700, 0x06ae, 0x2000 }, - { 0x0700, 0x06ad, 0x0000 }, - { 0x0700, 0x06af, 0x0000 }, - { 0x8700, 0x06b2, 0x2000 }, - { 0x0700, 0x06b1, 0x0000 }, - { 0x0700, 0x06b3, 0x0000 }, - { 0x8700, 0x06bc, 0x4000 }, - { 0x8700, 0x06b8, 0x3000 }, - { 0x8700, 0x06b6, 0x2000 }, - { 0x0700, 0x06b5, 0x0000 }, - { 0x0700, 0x06b7, 0x0000 }, - { 0x8700, 0x06ba, 0x2000 }, - { 0x0700, 0x06b9, 0x0000 }, - { 0x0700, 0x06bb, 0x0000 }, - { 0x8700, 0x06c0, 0x3000 }, - { 0x8700, 0x06be, 0x2000 }, - { 0x0700, 0x06bd, 0x0000 }, - { 0x0700, 0x06bf, 0x0000 }, - { 0x8700, 0x06c2, 0x2000 }, - { 0x0700, 0x06c1, 0x0000 }, - { 0x0700, 0x06c3, 0x0000 }, - { 0x9500, 0x06d4, 0x5000 }, - { 0x8700, 0x06cc, 0x4000 }, - { 0x8700, 0x06c8, 0x3000 }, - { 0x8700, 0x06c6, 0x2000 }, - { 0x0700, 0x06c5, 0x0000 }, - { 0x0700, 0x06c7, 0x0000 }, - { 0x8700, 0x06ca, 0x2000 }, - { 0x0700, 0x06c9, 0x0000 }, - { 0x0700, 0x06cb, 0x0000 }, - { 0x8700, 0x06d0, 0x3000 }, - { 0x8700, 0x06ce, 0x2000 }, - { 0x0700, 0x06cd, 0x0000 }, - { 0x0700, 0x06cf, 0x0000 }, - { 0x8700, 0x06d2, 0x2000 }, - { 0x0700, 0x06d1, 0x0000 }, - { 0x0700, 0x06d3, 0x0000 }, - { 0x8c00, 0x06dc, 0x4000 }, - { 0x8c00, 0x06d8, 0x3000 }, - { 0x8c00, 0x06d6, 0x2000 }, - { 0x0700, 0x06d5, 0x0000 }, - { 0x0c00, 0x06d7, 0x0000 }, - { 0x8c00, 0x06da, 0x2000 }, - { 0x0c00, 0x06d9, 0x0000 }, - { 0x0c00, 0x06db, 0x0000 }, - { 0x8c00, 0x06e0, 0x3000 }, - { 0x8b00, 0x06de, 0x2000 }, - { 0x0100, 0x06dd, 0x0000 }, - { 0x0c00, 0x06df, 0x0000 }, - { 0x8c00, 0x06e2, 0x2000 }, - { 0x0c00, 0x06e1, 0x0000 }, - { 0x0c00, 0x06e3, 0x0000 }, - { 0x9500, 0x0704, 0x6000 }, - { 0x8d00, 0x06f4, 0x5000 }, - { 0x8c00, 0x06ec, 0x4000 }, - { 0x8c00, 0x06e8, 0x3000 }, - { 0x8600, 0x06e6, 0x2000 }, - { 0x0600, 0x06e5, 0x0000 }, - { 0x0c00, 0x06e7, 0x0000 }, - { 0x8c00, 0x06ea, 0x2000 }, - { 0x1a00, 0x06e9, 0x0000 }, - { 0x0c00, 0x06eb, 0x0000 }, - { 0x8d00, 0x06f0, 0x3000 }, - { 0x8700, 0x06ee, 0x2000 }, - { 0x0c00, 0x06ed, 0x0000 }, - { 0x0700, 0x06ef, 0x0000 }, - { 0x8d00, 0x06f2, 0x2000 }, - { 0x0d00, 0x06f1, 0x0000 }, - { 0x0d00, 0x06f3, 0x0000 }, - { 0x8700, 0x06fc, 0x4000 }, - { 0x8d00, 0x06f8, 0x3000 }, - { 0x8d00, 0x06f6, 0x2000 }, - { 0x0d00, 0x06f5, 0x0000 }, - { 0x0d00, 0x06f7, 0x0000 }, - { 0x8700, 0x06fa, 0x2000 }, - { 0x0d00, 0x06f9, 0x0000 }, - { 0x0700, 0x06fb, 0x0000 }, - { 0x9500, 0x0700, 0x3000 }, - { 0x9a00, 0x06fe, 0x2000 }, - { 0x1a00, 0x06fd, 0x0000 }, - { 0x0700, 0x06ff, 0x0000 }, - { 0x9500, 0x0702, 0x2000 }, - { 0x1500, 0x0701, 0x0000 }, - { 0x1500, 0x0703, 0x0000 }, - { 0x8700, 0x0715, 0x5000 }, - { 0x9500, 0x070c, 0x4000 }, - { 0x9500, 0x0708, 0x3000 }, - { 0x9500, 0x0706, 0x2000 }, - { 0x1500, 0x0705, 0x0000 }, - { 0x1500, 0x0707, 0x0000 }, - { 0x9500, 0x070a, 0x2000 }, - { 0x1500, 0x0709, 0x0000 }, - { 0x1500, 0x070b, 0x0000 }, - { 0x8c00, 0x0711, 0x3000 }, - { 0x8100, 0x070f, 0x2000 }, - { 0x1500, 0x070d, 0x0000 }, - { 0x0700, 0x0710, 0x0000 }, - { 0x8700, 0x0713, 0x2000 }, - { 0x0700, 0x0712, 0x0000 }, - { 0x0700, 0x0714, 0x0000 }, - { 0x8700, 0x071d, 0x4000 }, - { 0x8700, 0x0719, 0x3000 }, - { 0x8700, 0x0717, 0x2000 }, - { 0x0700, 0x0716, 0x0000 }, - { 0x0700, 0x0718, 0x0000 }, - { 0x8700, 0x071b, 0x2000 }, - { 0x0700, 0x071a, 0x0000 }, - { 0x0700, 0x071c, 0x0000 }, - { 0x8700, 0x0721, 0x3000 }, - { 0x8700, 0x071f, 0x2000 }, - { 0x0700, 0x071e, 0x0000 }, - { 0x0700, 0x0720, 0x0000 }, - { 0x8700, 0x0723, 0x2000 }, - { 0x0700, 0x0722, 0x0000 }, - { 0x0700, 0x0724, 0x0000 }, - { 0x8700, 0x0797, 0x7000 }, - { 0x8c00, 0x0745, 0x6000 }, - { 0x8c00, 0x0735, 0x5000 }, - { 0x8700, 0x072d, 0x4000 }, - { 0x8700, 0x0729, 0x3000 }, - { 0x8700, 0x0727, 0x2000 }, - { 0x0700, 0x0726, 0x0000 }, - { 0x0700, 0x0728, 0x0000 }, - { 0x8700, 0x072b, 0x2000 }, - { 0x0700, 0x072a, 0x0000 }, - { 0x0700, 0x072c, 0x0000 }, - { 0x8c00, 0x0731, 0x3000 }, - { 0x8700, 0x072f, 0x2000 }, - { 0x0700, 0x072e, 0x0000 }, - { 0x0c00, 0x0730, 0x0000 }, - { 0x8c00, 0x0733, 0x2000 }, - { 0x0c00, 0x0732, 0x0000 }, - { 0x0c00, 0x0734, 0x0000 }, - { 0x8c00, 0x073d, 0x4000 }, - { 0x8c00, 0x0739, 0x3000 }, - { 0x8c00, 0x0737, 0x2000 }, - { 0x0c00, 0x0736, 0x0000 }, - { 0x0c00, 0x0738, 0x0000 }, - { 0x8c00, 0x073b, 0x2000 }, - { 0x0c00, 0x073a, 0x0000 }, - { 0x0c00, 0x073c, 0x0000 }, - { 0x8c00, 0x0741, 0x3000 }, - { 0x8c00, 0x073f, 0x2000 }, - { 0x0c00, 0x073e, 0x0000 }, - { 0x0c00, 0x0740, 0x0000 }, - { 0x8c00, 0x0743, 0x2000 }, - { 0x0c00, 0x0742, 0x0000 }, - { 0x0c00, 0x0744, 0x0000 }, - { 0x8700, 0x0787, 0x5000 }, - { 0x8700, 0x074f, 0x4000 }, - { 0x8c00, 0x0749, 0x3000 }, - { 0x8c00, 0x0747, 0x2000 }, - { 0x0c00, 0x0746, 0x0000 }, - { 0x0c00, 0x0748, 0x0000 }, - { 0x8700, 0x074d, 0x2000 }, - { 0x0c00, 0x074a, 0x0000 }, - { 0x0700, 0x074e, 0x0000 }, - { 0x8700, 0x0783, 0x3000 }, - { 0x8700, 0x0781, 0x2000 }, - { 0x0700, 0x0780, 0x0000 }, - { 0x0700, 0x0782, 0x0000 }, - { 0x8700, 0x0785, 0x2000 }, - { 0x0700, 0x0784, 0x0000 }, - { 0x0700, 0x0786, 0x0000 }, - { 0x8700, 0x078f, 0x4000 }, - { 0x8700, 0x078b, 0x3000 }, - { 0x8700, 0x0789, 0x2000 }, - { 0x0700, 0x0788, 0x0000 }, - { 0x0700, 0x078a, 0x0000 }, - { 0x8700, 0x078d, 0x2000 }, - { 0x0700, 0x078c, 0x0000 }, - { 0x0700, 0x078e, 0x0000 }, - { 0x8700, 0x0793, 0x3000 }, - { 0x8700, 0x0791, 0x2000 }, - { 0x0700, 0x0790, 0x0000 }, - { 0x0700, 0x0792, 0x0000 }, - { 0x8700, 0x0795, 0x2000 }, - { 0x0700, 0x0794, 0x0000 }, - { 0x0700, 0x0796, 0x0000 }, - { 0x8700, 0x0906, 0x6000 }, - { 0x8c00, 0x07a7, 0x5000 }, - { 0x8700, 0x079f, 0x4000 }, - { 0x8700, 0x079b, 0x3000 }, - { 0x8700, 0x0799, 0x2000 }, - { 0x0700, 0x0798, 0x0000 }, - { 0x0700, 0x079a, 0x0000 }, - { 0x8700, 0x079d, 0x2000 }, - { 0x0700, 0x079c, 0x0000 }, - { 0x0700, 0x079e, 0x0000 }, - { 0x8700, 0x07a3, 0x3000 }, - { 0x8700, 0x07a1, 0x2000 }, - { 0x0700, 0x07a0, 0x0000 }, - { 0x0700, 0x07a2, 0x0000 }, - { 0x8700, 0x07a5, 0x2000 }, - { 0x0700, 0x07a4, 0x0000 }, - { 0x0c00, 0x07a6, 0x0000 }, - { 0x8c00, 0x07af, 0x4000 }, - { 0x8c00, 0x07ab, 0x3000 }, - { 0x8c00, 0x07a9, 0x2000 }, - { 0x0c00, 0x07a8, 0x0000 }, - { 0x0c00, 0x07aa, 0x0000 }, - { 0x8c00, 0x07ad, 0x2000 }, - { 0x0c00, 0x07ac, 0x0000 }, - { 0x0c00, 0x07ae, 0x0000 }, - { 0x8c00, 0x0902, 0x3000 }, - { 0x8700, 0x07b1, 0x2000 }, - { 0x0c00, 0x07b0, 0x0000 }, - { 0x0c00, 0x0901, 0x0000 }, - { 0x8700, 0x0904, 0x2000 }, - { 0x0a00, 0x0903, 0x0000 }, - { 0x0700, 0x0905, 0x0000 }, - { 0x8700, 0x0916, 0x5000 }, - { 0x8700, 0x090e, 0x4000 }, - { 0x8700, 0x090a, 0x3000 }, - { 0x8700, 0x0908, 0x2000 }, - { 0x0700, 0x0907, 0x0000 }, - { 0x0700, 0x0909, 0x0000 }, - { 0x8700, 0x090c, 0x2000 }, - { 0x0700, 0x090b, 0x0000 }, - { 0x0700, 0x090d, 0x0000 }, - { 0x8700, 0x0912, 0x3000 }, - { 0x8700, 0x0910, 0x2000 }, - { 0x0700, 0x090f, 0x0000 }, - { 0x0700, 0x0911, 0x0000 }, - { 0x8700, 0x0914, 0x2000 }, - { 0x0700, 0x0913, 0x0000 }, - { 0x0700, 0x0915, 0x0000 }, - { 0x8700, 0x091e, 0x4000 }, - { 0x8700, 0x091a, 0x3000 }, - { 0x8700, 0x0918, 0x2000 }, - { 0x0700, 0x0917, 0x0000 }, - { 0x0700, 0x0919, 0x0000 }, - { 0x8700, 0x091c, 0x2000 }, - { 0x0700, 0x091b, 0x0000 }, - { 0x0700, 0x091d, 0x0000 }, - { 0x8700, 0x0922, 0x3000 }, - { 0x8700, 0x0920, 0x2000 }, - { 0x0700, 0x091f, 0x0000 }, - { 0x0700, 0x0921, 0x0000 }, - { 0x8700, 0x0924, 0x2000 }, - { 0x0700, 0x0923, 0x0000 }, - { 0x0700, 0x0925, 0x0000 }, - { 0x8c00, 0x09cd, 0x8000 }, - { 0x8d00, 0x096d, 0x7000 }, - { 0x8c00, 0x0948, 0x6000 }, - { 0x8700, 0x0936, 0x5000 }, - { 0x8700, 0x092e, 0x4000 }, - { 0x8700, 0x092a, 0x3000 }, - { 0x8700, 0x0928, 0x2000 }, - { 0x0700, 0x0927, 0x0000 }, - { 0x0700, 0x0929, 0x0000 }, - { 0x8700, 0x092c, 0x2000 }, - { 0x0700, 0x092b, 0x0000 }, - { 0x0700, 0x092d, 0x0000 }, - { 0x8700, 0x0932, 0x3000 }, - { 0x8700, 0x0930, 0x2000 }, - { 0x0700, 0x092f, 0x0000 }, - { 0x0700, 0x0931, 0x0000 }, - { 0x8700, 0x0934, 0x2000 }, - { 0x0700, 0x0933, 0x0000 }, - { 0x0700, 0x0935, 0x0000 }, - { 0x8a00, 0x0940, 0x4000 }, - { 0x8c00, 0x093c, 0x3000 }, - { 0x8700, 0x0938, 0x2000 }, - { 0x0700, 0x0937, 0x0000 }, - { 0x0700, 0x0939, 0x0000 }, - { 0x8a00, 0x093e, 0x2000 }, - { 0x0700, 0x093d, 0x0000 }, - { 0x0a00, 0x093f, 0x0000 }, - { 0x8c00, 0x0944, 0x3000 }, - { 0x8c00, 0x0942, 0x2000 }, - { 0x0c00, 0x0941, 0x0000 }, - { 0x0c00, 0x0943, 0x0000 }, - { 0x8c00, 0x0946, 0x2000 }, - { 0x0c00, 0x0945, 0x0000 }, - { 0x0c00, 0x0947, 0x0000 }, - { 0x8700, 0x095d, 0x5000 }, - { 0x8c00, 0x0952, 0x4000 }, - { 0x8a00, 0x094c, 0x3000 }, - { 0x8a00, 0x094a, 0x2000 }, - { 0x0a00, 0x0949, 0x0000 }, - { 0x0a00, 0x094b, 0x0000 }, - { 0x8700, 0x0950, 0x2000 }, - { 0x0c00, 0x094d, 0x0000 }, - { 0x0c00, 0x0951, 0x0000 }, - { 0x8700, 0x0959, 0x3000 }, - { 0x8c00, 0x0954, 0x2000 }, - { 0x0c00, 0x0953, 0x0000 }, - { 0x0700, 0x0958, 0x0000 }, - { 0x8700, 0x095b, 0x2000 }, - { 0x0700, 0x095a, 0x0000 }, - { 0x0700, 0x095c, 0x0000 }, - { 0x9500, 0x0965, 0x4000 }, - { 0x8700, 0x0961, 0x3000 }, - { 0x8700, 0x095f, 0x2000 }, - { 0x0700, 0x095e, 0x0000 }, - { 0x0700, 0x0960, 0x0000 }, - { 0x8c00, 0x0963, 0x2000 }, - { 0x0c00, 0x0962, 0x0000 }, - { 0x1500, 0x0964, 0x0000 }, - { 0x8d00, 0x0969, 0x3000 }, - { 0x8d00, 0x0967, 0x2000 }, - { 0x0d00, 0x0966, 0x0000 }, - { 0x0d00, 0x0968, 0x0000 }, - { 0x8d00, 0x096b, 0x2000 }, - { 0x0d00, 0x096a, 0x0000 }, - { 0x0d00, 0x096c, 0x0000 }, - { 0x8700, 0x09a2, 0x6000 }, - { 0x8700, 0x0990, 0x5000 }, - { 0x8700, 0x0986, 0x4000 }, - { 0x8c00, 0x0981, 0x3000 }, - { 0x8d00, 0x096f, 0x2000 }, - { 0x0d00, 0x096e, 0x0000 }, - { 0x1500, 0x0970, 0x0000 }, - { 0x8a00, 0x0983, 0x2000 }, - { 0x0a00, 0x0982, 0x0000 }, - { 0x0700, 0x0985, 0x0000 }, - { 0x8700, 0x098a, 0x3000 }, - { 0x8700, 0x0988, 0x2000 }, - { 0x0700, 0x0987, 0x0000 }, - { 0x0700, 0x0989, 0x0000 }, - { 0x8700, 0x098c, 0x2000 }, - { 0x0700, 0x098b, 0x0000 }, - { 0x0700, 0x098f, 0x0000 }, - { 0x8700, 0x099a, 0x4000 }, - { 0x8700, 0x0996, 0x3000 }, - { 0x8700, 0x0994, 0x2000 }, - { 0x0700, 0x0993, 0x0000 }, - { 0x0700, 0x0995, 0x0000 }, - { 0x8700, 0x0998, 0x2000 }, - { 0x0700, 0x0997, 0x0000 }, - { 0x0700, 0x0999, 0x0000 }, - { 0x8700, 0x099e, 0x3000 }, - { 0x8700, 0x099c, 0x2000 }, - { 0x0700, 0x099b, 0x0000 }, - { 0x0700, 0x099d, 0x0000 }, - { 0x8700, 0x09a0, 0x2000 }, - { 0x0700, 0x099f, 0x0000 }, - { 0x0700, 0x09a1, 0x0000 }, - { 0x8700, 0x09b7, 0x5000 }, - { 0x8700, 0x09ab, 0x4000 }, - { 0x8700, 0x09a6, 0x3000 }, - { 0x8700, 0x09a4, 0x2000 }, - { 0x0700, 0x09a3, 0x0000 }, - { 0x0700, 0x09a5, 0x0000 }, - { 0x8700, 0x09a8, 0x2000 }, - { 0x0700, 0x09a7, 0x0000 }, - { 0x0700, 0x09aa, 0x0000 }, - { 0x8700, 0x09af, 0x3000 }, - { 0x8700, 0x09ad, 0x2000 }, - { 0x0700, 0x09ac, 0x0000 }, - { 0x0700, 0x09ae, 0x0000 }, - { 0x8700, 0x09b2, 0x2000 }, - { 0x0700, 0x09b0, 0x0000 }, - { 0x0700, 0x09b6, 0x0000 }, - { 0x8c00, 0x09c1, 0x4000 }, - { 0x8700, 0x09bd, 0x3000 }, - { 0x8700, 0x09b9, 0x2000 }, - { 0x0700, 0x09b8, 0x0000 }, - { 0x0c00, 0x09bc, 0x0000 }, - { 0x8a00, 0x09bf, 0x2000 }, - { 0x0a00, 0x09be, 0x0000 }, - { 0x0a00, 0x09c0, 0x0000 }, - { 0x8a00, 0x09c7, 0x3000 }, - { 0x8c00, 0x09c3, 0x2000 }, - { 0x0c00, 0x09c2, 0x0000 }, - { 0x0c00, 0x09c4, 0x0000 }, - { 0x8a00, 0x09cb, 0x2000 }, - { 0x0a00, 0x09c8, 0x0000 }, - { 0x0a00, 0x09cc, 0x0000 }, - { 0x8700, 0x0a2b, 0x7000 }, - { 0x8a00, 0x0a03, 0x6000 }, - { 0x8d00, 0x09ed, 0x5000 }, - { 0x8c00, 0x09e3, 0x4000 }, - { 0x8700, 0x09df, 0x3000 }, - { 0x8700, 0x09dc, 0x2000 }, - { 0x0a00, 0x09d7, 0x0000 }, - { 0x0700, 0x09dd, 0x0000 }, - { 0x8700, 0x09e1, 0x2000 }, - { 0x0700, 0x09e0, 0x0000 }, - { 0x0c00, 0x09e2, 0x0000 }, - { 0x8d00, 0x09e9, 0x3000 }, - { 0x8d00, 0x09e7, 0x2000 }, - { 0x0d00, 0x09e6, 0x0000 }, - { 0x0d00, 0x09e8, 0x0000 }, - { 0x8d00, 0x09eb, 0x2000 }, - { 0x0d00, 0x09ea, 0x0000 }, - { 0x0d00, 0x09ec, 0x0000 }, - { 0x8f00, 0x09f5, 0x4000 }, - { 0x8700, 0x09f1, 0x3000 }, - { 0x8d00, 0x09ef, 0x2000 }, - { 0x0d00, 0x09ee, 0x0000 }, - { 0x0700, 0x09f0, 0x0000 }, - { 0x9700, 0x09f3, 0x2000 }, - { 0x1700, 0x09f2, 0x0000 }, - { 0x0f00, 0x09f4, 0x0000 }, - { 0x8f00, 0x09f9, 0x3000 }, - { 0x8f00, 0x09f7, 0x2000 }, - { 0x0f00, 0x09f6, 0x0000 }, - { 0x0f00, 0x09f8, 0x0000 }, - { 0x8c00, 0x0a01, 0x2000 }, - { 0x1a00, 0x09fa, 0x0000 }, - { 0x0c00, 0x0a02, 0x0000 }, - { 0x8700, 0x0a1a, 0x5000 }, - { 0x8700, 0x0a10, 0x4000 }, - { 0x8700, 0x0a08, 0x3000 }, - { 0x8700, 0x0a06, 0x2000 }, - { 0x0700, 0x0a05, 0x0000 }, - { 0x0700, 0x0a07, 0x0000 }, - { 0x8700, 0x0a0a, 0x2000 }, - { 0x0700, 0x0a09, 0x0000 }, - { 0x0700, 0x0a0f, 0x0000 }, - { 0x8700, 0x0a16, 0x3000 }, - { 0x8700, 0x0a14, 0x2000 }, - { 0x0700, 0x0a13, 0x0000 }, - { 0x0700, 0x0a15, 0x0000 }, - { 0x8700, 0x0a18, 0x2000 }, - { 0x0700, 0x0a17, 0x0000 }, - { 0x0700, 0x0a19, 0x0000 }, - { 0x8700, 0x0a22, 0x4000 }, - { 0x8700, 0x0a1e, 0x3000 }, - { 0x8700, 0x0a1c, 0x2000 }, - { 0x0700, 0x0a1b, 0x0000 }, - { 0x0700, 0x0a1d, 0x0000 }, - { 0x8700, 0x0a20, 0x2000 }, - { 0x0700, 0x0a1f, 0x0000 }, - { 0x0700, 0x0a21, 0x0000 }, - { 0x8700, 0x0a26, 0x3000 }, - { 0x8700, 0x0a24, 0x2000 }, - { 0x0700, 0x0a23, 0x0000 }, - { 0x0700, 0x0a25, 0x0000 }, - { 0x8700, 0x0a28, 0x2000 }, - { 0x0700, 0x0a27, 0x0000 }, - { 0x0700, 0x0a2a, 0x0000 }, - { 0x8d00, 0x0a6a, 0x6000 }, - { 0x8c00, 0x0a41, 0x5000 }, - { 0x8700, 0x0a35, 0x4000 }, - { 0x8700, 0x0a2f, 0x3000 }, - { 0x8700, 0x0a2d, 0x2000 }, - { 0x0700, 0x0a2c, 0x0000 }, - { 0x0700, 0x0a2e, 0x0000 }, - { 0x8700, 0x0a32, 0x2000 }, - { 0x0700, 0x0a30, 0x0000 }, - { 0x0700, 0x0a33, 0x0000 }, - { 0x8c00, 0x0a3c, 0x3000 }, - { 0x8700, 0x0a38, 0x2000 }, - { 0x0700, 0x0a36, 0x0000 }, - { 0x0700, 0x0a39, 0x0000 }, - { 0x8a00, 0x0a3f, 0x2000 }, - { 0x0a00, 0x0a3e, 0x0000 }, - { 0x0a00, 0x0a40, 0x0000 }, - { 0x8700, 0x0a5a, 0x4000 }, - { 0x8c00, 0x0a4b, 0x3000 }, - { 0x8c00, 0x0a47, 0x2000 }, - { 0x0c00, 0x0a42, 0x0000 }, - { 0x0c00, 0x0a48, 0x0000 }, - { 0x8c00, 0x0a4d, 0x2000 }, - { 0x0c00, 0x0a4c, 0x0000 }, - { 0x0700, 0x0a59, 0x0000 }, - { 0x8d00, 0x0a66, 0x3000 }, - { 0x8700, 0x0a5c, 0x2000 }, - { 0x0700, 0x0a5b, 0x0000 }, - { 0x0700, 0x0a5e, 0x0000 }, - { 0x8d00, 0x0a68, 0x2000 }, - { 0x0d00, 0x0a67, 0x0000 }, - { 0x0d00, 0x0a69, 0x0000 }, - { 0x8700, 0x0a87, 0x5000 }, - { 0x8700, 0x0a72, 0x4000 }, - { 0x8d00, 0x0a6e, 0x3000 }, - { 0x8d00, 0x0a6c, 0x2000 }, - { 0x0d00, 0x0a6b, 0x0000 }, - { 0x0d00, 0x0a6d, 0x0000 }, - { 0x8c00, 0x0a70, 0x2000 }, - { 0x0d00, 0x0a6f, 0x0000 }, - { 0x0c00, 0x0a71, 0x0000 }, - { 0x8c00, 0x0a82, 0x3000 }, - { 0x8700, 0x0a74, 0x2000 }, - { 0x0700, 0x0a73, 0x0000 }, - { 0x0c00, 0x0a81, 0x0000 }, - { 0x8700, 0x0a85, 0x2000 }, - { 0x0a00, 0x0a83, 0x0000 }, - { 0x0700, 0x0a86, 0x0000 }, - { 0x8700, 0x0a90, 0x4000 }, - { 0x8700, 0x0a8b, 0x3000 }, - { 0x8700, 0x0a89, 0x2000 }, - { 0x0700, 0x0a88, 0x0000 }, - { 0x0700, 0x0a8a, 0x0000 }, - { 0x8700, 0x0a8d, 0x2000 }, - { 0x0700, 0x0a8c, 0x0000 }, - { 0x0700, 0x0a8f, 0x0000 }, - { 0x8700, 0x0a95, 0x3000 }, - { 0x8700, 0x0a93, 0x2000 }, - { 0x0700, 0x0a91, 0x0000 }, - { 0x0700, 0x0a94, 0x0000 }, - { 0x8700, 0x0a97, 0x2000 }, - { 0x0700, 0x0a96, 0x0000 }, - { 0x0700, 0x0a98, 0x0000 }, - { 0x8700, 0x10ef, 0xb000 }, - { 0x8700, 0x0dc6, 0xa000 }, - { 0x8700, 0x0c31, 0x9000 }, - { 0x8700, 0x0b5f, 0x8000 }, - { 0x8a00, 0x0b03, 0x7000 }, - { 0x8a00, 0x0abe, 0x6000 }, - { 0x8700, 0x0aaa, 0x5000 }, - { 0x8700, 0x0aa1, 0x4000 }, - { 0x8700, 0x0a9d, 0x3000 }, - { 0x8700, 0x0a9b, 0x2000 }, - { 0x0700, 0x0a9a, 0x0000 }, - { 0x0700, 0x0a9c, 0x0000 }, - { 0x8700, 0x0a9f, 0x2000 }, - { 0x0700, 0x0a9e, 0x0000 }, - { 0x0700, 0x0aa0, 0x0000 }, - { 0x8700, 0x0aa5, 0x3000 }, - { 0x8700, 0x0aa3, 0x2000 }, - { 0x0700, 0x0aa2, 0x0000 }, - { 0x0700, 0x0aa4, 0x0000 }, - { 0x8700, 0x0aa7, 0x2000 }, - { 0x0700, 0x0aa6, 0x0000 }, - { 0x0700, 0x0aa8, 0x0000 }, - { 0x8700, 0x0ab3, 0x4000 }, - { 0x8700, 0x0aae, 0x3000 }, - { 0x8700, 0x0aac, 0x2000 }, - { 0x0700, 0x0aab, 0x0000 }, - { 0x0700, 0x0aad, 0x0000 }, - { 0x8700, 0x0ab0, 0x2000 }, - { 0x0700, 0x0aaf, 0x0000 }, - { 0x0700, 0x0ab2, 0x0000 }, - { 0x8700, 0x0ab8, 0x3000 }, - { 0x8700, 0x0ab6, 0x2000 }, - { 0x0700, 0x0ab5, 0x0000 }, - { 0x0700, 0x0ab7, 0x0000 }, - { 0x8c00, 0x0abc, 0x2000 }, - { 0x0700, 0x0ab9, 0x0000 }, - { 0x0700, 0x0abd, 0x0000 }, - { 0x8700, 0x0ae1, 0x5000 }, - { 0x8c00, 0x0ac7, 0x4000 }, - { 0x8c00, 0x0ac2, 0x3000 }, - { 0x8a00, 0x0ac0, 0x2000 }, - { 0x0a00, 0x0abf, 0x0000 }, - { 0x0c00, 0x0ac1, 0x0000 }, - { 0x8c00, 0x0ac4, 0x2000 }, - { 0x0c00, 0x0ac3, 0x0000 }, - { 0x0c00, 0x0ac5, 0x0000 }, - { 0x8a00, 0x0acc, 0x3000 }, - { 0x8a00, 0x0ac9, 0x2000 }, - { 0x0c00, 0x0ac8, 0x0000 }, - { 0x0a00, 0x0acb, 0x0000 }, - { 0x8700, 0x0ad0, 0x2000 }, - { 0x0c00, 0x0acd, 0x0000 }, - { 0x0700, 0x0ae0, 0x0000 }, - { 0x8d00, 0x0aeb, 0x4000 }, - { 0x8d00, 0x0ae7, 0x3000 }, - { 0x8c00, 0x0ae3, 0x2000 }, - { 0x0c00, 0x0ae2, 0x0000 }, - { 0x0d00, 0x0ae6, 0x0000 }, - { 0x8d00, 0x0ae9, 0x2000 }, - { 0x0d00, 0x0ae8, 0x0000 }, - { 0x0d00, 0x0aea, 0x0000 }, - { 0x8d00, 0x0aef, 0x3000 }, - { 0x8d00, 0x0aed, 0x2000 }, - { 0x0d00, 0x0aec, 0x0000 }, - { 0x0d00, 0x0aee, 0x0000 }, - { 0x8c00, 0x0b01, 0x2000 }, - { 0x1700, 0x0af1, 0x0000 }, - { 0x0a00, 0x0b02, 0x0000 }, - { 0x8700, 0x0b28, 0x6000 }, - { 0x8700, 0x0b18, 0x5000 }, - { 0x8700, 0x0b0c, 0x4000 }, - { 0x8700, 0x0b08, 0x3000 }, - { 0x8700, 0x0b06, 0x2000 }, - { 0x0700, 0x0b05, 0x0000 }, - { 0x0700, 0x0b07, 0x0000 }, - { 0x8700, 0x0b0a, 0x2000 }, - { 0x0700, 0x0b09, 0x0000 }, - { 0x0700, 0x0b0b, 0x0000 }, - { 0x8700, 0x0b14, 0x3000 }, - { 0x8700, 0x0b10, 0x2000 }, - { 0x0700, 0x0b0f, 0x0000 }, - { 0x0700, 0x0b13, 0x0000 }, - { 0x8700, 0x0b16, 0x2000 }, - { 0x0700, 0x0b15, 0x0000 }, - { 0x0700, 0x0b17, 0x0000 }, - { 0x8700, 0x0b20, 0x4000 }, - { 0x8700, 0x0b1c, 0x3000 }, - { 0x8700, 0x0b1a, 0x2000 }, - { 0x0700, 0x0b19, 0x0000 }, - { 0x0700, 0x0b1b, 0x0000 }, - { 0x8700, 0x0b1e, 0x2000 }, - { 0x0700, 0x0b1d, 0x0000 }, - { 0x0700, 0x0b1f, 0x0000 }, - { 0x8700, 0x0b24, 0x3000 }, - { 0x8700, 0x0b22, 0x2000 }, - { 0x0700, 0x0b21, 0x0000 }, - { 0x0700, 0x0b23, 0x0000 }, - { 0x8700, 0x0b26, 0x2000 }, - { 0x0700, 0x0b25, 0x0000 }, - { 0x0700, 0x0b27, 0x0000 }, - { 0x8700, 0x0b3d, 0x5000 }, - { 0x8700, 0x0b32, 0x4000 }, - { 0x8700, 0x0b2d, 0x3000 }, - { 0x8700, 0x0b2b, 0x2000 }, - { 0x0700, 0x0b2a, 0x0000 }, - { 0x0700, 0x0b2c, 0x0000 }, - { 0x8700, 0x0b2f, 0x2000 }, - { 0x0700, 0x0b2e, 0x0000 }, - { 0x0700, 0x0b30, 0x0000 }, - { 0x8700, 0x0b37, 0x3000 }, - { 0x8700, 0x0b35, 0x2000 }, - { 0x0700, 0x0b33, 0x0000 }, - { 0x0700, 0x0b36, 0x0000 }, - { 0x8700, 0x0b39, 0x2000 }, - { 0x0700, 0x0b38, 0x0000 }, - { 0x0c00, 0x0b3c, 0x0000 }, - { 0x8a00, 0x0b48, 0x4000 }, - { 0x8c00, 0x0b41, 0x3000 }, - { 0x8c00, 0x0b3f, 0x2000 }, - { 0x0a00, 0x0b3e, 0x0000 }, - { 0x0a00, 0x0b40, 0x0000 }, - { 0x8c00, 0x0b43, 0x2000 }, - { 0x0c00, 0x0b42, 0x0000 }, - { 0x0a00, 0x0b47, 0x0000 }, - { 0x8c00, 0x0b56, 0x3000 }, - { 0x8a00, 0x0b4c, 0x2000 }, - { 0x0a00, 0x0b4b, 0x0000 }, - { 0x0c00, 0x0b4d, 0x0000 }, - { 0x8700, 0x0b5c, 0x2000 }, - { 0x0a00, 0x0b57, 0x0000 }, - { 0x0700, 0x0b5d, 0x0000 }, - { 0x8d00, 0x0be7, 0x7000 }, - { 0x8700, 0x0b9c, 0x6000 }, - { 0x8700, 0x0b83, 0x5000 }, - { 0x8d00, 0x0b6b, 0x4000 }, - { 0x8d00, 0x0b67, 0x3000 }, - { 0x8700, 0x0b61, 0x2000 }, - { 0x0700, 0x0b60, 0x0000 }, - { 0x0d00, 0x0b66, 0x0000 }, - { 0x8d00, 0x0b69, 0x2000 }, - { 0x0d00, 0x0b68, 0x0000 }, - { 0x0d00, 0x0b6a, 0x0000 }, - { 0x8d00, 0x0b6f, 0x3000 }, - { 0x8d00, 0x0b6d, 0x2000 }, - { 0x0d00, 0x0b6c, 0x0000 }, - { 0x0d00, 0x0b6e, 0x0000 }, - { 0x8700, 0x0b71, 0x2000 }, - { 0x1a00, 0x0b70, 0x0000 }, - { 0x0c00, 0x0b82, 0x0000 }, - { 0x8700, 0x0b8f, 0x4000 }, - { 0x8700, 0x0b88, 0x3000 }, - { 0x8700, 0x0b86, 0x2000 }, - { 0x0700, 0x0b85, 0x0000 }, - { 0x0700, 0x0b87, 0x0000 }, - { 0x8700, 0x0b8a, 0x2000 }, - { 0x0700, 0x0b89, 0x0000 }, - { 0x0700, 0x0b8e, 0x0000 }, - { 0x8700, 0x0b94, 0x3000 }, - { 0x8700, 0x0b92, 0x2000 }, - { 0x0700, 0x0b90, 0x0000 }, - { 0x0700, 0x0b93, 0x0000 }, - { 0x8700, 0x0b99, 0x2000 }, - { 0x0700, 0x0b95, 0x0000 }, - { 0x0700, 0x0b9a, 0x0000 }, - { 0x8700, 0x0bb7, 0x5000 }, - { 0x8700, 0x0bae, 0x4000 }, - { 0x8700, 0x0ba4, 0x3000 }, - { 0x8700, 0x0b9f, 0x2000 }, - { 0x0700, 0x0b9e, 0x0000 }, - { 0x0700, 0x0ba3, 0x0000 }, - { 0x8700, 0x0ba9, 0x2000 }, - { 0x0700, 0x0ba8, 0x0000 }, - { 0x0700, 0x0baa, 0x0000 }, - { 0x8700, 0x0bb2, 0x3000 }, - { 0x8700, 0x0bb0, 0x2000 }, - { 0x0700, 0x0baf, 0x0000 }, - { 0x0700, 0x0bb1, 0x0000 }, - { 0x8700, 0x0bb4, 0x2000 }, - { 0x0700, 0x0bb3, 0x0000 }, - { 0x0700, 0x0bb5, 0x0000 }, - { 0x8a00, 0x0bc6, 0x4000 }, - { 0x8a00, 0x0bbf, 0x3000 }, - { 0x8700, 0x0bb9, 0x2000 }, - { 0x0700, 0x0bb8, 0x0000 }, - { 0x0a00, 0x0bbe, 0x0000 }, - { 0x8a00, 0x0bc1, 0x2000 }, - { 0x0c00, 0x0bc0, 0x0000 }, - { 0x0a00, 0x0bc2, 0x0000 }, - { 0x8a00, 0x0bcb, 0x3000 }, - { 0x8a00, 0x0bc8, 0x2000 }, - { 0x0a00, 0x0bc7, 0x0000 }, - { 0x0a00, 0x0bca, 0x0000 }, - { 0x8c00, 0x0bcd, 0x2000 }, - { 0x0a00, 0x0bcc, 0x0000 }, - { 0x0a00, 0x0bd7, 0x0000 }, - { 0x8700, 0x0c0f, 0x6000 }, - { 0x9a00, 0x0bf7, 0x5000 }, - { 0x8d00, 0x0bef, 0x4000 }, - { 0x8d00, 0x0beb, 0x3000 }, - { 0x8d00, 0x0be9, 0x2000 }, - { 0x0d00, 0x0be8, 0x0000 }, - { 0x0d00, 0x0bea, 0x0000 }, - { 0x8d00, 0x0bed, 0x2000 }, - { 0x0d00, 0x0bec, 0x0000 }, - { 0x0d00, 0x0bee, 0x0000 }, - { 0x9a00, 0x0bf3, 0x3000 }, - { 0x8f00, 0x0bf1, 0x2000 }, - { 0x0f00, 0x0bf0, 0x0000 }, - { 0x0f00, 0x0bf2, 0x0000 }, - { 0x9a00, 0x0bf5, 0x2000 }, - { 0x1a00, 0x0bf4, 0x0000 }, - { 0x1a00, 0x0bf6, 0x0000 }, - { 0x8700, 0x0c06, 0x4000 }, - { 0x8a00, 0x0c01, 0x3000 }, - { 0x9700, 0x0bf9, 0x2000 }, - { 0x1a00, 0x0bf8, 0x0000 }, - { 0x1a00, 0x0bfa, 0x0000 }, - { 0x8a00, 0x0c03, 0x2000 }, - { 0x0a00, 0x0c02, 0x0000 }, - { 0x0700, 0x0c05, 0x0000 }, - { 0x8700, 0x0c0a, 0x3000 }, - { 0x8700, 0x0c08, 0x2000 }, - { 0x0700, 0x0c07, 0x0000 }, - { 0x0700, 0x0c09, 0x0000 }, - { 0x8700, 0x0c0c, 0x2000 }, - { 0x0700, 0x0c0b, 0x0000 }, - { 0x0700, 0x0c0e, 0x0000 }, - { 0x8700, 0x0c20, 0x5000 }, - { 0x8700, 0x0c18, 0x4000 }, - { 0x8700, 0x0c14, 0x3000 }, - { 0x8700, 0x0c12, 0x2000 }, - { 0x0700, 0x0c10, 0x0000 }, - { 0x0700, 0x0c13, 0x0000 }, - { 0x8700, 0x0c16, 0x2000 }, - { 0x0700, 0x0c15, 0x0000 }, - { 0x0700, 0x0c17, 0x0000 }, - { 0x8700, 0x0c1c, 0x3000 }, - { 0x8700, 0x0c1a, 0x2000 }, - { 0x0700, 0x0c19, 0x0000 }, - { 0x0700, 0x0c1b, 0x0000 }, - { 0x8700, 0x0c1e, 0x2000 }, - { 0x0700, 0x0c1d, 0x0000 }, - { 0x0700, 0x0c1f, 0x0000 }, - { 0x8700, 0x0c28, 0x4000 }, - { 0x8700, 0x0c24, 0x3000 }, - { 0x8700, 0x0c22, 0x2000 }, - { 0x0700, 0x0c21, 0x0000 }, - { 0x0700, 0x0c23, 0x0000 }, - { 0x8700, 0x0c26, 0x2000 }, - { 0x0700, 0x0c25, 0x0000 }, - { 0x0700, 0x0c27, 0x0000 }, - { 0x8700, 0x0c2d, 0x3000 }, - { 0x8700, 0x0c2b, 0x2000 }, - { 0x0700, 0x0c2a, 0x0000 }, - { 0x0700, 0x0c2c, 0x0000 }, - { 0x8700, 0x0c2f, 0x2000 }, - { 0x0700, 0x0c2e, 0x0000 }, - { 0x0700, 0x0c30, 0x0000 }, - { 0x8700, 0x0d0e, 0x8000 }, - { 0x8700, 0x0ca1, 0x7000 }, - { 0x8d00, 0x0c6c, 0x6000 }, - { 0x8c00, 0x0c47, 0x5000 }, - { 0x8c00, 0x0c3e, 0x4000 }, - { 0x8700, 0x0c36, 0x3000 }, - { 0x8700, 0x0c33, 0x2000 }, - { 0x0700, 0x0c32, 0x0000 }, - { 0x0700, 0x0c35, 0x0000 }, - { 0x8700, 0x0c38, 0x2000 }, - { 0x0700, 0x0c37, 0x0000 }, - { 0x0700, 0x0c39, 0x0000 }, - { 0x8a00, 0x0c42, 0x3000 }, - { 0x8c00, 0x0c40, 0x2000 }, - { 0x0c00, 0x0c3f, 0x0000 }, - { 0x0a00, 0x0c41, 0x0000 }, - { 0x8a00, 0x0c44, 0x2000 }, - { 0x0a00, 0x0c43, 0x0000 }, - { 0x0c00, 0x0c46, 0x0000 }, - { 0x8700, 0x0c60, 0x4000 }, - { 0x8c00, 0x0c4c, 0x3000 }, - { 0x8c00, 0x0c4a, 0x2000 }, - { 0x0c00, 0x0c48, 0x0000 }, - { 0x0c00, 0x0c4b, 0x0000 }, - { 0x8c00, 0x0c55, 0x2000 }, - { 0x0c00, 0x0c4d, 0x0000 }, - { 0x0c00, 0x0c56, 0x0000 }, - { 0x8d00, 0x0c68, 0x3000 }, - { 0x8d00, 0x0c66, 0x2000 }, - { 0x0700, 0x0c61, 0x0000 }, - { 0x0d00, 0x0c67, 0x0000 }, - { 0x8d00, 0x0c6a, 0x2000 }, - { 0x0d00, 0x0c69, 0x0000 }, - { 0x0d00, 0x0c6b, 0x0000 }, - { 0x8700, 0x0c90, 0x5000 }, - { 0x8700, 0x0c87, 0x4000 }, - { 0x8a00, 0x0c82, 0x3000 }, - { 0x8d00, 0x0c6e, 0x2000 }, - { 0x0d00, 0x0c6d, 0x0000 }, - { 0x0d00, 0x0c6f, 0x0000 }, - { 0x8700, 0x0c85, 0x2000 }, - { 0x0a00, 0x0c83, 0x0000 }, - { 0x0700, 0x0c86, 0x0000 }, - { 0x8700, 0x0c8b, 0x3000 }, - { 0x8700, 0x0c89, 0x2000 }, - { 0x0700, 0x0c88, 0x0000 }, - { 0x0700, 0x0c8a, 0x0000 }, - { 0x8700, 0x0c8e, 0x2000 }, - { 0x0700, 0x0c8c, 0x0000 }, - { 0x0700, 0x0c8f, 0x0000 }, - { 0x8700, 0x0c99, 0x4000 }, - { 0x8700, 0x0c95, 0x3000 }, - { 0x8700, 0x0c93, 0x2000 }, - { 0x0700, 0x0c92, 0x0000 }, - { 0x0700, 0x0c94, 0x0000 }, - { 0x8700, 0x0c97, 0x2000 }, - { 0x0700, 0x0c96, 0x0000 }, - { 0x0700, 0x0c98, 0x0000 }, - { 0x8700, 0x0c9d, 0x3000 }, - { 0x8700, 0x0c9b, 0x2000 }, - { 0x0700, 0x0c9a, 0x0000 }, - { 0x0700, 0x0c9c, 0x0000 }, - { 0x8700, 0x0c9f, 0x2000 }, - { 0x0700, 0x0c9e, 0x0000 }, - { 0x0700, 0x0ca0, 0x0000 }, - { 0x8c00, 0x0cc6, 0x6000 }, - { 0x8700, 0x0cb2, 0x5000 }, - { 0x8700, 0x0caa, 0x4000 }, - { 0x8700, 0x0ca5, 0x3000 }, - { 0x8700, 0x0ca3, 0x2000 }, - { 0x0700, 0x0ca2, 0x0000 }, - { 0x0700, 0x0ca4, 0x0000 }, - { 0x8700, 0x0ca7, 0x2000 }, - { 0x0700, 0x0ca6, 0x0000 }, - { 0x0700, 0x0ca8, 0x0000 }, - { 0x8700, 0x0cae, 0x3000 }, - { 0x8700, 0x0cac, 0x2000 }, - { 0x0700, 0x0cab, 0x0000 }, - { 0x0700, 0x0cad, 0x0000 }, - { 0x8700, 0x0cb0, 0x2000 }, - { 0x0700, 0x0caf, 0x0000 }, - { 0x0700, 0x0cb1, 0x0000 }, - { 0x8700, 0x0cbd, 0x4000 }, - { 0x8700, 0x0cb7, 0x3000 }, - { 0x8700, 0x0cb5, 0x2000 }, - { 0x0700, 0x0cb3, 0x0000 }, - { 0x0700, 0x0cb6, 0x0000 }, - { 0x8700, 0x0cb9, 0x2000 }, - { 0x0700, 0x0cb8, 0x0000 }, - { 0x0c00, 0x0cbc, 0x0000 }, - { 0x8a00, 0x0cc1, 0x3000 }, - { 0x8c00, 0x0cbf, 0x2000 }, - { 0x0a00, 0x0cbe, 0x0000 }, - { 0x0a00, 0x0cc0, 0x0000 }, - { 0x8a00, 0x0cc3, 0x2000 }, - { 0x0a00, 0x0cc2, 0x0000 }, - { 0x0a00, 0x0cc4, 0x0000 }, - { 0x8d00, 0x0cea, 0x5000 }, - { 0x8a00, 0x0cd6, 0x4000 }, - { 0x8a00, 0x0ccb, 0x3000 }, - { 0x8a00, 0x0cc8, 0x2000 }, - { 0x0a00, 0x0cc7, 0x0000 }, - { 0x0a00, 0x0cca, 0x0000 }, - { 0x8c00, 0x0ccd, 0x2000 }, - { 0x0c00, 0x0ccc, 0x0000 }, - { 0x0a00, 0x0cd5, 0x0000 }, - { 0x8d00, 0x0ce6, 0x3000 }, - { 0x8700, 0x0ce0, 0x2000 }, - { 0x0700, 0x0cde, 0x0000 }, - { 0x0700, 0x0ce1, 0x0000 }, - { 0x8d00, 0x0ce8, 0x2000 }, - { 0x0d00, 0x0ce7, 0x0000 }, - { 0x0d00, 0x0ce9, 0x0000 }, - { 0x8700, 0x0d05, 0x4000 }, - { 0x8d00, 0x0cee, 0x3000 }, - { 0x8d00, 0x0cec, 0x2000 }, - { 0x0d00, 0x0ceb, 0x0000 }, - { 0x0d00, 0x0ced, 0x0000 }, - { 0x8a00, 0x0d02, 0x2000 }, - { 0x0d00, 0x0cef, 0x0000 }, - { 0x0a00, 0x0d03, 0x0000 }, - { 0x8700, 0x0d09, 0x3000 }, - { 0x8700, 0x0d07, 0x2000 }, - { 0x0700, 0x0d06, 0x0000 }, - { 0x0700, 0x0d08, 0x0000 }, - { 0x8700, 0x0d0b, 0x2000 }, - { 0x0700, 0x0d0a, 0x0000 }, - { 0x0700, 0x0d0c, 0x0000 }, - { 0x8d00, 0x0d6c, 0x7000 }, - { 0x8700, 0x0d30, 0x6000 }, - { 0x8700, 0x0d1f, 0x5000 }, - { 0x8700, 0x0d17, 0x4000 }, - { 0x8700, 0x0d13, 0x3000 }, - { 0x8700, 0x0d10, 0x2000 }, - { 0x0700, 0x0d0f, 0x0000 }, - { 0x0700, 0x0d12, 0x0000 }, - { 0x8700, 0x0d15, 0x2000 }, - { 0x0700, 0x0d14, 0x0000 }, - { 0x0700, 0x0d16, 0x0000 }, - { 0x8700, 0x0d1b, 0x3000 }, - { 0x8700, 0x0d19, 0x2000 }, - { 0x0700, 0x0d18, 0x0000 }, - { 0x0700, 0x0d1a, 0x0000 }, - { 0x8700, 0x0d1d, 0x2000 }, - { 0x0700, 0x0d1c, 0x0000 }, - { 0x0700, 0x0d1e, 0x0000 }, - { 0x8700, 0x0d27, 0x4000 }, - { 0x8700, 0x0d23, 0x3000 }, - { 0x8700, 0x0d21, 0x2000 }, - { 0x0700, 0x0d20, 0x0000 }, - { 0x0700, 0x0d22, 0x0000 }, - { 0x8700, 0x0d25, 0x2000 }, - { 0x0700, 0x0d24, 0x0000 }, - { 0x0700, 0x0d26, 0x0000 }, - { 0x8700, 0x0d2c, 0x3000 }, - { 0x8700, 0x0d2a, 0x2000 }, - { 0x0700, 0x0d28, 0x0000 }, - { 0x0700, 0x0d2b, 0x0000 }, - { 0x8700, 0x0d2e, 0x2000 }, - { 0x0700, 0x0d2d, 0x0000 }, - { 0x0700, 0x0d2f, 0x0000 }, - { 0x8a00, 0x0d46, 0x5000 }, - { 0x8700, 0x0d38, 0x4000 }, - { 0x8700, 0x0d34, 0x3000 }, - { 0x8700, 0x0d32, 0x2000 }, - { 0x0700, 0x0d31, 0x0000 }, - { 0x0700, 0x0d33, 0x0000 }, - { 0x8700, 0x0d36, 0x2000 }, - { 0x0700, 0x0d35, 0x0000 }, - { 0x0700, 0x0d37, 0x0000 }, - { 0x8a00, 0x0d40, 0x3000 }, - { 0x8a00, 0x0d3e, 0x2000 }, - { 0x0700, 0x0d39, 0x0000 }, - { 0x0a00, 0x0d3f, 0x0000 }, - { 0x8c00, 0x0d42, 0x2000 }, - { 0x0c00, 0x0d41, 0x0000 }, - { 0x0c00, 0x0d43, 0x0000 }, - { 0x8700, 0x0d60, 0x4000 }, - { 0x8a00, 0x0d4b, 0x3000 }, - { 0x8a00, 0x0d48, 0x2000 }, - { 0x0a00, 0x0d47, 0x0000 }, - { 0x0a00, 0x0d4a, 0x0000 }, - { 0x8c00, 0x0d4d, 0x2000 }, - { 0x0a00, 0x0d4c, 0x0000 }, - { 0x0a00, 0x0d57, 0x0000 }, - { 0x8d00, 0x0d68, 0x3000 }, - { 0x8d00, 0x0d66, 0x2000 }, - { 0x0700, 0x0d61, 0x0000 }, - { 0x0d00, 0x0d67, 0x0000 }, - { 0x8d00, 0x0d6a, 0x2000 }, - { 0x0d00, 0x0d69, 0x0000 }, - { 0x0d00, 0x0d6b, 0x0000 }, - { 0x8700, 0x0da2, 0x6000 }, - { 0x8700, 0x0d8f, 0x5000 }, - { 0x8700, 0x0d87, 0x4000 }, - { 0x8a00, 0x0d82, 0x3000 }, - { 0x8d00, 0x0d6e, 0x2000 }, - { 0x0d00, 0x0d6d, 0x0000 }, - { 0x0d00, 0x0d6f, 0x0000 }, - { 0x8700, 0x0d85, 0x2000 }, - { 0x0a00, 0x0d83, 0x0000 }, - { 0x0700, 0x0d86, 0x0000 }, - { 0x8700, 0x0d8b, 0x3000 }, - { 0x8700, 0x0d89, 0x2000 }, - { 0x0700, 0x0d88, 0x0000 }, - { 0x0700, 0x0d8a, 0x0000 }, - { 0x8700, 0x0d8d, 0x2000 }, - { 0x0700, 0x0d8c, 0x0000 }, - { 0x0700, 0x0d8e, 0x0000 }, - { 0x8700, 0x0d9a, 0x4000 }, - { 0x8700, 0x0d93, 0x3000 }, - { 0x8700, 0x0d91, 0x2000 }, - { 0x0700, 0x0d90, 0x0000 }, - { 0x0700, 0x0d92, 0x0000 }, - { 0x8700, 0x0d95, 0x2000 }, - { 0x0700, 0x0d94, 0x0000 }, - { 0x0700, 0x0d96, 0x0000 }, - { 0x8700, 0x0d9e, 0x3000 }, - { 0x8700, 0x0d9c, 0x2000 }, - { 0x0700, 0x0d9b, 0x0000 }, - { 0x0700, 0x0d9d, 0x0000 }, - { 0x8700, 0x0da0, 0x2000 }, - { 0x0700, 0x0d9f, 0x0000 }, - { 0x0700, 0x0da1, 0x0000 }, - { 0x8700, 0x0db3, 0x5000 }, - { 0x8700, 0x0daa, 0x4000 }, - { 0x8700, 0x0da6, 0x3000 }, - { 0x8700, 0x0da4, 0x2000 }, - { 0x0700, 0x0da3, 0x0000 }, - { 0x0700, 0x0da5, 0x0000 }, - { 0x8700, 0x0da8, 0x2000 }, - { 0x0700, 0x0da7, 0x0000 }, - { 0x0700, 0x0da9, 0x0000 }, - { 0x8700, 0x0dae, 0x3000 }, - { 0x8700, 0x0dac, 0x2000 }, - { 0x0700, 0x0dab, 0x0000 }, - { 0x0700, 0x0dad, 0x0000 }, - { 0x8700, 0x0db0, 0x2000 }, - { 0x0700, 0x0daf, 0x0000 }, - { 0x0700, 0x0db1, 0x0000 }, - { 0x8700, 0x0dbb, 0x4000 }, - { 0x8700, 0x0db7, 0x3000 }, - { 0x8700, 0x0db5, 0x2000 }, - { 0x0700, 0x0db4, 0x0000 }, - { 0x0700, 0x0db6, 0x0000 }, - { 0x8700, 0x0db9, 0x2000 }, - { 0x0700, 0x0db8, 0x0000 }, - { 0x0700, 0x0dba, 0x0000 }, - { 0x8700, 0x0dc2, 0x3000 }, - { 0x8700, 0x0dc0, 0x2000 }, - { 0x0700, 0x0dbd, 0x0000 }, - { 0x0700, 0x0dc1, 0x0000 }, - { 0x8700, 0x0dc4, 0x2000 }, - { 0x0700, 0x0dc3, 0x0000 }, - { 0x0700, 0x0dc5, 0x0000 }, - { 0x8700, 0x0f55, 0x9000 }, - { 0x8700, 0x0ea5, 0x8000 }, - { 0x8700, 0x0e2d, 0x7000 }, - { 0x8700, 0x0e0d, 0x6000 }, - { 0x8a00, 0x0ddf, 0x5000 }, - { 0x8c00, 0x0dd6, 0x4000 }, - { 0x8a00, 0x0dd1, 0x3000 }, - { 0x8a00, 0x0dcf, 0x2000 }, - { 0x0c00, 0x0dca, 0x0000 }, - { 0x0a00, 0x0dd0, 0x0000 }, - { 0x8c00, 0x0dd3, 0x2000 }, - { 0x0c00, 0x0dd2, 0x0000 }, - { 0x0c00, 0x0dd4, 0x0000 }, - { 0x8a00, 0x0ddb, 0x3000 }, - { 0x8a00, 0x0dd9, 0x2000 }, - { 0x0a00, 0x0dd8, 0x0000 }, - { 0x0a00, 0x0dda, 0x0000 }, - { 0x8a00, 0x0ddd, 0x2000 }, - { 0x0a00, 0x0ddc, 0x0000 }, - { 0x0a00, 0x0dde, 0x0000 }, - { 0x8700, 0x0e05, 0x4000 }, - { 0x8700, 0x0e01, 0x3000 }, - { 0x8a00, 0x0df3, 0x2000 }, - { 0x0a00, 0x0df2, 0x0000 }, - { 0x1500, 0x0df4, 0x0000 }, - { 0x8700, 0x0e03, 0x2000 }, - { 0x0700, 0x0e02, 0x0000 }, - { 0x0700, 0x0e04, 0x0000 }, - { 0x8700, 0x0e09, 0x3000 }, - { 0x8700, 0x0e07, 0x2000 }, - { 0x0700, 0x0e06, 0x0000 }, - { 0x0700, 0x0e08, 0x0000 }, - { 0x8700, 0x0e0b, 0x2000 }, - { 0x0700, 0x0e0a, 0x0000 }, - { 0x0700, 0x0e0c, 0x0000 }, - { 0x8700, 0x0e1d, 0x5000 }, - { 0x8700, 0x0e15, 0x4000 }, - { 0x8700, 0x0e11, 0x3000 }, - { 0x8700, 0x0e0f, 0x2000 }, - { 0x0700, 0x0e0e, 0x0000 }, - { 0x0700, 0x0e10, 0x0000 }, - { 0x8700, 0x0e13, 0x2000 }, - { 0x0700, 0x0e12, 0x0000 }, - { 0x0700, 0x0e14, 0x0000 }, - { 0x8700, 0x0e19, 0x3000 }, - { 0x8700, 0x0e17, 0x2000 }, - { 0x0700, 0x0e16, 0x0000 }, - { 0x0700, 0x0e18, 0x0000 }, - { 0x8700, 0x0e1b, 0x2000 }, - { 0x0700, 0x0e1a, 0x0000 }, - { 0x0700, 0x0e1c, 0x0000 }, - { 0x8700, 0x0e25, 0x4000 }, - { 0x8700, 0x0e21, 0x3000 }, - { 0x8700, 0x0e1f, 0x2000 }, - { 0x0700, 0x0e1e, 0x0000 }, - { 0x0700, 0x0e20, 0x0000 }, - { 0x8700, 0x0e23, 0x2000 }, - { 0x0700, 0x0e22, 0x0000 }, - { 0x0700, 0x0e24, 0x0000 }, - { 0x8700, 0x0e29, 0x3000 }, - { 0x8700, 0x0e27, 0x2000 }, - { 0x0700, 0x0e26, 0x0000 }, - { 0x0700, 0x0e28, 0x0000 }, - { 0x8700, 0x0e2b, 0x2000 }, - { 0x0700, 0x0e2a, 0x0000 }, - { 0x0700, 0x0e2c, 0x0000 }, - { 0x8d00, 0x0e51, 0x6000 }, - { 0x8700, 0x0e41, 0x5000 }, - { 0x8c00, 0x0e35, 0x4000 }, - { 0x8c00, 0x0e31, 0x3000 }, - { 0x8700, 0x0e2f, 0x2000 }, - { 0x0700, 0x0e2e, 0x0000 }, - { 0x0700, 0x0e30, 0x0000 }, - { 0x8700, 0x0e33, 0x2000 }, - { 0x0700, 0x0e32, 0x0000 }, - { 0x0c00, 0x0e34, 0x0000 }, - { 0x8c00, 0x0e39, 0x3000 }, - { 0x8c00, 0x0e37, 0x2000 }, - { 0x0c00, 0x0e36, 0x0000 }, - { 0x0c00, 0x0e38, 0x0000 }, - { 0x9700, 0x0e3f, 0x2000 }, - { 0x0c00, 0x0e3a, 0x0000 }, - { 0x0700, 0x0e40, 0x0000 }, - { 0x8c00, 0x0e49, 0x4000 }, - { 0x8700, 0x0e45, 0x3000 }, - { 0x8700, 0x0e43, 0x2000 }, - { 0x0700, 0x0e42, 0x0000 }, - { 0x0700, 0x0e44, 0x0000 }, - { 0x8c00, 0x0e47, 0x2000 }, - { 0x0600, 0x0e46, 0x0000 }, - { 0x0c00, 0x0e48, 0x0000 }, - { 0x8c00, 0x0e4d, 0x3000 }, - { 0x8c00, 0x0e4b, 0x2000 }, - { 0x0c00, 0x0e4a, 0x0000 }, - { 0x0c00, 0x0e4c, 0x0000 }, - { 0x9500, 0x0e4f, 0x2000 }, - { 0x0c00, 0x0e4e, 0x0000 }, - { 0x0d00, 0x0e50, 0x0000 }, - { 0x8700, 0x0e8a, 0x5000 }, - { 0x8d00, 0x0e59, 0x4000 }, - { 0x8d00, 0x0e55, 0x3000 }, - { 0x8d00, 0x0e53, 0x2000 }, - { 0x0d00, 0x0e52, 0x0000 }, - { 0x0d00, 0x0e54, 0x0000 }, - { 0x8d00, 0x0e57, 0x2000 }, - { 0x0d00, 0x0e56, 0x0000 }, - { 0x0d00, 0x0e58, 0x0000 }, - { 0x8700, 0x0e82, 0x3000 }, - { 0x9500, 0x0e5b, 0x2000 }, - { 0x1500, 0x0e5a, 0x0000 }, - { 0x0700, 0x0e81, 0x0000 }, - { 0x8700, 0x0e87, 0x2000 }, - { 0x0700, 0x0e84, 0x0000 }, - { 0x0700, 0x0e88, 0x0000 }, - { 0x8700, 0x0e9b, 0x4000 }, - { 0x8700, 0x0e96, 0x3000 }, - { 0x8700, 0x0e94, 0x2000 }, - { 0x0700, 0x0e8d, 0x0000 }, - { 0x0700, 0x0e95, 0x0000 }, - { 0x8700, 0x0e99, 0x2000 }, - { 0x0700, 0x0e97, 0x0000 }, - { 0x0700, 0x0e9a, 0x0000 }, - { 0x8700, 0x0e9f, 0x3000 }, - { 0x8700, 0x0e9d, 0x2000 }, - { 0x0700, 0x0e9c, 0x0000 }, - { 0x0700, 0x0e9e, 0x0000 }, - { 0x8700, 0x0ea2, 0x2000 }, - { 0x0700, 0x0ea1, 0x0000 }, - { 0x0700, 0x0ea3, 0x0000 }, - { 0x9a00, 0x0f14, 0x7000 }, - { 0x8d00, 0x0ed0, 0x6000 }, - { 0x8c00, 0x0eb9, 0x5000 }, - { 0x8c00, 0x0eb1, 0x4000 }, - { 0x8700, 0x0ead, 0x3000 }, - { 0x8700, 0x0eaa, 0x2000 }, - { 0x0700, 0x0ea7, 0x0000 }, - { 0x0700, 0x0eab, 0x0000 }, - { 0x8700, 0x0eaf, 0x2000 }, - { 0x0700, 0x0eae, 0x0000 }, - { 0x0700, 0x0eb0, 0x0000 }, - { 0x8c00, 0x0eb5, 0x3000 }, - { 0x8700, 0x0eb3, 0x2000 }, - { 0x0700, 0x0eb2, 0x0000 }, - { 0x0c00, 0x0eb4, 0x0000 }, - { 0x8c00, 0x0eb7, 0x2000 }, - { 0x0c00, 0x0eb6, 0x0000 }, - { 0x0c00, 0x0eb8, 0x0000 }, - { 0x8700, 0x0ec4, 0x4000 }, - { 0x8700, 0x0ec0, 0x3000 }, - { 0x8c00, 0x0ebc, 0x2000 }, - { 0x0c00, 0x0ebb, 0x0000 }, - { 0x0700, 0x0ebd, 0x0000 }, - { 0x8700, 0x0ec2, 0x2000 }, - { 0x0700, 0x0ec1, 0x0000 }, - { 0x0700, 0x0ec3, 0x0000 }, - { 0x8c00, 0x0eca, 0x3000 }, - { 0x8c00, 0x0ec8, 0x2000 }, - { 0x0600, 0x0ec6, 0x0000 }, - { 0x0c00, 0x0ec9, 0x0000 }, - { 0x8c00, 0x0ecc, 0x2000 }, - { 0x0c00, 0x0ecb, 0x0000 }, - { 0x0c00, 0x0ecd, 0x0000 }, - { 0x9500, 0x0f04, 0x5000 }, - { 0x8d00, 0x0ed8, 0x4000 }, - { 0x8d00, 0x0ed4, 0x3000 }, - { 0x8d00, 0x0ed2, 0x2000 }, - { 0x0d00, 0x0ed1, 0x0000 }, - { 0x0d00, 0x0ed3, 0x0000 }, - { 0x8d00, 0x0ed6, 0x2000 }, - { 0x0d00, 0x0ed5, 0x0000 }, - { 0x0d00, 0x0ed7, 0x0000 }, - { 0x8700, 0x0f00, 0x3000 }, - { 0x8700, 0x0edc, 0x2000 }, - { 0x0d00, 0x0ed9, 0x0000 }, - { 0x0700, 0x0edd, 0x0000 }, - { 0x9a00, 0x0f02, 0x2000 }, - { 0x1a00, 0x0f01, 0x0000 }, - { 0x1a00, 0x0f03, 0x0000 }, - { 0x9500, 0x0f0c, 0x4000 }, - { 0x9500, 0x0f08, 0x3000 }, - { 0x9500, 0x0f06, 0x2000 }, - { 0x1500, 0x0f05, 0x0000 }, - { 0x1500, 0x0f07, 0x0000 }, - { 0x9500, 0x0f0a, 0x2000 }, - { 0x1500, 0x0f09, 0x0000 }, - { 0x1500, 0x0f0b, 0x0000 }, - { 0x9500, 0x0f10, 0x3000 }, - { 0x9500, 0x0f0e, 0x2000 }, - { 0x1500, 0x0f0d, 0x0000 }, - { 0x1500, 0x0f0f, 0x0000 }, - { 0x9500, 0x0f12, 0x2000 }, - { 0x1500, 0x0f11, 0x0000 }, - { 0x1a00, 0x0f13, 0x0000 }, - { 0x9a00, 0x0f34, 0x6000 }, - { 0x8d00, 0x0f24, 0x5000 }, - { 0x9a00, 0x0f1c, 0x4000 }, - { 0x8c00, 0x0f18, 0x3000 }, - { 0x9a00, 0x0f16, 0x2000 }, - { 0x1a00, 0x0f15, 0x0000 }, - { 0x1a00, 0x0f17, 0x0000 }, - { 0x9a00, 0x0f1a, 0x2000 }, - { 0x0c00, 0x0f19, 0x0000 }, - { 0x1a00, 0x0f1b, 0x0000 }, - { 0x8d00, 0x0f20, 0x3000 }, - { 0x9a00, 0x0f1e, 0x2000 }, - { 0x1a00, 0x0f1d, 0x0000 }, - { 0x1a00, 0x0f1f, 0x0000 }, - { 0x8d00, 0x0f22, 0x2000 }, - { 0x0d00, 0x0f21, 0x0000 }, - { 0x0d00, 0x0f23, 0x0000 }, - { 0x8f00, 0x0f2c, 0x4000 }, - { 0x8d00, 0x0f28, 0x3000 }, - { 0x8d00, 0x0f26, 0x2000 }, - { 0x0d00, 0x0f25, 0x0000 }, - { 0x0d00, 0x0f27, 0x0000 }, - { 0x8f00, 0x0f2a, 0x2000 }, - { 0x0d00, 0x0f29, 0x0000 }, - { 0x0f00, 0x0f2b, 0x0000 }, - { 0x8f00, 0x0f30, 0x3000 }, - { 0x8f00, 0x0f2e, 0x2000 }, - { 0x0f00, 0x0f2d, 0x0000 }, - { 0x0f00, 0x0f2f, 0x0000 }, - { 0x8f00, 0x0f32, 0x2000 }, - { 0x0f00, 0x0f31, 0x0000 }, - { 0x0f00, 0x0f33, 0x0000 }, - { 0x8700, 0x0f44, 0x5000 }, - { 0x9600, 0x0f3c, 0x4000 }, - { 0x9a00, 0x0f38, 0x3000 }, - { 0x9a00, 0x0f36, 0x2000 }, - { 0x0c00, 0x0f35, 0x0000 }, - { 0x0c00, 0x0f37, 0x0000 }, - { 0x9600, 0x0f3a, 0x2000 }, - { 0x0c00, 0x0f39, 0x0000 }, - { 0x1200, 0x0f3b, 0x0000 }, - { 0x8700, 0x0f40, 0x3000 }, - { 0x8a00, 0x0f3e, 0x2000 }, - { 0x1200, 0x0f3d, 0x0000 }, - { 0x0a00, 0x0f3f, 0x0000 }, - { 0x8700, 0x0f42, 0x2000 }, - { 0x0700, 0x0f41, 0x0000 }, - { 0x0700, 0x0f43, 0x0000 }, - { 0x8700, 0x0f4d, 0x4000 }, - { 0x8700, 0x0f49, 0x3000 }, - { 0x8700, 0x0f46, 0x2000 }, - { 0x0700, 0x0f45, 0x0000 }, - { 0x0700, 0x0f47, 0x0000 }, - { 0x8700, 0x0f4b, 0x2000 }, - { 0x0700, 0x0f4a, 0x0000 }, - { 0x0700, 0x0f4c, 0x0000 }, - { 0x8700, 0x0f51, 0x3000 }, - { 0x8700, 0x0f4f, 0x2000 }, - { 0x0700, 0x0f4e, 0x0000 }, - { 0x0700, 0x0f50, 0x0000 }, - { 0x8700, 0x0f53, 0x2000 }, - { 0x0700, 0x0f52, 0x0000 }, - { 0x0700, 0x0f54, 0x0000 }, - { 0x8700, 0x1013, 0x8000 }, - { 0x8c00, 0x0fa0, 0x7000 }, - { 0x8c00, 0x0f7b, 0x6000 }, - { 0x8700, 0x0f65, 0x5000 }, - { 0x8700, 0x0f5d, 0x4000 }, - { 0x8700, 0x0f59, 0x3000 }, - { 0x8700, 0x0f57, 0x2000 }, - { 0x0700, 0x0f56, 0x0000 }, - { 0x0700, 0x0f58, 0x0000 }, - { 0x8700, 0x0f5b, 0x2000 }, - { 0x0700, 0x0f5a, 0x0000 }, - { 0x0700, 0x0f5c, 0x0000 }, - { 0x8700, 0x0f61, 0x3000 }, - { 0x8700, 0x0f5f, 0x2000 }, - { 0x0700, 0x0f5e, 0x0000 }, - { 0x0700, 0x0f60, 0x0000 }, - { 0x8700, 0x0f63, 0x2000 }, - { 0x0700, 0x0f62, 0x0000 }, - { 0x0700, 0x0f64, 0x0000 }, - { 0x8c00, 0x0f73, 0x4000 }, - { 0x8700, 0x0f69, 0x3000 }, - { 0x8700, 0x0f67, 0x2000 }, - { 0x0700, 0x0f66, 0x0000 }, - { 0x0700, 0x0f68, 0x0000 }, - { 0x8c00, 0x0f71, 0x2000 }, - { 0x0700, 0x0f6a, 0x0000 }, - { 0x0c00, 0x0f72, 0x0000 }, - { 0x8c00, 0x0f77, 0x3000 }, - { 0x8c00, 0x0f75, 0x2000 }, - { 0x0c00, 0x0f74, 0x0000 }, - { 0x0c00, 0x0f76, 0x0000 }, - { 0x8c00, 0x0f79, 0x2000 }, - { 0x0c00, 0x0f78, 0x0000 }, - { 0x0c00, 0x0f7a, 0x0000 }, - { 0x8700, 0x0f8b, 0x5000 }, - { 0x8c00, 0x0f83, 0x4000 }, - { 0x8a00, 0x0f7f, 0x3000 }, - { 0x8c00, 0x0f7d, 0x2000 }, - { 0x0c00, 0x0f7c, 0x0000 }, - { 0x0c00, 0x0f7e, 0x0000 }, - { 0x8c00, 0x0f81, 0x2000 }, - { 0x0c00, 0x0f80, 0x0000 }, - { 0x0c00, 0x0f82, 0x0000 }, - { 0x8c00, 0x0f87, 0x3000 }, - { 0x9500, 0x0f85, 0x2000 }, - { 0x0c00, 0x0f84, 0x0000 }, - { 0x0c00, 0x0f86, 0x0000 }, - { 0x8700, 0x0f89, 0x2000 }, - { 0x0700, 0x0f88, 0x0000 }, - { 0x0700, 0x0f8a, 0x0000 }, - { 0x8c00, 0x0f97, 0x4000 }, - { 0x8c00, 0x0f93, 0x3000 }, - { 0x8c00, 0x0f91, 0x2000 }, - { 0x0c00, 0x0f90, 0x0000 }, - { 0x0c00, 0x0f92, 0x0000 }, - { 0x8c00, 0x0f95, 0x2000 }, - { 0x0c00, 0x0f94, 0x0000 }, - { 0x0c00, 0x0f96, 0x0000 }, - { 0x8c00, 0x0f9c, 0x3000 }, - { 0x8c00, 0x0f9a, 0x2000 }, - { 0x0c00, 0x0f99, 0x0000 }, - { 0x0c00, 0x0f9b, 0x0000 }, - { 0x8c00, 0x0f9e, 0x2000 }, - { 0x0c00, 0x0f9d, 0x0000 }, - { 0x0c00, 0x0f9f, 0x0000 }, - { 0x9a00, 0x0fc1, 0x6000 }, - { 0x8c00, 0x0fb0, 0x5000 }, - { 0x8c00, 0x0fa8, 0x4000 }, - { 0x8c00, 0x0fa4, 0x3000 }, - { 0x8c00, 0x0fa2, 0x2000 }, - { 0x0c00, 0x0fa1, 0x0000 }, - { 0x0c00, 0x0fa3, 0x0000 }, - { 0x8c00, 0x0fa6, 0x2000 }, - { 0x0c00, 0x0fa5, 0x0000 }, - { 0x0c00, 0x0fa7, 0x0000 }, - { 0x8c00, 0x0fac, 0x3000 }, - { 0x8c00, 0x0faa, 0x2000 }, - { 0x0c00, 0x0fa9, 0x0000 }, - { 0x0c00, 0x0fab, 0x0000 }, - { 0x8c00, 0x0fae, 0x2000 }, - { 0x0c00, 0x0fad, 0x0000 }, - { 0x0c00, 0x0faf, 0x0000 }, - { 0x8c00, 0x0fb8, 0x4000 }, - { 0x8c00, 0x0fb4, 0x3000 }, - { 0x8c00, 0x0fb2, 0x2000 }, - { 0x0c00, 0x0fb1, 0x0000 }, - { 0x0c00, 0x0fb3, 0x0000 }, - { 0x8c00, 0x0fb6, 0x2000 }, - { 0x0c00, 0x0fb5, 0x0000 }, - { 0x0c00, 0x0fb7, 0x0000 }, - { 0x8c00, 0x0fbc, 0x3000 }, - { 0x8c00, 0x0fba, 0x2000 }, - { 0x0c00, 0x0fb9, 0x0000 }, - { 0x0c00, 0x0fbb, 0x0000 }, - { 0x9a00, 0x0fbf, 0x2000 }, - { 0x1a00, 0x0fbe, 0x0000 }, - { 0x1a00, 0x0fc0, 0x0000 }, - { 0x8700, 0x1003, 0x5000 }, - { 0x9a00, 0x0fc9, 0x4000 }, - { 0x9a00, 0x0fc5, 0x3000 }, - { 0x9a00, 0x0fc3, 0x2000 }, - { 0x1a00, 0x0fc2, 0x0000 }, - { 0x1a00, 0x0fc4, 0x0000 }, - { 0x9a00, 0x0fc7, 0x2000 }, - { 0x0c00, 0x0fc6, 0x0000 }, - { 0x1a00, 0x0fc8, 0x0000 }, - { 0x9a00, 0x0fcf, 0x3000 }, - { 0x9a00, 0x0fcb, 0x2000 }, - { 0x1a00, 0x0fca, 0x0000 }, - { 0x1a00, 0x0fcc, 0x0000 }, - { 0x8700, 0x1001, 0x2000 }, - { 0x0700, 0x1000, 0x0000 }, - { 0x0700, 0x1002, 0x0000 }, - { 0x8700, 0x100b, 0x4000 }, - { 0x8700, 0x1007, 0x3000 }, - { 0x8700, 0x1005, 0x2000 }, - { 0x0700, 0x1004, 0x0000 }, - { 0x0700, 0x1006, 0x0000 }, - { 0x8700, 0x1009, 0x2000 }, - { 0x0700, 0x1008, 0x0000 }, - { 0x0700, 0x100a, 0x0000 }, - { 0x8700, 0x100f, 0x3000 }, - { 0x8700, 0x100d, 0x2000 }, - { 0x0700, 0x100c, 0x0000 }, - { 0x0700, 0x100e, 0x0000 }, - { 0x8700, 0x1011, 0x2000 }, - { 0x0700, 0x1010, 0x0000 }, - { 0x0700, 0x1012, 0x0000 }, - { 0x8900, 0x10a5, 0x7000 }, - { 0x8c00, 0x1039, 0x6000 }, - { 0x8700, 0x1024, 0x5000 }, - { 0x8700, 0x101b, 0x4000 }, - { 0x8700, 0x1017, 0x3000 }, - { 0x8700, 0x1015, 0x2000 }, - { 0x0700, 0x1014, 0x0000 }, - { 0x0700, 0x1016, 0x0000 }, - { 0x8700, 0x1019, 0x2000 }, - { 0x0700, 0x1018, 0x0000 }, - { 0x0700, 0x101a, 0x0000 }, - { 0x8700, 0x101f, 0x3000 }, - { 0x8700, 0x101d, 0x2000 }, - { 0x0700, 0x101c, 0x0000 }, - { 0x0700, 0x101e, 0x0000 }, - { 0x8700, 0x1021, 0x2000 }, - { 0x0700, 0x1020, 0x0000 }, - { 0x0700, 0x1023, 0x0000 }, - { 0x8c00, 0x102e, 0x4000 }, - { 0x8700, 0x1029, 0x3000 }, - { 0x8700, 0x1026, 0x2000 }, - { 0x0700, 0x1025, 0x0000 }, - { 0x0700, 0x1027, 0x0000 }, - { 0x8a00, 0x102c, 0x2000 }, - { 0x0700, 0x102a, 0x0000 }, - { 0x0c00, 0x102d, 0x0000 }, - { 0x8c00, 0x1032, 0x3000 }, - { 0x8c00, 0x1030, 0x2000 }, - { 0x0c00, 0x102f, 0x0000 }, - { 0x0a00, 0x1031, 0x0000 }, - { 0x8c00, 0x1037, 0x2000 }, - { 0x0c00, 0x1036, 0x0000 }, - { 0x0a00, 0x1038, 0x0000 }, - { 0x9500, 0x104f, 0x5000 }, - { 0x8d00, 0x1047, 0x4000 }, - { 0x8d00, 0x1043, 0x3000 }, - { 0x8d00, 0x1041, 0x2000 }, - { 0x0d00, 0x1040, 0x0000 }, - { 0x0d00, 0x1042, 0x0000 }, - { 0x8d00, 0x1045, 0x2000 }, - { 0x0d00, 0x1044, 0x0000 }, - { 0x0d00, 0x1046, 0x0000 }, - { 0x9500, 0x104b, 0x3000 }, - { 0x8d00, 0x1049, 0x2000 }, - { 0x0d00, 0x1048, 0x0000 }, - { 0x1500, 0x104a, 0x0000 }, - { 0x9500, 0x104d, 0x2000 }, - { 0x1500, 0x104c, 0x0000 }, - { 0x1500, 0x104e, 0x0000 }, - { 0x8a00, 0x1057, 0x4000 }, - { 0x8700, 0x1053, 0x3000 }, - { 0x8700, 0x1051, 0x2000 }, - { 0x0700, 0x1050, 0x0000 }, - { 0x0700, 0x1052, 0x0000 }, - { 0x8700, 0x1055, 0x2000 }, - { 0x0700, 0x1054, 0x0000 }, - { 0x0a00, 0x1056, 0x0000 }, - { 0x8900, 0x10a1, 0x3000 }, - { 0x8c00, 0x1059, 0x2000 }, - { 0x0c00, 0x1058, 0x0000 }, - { 0x0900, 0x10a0, 0x0000 }, - { 0x8900, 0x10a3, 0x2000 }, - { 0x0900, 0x10a2, 0x0000 }, - { 0x0900, 0x10a4, 0x0000 }, - { 0x8900, 0x10c5, 0x6000 }, - { 0x8900, 0x10b5, 0x5000 }, - { 0x8900, 0x10ad, 0x4000 }, - { 0x8900, 0x10a9, 0x3000 }, - { 0x8900, 0x10a7, 0x2000 }, - { 0x0900, 0x10a6, 0x0000 }, - { 0x0900, 0x10a8, 0x0000 }, - { 0x8900, 0x10ab, 0x2000 }, - { 0x0900, 0x10aa, 0x0000 }, - { 0x0900, 0x10ac, 0x0000 }, - { 0x8900, 0x10b1, 0x3000 }, - { 0x8900, 0x10af, 0x2000 }, - { 0x0900, 0x10ae, 0x0000 }, - { 0x0900, 0x10b0, 0x0000 }, - { 0x8900, 0x10b3, 0x2000 }, - { 0x0900, 0x10b2, 0x0000 }, - { 0x0900, 0x10b4, 0x0000 }, - { 0x8900, 0x10bd, 0x4000 }, - { 0x8900, 0x10b9, 0x3000 }, - { 0x8900, 0x10b7, 0x2000 }, - { 0x0900, 0x10b6, 0x0000 }, - { 0x0900, 0x10b8, 0x0000 }, - { 0x8900, 0x10bb, 0x2000 }, - { 0x0900, 0x10ba, 0x0000 }, - { 0x0900, 0x10bc, 0x0000 }, - { 0x8900, 0x10c1, 0x3000 }, - { 0x8900, 0x10bf, 0x2000 }, - { 0x0900, 0x10be, 0x0000 }, - { 0x0900, 0x10c0, 0x0000 }, - { 0x8900, 0x10c3, 0x2000 }, - { 0x0900, 0x10c2, 0x0000 }, - { 0x0900, 0x10c4, 0x0000 }, - { 0x8700, 0x10df, 0x5000 }, - { 0x8700, 0x10d7, 0x4000 }, - { 0x8700, 0x10d3, 0x3000 }, - { 0x8700, 0x10d1, 0x2000 }, - { 0x0700, 0x10d0, 0x0000 }, - { 0x0700, 0x10d2, 0x0000 }, - { 0x8700, 0x10d5, 0x2000 }, - { 0x0700, 0x10d4, 0x0000 }, - { 0x0700, 0x10d6, 0x0000 }, - { 0x8700, 0x10db, 0x3000 }, - { 0x8700, 0x10d9, 0x2000 }, - { 0x0700, 0x10d8, 0x0000 }, - { 0x0700, 0x10da, 0x0000 }, - { 0x8700, 0x10dd, 0x2000 }, - { 0x0700, 0x10dc, 0x0000 }, - { 0x0700, 0x10de, 0x0000 }, - { 0x8700, 0x10e7, 0x4000 }, - { 0x8700, 0x10e3, 0x3000 }, - { 0x8700, 0x10e1, 0x2000 }, - { 0x0700, 0x10e0, 0x0000 }, - { 0x0700, 0x10e2, 0x0000 }, - { 0x8700, 0x10e5, 0x2000 }, - { 0x0700, 0x10e4, 0x0000 }, - { 0x0700, 0x10e6, 0x0000 }, - { 0x8700, 0x10eb, 0x3000 }, - { 0x8700, 0x10e9, 0x2000 }, - { 0x0700, 0x10e8, 0x0000 }, - { 0x0700, 0x10ea, 0x0000 }, - { 0x8700, 0x10ed, 0x2000 }, - { 0x0700, 0x10ec, 0x0000 }, - { 0x0700, 0x10ee, 0x0000 }, - { 0x8700, 0x1322, 0xa000 }, - { 0x8700, 0x1205, 0x9000 }, - { 0x8700, 0x117a, 0x8000 }, - { 0x8700, 0x1135, 0x7000 }, - { 0x8700, 0x1115, 0x6000 }, - { 0x8700, 0x1105, 0x5000 }, - { 0x8700, 0x10f7, 0x4000 }, - { 0x8700, 0x10f3, 0x3000 }, - { 0x8700, 0x10f1, 0x2000 }, - { 0x0700, 0x10f0, 0x0000 }, - { 0x0700, 0x10f2, 0x0000 }, - { 0x8700, 0x10f5, 0x2000 }, - { 0x0700, 0x10f4, 0x0000 }, - { 0x0700, 0x10f6, 0x0000 }, - { 0x8700, 0x1101, 0x3000 }, - { 0x9500, 0x10fb, 0x2000 }, - { 0x0700, 0x10f8, 0x0000 }, - { 0x0700, 0x1100, 0x0000 }, - { 0x8700, 0x1103, 0x2000 }, - { 0x0700, 0x1102, 0x0000 }, - { 0x0700, 0x1104, 0x0000 }, - { 0x8700, 0x110d, 0x4000 }, - { 0x8700, 0x1109, 0x3000 }, - { 0x8700, 0x1107, 0x2000 }, - { 0x0700, 0x1106, 0x0000 }, - { 0x0700, 0x1108, 0x0000 }, - { 0x8700, 0x110b, 0x2000 }, - { 0x0700, 0x110a, 0x0000 }, - { 0x0700, 0x110c, 0x0000 }, - { 0x8700, 0x1111, 0x3000 }, - { 0x8700, 0x110f, 0x2000 }, - { 0x0700, 0x110e, 0x0000 }, - { 0x0700, 0x1110, 0x0000 }, - { 0x8700, 0x1113, 0x2000 }, - { 0x0700, 0x1112, 0x0000 }, - { 0x0700, 0x1114, 0x0000 }, - { 0x8700, 0x1125, 0x5000 }, - { 0x8700, 0x111d, 0x4000 }, - { 0x8700, 0x1119, 0x3000 }, - { 0x8700, 0x1117, 0x2000 }, - { 0x0700, 0x1116, 0x0000 }, - { 0x0700, 0x1118, 0x0000 }, - { 0x8700, 0x111b, 0x2000 }, - { 0x0700, 0x111a, 0x0000 }, - { 0x0700, 0x111c, 0x0000 }, - { 0x8700, 0x1121, 0x3000 }, - { 0x8700, 0x111f, 0x2000 }, - { 0x0700, 0x111e, 0x0000 }, - { 0x0700, 0x1120, 0x0000 }, - { 0x8700, 0x1123, 0x2000 }, - { 0x0700, 0x1122, 0x0000 }, - { 0x0700, 0x1124, 0x0000 }, - { 0x8700, 0x112d, 0x4000 }, - { 0x8700, 0x1129, 0x3000 }, - { 0x8700, 0x1127, 0x2000 }, - { 0x0700, 0x1126, 0x0000 }, - { 0x0700, 0x1128, 0x0000 }, - { 0x8700, 0x112b, 0x2000 }, - { 0x0700, 0x112a, 0x0000 }, - { 0x0700, 0x112c, 0x0000 }, - { 0x8700, 0x1131, 0x3000 }, - { 0x8700, 0x112f, 0x2000 }, - { 0x0700, 0x112e, 0x0000 }, - { 0x0700, 0x1130, 0x0000 }, - { 0x8700, 0x1133, 0x2000 }, - { 0x0700, 0x1132, 0x0000 }, - { 0x0700, 0x1134, 0x0000 }, - { 0x8700, 0x1155, 0x6000 }, - { 0x8700, 0x1145, 0x5000 }, - { 0x8700, 0x113d, 0x4000 }, - { 0x8700, 0x1139, 0x3000 }, - { 0x8700, 0x1137, 0x2000 }, - { 0x0700, 0x1136, 0x0000 }, - { 0x0700, 0x1138, 0x0000 }, - { 0x8700, 0x113b, 0x2000 }, - { 0x0700, 0x113a, 0x0000 }, - { 0x0700, 0x113c, 0x0000 }, - { 0x8700, 0x1141, 0x3000 }, - { 0x8700, 0x113f, 0x2000 }, - { 0x0700, 0x113e, 0x0000 }, - { 0x0700, 0x1140, 0x0000 }, - { 0x8700, 0x1143, 0x2000 }, - { 0x0700, 0x1142, 0x0000 }, - { 0x0700, 0x1144, 0x0000 }, - { 0x8700, 0x114d, 0x4000 }, - { 0x8700, 0x1149, 0x3000 }, - { 0x8700, 0x1147, 0x2000 }, - { 0x0700, 0x1146, 0x0000 }, - { 0x0700, 0x1148, 0x0000 }, - { 0x8700, 0x114b, 0x2000 }, - { 0x0700, 0x114a, 0x0000 }, - { 0x0700, 0x114c, 0x0000 }, - { 0x8700, 0x1151, 0x3000 }, - { 0x8700, 0x114f, 0x2000 }, - { 0x0700, 0x114e, 0x0000 }, - { 0x0700, 0x1150, 0x0000 }, - { 0x8700, 0x1153, 0x2000 }, - { 0x0700, 0x1152, 0x0000 }, - { 0x0700, 0x1154, 0x0000 }, - { 0x8700, 0x116a, 0x5000 }, - { 0x8700, 0x1162, 0x4000 }, - { 0x8700, 0x1159, 0x3000 }, - { 0x8700, 0x1157, 0x2000 }, - { 0x0700, 0x1156, 0x0000 }, - { 0x0700, 0x1158, 0x0000 }, - { 0x8700, 0x1160, 0x2000 }, - { 0x0700, 0x115f, 0x0000 }, - { 0x0700, 0x1161, 0x0000 }, - { 0x8700, 0x1166, 0x3000 }, - { 0x8700, 0x1164, 0x2000 }, - { 0x0700, 0x1163, 0x0000 }, - { 0x0700, 0x1165, 0x0000 }, - { 0x8700, 0x1168, 0x2000 }, - { 0x0700, 0x1167, 0x0000 }, - { 0x0700, 0x1169, 0x0000 }, - { 0x8700, 0x1172, 0x4000 }, - { 0x8700, 0x116e, 0x3000 }, - { 0x8700, 0x116c, 0x2000 }, - { 0x0700, 0x116b, 0x0000 }, - { 0x0700, 0x116d, 0x0000 }, - { 0x8700, 0x1170, 0x2000 }, - { 0x0700, 0x116f, 0x0000 }, - { 0x0700, 0x1171, 0x0000 }, - { 0x8700, 0x1176, 0x3000 }, - { 0x8700, 0x1174, 0x2000 }, - { 0x0700, 0x1173, 0x0000 }, - { 0x0700, 0x1175, 0x0000 }, - { 0x8700, 0x1178, 0x2000 }, - { 0x0700, 0x1177, 0x0000 }, - { 0x0700, 0x1179, 0x0000 }, - { 0x8700, 0x11bf, 0x7000 }, - { 0x8700, 0x119a, 0x6000 }, - { 0x8700, 0x118a, 0x5000 }, - { 0x8700, 0x1182, 0x4000 }, - { 0x8700, 0x117e, 0x3000 }, - { 0x8700, 0x117c, 0x2000 }, - { 0x0700, 0x117b, 0x0000 }, - { 0x0700, 0x117d, 0x0000 }, - { 0x8700, 0x1180, 0x2000 }, - { 0x0700, 0x117f, 0x0000 }, - { 0x0700, 0x1181, 0x0000 }, - { 0x8700, 0x1186, 0x3000 }, - { 0x8700, 0x1184, 0x2000 }, - { 0x0700, 0x1183, 0x0000 }, - { 0x0700, 0x1185, 0x0000 }, - { 0x8700, 0x1188, 0x2000 }, - { 0x0700, 0x1187, 0x0000 }, - { 0x0700, 0x1189, 0x0000 }, - { 0x8700, 0x1192, 0x4000 }, - { 0x8700, 0x118e, 0x3000 }, - { 0x8700, 0x118c, 0x2000 }, - { 0x0700, 0x118b, 0x0000 }, - { 0x0700, 0x118d, 0x0000 }, - { 0x8700, 0x1190, 0x2000 }, - { 0x0700, 0x118f, 0x0000 }, - { 0x0700, 0x1191, 0x0000 }, - { 0x8700, 0x1196, 0x3000 }, - { 0x8700, 0x1194, 0x2000 }, - { 0x0700, 0x1193, 0x0000 }, - { 0x0700, 0x1195, 0x0000 }, - { 0x8700, 0x1198, 0x2000 }, - { 0x0700, 0x1197, 0x0000 }, - { 0x0700, 0x1199, 0x0000 }, - { 0x8700, 0x11af, 0x5000 }, - { 0x8700, 0x11a2, 0x4000 }, - { 0x8700, 0x119e, 0x3000 }, - { 0x8700, 0x119c, 0x2000 }, - { 0x0700, 0x119b, 0x0000 }, - { 0x0700, 0x119d, 0x0000 }, - { 0x8700, 0x11a0, 0x2000 }, - { 0x0700, 0x119f, 0x0000 }, - { 0x0700, 0x11a1, 0x0000 }, - { 0x8700, 0x11ab, 0x3000 }, - { 0x8700, 0x11a9, 0x2000 }, - { 0x0700, 0x11a8, 0x0000 }, - { 0x0700, 0x11aa, 0x0000 }, - { 0x8700, 0x11ad, 0x2000 }, - { 0x0700, 0x11ac, 0x0000 }, - { 0x0700, 0x11ae, 0x0000 }, - { 0x8700, 0x11b7, 0x4000 }, - { 0x8700, 0x11b3, 0x3000 }, - { 0x8700, 0x11b1, 0x2000 }, - { 0x0700, 0x11b0, 0x0000 }, - { 0x0700, 0x11b2, 0x0000 }, - { 0x8700, 0x11b5, 0x2000 }, - { 0x0700, 0x11b4, 0x0000 }, - { 0x0700, 0x11b6, 0x0000 }, - { 0x8700, 0x11bb, 0x3000 }, - { 0x8700, 0x11b9, 0x2000 }, - { 0x0700, 0x11b8, 0x0000 }, - { 0x0700, 0x11ba, 0x0000 }, - { 0x8700, 0x11bd, 0x2000 }, - { 0x0700, 0x11bc, 0x0000 }, - { 0x0700, 0x11be, 0x0000 }, - { 0x8700, 0x11df, 0x6000 }, - { 0x8700, 0x11cf, 0x5000 }, - { 0x8700, 0x11c7, 0x4000 }, - { 0x8700, 0x11c3, 0x3000 }, - { 0x8700, 0x11c1, 0x2000 }, - { 0x0700, 0x11c0, 0x0000 }, - { 0x0700, 0x11c2, 0x0000 }, - { 0x8700, 0x11c5, 0x2000 }, - { 0x0700, 0x11c4, 0x0000 }, - { 0x0700, 0x11c6, 0x0000 }, - { 0x8700, 0x11cb, 0x3000 }, - { 0x8700, 0x11c9, 0x2000 }, - { 0x0700, 0x11c8, 0x0000 }, - { 0x0700, 0x11ca, 0x0000 }, - { 0x8700, 0x11cd, 0x2000 }, - { 0x0700, 0x11cc, 0x0000 }, - { 0x0700, 0x11ce, 0x0000 }, - { 0x8700, 0x11d7, 0x4000 }, - { 0x8700, 0x11d3, 0x3000 }, - { 0x8700, 0x11d1, 0x2000 }, - { 0x0700, 0x11d0, 0x0000 }, - { 0x0700, 0x11d2, 0x0000 }, - { 0x8700, 0x11d5, 0x2000 }, - { 0x0700, 0x11d4, 0x0000 }, - { 0x0700, 0x11d6, 0x0000 }, - { 0x8700, 0x11db, 0x3000 }, - { 0x8700, 0x11d9, 0x2000 }, - { 0x0700, 0x11d8, 0x0000 }, - { 0x0700, 0x11da, 0x0000 }, - { 0x8700, 0x11dd, 0x2000 }, - { 0x0700, 0x11dc, 0x0000 }, - { 0x0700, 0x11de, 0x0000 }, - { 0x8700, 0x11ef, 0x5000 }, - { 0x8700, 0x11e7, 0x4000 }, - { 0x8700, 0x11e3, 0x3000 }, - { 0x8700, 0x11e1, 0x2000 }, - { 0x0700, 0x11e0, 0x0000 }, - { 0x0700, 0x11e2, 0x0000 }, - { 0x8700, 0x11e5, 0x2000 }, - { 0x0700, 0x11e4, 0x0000 }, - { 0x0700, 0x11e6, 0x0000 }, - { 0x8700, 0x11eb, 0x3000 }, - { 0x8700, 0x11e9, 0x2000 }, - { 0x0700, 0x11e8, 0x0000 }, - { 0x0700, 0x11ea, 0x0000 }, - { 0x8700, 0x11ed, 0x2000 }, - { 0x0700, 0x11ec, 0x0000 }, - { 0x0700, 0x11ee, 0x0000 }, - { 0x8700, 0x11f7, 0x4000 }, - { 0x8700, 0x11f3, 0x3000 }, - { 0x8700, 0x11f1, 0x2000 }, - { 0x0700, 0x11f0, 0x0000 }, - { 0x0700, 0x11f2, 0x0000 }, - { 0x8700, 0x11f5, 0x2000 }, - { 0x0700, 0x11f4, 0x0000 }, - { 0x0700, 0x11f6, 0x0000 }, - { 0x8700, 0x1201, 0x3000 }, - { 0x8700, 0x11f9, 0x2000 }, - { 0x0700, 0x11f8, 0x0000 }, - { 0x0700, 0x1200, 0x0000 }, - { 0x8700, 0x1203, 0x2000 }, - { 0x0700, 0x1202, 0x0000 }, - { 0x0700, 0x1204, 0x0000 }, - { 0x8700, 0x1292, 0x8000 }, - { 0x8700, 0x1246, 0x7000 }, - { 0x8700, 0x1226, 0x6000 }, - { 0x8700, 0x1216, 0x5000 }, - { 0x8700, 0x120e, 0x4000 }, - { 0x8700, 0x120a, 0x3000 }, - { 0x8700, 0x1208, 0x2000 }, - { 0x0700, 0x1206, 0x0000 }, - { 0x0700, 0x1209, 0x0000 }, - { 0x8700, 0x120c, 0x2000 }, - { 0x0700, 0x120b, 0x0000 }, - { 0x0700, 0x120d, 0x0000 }, - { 0x8700, 0x1212, 0x3000 }, - { 0x8700, 0x1210, 0x2000 }, - { 0x0700, 0x120f, 0x0000 }, - { 0x0700, 0x1211, 0x0000 }, - { 0x8700, 0x1214, 0x2000 }, - { 0x0700, 0x1213, 0x0000 }, - { 0x0700, 0x1215, 0x0000 }, - { 0x8700, 0x121e, 0x4000 }, - { 0x8700, 0x121a, 0x3000 }, - { 0x8700, 0x1218, 0x2000 }, - { 0x0700, 0x1217, 0x0000 }, - { 0x0700, 0x1219, 0x0000 }, - { 0x8700, 0x121c, 0x2000 }, - { 0x0700, 0x121b, 0x0000 }, - { 0x0700, 0x121d, 0x0000 }, - { 0x8700, 0x1222, 0x3000 }, - { 0x8700, 0x1220, 0x2000 }, - { 0x0700, 0x121f, 0x0000 }, - { 0x0700, 0x1221, 0x0000 }, - { 0x8700, 0x1224, 0x2000 }, - { 0x0700, 0x1223, 0x0000 }, - { 0x0700, 0x1225, 0x0000 }, - { 0x8700, 0x1236, 0x5000 }, - { 0x8700, 0x122e, 0x4000 }, - { 0x8700, 0x122a, 0x3000 }, - { 0x8700, 0x1228, 0x2000 }, - { 0x0700, 0x1227, 0x0000 }, - { 0x0700, 0x1229, 0x0000 }, - { 0x8700, 0x122c, 0x2000 }, - { 0x0700, 0x122b, 0x0000 }, - { 0x0700, 0x122d, 0x0000 }, - { 0x8700, 0x1232, 0x3000 }, - { 0x8700, 0x1230, 0x2000 }, - { 0x0700, 0x122f, 0x0000 }, - { 0x0700, 0x1231, 0x0000 }, - { 0x8700, 0x1234, 0x2000 }, - { 0x0700, 0x1233, 0x0000 }, - { 0x0700, 0x1235, 0x0000 }, - { 0x8700, 0x123e, 0x4000 }, - { 0x8700, 0x123a, 0x3000 }, - { 0x8700, 0x1238, 0x2000 }, - { 0x0700, 0x1237, 0x0000 }, - { 0x0700, 0x1239, 0x0000 }, - { 0x8700, 0x123c, 0x2000 }, - { 0x0700, 0x123b, 0x0000 }, - { 0x0700, 0x123d, 0x0000 }, - { 0x8700, 0x1242, 0x3000 }, - { 0x8700, 0x1240, 0x2000 }, - { 0x0700, 0x123f, 0x0000 }, - { 0x0700, 0x1241, 0x0000 }, - { 0x8700, 0x1244, 0x2000 }, - { 0x0700, 0x1243, 0x0000 }, - { 0x0700, 0x1245, 0x0000 }, - { 0x8700, 0x126e, 0x6000 }, - { 0x8700, 0x125c, 0x5000 }, - { 0x8700, 0x1252, 0x4000 }, - { 0x8700, 0x124c, 0x3000 }, - { 0x8700, 0x124a, 0x2000 }, - { 0x0700, 0x1248, 0x0000 }, - { 0x0700, 0x124b, 0x0000 }, - { 0x8700, 0x1250, 0x2000 }, - { 0x0700, 0x124d, 0x0000 }, - { 0x0700, 0x1251, 0x0000 }, - { 0x8700, 0x1256, 0x3000 }, - { 0x8700, 0x1254, 0x2000 }, - { 0x0700, 0x1253, 0x0000 }, - { 0x0700, 0x1255, 0x0000 }, - { 0x8700, 0x125a, 0x2000 }, - { 0x0700, 0x1258, 0x0000 }, - { 0x0700, 0x125b, 0x0000 }, - { 0x8700, 0x1266, 0x4000 }, - { 0x8700, 0x1262, 0x3000 }, - { 0x8700, 0x1260, 0x2000 }, - { 0x0700, 0x125d, 0x0000 }, - { 0x0700, 0x1261, 0x0000 }, - { 0x8700, 0x1264, 0x2000 }, - { 0x0700, 0x1263, 0x0000 }, - { 0x0700, 0x1265, 0x0000 }, - { 0x8700, 0x126a, 0x3000 }, - { 0x8700, 0x1268, 0x2000 }, - { 0x0700, 0x1267, 0x0000 }, - { 0x0700, 0x1269, 0x0000 }, - { 0x8700, 0x126c, 0x2000 }, - { 0x0700, 0x126b, 0x0000 }, - { 0x0700, 0x126d, 0x0000 }, - { 0x8700, 0x127e, 0x5000 }, - { 0x8700, 0x1276, 0x4000 }, - { 0x8700, 0x1272, 0x3000 }, - { 0x8700, 0x1270, 0x2000 }, - { 0x0700, 0x126f, 0x0000 }, - { 0x0700, 0x1271, 0x0000 }, - { 0x8700, 0x1274, 0x2000 }, - { 0x0700, 0x1273, 0x0000 }, - { 0x0700, 0x1275, 0x0000 }, - { 0x8700, 0x127a, 0x3000 }, - { 0x8700, 0x1278, 0x2000 }, - { 0x0700, 0x1277, 0x0000 }, - { 0x0700, 0x1279, 0x0000 }, - { 0x8700, 0x127c, 0x2000 }, - { 0x0700, 0x127b, 0x0000 }, - { 0x0700, 0x127d, 0x0000 }, - { 0x8700, 0x1286, 0x4000 }, - { 0x8700, 0x1282, 0x3000 }, - { 0x8700, 0x1280, 0x2000 }, - { 0x0700, 0x127f, 0x0000 }, - { 0x0700, 0x1281, 0x0000 }, - { 0x8700, 0x1284, 0x2000 }, - { 0x0700, 0x1283, 0x0000 }, - { 0x0700, 0x1285, 0x0000 }, - { 0x8700, 0x128c, 0x3000 }, - { 0x8700, 0x128a, 0x2000 }, - { 0x0700, 0x1288, 0x0000 }, - { 0x0700, 0x128b, 0x0000 }, - { 0x8700, 0x1290, 0x2000 }, - { 0x0700, 0x128d, 0x0000 }, - { 0x0700, 0x1291, 0x0000 }, - { 0x8700, 0x12dc, 0x7000 }, - { 0x8700, 0x12b4, 0x6000 }, - { 0x8700, 0x12a2, 0x5000 }, - { 0x8700, 0x129a, 0x4000 }, - { 0x8700, 0x1296, 0x3000 }, - { 0x8700, 0x1294, 0x2000 }, - { 0x0700, 0x1293, 0x0000 }, - { 0x0700, 0x1295, 0x0000 }, - { 0x8700, 0x1298, 0x2000 }, - { 0x0700, 0x1297, 0x0000 }, - { 0x0700, 0x1299, 0x0000 }, - { 0x8700, 0x129e, 0x3000 }, - { 0x8700, 0x129c, 0x2000 }, - { 0x0700, 0x129b, 0x0000 }, - { 0x0700, 0x129d, 0x0000 }, - { 0x8700, 0x12a0, 0x2000 }, - { 0x0700, 0x129f, 0x0000 }, - { 0x0700, 0x12a1, 0x0000 }, - { 0x8700, 0x12aa, 0x4000 }, - { 0x8700, 0x12a6, 0x3000 }, - { 0x8700, 0x12a4, 0x2000 }, - { 0x0700, 0x12a3, 0x0000 }, - { 0x0700, 0x12a5, 0x0000 }, - { 0x8700, 0x12a8, 0x2000 }, - { 0x0700, 0x12a7, 0x0000 }, - { 0x0700, 0x12a9, 0x0000 }, - { 0x8700, 0x12ae, 0x3000 }, - { 0x8700, 0x12ac, 0x2000 }, - { 0x0700, 0x12ab, 0x0000 }, - { 0x0700, 0x12ad, 0x0000 }, - { 0x8700, 0x12b2, 0x2000 }, - { 0x0700, 0x12b0, 0x0000 }, - { 0x0700, 0x12b3, 0x0000 }, - { 0x8700, 0x12ca, 0x5000 }, - { 0x8700, 0x12be, 0x4000 }, - { 0x8700, 0x12ba, 0x3000 }, - { 0x8700, 0x12b8, 0x2000 }, - { 0x0700, 0x12b5, 0x0000 }, - { 0x0700, 0x12b9, 0x0000 }, - { 0x8700, 0x12bc, 0x2000 }, - { 0x0700, 0x12bb, 0x0000 }, - { 0x0700, 0x12bd, 0x0000 }, - { 0x8700, 0x12c4, 0x3000 }, - { 0x8700, 0x12c2, 0x2000 }, - { 0x0700, 0x12c0, 0x0000 }, - { 0x0700, 0x12c3, 0x0000 }, - { 0x8700, 0x12c8, 0x2000 }, - { 0x0700, 0x12c5, 0x0000 }, - { 0x0700, 0x12c9, 0x0000 }, - { 0x8700, 0x12d3, 0x4000 }, - { 0x8700, 0x12ce, 0x3000 }, - { 0x8700, 0x12cc, 0x2000 }, - { 0x0700, 0x12cb, 0x0000 }, - { 0x0700, 0x12cd, 0x0000 }, - { 0x8700, 0x12d1, 0x2000 }, - { 0x0700, 0x12d0, 0x0000 }, - { 0x0700, 0x12d2, 0x0000 }, - { 0x8700, 0x12d8, 0x3000 }, - { 0x8700, 0x12d5, 0x2000 }, - { 0x0700, 0x12d4, 0x0000 }, - { 0x0700, 0x12d6, 0x0000 }, - { 0x8700, 0x12da, 0x2000 }, - { 0x0700, 0x12d9, 0x0000 }, - { 0x0700, 0x12db, 0x0000 }, - { 0x8700, 0x12fd, 0x6000 }, - { 0x8700, 0x12ec, 0x5000 }, - { 0x8700, 0x12e4, 0x4000 }, - { 0x8700, 0x12e0, 0x3000 }, - { 0x8700, 0x12de, 0x2000 }, - { 0x0700, 0x12dd, 0x0000 }, - { 0x0700, 0x12df, 0x0000 }, - { 0x8700, 0x12e2, 0x2000 }, - { 0x0700, 0x12e1, 0x0000 }, - { 0x0700, 0x12e3, 0x0000 }, - { 0x8700, 0x12e8, 0x3000 }, - { 0x8700, 0x12e6, 0x2000 }, - { 0x0700, 0x12e5, 0x0000 }, - { 0x0700, 0x12e7, 0x0000 }, - { 0x8700, 0x12ea, 0x2000 }, - { 0x0700, 0x12e9, 0x0000 }, - { 0x0700, 0x12eb, 0x0000 }, - { 0x8700, 0x12f5, 0x4000 }, - { 0x8700, 0x12f1, 0x3000 }, - { 0x8700, 0x12ee, 0x2000 }, - { 0x0700, 0x12ed, 0x0000 }, - { 0x0700, 0x12f0, 0x0000 }, - { 0x8700, 0x12f3, 0x2000 }, - { 0x0700, 0x12f2, 0x0000 }, - { 0x0700, 0x12f4, 0x0000 }, - { 0x8700, 0x12f9, 0x3000 }, - { 0x8700, 0x12f7, 0x2000 }, - { 0x0700, 0x12f6, 0x0000 }, - { 0x0700, 0x12f8, 0x0000 }, - { 0x8700, 0x12fb, 0x2000 }, - { 0x0700, 0x12fa, 0x0000 }, - { 0x0700, 0x12fc, 0x0000 }, - { 0x8700, 0x130d, 0x5000 }, - { 0x8700, 0x1305, 0x4000 }, - { 0x8700, 0x1301, 0x3000 }, - { 0x8700, 0x12ff, 0x2000 }, - { 0x0700, 0x12fe, 0x0000 }, - { 0x0700, 0x1300, 0x0000 }, - { 0x8700, 0x1303, 0x2000 }, - { 0x0700, 0x1302, 0x0000 }, - { 0x0700, 0x1304, 0x0000 }, - { 0x8700, 0x1309, 0x3000 }, - { 0x8700, 0x1307, 0x2000 }, - { 0x0700, 0x1306, 0x0000 }, - { 0x0700, 0x1308, 0x0000 }, - { 0x8700, 0x130b, 0x2000 }, - { 0x0700, 0x130a, 0x0000 }, - { 0x0700, 0x130c, 0x0000 }, - { 0x8700, 0x1319, 0x4000 }, - { 0x8700, 0x1313, 0x3000 }, - { 0x8700, 0x1310, 0x2000 }, - { 0x0700, 0x130e, 0x0000 }, - { 0x0700, 0x1312, 0x0000 }, - { 0x8700, 0x1315, 0x2000 }, - { 0x0700, 0x1314, 0x0000 }, - { 0x0700, 0x1318, 0x0000 }, - { 0x8700, 0x131d, 0x3000 }, - { 0x8700, 0x131b, 0x2000 }, - { 0x0700, 0x131a, 0x0000 }, - { 0x0700, 0x131c, 0x0000 }, - { 0x8700, 0x1320, 0x2000 }, - { 0x0700, 0x131e, 0x0000 }, - { 0x0700, 0x1321, 0x0000 }, - { 0x8700, 0x1458, 0x9000 }, - { 0x8700, 0x13cc, 0x8000 }, - { 0x8d00, 0x1369, 0x7000 }, - { 0x8700, 0x1342, 0x6000 }, - { 0x8700, 0x1332, 0x5000 }, - { 0x8700, 0x132a, 0x4000 }, - { 0x8700, 0x1326, 0x3000 }, - { 0x8700, 0x1324, 0x2000 }, - { 0x0700, 0x1323, 0x0000 }, - { 0x0700, 0x1325, 0x0000 }, - { 0x8700, 0x1328, 0x2000 }, - { 0x0700, 0x1327, 0x0000 }, - { 0x0700, 0x1329, 0x0000 }, - { 0x8700, 0x132e, 0x3000 }, - { 0x8700, 0x132c, 0x2000 }, - { 0x0700, 0x132b, 0x0000 }, - { 0x0700, 0x132d, 0x0000 }, - { 0x8700, 0x1330, 0x2000 }, - { 0x0700, 0x132f, 0x0000 }, - { 0x0700, 0x1331, 0x0000 }, - { 0x8700, 0x133a, 0x4000 }, - { 0x8700, 0x1336, 0x3000 }, - { 0x8700, 0x1334, 0x2000 }, - { 0x0700, 0x1333, 0x0000 }, - { 0x0700, 0x1335, 0x0000 }, - { 0x8700, 0x1338, 0x2000 }, - { 0x0700, 0x1337, 0x0000 }, - { 0x0700, 0x1339, 0x0000 }, - { 0x8700, 0x133e, 0x3000 }, - { 0x8700, 0x133c, 0x2000 }, - { 0x0700, 0x133b, 0x0000 }, - { 0x0700, 0x133d, 0x0000 }, - { 0x8700, 0x1340, 0x2000 }, - { 0x0700, 0x133f, 0x0000 }, - { 0x0700, 0x1341, 0x0000 }, - { 0x8700, 0x1353, 0x5000 }, - { 0x8700, 0x134b, 0x4000 }, - { 0x8700, 0x1346, 0x3000 }, - { 0x8700, 0x1344, 0x2000 }, - { 0x0700, 0x1343, 0x0000 }, - { 0x0700, 0x1345, 0x0000 }, - { 0x8700, 0x1349, 0x2000 }, - { 0x0700, 0x1348, 0x0000 }, - { 0x0700, 0x134a, 0x0000 }, - { 0x8700, 0x134f, 0x3000 }, - { 0x8700, 0x134d, 0x2000 }, - { 0x0700, 0x134c, 0x0000 }, - { 0x0700, 0x134e, 0x0000 }, - { 0x8700, 0x1351, 0x2000 }, - { 0x0700, 0x1350, 0x0000 }, - { 0x0700, 0x1352, 0x0000 }, - { 0x9500, 0x1361, 0x4000 }, - { 0x8700, 0x1357, 0x3000 }, - { 0x8700, 0x1355, 0x2000 }, - { 0x0700, 0x1354, 0x0000 }, - { 0x0700, 0x1356, 0x0000 }, - { 0x8700, 0x1359, 0x2000 }, - { 0x0700, 0x1358, 0x0000 }, - { 0x0700, 0x135a, 0x0000 }, - { 0x9500, 0x1365, 0x3000 }, - { 0x9500, 0x1363, 0x2000 }, - { 0x1500, 0x1362, 0x0000 }, - { 0x1500, 0x1364, 0x0000 }, - { 0x9500, 0x1367, 0x2000 }, - { 0x1500, 0x1366, 0x0000 }, - { 0x1500, 0x1368, 0x0000 }, - { 0x8700, 0x13ac, 0x6000 }, - { 0x8f00, 0x1379, 0x5000 }, - { 0x8d00, 0x1371, 0x4000 }, - { 0x8d00, 0x136d, 0x3000 }, - { 0x8d00, 0x136b, 0x2000 }, - { 0x0d00, 0x136a, 0x0000 }, - { 0x0d00, 0x136c, 0x0000 }, - { 0x8d00, 0x136f, 0x2000 }, - { 0x0d00, 0x136e, 0x0000 }, - { 0x0d00, 0x1370, 0x0000 }, - { 0x8f00, 0x1375, 0x3000 }, - { 0x8f00, 0x1373, 0x2000 }, - { 0x0f00, 0x1372, 0x0000 }, - { 0x0f00, 0x1374, 0x0000 }, - { 0x8f00, 0x1377, 0x2000 }, - { 0x0f00, 0x1376, 0x0000 }, - { 0x0f00, 0x1378, 0x0000 }, - { 0x8700, 0x13a4, 0x4000 }, - { 0x8700, 0x13a0, 0x3000 }, - { 0x8f00, 0x137b, 0x2000 }, - { 0x0f00, 0x137a, 0x0000 }, - { 0x0f00, 0x137c, 0x0000 }, - { 0x8700, 0x13a2, 0x2000 }, - { 0x0700, 0x13a1, 0x0000 }, - { 0x0700, 0x13a3, 0x0000 }, - { 0x8700, 0x13a8, 0x3000 }, - { 0x8700, 0x13a6, 0x2000 }, - { 0x0700, 0x13a5, 0x0000 }, - { 0x0700, 0x13a7, 0x0000 }, - { 0x8700, 0x13aa, 0x2000 }, - { 0x0700, 0x13a9, 0x0000 }, - { 0x0700, 0x13ab, 0x0000 }, - { 0x8700, 0x13bc, 0x5000 }, - { 0x8700, 0x13b4, 0x4000 }, - { 0x8700, 0x13b0, 0x3000 }, - { 0x8700, 0x13ae, 0x2000 }, - { 0x0700, 0x13ad, 0x0000 }, - { 0x0700, 0x13af, 0x0000 }, - { 0x8700, 0x13b2, 0x2000 }, - { 0x0700, 0x13b1, 0x0000 }, - { 0x0700, 0x13b3, 0x0000 }, - { 0x8700, 0x13b8, 0x3000 }, - { 0x8700, 0x13b6, 0x2000 }, - { 0x0700, 0x13b5, 0x0000 }, - { 0x0700, 0x13b7, 0x0000 }, - { 0x8700, 0x13ba, 0x2000 }, - { 0x0700, 0x13b9, 0x0000 }, - { 0x0700, 0x13bb, 0x0000 }, - { 0x8700, 0x13c4, 0x4000 }, - { 0x8700, 0x13c0, 0x3000 }, - { 0x8700, 0x13be, 0x2000 }, - { 0x0700, 0x13bd, 0x0000 }, - { 0x0700, 0x13bf, 0x0000 }, - { 0x8700, 0x13c2, 0x2000 }, - { 0x0700, 0x13c1, 0x0000 }, - { 0x0700, 0x13c3, 0x0000 }, - { 0x8700, 0x13c8, 0x3000 }, - { 0x8700, 0x13c6, 0x2000 }, - { 0x0700, 0x13c5, 0x0000 }, - { 0x0700, 0x13c7, 0x0000 }, - { 0x8700, 0x13ca, 0x2000 }, - { 0x0700, 0x13c9, 0x0000 }, - { 0x0700, 0x13cb, 0x0000 }, - { 0x8700, 0x1418, 0x7000 }, - { 0x8700, 0x13ec, 0x6000 }, - { 0x8700, 0x13dc, 0x5000 }, - { 0x8700, 0x13d4, 0x4000 }, - { 0x8700, 0x13d0, 0x3000 }, - { 0x8700, 0x13ce, 0x2000 }, - { 0x0700, 0x13cd, 0x0000 }, - { 0x0700, 0x13cf, 0x0000 }, - { 0x8700, 0x13d2, 0x2000 }, - { 0x0700, 0x13d1, 0x0000 }, - { 0x0700, 0x13d3, 0x0000 }, - { 0x8700, 0x13d8, 0x3000 }, - { 0x8700, 0x13d6, 0x2000 }, - { 0x0700, 0x13d5, 0x0000 }, - { 0x0700, 0x13d7, 0x0000 }, - { 0x8700, 0x13da, 0x2000 }, - { 0x0700, 0x13d9, 0x0000 }, - { 0x0700, 0x13db, 0x0000 }, - { 0x8700, 0x13e4, 0x4000 }, - { 0x8700, 0x13e0, 0x3000 }, - { 0x8700, 0x13de, 0x2000 }, - { 0x0700, 0x13dd, 0x0000 }, - { 0x0700, 0x13df, 0x0000 }, - { 0x8700, 0x13e2, 0x2000 }, - { 0x0700, 0x13e1, 0x0000 }, - { 0x0700, 0x13e3, 0x0000 }, - { 0x8700, 0x13e8, 0x3000 }, - { 0x8700, 0x13e6, 0x2000 }, - { 0x0700, 0x13e5, 0x0000 }, - { 0x0700, 0x13e7, 0x0000 }, - { 0x8700, 0x13ea, 0x2000 }, - { 0x0700, 0x13e9, 0x0000 }, - { 0x0700, 0x13eb, 0x0000 }, - { 0x8700, 0x1408, 0x5000 }, - { 0x8700, 0x13f4, 0x4000 }, - { 0x8700, 0x13f0, 0x3000 }, - { 0x8700, 0x13ee, 0x2000 }, - { 0x0700, 0x13ed, 0x0000 }, - { 0x0700, 0x13ef, 0x0000 }, - { 0x8700, 0x13f2, 0x2000 }, - { 0x0700, 0x13f1, 0x0000 }, - { 0x0700, 0x13f3, 0x0000 }, - { 0x8700, 0x1404, 0x3000 }, - { 0x8700, 0x1402, 0x2000 }, - { 0x0700, 0x1401, 0x0000 }, - { 0x0700, 0x1403, 0x0000 }, - { 0x8700, 0x1406, 0x2000 }, - { 0x0700, 0x1405, 0x0000 }, - { 0x0700, 0x1407, 0x0000 }, - { 0x8700, 0x1410, 0x4000 }, - { 0x8700, 0x140c, 0x3000 }, - { 0x8700, 0x140a, 0x2000 }, - { 0x0700, 0x1409, 0x0000 }, - { 0x0700, 0x140b, 0x0000 }, - { 0x8700, 0x140e, 0x2000 }, - { 0x0700, 0x140d, 0x0000 }, - { 0x0700, 0x140f, 0x0000 }, - { 0x8700, 0x1414, 0x3000 }, - { 0x8700, 0x1412, 0x2000 }, - { 0x0700, 0x1411, 0x0000 }, - { 0x0700, 0x1413, 0x0000 }, - { 0x8700, 0x1416, 0x2000 }, - { 0x0700, 0x1415, 0x0000 }, - { 0x0700, 0x1417, 0x0000 }, - { 0x8700, 0x1438, 0x6000 }, - { 0x8700, 0x1428, 0x5000 }, - { 0x8700, 0x1420, 0x4000 }, - { 0x8700, 0x141c, 0x3000 }, - { 0x8700, 0x141a, 0x2000 }, - { 0x0700, 0x1419, 0x0000 }, - { 0x0700, 0x141b, 0x0000 }, - { 0x8700, 0x141e, 0x2000 }, - { 0x0700, 0x141d, 0x0000 }, - { 0x0700, 0x141f, 0x0000 }, - { 0x8700, 0x1424, 0x3000 }, - { 0x8700, 0x1422, 0x2000 }, - { 0x0700, 0x1421, 0x0000 }, - { 0x0700, 0x1423, 0x0000 }, - { 0x8700, 0x1426, 0x2000 }, - { 0x0700, 0x1425, 0x0000 }, - { 0x0700, 0x1427, 0x0000 }, - { 0x8700, 0x1430, 0x4000 }, - { 0x8700, 0x142c, 0x3000 }, - { 0x8700, 0x142a, 0x2000 }, - { 0x0700, 0x1429, 0x0000 }, - { 0x0700, 0x142b, 0x0000 }, - { 0x8700, 0x142e, 0x2000 }, - { 0x0700, 0x142d, 0x0000 }, - { 0x0700, 0x142f, 0x0000 }, - { 0x8700, 0x1434, 0x3000 }, - { 0x8700, 0x1432, 0x2000 }, - { 0x0700, 0x1431, 0x0000 }, - { 0x0700, 0x1433, 0x0000 }, - { 0x8700, 0x1436, 0x2000 }, - { 0x0700, 0x1435, 0x0000 }, - { 0x0700, 0x1437, 0x0000 }, - { 0x8700, 0x1448, 0x5000 }, - { 0x8700, 0x1440, 0x4000 }, - { 0x8700, 0x143c, 0x3000 }, - { 0x8700, 0x143a, 0x2000 }, - { 0x0700, 0x1439, 0x0000 }, - { 0x0700, 0x143b, 0x0000 }, - { 0x8700, 0x143e, 0x2000 }, - { 0x0700, 0x143d, 0x0000 }, - { 0x0700, 0x143f, 0x0000 }, - { 0x8700, 0x1444, 0x3000 }, - { 0x8700, 0x1442, 0x2000 }, - { 0x0700, 0x1441, 0x0000 }, - { 0x0700, 0x1443, 0x0000 }, - { 0x8700, 0x1446, 0x2000 }, - { 0x0700, 0x1445, 0x0000 }, - { 0x0700, 0x1447, 0x0000 }, - { 0x8700, 0x1450, 0x4000 }, - { 0x8700, 0x144c, 0x3000 }, - { 0x8700, 0x144a, 0x2000 }, - { 0x0700, 0x1449, 0x0000 }, - { 0x0700, 0x144b, 0x0000 }, - { 0x8700, 0x144e, 0x2000 }, - { 0x0700, 0x144d, 0x0000 }, - { 0x0700, 0x144f, 0x0000 }, - { 0x8700, 0x1454, 0x3000 }, - { 0x8700, 0x1452, 0x2000 }, - { 0x0700, 0x1451, 0x0000 }, - { 0x0700, 0x1453, 0x0000 }, - { 0x8700, 0x1456, 0x2000 }, - { 0x0700, 0x1455, 0x0000 }, - { 0x0700, 0x1457, 0x0000 }, - { 0x8700, 0x14d8, 0x8000 }, - { 0x8700, 0x1498, 0x7000 }, - { 0x8700, 0x1478, 0x6000 }, - { 0x8700, 0x1468, 0x5000 }, - { 0x8700, 0x1460, 0x4000 }, - { 0x8700, 0x145c, 0x3000 }, - { 0x8700, 0x145a, 0x2000 }, - { 0x0700, 0x1459, 0x0000 }, - { 0x0700, 0x145b, 0x0000 }, - { 0x8700, 0x145e, 0x2000 }, - { 0x0700, 0x145d, 0x0000 }, - { 0x0700, 0x145f, 0x0000 }, - { 0x8700, 0x1464, 0x3000 }, - { 0x8700, 0x1462, 0x2000 }, - { 0x0700, 0x1461, 0x0000 }, - { 0x0700, 0x1463, 0x0000 }, - { 0x8700, 0x1466, 0x2000 }, - { 0x0700, 0x1465, 0x0000 }, - { 0x0700, 0x1467, 0x0000 }, - { 0x8700, 0x1470, 0x4000 }, - { 0x8700, 0x146c, 0x3000 }, - { 0x8700, 0x146a, 0x2000 }, - { 0x0700, 0x1469, 0x0000 }, - { 0x0700, 0x146b, 0x0000 }, - { 0x8700, 0x146e, 0x2000 }, - { 0x0700, 0x146d, 0x0000 }, - { 0x0700, 0x146f, 0x0000 }, - { 0x8700, 0x1474, 0x3000 }, - { 0x8700, 0x1472, 0x2000 }, - { 0x0700, 0x1471, 0x0000 }, - { 0x0700, 0x1473, 0x0000 }, - { 0x8700, 0x1476, 0x2000 }, - { 0x0700, 0x1475, 0x0000 }, - { 0x0700, 0x1477, 0x0000 }, - { 0x8700, 0x1488, 0x5000 }, - { 0x8700, 0x1480, 0x4000 }, - { 0x8700, 0x147c, 0x3000 }, - { 0x8700, 0x147a, 0x2000 }, - { 0x0700, 0x1479, 0x0000 }, - { 0x0700, 0x147b, 0x0000 }, - { 0x8700, 0x147e, 0x2000 }, - { 0x0700, 0x147d, 0x0000 }, - { 0x0700, 0x147f, 0x0000 }, - { 0x8700, 0x1484, 0x3000 }, - { 0x8700, 0x1482, 0x2000 }, - { 0x0700, 0x1481, 0x0000 }, - { 0x0700, 0x1483, 0x0000 }, - { 0x8700, 0x1486, 0x2000 }, - { 0x0700, 0x1485, 0x0000 }, - { 0x0700, 0x1487, 0x0000 }, - { 0x8700, 0x1490, 0x4000 }, - { 0x8700, 0x148c, 0x3000 }, - { 0x8700, 0x148a, 0x2000 }, - { 0x0700, 0x1489, 0x0000 }, - { 0x0700, 0x148b, 0x0000 }, - { 0x8700, 0x148e, 0x2000 }, - { 0x0700, 0x148d, 0x0000 }, - { 0x0700, 0x148f, 0x0000 }, - { 0x8700, 0x1494, 0x3000 }, - { 0x8700, 0x1492, 0x2000 }, - { 0x0700, 0x1491, 0x0000 }, - { 0x0700, 0x1493, 0x0000 }, - { 0x8700, 0x1496, 0x2000 }, - { 0x0700, 0x1495, 0x0000 }, - { 0x0700, 0x1497, 0x0000 }, - { 0x8700, 0x14b8, 0x6000 }, - { 0x8700, 0x14a8, 0x5000 }, - { 0x8700, 0x14a0, 0x4000 }, - { 0x8700, 0x149c, 0x3000 }, - { 0x8700, 0x149a, 0x2000 }, - { 0x0700, 0x1499, 0x0000 }, - { 0x0700, 0x149b, 0x0000 }, - { 0x8700, 0x149e, 0x2000 }, - { 0x0700, 0x149d, 0x0000 }, - { 0x0700, 0x149f, 0x0000 }, - { 0x8700, 0x14a4, 0x3000 }, - { 0x8700, 0x14a2, 0x2000 }, - { 0x0700, 0x14a1, 0x0000 }, - { 0x0700, 0x14a3, 0x0000 }, - { 0x8700, 0x14a6, 0x2000 }, - { 0x0700, 0x14a5, 0x0000 }, - { 0x0700, 0x14a7, 0x0000 }, - { 0x8700, 0x14b0, 0x4000 }, - { 0x8700, 0x14ac, 0x3000 }, - { 0x8700, 0x14aa, 0x2000 }, - { 0x0700, 0x14a9, 0x0000 }, - { 0x0700, 0x14ab, 0x0000 }, - { 0x8700, 0x14ae, 0x2000 }, - { 0x0700, 0x14ad, 0x0000 }, - { 0x0700, 0x14af, 0x0000 }, - { 0x8700, 0x14b4, 0x3000 }, - { 0x8700, 0x14b2, 0x2000 }, - { 0x0700, 0x14b1, 0x0000 }, - { 0x0700, 0x14b3, 0x0000 }, - { 0x8700, 0x14b6, 0x2000 }, - { 0x0700, 0x14b5, 0x0000 }, - { 0x0700, 0x14b7, 0x0000 }, - { 0x8700, 0x14c8, 0x5000 }, - { 0x8700, 0x14c0, 0x4000 }, - { 0x8700, 0x14bc, 0x3000 }, - { 0x8700, 0x14ba, 0x2000 }, - { 0x0700, 0x14b9, 0x0000 }, - { 0x0700, 0x14bb, 0x0000 }, - { 0x8700, 0x14be, 0x2000 }, - { 0x0700, 0x14bd, 0x0000 }, - { 0x0700, 0x14bf, 0x0000 }, - { 0x8700, 0x14c4, 0x3000 }, - { 0x8700, 0x14c2, 0x2000 }, - { 0x0700, 0x14c1, 0x0000 }, - { 0x0700, 0x14c3, 0x0000 }, - { 0x8700, 0x14c6, 0x2000 }, - { 0x0700, 0x14c5, 0x0000 }, - { 0x0700, 0x14c7, 0x0000 }, - { 0x8700, 0x14d0, 0x4000 }, - { 0x8700, 0x14cc, 0x3000 }, - { 0x8700, 0x14ca, 0x2000 }, - { 0x0700, 0x14c9, 0x0000 }, - { 0x0700, 0x14cb, 0x0000 }, - { 0x8700, 0x14ce, 0x2000 }, - { 0x0700, 0x14cd, 0x0000 }, - { 0x0700, 0x14cf, 0x0000 }, - { 0x8700, 0x14d4, 0x3000 }, - { 0x8700, 0x14d2, 0x2000 }, - { 0x0700, 0x14d1, 0x0000 }, - { 0x0700, 0x14d3, 0x0000 }, - { 0x8700, 0x14d6, 0x2000 }, - { 0x0700, 0x14d5, 0x0000 }, - { 0x0700, 0x14d7, 0x0000 }, - { 0x8700, 0x1518, 0x7000 }, - { 0x8700, 0x14f8, 0x6000 }, - { 0x8700, 0x14e8, 0x5000 }, - { 0x8700, 0x14e0, 0x4000 }, - { 0x8700, 0x14dc, 0x3000 }, - { 0x8700, 0x14da, 0x2000 }, - { 0x0700, 0x14d9, 0x0000 }, - { 0x0700, 0x14db, 0x0000 }, - { 0x8700, 0x14de, 0x2000 }, - { 0x0700, 0x14dd, 0x0000 }, - { 0x0700, 0x14df, 0x0000 }, - { 0x8700, 0x14e4, 0x3000 }, - { 0x8700, 0x14e2, 0x2000 }, - { 0x0700, 0x14e1, 0x0000 }, - { 0x0700, 0x14e3, 0x0000 }, - { 0x8700, 0x14e6, 0x2000 }, - { 0x0700, 0x14e5, 0x0000 }, - { 0x0700, 0x14e7, 0x0000 }, - { 0x8700, 0x14f0, 0x4000 }, - { 0x8700, 0x14ec, 0x3000 }, - { 0x8700, 0x14ea, 0x2000 }, - { 0x0700, 0x14e9, 0x0000 }, - { 0x0700, 0x14eb, 0x0000 }, - { 0x8700, 0x14ee, 0x2000 }, - { 0x0700, 0x14ed, 0x0000 }, - { 0x0700, 0x14ef, 0x0000 }, - { 0x8700, 0x14f4, 0x3000 }, - { 0x8700, 0x14f2, 0x2000 }, - { 0x0700, 0x14f1, 0x0000 }, - { 0x0700, 0x14f3, 0x0000 }, - { 0x8700, 0x14f6, 0x2000 }, - { 0x0700, 0x14f5, 0x0000 }, - { 0x0700, 0x14f7, 0x0000 }, - { 0x8700, 0x1508, 0x5000 }, - { 0x8700, 0x1500, 0x4000 }, - { 0x8700, 0x14fc, 0x3000 }, - { 0x8700, 0x14fa, 0x2000 }, - { 0x0700, 0x14f9, 0x0000 }, - { 0x0700, 0x14fb, 0x0000 }, - { 0x8700, 0x14fe, 0x2000 }, - { 0x0700, 0x14fd, 0x0000 }, - { 0x0700, 0x14ff, 0x0000 }, - { 0x8700, 0x1504, 0x3000 }, - { 0x8700, 0x1502, 0x2000 }, - { 0x0700, 0x1501, 0x0000 }, - { 0x0700, 0x1503, 0x0000 }, - { 0x8700, 0x1506, 0x2000 }, - { 0x0700, 0x1505, 0x0000 }, - { 0x0700, 0x1507, 0x0000 }, - { 0x8700, 0x1510, 0x4000 }, - { 0x8700, 0x150c, 0x3000 }, - { 0x8700, 0x150a, 0x2000 }, - { 0x0700, 0x1509, 0x0000 }, - { 0x0700, 0x150b, 0x0000 }, - { 0x8700, 0x150e, 0x2000 }, - { 0x0700, 0x150d, 0x0000 }, - { 0x0700, 0x150f, 0x0000 }, - { 0x8700, 0x1514, 0x3000 }, - { 0x8700, 0x1512, 0x2000 }, - { 0x0700, 0x1511, 0x0000 }, - { 0x0700, 0x1513, 0x0000 }, - { 0x8700, 0x1516, 0x2000 }, - { 0x0700, 0x1515, 0x0000 }, - { 0x0700, 0x1517, 0x0000 }, - { 0x8700, 0x1538, 0x6000 }, - { 0x8700, 0x1528, 0x5000 }, - { 0x8700, 0x1520, 0x4000 }, - { 0x8700, 0x151c, 0x3000 }, - { 0x8700, 0x151a, 0x2000 }, - { 0x0700, 0x1519, 0x0000 }, - { 0x0700, 0x151b, 0x0000 }, - { 0x8700, 0x151e, 0x2000 }, - { 0x0700, 0x151d, 0x0000 }, - { 0x0700, 0x151f, 0x0000 }, - { 0x8700, 0x1524, 0x3000 }, - { 0x8700, 0x1522, 0x2000 }, - { 0x0700, 0x1521, 0x0000 }, - { 0x0700, 0x1523, 0x0000 }, - { 0x8700, 0x1526, 0x2000 }, - { 0x0700, 0x1525, 0x0000 }, - { 0x0700, 0x1527, 0x0000 }, - { 0x8700, 0x1530, 0x4000 }, - { 0x8700, 0x152c, 0x3000 }, - { 0x8700, 0x152a, 0x2000 }, - { 0x0700, 0x1529, 0x0000 }, - { 0x0700, 0x152b, 0x0000 }, - { 0x8700, 0x152e, 0x2000 }, - { 0x0700, 0x152d, 0x0000 }, - { 0x0700, 0x152f, 0x0000 }, - { 0x8700, 0x1534, 0x3000 }, - { 0x8700, 0x1532, 0x2000 }, - { 0x0700, 0x1531, 0x0000 }, - { 0x0700, 0x1533, 0x0000 }, - { 0x8700, 0x1536, 0x2000 }, - { 0x0700, 0x1535, 0x0000 }, - { 0x0700, 0x1537, 0x0000 }, - { 0x8700, 0x1548, 0x5000 }, - { 0x8700, 0x1540, 0x4000 }, - { 0x8700, 0x153c, 0x3000 }, - { 0x8700, 0x153a, 0x2000 }, - { 0x0700, 0x1539, 0x0000 }, - { 0x0700, 0x153b, 0x0000 }, - { 0x8700, 0x153e, 0x2000 }, - { 0x0700, 0x153d, 0x0000 }, - { 0x0700, 0x153f, 0x0000 }, - { 0x8700, 0x1544, 0x3000 }, - { 0x8700, 0x1542, 0x2000 }, - { 0x0700, 0x1541, 0x0000 }, - { 0x0700, 0x1543, 0x0000 }, - { 0x8700, 0x1546, 0x2000 }, - { 0x0700, 0x1545, 0x0000 }, - { 0x0700, 0x1547, 0x0000 }, - { 0x8700, 0x1550, 0x4000 }, - { 0x8700, 0x154c, 0x3000 }, - { 0x8700, 0x154a, 0x2000 }, - { 0x0700, 0x1549, 0x0000 }, - { 0x0700, 0x154b, 0x0000 }, - { 0x8700, 0x154e, 0x2000 }, - { 0x0700, 0x154d, 0x0000 }, - { 0x0700, 0x154f, 0x0000 }, - { 0x8700, 0x1554, 0x3000 }, - { 0x8700, 0x1552, 0x2000 }, - { 0x0700, 0x1551, 0x0000 }, - { 0x0700, 0x1553, 0x0000 }, - { 0x8700, 0x1556, 0x2000 }, - { 0x0700, 0x1555, 0x0000 }, - { 0x0700, 0x1557, 0x0000 }, - { 0x9900, 0x22ae, 0xc000 }, - { 0x8900, 0x1e24, 0xb001 }, - { 0x8700, 0x17a2, 0xa000 }, - { 0x8700, 0x1658, 0x9000 }, - { 0x8700, 0x15d8, 0x8000 }, - { 0x8700, 0x1598, 0x7000 }, - { 0x8700, 0x1578, 0x6000 }, - { 0x8700, 0x1568, 0x5000 }, - { 0x8700, 0x1560, 0x4000 }, - { 0x8700, 0x155c, 0x3000 }, - { 0x8700, 0x155a, 0x2000 }, - { 0x0700, 0x1559, 0x0000 }, - { 0x0700, 0x155b, 0x0000 }, - { 0x8700, 0x155e, 0x2000 }, - { 0x0700, 0x155d, 0x0000 }, - { 0x0700, 0x155f, 0x0000 }, - { 0x8700, 0x1564, 0x3000 }, - { 0x8700, 0x1562, 0x2000 }, - { 0x0700, 0x1561, 0x0000 }, - { 0x0700, 0x1563, 0x0000 }, - { 0x8700, 0x1566, 0x2000 }, - { 0x0700, 0x1565, 0x0000 }, - { 0x0700, 0x1567, 0x0000 }, - { 0x8700, 0x1570, 0x4000 }, - { 0x8700, 0x156c, 0x3000 }, - { 0x8700, 0x156a, 0x2000 }, - { 0x0700, 0x1569, 0x0000 }, - { 0x0700, 0x156b, 0x0000 }, - { 0x8700, 0x156e, 0x2000 }, - { 0x0700, 0x156d, 0x0000 }, - { 0x0700, 0x156f, 0x0000 }, - { 0x8700, 0x1574, 0x3000 }, - { 0x8700, 0x1572, 0x2000 }, - { 0x0700, 0x1571, 0x0000 }, - { 0x0700, 0x1573, 0x0000 }, - { 0x8700, 0x1576, 0x2000 }, - { 0x0700, 0x1575, 0x0000 }, - { 0x0700, 0x1577, 0x0000 }, - { 0x8700, 0x1588, 0x5000 }, - { 0x8700, 0x1580, 0x4000 }, - { 0x8700, 0x157c, 0x3000 }, - { 0x8700, 0x157a, 0x2000 }, - { 0x0700, 0x1579, 0x0000 }, - { 0x0700, 0x157b, 0x0000 }, - { 0x8700, 0x157e, 0x2000 }, - { 0x0700, 0x157d, 0x0000 }, - { 0x0700, 0x157f, 0x0000 }, - { 0x8700, 0x1584, 0x3000 }, - { 0x8700, 0x1582, 0x2000 }, - { 0x0700, 0x1581, 0x0000 }, - { 0x0700, 0x1583, 0x0000 }, - { 0x8700, 0x1586, 0x2000 }, - { 0x0700, 0x1585, 0x0000 }, - { 0x0700, 0x1587, 0x0000 }, - { 0x8700, 0x1590, 0x4000 }, - { 0x8700, 0x158c, 0x3000 }, - { 0x8700, 0x158a, 0x2000 }, - { 0x0700, 0x1589, 0x0000 }, - { 0x0700, 0x158b, 0x0000 }, - { 0x8700, 0x158e, 0x2000 }, - { 0x0700, 0x158d, 0x0000 }, - { 0x0700, 0x158f, 0x0000 }, - { 0x8700, 0x1594, 0x3000 }, - { 0x8700, 0x1592, 0x2000 }, - { 0x0700, 0x1591, 0x0000 }, - { 0x0700, 0x1593, 0x0000 }, - { 0x8700, 0x1596, 0x2000 }, - { 0x0700, 0x1595, 0x0000 }, - { 0x0700, 0x1597, 0x0000 }, - { 0x8700, 0x15b8, 0x6000 }, - { 0x8700, 0x15a8, 0x5000 }, - { 0x8700, 0x15a0, 0x4000 }, - { 0x8700, 0x159c, 0x3000 }, - { 0x8700, 0x159a, 0x2000 }, - { 0x0700, 0x1599, 0x0000 }, - { 0x0700, 0x159b, 0x0000 }, - { 0x8700, 0x159e, 0x2000 }, - { 0x0700, 0x159d, 0x0000 }, - { 0x0700, 0x159f, 0x0000 }, - { 0x8700, 0x15a4, 0x3000 }, - { 0x8700, 0x15a2, 0x2000 }, - { 0x0700, 0x15a1, 0x0000 }, - { 0x0700, 0x15a3, 0x0000 }, - { 0x8700, 0x15a6, 0x2000 }, - { 0x0700, 0x15a5, 0x0000 }, - { 0x0700, 0x15a7, 0x0000 }, - { 0x8700, 0x15b0, 0x4000 }, - { 0x8700, 0x15ac, 0x3000 }, - { 0x8700, 0x15aa, 0x2000 }, - { 0x0700, 0x15a9, 0x0000 }, - { 0x0700, 0x15ab, 0x0000 }, - { 0x8700, 0x15ae, 0x2000 }, - { 0x0700, 0x15ad, 0x0000 }, - { 0x0700, 0x15af, 0x0000 }, - { 0x8700, 0x15b4, 0x3000 }, - { 0x8700, 0x15b2, 0x2000 }, - { 0x0700, 0x15b1, 0x0000 }, - { 0x0700, 0x15b3, 0x0000 }, - { 0x8700, 0x15b6, 0x2000 }, - { 0x0700, 0x15b5, 0x0000 }, - { 0x0700, 0x15b7, 0x0000 }, - { 0x8700, 0x15c8, 0x5000 }, - { 0x8700, 0x15c0, 0x4000 }, - { 0x8700, 0x15bc, 0x3000 }, - { 0x8700, 0x15ba, 0x2000 }, - { 0x0700, 0x15b9, 0x0000 }, - { 0x0700, 0x15bb, 0x0000 }, - { 0x8700, 0x15be, 0x2000 }, - { 0x0700, 0x15bd, 0x0000 }, - { 0x0700, 0x15bf, 0x0000 }, - { 0x8700, 0x15c4, 0x3000 }, - { 0x8700, 0x15c2, 0x2000 }, - { 0x0700, 0x15c1, 0x0000 }, - { 0x0700, 0x15c3, 0x0000 }, - { 0x8700, 0x15c6, 0x2000 }, - { 0x0700, 0x15c5, 0x0000 }, - { 0x0700, 0x15c7, 0x0000 }, - { 0x8700, 0x15d0, 0x4000 }, - { 0x8700, 0x15cc, 0x3000 }, - { 0x8700, 0x15ca, 0x2000 }, - { 0x0700, 0x15c9, 0x0000 }, - { 0x0700, 0x15cb, 0x0000 }, - { 0x8700, 0x15ce, 0x2000 }, - { 0x0700, 0x15cd, 0x0000 }, - { 0x0700, 0x15cf, 0x0000 }, - { 0x8700, 0x15d4, 0x3000 }, - { 0x8700, 0x15d2, 0x2000 }, - { 0x0700, 0x15d1, 0x0000 }, - { 0x0700, 0x15d3, 0x0000 }, - { 0x8700, 0x15d6, 0x2000 }, - { 0x0700, 0x15d5, 0x0000 }, - { 0x0700, 0x15d7, 0x0000 }, - { 0x8700, 0x1618, 0x7000 }, - { 0x8700, 0x15f8, 0x6000 }, - { 0x8700, 0x15e8, 0x5000 }, - { 0x8700, 0x15e0, 0x4000 }, - { 0x8700, 0x15dc, 0x3000 }, - { 0x8700, 0x15da, 0x2000 }, - { 0x0700, 0x15d9, 0x0000 }, - { 0x0700, 0x15db, 0x0000 }, - { 0x8700, 0x15de, 0x2000 }, - { 0x0700, 0x15dd, 0x0000 }, - { 0x0700, 0x15df, 0x0000 }, - { 0x8700, 0x15e4, 0x3000 }, - { 0x8700, 0x15e2, 0x2000 }, - { 0x0700, 0x15e1, 0x0000 }, - { 0x0700, 0x15e3, 0x0000 }, - { 0x8700, 0x15e6, 0x2000 }, - { 0x0700, 0x15e5, 0x0000 }, - { 0x0700, 0x15e7, 0x0000 }, - { 0x8700, 0x15f0, 0x4000 }, - { 0x8700, 0x15ec, 0x3000 }, - { 0x8700, 0x15ea, 0x2000 }, - { 0x0700, 0x15e9, 0x0000 }, - { 0x0700, 0x15eb, 0x0000 }, - { 0x8700, 0x15ee, 0x2000 }, - { 0x0700, 0x15ed, 0x0000 }, - { 0x0700, 0x15ef, 0x0000 }, - { 0x8700, 0x15f4, 0x3000 }, - { 0x8700, 0x15f2, 0x2000 }, - { 0x0700, 0x15f1, 0x0000 }, - { 0x0700, 0x15f3, 0x0000 }, - { 0x8700, 0x15f6, 0x2000 }, - { 0x0700, 0x15f5, 0x0000 }, - { 0x0700, 0x15f7, 0x0000 }, - { 0x8700, 0x1608, 0x5000 }, - { 0x8700, 0x1600, 0x4000 }, - { 0x8700, 0x15fc, 0x3000 }, - { 0x8700, 0x15fa, 0x2000 }, - { 0x0700, 0x15f9, 0x0000 }, - { 0x0700, 0x15fb, 0x0000 }, - { 0x8700, 0x15fe, 0x2000 }, - { 0x0700, 0x15fd, 0x0000 }, - { 0x0700, 0x15ff, 0x0000 }, - { 0x8700, 0x1604, 0x3000 }, - { 0x8700, 0x1602, 0x2000 }, - { 0x0700, 0x1601, 0x0000 }, - { 0x0700, 0x1603, 0x0000 }, - { 0x8700, 0x1606, 0x2000 }, - { 0x0700, 0x1605, 0x0000 }, - { 0x0700, 0x1607, 0x0000 }, - { 0x8700, 0x1610, 0x4000 }, - { 0x8700, 0x160c, 0x3000 }, - { 0x8700, 0x160a, 0x2000 }, - { 0x0700, 0x1609, 0x0000 }, - { 0x0700, 0x160b, 0x0000 }, - { 0x8700, 0x160e, 0x2000 }, - { 0x0700, 0x160d, 0x0000 }, - { 0x0700, 0x160f, 0x0000 }, - { 0x8700, 0x1614, 0x3000 }, - { 0x8700, 0x1612, 0x2000 }, - { 0x0700, 0x1611, 0x0000 }, - { 0x0700, 0x1613, 0x0000 }, - { 0x8700, 0x1616, 0x2000 }, - { 0x0700, 0x1615, 0x0000 }, - { 0x0700, 0x1617, 0x0000 }, - { 0x8700, 0x1638, 0x6000 }, - { 0x8700, 0x1628, 0x5000 }, - { 0x8700, 0x1620, 0x4000 }, - { 0x8700, 0x161c, 0x3000 }, - { 0x8700, 0x161a, 0x2000 }, - { 0x0700, 0x1619, 0x0000 }, - { 0x0700, 0x161b, 0x0000 }, - { 0x8700, 0x161e, 0x2000 }, - { 0x0700, 0x161d, 0x0000 }, - { 0x0700, 0x161f, 0x0000 }, - { 0x8700, 0x1624, 0x3000 }, - { 0x8700, 0x1622, 0x2000 }, - { 0x0700, 0x1621, 0x0000 }, - { 0x0700, 0x1623, 0x0000 }, - { 0x8700, 0x1626, 0x2000 }, - { 0x0700, 0x1625, 0x0000 }, - { 0x0700, 0x1627, 0x0000 }, - { 0x8700, 0x1630, 0x4000 }, - { 0x8700, 0x162c, 0x3000 }, - { 0x8700, 0x162a, 0x2000 }, - { 0x0700, 0x1629, 0x0000 }, - { 0x0700, 0x162b, 0x0000 }, - { 0x8700, 0x162e, 0x2000 }, - { 0x0700, 0x162d, 0x0000 }, - { 0x0700, 0x162f, 0x0000 }, - { 0x8700, 0x1634, 0x3000 }, - { 0x8700, 0x1632, 0x2000 }, - { 0x0700, 0x1631, 0x0000 }, - { 0x0700, 0x1633, 0x0000 }, - { 0x8700, 0x1636, 0x2000 }, - { 0x0700, 0x1635, 0x0000 }, - { 0x0700, 0x1637, 0x0000 }, - { 0x8700, 0x1648, 0x5000 }, - { 0x8700, 0x1640, 0x4000 }, - { 0x8700, 0x163c, 0x3000 }, - { 0x8700, 0x163a, 0x2000 }, - { 0x0700, 0x1639, 0x0000 }, - { 0x0700, 0x163b, 0x0000 }, - { 0x8700, 0x163e, 0x2000 }, - { 0x0700, 0x163d, 0x0000 }, - { 0x0700, 0x163f, 0x0000 }, - { 0x8700, 0x1644, 0x3000 }, - { 0x8700, 0x1642, 0x2000 }, - { 0x0700, 0x1641, 0x0000 }, - { 0x0700, 0x1643, 0x0000 }, - { 0x8700, 0x1646, 0x2000 }, - { 0x0700, 0x1645, 0x0000 }, - { 0x0700, 0x1647, 0x0000 }, - { 0x8700, 0x1650, 0x4000 }, - { 0x8700, 0x164c, 0x3000 }, - { 0x8700, 0x164a, 0x2000 }, - { 0x0700, 0x1649, 0x0000 }, - { 0x0700, 0x164b, 0x0000 }, - { 0x8700, 0x164e, 0x2000 }, - { 0x0700, 0x164d, 0x0000 }, - { 0x0700, 0x164f, 0x0000 }, - { 0x8700, 0x1654, 0x3000 }, - { 0x8700, 0x1652, 0x2000 }, - { 0x0700, 0x1651, 0x0000 }, - { 0x0700, 0x1653, 0x0000 }, - { 0x8700, 0x1656, 0x2000 }, - { 0x0700, 0x1655, 0x0000 }, - { 0x0700, 0x1657, 0x0000 }, - { 0x8700, 0x16e4, 0x8000 }, - { 0x8700, 0x16a4, 0x7000 }, - { 0x8700, 0x1681, 0x6000 }, - { 0x8700, 0x1668, 0x5000 }, - { 0x8700, 0x1660, 0x4000 }, - { 0x8700, 0x165c, 0x3000 }, - { 0x8700, 0x165a, 0x2000 }, - { 0x0700, 0x1659, 0x0000 }, - { 0x0700, 0x165b, 0x0000 }, - { 0x8700, 0x165e, 0x2000 }, - { 0x0700, 0x165d, 0x0000 }, - { 0x0700, 0x165f, 0x0000 }, - { 0x8700, 0x1664, 0x3000 }, - { 0x8700, 0x1662, 0x2000 }, - { 0x0700, 0x1661, 0x0000 }, - { 0x0700, 0x1663, 0x0000 }, - { 0x8700, 0x1666, 0x2000 }, - { 0x0700, 0x1665, 0x0000 }, - { 0x0700, 0x1667, 0x0000 }, - { 0x8700, 0x1670, 0x4000 }, - { 0x8700, 0x166c, 0x3000 }, - { 0x8700, 0x166a, 0x2000 }, - { 0x0700, 0x1669, 0x0000 }, - { 0x0700, 0x166b, 0x0000 }, - { 0x9500, 0x166e, 0x2000 }, - { 0x1500, 0x166d, 0x0000 }, - { 0x0700, 0x166f, 0x0000 }, - { 0x8700, 0x1674, 0x3000 }, - { 0x8700, 0x1672, 0x2000 }, - { 0x0700, 0x1671, 0x0000 }, - { 0x0700, 0x1673, 0x0000 }, - { 0x8700, 0x1676, 0x2000 }, - { 0x0700, 0x1675, 0x0000 }, - { 0x1d00, 0x1680, 0x0000 }, - { 0x8700, 0x1691, 0x5000 }, - { 0x8700, 0x1689, 0x4000 }, - { 0x8700, 0x1685, 0x3000 }, - { 0x8700, 0x1683, 0x2000 }, - { 0x0700, 0x1682, 0x0000 }, - { 0x0700, 0x1684, 0x0000 }, - { 0x8700, 0x1687, 0x2000 }, - { 0x0700, 0x1686, 0x0000 }, - { 0x0700, 0x1688, 0x0000 }, - { 0x8700, 0x168d, 0x3000 }, - { 0x8700, 0x168b, 0x2000 }, - { 0x0700, 0x168a, 0x0000 }, - { 0x0700, 0x168c, 0x0000 }, - { 0x8700, 0x168f, 0x2000 }, - { 0x0700, 0x168e, 0x0000 }, - { 0x0700, 0x1690, 0x0000 }, - { 0x8700, 0x1699, 0x4000 }, - { 0x8700, 0x1695, 0x3000 }, - { 0x8700, 0x1693, 0x2000 }, - { 0x0700, 0x1692, 0x0000 }, - { 0x0700, 0x1694, 0x0000 }, - { 0x8700, 0x1697, 0x2000 }, - { 0x0700, 0x1696, 0x0000 }, - { 0x0700, 0x1698, 0x0000 }, - { 0x8700, 0x16a0, 0x3000 }, - { 0x9600, 0x169b, 0x2000 }, - { 0x0700, 0x169a, 0x0000 }, - { 0x1200, 0x169c, 0x0000 }, - { 0x8700, 0x16a2, 0x2000 }, - { 0x0700, 0x16a1, 0x0000 }, - { 0x0700, 0x16a3, 0x0000 }, - { 0x8700, 0x16c4, 0x6000 }, - { 0x8700, 0x16b4, 0x5000 }, - { 0x8700, 0x16ac, 0x4000 }, - { 0x8700, 0x16a8, 0x3000 }, - { 0x8700, 0x16a6, 0x2000 }, - { 0x0700, 0x16a5, 0x0000 }, - { 0x0700, 0x16a7, 0x0000 }, - { 0x8700, 0x16aa, 0x2000 }, - { 0x0700, 0x16a9, 0x0000 }, - { 0x0700, 0x16ab, 0x0000 }, - { 0x8700, 0x16b0, 0x3000 }, - { 0x8700, 0x16ae, 0x2000 }, - { 0x0700, 0x16ad, 0x0000 }, - { 0x0700, 0x16af, 0x0000 }, - { 0x8700, 0x16b2, 0x2000 }, - { 0x0700, 0x16b1, 0x0000 }, - { 0x0700, 0x16b3, 0x0000 }, - { 0x8700, 0x16bc, 0x4000 }, - { 0x8700, 0x16b8, 0x3000 }, - { 0x8700, 0x16b6, 0x2000 }, - { 0x0700, 0x16b5, 0x0000 }, - { 0x0700, 0x16b7, 0x0000 }, - { 0x8700, 0x16ba, 0x2000 }, - { 0x0700, 0x16b9, 0x0000 }, - { 0x0700, 0x16bb, 0x0000 }, - { 0x8700, 0x16c0, 0x3000 }, - { 0x8700, 0x16be, 0x2000 }, - { 0x0700, 0x16bd, 0x0000 }, - { 0x0700, 0x16bf, 0x0000 }, - { 0x8700, 0x16c2, 0x2000 }, - { 0x0700, 0x16c1, 0x0000 }, - { 0x0700, 0x16c3, 0x0000 }, - { 0x8700, 0x16d4, 0x5000 }, - { 0x8700, 0x16cc, 0x4000 }, - { 0x8700, 0x16c8, 0x3000 }, - { 0x8700, 0x16c6, 0x2000 }, - { 0x0700, 0x16c5, 0x0000 }, - { 0x0700, 0x16c7, 0x0000 }, - { 0x8700, 0x16ca, 0x2000 }, - { 0x0700, 0x16c9, 0x0000 }, - { 0x0700, 0x16cb, 0x0000 }, - { 0x8700, 0x16d0, 0x3000 }, - { 0x8700, 0x16ce, 0x2000 }, - { 0x0700, 0x16cd, 0x0000 }, - { 0x0700, 0x16cf, 0x0000 }, - { 0x8700, 0x16d2, 0x2000 }, - { 0x0700, 0x16d1, 0x0000 }, - { 0x0700, 0x16d3, 0x0000 }, - { 0x8700, 0x16dc, 0x4000 }, - { 0x8700, 0x16d8, 0x3000 }, - { 0x8700, 0x16d6, 0x2000 }, - { 0x0700, 0x16d5, 0x0000 }, - { 0x0700, 0x16d7, 0x0000 }, - { 0x8700, 0x16da, 0x2000 }, - { 0x0700, 0x16d9, 0x0000 }, - { 0x0700, 0x16db, 0x0000 }, - { 0x8700, 0x16e0, 0x3000 }, - { 0x8700, 0x16de, 0x2000 }, - { 0x0700, 0x16dd, 0x0000 }, - { 0x0700, 0x16df, 0x0000 }, - { 0x8700, 0x16e2, 0x2000 }, - { 0x0700, 0x16e1, 0x0000 }, - { 0x0700, 0x16e3, 0x0000 }, - { 0x8700, 0x1748, 0x7000 }, - { 0x8c00, 0x1714, 0x6000 }, - { 0x8700, 0x1703, 0x5000 }, - { 0x9500, 0x16ec, 0x4000 }, - { 0x8700, 0x16e8, 0x3000 }, - { 0x8700, 0x16e6, 0x2000 }, - { 0x0700, 0x16e5, 0x0000 }, - { 0x0700, 0x16e7, 0x0000 }, - { 0x8700, 0x16ea, 0x2000 }, - { 0x0700, 0x16e9, 0x0000 }, - { 0x1500, 0x16eb, 0x0000 }, - { 0x8e00, 0x16f0, 0x3000 }, - { 0x8e00, 0x16ee, 0x2000 }, - { 0x1500, 0x16ed, 0x0000 }, - { 0x0e00, 0x16ef, 0x0000 }, - { 0x8700, 0x1701, 0x2000 }, - { 0x0700, 0x1700, 0x0000 }, - { 0x0700, 0x1702, 0x0000 }, - { 0x8700, 0x170b, 0x4000 }, - { 0x8700, 0x1707, 0x3000 }, - { 0x8700, 0x1705, 0x2000 }, - { 0x0700, 0x1704, 0x0000 }, - { 0x0700, 0x1706, 0x0000 }, - { 0x8700, 0x1709, 0x2000 }, - { 0x0700, 0x1708, 0x0000 }, - { 0x0700, 0x170a, 0x0000 }, - { 0x8700, 0x1710, 0x3000 }, - { 0x8700, 0x170e, 0x2000 }, - { 0x0700, 0x170c, 0x0000 }, - { 0x0700, 0x170f, 0x0000 }, - { 0x8c00, 0x1712, 0x2000 }, - { 0x0700, 0x1711, 0x0000 }, - { 0x0c00, 0x1713, 0x0000 }, - { 0x8700, 0x172f, 0x5000 }, - { 0x8700, 0x1727, 0x4000 }, - { 0x8700, 0x1723, 0x3000 }, - { 0x8700, 0x1721, 0x2000 }, - { 0x0700, 0x1720, 0x0000 }, - { 0x0700, 0x1722, 0x0000 }, - { 0x8700, 0x1725, 0x2000 }, - { 0x0700, 0x1724, 0x0000 }, - { 0x0700, 0x1726, 0x0000 }, - { 0x8700, 0x172b, 0x3000 }, - { 0x8700, 0x1729, 0x2000 }, - { 0x0700, 0x1728, 0x0000 }, - { 0x0700, 0x172a, 0x0000 }, - { 0x8700, 0x172d, 0x2000 }, - { 0x0700, 0x172c, 0x0000 }, - { 0x0700, 0x172e, 0x0000 }, - { 0x8700, 0x1740, 0x4000 }, - { 0x8c00, 0x1733, 0x3000 }, - { 0x8700, 0x1731, 0x2000 }, - { 0x0700, 0x1730, 0x0000 }, - { 0x0c00, 0x1732, 0x0000 }, - { 0x9500, 0x1735, 0x2000 }, - { 0x0c00, 0x1734, 0x0000 }, - { 0x1500, 0x1736, 0x0000 }, - { 0x8700, 0x1744, 0x3000 }, - { 0x8700, 0x1742, 0x2000 }, - { 0x0700, 0x1741, 0x0000 }, - { 0x0700, 0x1743, 0x0000 }, - { 0x8700, 0x1746, 0x2000 }, - { 0x0700, 0x1745, 0x0000 }, - { 0x0700, 0x1747, 0x0000 }, - { 0x8700, 0x1782, 0x6000 }, - { 0x8700, 0x1764, 0x5000 }, - { 0x8700, 0x1750, 0x4000 }, - { 0x8700, 0x174c, 0x3000 }, - { 0x8700, 0x174a, 0x2000 }, - { 0x0700, 0x1749, 0x0000 }, - { 0x0700, 0x174b, 0x0000 }, - { 0x8700, 0x174e, 0x2000 }, - { 0x0700, 0x174d, 0x0000 }, - { 0x0700, 0x174f, 0x0000 }, - { 0x8700, 0x1760, 0x3000 }, - { 0x8c00, 0x1752, 0x2000 }, - { 0x0700, 0x1751, 0x0000 }, - { 0x0c00, 0x1753, 0x0000 }, - { 0x8700, 0x1762, 0x2000 }, - { 0x0700, 0x1761, 0x0000 }, - { 0x0700, 0x1763, 0x0000 }, - { 0x8700, 0x176c, 0x4000 }, - { 0x8700, 0x1768, 0x3000 }, - { 0x8700, 0x1766, 0x2000 }, - { 0x0700, 0x1765, 0x0000 }, - { 0x0700, 0x1767, 0x0000 }, - { 0x8700, 0x176a, 0x2000 }, - { 0x0700, 0x1769, 0x0000 }, - { 0x0700, 0x176b, 0x0000 }, - { 0x8c00, 0x1772, 0x3000 }, - { 0x8700, 0x176f, 0x2000 }, - { 0x0700, 0x176e, 0x0000 }, - { 0x0700, 0x1770, 0x0000 }, - { 0x8700, 0x1780, 0x2000 }, - { 0x0c00, 0x1773, 0x0000 }, - { 0x0700, 0x1781, 0x0000 }, - { 0x8700, 0x1792, 0x5000 }, - { 0x8700, 0x178a, 0x4000 }, - { 0x8700, 0x1786, 0x3000 }, - { 0x8700, 0x1784, 0x2000 }, - { 0x0700, 0x1783, 0x0000 }, - { 0x0700, 0x1785, 0x0000 }, - { 0x8700, 0x1788, 0x2000 }, - { 0x0700, 0x1787, 0x0000 }, - { 0x0700, 0x1789, 0x0000 }, - { 0x8700, 0x178e, 0x3000 }, - { 0x8700, 0x178c, 0x2000 }, - { 0x0700, 0x178b, 0x0000 }, - { 0x0700, 0x178d, 0x0000 }, - { 0x8700, 0x1790, 0x2000 }, - { 0x0700, 0x178f, 0x0000 }, - { 0x0700, 0x1791, 0x0000 }, - { 0x8700, 0x179a, 0x4000 }, - { 0x8700, 0x1796, 0x3000 }, - { 0x8700, 0x1794, 0x2000 }, - { 0x0700, 0x1793, 0x0000 }, - { 0x0700, 0x1795, 0x0000 }, - { 0x8700, 0x1798, 0x2000 }, - { 0x0700, 0x1797, 0x0000 }, - { 0x0700, 0x1799, 0x0000 }, - { 0x8700, 0x179e, 0x3000 }, - { 0x8700, 0x179c, 0x2000 }, - { 0x0700, 0x179b, 0x0000 }, - { 0x0700, 0x179d, 0x0000 }, - { 0x8700, 0x17a0, 0x2000 }, - { 0x0700, 0x179f, 0x0000 }, - { 0x0700, 0x17a1, 0x0000 }, - { 0x8700, 0x1915, 0x9000 }, - { 0x8700, 0x1837, 0x8000 }, - { 0x8d00, 0x17e4, 0x7000 }, - { 0x8a00, 0x17c2, 0x6000 }, - { 0x8700, 0x17b2, 0x5000 }, - { 0x8700, 0x17aa, 0x4000 }, - { 0x8700, 0x17a6, 0x3000 }, - { 0x8700, 0x17a4, 0x2000 }, - { 0x0700, 0x17a3, 0x0000 }, - { 0x0700, 0x17a5, 0x0000 }, - { 0x8700, 0x17a8, 0x2000 }, - { 0x0700, 0x17a7, 0x0000 }, - { 0x0700, 0x17a9, 0x0000 }, - { 0x8700, 0x17ae, 0x3000 }, - { 0x8700, 0x17ac, 0x2000 }, - { 0x0700, 0x17ab, 0x0000 }, - { 0x0700, 0x17ad, 0x0000 }, - { 0x8700, 0x17b0, 0x2000 }, - { 0x0700, 0x17af, 0x0000 }, - { 0x0700, 0x17b1, 0x0000 }, - { 0x8c00, 0x17ba, 0x4000 }, - { 0x8a00, 0x17b6, 0x3000 }, - { 0x8100, 0x17b4, 0x2000 }, - { 0x0700, 0x17b3, 0x0000 }, - { 0x0100, 0x17b5, 0x0000 }, - { 0x8c00, 0x17b8, 0x2000 }, - { 0x0c00, 0x17b7, 0x0000 }, - { 0x0c00, 0x17b9, 0x0000 }, - { 0x8a00, 0x17be, 0x3000 }, - { 0x8c00, 0x17bc, 0x2000 }, - { 0x0c00, 0x17bb, 0x0000 }, - { 0x0c00, 0x17bd, 0x0000 }, - { 0x8a00, 0x17c0, 0x2000 }, - { 0x0a00, 0x17bf, 0x0000 }, - { 0x0a00, 0x17c1, 0x0000 }, - { 0x8c00, 0x17d2, 0x5000 }, - { 0x8c00, 0x17ca, 0x4000 }, - { 0x8c00, 0x17c6, 0x3000 }, - { 0x8a00, 0x17c4, 0x2000 }, - { 0x0a00, 0x17c3, 0x0000 }, - { 0x0a00, 0x17c5, 0x0000 }, - { 0x8a00, 0x17c8, 0x2000 }, - { 0x0a00, 0x17c7, 0x0000 }, - { 0x0c00, 0x17c9, 0x0000 }, - { 0x8c00, 0x17ce, 0x3000 }, - { 0x8c00, 0x17cc, 0x2000 }, - { 0x0c00, 0x17cb, 0x0000 }, - { 0x0c00, 0x17cd, 0x0000 }, - { 0x8c00, 0x17d0, 0x2000 }, - { 0x0c00, 0x17cf, 0x0000 }, - { 0x0c00, 0x17d1, 0x0000 }, - { 0x9500, 0x17da, 0x4000 }, - { 0x9500, 0x17d6, 0x3000 }, - { 0x9500, 0x17d4, 0x2000 }, - { 0x0c00, 0x17d3, 0x0000 }, - { 0x1500, 0x17d5, 0x0000 }, - { 0x9500, 0x17d8, 0x2000 }, - { 0x0600, 0x17d7, 0x0000 }, - { 0x1500, 0x17d9, 0x0000 }, - { 0x8d00, 0x17e0, 0x3000 }, - { 0x8700, 0x17dc, 0x2000 }, - { 0x1700, 0x17db, 0x0000 }, - { 0x0c00, 0x17dd, 0x0000 }, - { 0x8d00, 0x17e2, 0x2000 }, - { 0x0d00, 0x17e1, 0x0000 }, - { 0x0d00, 0x17e3, 0x0000 }, - { 0x8d00, 0x1811, 0x6000 }, - { 0x9500, 0x1800, 0x5000 }, - { 0x8f00, 0x17f2, 0x4000 }, - { 0x8d00, 0x17e8, 0x3000 }, - { 0x8d00, 0x17e6, 0x2000 }, - { 0x0d00, 0x17e5, 0x0000 }, - { 0x0d00, 0x17e7, 0x0000 }, - { 0x8f00, 0x17f0, 0x2000 }, - { 0x0d00, 0x17e9, 0x0000 }, - { 0x0f00, 0x17f1, 0x0000 }, - { 0x8f00, 0x17f6, 0x3000 }, - { 0x8f00, 0x17f4, 0x2000 }, - { 0x0f00, 0x17f3, 0x0000 }, - { 0x0f00, 0x17f5, 0x0000 }, - { 0x8f00, 0x17f8, 0x2000 }, - { 0x0f00, 0x17f7, 0x0000 }, - { 0x0f00, 0x17f9, 0x0000 }, - { 0x9500, 0x1808, 0x4000 }, - { 0x9500, 0x1804, 0x3000 }, - { 0x9500, 0x1802, 0x2000 }, - { 0x1500, 0x1801, 0x0000 }, - { 0x1500, 0x1803, 0x0000 }, - { 0x9100, 0x1806, 0x2000 }, - { 0x1500, 0x1805, 0x0000 }, - { 0x1500, 0x1807, 0x0000 }, - { 0x8c00, 0x180c, 0x3000 }, - { 0x9500, 0x180a, 0x2000 }, - { 0x1500, 0x1809, 0x0000 }, - { 0x0c00, 0x180b, 0x0000 }, - { 0x9d00, 0x180e, 0x2000 }, - { 0x0c00, 0x180d, 0x0000 }, - { 0x0d00, 0x1810, 0x0000 }, - { 0x8700, 0x1827, 0x5000 }, - { 0x8d00, 0x1819, 0x4000 }, - { 0x8d00, 0x1815, 0x3000 }, - { 0x8d00, 0x1813, 0x2000 }, - { 0x0d00, 0x1812, 0x0000 }, - { 0x0d00, 0x1814, 0x0000 }, - { 0x8d00, 0x1817, 0x2000 }, - { 0x0d00, 0x1816, 0x0000 }, - { 0x0d00, 0x1818, 0x0000 }, - { 0x8700, 0x1823, 0x3000 }, - { 0x8700, 0x1821, 0x2000 }, - { 0x0700, 0x1820, 0x0000 }, - { 0x0700, 0x1822, 0x0000 }, - { 0x8700, 0x1825, 0x2000 }, - { 0x0700, 0x1824, 0x0000 }, - { 0x0700, 0x1826, 0x0000 }, - { 0x8700, 0x182f, 0x4000 }, - { 0x8700, 0x182b, 0x3000 }, - { 0x8700, 0x1829, 0x2000 }, - { 0x0700, 0x1828, 0x0000 }, - { 0x0700, 0x182a, 0x0000 }, - { 0x8700, 0x182d, 0x2000 }, - { 0x0700, 0x182c, 0x0000 }, - { 0x0700, 0x182e, 0x0000 }, - { 0x8700, 0x1833, 0x3000 }, - { 0x8700, 0x1831, 0x2000 }, - { 0x0700, 0x1830, 0x0000 }, - { 0x0700, 0x1832, 0x0000 }, - { 0x8700, 0x1835, 0x2000 }, - { 0x0700, 0x1834, 0x0000 }, - { 0x0700, 0x1836, 0x0000 }, - { 0x8700, 0x1877, 0x7000 }, - { 0x8700, 0x1857, 0x6000 }, - { 0x8700, 0x1847, 0x5000 }, - { 0x8700, 0x183f, 0x4000 }, - { 0x8700, 0x183b, 0x3000 }, - { 0x8700, 0x1839, 0x2000 }, - { 0x0700, 0x1838, 0x0000 }, - { 0x0700, 0x183a, 0x0000 }, - { 0x8700, 0x183d, 0x2000 }, - { 0x0700, 0x183c, 0x0000 }, - { 0x0700, 0x183e, 0x0000 }, - { 0x8600, 0x1843, 0x3000 }, - { 0x8700, 0x1841, 0x2000 }, - { 0x0700, 0x1840, 0x0000 }, - { 0x0700, 0x1842, 0x0000 }, - { 0x8700, 0x1845, 0x2000 }, - { 0x0700, 0x1844, 0x0000 }, - { 0x0700, 0x1846, 0x0000 }, - { 0x8700, 0x184f, 0x4000 }, - { 0x8700, 0x184b, 0x3000 }, - { 0x8700, 0x1849, 0x2000 }, - { 0x0700, 0x1848, 0x0000 }, - { 0x0700, 0x184a, 0x0000 }, - { 0x8700, 0x184d, 0x2000 }, - { 0x0700, 0x184c, 0x0000 }, - { 0x0700, 0x184e, 0x0000 }, - { 0x8700, 0x1853, 0x3000 }, - { 0x8700, 0x1851, 0x2000 }, - { 0x0700, 0x1850, 0x0000 }, - { 0x0700, 0x1852, 0x0000 }, - { 0x8700, 0x1855, 0x2000 }, - { 0x0700, 0x1854, 0x0000 }, - { 0x0700, 0x1856, 0x0000 }, - { 0x8700, 0x1867, 0x5000 }, - { 0x8700, 0x185f, 0x4000 }, - { 0x8700, 0x185b, 0x3000 }, - { 0x8700, 0x1859, 0x2000 }, - { 0x0700, 0x1858, 0x0000 }, - { 0x0700, 0x185a, 0x0000 }, - { 0x8700, 0x185d, 0x2000 }, - { 0x0700, 0x185c, 0x0000 }, - { 0x0700, 0x185e, 0x0000 }, - { 0x8700, 0x1863, 0x3000 }, - { 0x8700, 0x1861, 0x2000 }, - { 0x0700, 0x1860, 0x0000 }, - { 0x0700, 0x1862, 0x0000 }, - { 0x8700, 0x1865, 0x2000 }, - { 0x0700, 0x1864, 0x0000 }, - { 0x0700, 0x1866, 0x0000 }, - { 0x8700, 0x186f, 0x4000 }, - { 0x8700, 0x186b, 0x3000 }, - { 0x8700, 0x1869, 0x2000 }, - { 0x0700, 0x1868, 0x0000 }, - { 0x0700, 0x186a, 0x0000 }, - { 0x8700, 0x186d, 0x2000 }, - { 0x0700, 0x186c, 0x0000 }, - { 0x0700, 0x186e, 0x0000 }, - { 0x8700, 0x1873, 0x3000 }, - { 0x8700, 0x1871, 0x2000 }, - { 0x0700, 0x1870, 0x0000 }, - { 0x0700, 0x1872, 0x0000 }, - { 0x8700, 0x1875, 0x2000 }, - { 0x0700, 0x1874, 0x0000 }, - { 0x0700, 0x1876, 0x0000 }, - { 0x8700, 0x189f, 0x6000 }, - { 0x8700, 0x188f, 0x5000 }, - { 0x8700, 0x1887, 0x4000 }, - { 0x8700, 0x1883, 0x3000 }, - { 0x8700, 0x1881, 0x2000 }, - { 0x0700, 0x1880, 0x0000 }, - { 0x0700, 0x1882, 0x0000 }, - { 0x8700, 0x1885, 0x2000 }, - { 0x0700, 0x1884, 0x0000 }, - { 0x0700, 0x1886, 0x0000 }, - { 0x8700, 0x188b, 0x3000 }, - { 0x8700, 0x1889, 0x2000 }, - { 0x0700, 0x1888, 0x0000 }, - { 0x0700, 0x188a, 0x0000 }, - { 0x8700, 0x188d, 0x2000 }, - { 0x0700, 0x188c, 0x0000 }, - { 0x0700, 0x188e, 0x0000 }, - { 0x8700, 0x1897, 0x4000 }, - { 0x8700, 0x1893, 0x3000 }, - { 0x8700, 0x1891, 0x2000 }, - { 0x0700, 0x1890, 0x0000 }, - { 0x0700, 0x1892, 0x0000 }, - { 0x8700, 0x1895, 0x2000 }, - { 0x0700, 0x1894, 0x0000 }, - { 0x0700, 0x1896, 0x0000 }, - { 0x8700, 0x189b, 0x3000 }, - { 0x8700, 0x1899, 0x2000 }, - { 0x0700, 0x1898, 0x0000 }, - { 0x0700, 0x189a, 0x0000 }, - { 0x8700, 0x189d, 0x2000 }, - { 0x0700, 0x189c, 0x0000 }, - { 0x0700, 0x189e, 0x0000 }, - { 0x8700, 0x1905, 0x5000 }, - { 0x8700, 0x18a7, 0x4000 }, - { 0x8700, 0x18a3, 0x3000 }, - { 0x8700, 0x18a1, 0x2000 }, - { 0x0700, 0x18a0, 0x0000 }, - { 0x0700, 0x18a2, 0x0000 }, - { 0x8700, 0x18a5, 0x2000 }, - { 0x0700, 0x18a4, 0x0000 }, - { 0x0700, 0x18a6, 0x0000 }, - { 0x8700, 0x1901, 0x3000 }, - { 0x8c00, 0x18a9, 0x2000 }, - { 0x0700, 0x18a8, 0x0000 }, - { 0x0700, 0x1900, 0x0000 }, - { 0x8700, 0x1903, 0x2000 }, - { 0x0700, 0x1902, 0x0000 }, - { 0x0700, 0x1904, 0x0000 }, - { 0x8700, 0x190d, 0x4000 }, - { 0x8700, 0x1909, 0x3000 }, - { 0x8700, 0x1907, 0x2000 }, - { 0x0700, 0x1906, 0x0000 }, - { 0x0700, 0x1908, 0x0000 }, - { 0x8700, 0x190b, 0x2000 }, - { 0x0700, 0x190a, 0x0000 }, - { 0x0700, 0x190c, 0x0000 }, - { 0x8700, 0x1911, 0x3000 }, - { 0x8700, 0x190f, 0x2000 }, - { 0x0700, 0x190e, 0x0000 }, - { 0x0700, 0x1910, 0x0000 }, - { 0x8700, 0x1913, 0x2000 }, - { 0x0700, 0x1912, 0x0000 }, - { 0x0700, 0x1914, 0x0000 }, - { 0x8500, 0x1d10, 0x8000 }, - { 0x8700, 0x1963, 0x7000 }, - { 0x9a00, 0x1940, 0x6000 }, - { 0x8c00, 0x1928, 0x5000 }, - { 0x8c00, 0x1920, 0x4000 }, - { 0x8700, 0x1919, 0x3000 }, - { 0x8700, 0x1917, 0x2000 }, - { 0x0700, 0x1916, 0x0000 }, - { 0x0700, 0x1918, 0x0000 }, - { 0x8700, 0x191b, 0x2000 }, - { 0x0700, 0x191a, 0x0000 }, - { 0x0700, 0x191c, 0x0000 }, - { 0x8a00, 0x1924, 0x3000 }, - { 0x8c00, 0x1922, 0x2000 }, - { 0x0c00, 0x1921, 0x0000 }, - { 0x0a00, 0x1923, 0x0000 }, - { 0x8a00, 0x1926, 0x2000 }, - { 0x0a00, 0x1925, 0x0000 }, - { 0x0c00, 0x1927, 0x0000 }, - { 0x8a00, 0x1934, 0x4000 }, - { 0x8a00, 0x1930, 0x3000 }, - { 0x8a00, 0x192a, 0x2000 }, - { 0x0a00, 0x1929, 0x0000 }, - { 0x0a00, 0x192b, 0x0000 }, - { 0x8c00, 0x1932, 0x2000 }, - { 0x0a00, 0x1931, 0x0000 }, - { 0x0a00, 0x1933, 0x0000 }, - { 0x8a00, 0x1938, 0x3000 }, - { 0x8a00, 0x1936, 0x2000 }, - { 0x0a00, 0x1935, 0x0000 }, - { 0x0a00, 0x1937, 0x0000 }, - { 0x8c00, 0x193a, 0x2000 }, - { 0x0c00, 0x1939, 0x0000 }, - { 0x0c00, 0x193b, 0x0000 }, - { 0x8700, 0x1953, 0x5000 }, - { 0x8d00, 0x194b, 0x4000 }, - { 0x8d00, 0x1947, 0x3000 }, - { 0x9500, 0x1945, 0x2000 }, - { 0x1500, 0x1944, 0x0000 }, - { 0x0d00, 0x1946, 0x0000 }, - { 0x8d00, 0x1949, 0x2000 }, - { 0x0d00, 0x1948, 0x0000 }, - { 0x0d00, 0x194a, 0x0000 }, - { 0x8d00, 0x194f, 0x3000 }, - { 0x8d00, 0x194d, 0x2000 }, - { 0x0d00, 0x194c, 0x0000 }, - { 0x0d00, 0x194e, 0x0000 }, - { 0x8700, 0x1951, 0x2000 }, - { 0x0700, 0x1950, 0x0000 }, - { 0x0700, 0x1952, 0x0000 }, - { 0x8700, 0x195b, 0x4000 }, - { 0x8700, 0x1957, 0x3000 }, - { 0x8700, 0x1955, 0x2000 }, - { 0x0700, 0x1954, 0x0000 }, - { 0x0700, 0x1956, 0x0000 }, - { 0x8700, 0x1959, 0x2000 }, - { 0x0700, 0x1958, 0x0000 }, - { 0x0700, 0x195a, 0x0000 }, - { 0x8700, 0x195f, 0x3000 }, - { 0x8700, 0x195d, 0x2000 }, - { 0x0700, 0x195c, 0x0000 }, - { 0x0700, 0x195e, 0x0000 }, - { 0x8700, 0x1961, 0x2000 }, - { 0x0700, 0x1960, 0x0000 }, - { 0x0700, 0x1962, 0x0000 }, - { 0x9a00, 0x19f0, 0x6000 }, - { 0x9a00, 0x19e0, 0x5000 }, - { 0x8700, 0x196b, 0x4000 }, - { 0x8700, 0x1967, 0x3000 }, - { 0x8700, 0x1965, 0x2000 }, - { 0x0700, 0x1964, 0x0000 }, - { 0x0700, 0x1966, 0x0000 }, - { 0x8700, 0x1969, 0x2000 }, - { 0x0700, 0x1968, 0x0000 }, - { 0x0700, 0x196a, 0x0000 }, - { 0x8700, 0x1971, 0x3000 }, - { 0x8700, 0x196d, 0x2000 }, - { 0x0700, 0x196c, 0x0000 }, - { 0x0700, 0x1970, 0x0000 }, - { 0x8700, 0x1973, 0x2000 }, - { 0x0700, 0x1972, 0x0000 }, - { 0x0700, 0x1974, 0x0000 }, - { 0x9a00, 0x19e8, 0x4000 }, - { 0x9a00, 0x19e4, 0x3000 }, - { 0x9a00, 0x19e2, 0x2000 }, - { 0x1a00, 0x19e1, 0x0000 }, - { 0x1a00, 0x19e3, 0x0000 }, - { 0x9a00, 0x19e6, 0x2000 }, - { 0x1a00, 0x19e5, 0x0000 }, - { 0x1a00, 0x19e7, 0x0000 }, - { 0x9a00, 0x19ec, 0x3000 }, - { 0x9a00, 0x19ea, 0x2000 }, - { 0x1a00, 0x19e9, 0x0000 }, - { 0x1a00, 0x19eb, 0x0000 }, - { 0x9a00, 0x19ee, 0x2000 }, - { 0x1a00, 0x19ed, 0x0000 }, - { 0x1a00, 0x19ef, 0x0000 }, - { 0x8500, 0x1d00, 0x5000 }, - { 0x9a00, 0x19f8, 0x4000 }, - { 0x9a00, 0x19f4, 0x3000 }, - { 0x9a00, 0x19f2, 0x2000 }, - { 0x1a00, 0x19f1, 0x0000 }, - { 0x1a00, 0x19f3, 0x0000 }, - { 0x9a00, 0x19f6, 0x2000 }, - { 0x1a00, 0x19f5, 0x0000 }, - { 0x1a00, 0x19f7, 0x0000 }, - { 0x9a00, 0x19fc, 0x3000 }, - { 0x9a00, 0x19fa, 0x2000 }, - { 0x1a00, 0x19f9, 0x0000 }, - { 0x1a00, 0x19fb, 0x0000 }, - { 0x9a00, 0x19fe, 0x2000 }, - { 0x1a00, 0x19fd, 0x0000 }, - { 0x1a00, 0x19ff, 0x0000 }, - { 0x8500, 0x1d08, 0x4000 }, - { 0x8500, 0x1d04, 0x3000 }, - { 0x8500, 0x1d02, 0x2000 }, - { 0x0500, 0x1d01, 0x0000 }, - { 0x0500, 0x1d03, 0x0000 }, - { 0x8500, 0x1d06, 0x2000 }, - { 0x0500, 0x1d05, 0x0000 }, - { 0x0500, 0x1d07, 0x0000 }, - { 0x8500, 0x1d0c, 0x3000 }, - { 0x8500, 0x1d0a, 0x2000 }, - { 0x0500, 0x1d09, 0x0000 }, - { 0x0500, 0x1d0b, 0x0000 }, - { 0x8500, 0x1d0e, 0x2000 }, - { 0x0500, 0x1d0d, 0x0000 }, - { 0x0500, 0x1d0f, 0x0000 }, - { 0x8600, 0x1d50, 0x7000 }, - { 0x8600, 0x1d30, 0x6000 }, - { 0x8500, 0x1d20, 0x5000 }, - { 0x8500, 0x1d18, 0x4000 }, - { 0x8500, 0x1d14, 0x3000 }, - { 0x8500, 0x1d12, 0x2000 }, - { 0x0500, 0x1d11, 0x0000 }, - { 0x0500, 0x1d13, 0x0000 }, - { 0x8500, 0x1d16, 0x2000 }, - { 0x0500, 0x1d15, 0x0000 }, - { 0x0500, 0x1d17, 0x0000 }, - { 0x8500, 0x1d1c, 0x3000 }, - { 0x8500, 0x1d1a, 0x2000 }, - { 0x0500, 0x1d19, 0x0000 }, - { 0x0500, 0x1d1b, 0x0000 }, - { 0x8500, 0x1d1e, 0x2000 }, - { 0x0500, 0x1d1d, 0x0000 }, - { 0x0500, 0x1d1f, 0x0000 }, - { 0x8500, 0x1d28, 0x4000 }, - { 0x8500, 0x1d24, 0x3000 }, - { 0x8500, 0x1d22, 0x2000 }, - { 0x0500, 0x1d21, 0x0000 }, - { 0x0500, 0x1d23, 0x0000 }, - { 0x8500, 0x1d26, 0x2000 }, - { 0x0500, 0x1d25, 0x0000 }, - { 0x0500, 0x1d27, 0x0000 }, - { 0x8600, 0x1d2c, 0x3000 }, - { 0x8500, 0x1d2a, 0x2000 }, - { 0x0500, 0x1d29, 0x0000 }, - { 0x0500, 0x1d2b, 0x0000 }, - { 0x8600, 0x1d2e, 0x2000 }, - { 0x0600, 0x1d2d, 0x0000 }, - { 0x0600, 0x1d2f, 0x0000 }, - { 0x8600, 0x1d40, 0x5000 }, - { 0x8600, 0x1d38, 0x4000 }, - { 0x8600, 0x1d34, 0x3000 }, - { 0x8600, 0x1d32, 0x2000 }, - { 0x0600, 0x1d31, 0x0000 }, - { 0x0600, 0x1d33, 0x0000 }, - { 0x8600, 0x1d36, 0x2000 }, - { 0x0600, 0x1d35, 0x0000 }, - { 0x0600, 0x1d37, 0x0000 }, - { 0x8600, 0x1d3c, 0x3000 }, - { 0x8600, 0x1d3a, 0x2000 }, - { 0x0600, 0x1d39, 0x0000 }, - { 0x0600, 0x1d3b, 0x0000 }, - { 0x8600, 0x1d3e, 0x2000 }, - { 0x0600, 0x1d3d, 0x0000 }, - { 0x0600, 0x1d3f, 0x0000 }, - { 0x8600, 0x1d48, 0x4000 }, - { 0x8600, 0x1d44, 0x3000 }, - { 0x8600, 0x1d42, 0x2000 }, - { 0x0600, 0x1d41, 0x0000 }, - { 0x0600, 0x1d43, 0x0000 }, - { 0x8600, 0x1d46, 0x2000 }, - { 0x0600, 0x1d45, 0x0000 }, - { 0x0600, 0x1d47, 0x0000 }, - { 0x8600, 0x1d4c, 0x3000 }, - { 0x8600, 0x1d4a, 0x2000 }, - { 0x0600, 0x1d49, 0x0000 }, - { 0x0600, 0x1d4b, 0x0000 }, - { 0x8600, 0x1d4e, 0x2000 }, - { 0x0600, 0x1d4d, 0x0000 }, - { 0x0600, 0x1d4f, 0x0000 }, - { 0x8900, 0x1e04, 0x6001 }, - { 0x8600, 0x1d60, 0x5000 }, - { 0x8600, 0x1d58, 0x4000 }, - { 0x8600, 0x1d54, 0x3000 }, - { 0x8600, 0x1d52, 0x2000 }, - { 0x0600, 0x1d51, 0x0000 }, - { 0x0600, 0x1d53, 0x0000 }, - { 0x8600, 0x1d56, 0x2000 }, - { 0x0600, 0x1d55, 0x0000 }, - { 0x0600, 0x1d57, 0x0000 }, - { 0x8600, 0x1d5c, 0x3000 }, - { 0x8600, 0x1d5a, 0x2000 }, - { 0x0600, 0x1d59, 0x0000 }, - { 0x0600, 0x1d5b, 0x0000 }, - { 0x8600, 0x1d5e, 0x2000 }, - { 0x0600, 0x1d5d, 0x0000 }, - { 0x0600, 0x1d5f, 0x0000 }, - { 0x8500, 0x1d68, 0x4000 }, - { 0x8500, 0x1d64, 0x3000 }, - { 0x8500, 0x1d62, 0x2000 }, - { 0x0600, 0x1d61, 0x0000 }, - { 0x0500, 0x1d63, 0x0000 }, - { 0x8500, 0x1d66, 0x2000 }, - { 0x0500, 0x1d65, 0x0000 }, - { 0x0500, 0x1d67, 0x0000 }, - { 0x8900, 0x1e00, 0x3001 }, - { 0x8500, 0x1d6a, 0x2000 }, - { 0x0500, 0x1d69, 0x0000 }, - { 0x0500, 0x1d6b, 0x0000 }, - { 0x8900, 0x1e02, 0x2001 }, - { 0x0500, 0x1e01, 0x0fff }, - { 0x0500, 0x1e03, 0x0fff }, - { 0x8900, 0x1e14, 0x5001 }, - { 0x8900, 0x1e0c, 0x4001 }, - { 0x8900, 0x1e08, 0x3001 }, - { 0x8900, 0x1e06, 0x2001 }, - { 0x0500, 0x1e05, 0x0fff }, - { 0x0500, 0x1e07, 0x0fff }, - { 0x8900, 0x1e0a, 0x2001 }, - { 0x0500, 0x1e09, 0x0fff }, - { 0x0500, 0x1e0b, 0x0fff }, - { 0x8900, 0x1e10, 0x3001 }, - { 0x8900, 0x1e0e, 0x2001 }, - { 0x0500, 0x1e0d, 0x0fff }, - { 0x0500, 0x1e0f, 0x0fff }, - { 0x8900, 0x1e12, 0x2001 }, - { 0x0500, 0x1e11, 0x0fff }, - { 0x0500, 0x1e13, 0x0fff }, - { 0x8900, 0x1e1c, 0x4001 }, - { 0x8900, 0x1e18, 0x3001 }, - { 0x8900, 0x1e16, 0x2001 }, - { 0x0500, 0x1e15, 0x0fff }, - { 0x0500, 0x1e17, 0x0fff }, - { 0x8900, 0x1e1a, 0x2001 }, - { 0x0500, 0x1e19, 0x0fff }, - { 0x0500, 0x1e1b, 0x0fff }, - { 0x8900, 0x1e20, 0x3001 }, - { 0x8900, 0x1e1e, 0x2001 }, - { 0x0500, 0x1e1d, 0x0fff }, - { 0x0500, 0x1e1f, 0x0fff }, - { 0x8900, 0x1e22, 0x2001 }, - { 0x0500, 0x1e21, 0x0fff }, - { 0x0500, 0x1e23, 0x0fff }, - { 0x9600, 0x2045, 0xa000 }, - { 0x8500, 0x1f32, 0x9008 }, - { 0x8900, 0x1ea8, 0x8001 }, - { 0x8900, 0x1e64, 0x7001 }, - { 0x8900, 0x1e44, 0x6001 }, - { 0x8900, 0x1e34, 0x5001 }, - { 0x8900, 0x1e2c, 0x4001 }, - { 0x8900, 0x1e28, 0x3001 }, - { 0x8900, 0x1e26, 0x2001 }, - { 0x0500, 0x1e25, 0x0fff }, - { 0x0500, 0x1e27, 0x0fff }, - { 0x8900, 0x1e2a, 0x2001 }, - { 0x0500, 0x1e29, 0x0fff }, - { 0x0500, 0x1e2b, 0x0fff }, - { 0x8900, 0x1e30, 0x3001 }, - { 0x8900, 0x1e2e, 0x2001 }, - { 0x0500, 0x1e2d, 0x0fff }, - { 0x0500, 0x1e2f, 0x0fff }, - { 0x8900, 0x1e32, 0x2001 }, - { 0x0500, 0x1e31, 0x0fff }, - { 0x0500, 0x1e33, 0x0fff }, - { 0x8900, 0x1e3c, 0x4001 }, - { 0x8900, 0x1e38, 0x3001 }, - { 0x8900, 0x1e36, 0x2001 }, - { 0x0500, 0x1e35, 0x0fff }, - { 0x0500, 0x1e37, 0x0fff }, - { 0x8900, 0x1e3a, 0x2001 }, - { 0x0500, 0x1e39, 0x0fff }, - { 0x0500, 0x1e3b, 0x0fff }, - { 0x8900, 0x1e40, 0x3001 }, - { 0x8900, 0x1e3e, 0x2001 }, - { 0x0500, 0x1e3d, 0x0fff }, - { 0x0500, 0x1e3f, 0x0fff }, - { 0x8900, 0x1e42, 0x2001 }, - { 0x0500, 0x1e41, 0x0fff }, - { 0x0500, 0x1e43, 0x0fff }, - { 0x8900, 0x1e54, 0x5001 }, - { 0x8900, 0x1e4c, 0x4001 }, - { 0x8900, 0x1e48, 0x3001 }, - { 0x8900, 0x1e46, 0x2001 }, - { 0x0500, 0x1e45, 0x0fff }, - { 0x0500, 0x1e47, 0x0fff }, - { 0x8900, 0x1e4a, 0x2001 }, - { 0x0500, 0x1e49, 0x0fff }, - { 0x0500, 0x1e4b, 0x0fff }, - { 0x8900, 0x1e50, 0x3001 }, - { 0x8900, 0x1e4e, 0x2001 }, - { 0x0500, 0x1e4d, 0x0fff }, - { 0x0500, 0x1e4f, 0x0fff }, - { 0x8900, 0x1e52, 0x2001 }, - { 0x0500, 0x1e51, 0x0fff }, - { 0x0500, 0x1e53, 0x0fff }, - { 0x8900, 0x1e5c, 0x4001 }, - { 0x8900, 0x1e58, 0x3001 }, - { 0x8900, 0x1e56, 0x2001 }, - { 0x0500, 0x1e55, 0x0fff }, - { 0x0500, 0x1e57, 0x0fff }, - { 0x8900, 0x1e5a, 0x2001 }, - { 0x0500, 0x1e59, 0x0fff }, - { 0x0500, 0x1e5b, 0x0fff }, - { 0x8900, 0x1e60, 0x3001 }, - { 0x8900, 0x1e5e, 0x2001 }, - { 0x0500, 0x1e5d, 0x0fff }, - { 0x0500, 0x1e5f, 0x0fff }, - { 0x8900, 0x1e62, 0x2001 }, - { 0x0500, 0x1e61, 0x0fff }, - { 0x0500, 0x1e63, 0x0fff }, - { 0x8900, 0x1e84, 0x6001 }, - { 0x8900, 0x1e74, 0x5001 }, - { 0x8900, 0x1e6c, 0x4001 }, - { 0x8900, 0x1e68, 0x3001 }, - { 0x8900, 0x1e66, 0x2001 }, - { 0x0500, 0x1e65, 0x0fff }, - { 0x0500, 0x1e67, 0x0fff }, - { 0x8900, 0x1e6a, 0x2001 }, - { 0x0500, 0x1e69, 0x0fff }, - { 0x0500, 0x1e6b, 0x0fff }, - { 0x8900, 0x1e70, 0x3001 }, - { 0x8900, 0x1e6e, 0x2001 }, - { 0x0500, 0x1e6d, 0x0fff }, - { 0x0500, 0x1e6f, 0x0fff }, - { 0x8900, 0x1e72, 0x2001 }, - { 0x0500, 0x1e71, 0x0fff }, - { 0x0500, 0x1e73, 0x0fff }, - { 0x8900, 0x1e7c, 0x4001 }, - { 0x8900, 0x1e78, 0x3001 }, - { 0x8900, 0x1e76, 0x2001 }, - { 0x0500, 0x1e75, 0x0fff }, - { 0x0500, 0x1e77, 0x0fff }, - { 0x8900, 0x1e7a, 0x2001 }, - { 0x0500, 0x1e79, 0x0fff }, - { 0x0500, 0x1e7b, 0x0fff }, - { 0x8900, 0x1e80, 0x3001 }, - { 0x8900, 0x1e7e, 0x2001 }, - { 0x0500, 0x1e7d, 0x0fff }, - { 0x0500, 0x1e7f, 0x0fff }, - { 0x8900, 0x1e82, 0x2001 }, - { 0x0500, 0x1e81, 0x0fff }, - { 0x0500, 0x1e83, 0x0fff }, - { 0x8900, 0x1e94, 0x5001 }, - { 0x8900, 0x1e8c, 0x4001 }, - { 0x8900, 0x1e88, 0x3001 }, - { 0x8900, 0x1e86, 0x2001 }, - { 0x0500, 0x1e85, 0x0fff }, - { 0x0500, 0x1e87, 0x0fff }, - { 0x8900, 0x1e8a, 0x2001 }, - { 0x0500, 0x1e89, 0x0fff }, - { 0x0500, 0x1e8b, 0x0fff }, - { 0x8900, 0x1e90, 0x3001 }, - { 0x8900, 0x1e8e, 0x2001 }, - { 0x0500, 0x1e8d, 0x0fff }, - { 0x0500, 0x1e8f, 0x0fff }, - { 0x8900, 0x1e92, 0x2001 }, - { 0x0500, 0x1e91, 0x0fff }, - { 0x0500, 0x1e93, 0x0fff }, - { 0x8900, 0x1ea0, 0x4001 }, - { 0x8500, 0x1e98, 0x3000 }, - { 0x8500, 0x1e96, 0x2000 }, - { 0x0500, 0x1e95, 0x0fff }, - { 0x0500, 0x1e97, 0x0000 }, - { 0x8500, 0x1e9a, 0x2000 }, - { 0x0500, 0x1e99, 0x0000 }, - { 0x0500, 0x1e9b, 0x0fc5 }, - { 0x8900, 0x1ea4, 0x3001 }, - { 0x8900, 0x1ea2, 0x2001 }, - { 0x0500, 0x1ea1, 0x0fff }, - { 0x0500, 0x1ea3, 0x0fff }, - { 0x8900, 0x1ea6, 0x2001 }, - { 0x0500, 0x1ea5, 0x0fff }, - { 0x0500, 0x1ea7, 0x0fff }, - { 0x8900, 0x1ee8, 0x7001 }, - { 0x8900, 0x1ec8, 0x6001 }, - { 0x8900, 0x1eb8, 0x5001 }, - { 0x8900, 0x1eb0, 0x4001 }, - { 0x8900, 0x1eac, 0x3001 }, - { 0x8900, 0x1eaa, 0x2001 }, - { 0x0500, 0x1ea9, 0x0fff }, - { 0x0500, 0x1eab, 0x0fff }, - { 0x8900, 0x1eae, 0x2001 }, - { 0x0500, 0x1ead, 0x0fff }, - { 0x0500, 0x1eaf, 0x0fff }, - { 0x8900, 0x1eb4, 0x3001 }, - { 0x8900, 0x1eb2, 0x2001 }, - { 0x0500, 0x1eb1, 0x0fff }, - { 0x0500, 0x1eb3, 0x0fff }, - { 0x8900, 0x1eb6, 0x2001 }, - { 0x0500, 0x1eb5, 0x0fff }, - { 0x0500, 0x1eb7, 0x0fff }, - { 0x8900, 0x1ec0, 0x4001 }, - { 0x8900, 0x1ebc, 0x3001 }, - { 0x8900, 0x1eba, 0x2001 }, - { 0x0500, 0x1eb9, 0x0fff }, - { 0x0500, 0x1ebb, 0x0fff }, - { 0x8900, 0x1ebe, 0x2001 }, - { 0x0500, 0x1ebd, 0x0fff }, - { 0x0500, 0x1ebf, 0x0fff }, - { 0x8900, 0x1ec4, 0x3001 }, - { 0x8900, 0x1ec2, 0x2001 }, - { 0x0500, 0x1ec1, 0x0fff }, - { 0x0500, 0x1ec3, 0x0fff }, - { 0x8900, 0x1ec6, 0x2001 }, - { 0x0500, 0x1ec5, 0x0fff }, - { 0x0500, 0x1ec7, 0x0fff }, - { 0x8900, 0x1ed8, 0x5001 }, - { 0x8900, 0x1ed0, 0x4001 }, - { 0x8900, 0x1ecc, 0x3001 }, - { 0x8900, 0x1eca, 0x2001 }, - { 0x0500, 0x1ec9, 0x0fff }, - { 0x0500, 0x1ecb, 0x0fff }, - { 0x8900, 0x1ece, 0x2001 }, - { 0x0500, 0x1ecd, 0x0fff }, - { 0x0500, 0x1ecf, 0x0fff }, - { 0x8900, 0x1ed4, 0x3001 }, - { 0x8900, 0x1ed2, 0x2001 }, - { 0x0500, 0x1ed1, 0x0fff }, - { 0x0500, 0x1ed3, 0x0fff }, - { 0x8900, 0x1ed6, 0x2001 }, - { 0x0500, 0x1ed5, 0x0fff }, - { 0x0500, 0x1ed7, 0x0fff }, - { 0x8900, 0x1ee0, 0x4001 }, - { 0x8900, 0x1edc, 0x3001 }, - { 0x8900, 0x1eda, 0x2001 }, - { 0x0500, 0x1ed9, 0x0fff }, - { 0x0500, 0x1edb, 0x0fff }, - { 0x8900, 0x1ede, 0x2001 }, - { 0x0500, 0x1edd, 0x0fff }, - { 0x0500, 0x1edf, 0x0fff }, - { 0x8900, 0x1ee4, 0x3001 }, - { 0x8900, 0x1ee2, 0x2001 }, - { 0x0500, 0x1ee1, 0x0fff }, - { 0x0500, 0x1ee3, 0x0fff }, - { 0x8900, 0x1ee6, 0x2001 }, - { 0x0500, 0x1ee5, 0x0fff }, - { 0x0500, 0x1ee7, 0x0fff }, - { 0x8900, 0x1f0e, 0x6ff8 }, - { 0x8900, 0x1ef8, 0x5001 }, - { 0x8900, 0x1ef0, 0x4001 }, - { 0x8900, 0x1eec, 0x3001 }, - { 0x8900, 0x1eea, 0x2001 }, - { 0x0500, 0x1ee9, 0x0fff }, - { 0x0500, 0x1eeb, 0x0fff }, - { 0x8900, 0x1eee, 0x2001 }, - { 0x0500, 0x1eed, 0x0fff }, - { 0x0500, 0x1eef, 0x0fff }, - { 0x8900, 0x1ef4, 0x3001 }, - { 0x8900, 0x1ef2, 0x2001 }, - { 0x0500, 0x1ef1, 0x0fff }, - { 0x0500, 0x1ef3, 0x0fff }, - { 0x8900, 0x1ef6, 0x2001 }, - { 0x0500, 0x1ef5, 0x0fff }, - { 0x0500, 0x1ef7, 0x0fff }, - { 0x8500, 0x1f06, 0x4008 }, - { 0x8500, 0x1f02, 0x3008 }, - { 0x8500, 0x1f00, 0x2008 }, - { 0x0500, 0x1ef9, 0x0fff }, - { 0x0500, 0x1f01, 0x0008 }, - { 0x8500, 0x1f04, 0x2008 }, - { 0x0500, 0x1f03, 0x0008 }, - { 0x0500, 0x1f05, 0x0008 }, - { 0x8900, 0x1f0a, 0x3ff8 }, - { 0x8900, 0x1f08, 0x2ff8 }, - { 0x0500, 0x1f07, 0x0008 }, - { 0x0900, 0x1f09, 0x0ff8 }, - { 0x8900, 0x1f0c, 0x2ff8 }, - { 0x0900, 0x1f0b, 0x0ff8 }, - { 0x0900, 0x1f0d, 0x0ff8 }, - { 0x8500, 0x1f22, 0x5008 }, - { 0x8900, 0x1f18, 0x4ff8 }, - { 0x8500, 0x1f12, 0x3008 }, - { 0x8500, 0x1f10, 0x2008 }, - { 0x0900, 0x1f0f, 0x0ff8 }, - { 0x0500, 0x1f11, 0x0008 }, - { 0x8500, 0x1f14, 0x2008 }, - { 0x0500, 0x1f13, 0x0008 }, - { 0x0500, 0x1f15, 0x0008 }, - { 0x8900, 0x1f1c, 0x3ff8 }, - { 0x8900, 0x1f1a, 0x2ff8 }, - { 0x0900, 0x1f19, 0x0ff8 }, - { 0x0900, 0x1f1b, 0x0ff8 }, - { 0x8500, 0x1f20, 0x2008 }, - { 0x0900, 0x1f1d, 0x0ff8 }, - { 0x0500, 0x1f21, 0x0008 }, - { 0x8900, 0x1f2a, 0x4ff8 }, - { 0x8500, 0x1f26, 0x3008 }, - { 0x8500, 0x1f24, 0x2008 }, - { 0x0500, 0x1f23, 0x0008 }, - { 0x0500, 0x1f25, 0x0008 }, - { 0x8900, 0x1f28, 0x2ff8 }, - { 0x0500, 0x1f27, 0x0008 }, - { 0x0900, 0x1f29, 0x0ff8 }, - { 0x8900, 0x1f2e, 0x3ff8 }, - { 0x8900, 0x1f2c, 0x2ff8 }, - { 0x0900, 0x1f2b, 0x0ff8 }, - { 0x0900, 0x1f2d, 0x0ff8 }, - { 0x8500, 0x1f30, 0x2008 }, - { 0x0900, 0x1f2f, 0x0ff8 }, - { 0x0500, 0x1f31, 0x0008 }, - { 0x9800, 0x1fbd, 0x8000 }, - { 0x8500, 0x1f7a, 0x7070 }, - { 0x8500, 0x1f56, 0x6000 }, - { 0x8500, 0x1f42, 0x5008 }, - { 0x8900, 0x1f3a, 0x4ff8 }, - { 0x8500, 0x1f36, 0x3008 }, - { 0x8500, 0x1f34, 0x2008 }, - { 0x0500, 0x1f33, 0x0008 }, - { 0x0500, 0x1f35, 0x0008 }, - { 0x8900, 0x1f38, 0x2ff8 }, - { 0x0500, 0x1f37, 0x0008 }, - { 0x0900, 0x1f39, 0x0ff8 }, - { 0x8900, 0x1f3e, 0x3ff8 }, - { 0x8900, 0x1f3c, 0x2ff8 }, - { 0x0900, 0x1f3b, 0x0ff8 }, - { 0x0900, 0x1f3d, 0x0ff8 }, - { 0x8500, 0x1f40, 0x2008 }, - { 0x0900, 0x1f3f, 0x0ff8 }, - { 0x0500, 0x1f41, 0x0008 }, - { 0x8900, 0x1f4c, 0x4ff8 }, - { 0x8900, 0x1f48, 0x3ff8 }, - { 0x8500, 0x1f44, 0x2008 }, - { 0x0500, 0x1f43, 0x0008 }, - { 0x0500, 0x1f45, 0x0008 }, - { 0x8900, 0x1f4a, 0x2ff8 }, - { 0x0900, 0x1f49, 0x0ff8 }, - { 0x0900, 0x1f4b, 0x0ff8 }, - { 0x8500, 0x1f52, 0x3000 }, - { 0x8500, 0x1f50, 0x2000 }, - { 0x0900, 0x1f4d, 0x0ff8 }, - { 0x0500, 0x1f51, 0x0008 }, - { 0x8500, 0x1f54, 0x2000 }, - { 0x0500, 0x1f53, 0x0008 }, - { 0x0500, 0x1f55, 0x0008 }, - { 0x8900, 0x1f6a, 0x5ff8 }, - { 0x8500, 0x1f62, 0x4008 }, - { 0x8900, 0x1f5d, 0x3ff8 }, - { 0x8900, 0x1f59, 0x2ff8 }, - { 0x0500, 0x1f57, 0x0008 }, - { 0x0900, 0x1f5b, 0x0ff8 }, - { 0x8500, 0x1f60, 0x2008 }, - { 0x0900, 0x1f5f, 0x0ff8 }, - { 0x0500, 0x1f61, 0x0008 }, - { 0x8500, 0x1f66, 0x3008 }, - { 0x8500, 0x1f64, 0x2008 }, - { 0x0500, 0x1f63, 0x0008 }, - { 0x0500, 0x1f65, 0x0008 }, - { 0x8900, 0x1f68, 0x2ff8 }, - { 0x0500, 0x1f67, 0x0008 }, - { 0x0900, 0x1f69, 0x0ff8 }, - { 0x8500, 0x1f72, 0x4056 }, - { 0x8900, 0x1f6e, 0x3ff8 }, - { 0x8900, 0x1f6c, 0x2ff8 }, - { 0x0900, 0x1f6b, 0x0ff8 }, - { 0x0900, 0x1f6d, 0x0ff8 }, - { 0x8500, 0x1f70, 0x204a }, - { 0x0900, 0x1f6f, 0x0ff8 }, - { 0x0500, 0x1f71, 0x004a }, - { 0x8500, 0x1f76, 0x3064 }, - { 0x8500, 0x1f74, 0x2056 }, - { 0x0500, 0x1f73, 0x0056 }, - { 0x0500, 0x1f75, 0x0056 }, - { 0x8500, 0x1f78, 0x2080 }, - { 0x0500, 0x1f77, 0x0064 }, - { 0x0500, 0x1f79, 0x0080 }, - { 0x8800, 0x1f9c, 0x6000 }, - { 0x8800, 0x1f8c, 0x5000 }, - { 0x8500, 0x1f84, 0x4008 }, - { 0x8500, 0x1f80, 0x3008 }, - { 0x8500, 0x1f7c, 0x207e }, - { 0x0500, 0x1f7b, 0x0070 }, - { 0x0500, 0x1f7d, 0x007e }, - { 0x8500, 0x1f82, 0x2008 }, - { 0x0500, 0x1f81, 0x0008 }, - { 0x0500, 0x1f83, 0x0008 }, - { 0x8800, 0x1f88, 0x3000 }, - { 0x8500, 0x1f86, 0x2008 }, - { 0x0500, 0x1f85, 0x0008 }, - { 0x0500, 0x1f87, 0x0008 }, - { 0x8800, 0x1f8a, 0x2000 }, - { 0x0800, 0x1f89, 0x0000 }, - { 0x0800, 0x1f8b, 0x0000 }, - { 0x8500, 0x1f94, 0x4008 }, - { 0x8500, 0x1f90, 0x3008 }, - { 0x8800, 0x1f8e, 0x2000 }, - { 0x0800, 0x1f8d, 0x0000 }, - { 0x0800, 0x1f8f, 0x0000 }, - { 0x8500, 0x1f92, 0x2008 }, - { 0x0500, 0x1f91, 0x0008 }, - { 0x0500, 0x1f93, 0x0008 }, - { 0x8800, 0x1f98, 0x3000 }, - { 0x8500, 0x1f96, 0x2008 }, - { 0x0500, 0x1f95, 0x0008 }, - { 0x0500, 0x1f97, 0x0008 }, - { 0x8800, 0x1f9a, 0x2000 }, - { 0x0800, 0x1f99, 0x0000 }, - { 0x0800, 0x1f9b, 0x0000 }, - { 0x8800, 0x1fac, 0x5000 }, - { 0x8500, 0x1fa4, 0x4008 }, - { 0x8500, 0x1fa0, 0x3008 }, - { 0x8800, 0x1f9e, 0x2000 }, - { 0x0800, 0x1f9d, 0x0000 }, - { 0x0800, 0x1f9f, 0x0000 }, - { 0x8500, 0x1fa2, 0x2008 }, - { 0x0500, 0x1fa1, 0x0008 }, - { 0x0500, 0x1fa3, 0x0008 }, - { 0x8800, 0x1fa8, 0x3000 }, - { 0x8500, 0x1fa6, 0x2008 }, - { 0x0500, 0x1fa5, 0x0008 }, - { 0x0500, 0x1fa7, 0x0008 }, - { 0x8800, 0x1faa, 0x2000 }, - { 0x0800, 0x1fa9, 0x0000 }, - { 0x0800, 0x1fab, 0x0000 }, - { 0x8500, 0x1fb4, 0x4000 }, - { 0x8500, 0x1fb0, 0x3008 }, - { 0x8800, 0x1fae, 0x2000 }, - { 0x0800, 0x1fad, 0x0000 }, - { 0x0800, 0x1faf, 0x0000 }, - { 0x8500, 0x1fb2, 0x2000 }, - { 0x0500, 0x1fb1, 0x0008 }, - { 0x0500, 0x1fb3, 0x0009 }, - { 0x8900, 0x1fb9, 0x3ff8 }, - { 0x8500, 0x1fb7, 0x2000 }, - { 0x0500, 0x1fb6, 0x0000 }, - { 0x0900, 0x1fb8, 0x0ff8 }, - { 0x8900, 0x1fbb, 0x2fb6 }, - { 0x0900, 0x1fba, 0x0fb6 }, - { 0x0800, 0x1fbc, 0x0000 }, - { 0x9d00, 0x2005, 0x7000 }, - { 0x8500, 0x1fe1, 0x6008 }, - { 0x9800, 0x1fce, 0x5000 }, - { 0x8500, 0x1fc6, 0x4000 }, - { 0x9800, 0x1fc1, 0x3000 }, - { 0x9800, 0x1fbf, 0x2000 }, - { 0x0500, 0x1fbe, 0x0000 }, - { 0x1800, 0x1fc0, 0x0000 }, - { 0x8500, 0x1fc3, 0x2009 }, - { 0x0500, 0x1fc2, 0x0000 }, - { 0x0500, 0x1fc4, 0x0000 }, - { 0x8900, 0x1fca, 0x3faa }, - { 0x8900, 0x1fc8, 0x2faa }, - { 0x0500, 0x1fc7, 0x0000 }, - { 0x0900, 0x1fc9, 0x0faa }, - { 0x8800, 0x1fcc, 0x2000 }, - { 0x0900, 0x1fcb, 0x0faa }, - { 0x1800, 0x1fcd, 0x0000 }, - { 0x8900, 0x1fd8, 0x4ff8 }, - { 0x8500, 0x1fd2, 0x3000 }, - { 0x8500, 0x1fd0, 0x2008 }, - { 0x1800, 0x1fcf, 0x0000 }, - { 0x0500, 0x1fd1, 0x0008 }, - { 0x8500, 0x1fd6, 0x2000 }, - { 0x0500, 0x1fd3, 0x0000 }, - { 0x0500, 0x1fd7, 0x0000 }, - { 0x9800, 0x1fdd, 0x3000 }, - { 0x8900, 0x1fda, 0x2f9c }, - { 0x0900, 0x1fd9, 0x0ff8 }, - { 0x0900, 0x1fdb, 0x0f9c }, - { 0x9800, 0x1fdf, 0x2000 }, - { 0x1800, 0x1fde, 0x0000 }, - { 0x0500, 0x1fe0, 0x0008 }, - { 0x8500, 0x1ff3, 0x5009 }, - { 0x8900, 0x1fe9, 0x4ff8 }, - { 0x8500, 0x1fe5, 0x3007 }, - { 0x8500, 0x1fe3, 0x2000 }, - { 0x0500, 0x1fe2, 0x0000 }, - { 0x0500, 0x1fe4, 0x0000 }, - { 0x8500, 0x1fe7, 0x2000 }, - { 0x0500, 0x1fe6, 0x0000 }, - { 0x0900, 0x1fe8, 0x0ff8 }, - { 0x9800, 0x1fed, 0x3000 }, - { 0x8900, 0x1feb, 0x2f90 }, - { 0x0900, 0x1fea, 0x0f90 }, - { 0x0900, 0x1fec, 0x0ff9 }, - { 0x9800, 0x1fef, 0x2000 }, - { 0x1800, 0x1fee, 0x0000 }, - { 0x0500, 0x1ff2, 0x0000 }, - { 0x8800, 0x1ffc, 0x4000 }, - { 0x8900, 0x1ff8, 0x3f80 }, - { 0x8500, 0x1ff6, 0x2000 }, - { 0x0500, 0x1ff4, 0x0000 }, - { 0x0500, 0x1ff7, 0x0000 }, - { 0x8900, 0x1ffa, 0x2f82 }, - { 0x0900, 0x1ff9, 0x0f80 }, - { 0x0900, 0x1ffb, 0x0f82 }, - { 0x9d00, 0x2001, 0x3000 }, - { 0x9800, 0x1ffe, 0x2000 }, - { 0x1800, 0x1ffd, 0x0000 }, - { 0x1d00, 0x2000, 0x0000 }, - { 0x9d00, 0x2003, 0x2000 }, - { 0x1d00, 0x2002, 0x0000 }, - { 0x1d00, 0x2004, 0x0000 }, - { 0x9500, 0x2025, 0x6000 }, - { 0x9100, 0x2015, 0x5000 }, - { 0x8100, 0x200d, 0x4000 }, - { 0x9d00, 0x2009, 0x3000 }, - { 0x9d00, 0x2007, 0x2000 }, - { 0x1d00, 0x2006, 0x0000 }, - { 0x1d00, 0x2008, 0x0000 }, - { 0x9d00, 0x200b, 0x2000 }, - { 0x1d00, 0x200a, 0x0000 }, - { 0x0100, 0x200c, 0x0000 }, - { 0x9100, 0x2011, 0x3000 }, - { 0x8100, 0x200f, 0x2000 }, - { 0x0100, 0x200e, 0x0000 }, - { 0x1100, 0x2010, 0x0000 }, - { 0x9100, 0x2013, 0x2000 }, - { 0x1100, 0x2012, 0x0000 }, - { 0x1100, 0x2014, 0x0000 }, - { 0x9300, 0x201d, 0x4000 }, - { 0x9300, 0x2019, 0x3000 }, - { 0x9500, 0x2017, 0x2000 }, - { 0x1500, 0x2016, 0x0000 }, - { 0x1400, 0x2018, 0x0000 }, - { 0x9400, 0x201b, 0x2000 }, - { 0x1600, 0x201a, 0x0000 }, - { 0x1400, 0x201c, 0x0000 }, - { 0x9500, 0x2021, 0x3000 }, - { 0x9400, 0x201f, 0x2000 }, - { 0x1600, 0x201e, 0x0000 }, - { 0x1500, 0x2020, 0x0000 }, - { 0x9500, 0x2023, 0x2000 }, - { 0x1500, 0x2022, 0x0000 }, - { 0x1500, 0x2024, 0x0000 }, - { 0x9500, 0x2035, 0x5000 }, - { 0x8100, 0x202d, 0x4000 }, - { 0x9c00, 0x2029, 0x3000 }, - { 0x9500, 0x2027, 0x2000 }, - { 0x1500, 0x2026, 0x0000 }, - { 0x1b00, 0x2028, 0x0000 }, - { 0x8100, 0x202b, 0x2000 }, - { 0x0100, 0x202a, 0x0000 }, - { 0x0100, 0x202c, 0x0000 }, - { 0x9500, 0x2031, 0x3000 }, - { 0x9d00, 0x202f, 0x2000 }, - { 0x0100, 0x202e, 0x0000 }, - { 0x1500, 0x2030, 0x0000 }, - { 0x9500, 0x2033, 0x2000 }, - { 0x1500, 0x2032, 0x0000 }, - { 0x1500, 0x2034, 0x0000 }, - { 0x9500, 0x203d, 0x4000 }, - { 0x9400, 0x2039, 0x3000 }, - { 0x9500, 0x2037, 0x2000 }, - { 0x1500, 0x2036, 0x0000 }, - { 0x1500, 0x2038, 0x0000 }, - { 0x9500, 0x203b, 0x2000 }, - { 0x1300, 0x203a, 0x0000 }, - { 0x1500, 0x203c, 0x0000 }, - { 0x9500, 0x2041, 0x3000 }, - { 0x9000, 0x203f, 0x2000 }, - { 0x1500, 0x203e, 0x0000 }, - { 0x1000, 0x2040, 0x0000 }, - { 0x9500, 0x2043, 0x2000 }, - { 0x1500, 0x2042, 0x0000 }, - { 0x1900, 0x2044, 0x0000 }, - { 0x9900, 0x21ae, 0x9000 }, - { 0x8900, 0x211a, 0x8000 }, - { 0x9700, 0x20a7, 0x7000 }, - { 0x8f00, 0x2076, 0x6000 }, - { 0x9500, 0x2057, 0x5000 }, - { 0x9500, 0x204d, 0x4000 }, - { 0x9500, 0x2049, 0x3000 }, - { 0x9500, 0x2047, 0x2000 }, - { 0x1200, 0x2046, 0x0000 }, - { 0x1500, 0x2048, 0x0000 }, - { 0x9500, 0x204b, 0x2000 }, - { 0x1500, 0x204a, 0x0000 }, - { 0x1500, 0x204c, 0x0000 }, - { 0x9500, 0x2051, 0x3000 }, - { 0x9500, 0x204f, 0x2000 }, - { 0x1500, 0x204e, 0x0000 }, - { 0x1500, 0x2050, 0x0000 }, - { 0x9500, 0x2053, 0x2000 }, - { 0x1900, 0x2052, 0x0000 }, - { 0x1000, 0x2054, 0x0000 }, - { 0x8100, 0x206c, 0x4000 }, - { 0x8100, 0x2062, 0x3000 }, - { 0x8100, 0x2060, 0x2000 }, - { 0x1d00, 0x205f, 0x0000 }, - { 0x0100, 0x2061, 0x0000 }, - { 0x8100, 0x206a, 0x2000 }, - { 0x0100, 0x2063, 0x0000 }, - { 0x0100, 0x206b, 0x0000 }, - { 0x8f00, 0x2070, 0x3000 }, - { 0x8100, 0x206e, 0x2000 }, - { 0x0100, 0x206d, 0x0000 }, - { 0x0100, 0x206f, 0x0000 }, - { 0x8f00, 0x2074, 0x2000 }, - { 0x0500, 0x2071, 0x0000 }, - { 0x0f00, 0x2075, 0x0000 }, - { 0x8f00, 0x2086, 0x5000 }, - { 0x9200, 0x207e, 0x4000 }, - { 0x9900, 0x207a, 0x3000 }, - { 0x8f00, 0x2078, 0x2000 }, - { 0x0f00, 0x2077, 0x0000 }, - { 0x0f00, 0x2079, 0x0000 }, - { 0x9900, 0x207c, 0x2000 }, - { 0x1900, 0x207b, 0x0000 }, - { 0x1600, 0x207d, 0x0000 }, - { 0x8f00, 0x2082, 0x3000 }, - { 0x8f00, 0x2080, 0x2000 }, - { 0x0500, 0x207f, 0x0000 }, - { 0x0f00, 0x2081, 0x0000 }, - { 0x8f00, 0x2084, 0x2000 }, - { 0x0f00, 0x2083, 0x0000 }, - { 0x0f00, 0x2085, 0x0000 }, - { 0x9200, 0x208e, 0x4000 }, - { 0x9900, 0x208a, 0x3000 }, - { 0x8f00, 0x2088, 0x2000 }, - { 0x0f00, 0x2087, 0x0000 }, - { 0x0f00, 0x2089, 0x0000 }, - { 0x9900, 0x208c, 0x2000 }, - { 0x1900, 0x208b, 0x0000 }, - { 0x1600, 0x208d, 0x0000 }, - { 0x9700, 0x20a3, 0x3000 }, - { 0x9700, 0x20a1, 0x2000 }, - { 0x1700, 0x20a0, 0x0000 }, - { 0x1700, 0x20a2, 0x0000 }, - { 0x9700, 0x20a5, 0x2000 }, - { 0x1700, 0x20a4, 0x0000 }, - { 0x1700, 0x20a6, 0x0000 }, - { 0x8c00, 0x20e5, 0x6000 }, - { 0x8c00, 0x20d5, 0x5000 }, - { 0x9700, 0x20af, 0x4000 }, - { 0x9700, 0x20ab, 0x3000 }, - { 0x9700, 0x20a9, 0x2000 }, - { 0x1700, 0x20a8, 0x0000 }, - { 0x1700, 0x20aa, 0x0000 }, - { 0x9700, 0x20ad, 0x2000 }, - { 0x1700, 0x20ac, 0x0000 }, - { 0x1700, 0x20ae, 0x0000 }, - { 0x8c00, 0x20d1, 0x3000 }, - { 0x9700, 0x20b1, 0x2000 }, - { 0x1700, 0x20b0, 0x0000 }, - { 0x0c00, 0x20d0, 0x0000 }, - { 0x8c00, 0x20d3, 0x2000 }, - { 0x0c00, 0x20d2, 0x0000 }, - { 0x0c00, 0x20d4, 0x0000 }, - { 0x8b00, 0x20dd, 0x4000 }, - { 0x8c00, 0x20d9, 0x3000 }, - { 0x8c00, 0x20d7, 0x2000 }, - { 0x0c00, 0x20d6, 0x0000 }, - { 0x0c00, 0x20d8, 0x0000 }, - { 0x8c00, 0x20db, 0x2000 }, - { 0x0c00, 0x20da, 0x0000 }, - { 0x0c00, 0x20dc, 0x0000 }, - { 0x8c00, 0x20e1, 0x3000 }, - { 0x8b00, 0x20df, 0x2000 }, - { 0x0b00, 0x20de, 0x0000 }, - { 0x0b00, 0x20e0, 0x0000 }, - { 0x8b00, 0x20e3, 0x2000 }, - { 0x0b00, 0x20e2, 0x0000 }, - { 0x0b00, 0x20e4, 0x0000 }, - { 0x8500, 0x210a, 0x5000 }, - { 0x8900, 0x2102, 0x4000 }, - { 0x8c00, 0x20e9, 0x3000 }, - { 0x8c00, 0x20e7, 0x2000 }, - { 0x0c00, 0x20e6, 0x0000 }, - { 0x0c00, 0x20e8, 0x0000 }, - { 0x9a00, 0x2100, 0x2000 }, - { 0x0c00, 0x20ea, 0x0000 }, - { 0x1a00, 0x2101, 0x0000 }, - { 0x9a00, 0x2106, 0x3000 }, - { 0x9a00, 0x2104, 0x2000 }, - { 0x1a00, 0x2103, 0x0000 }, - { 0x1a00, 0x2105, 0x0000 }, - { 0x9a00, 0x2108, 0x2000 }, - { 0x0900, 0x2107, 0x0000 }, - { 0x1a00, 0x2109, 0x0000 }, - { 0x8900, 0x2112, 0x4000 }, - { 0x8500, 0x210e, 0x3000 }, - { 0x8900, 0x210c, 0x2000 }, - { 0x0900, 0x210b, 0x0000 }, - { 0x0900, 0x210d, 0x0000 }, - { 0x8900, 0x2110, 0x2000 }, - { 0x0500, 0x210f, 0x0000 }, - { 0x0900, 0x2111, 0x0000 }, - { 0x9a00, 0x2116, 0x3000 }, - { 0x9a00, 0x2114, 0x2000 }, - { 0x0500, 0x2113, 0x0000 }, - { 0x0900, 0x2115, 0x0000 }, - { 0x9a00, 0x2118, 0x2000 }, - { 0x1a00, 0x2117, 0x0000 }, - { 0x0900, 0x2119, 0x0000 }, - { 0x8e00, 0x2162, 0x7000 }, - { 0x9a00, 0x213a, 0x6000 }, - { 0x8900, 0x212a, 0x5000 }, - { 0x9a00, 0x2122, 0x4000 }, - { 0x9a00, 0x211e, 0x3000 }, - { 0x8900, 0x211c, 0x2000 }, - { 0x0900, 0x211b, 0x0000 }, - { 0x0900, 0x211d, 0x0000 }, - { 0x9a00, 0x2120, 0x2000 }, - { 0x1a00, 0x211f, 0x0000 }, - { 0x1a00, 0x2121, 0x0000 }, - { 0x8900, 0x2126, 0x3000 }, - { 0x8900, 0x2124, 0x2000 }, - { 0x1a00, 0x2123, 0x0000 }, - { 0x1a00, 0x2125, 0x0000 }, - { 0x8900, 0x2128, 0x2000 }, - { 0x1a00, 0x2127, 0x0000 }, - { 0x1a00, 0x2129, 0x0000 }, - { 0x9a00, 0x2132, 0x4000 }, - { 0x9a00, 0x212e, 0x3000 }, - { 0x8900, 0x212c, 0x2000 }, - { 0x0900, 0x212b, 0x0000 }, - { 0x0900, 0x212d, 0x0000 }, - { 0x8900, 0x2130, 0x2000 }, - { 0x0500, 0x212f, 0x0000 }, - { 0x0900, 0x2131, 0x0000 }, - { 0x8700, 0x2136, 0x3000 }, - { 0x8500, 0x2134, 0x2000 }, - { 0x0900, 0x2133, 0x0000 }, - { 0x0700, 0x2135, 0x0000 }, - { 0x8700, 0x2138, 0x2000 }, - { 0x0700, 0x2137, 0x0000 }, - { 0x0500, 0x2139, 0x0000 }, - { 0x9900, 0x214b, 0x5000 }, - { 0x9900, 0x2143, 0x4000 }, - { 0x8900, 0x213f, 0x3000 }, - { 0x8500, 0x213d, 0x2000 }, - { 0x1a00, 0x213b, 0x0000 }, - { 0x0900, 0x213e, 0x0000 }, - { 0x9900, 0x2141, 0x2000 }, - { 0x1900, 0x2140, 0x0000 }, - { 0x1900, 0x2142, 0x0000 }, - { 0x8500, 0x2147, 0x3000 }, - { 0x8900, 0x2145, 0x2000 }, - { 0x1900, 0x2144, 0x0000 }, - { 0x0500, 0x2146, 0x0000 }, - { 0x8500, 0x2149, 0x2000 }, - { 0x0500, 0x2148, 0x0000 }, - { 0x1a00, 0x214a, 0x0000 }, - { 0x8f00, 0x215a, 0x4000 }, - { 0x8f00, 0x2156, 0x3000 }, - { 0x8f00, 0x2154, 0x2000 }, - { 0x0f00, 0x2153, 0x0000 }, - { 0x0f00, 0x2155, 0x0000 }, - { 0x8f00, 0x2158, 0x2000 }, - { 0x0f00, 0x2157, 0x0000 }, - { 0x0f00, 0x2159, 0x0000 }, - { 0x8f00, 0x215e, 0x3000 }, - { 0x8f00, 0x215c, 0x2000 }, - { 0x0f00, 0x215b, 0x0000 }, - { 0x0f00, 0x215d, 0x0000 }, - { 0x8e00, 0x2160, 0x2000 }, - { 0x0f00, 0x215f, 0x0000 }, - { 0x0e00, 0x2161, 0x0000 }, - { 0x8e00, 0x2182, 0x6000 }, - { 0x8e00, 0x2172, 0x5000 }, - { 0x8e00, 0x216a, 0x4000 }, - { 0x8e00, 0x2166, 0x3000 }, - { 0x8e00, 0x2164, 0x2000 }, - { 0x0e00, 0x2163, 0x0000 }, - { 0x0e00, 0x2165, 0x0000 }, - { 0x8e00, 0x2168, 0x2000 }, - { 0x0e00, 0x2167, 0x0000 }, - { 0x0e00, 0x2169, 0x0000 }, - { 0x8e00, 0x216e, 0x3000 }, - { 0x8e00, 0x216c, 0x2000 }, - { 0x0e00, 0x216b, 0x0000 }, - { 0x0e00, 0x216d, 0x0000 }, - { 0x8e00, 0x2170, 0x2000 }, - { 0x0e00, 0x216f, 0x0000 }, - { 0x0e00, 0x2171, 0x0000 }, - { 0x8e00, 0x217a, 0x4000 }, - { 0x8e00, 0x2176, 0x3000 }, - { 0x8e00, 0x2174, 0x2000 }, - { 0x0e00, 0x2173, 0x0000 }, - { 0x0e00, 0x2175, 0x0000 }, - { 0x8e00, 0x2178, 0x2000 }, - { 0x0e00, 0x2177, 0x0000 }, - { 0x0e00, 0x2179, 0x0000 }, - { 0x8e00, 0x217e, 0x3000 }, - { 0x8e00, 0x217c, 0x2000 }, - { 0x0e00, 0x217b, 0x0000 }, - { 0x0e00, 0x217d, 0x0000 }, - { 0x8e00, 0x2180, 0x2000 }, - { 0x0e00, 0x217f, 0x0000 }, - { 0x0e00, 0x2181, 0x0000 }, - { 0x9a00, 0x219e, 0x5000 }, - { 0x9a00, 0x2196, 0x4000 }, - { 0x9900, 0x2192, 0x3000 }, - { 0x9900, 0x2190, 0x2000 }, - { 0x0e00, 0x2183, 0x0000 }, - { 0x1900, 0x2191, 0x0000 }, - { 0x9900, 0x2194, 0x2000 }, - { 0x1900, 0x2193, 0x0000 }, - { 0x1a00, 0x2195, 0x0000 }, - { 0x9900, 0x219a, 0x3000 }, - { 0x9a00, 0x2198, 0x2000 }, - { 0x1a00, 0x2197, 0x0000 }, - { 0x1a00, 0x2199, 0x0000 }, - { 0x9a00, 0x219c, 0x2000 }, - { 0x1900, 0x219b, 0x0000 }, - { 0x1a00, 0x219d, 0x0000 }, - { 0x9900, 0x21a6, 0x4000 }, - { 0x9a00, 0x21a2, 0x3000 }, - { 0x9900, 0x21a0, 0x2000 }, - { 0x1a00, 0x219f, 0x0000 }, - { 0x1a00, 0x21a1, 0x0000 }, - { 0x9a00, 0x21a4, 0x2000 }, - { 0x1900, 0x21a3, 0x0000 }, - { 0x1a00, 0x21a5, 0x0000 }, - { 0x9a00, 0x21aa, 0x3000 }, - { 0x9a00, 0x21a8, 0x2000 }, - { 0x1a00, 0x21a7, 0x0000 }, - { 0x1a00, 0x21a9, 0x0000 }, - { 0x9a00, 0x21ac, 0x2000 }, - { 0x1a00, 0x21ab, 0x0000 }, - { 0x1a00, 0x21ad, 0x0000 }, - { 0x9900, 0x222e, 0x8000 }, - { 0x9a00, 0x21ee, 0x7000 }, - { 0x9900, 0x21ce, 0x6000 }, - { 0x9a00, 0x21be, 0x5000 }, - { 0x9a00, 0x21b6, 0x4000 }, - { 0x9a00, 0x21b2, 0x3000 }, - { 0x9a00, 0x21b0, 0x2000 }, - { 0x1a00, 0x21af, 0x0000 }, - { 0x1a00, 0x21b1, 0x0000 }, - { 0x9a00, 0x21b4, 0x2000 }, - { 0x1a00, 0x21b3, 0x0000 }, - { 0x1a00, 0x21b5, 0x0000 }, - { 0x9a00, 0x21ba, 0x3000 }, - { 0x9a00, 0x21b8, 0x2000 }, - { 0x1a00, 0x21b7, 0x0000 }, - { 0x1a00, 0x21b9, 0x0000 }, - { 0x9a00, 0x21bc, 0x2000 }, - { 0x1a00, 0x21bb, 0x0000 }, - { 0x1a00, 0x21bd, 0x0000 }, - { 0x9a00, 0x21c6, 0x4000 }, - { 0x9a00, 0x21c2, 0x3000 }, - { 0x9a00, 0x21c0, 0x2000 }, - { 0x1a00, 0x21bf, 0x0000 }, - { 0x1a00, 0x21c1, 0x0000 }, - { 0x9a00, 0x21c4, 0x2000 }, - { 0x1a00, 0x21c3, 0x0000 }, - { 0x1a00, 0x21c5, 0x0000 }, - { 0x9a00, 0x21ca, 0x3000 }, - { 0x9a00, 0x21c8, 0x2000 }, - { 0x1a00, 0x21c7, 0x0000 }, - { 0x1a00, 0x21c9, 0x0000 }, - { 0x9a00, 0x21cc, 0x2000 }, - { 0x1a00, 0x21cb, 0x0000 }, - { 0x1a00, 0x21cd, 0x0000 }, - { 0x9a00, 0x21de, 0x5000 }, - { 0x9a00, 0x21d6, 0x4000 }, - { 0x9900, 0x21d2, 0x3000 }, - { 0x9a00, 0x21d0, 0x2000 }, - { 0x1900, 0x21cf, 0x0000 }, - { 0x1a00, 0x21d1, 0x0000 }, - { 0x9900, 0x21d4, 0x2000 }, - { 0x1a00, 0x21d3, 0x0000 }, - { 0x1a00, 0x21d5, 0x0000 }, - { 0x9a00, 0x21da, 0x3000 }, - { 0x9a00, 0x21d8, 0x2000 }, - { 0x1a00, 0x21d7, 0x0000 }, - { 0x1a00, 0x21d9, 0x0000 }, - { 0x9a00, 0x21dc, 0x2000 }, - { 0x1a00, 0x21db, 0x0000 }, - { 0x1a00, 0x21dd, 0x0000 }, - { 0x9a00, 0x21e6, 0x4000 }, - { 0x9a00, 0x21e2, 0x3000 }, - { 0x9a00, 0x21e0, 0x2000 }, - { 0x1a00, 0x21df, 0x0000 }, - { 0x1a00, 0x21e1, 0x0000 }, - { 0x9a00, 0x21e4, 0x2000 }, - { 0x1a00, 0x21e3, 0x0000 }, - { 0x1a00, 0x21e5, 0x0000 }, - { 0x9a00, 0x21ea, 0x3000 }, - { 0x9a00, 0x21e8, 0x2000 }, - { 0x1a00, 0x21e7, 0x0000 }, - { 0x1a00, 0x21e9, 0x0000 }, - { 0x9a00, 0x21ec, 0x2000 }, - { 0x1a00, 0x21eb, 0x0000 }, - { 0x1a00, 0x21ed, 0x0000 }, - { 0x9900, 0x220e, 0x6000 }, - { 0x9900, 0x21fe, 0x5000 }, - { 0x9900, 0x21f6, 0x4000 }, - { 0x9a00, 0x21f2, 0x3000 }, - { 0x9a00, 0x21f0, 0x2000 }, - { 0x1a00, 0x21ef, 0x0000 }, - { 0x1a00, 0x21f1, 0x0000 }, - { 0x9900, 0x21f4, 0x2000 }, - { 0x1a00, 0x21f3, 0x0000 }, - { 0x1900, 0x21f5, 0x0000 }, - { 0x9900, 0x21fa, 0x3000 }, - { 0x9900, 0x21f8, 0x2000 }, - { 0x1900, 0x21f7, 0x0000 }, - { 0x1900, 0x21f9, 0x0000 }, - { 0x9900, 0x21fc, 0x2000 }, - { 0x1900, 0x21fb, 0x0000 }, - { 0x1900, 0x21fd, 0x0000 }, - { 0x9900, 0x2206, 0x4000 }, - { 0x9900, 0x2202, 0x3000 }, - { 0x9900, 0x2200, 0x2000 }, - { 0x1900, 0x21ff, 0x0000 }, - { 0x1900, 0x2201, 0x0000 }, - { 0x9900, 0x2204, 0x2000 }, - { 0x1900, 0x2203, 0x0000 }, - { 0x1900, 0x2205, 0x0000 }, - { 0x9900, 0x220a, 0x3000 }, - { 0x9900, 0x2208, 0x2000 }, - { 0x1900, 0x2207, 0x0000 }, - { 0x1900, 0x2209, 0x0000 }, - { 0x9900, 0x220c, 0x2000 }, - { 0x1900, 0x220b, 0x0000 }, - { 0x1900, 0x220d, 0x0000 }, - { 0x9900, 0x221e, 0x5000 }, - { 0x9900, 0x2216, 0x4000 }, - { 0x9900, 0x2212, 0x3000 }, - { 0x9900, 0x2210, 0x2000 }, - { 0x1900, 0x220f, 0x0000 }, - { 0x1900, 0x2211, 0x0000 }, - { 0x9900, 0x2214, 0x2000 }, - { 0x1900, 0x2213, 0x0000 }, - { 0x1900, 0x2215, 0x0000 }, - { 0x9900, 0x221a, 0x3000 }, - { 0x9900, 0x2218, 0x2000 }, - { 0x1900, 0x2217, 0x0000 }, - { 0x1900, 0x2219, 0x0000 }, - { 0x9900, 0x221c, 0x2000 }, - { 0x1900, 0x221b, 0x0000 }, - { 0x1900, 0x221d, 0x0000 }, - { 0x9900, 0x2226, 0x4000 }, - { 0x9900, 0x2222, 0x3000 }, - { 0x9900, 0x2220, 0x2000 }, - { 0x1900, 0x221f, 0x0000 }, - { 0x1900, 0x2221, 0x0000 }, - { 0x9900, 0x2224, 0x2000 }, - { 0x1900, 0x2223, 0x0000 }, - { 0x1900, 0x2225, 0x0000 }, - { 0x9900, 0x222a, 0x3000 }, - { 0x9900, 0x2228, 0x2000 }, - { 0x1900, 0x2227, 0x0000 }, - { 0x1900, 0x2229, 0x0000 }, - { 0x9900, 0x222c, 0x2000 }, - { 0x1900, 0x222b, 0x0000 }, - { 0x1900, 0x222d, 0x0000 }, - { 0x9900, 0x226e, 0x7000 }, - { 0x9900, 0x224e, 0x6000 }, - { 0x9900, 0x223e, 0x5000 }, - { 0x9900, 0x2236, 0x4000 }, - { 0x9900, 0x2232, 0x3000 }, - { 0x9900, 0x2230, 0x2000 }, - { 0x1900, 0x222f, 0x0000 }, - { 0x1900, 0x2231, 0x0000 }, - { 0x9900, 0x2234, 0x2000 }, - { 0x1900, 0x2233, 0x0000 }, - { 0x1900, 0x2235, 0x0000 }, - { 0x9900, 0x223a, 0x3000 }, - { 0x9900, 0x2238, 0x2000 }, - { 0x1900, 0x2237, 0x0000 }, - { 0x1900, 0x2239, 0x0000 }, - { 0x9900, 0x223c, 0x2000 }, - { 0x1900, 0x223b, 0x0000 }, - { 0x1900, 0x223d, 0x0000 }, - { 0x9900, 0x2246, 0x4000 }, - { 0x9900, 0x2242, 0x3000 }, - { 0x9900, 0x2240, 0x2000 }, - { 0x1900, 0x223f, 0x0000 }, - { 0x1900, 0x2241, 0x0000 }, - { 0x9900, 0x2244, 0x2000 }, - { 0x1900, 0x2243, 0x0000 }, - { 0x1900, 0x2245, 0x0000 }, - { 0x9900, 0x224a, 0x3000 }, - { 0x9900, 0x2248, 0x2000 }, - { 0x1900, 0x2247, 0x0000 }, - { 0x1900, 0x2249, 0x0000 }, - { 0x9900, 0x224c, 0x2000 }, - { 0x1900, 0x224b, 0x0000 }, - { 0x1900, 0x224d, 0x0000 }, - { 0x9900, 0x225e, 0x5000 }, - { 0x9900, 0x2256, 0x4000 }, - { 0x9900, 0x2252, 0x3000 }, - { 0x9900, 0x2250, 0x2000 }, - { 0x1900, 0x224f, 0x0000 }, - { 0x1900, 0x2251, 0x0000 }, - { 0x9900, 0x2254, 0x2000 }, - { 0x1900, 0x2253, 0x0000 }, - { 0x1900, 0x2255, 0x0000 }, - { 0x9900, 0x225a, 0x3000 }, - { 0x9900, 0x2258, 0x2000 }, - { 0x1900, 0x2257, 0x0000 }, - { 0x1900, 0x2259, 0x0000 }, - { 0x9900, 0x225c, 0x2000 }, - { 0x1900, 0x225b, 0x0000 }, - { 0x1900, 0x225d, 0x0000 }, - { 0x9900, 0x2266, 0x4000 }, - { 0x9900, 0x2262, 0x3000 }, - { 0x9900, 0x2260, 0x2000 }, - { 0x1900, 0x225f, 0x0000 }, - { 0x1900, 0x2261, 0x0000 }, - { 0x9900, 0x2264, 0x2000 }, - { 0x1900, 0x2263, 0x0000 }, - { 0x1900, 0x2265, 0x0000 }, - { 0x9900, 0x226a, 0x3000 }, - { 0x9900, 0x2268, 0x2000 }, - { 0x1900, 0x2267, 0x0000 }, - { 0x1900, 0x2269, 0x0000 }, - { 0x9900, 0x226c, 0x2000 }, - { 0x1900, 0x226b, 0x0000 }, - { 0x1900, 0x226d, 0x0000 }, - { 0x9900, 0x228e, 0x6000 }, - { 0x9900, 0x227e, 0x5000 }, - { 0x9900, 0x2276, 0x4000 }, - { 0x9900, 0x2272, 0x3000 }, - { 0x9900, 0x2270, 0x2000 }, - { 0x1900, 0x226f, 0x0000 }, - { 0x1900, 0x2271, 0x0000 }, - { 0x9900, 0x2274, 0x2000 }, - { 0x1900, 0x2273, 0x0000 }, - { 0x1900, 0x2275, 0x0000 }, - { 0x9900, 0x227a, 0x3000 }, - { 0x9900, 0x2278, 0x2000 }, - { 0x1900, 0x2277, 0x0000 }, - { 0x1900, 0x2279, 0x0000 }, - { 0x9900, 0x227c, 0x2000 }, - { 0x1900, 0x227b, 0x0000 }, - { 0x1900, 0x227d, 0x0000 }, - { 0x9900, 0x2286, 0x4000 }, - { 0x9900, 0x2282, 0x3000 }, - { 0x9900, 0x2280, 0x2000 }, - { 0x1900, 0x227f, 0x0000 }, - { 0x1900, 0x2281, 0x0000 }, - { 0x9900, 0x2284, 0x2000 }, - { 0x1900, 0x2283, 0x0000 }, - { 0x1900, 0x2285, 0x0000 }, - { 0x9900, 0x228a, 0x3000 }, - { 0x9900, 0x2288, 0x2000 }, - { 0x1900, 0x2287, 0x0000 }, - { 0x1900, 0x2289, 0x0000 }, - { 0x9900, 0x228c, 0x2000 }, - { 0x1900, 0x228b, 0x0000 }, - { 0x1900, 0x228d, 0x0000 }, - { 0x9900, 0x229e, 0x5000 }, - { 0x9900, 0x2296, 0x4000 }, - { 0x9900, 0x2292, 0x3000 }, - { 0x9900, 0x2290, 0x2000 }, - { 0x1900, 0x228f, 0x0000 }, - { 0x1900, 0x2291, 0x0000 }, - { 0x9900, 0x2294, 0x2000 }, - { 0x1900, 0x2293, 0x0000 }, - { 0x1900, 0x2295, 0x0000 }, - { 0x9900, 0x229a, 0x3000 }, - { 0x9900, 0x2298, 0x2000 }, - { 0x1900, 0x2297, 0x0000 }, - { 0x1900, 0x2299, 0x0000 }, - { 0x9900, 0x229c, 0x2000 }, - { 0x1900, 0x229b, 0x0000 }, - { 0x1900, 0x229d, 0x0000 }, - { 0x9900, 0x22a6, 0x4000 }, - { 0x9900, 0x22a2, 0x3000 }, - { 0x9900, 0x22a0, 0x2000 }, - { 0x1900, 0x229f, 0x0000 }, - { 0x1900, 0x22a1, 0x0000 }, - { 0x9900, 0x22a4, 0x2000 }, - { 0x1900, 0x22a3, 0x0000 }, - { 0x1900, 0x22a5, 0x0000 }, - { 0x9900, 0x22aa, 0x3000 }, - { 0x9900, 0x22a8, 0x2000 }, - { 0x1900, 0x22a7, 0x0000 }, - { 0x1900, 0x22a9, 0x0000 }, - { 0x9900, 0x22ac, 0x2000 }, - { 0x1900, 0x22ab, 0x0000 }, - { 0x1900, 0x22ad, 0x0000 }, - { 0x8f00, 0x2787, 0xb000 }, - { 0x9a00, 0x250b, 0xa000 }, - { 0x9900, 0x23ae, 0x9000 }, - { 0x9a00, 0x232e, 0x8000 }, - { 0x9900, 0x22ee, 0x7000 }, - { 0x9900, 0x22ce, 0x6000 }, - { 0x9900, 0x22be, 0x5000 }, - { 0x9900, 0x22b6, 0x4000 }, - { 0x9900, 0x22b2, 0x3000 }, - { 0x9900, 0x22b0, 0x2000 }, - { 0x1900, 0x22af, 0x0000 }, - { 0x1900, 0x22b1, 0x0000 }, - { 0x9900, 0x22b4, 0x2000 }, - { 0x1900, 0x22b3, 0x0000 }, - { 0x1900, 0x22b5, 0x0000 }, - { 0x9900, 0x22ba, 0x3000 }, - { 0x9900, 0x22b8, 0x2000 }, - { 0x1900, 0x22b7, 0x0000 }, - { 0x1900, 0x22b9, 0x0000 }, - { 0x9900, 0x22bc, 0x2000 }, - { 0x1900, 0x22bb, 0x0000 }, - { 0x1900, 0x22bd, 0x0000 }, - { 0x9900, 0x22c6, 0x4000 }, - { 0x9900, 0x22c2, 0x3000 }, - { 0x9900, 0x22c0, 0x2000 }, - { 0x1900, 0x22bf, 0x0000 }, - { 0x1900, 0x22c1, 0x0000 }, - { 0x9900, 0x22c4, 0x2000 }, - { 0x1900, 0x22c3, 0x0000 }, - { 0x1900, 0x22c5, 0x0000 }, - { 0x9900, 0x22ca, 0x3000 }, - { 0x9900, 0x22c8, 0x2000 }, - { 0x1900, 0x22c7, 0x0000 }, - { 0x1900, 0x22c9, 0x0000 }, - { 0x9900, 0x22cc, 0x2000 }, - { 0x1900, 0x22cb, 0x0000 }, - { 0x1900, 0x22cd, 0x0000 }, - { 0x9900, 0x22de, 0x5000 }, - { 0x9900, 0x22d6, 0x4000 }, - { 0x9900, 0x22d2, 0x3000 }, - { 0x9900, 0x22d0, 0x2000 }, - { 0x1900, 0x22cf, 0x0000 }, - { 0x1900, 0x22d1, 0x0000 }, - { 0x9900, 0x22d4, 0x2000 }, - { 0x1900, 0x22d3, 0x0000 }, - { 0x1900, 0x22d5, 0x0000 }, - { 0x9900, 0x22da, 0x3000 }, - { 0x9900, 0x22d8, 0x2000 }, - { 0x1900, 0x22d7, 0x0000 }, - { 0x1900, 0x22d9, 0x0000 }, - { 0x9900, 0x22dc, 0x2000 }, - { 0x1900, 0x22db, 0x0000 }, - { 0x1900, 0x22dd, 0x0000 }, - { 0x9900, 0x22e6, 0x4000 }, - { 0x9900, 0x22e2, 0x3000 }, - { 0x9900, 0x22e0, 0x2000 }, - { 0x1900, 0x22df, 0x0000 }, - { 0x1900, 0x22e1, 0x0000 }, - { 0x9900, 0x22e4, 0x2000 }, - { 0x1900, 0x22e3, 0x0000 }, - { 0x1900, 0x22e5, 0x0000 }, - { 0x9900, 0x22ea, 0x3000 }, - { 0x9900, 0x22e8, 0x2000 }, - { 0x1900, 0x22e7, 0x0000 }, - { 0x1900, 0x22e9, 0x0000 }, - { 0x9900, 0x22ec, 0x2000 }, - { 0x1900, 0x22eb, 0x0000 }, - { 0x1900, 0x22ed, 0x0000 }, - { 0x9a00, 0x230e, 0x6000 }, - { 0x9900, 0x22fe, 0x5000 }, - { 0x9900, 0x22f6, 0x4000 }, - { 0x9900, 0x22f2, 0x3000 }, - { 0x9900, 0x22f0, 0x2000 }, - { 0x1900, 0x22ef, 0x0000 }, - { 0x1900, 0x22f1, 0x0000 }, - { 0x9900, 0x22f4, 0x2000 }, - { 0x1900, 0x22f3, 0x0000 }, - { 0x1900, 0x22f5, 0x0000 }, - { 0x9900, 0x22fa, 0x3000 }, - { 0x9900, 0x22f8, 0x2000 }, - { 0x1900, 0x22f7, 0x0000 }, - { 0x1900, 0x22f9, 0x0000 }, - { 0x9900, 0x22fc, 0x2000 }, - { 0x1900, 0x22fb, 0x0000 }, - { 0x1900, 0x22fd, 0x0000 }, - { 0x9a00, 0x2306, 0x4000 }, - { 0x9a00, 0x2302, 0x3000 }, - { 0x9a00, 0x2300, 0x2000 }, - { 0x1900, 0x22ff, 0x0000 }, - { 0x1a00, 0x2301, 0x0000 }, - { 0x9a00, 0x2304, 0x2000 }, - { 0x1a00, 0x2303, 0x0000 }, - { 0x1a00, 0x2305, 0x0000 }, - { 0x9900, 0x230a, 0x3000 }, - { 0x9900, 0x2308, 0x2000 }, - { 0x1a00, 0x2307, 0x0000 }, - { 0x1900, 0x2309, 0x0000 }, - { 0x9a00, 0x230c, 0x2000 }, - { 0x1900, 0x230b, 0x0000 }, - { 0x1a00, 0x230d, 0x0000 }, - { 0x9a00, 0x231e, 0x5000 }, - { 0x9a00, 0x2316, 0x4000 }, - { 0x9a00, 0x2312, 0x3000 }, - { 0x9a00, 0x2310, 0x2000 }, - { 0x1a00, 0x230f, 0x0000 }, - { 0x1a00, 0x2311, 0x0000 }, - { 0x9a00, 0x2314, 0x2000 }, - { 0x1a00, 0x2313, 0x0000 }, - { 0x1a00, 0x2315, 0x0000 }, - { 0x9a00, 0x231a, 0x3000 }, - { 0x9a00, 0x2318, 0x2000 }, - { 0x1a00, 0x2317, 0x0000 }, - { 0x1a00, 0x2319, 0x0000 }, - { 0x9a00, 0x231c, 0x2000 }, - { 0x1a00, 0x231b, 0x0000 }, - { 0x1a00, 0x231d, 0x0000 }, - { 0x9a00, 0x2326, 0x4000 }, - { 0x9a00, 0x2322, 0x3000 }, - { 0x9900, 0x2320, 0x2000 }, - { 0x1a00, 0x231f, 0x0000 }, - { 0x1900, 0x2321, 0x0000 }, - { 0x9a00, 0x2324, 0x2000 }, - { 0x1a00, 0x2323, 0x0000 }, - { 0x1a00, 0x2325, 0x0000 }, - { 0x9200, 0x232a, 0x3000 }, - { 0x9a00, 0x2328, 0x2000 }, - { 0x1a00, 0x2327, 0x0000 }, - { 0x1600, 0x2329, 0x0000 }, - { 0x9a00, 0x232c, 0x2000 }, - { 0x1a00, 0x232b, 0x0000 }, - { 0x1a00, 0x232d, 0x0000 }, - { 0x9a00, 0x236e, 0x7000 }, - { 0x9a00, 0x234e, 0x6000 }, - { 0x9a00, 0x233e, 0x5000 }, - { 0x9a00, 0x2336, 0x4000 }, - { 0x9a00, 0x2332, 0x3000 }, - { 0x9a00, 0x2330, 0x2000 }, - { 0x1a00, 0x232f, 0x0000 }, - { 0x1a00, 0x2331, 0x0000 }, - { 0x9a00, 0x2334, 0x2000 }, - { 0x1a00, 0x2333, 0x0000 }, - { 0x1a00, 0x2335, 0x0000 }, - { 0x9a00, 0x233a, 0x3000 }, - { 0x9a00, 0x2338, 0x2000 }, - { 0x1a00, 0x2337, 0x0000 }, - { 0x1a00, 0x2339, 0x0000 }, - { 0x9a00, 0x233c, 0x2000 }, - { 0x1a00, 0x233b, 0x0000 }, - { 0x1a00, 0x233d, 0x0000 }, - { 0x9a00, 0x2346, 0x4000 }, - { 0x9a00, 0x2342, 0x3000 }, - { 0x9a00, 0x2340, 0x2000 }, - { 0x1a00, 0x233f, 0x0000 }, - { 0x1a00, 0x2341, 0x0000 }, - { 0x9a00, 0x2344, 0x2000 }, - { 0x1a00, 0x2343, 0x0000 }, - { 0x1a00, 0x2345, 0x0000 }, - { 0x9a00, 0x234a, 0x3000 }, - { 0x9a00, 0x2348, 0x2000 }, - { 0x1a00, 0x2347, 0x0000 }, - { 0x1a00, 0x2349, 0x0000 }, - { 0x9a00, 0x234c, 0x2000 }, - { 0x1a00, 0x234b, 0x0000 }, - { 0x1a00, 0x234d, 0x0000 }, - { 0x9a00, 0x235e, 0x5000 }, - { 0x9a00, 0x2356, 0x4000 }, - { 0x9a00, 0x2352, 0x3000 }, - { 0x9a00, 0x2350, 0x2000 }, - { 0x1a00, 0x234f, 0x0000 }, - { 0x1a00, 0x2351, 0x0000 }, - { 0x9a00, 0x2354, 0x2000 }, - { 0x1a00, 0x2353, 0x0000 }, - { 0x1a00, 0x2355, 0x0000 }, - { 0x9a00, 0x235a, 0x3000 }, - { 0x9a00, 0x2358, 0x2000 }, - { 0x1a00, 0x2357, 0x0000 }, - { 0x1a00, 0x2359, 0x0000 }, - { 0x9a00, 0x235c, 0x2000 }, - { 0x1a00, 0x235b, 0x0000 }, - { 0x1a00, 0x235d, 0x0000 }, - { 0x9a00, 0x2366, 0x4000 }, - { 0x9a00, 0x2362, 0x3000 }, - { 0x9a00, 0x2360, 0x2000 }, - { 0x1a00, 0x235f, 0x0000 }, - { 0x1a00, 0x2361, 0x0000 }, - { 0x9a00, 0x2364, 0x2000 }, - { 0x1a00, 0x2363, 0x0000 }, - { 0x1a00, 0x2365, 0x0000 }, - { 0x9a00, 0x236a, 0x3000 }, - { 0x9a00, 0x2368, 0x2000 }, - { 0x1a00, 0x2367, 0x0000 }, - { 0x1a00, 0x2369, 0x0000 }, - { 0x9a00, 0x236c, 0x2000 }, - { 0x1a00, 0x236b, 0x0000 }, - { 0x1a00, 0x236d, 0x0000 }, - { 0x9a00, 0x238e, 0x6000 }, - { 0x9a00, 0x237e, 0x5000 }, - { 0x9a00, 0x2376, 0x4000 }, - { 0x9a00, 0x2372, 0x3000 }, - { 0x9a00, 0x2370, 0x2000 }, - { 0x1a00, 0x236f, 0x0000 }, - { 0x1a00, 0x2371, 0x0000 }, - { 0x9a00, 0x2374, 0x2000 }, - { 0x1a00, 0x2373, 0x0000 }, - { 0x1a00, 0x2375, 0x0000 }, - { 0x9a00, 0x237a, 0x3000 }, - { 0x9a00, 0x2378, 0x2000 }, - { 0x1a00, 0x2377, 0x0000 }, - { 0x1a00, 0x2379, 0x0000 }, - { 0x9900, 0x237c, 0x2000 }, - { 0x1a00, 0x237b, 0x0000 }, - { 0x1a00, 0x237d, 0x0000 }, - { 0x9a00, 0x2386, 0x4000 }, - { 0x9a00, 0x2382, 0x3000 }, - { 0x9a00, 0x2380, 0x2000 }, - { 0x1a00, 0x237f, 0x0000 }, - { 0x1a00, 0x2381, 0x0000 }, - { 0x9a00, 0x2384, 0x2000 }, - { 0x1a00, 0x2383, 0x0000 }, - { 0x1a00, 0x2385, 0x0000 }, - { 0x9a00, 0x238a, 0x3000 }, - { 0x9a00, 0x2388, 0x2000 }, - { 0x1a00, 0x2387, 0x0000 }, - { 0x1a00, 0x2389, 0x0000 }, - { 0x9a00, 0x238c, 0x2000 }, - { 0x1a00, 0x238b, 0x0000 }, - { 0x1a00, 0x238d, 0x0000 }, - { 0x9900, 0x239e, 0x5000 }, - { 0x9a00, 0x2396, 0x4000 }, - { 0x9a00, 0x2392, 0x3000 }, - { 0x9a00, 0x2390, 0x2000 }, - { 0x1a00, 0x238f, 0x0000 }, - { 0x1a00, 0x2391, 0x0000 }, - { 0x9a00, 0x2394, 0x2000 }, - { 0x1a00, 0x2393, 0x0000 }, - { 0x1a00, 0x2395, 0x0000 }, - { 0x9a00, 0x239a, 0x3000 }, - { 0x9a00, 0x2398, 0x2000 }, - { 0x1a00, 0x2397, 0x0000 }, - { 0x1a00, 0x2399, 0x0000 }, - { 0x9900, 0x239c, 0x2000 }, - { 0x1900, 0x239b, 0x0000 }, - { 0x1900, 0x239d, 0x0000 }, - { 0x9900, 0x23a6, 0x4000 }, - { 0x9900, 0x23a2, 0x3000 }, - { 0x9900, 0x23a0, 0x2000 }, - { 0x1900, 0x239f, 0x0000 }, - { 0x1900, 0x23a1, 0x0000 }, - { 0x9900, 0x23a4, 0x2000 }, - { 0x1900, 0x23a3, 0x0000 }, - { 0x1900, 0x23a5, 0x0000 }, - { 0x9900, 0x23aa, 0x3000 }, - { 0x9900, 0x23a8, 0x2000 }, - { 0x1900, 0x23a7, 0x0000 }, - { 0x1900, 0x23a9, 0x0000 }, - { 0x9900, 0x23ac, 0x2000 }, - { 0x1900, 0x23ab, 0x0000 }, - { 0x1900, 0x23ad, 0x0000 }, - { 0x8f00, 0x248b, 0x8000 }, - { 0x9a00, 0x241d, 0x7000 }, - { 0x9a00, 0x23ce, 0x6000 }, - { 0x9a00, 0x23be, 0x5000 }, - { 0x9500, 0x23b6, 0x4000 }, - { 0x9900, 0x23b2, 0x3000 }, - { 0x9900, 0x23b0, 0x2000 }, - { 0x1900, 0x23af, 0x0000 }, - { 0x1900, 0x23b1, 0x0000 }, - { 0x9600, 0x23b4, 0x2000 }, - { 0x1900, 0x23b3, 0x0000 }, - { 0x1200, 0x23b5, 0x0000 }, - { 0x9a00, 0x23ba, 0x3000 }, - { 0x9a00, 0x23b8, 0x2000 }, - { 0x1a00, 0x23b7, 0x0000 }, - { 0x1a00, 0x23b9, 0x0000 }, - { 0x9a00, 0x23bc, 0x2000 }, - { 0x1a00, 0x23bb, 0x0000 }, - { 0x1a00, 0x23bd, 0x0000 }, - { 0x9a00, 0x23c6, 0x4000 }, - { 0x9a00, 0x23c2, 0x3000 }, - { 0x9a00, 0x23c0, 0x2000 }, - { 0x1a00, 0x23bf, 0x0000 }, - { 0x1a00, 0x23c1, 0x0000 }, - { 0x9a00, 0x23c4, 0x2000 }, - { 0x1a00, 0x23c3, 0x0000 }, - { 0x1a00, 0x23c5, 0x0000 }, - { 0x9a00, 0x23ca, 0x3000 }, - { 0x9a00, 0x23c8, 0x2000 }, - { 0x1a00, 0x23c7, 0x0000 }, - { 0x1a00, 0x23c9, 0x0000 }, - { 0x9a00, 0x23cc, 0x2000 }, - { 0x1a00, 0x23cb, 0x0000 }, - { 0x1a00, 0x23cd, 0x0000 }, - { 0x9a00, 0x240d, 0x5000 }, - { 0x9a00, 0x2405, 0x4000 }, - { 0x9a00, 0x2401, 0x3000 }, - { 0x9a00, 0x23d0, 0x2000 }, - { 0x1a00, 0x23cf, 0x0000 }, - { 0x1a00, 0x2400, 0x0000 }, - { 0x9a00, 0x2403, 0x2000 }, - { 0x1a00, 0x2402, 0x0000 }, - { 0x1a00, 0x2404, 0x0000 }, - { 0x9a00, 0x2409, 0x3000 }, - { 0x9a00, 0x2407, 0x2000 }, - { 0x1a00, 0x2406, 0x0000 }, - { 0x1a00, 0x2408, 0x0000 }, - { 0x9a00, 0x240b, 0x2000 }, - { 0x1a00, 0x240a, 0x0000 }, - { 0x1a00, 0x240c, 0x0000 }, - { 0x9a00, 0x2415, 0x4000 }, - { 0x9a00, 0x2411, 0x3000 }, - { 0x9a00, 0x240f, 0x2000 }, - { 0x1a00, 0x240e, 0x0000 }, - { 0x1a00, 0x2410, 0x0000 }, - { 0x9a00, 0x2413, 0x2000 }, - { 0x1a00, 0x2412, 0x0000 }, - { 0x1a00, 0x2414, 0x0000 }, - { 0x9a00, 0x2419, 0x3000 }, - { 0x9a00, 0x2417, 0x2000 }, - { 0x1a00, 0x2416, 0x0000 }, - { 0x1a00, 0x2418, 0x0000 }, - { 0x9a00, 0x241b, 0x2000 }, - { 0x1a00, 0x241a, 0x0000 }, - { 0x1a00, 0x241c, 0x0000 }, - { 0x8f00, 0x246b, 0x6000 }, - { 0x9a00, 0x2446, 0x5000 }, - { 0x9a00, 0x2425, 0x4000 }, - { 0x9a00, 0x2421, 0x3000 }, - { 0x9a00, 0x241f, 0x2000 }, - { 0x1a00, 0x241e, 0x0000 }, - { 0x1a00, 0x2420, 0x0000 }, - { 0x9a00, 0x2423, 0x2000 }, - { 0x1a00, 0x2422, 0x0000 }, - { 0x1a00, 0x2424, 0x0000 }, - { 0x9a00, 0x2442, 0x3000 }, - { 0x9a00, 0x2440, 0x2000 }, - { 0x1a00, 0x2426, 0x0000 }, - { 0x1a00, 0x2441, 0x0000 }, - { 0x9a00, 0x2444, 0x2000 }, - { 0x1a00, 0x2443, 0x0000 }, - { 0x1a00, 0x2445, 0x0000 }, - { 0x8f00, 0x2463, 0x4000 }, - { 0x9a00, 0x244a, 0x3000 }, - { 0x9a00, 0x2448, 0x2000 }, - { 0x1a00, 0x2447, 0x0000 }, - { 0x1a00, 0x2449, 0x0000 }, - { 0x8f00, 0x2461, 0x2000 }, - { 0x0f00, 0x2460, 0x0000 }, - { 0x0f00, 0x2462, 0x0000 }, - { 0x8f00, 0x2467, 0x3000 }, - { 0x8f00, 0x2465, 0x2000 }, - { 0x0f00, 0x2464, 0x0000 }, - { 0x0f00, 0x2466, 0x0000 }, - { 0x8f00, 0x2469, 0x2000 }, - { 0x0f00, 0x2468, 0x0000 }, - { 0x0f00, 0x246a, 0x0000 }, - { 0x8f00, 0x247b, 0x5000 }, - { 0x8f00, 0x2473, 0x4000 }, - { 0x8f00, 0x246f, 0x3000 }, - { 0x8f00, 0x246d, 0x2000 }, - { 0x0f00, 0x246c, 0x0000 }, - { 0x0f00, 0x246e, 0x0000 }, - { 0x8f00, 0x2471, 0x2000 }, - { 0x0f00, 0x2470, 0x0000 }, - { 0x0f00, 0x2472, 0x0000 }, - { 0x8f00, 0x2477, 0x3000 }, - { 0x8f00, 0x2475, 0x2000 }, - { 0x0f00, 0x2474, 0x0000 }, - { 0x0f00, 0x2476, 0x0000 }, - { 0x8f00, 0x2479, 0x2000 }, - { 0x0f00, 0x2478, 0x0000 }, - { 0x0f00, 0x247a, 0x0000 }, - { 0x8f00, 0x2483, 0x4000 }, - { 0x8f00, 0x247f, 0x3000 }, - { 0x8f00, 0x247d, 0x2000 }, - { 0x0f00, 0x247c, 0x0000 }, - { 0x0f00, 0x247e, 0x0000 }, - { 0x8f00, 0x2481, 0x2000 }, - { 0x0f00, 0x2480, 0x0000 }, - { 0x0f00, 0x2482, 0x0000 }, - { 0x8f00, 0x2487, 0x3000 }, - { 0x8f00, 0x2485, 0x2000 }, - { 0x0f00, 0x2484, 0x0000 }, - { 0x0f00, 0x2486, 0x0000 }, - { 0x8f00, 0x2489, 0x2000 }, - { 0x0f00, 0x2488, 0x0000 }, - { 0x0f00, 0x248a, 0x0000 }, - { 0x9a00, 0x24cb, 0x7000 }, - { 0x9a00, 0x24ab, 0x6000 }, - { 0x8f00, 0x249b, 0x5000 }, - { 0x8f00, 0x2493, 0x4000 }, - { 0x8f00, 0x248f, 0x3000 }, - { 0x8f00, 0x248d, 0x2000 }, - { 0x0f00, 0x248c, 0x0000 }, - { 0x0f00, 0x248e, 0x0000 }, - { 0x8f00, 0x2491, 0x2000 }, - { 0x0f00, 0x2490, 0x0000 }, - { 0x0f00, 0x2492, 0x0000 }, - { 0x8f00, 0x2497, 0x3000 }, - { 0x8f00, 0x2495, 0x2000 }, - { 0x0f00, 0x2494, 0x0000 }, - { 0x0f00, 0x2496, 0x0000 }, - { 0x8f00, 0x2499, 0x2000 }, - { 0x0f00, 0x2498, 0x0000 }, - { 0x0f00, 0x249a, 0x0000 }, - { 0x9a00, 0x24a3, 0x4000 }, - { 0x9a00, 0x249f, 0x3000 }, - { 0x9a00, 0x249d, 0x2000 }, - { 0x1a00, 0x249c, 0x0000 }, - { 0x1a00, 0x249e, 0x0000 }, - { 0x9a00, 0x24a1, 0x2000 }, - { 0x1a00, 0x24a0, 0x0000 }, - { 0x1a00, 0x24a2, 0x0000 }, - { 0x9a00, 0x24a7, 0x3000 }, - { 0x9a00, 0x24a5, 0x2000 }, - { 0x1a00, 0x24a4, 0x0000 }, - { 0x1a00, 0x24a6, 0x0000 }, - { 0x9a00, 0x24a9, 0x2000 }, - { 0x1a00, 0x24a8, 0x0000 }, - { 0x1a00, 0x24aa, 0x0000 }, - { 0x9a00, 0x24bb, 0x5000 }, - { 0x9a00, 0x24b3, 0x4000 }, - { 0x9a00, 0x24af, 0x3000 }, - { 0x9a00, 0x24ad, 0x2000 }, - { 0x1a00, 0x24ac, 0x0000 }, - { 0x1a00, 0x24ae, 0x0000 }, - { 0x9a00, 0x24b1, 0x2000 }, - { 0x1a00, 0x24b0, 0x0000 }, - { 0x1a00, 0x24b2, 0x0000 }, - { 0x9a00, 0x24b7, 0x3000 }, - { 0x9a00, 0x24b5, 0x2000 }, - { 0x1a00, 0x24b4, 0x0000 }, - { 0x1a00, 0x24b6, 0x0000 }, - { 0x9a00, 0x24b9, 0x2000 }, - { 0x1a00, 0x24b8, 0x0000 }, - { 0x1a00, 0x24ba, 0x0000 }, - { 0x9a00, 0x24c3, 0x4000 }, - { 0x9a00, 0x24bf, 0x3000 }, - { 0x9a00, 0x24bd, 0x2000 }, - { 0x1a00, 0x24bc, 0x0000 }, - { 0x1a00, 0x24be, 0x0000 }, - { 0x9a00, 0x24c1, 0x2000 }, - { 0x1a00, 0x24c0, 0x0000 }, - { 0x1a00, 0x24c2, 0x0000 }, - { 0x9a00, 0x24c7, 0x3000 }, - { 0x9a00, 0x24c5, 0x2000 }, - { 0x1a00, 0x24c4, 0x0000 }, - { 0x1a00, 0x24c6, 0x0000 }, - { 0x9a00, 0x24c9, 0x2000 }, - { 0x1a00, 0x24c8, 0x0000 }, - { 0x1a00, 0x24ca, 0x0000 }, - { 0x8f00, 0x24eb, 0x6000 }, - { 0x9a00, 0x24db, 0x5000 }, - { 0x9a00, 0x24d3, 0x4000 }, - { 0x9a00, 0x24cf, 0x3000 }, - { 0x9a00, 0x24cd, 0x2000 }, - { 0x1a00, 0x24cc, 0x0000 }, - { 0x1a00, 0x24ce, 0x0000 }, - { 0x9a00, 0x24d1, 0x2000 }, - { 0x1a00, 0x24d0, 0x0000 }, - { 0x1a00, 0x24d2, 0x0000 }, - { 0x9a00, 0x24d7, 0x3000 }, - { 0x9a00, 0x24d5, 0x2000 }, - { 0x1a00, 0x24d4, 0x0000 }, - { 0x1a00, 0x24d6, 0x0000 }, - { 0x9a00, 0x24d9, 0x2000 }, - { 0x1a00, 0x24d8, 0x0000 }, - { 0x1a00, 0x24da, 0x0000 }, - { 0x9a00, 0x24e3, 0x4000 }, - { 0x9a00, 0x24df, 0x3000 }, - { 0x9a00, 0x24dd, 0x2000 }, - { 0x1a00, 0x24dc, 0x0000 }, - { 0x1a00, 0x24de, 0x0000 }, - { 0x9a00, 0x24e1, 0x2000 }, - { 0x1a00, 0x24e0, 0x0000 }, - { 0x1a00, 0x24e2, 0x0000 }, - { 0x9a00, 0x24e7, 0x3000 }, - { 0x9a00, 0x24e5, 0x2000 }, - { 0x1a00, 0x24e4, 0x0000 }, - { 0x1a00, 0x24e6, 0x0000 }, - { 0x9a00, 0x24e9, 0x2000 }, - { 0x1a00, 0x24e8, 0x0000 }, - { 0x0f00, 0x24ea, 0x0000 }, - { 0x8f00, 0x24fb, 0x5000 }, - { 0x8f00, 0x24f3, 0x4000 }, - { 0x8f00, 0x24ef, 0x3000 }, - { 0x8f00, 0x24ed, 0x2000 }, - { 0x0f00, 0x24ec, 0x0000 }, - { 0x0f00, 0x24ee, 0x0000 }, - { 0x8f00, 0x24f1, 0x2000 }, - { 0x0f00, 0x24f0, 0x0000 }, - { 0x0f00, 0x24f2, 0x0000 }, - { 0x8f00, 0x24f7, 0x3000 }, - { 0x8f00, 0x24f5, 0x2000 }, - { 0x0f00, 0x24f4, 0x0000 }, - { 0x0f00, 0x24f6, 0x0000 }, - { 0x8f00, 0x24f9, 0x2000 }, - { 0x0f00, 0x24f8, 0x0000 }, - { 0x0f00, 0x24fa, 0x0000 }, - { 0x9a00, 0x2503, 0x4000 }, - { 0x8f00, 0x24ff, 0x3000 }, - { 0x8f00, 0x24fd, 0x2000 }, - { 0x0f00, 0x24fc, 0x0000 }, - { 0x0f00, 0x24fe, 0x0000 }, - { 0x9a00, 0x2501, 0x2000 }, - { 0x1a00, 0x2500, 0x0000 }, - { 0x1a00, 0x2502, 0x0000 }, - { 0x9a00, 0x2507, 0x3000 }, - { 0x9a00, 0x2505, 0x2000 }, - { 0x1a00, 0x2504, 0x0000 }, - { 0x1a00, 0x2506, 0x0000 }, - { 0x9a00, 0x2509, 0x2000 }, - { 0x1a00, 0x2508, 0x0000 }, - { 0x1a00, 0x250a, 0x0000 }, - { 0x9a00, 0x260b, 0x9000 }, - { 0x9a00, 0x258b, 0x8000 }, - { 0x9a00, 0x254b, 0x7000 }, - { 0x9a00, 0x252b, 0x6000 }, - { 0x9a00, 0x251b, 0x5000 }, - { 0x9a00, 0x2513, 0x4000 }, - { 0x9a00, 0x250f, 0x3000 }, - { 0x9a00, 0x250d, 0x2000 }, - { 0x1a00, 0x250c, 0x0000 }, - { 0x1a00, 0x250e, 0x0000 }, - { 0x9a00, 0x2511, 0x2000 }, - { 0x1a00, 0x2510, 0x0000 }, - { 0x1a00, 0x2512, 0x0000 }, - { 0x9a00, 0x2517, 0x3000 }, - { 0x9a00, 0x2515, 0x2000 }, - { 0x1a00, 0x2514, 0x0000 }, - { 0x1a00, 0x2516, 0x0000 }, - { 0x9a00, 0x2519, 0x2000 }, - { 0x1a00, 0x2518, 0x0000 }, - { 0x1a00, 0x251a, 0x0000 }, - { 0x9a00, 0x2523, 0x4000 }, - { 0x9a00, 0x251f, 0x3000 }, - { 0x9a00, 0x251d, 0x2000 }, - { 0x1a00, 0x251c, 0x0000 }, - { 0x1a00, 0x251e, 0x0000 }, - { 0x9a00, 0x2521, 0x2000 }, - { 0x1a00, 0x2520, 0x0000 }, - { 0x1a00, 0x2522, 0x0000 }, - { 0x9a00, 0x2527, 0x3000 }, - { 0x9a00, 0x2525, 0x2000 }, - { 0x1a00, 0x2524, 0x0000 }, - { 0x1a00, 0x2526, 0x0000 }, - { 0x9a00, 0x2529, 0x2000 }, - { 0x1a00, 0x2528, 0x0000 }, - { 0x1a00, 0x252a, 0x0000 }, - { 0x9a00, 0x253b, 0x5000 }, - { 0x9a00, 0x2533, 0x4000 }, - { 0x9a00, 0x252f, 0x3000 }, - { 0x9a00, 0x252d, 0x2000 }, - { 0x1a00, 0x252c, 0x0000 }, - { 0x1a00, 0x252e, 0x0000 }, - { 0x9a00, 0x2531, 0x2000 }, - { 0x1a00, 0x2530, 0x0000 }, - { 0x1a00, 0x2532, 0x0000 }, - { 0x9a00, 0x2537, 0x3000 }, - { 0x9a00, 0x2535, 0x2000 }, - { 0x1a00, 0x2534, 0x0000 }, - { 0x1a00, 0x2536, 0x0000 }, - { 0x9a00, 0x2539, 0x2000 }, - { 0x1a00, 0x2538, 0x0000 }, - { 0x1a00, 0x253a, 0x0000 }, - { 0x9a00, 0x2543, 0x4000 }, - { 0x9a00, 0x253f, 0x3000 }, - { 0x9a00, 0x253d, 0x2000 }, - { 0x1a00, 0x253c, 0x0000 }, - { 0x1a00, 0x253e, 0x0000 }, - { 0x9a00, 0x2541, 0x2000 }, - { 0x1a00, 0x2540, 0x0000 }, - { 0x1a00, 0x2542, 0x0000 }, - { 0x9a00, 0x2547, 0x3000 }, - { 0x9a00, 0x2545, 0x2000 }, - { 0x1a00, 0x2544, 0x0000 }, - { 0x1a00, 0x2546, 0x0000 }, - { 0x9a00, 0x2549, 0x2000 }, - { 0x1a00, 0x2548, 0x0000 }, - { 0x1a00, 0x254a, 0x0000 }, - { 0x9a00, 0x256b, 0x6000 }, - { 0x9a00, 0x255b, 0x5000 }, - { 0x9a00, 0x2553, 0x4000 }, - { 0x9a00, 0x254f, 0x3000 }, - { 0x9a00, 0x254d, 0x2000 }, - { 0x1a00, 0x254c, 0x0000 }, - { 0x1a00, 0x254e, 0x0000 }, - { 0x9a00, 0x2551, 0x2000 }, - { 0x1a00, 0x2550, 0x0000 }, - { 0x1a00, 0x2552, 0x0000 }, - { 0x9a00, 0x2557, 0x3000 }, - { 0x9a00, 0x2555, 0x2000 }, - { 0x1a00, 0x2554, 0x0000 }, - { 0x1a00, 0x2556, 0x0000 }, - { 0x9a00, 0x2559, 0x2000 }, - { 0x1a00, 0x2558, 0x0000 }, - { 0x1a00, 0x255a, 0x0000 }, - { 0x9a00, 0x2563, 0x4000 }, - { 0x9a00, 0x255f, 0x3000 }, - { 0x9a00, 0x255d, 0x2000 }, - { 0x1a00, 0x255c, 0x0000 }, - { 0x1a00, 0x255e, 0x0000 }, - { 0x9a00, 0x2561, 0x2000 }, - { 0x1a00, 0x2560, 0x0000 }, - { 0x1a00, 0x2562, 0x0000 }, - { 0x9a00, 0x2567, 0x3000 }, - { 0x9a00, 0x2565, 0x2000 }, - { 0x1a00, 0x2564, 0x0000 }, - { 0x1a00, 0x2566, 0x0000 }, - { 0x9a00, 0x2569, 0x2000 }, - { 0x1a00, 0x2568, 0x0000 }, - { 0x1a00, 0x256a, 0x0000 }, - { 0x9a00, 0x257b, 0x5000 }, - { 0x9a00, 0x2573, 0x4000 }, - { 0x9a00, 0x256f, 0x3000 }, - { 0x9a00, 0x256d, 0x2000 }, - { 0x1a00, 0x256c, 0x0000 }, - { 0x1a00, 0x256e, 0x0000 }, - { 0x9a00, 0x2571, 0x2000 }, - { 0x1a00, 0x2570, 0x0000 }, - { 0x1a00, 0x2572, 0x0000 }, - { 0x9a00, 0x2577, 0x3000 }, - { 0x9a00, 0x2575, 0x2000 }, - { 0x1a00, 0x2574, 0x0000 }, - { 0x1a00, 0x2576, 0x0000 }, - { 0x9a00, 0x2579, 0x2000 }, - { 0x1a00, 0x2578, 0x0000 }, - { 0x1a00, 0x257a, 0x0000 }, - { 0x9a00, 0x2583, 0x4000 }, - { 0x9a00, 0x257f, 0x3000 }, - { 0x9a00, 0x257d, 0x2000 }, - { 0x1a00, 0x257c, 0x0000 }, - { 0x1a00, 0x257e, 0x0000 }, - { 0x9a00, 0x2581, 0x2000 }, - { 0x1a00, 0x2580, 0x0000 }, - { 0x1a00, 0x2582, 0x0000 }, - { 0x9a00, 0x2587, 0x3000 }, - { 0x9a00, 0x2585, 0x2000 }, - { 0x1a00, 0x2584, 0x0000 }, - { 0x1a00, 0x2586, 0x0000 }, - { 0x9a00, 0x2589, 0x2000 }, - { 0x1a00, 0x2588, 0x0000 }, - { 0x1a00, 0x258a, 0x0000 }, - { 0x9a00, 0x25cb, 0x7000 }, - { 0x9a00, 0x25ab, 0x6000 }, - { 0x9a00, 0x259b, 0x5000 }, - { 0x9a00, 0x2593, 0x4000 }, - { 0x9a00, 0x258f, 0x3000 }, - { 0x9a00, 0x258d, 0x2000 }, - { 0x1a00, 0x258c, 0x0000 }, - { 0x1a00, 0x258e, 0x0000 }, - { 0x9a00, 0x2591, 0x2000 }, - { 0x1a00, 0x2590, 0x0000 }, - { 0x1a00, 0x2592, 0x0000 }, - { 0x9a00, 0x2597, 0x3000 }, - { 0x9a00, 0x2595, 0x2000 }, - { 0x1a00, 0x2594, 0x0000 }, - { 0x1a00, 0x2596, 0x0000 }, - { 0x9a00, 0x2599, 0x2000 }, - { 0x1a00, 0x2598, 0x0000 }, - { 0x1a00, 0x259a, 0x0000 }, - { 0x9a00, 0x25a3, 0x4000 }, - { 0x9a00, 0x259f, 0x3000 }, - { 0x9a00, 0x259d, 0x2000 }, - { 0x1a00, 0x259c, 0x0000 }, - { 0x1a00, 0x259e, 0x0000 }, - { 0x9a00, 0x25a1, 0x2000 }, - { 0x1a00, 0x25a0, 0x0000 }, - { 0x1a00, 0x25a2, 0x0000 }, - { 0x9a00, 0x25a7, 0x3000 }, - { 0x9a00, 0x25a5, 0x2000 }, - { 0x1a00, 0x25a4, 0x0000 }, - { 0x1a00, 0x25a6, 0x0000 }, - { 0x9a00, 0x25a9, 0x2000 }, - { 0x1a00, 0x25a8, 0x0000 }, - { 0x1a00, 0x25aa, 0x0000 }, - { 0x9a00, 0x25bb, 0x5000 }, - { 0x9a00, 0x25b3, 0x4000 }, - { 0x9a00, 0x25af, 0x3000 }, - { 0x9a00, 0x25ad, 0x2000 }, - { 0x1a00, 0x25ac, 0x0000 }, - { 0x1a00, 0x25ae, 0x0000 }, - { 0x9a00, 0x25b1, 0x2000 }, - { 0x1a00, 0x25b0, 0x0000 }, - { 0x1a00, 0x25b2, 0x0000 }, - { 0x9900, 0x25b7, 0x3000 }, - { 0x9a00, 0x25b5, 0x2000 }, - { 0x1a00, 0x25b4, 0x0000 }, - { 0x1a00, 0x25b6, 0x0000 }, - { 0x9a00, 0x25b9, 0x2000 }, - { 0x1a00, 0x25b8, 0x0000 }, - { 0x1a00, 0x25ba, 0x0000 }, - { 0x9a00, 0x25c3, 0x4000 }, - { 0x9a00, 0x25bf, 0x3000 }, - { 0x9a00, 0x25bd, 0x2000 }, - { 0x1a00, 0x25bc, 0x0000 }, - { 0x1a00, 0x25be, 0x0000 }, - { 0x9900, 0x25c1, 0x2000 }, - { 0x1a00, 0x25c0, 0x0000 }, - { 0x1a00, 0x25c2, 0x0000 }, - { 0x9a00, 0x25c7, 0x3000 }, - { 0x9a00, 0x25c5, 0x2000 }, - { 0x1a00, 0x25c4, 0x0000 }, - { 0x1a00, 0x25c6, 0x0000 }, - { 0x9a00, 0x25c9, 0x2000 }, - { 0x1a00, 0x25c8, 0x0000 }, - { 0x1a00, 0x25ca, 0x0000 }, - { 0x9a00, 0x25eb, 0x6000 }, - { 0x9a00, 0x25db, 0x5000 }, - { 0x9a00, 0x25d3, 0x4000 }, - { 0x9a00, 0x25cf, 0x3000 }, - { 0x9a00, 0x25cd, 0x2000 }, - { 0x1a00, 0x25cc, 0x0000 }, - { 0x1a00, 0x25ce, 0x0000 }, - { 0x9a00, 0x25d1, 0x2000 }, - { 0x1a00, 0x25d0, 0x0000 }, - { 0x1a00, 0x25d2, 0x0000 }, - { 0x9a00, 0x25d7, 0x3000 }, - { 0x9a00, 0x25d5, 0x2000 }, - { 0x1a00, 0x25d4, 0x0000 }, - { 0x1a00, 0x25d6, 0x0000 }, - { 0x9a00, 0x25d9, 0x2000 }, - { 0x1a00, 0x25d8, 0x0000 }, - { 0x1a00, 0x25da, 0x0000 }, - { 0x9a00, 0x25e3, 0x4000 }, - { 0x9a00, 0x25df, 0x3000 }, - { 0x9a00, 0x25dd, 0x2000 }, - { 0x1a00, 0x25dc, 0x0000 }, - { 0x1a00, 0x25de, 0x0000 }, - { 0x9a00, 0x25e1, 0x2000 }, - { 0x1a00, 0x25e0, 0x0000 }, - { 0x1a00, 0x25e2, 0x0000 }, - { 0x9a00, 0x25e7, 0x3000 }, - { 0x9a00, 0x25e5, 0x2000 }, - { 0x1a00, 0x25e4, 0x0000 }, - { 0x1a00, 0x25e6, 0x0000 }, - { 0x9a00, 0x25e9, 0x2000 }, - { 0x1a00, 0x25e8, 0x0000 }, - { 0x1a00, 0x25ea, 0x0000 }, - { 0x9900, 0x25fb, 0x5000 }, - { 0x9a00, 0x25f3, 0x4000 }, - { 0x9a00, 0x25ef, 0x3000 }, - { 0x9a00, 0x25ed, 0x2000 }, - { 0x1a00, 0x25ec, 0x0000 }, - { 0x1a00, 0x25ee, 0x0000 }, - { 0x9a00, 0x25f1, 0x2000 }, - { 0x1a00, 0x25f0, 0x0000 }, - { 0x1a00, 0x25f2, 0x0000 }, - { 0x9a00, 0x25f7, 0x3000 }, - { 0x9a00, 0x25f5, 0x2000 }, - { 0x1a00, 0x25f4, 0x0000 }, - { 0x1a00, 0x25f6, 0x0000 }, - { 0x9900, 0x25f9, 0x2000 }, - { 0x1900, 0x25f8, 0x0000 }, - { 0x1900, 0x25fa, 0x0000 }, - { 0x9a00, 0x2603, 0x4000 }, - { 0x9900, 0x25ff, 0x3000 }, - { 0x9900, 0x25fd, 0x2000 }, - { 0x1900, 0x25fc, 0x0000 }, - { 0x1900, 0x25fe, 0x0000 }, - { 0x9a00, 0x2601, 0x2000 }, - { 0x1a00, 0x2600, 0x0000 }, - { 0x1a00, 0x2602, 0x0000 }, - { 0x9a00, 0x2607, 0x3000 }, - { 0x9a00, 0x2605, 0x2000 }, - { 0x1a00, 0x2604, 0x0000 }, - { 0x1a00, 0x2606, 0x0000 }, - { 0x9a00, 0x2609, 0x2000 }, - { 0x1a00, 0x2608, 0x0000 }, - { 0x1a00, 0x260a, 0x0000 }, - { 0x9a00, 0x268e, 0x8000 }, - { 0x9a00, 0x264c, 0x7000 }, - { 0x9a00, 0x262c, 0x6000 }, - { 0x9a00, 0x261c, 0x5000 }, - { 0x9a00, 0x2613, 0x4000 }, - { 0x9a00, 0x260f, 0x3000 }, - { 0x9a00, 0x260d, 0x2000 }, - { 0x1a00, 0x260c, 0x0000 }, - { 0x1a00, 0x260e, 0x0000 }, - { 0x9a00, 0x2611, 0x2000 }, - { 0x1a00, 0x2610, 0x0000 }, - { 0x1a00, 0x2612, 0x0000 }, - { 0x9a00, 0x2617, 0x3000 }, - { 0x9a00, 0x2615, 0x2000 }, - { 0x1a00, 0x2614, 0x0000 }, - { 0x1a00, 0x2616, 0x0000 }, - { 0x9a00, 0x261a, 0x2000 }, - { 0x1a00, 0x2619, 0x0000 }, - { 0x1a00, 0x261b, 0x0000 }, - { 0x9a00, 0x2624, 0x4000 }, - { 0x9a00, 0x2620, 0x3000 }, - { 0x9a00, 0x261e, 0x2000 }, - { 0x1a00, 0x261d, 0x0000 }, - { 0x1a00, 0x261f, 0x0000 }, - { 0x9a00, 0x2622, 0x2000 }, - { 0x1a00, 0x2621, 0x0000 }, - { 0x1a00, 0x2623, 0x0000 }, - { 0x9a00, 0x2628, 0x3000 }, - { 0x9a00, 0x2626, 0x2000 }, - { 0x1a00, 0x2625, 0x0000 }, - { 0x1a00, 0x2627, 0x0000 }, - { 0x9a00, 0x262a, 0x2000 }, - { 0x1a00, 0x2629, 0x0000 }, - { 0x1a00, 0x262b, 0x0000 }, - { 0x9a00, 0x263c, 0x5000 }, - { 0x9a00, 0x2634, 0x4000 }, - { 0x9a00, 0x2630, 0x3000 }, - { 0x9a00, 0x262e, 0x2000 }, - { 0x1a00, 0x262d, 0x0000 }, - { 0x1a00, 0x262f, 0x0000 }, - { 0x9a00, 0x2632, 0x2000 }, - { 0x1a00, 0x2631, 0x0000 }, - { 0x1a00, 0x2633, 0x0000 }, - { 0x9a00, 0x2638, 0x3000 }, - { 0x9a00, 0x2636, 0x2000 }, - { 0x1a00, 0x2635, 0x0000 }, - { 0x1a00, 0x2637, 0x0000 }, - { 0x9a00, 0x263a, 0x2000 }, - { 0x1a00, 0x2639, 0x0000 }, - { 0x1a00, 0x263b, 0x0000 }, - { 0x9a00, 0x2644, 0x4000 }, - { 0x9a00, 0x2640, 0x3000 }, - { 0x9a00, 0x263e, 0x2000 }, - { 0x1a00, 0x263d, 0x0000 }, - { 0x1a00, 0x263f, 0x0000 }, - { 0x9a00, 0x2642, 0x2000 }, - { 0x1a00, 0x2641, 0x0000 }, - { 0x1a00, 0x2643, 0x0000 }, - { 0x9a00, 0x2648, 0x3000 }, - { 0x9a00, 0x2646, 0x2000 }, - { 0x1a00, 0x2645, 0x0000 }, - { 0x1a00, 0x2647, 0x0000 }, - { 0x9a00, 0x264a, 0x2000 }, - { 0x1a00, 0x2649, 0x0000 }, - { 0x1a00, 0x264b, 0x0000 }, - { 0x9a00, 0x266c, 0x6000 }, - { 0x9a00, 0x265c, 0x5000 }, - { 0x9a00, 0x2654, 0x4000 }, - { 0x9a00, 0x2650, 0x3000 }, - { 0x9a00, 0x264e, 0x2000 }, - { 0x1a00, 0x264d, 0x0000 }, - { 0x1a00, 0x264f, 0x0000 }, - { 0x9a00, 0x2652, 0x2000 }, - { 0x1a00, 0x2651, 0x0000 }, - { 0x1a00, 0x2653, 0x0000 }, - { 0x9a00, 0x2658, 0x3000 }, - { 0x9a00, 0x2656, 0x2000 }, - { 0x1a00, 0x2655, 0x0000 }, - { 0x1a00, 0x2657, 0x0000 }, - { 0x9a00, 0x265a, 0x2000 }, - { 0x1a00, 0x2659, 0x0000 }, - { 0x1a00, 0x265b, 0x0000 }, - { 0x9a00, 0x2664, 0x4000 }, - { 0x9a00, 0x2660, 0x3000 }, - { 0x9a00, 0x265e, 0x2000 }, - { 0x1a00, 0x265d, 0x0000 }, - { 0x1a00, 0x265f, 0x0000 }, - { 0x9a00, 0x2662, 0x2000 }, - { 0x1a00, 0x2661, 0x0000 }, - { 0x1a00, 0x2663, 0x0000 }, - { 0x9a00, 0x2668, 0x3000 }, - { 0x9a00, 0x2666, 0x2000 }, - { 0x1a00, 0x2665, 0x0000 }, - { 0x1a00, 0x2667, 0x0000 }, - { 0x9a00, 0x266a, 0x2000 }, - { 0x1a00, 0x2669, 0x0000 }, - { 0x1a00, 0x266b, 0x0000 }, - { 0x9a00, 0x267c, 0x5000 }, - { 0x9a00, 0x2674, 0x4000 }, - { 0x9a00, 0x2670, 0x3000 }, - { 0x9a00, 0x266e, 0x2000 }, - { 0x1a00, 0x266d, 0x0000 }, - { 0x1900, 0x266f, 0x0000 }, - { 0x9a00, 0x2672, 0x2000 }, - { 0x1a00, 0x2671, 0x0000 }, - { 0x1a00, 0x2673, 0x0000 }, - { 0x9a00, 0x2678, 0x3000 }, - { 0x9a00, 0x2676, 0x2000 }, - { 0x1a00, 0x2675, 0x0000 }, - { 0x1a00, 0x2677, 0x0000 }, - { 0x9a00, 0x267a, 0x2000 }, - { 0x1a00, 0x2679, 0x0000 }, - { 0x1a00, 0x267b, 0x0000 }, - { 0x9a00, 0x2686, 0x4000 }, - { 0x9a00, 0x2682, 0x3000 }, - { 0x9a00, 0x2680, 0x2000 }, - { 0x1a00, 0x267d, 0x0000 }, - { 0x1a00, 0x2681, 0x0000 }, - { 0x9a00, 0x2684, 0x2000 }, - { 0x1a00, 0x2683, 0x0000 }, - { 0x1a00, 0x2685, 0x0000 }, - { 0x9a00, 0x268a, 0x3000 }, - { 0x9a00, 0x2688, 0x2000 }, - { 0x1a00, 0x2687, 0x0000 }, - { 0x1a00, 0x2689, 0x0000 }, - { 0x9a00, 0x268c, 0x2000 }, - { 0x1a00, 0x268b, 0x0000 }, - { 0x1a00, 0x268d, 0x0000 }, - { 0x9a00, 0x273f, 0x7000 }, - { 0x9a00, 0x271e, 0x6000 }, - { 0x9a00, 0x270e, 0x5000 }, - { 0x9a00, 0x2703, 0x4000 }, - { 0x9a00, 0x26a0, 0x3000 }, - { 0x9a00, 0x2690, 0x2000 }, - { 0x1a00, 0x268f, 0x0000 }, - { 0x1a00, 0x2691, 0x0000 }, - { 0x9a00, 0x2701, 0x2000 }, - { 0x1a00, 0x26a1, 0x0000 }, - { 0x1a00, 0x2702, 0x0000 }, - { 0x9a00, 0x2708, 0x3000 }, - { 0x9a00, 0x2706, 0x2000 }, - { 0x1a00, 0x2704, 0x0000 }, - { 0x1a00, 0x2707, 0x0000 }, - { 0x9a00, 0x270c, 0x2000 }, - { 0x1a00, 0x2709, 0x0000 }, - { 0x1a00, 0x270d, 0x0000 }, - { 0x9a00, 0x2716, 0x4000 }, - { 0x9a00, 0x2712, 0x3000 }, - { 0x9a00, 0x2710, 0x2000 }, - { 0x1a00, 0x270f, 0x0000 }, - { 0x1a00, 0x2711, 0x0000 }, - { 0x9a00, 0x2714, 0x2000 }, - { 0x1a00, 0x2713, 0x0000 }, - { 0x1a00, 0x2715, 0x0000 }, - { 0x9a00, 0x271a, 0x3000 }, - { 0x9a00, 0x2718, 0x2000 }, - { 0x1a00, 0x2717, 0x0000 }, - { 0x1a00, 0x2719, 0x0000 }, - { 0x9a00, 0x271c, 0x2000 }, - { 0x1a00, 0x271b, 0x0000 }, - { 0x1a00, 0x271d, 0x0000 }, - { 0x9a00, 0x272f, 0x5000 }, - { 0x9a00, 0x2726, 0x4000 }, - { 0x9a00, 0x2722, 0x3000 }, - { 0x9a00, 0x2720, 0x2000 }, - { 0x1a00, 0x271f, 0x0000 }, - { 0x1a00, 0x2721, 0x0000 }, - { 0x9a00, 0x2724, 0x2000 }, - { 0x1a00, 0x2723, 0x0000 }, - { 0x1a00, 0x2725, 0x0000 }, - { 0x9a00, 0x272b, 0x3000 }, - { 0x9a00, 0x2729, 0x2000 }, - { 0x1a00, 0x2727, 0x0000 }, - { 0x1a00, 0x272a, 0x0000 }, - { 0x9a00, 0x272d, 0x2000 }, - { 0x1a00, 0x272c, 0x0000 }, - { 0x1a00, 0x272e, 0x0000 }, - { 0x9a00, 0x2737, 0x4000 }, - { 0x9a00, 0x2733, 0x3000 }, - { 0x9a00, 0x2731, 0x2000 }, - { 0x1a00, 0x2730, 0x0000 }, - { 0x1a00, 0x2732, 0x0000 }, - { 0x9a00, 0x2735, 0x2000 }, - { 0x1a00, 0x2734, 0x0000 }, - { 0x1a00, 0x2736, 0x0000 }, - { 0x9a00, 0x273b, 0x3000 }, - { 0x9a00, 0x2739, 0x2000 }, - { 0x1a00, 0x2738, 0x0000 }, - { 0x1a00, 0x273a, 0x0000 }, - { 0x9a00, 0x273d, 0x2000 }, - { 0x1a00, 0x273c, 0x0000 }, - { 0x1a00, 0x273e, 0x0000 }, - { 0x9a00, 0x2767, 0x6000 }, - { 0x9a00, 0x2751, 0x5000 }, - { 0x9a00, 0x2747, 0x4000 }, - { 0x9a00, 0x2743, 0x3000 }, - { 0x9a00, 0x2741, 0x2000 }, - { 0x1a00, 0x2740, 0x0000 }, - { 0x1a00, 0x2742, 0x0000 }, - { 0x9a00, 0x2745, 0x2000 }, - { 0x1a00, 0x2744, 0x0000 }, - { 0x1a00, 0x2746, 0x0000 }, - { 0x9a00, 0x274b, 0x3000 }, - { 0x9a00, 0x2749, 0x2000 }, - { 0x1a00, 0x2748, 0x0000 }, - { 0x1a00, 0x274a, 0x0000 }, - { 0x9a00, 0x274f, 0x2000 }, - { 0x1a00, 0x274d, 0x0000 }, - { 0x1a00, 0x2750, 0x0000 }, - { 0x9a00, 0x275d, 0x4000 }, - { 0x9a00, 0x2759, 0x3000 }, - { 0x9a00, 0x2756, 0x2000 }, - { 0x1a00, 0x2752, 0x0000 }, - { 0x1a00, 0x2758, 0x0000 }, - { 0x9a00, 0x275b, 0x2000 }, - { 0x1a00, 0x275a, 0x0000 }, - { 0x1a00, 0x275c, 0x0000 }, - { 0x9a00, 0x2763, 0x3000 }, - { 0x9a00, 0x2761, 0x2000 }, - { 0x1a00, 0x275e, 0x0000 }, - { 0x1a00, 0x2762, 0x0000 }, - { 0x9a00, 0x2765, 0x2000 }, - { 0x1a00, 0x2764, 0x0000 }, - { 0x1a00, 0x2766, 0x0000 }, - { 0x8f00, 0x2777, 0x5000 }, - { 0x9200, 0x276f, 0x4000 }, - { 0x9200, 0x276b, 0x3000 }, - { 0x9200, 0x2769, 0x2000 }, - { 0x1600, 0x2768, 0x0000 }, - { 0x1600, 0x276a, 0x0000 }, - { 0x9200, 0x276d, 0x2000 }, - { 0x1600, 0x276c, 0x0000 }, - { 0x1600, 0x276e, 0x0000 }, - { 0x9200, 0x2773, 0x3000 }, - { 0x9200, 0x2771, 0x2000 }, - { 0x1600, 0x2770, 0x0000 }, - { 0x1600, 0x2772, 0x0000 }, - { 0x9200, 0x2775, 0x2000 }, - { 0x1600, 0x2774, 0x0000 }, - { 0x0f00, 0x2776, 0x0000 }, - { 0x8f00, 0x277f, 0x4000 }, - { 0x8f00, 0x277b, 0x3000 }, - { 0x8f00, 0x2779, 0x2000 }, - { 0x0f00, 0x2778, 0x0000 }, - { 0x0f00, 0x277a, 0x0000 }, - { 0x8f00, 0x277d, 0x2000 }, - { 0x0f00, 0x277c, 0x0000 }, - { 0x0f00, 0x277e, 0x0000 }, - { 0x8f00, 0x2783, 0x3000 }, - { 0x8f00, 0x2781, 0x2000 }, - { 0x0f00, 0x2780, 0x0000 }, - { 0x0f00, 0x2782, 0x0000 }, - { 0x8f00, 0x2785, 0x2000 }, - { 0x0f00, 0x2784, 0x0000 }, - { 0x0f00, 0x2786, 0x0000 }, - { 0x9900, 0x29a0, 0xa000 }, - { 0x9a00, 0x28a0, 0x9000 }, - { 0x9a00, 0x2820, 0x8000 }, - { 0x9900, 0x27dc, 0x7000 }, - { 0x9a00, 0x27aa, 0x6000 }, - { 0x9a00, 0x279a, 0x5000 }, - { 0x8f00, 0x278f, 0x4000 }, - { 0x8f00, 0x278b, 0x3000 }, - { 0x8f00, 0x2789, 0x2000 }, - { 0x0f00, 0x2788, 0x0000 }, - { 0x0f00, 0x278a, 0x0000 }, - { 0x8f00, 0x278d, 0x2000 }, - { 0x0f00, 0x278c, 0x0000 }, - { 0x0f00, 0x278e, 0x0000 }, - { 0x8f00, 0x2793, 0x3000 }, - { 0x8f00, 0x2791, 0x2000 }, - { 0x0f00, 0x2790, 0x0000 }, - { 0x0f00, 0x2792, 0x0000 }, - { 0x9a00, 0x2798, 0x2000 }, - { 0x1a00, 0x2794, 0x0000 }, - { 0x1a00, 0x2799, 0x0000 }, - { 0x9a00, 0x27a2, 0x4000 }, - { 0x9a00, 0x279e, 0x3000 }, - { 0x9a00, 0x279c, 0x2000 }, - { 0x1a00, 0x279b, 0x0000 }, - { 0x1a00, 0x279d, 0x0000 }, - { 0x9a00, 0x27a0, 0x2000 }, - { 0x1a00, 0x279f, 0x0000 }, - { 0x1a00, 0x27a1, 0x0000 }, - { 0x9a00, 0x27a6, 0x3000 }, - { 0x9a00, 0x27a4, 0x2000 }, - { 0x1a00, 0x27a3, 0x0000 }, - { 0x1a00, 0x27a5, 0x0000 }, - { 0x9a00, 0x27a8, 0x2000 }, - { 0x1a00, 0x27a7, 0x0000 }, - { 0x1a00, 0x27a9, 0x0000 }, - { 0x9a00, 0x27bb, 0x5000 }, - { 0x9a00, 0x27b3, 0x4000 }, - { 0x9a00, 0x27ae, 0x3000 }, - { 0x9a00, 0x27ac, 0x2000 }, - { 0x1a00, 0x27ab, 0x0000 }, - { 0x1a00, 0x27ad, 0x0000 }, - { 0x9a00, 0x27b1, 0x2000 }, - { 0x1a00, 0x27af, 0x0000 }, - { 0x1a00, 0x27b2, 0x0000 }, - { 0x9a00, 0x27b7, 0x3000 }, - { 0x9a00, 0x27b5, 0x2000 }, - { 0x1a00, 0x27b4, 0x0000 }, - { 0x1a00, 0x27b6, 0x0000 }, - { 0x9a00, 0x27b9, 0x2000 }, - { 0x1a00, 0x27b8, 0x0000 }, - { 0x1a00, 0x27ba, 0x0000 }, - { 0x9900, 0x27d4, 0x4000 }, - { 0x9900, 0x27d0, 0x3000 }, - { 0x9a00, 0x27bd, 0x2000 }, - { 0x1a00, 0x27bc, 0x0000 }, - { 0x1a00, 0x27be, 0x0000 }, - { 0x9900, 0x27d2, 0x2000 }, - { 0x1900, 0x27d1, 0x0000 }, - { 0x1900, 0x27d3, 0x0000 }, - { 0x9900, 0x27d8, 0x3000 }, - { 0x9900, 0x27d6, 0x2000 }, - { 0x1900, 0x27d5, 0x0000 }, - { 0x1900, 0x27d7, 0x0000 }, - { 0x9900, 0x27da, 0x2000 }, - { 0x1900, 0x27d9, 0x0000 }, - { 0x1900, 0x27db, 0x0000 }, - { 0x9a00, 0x2800, 0x6000 }, - { 0x9900, 0x27f0, 0x5000 }, - { 0x9900, 0x27e4, 0x4000 }, - { 0x9900, 0x27e0, 0x3000 }, - { 0x9900, 0x27de, 0x2000 }, - { 0x1900, 0x27dd, 0x0000 }, - { 0x1900, 0x27df, 0x0000 }, - { 0x9900, 0x27e2, 0x2000 }, - { 0x1900, 0x27e1, 0x0000 }, - { 0x1900, 0x27e3, 0x0000 }, - { 0x9600, 0x27e8, 0x3000 }, - { 0x9600, 0x27e6, 0x2000 }, - { 0x1900, 0x27e5, 0x0000 }, - { 0x1200, 0x27e7, 0x0000 }, - { 0x9600, 0x27ea, 0x2000 }, - { 0x1200, 0x27e9, 0x0000 }, - { 0x1200, 0x27eb, 0x0000 }, - { 0x9900, 0x27f8, 0x4000 }, - { 0x9900, 0x27f4, 0x3000 }, - { 0x9900, 0x27f2, 0x2000 }, - { 0x1900, 0x27f1, 0x0000 }, - { 0x1900, 0x27f3, 0x0000 }, - { 0x9900, 0x27f6, 0x2000 }, - { 0x1900, 0x27f5, 0x0000 }, - { 0x1900, 0x27f7, 0x0000 }, - { 0x9900, 0x27fc, 0x3000 }, - { 0x9900, 0x27fa, 0x2000 }, - { 0x1900, 0x27f9, 0x0000 }, - { 0x1900, 0x27fb, 0x0000 }, - { 0x9900, 0x27fe, 0x2000 }, - { 0x1900, 0x27fd, 0x0000 }, - { 0x1900, 0x27ff, 0x0000 }, - { 0x9a00, 0x2810, 0x5000 }, - { 0x9a00, 0x2808, 0x4000 }, - { 0x9a00, 0x2804, 0x3000 }, - { 0x9a00, 0x2802, 0x2000 }, - { 0x1a00, 0x2801, 0x0000 }, - { 0x1a00, 0x2803, 0x0000 }, - { 0x9a00, 0x2806, 0x2000 }, - { 0x1a00, 0x2805, 0x0000 }, - { 0x1a00, 0x2807, 0x0000 }, - { 0x9a00, 0x280c, 0x3000 }, - { 0x9a00, 0x280a, 0x2000 }, - { 0x1a00, 0x2809, 0x0000 }, - { 0x1a00, 0x280b, 0x0000 }, - { 0x9a00, 0x280e, 0x2000 }, - { 0x1a00, 0x280d, 0x0000 }, - { 0x1a00, 0x280f, 0x0000 }, - { 0x9a00, 0x2818, 0x4000 }, - { 0x9a00, 0x2814, 0x3000 }, - { 0x9a00, 0x2812, 0x2000 }, - { 0x1a00, 0x2811, 0x0000 }, - { 0x1a00, 0x2813, 0x0000 }, - { 0x9a00, 0x2816, 0x2000 }, - { 0x1a00, 0x2815, 0x0000 }, - { 0x1a00, 0x2817, 0x0000 }, - { 0x9a00, 0x281c, 0x3000 }, - { 0x9a00, 0x281a, 0x2000 }, - { 0x1a00, 0x2819, 0x0000 }, - { 0x1a00, 0x281b, 0x0000 }, - { 0x9a00, 0x281e, 0x2000 }, - { 0x1a00, 0x281d, 0x0000 }, - { 0x1a00, 0x281f, 0x0000 }, - { 0x9a00, 0x2860, 0x7000 }, - { 0x9a00, 0x2840, 0x6000 }, - { 0x9a00, 0x2830, 0x5000 }, - { 0x9a00, 0x2828, 0x4000 }, - { 0x9a00, 0x2824, 0x3000 }, - { 0x9a00, 0x2822, 0x2000 }, - { 0x1a00, 0x2821, 0x0000 }, - { 0x1a00, 0x2823, 0x0000 }, - { 0x9a00, 0x2826, 0x2000 }, - { 0x1a00, 0x2825, 0x0000 }, - { 0x1a00, 0x2827, 0x0000 }, - { 0x9a00, 0x282c, 0x3000 }, - { 0x9a00, 0x282a, 0x2000 }, - { 0x1a00, 0x2829, 0x0000 }, - { 0x1a00, 0x282b, 0x0000 }, - { 0x9a00, 0x282e, 0x2000 }, - { 0x1a00, 0x282d, 0x0000 }, - { 0x1a00, 0x282f, 0x0000 }, - { 0x9a00, 0x2838, 0x4000 }, - { 0x9a00, 0x2834, 0x3000 }, - { 0x9a00, 0x2832, 0x2000 }, - { 0x1a00, 0x2831, 0x0000 }, - { 0x1a00, 0x2833, 0x0000 }, - { 0x9a00, 0x2836, 0x2000 }, - { 0x1a00, 0x2835, 0x0000 }, - { 0x1a00, 0x2837, 0x0000 }, - { 0x9a00, 0x283c, 0x3000 }, - { 0x9a00, 0x283a, 0x2000 }, - { 0x1a00, 0x2839, 0x0000 }, - { 0x1a00, 0x283b, 0x0000 }, - { 0x9a00, 0x283e, 0x2000 }, - { 0x1a00, 0x283d, 0x0000 }, - { 0x1a00, 0x283f, 0x0000 }, - { 0x9a00, 0x2850, 0x5000 }, - { 0x9a00, 0x2848, 0x4000 }, - { 0x9a00, 0x2844, 0x3000 }, - { 0x9a00, 0x2842, 0x2000 }, - { 0x1a00, 0x2841, 0x0000 }, - { 0x1a00, 0x2843, 0x0000 }, - { 0x9a00, 0x2846, 0x2000 }, - { 0x1a00, 0x2845, 0x0000 }, - { 0x1a00, 0x2847, 0x0000 }, - { 0x9a00, 0x284c, 0x3000 }, - { 0x9a00, 0x284a, 0x2000 }, - { 0x1a00, 0x2849, 0x0000 }, - { 0x1a00, 0x284b, 0x0000 }, - { 0x9a00, 0x284e, 0x2000 }, - { 0x1a00, 0x284d, 0x0000 }, - { 0x1a00, 0x284f, 0x0000 }, - { 0x9a00, 0x2858, 0x4000 }, - { 0x9a00, 0x2854, 0x3000 }, - { 0x9a00, 0x2852, 0x2000 }, - { 0x1a00, 0x2851, 0x0000 }, - { 0x1a00, 0x2853, 0x0000 }, - { 0x9a00, 0x2856, 0x2000 }, - { 0x1a00, 0x2855, 0x0000 }, - { 0x1a00, 0x2857, 0x0000 }, - { 0x9a00, 0x285c, 0x3000 }, - { 0x9a00, 0x285a, 0x2000 }, - { 0x1a00, 0x2859, 0x0000 }, - { 0x1a00, 0x285b, 0x0000 }, - { 0x9a00, 0x285e, 0x2000 }, - { 0x1a00, 0x285d, 0x0000 }, - { 0x1a00, 0x285f, 0x0000 }, - { 0x9a00, 0x2880, 0x6000 }, - { 0x9a00, 0x2870, 0x5000 }, - { 0x9a00, 0x2868, 0x4000 }, - { 0x9a00, 0x2864, 0x3000 }, - { 0x9a00, 0x2862, 0x2000 }, - { 0x1a00, 0x2861, 0x0000 }, - { 0x1a00, 0x2863, 0x0000 }, - { 0x9a00, 0x2866, 0x2000 }, - { 0x1a00, 0x2865, 0x0000 }, - { 0x1a00, 0x2867, 0x0000 }, - { 0x9a00, 0x286c, 0x3000 }, - { 0x9a00, 0x286a, 0x2000 }, - { 0x1a00, 0x2869, 0x0000 }, - { 0x1a00, 0x286b, 0x0000 }, - { 0x9a00, 0x286e, 0x2000 }, - { 0x1a00, 0x286d, 0x0000 }, - { 0x1a00, 0x286f, 0x0000 }, - { 0x9a00, 0x2878, 0x4000 }, - { 0x9a00, 0x2874, 0x3000 }, - { 0x9a00, 0x2872, 0x2000 }, - { 0x1a00, 0x2871, 0x0000 }, - { 0x1a00, 0x2873, 0x0000 }, - { 0x9a00, 0x2876, 0x2000 }, - { 0x1a00, 0x2875, 0x0000 }, - { 0x1a00, 0x2877, 0x0000 }, - { 0x9a00, 0x287c, 0x3000 }, - { 0x9a00, 0x287a, 0x2000 }, - { 0x1a00, 0x2879, 0x0000 }, - { 0x1a00, 0x287b, 0x0000 }, - { 0x9a00, 0x287e, 0x2000 }, - { 0x1a00, 0x287d, 0x0000 }, - { 0x1a00, 0x287f, 0x0000 }, - { 0x9a00, 0x2890, 0x5000 }, - { 0x9a00, 0x2888, 0x4000 }, - { 0x9a00, 0x2884, 0x3000 }, - { 0x9a00, 0x2882, 0x2000 }, - { 0x1a00, 0x2881, 0x0000 }, - { 0x1a00, 0x2883, 0x0000 }, - { 0x9a00, 0x2886, 0x2000 }, - { 0x1a00, 0x2885, 0x0000 }, - { 0x1a00, 0x2887, 0x0000 }, - { 0x9a00, 0x288c, 0x3000 }, - { 0x9a00, 0x288a, 0x2000 }, - { 0x1a00, 0x2889, 0x0000 }, - { 0x1a00, 0x288b, 0x0000 }, - { 0x9a00, 0x288e, 0x2000 }, - { 0x1a00, 0x288d, 0x0000 }, - { 0x1a00, 0x288f, 0x0000 }, - { 0x9a00, 0x2898, 0x4000 }, - { 0x9a00, 0x2894, 0x3000 }, - { 0x9a00, 0x2892, 0x2000 }, - { 0x1a00, 0x2891, 0x0000 }, - { 0x1a00, 0x2893, 0x0000 }, - { 0x9a00, 0x2896, 0x2000 }, - { 0x1a00, 0x2895, 0x0000 }, - { 0x1a00, 0x2897, 0x0000 }, - { 0x9a00, 0x289c, 0x3000 }, - { 0x9a00, 0x289a, 0x2000 }, - { 0x1a00, 0x2899, 0x0000 }, - { 0x1a00, 0x289b, 0x0000 }, - { 0x9a00, 0x289e, 0x2000 }, - { 0x1a00, 0x289d, 0x0000 }, - { 0x1a00, 0x289f, 0x0000 }, - { 0x9900, 0x2920, 0x8000 }, - { 0x9a00, 0x28e0, 0x7000 }, - { 0x9a00, 0x28c0, 0x6000 }, - { 0x9a00, 0x28b0, 0x5000 }, - { 0x9a00, 0x28a8, 0x4000 }, - { 0x9a00, 0x28a4, 0x3000 }, - { 0x9a00, 0x28a2, 0x2000 }, - { 0x1a00, 0x28a1, 0x0000 }, - { 0x1a00, 0x28a3, 0x0000 }, - { 0x9a00, 0x28a6, 0x2000 }, - { 0x1a00, 0x28a5, 0x0000 }, - { 0x1a00, 0x28a7, 0x0000 }, - { 0x9a00, 0x28ac, 0x3000 }, - { 0x9a00, 0x28aa, 0x2000 }, - { 0x1a00, 0x28a9, 0x0000 }, - { 0x1a00, 0x28ab, 0x0000 }, - { 0x9a00, 0x28ae, 0x2000 }, - { 0x1a00, 0x28ad, 0x0000 }, - { 0x1a00, 0x28af, 0x0000 }, - { 0x9a00, 0x28b8, 0x4000 }, - { 0x9a00, 0x28b4, 0x3000 }, - { 0x9a00, 0x28b2, 0x2000 }, - { 0x1a00, 0x28b1, 0x0000 }, - { 0x1a00, 0x28b3, 0x0000 }, - { 0x9a00, 0x28b6, 0x2000 }, - { 0x1a00, 0x28b5, 0x0000 }, - { 0x1a00, 0x28b7, 0x0000 }, - { 0x9a00, 0x28bc, 0x3000 }, - { 0x9a00, 0x28ba, 0x2000 }, - { 0x1a00, 0x28b9, 0x0000 }, - { 0x1a00, 0x28bb, 0x0000 }, - { 0x9a00, 0x28be, 0x2000 }, - { 0x1a00, 0x28bd, 0x0000 }, - { 0x1a00, 0x28bf, 0x0000 }, - { 0x9a00, 0x28d0, 0x5000 }, - { 0x9a00, 0x28c8, 0x4000 }, - { 0x9a00, 0x28c4, 0x3000 }, - { 0x9a00, 0x28c2, 0x2000 }, - { 0x1a00, 0x28c1, 0x0000 }, - { 0x1a00, 0x28c3, 0x0000 }, - { 0x9a00, 0x28c6, 0x2000 }, - { 0x1a00, 0x28c5, 0x0000 }, - { 0x1a00, 0x28c7, 0x0000 }, - { 0x9a00, 0x28cc, 0x3000 }, - { 0x9a00, 0x28ca, 0x2000 }, - { 0x1a00, 0x28c9, 0x0000 }, - { 0x1a00, 0x28cb, 0x0000 }, - { 0x9a00, 0x28ce, 0x2000 }, - { 0x1a00, 0x28cd, 0x0000 }, - { 0x1a00, 0x28cf, 0x0000 }, - { 0x9a00, 0x28d8, 0x4000 }, - { 0x9a00, 0x28d4, 0x3000 }, - { 0x9a00, 0x28d2, 0x2000 }, - { 0x1a00, 0x28d1, 0x0000 }, - { 0x1a00, 0x28d3, 0x0000 }, - { 0x9a00, 0x28d6, 0x2000 }, - { 0x1a00, 0x28d5, 0x0000 }, - { 0x1a00, 0x28d7, 0x0000 }, - { 0x9a00, 0x28dc, 0x3000 }, - { 0x9a00, 0x28da, 0x2000 }, - { 0x1a00, 0x28d9, 0x0000 }, - { 0x1a00, 0x28db, 0x0000 }, - { 0x9a00, 0x28de, 0x2000 }, - { 0x1a00, 0x28dd, 0x0000 }, - { 0x1a00, 0x28df, 0x0000 }, - { 0x9900, 0x2900, 0x6000 }, - { 0x9a00, 0x28f0, 0x5000 }, - { 0x9a00, 0x28e8, 0x4000 }, - { 0x9a00, 0x28e4, 0x3000 }, - { 0x9a00, 0x28e2, 0x2000 }, - { 0x1a00, 0x28e1, 0x0000 }, - { 0x1a00, 0x28e3, 0x0000 }, - { 0x9a00, 0x28e6, 0x2000 }, - { 0x1a00, 0x28e5, 0x0000 }, - { 0x1a00, 0x28e7, 0x0000 }, - { 0x9a00, 0x28ec, 0x3000 }, - { 0x9a00, 0x28ea, 0x2000 }, - { 0x1a00, 0x28e9, 0x0000 }, - { 0x1a00, 0x28eb, 0x0000 }, - { 0x9a00, 0x28ee, 0x2000 }, - { 0x1a00, 0x28ed, 0x0000 }, - { 0x1a00, 0x28ef, 0x0000 }, - { 0x9a00, 0x28f8, 0x4000 }, - { 0x9a00, 0x28f4, 0x3000 }, - { 0x9a00, 0x28f2, 0x2000 }, - { 0x1a00, 0x28f1, 0x0000 }, - { 0x1a00, 0x28f3, 0x0000 }, - { 0x9a00, 0x28f6, 0x2000 }, - { 0x1a00, 0x28f5, 0x0000 }, - { 0x1a00, 0x28f7, 0x0000 }, - { 0x9a00, 0x28fc, 0x3000 }, - { 0x9a00, 0x28fa, 0x2000 }, - { 0x1a00, 0x28f9, 0x0000 }, - { 0x1a00, 0x28fb, 0x0000 }, - { 0x9a00, 0x28fe, 0x2000 }, - { 0x1a00, 0x28fd, 0x0000 }, - { 0x1a00, 0x28ff, 0x0000 }, - { 0x9900, 0x2910, 0x5000 }, - { 0x9900, 0x2908, 0x4000 }, - { 0x9900, 0x2904, 0x3000 }, - { 0x9900, 0x2902, 0x2000 }, - { 0x1900, 0x2901, 0x0000 }, - { 0x1900, 0x2903, 0x0000 }, - { 0x9900, 0x2906, 0x2000 }, - { 0x1900, 0x2905, 0x0000 }, - { 0x1900, 0x2907, 0x0000 }, - { 0x9900, 0x290c, 0x3000 }, - { 0x9900, 0x290a, 0x2000 }, - { 0x1900, 0x2909, 0x0000 }, - { 0x1900, 0x290b, 0x0000 }, - { 0x9900, 0x290e, 0x2000 }, - { 0x1900, 0x290d, 0x0000 }, - { 0x1900, 0x290f, 0x0000 }, - { 0x9900, 0x2918, 0x4000 }, - { 0x9900, 0x2914, 0x3000 }, - { 0x9900, 0x2912, 0x2000 }, - { 0x1900, 0x2911, 0x0000 }, - { 0x1900, 0x2913, 0x0000 }, - { 0x9900, 0x2916, 0x2000 }, - { 0x1900, 0x2915, 0x0000 }, - { 0x1900, 0x2917, 0x0000 }, - { 0x9900, 0x291c, 0x3000 }, - { 0x9900, 0x291a, 0x2000 }, - { 0x1900, 0x2919, 0x0000 }, - { 0x1900, 0x291b, 0x0000 }, - { 0x9900, 0x291e, 0x2000 }, - { 0x1900, 0x291d, 0x0000 }, - { 0x1900, 0x291f, 0x0000 }, - { 0x9900, 0x2960, 0x7000 }, - { 0x9900, 0x2940, 0x6000 }, - { 0x9900, 0x2930, 0x5000 }, - { 0x9900, 0x2928, 0x4000 }, - { 0x9900, 0x2924, 0x3000 }, - { 0x9900, 0x2922, 0x2000 }, - { 0x1900, 0x2921, 0x0000 }, - { 0x1900, 0x2923, 0x0000 }, - { 0x9900, 0x2926, 0x2000 }, - { 0x1900, 0x2925, 0x0000 }, - { 0x1900, 0x2927, 0x0000 }, - { 0x9900, 0x292c, 0x3000 }, - { 0x9900, 0x292a, 0x2000 }, - { 0x1900, 0x2929, 0x0000 }, - { 0x1900, 0x292b, 0x0000 }, - { 0x9900, 0x292e, 0x2000 }, - { 0x1900, 0x292d, 0x0000 }, - { 0x1900, 0x292f, 0x0000 }, - { 0x9900, 0x2938, 0x4000 }, - { 0x9900, 0x2934, 0x3000 }, - { 0x9900, 0x2932, 0x2000 }, - { 0x1900, 0x2931, 0x0000 }, - { 0x1900, 0x2933, 0x0000 }, - { 0x9900, 0x2936, 0x2000 }, - { 0x1900, 0x2935, 0x0000 }, - { 0x1900, 0x2937, 0x0000 }, - { 0x9900, 0x293c, 0x3000 }, - { 0x9900, 0x293a, 0x2000 }, - { 0x1900, 0x2939, 0x0000 }, - { 0x1900, 0x293b, 0x0000 }, - { 0x9900, 0x293e, 0x2000 }, - { 0x1900, 0x293d, 0x0000 }, - { 0x1900, 0x293f, 0x0000 }, - { 0x9900, 0x2950, 0x5000 }, - { 0x9900, 0x2948, 0x4000 }, - { 0x9900, 0x2944, 0x3000 }, - { 0x9900, 0x2942, 0x2000 }, - { 0x1900, 0x2941, 0x0000 }, - { 0x1900, 0x2943, 0x0000 }, - { 0x9900, 0x2946, 0x2000 }, - { 0x1900, 0x2945, 0x0000 }, - { 0x1900, 0x2947, 0x0000 }, - { 0x9900, 0x294c, 0x3000 }, - { 0x9900, 0x294a, 0x2000 }, - { 0x1900, 0x2949, 0x0000 }, - { 0x1900, 0x294b, 0x0000 }, - { 0x9900, 0x294e, 0x2000 }, - { 0x1900, 0x294d, 0x0000 }, - { 0x1900, 0x294f, 0x0000 }, - { 0x9900, 0x2958, 0x4000 }, - { 0x9900, 0x2954, 0x3000 }, - { 0x9900, 0x2952, 0x2000 }, - { 0x1900, 0x2951, 0x0000 }, - { 0x1900, 0x2953, 0x0000 }, - { 0x9900, 0x2956, 0x2000 }, - { 0x1900, 0x2955, 0x0000 }, - { 0x1900, 0x2957, 0x0000 }, - { 0x9900, 0x295c, 0x3000 }, - { 0x9900, 0x295a, 0x2000 }, - { 0x1900, 0x2959, 0x0000 }, - { 0x1900, 0x295b, 0x0000 }, - { 0x9900, 0x295e, 0x2000 }, - { 0x1900, 0x295d, 0x0000 }, - { 0x1900, 0x295f, 0x0000 }, - { 0x9900, 0x2980, 0x6000 }, - { 0x9900, 0x2970, 0x5000 }, - { 0x9900, 0x2968, 0x4000 }, - { 0x9900, 0x2964, 0x3000 }, - { 0x9900, 0x2962, 0x2000 }, - { 0x1900, 0x2961, 0x0000 }, - { 0x1900, 0x2963, 0x0000 }, - { 0x9900, 0x2966, 0x2000 }, - { 0x1900, 0x2965, 0x0000 }, - { 0x1900, 0x2967, 0x0000 }, - { 0x9900, 0x296c, 0x3000 }, - { 0x9900, 0x296a, 0x2000 }, - { 0x1900, 0x2969, 0x0000 }, - { 0x1900, 0x296b, 0x0000 }, - { 0x9900, 0x296e, 0x2000 }, - { 0x1900, 0x296d, 0x0000 }, - { 0x1900, 0x296f, 0x0000 }, - { 0x9900, 0x2978, 0x4000 }, - { 0x9900, 0x2974, 0x3000 }, - { 0x9900, 0x2972, 0x2000 }, - { 0x1900, 0x2971, 0x0000 }, - { 0x1900, 0x2973, 0x0000 }, - { 0x9900, 0x2976, 0x2000 }, - { 0x1900, 0x2975, 0x0000 }, - { 0x1900, 0x2977, 0x0000 }, - { 0x9900, 0x297c, 0x3000 }, - { 0x9900, 0x297a, 0x2000 }, - { 0x1900, 0x2979, 0x0000 }, - { 0x1900, 0x297b, 0x0000 }, - { 0x9900, 0x297e, 0x2000 }, - { 0x1900, 0x297d, 0x0000 }, - { 0x1900, 0x297f, 0x0000 }, - { 0x9200, 0x2990, 0x5000 }, - { 0x9200, 0x2988, 0x4000 }, - { 0x9200, 0x2984, 0x3000 }, - { 0x9900, 0x2982, 0x2000 }, - { 0x1900, 0x2981, 0x0000 }, - { 0x1600, 0x2983, 0x0000 }, - { 0x9200, 0x2986, 0x2000 }, - { 0x1600, 0x2985, 0x0000 }, - { 0x1600, 0x2987, 0x0000 }, - { 0x9200, 0x298c, 0x3000 }, - { 0x9200, 0x298a, 0x2000 }, - { 0x1600, 0x2989, 0x0000 }, - { 0x1600, 0x298b, 0x0000 }, - { 0x9200, 0x298e, 0x2000 }, - { 0x1600, 0x298d, 0x0000 }, - { 0x1600, 0x298f, 0x0000 }, - { 0x9200, 0x2998, 0x4000 }, - { 0x9200, 0x2994, 0x3000 }, - { 0x9200, 0x2992, 0x2000 }, - { 0x1600, 0x2991, 0x0000 }, - { 0x1600, 0x2993, 0x0000 }, - { 0x9200, 0x2996, 0x2000 }, - { 0x1600, 0x2995, 0x0000 }, - { 0x1600, 0x2997, 0x0000 }, - { 0x9900, 0x299c, 0x3000 }, - { 0x9900, 0x299a, 0x2000 }, - { 0x1900, 0x2999, 0x0000 }, - { 0x1900, 0x299b, 0x0000 }, - { 0x9900, 0x299e, 0x2000 }, - { 0x1900, 0x299d, 0x0000 }, - { 0x1900, 0x299f, 0x0000 }, - { 0x9900, 0x2aa0, 0x9000 }, - { 0x9900, 0x2a20, 0x8000 }, - { 0x9900, 0x29e0, 0x7000 }, - { 0x9900, 0x29c0, 0x6000 }, - { 0x9900, 0x29b0, 0x5000 }, - { 0x9900, 0x29a8, 0x4000 }, - { 0x9900, 0x29a4, 0x3000 }, - { 0x9900, 0x29a2, 0x2000 }, - { 0x1900, 0x29a1, 0x0000 }, - { 0x1900, 0x29a3, 0x0000 }, - { 0x9900, 0x29a6, 0x2000 }, - { 0x1900, 0x29a5, 0x0000 }, - { 0x1900, 0x29a7, 0x0000 }, - { 0x9900, 0x29ac, 0x3000 }, - { 0x9900, 0x29aa, 0x2000 }, - { 0x1900, 0x29a9, 0x0000 }, - { 0x1900, 0x29ab, 0x0000 }, - { 0x9900, 0x29ae, 0x2000 }, - { 0x1900, 0x29ad, 0x0000 }, - { 0x1900, 0x29af, 0x0000 }, - { 0x9900, 0x29b8, 0x4000 }, - { 0x9900, 0x29b4, 0x3000 }, - { 0x9900, 0x29b2, 0x2000 }, - { 0x1900, 0x29b1, 0x0000 }, - { 0x1900, 0x29b3, 0x0000 }, - { 0x9900, 0x29b6, 0x2000 }, - { 0x1900, 0x29b5, 0x0000 }, - { 0x1900, 0x29b7, 0x0000 }, - { 0x9900, 0x29bc, 0x3000 }, - { 0x9900, 0x29ba, 0x2000 }, - { 0x1900, 0x29b9, 0x0000 }, - { 0x1900, 0x29bb, 0x0000 }, - { 0x9900, 0x29be, 0x2000 }, - { 0x1900, 0x29bd, 0x0000 }, - { 0x1900, 0x29bf, 0x0000 }, - { 0x9900, 0x29d0, 0x5000 }, - { 0x9900, 0x29c8, 0x4000 }, - { 0x9900, 0x29c4, 0x3000 }, - { 0x9900, 0x29c2, 0x2000 }, - { 0x1900, 0x29c1, 0x0000 }, - { 0x1900, 0x29c3, 0x0000 }, - { 0x9900, 0x29c6, 0x2000 }, - { 0x1900, 0x29c5, 0x0000 }, - { 0x1900, 0x29c7, 0x0000 }, - { 0x9900, 0x29cc, 0x3000 }, - { 0x9900, 0x29ca, 0x2000 }, - { 0x1900, 0x29c9, 0x0000 }, - { 0x1900, 0x29cb, 0x0000 }, - { 0x9900, 0x29ce, 0x2000 }, - { 0x1900, 0x29cd, 0x0000 }, - { 0x1900, 0x29cf, 0x0000 }, - { 0x9600, 0x29d8, 0x4000 }, - { 0x9900, 0x29d4, 0x3000 }, - { 0x9900, 0x29d2, 0x2000 }, - { 0x1900, 0x29d1, 0x0000 }, - { 0x1900, 0x29d3, 0x0000 }, - { 0x9900, 0x29d6, 0x2000 }, - { 0x1900, 0x29d5, 0x0000 }, - { 0x1900, 0x29d7, 0x0000 }, - { 0x9900, 0x29dc, 0x3000 }, - { 0x9600, 0x29da, 0x2000 }, - { 0x1200, 0x29d9, 0x0000 }, - { 0x1200, 0x29db, 0x0000 }, - { 0x9900, 0x29de, 0x2000 }, - { 0x1900, 0x29dd, 0x0000 }, - { 0x1900, 0x29df, 0x0000 }, - { 0x9900, 0x2a00, 0x6000 }, - { 0x9900, 0x29f0, 0x5000 }, - { 0x9900, 0x29e8, 0x4000 }, - { 0x9900, 0x29e4, 0x3000 }, - { 0x9900, 0x29e2, 0x2000 }, - { 0x1900, 0x29e1, 0x0000 }, - { 0x1900, 0x29e3, 0x0000 }, - { 0x9900, 0x29e6, 0x2000 }, - { 0x1900, 0x29e5, 0x0000 }, - { 0x1900, 0x29e7, 0x0000 }, - { 0x9900, 0x29ec, 0x3000 }, - { 0x9900, 0x29ea, 0x2000 }, - { 0x1900, 0x29e9, 0x0000 }, - { 0x1900, 0x29eb, 0x0000 }, - { 0x9900, 0x29ee, 0x2000 }, - { 0x1900, 0x29ed, 0x0000 }, - { 0x1900, 0x29ef, 0x0000 }, - { 0x9900, 0x29f8, 0x4000 }, - { 0x9900, 0x29f4, 0x3000 }, - { 0x9900, 0x29f2, 0x2000 }, - { 0x1900, 0x29f1, 0x0000 }, - { 0x1900, 0x29f3, 0x0000 }, - { 0x9900, 0x29f6, 0x2000 }, - { 0x1900, 0x29f5, 0x0000 }, - { 0x1900, 0x29f7, 0x0000 }, - { 0x9600, 0x29fc, 0x3000 }, - { 0x9900, 0x29fa, 0x2000 }, - { 0x1900, 0x29f9, 0x0000 }, - { 0x1900, 0x29fb, 0x0000 }, - { 0x9900, 0x29fe, 0x2000 }, - { 0x1200, 0x29fd, 0x0000 }, - { 0x1900, 0x29ff, 0x0000 }, - { 0x9900, 0x2a10, 0x5000 }, - { 0x9900, 0x2a08, 0x4000 }, - { 0x9900, 0x2a04, 0x3000 }, - { 0x9900, 0x2a02, 0x2000 }, - { 0x1900, 0x2a01, 0x0000 }, - { 0x1900, 0x2a03, 0x0000 }, - { 0x9900, 0x2a06, 0x2000 }, - { 0x1900, 0x2a05, 0x0000 }, - { 0x1900, 0x2a07, 0x0000 }, - { 0x9900, 0x2a0c, 0x3000 }, - { 0x9900, 0x2a0a, 0x2000 }, - { 0x1900, 0x2a09, 0x0000 }, - { 0x1900, 0x2a0b, 0x0000 }, - { 0x9900, 0x2a0e, 0x2000 }, - { 0x1900, 0x2a0d, 0x0000 }, - { 0x1900, 0x2a0f, 0x0000 }, - { 0x9900, 0x2a18, 0x4000 }, - { 0x9900, 0x2a14, 0x3000 }, - { 0x9900, 0x2a12, 0x2000 }, - { 0x1900, 0x2a11, 0x0000 }, - { 0x1900, 0x2a13, 0x0000 }, - { 0x9900, 0x2a16, 0x2000 }, - { 0x1900, 0x2a15, 0x0000 }, - { 0x1900, 0x2a17, 0x0000 }, - { 0x9900, 0x2a1c, 0x3000 }, - { 0x9900, 0x2a1a, 0x2000 }, - { 0x1900, 0x2a19, 0x0000 }, - { 0x1900, 0x2a1b, 0x0000 }, - { 0x9900, 0x2a1e, 0x2000 }, - { 0x1900, 0x2a1d, 0x0000 }, - { 0x1900, 0x2a1f, 0x0000 }, - { 0x9900, 0x2a60, 0x7000 }, - { 0x9900, 0x2a40, 0x6000 }, - { 0x9900, 0x2a30, 0x5000 }, - { 0x9900, 0x2a28, 0x4000 }, - { 0x9900, 0x2a24, 0x3000 }, - { 0x9900, 0x2a22, 0x2000 }, - { 0x1900, 0x2a21, 0x0000 }, - { 0x1900, 0x2a23, 0x0000 }, - { 0x9900, 0x2a26, 0x2000 }, - { 0x1900, 0x2a25, 0x0000 }, - { 0x1900, 0x2a27, 0x0000 }, - { 0x9900, 0x2a2c, 0x3000 }, - { 0x9900, 0x2a2a, 0x2000 }, - { 0x1900, 0x2a29, 0x0000 }, - { 0x1900, 0x2a2b, 0x0000 }, - { 0x9900, 0x2a2e, 0x2000 }, - { 0x1900, 0x2a2d, 0x0000 }, - { 0x1900, 0x2a2f, 0x0000 }, - { 0x9900, 0x2a38, 0x4000 }, - { 0x9900, 0x2a34, 0x3000 }, - { 0x9900, 0x2a32, 0x2000 }, - { 0x1900, 0x2a31, 0x0000 }, - { 0x1900, 0x2a33, 0x0000 }, - { 0x9900, 0x2a36, 0x2000 }, - { 0x1900, 0x2a35, 0x0000 }, - { 0x1900, 0x2a37, 0x0000 }, - { 0x9900, 0x2a3c, 0x3000 }, - { 0x9900, 0x2a3a, 0x2000 }, - { 0x1900, 0x2a39, 0x0000 }, - { 0x1900, 0x2a3b, 0x0000 }, - { 0x9900, 0x2a3e, 0x2000 }, - { 0x1900, 0x2a3d, 0x0000 }, - { 0x1900, 0x2a3f, 0x0000 }, - { 0x9900, 0x2a50, 0x5000 }, - { 0x9900, 0x2a48, 0x4000 }, - { 0x9900, 0x2a44, 0x3000 }, - { 0x9900, 0x2a42, 0x2000 }, - { 0x1900, 0x2a41, 0x0000 }, - { 0x1900, 0x2a43, 0x0000 }, - { 0x9900, 0x2a46, 0x2000 }, - { 0x1900, 0x2a45, 0x0000 }, - { 0x1900, 0x2a47, 0x0000 }, - { 0x9900, 0x2a4c, 0x3000 }, - { 0x9900, 0x2a4a, 0x2000 }, - { 0x1900, 0x2a49, 0x0000 }, - { 0x1900, 0x2a4b, 0x0000 }, - { 0x9900, 0x2a4e, 0x2000 }, - { 0x1900, 0x2a4d, 0x0000 }, - { 0x1900, 0x2a4f, 0x0000 }, - { 0x9900, 0x2a58, 0x4000 }, - { 0x9900, 0x2a54, 0x3000 }, - { 0x9900, 0x2a52, 0x2000 }, - { 0x1900, 0x2a51, 0x0000 }, - { 0x1900, 0x2a53, 0x0000 }, - { 0x9900, 0x2a56, 0x2000 }, - { 0x1900, 0x2a55, 0x0000 }, - { 0x1900, 0x2a57, 0x0000 }, - { 0x9900, 0x2a5c, 0x3000 }, - { 0x9900, 0x2a5a, 0x2000 }, - { 0x1900, 0x2a59, 0x0000 }, - { 0x1900, 0x2a5b, 0x0000 }, - { 0x9900, 0x2a5e, 0x2000 }, - { 0x1900, 0x2a5d, 0x0000 }, - { 0x1900, 0x2a5f, 0x0000 }, - { 0x9900, 0x2a80, 0x6000 }, - { 0x9900, 0x2a70, 0x5000 }, - { 0x9900, 0x2a68, 0x4000 }, - { 0x9900, 0x2a64, 0x3000 }, - { 0x9900, 0x2a62, 0x2000 }, - { 0x1900, 0x2a61, 0x0000 }, - { 0x1900, 0x2a63, 0x0000 }, - { 0x9900, 0x2a66, 0x2000 }, - { 0x1900, 0x2a65, 0x0000 }, - { 0x1900, 0x2a67, 0x0000 }, - { 0x9900, 0x2a6c, 0x3000 }, - { 0x9900, 0x2a6a, 0x2000 }, - { 0x1900, 0x2a69, 0x0000 }, - { 0x1900, 0x2a6b, 0x0000 }, - { 0x9900, 0x2a6e, 0x2000 }, - { 0x1900, 0x2a6d, 0x0000 }, - { 0x1900, 0x2a6f, 0x0000 }, - { 0x9900, 0x2a78, 0x4000 }, - { 0x9900, 0x2a74, 0x3000 }, - { 0x9900, 0x2a72, 0x2000 }, - { 0x1900, 0x2a71, 0x0000 }, - { 0x1900, 0x2a73, 0x0000 }, - { 0x9900, 0x2a76, 0x2000 }, - { 0x1900, 0x2a75, 0x0000 }, - { 0x1900, 0x2a77, 0x0000 }, - { 0x9900, 0x2a7c, 0x3000 }, - { 0x9900, 0x2a7a, 0x2000 }, - { 0x1900, 0x2a79, 0x0000 }, - { 0x1900, 0x2a7b, 0x0000 }, - { 0x9900, 0x2a7e, 0x2000 }, - { 0x1900, 0x2a7d, 0x0000 }, - { 0x1900, 0x2a7f, 0x0000 }, - { 0x9900, 0x2a90, 0x5000 }, - { 0x9900, 0x2a88, 0x4000 }, - { 0x9900, 0x2a84, 0x3000 }, - { 0x9900, 0x2a82, 0x2000 }, - { 0x1900, 0x2a81, 0x0000 }, - { 0x1900, 0x2a83, 0x0000 }, - { 0x9900, 0x2a86, 0x2000 }, - { 0x1900, 0x2a85, 0x0000 }, - { 0x1900, 0x2a87, 0x0000 }, - { 0x9900, 0x2a8c, 0x3000 }, - { 0x9900, 0x2a8a, 0x2000 }, - { 0x1900, 0x2a89, 0x0000 }, - { 0x1900, 0x2a8b, 0x0000 }, - { 0x9900, 0x2a8e, 0x2000 }, - { 0x1900, 0x2a8d, 0x0000 }, - { 0x1900, 0x2a8f, 0x0000 }, - { 0x9900, 0x2a98, 0x4000 }, - { 0x9900, 0x2a94, 0x3000 }, - { 0x9900, 0x2a92, 0x2000 }, - { 0x1900, 0x2a91, 0x0000 }, - { 0x1900, 0x2a93, 0x0000 }, - { 0x9900, 0x2a96, 0x2000 }, - { 0x1900, 0x2a95, 0x0000 }, - { 0x1900, 0x2a97, 0x0000 }, - { 0x9900, 0x2a9c, 0x3000 }, - { 0x9900, 0x2a9a, 0x2000 }, - { 0x1900, 0x2a99, 0x0000 }, - { 0x1900, 0x2a9b, 0x0000 }, - { 0x9900, 0x2a9e, 0x2000 }, - { 0x1900, 0x2a9d, 0x0000 }, - { 0x1900, 0x2a9f, 0x0000 }, - { 0x9a00, 0x2e92, 0x8000 }, - { 0x9900, 0x2ae0, 0x7000 }, - { 0x9900, 0x2ac0, 0x6000 }, - { 0x9900, 0x2ab0, 0x5000 }, - { 0x9900, 0x2aa8, 0x4000 }, - { 0x9900, 0x2aa4, 0x3000 }, - { 0x9900, 0x2aa2, 0x2000 }, - { 0x1900, 0x2aa1, 0x0000 }, - { 0x1900, 0x2aa3, 0x0000 }, - { 0x9900, 0x2aa6, 0x2000 }, - { 0x1900, 0x2aa5, 0x0000 }, - { 0x1900, 0x2aa7, 0x0000 }, - { 0x9900, 0x2aac, 0x3000 }, - { 0x9900, 0x2aaa, 0x2000 }, - { 0x1900, 0x2aa9, 0x0000 }, - { 0x1900, 0x2aab, 0x0000 }, - { 0x9900, 0x2aae, 0x2000 }, - { 0x1900, 0x2aad, 0x0000 }, - { 0x1900, 0x2aaf, 0x0000 }, - { 0x9900, 0x2ab8, 0x4000 }, - { 0x9900, 0x2ab4, 0x3000 }, - { 0x9900, 0x2ab2, 0x2000 }, - { 0x1900, 0x2ab1, 0x0000 }, - { 0x1900, 0x2ab3, 0x0000 }, - { 0x9900, 0x2ab6, 0x2000 }, - { 0x1900, 0x2ab5, 0x0000 }, - { 0x1900, 0x2ab7, 0x0000 }, - { 0x9900, 0x2abc, 0x3000 }, - { 0x9900, 0x2aba, 0x2000 }, - { 0x1900, 0x2ab9, 0x0000 }, - { 0x1900, 0x2abb, 0x0000 }, - { 0x9900, 0x2abe, 0x2000 }, - { 0x1900, 0x2abd, 0x0000 }, - { 0x1900, 0x2abf, 0x0000 }, - { 0x9900, 0x2ad0, 0x5000 }, - { 0x9900, 0x2ac8, 0x4000 }, - { 0x9900, 0x2ac4, 0x3000 }, - { 0x9900, 0x2ac2, 0x2000 }, - { 0x1900, 0x2ac1, 0x0000 }, - { 0x1900, 0x2ac3, 0x0000 }, - { 0x9900, 0x2ac6, 0x2000 }, - { 0x1900, 0x2ac5, 0x0000 }, - { 0x1900, 0x2ac7, 0x0000 }, - { 0x9900, 0x2acc, 0x3000 }, - { 0x9900, 0x2aca, 0x2000 }, - { 0x1900, 0x2ac9, 0x0000 }, - { 0x1900, 0x2acb, 0x0000 }, - { 0x9900, 0x2ace, 0x2000 }, - { 0x1900, 0x2acd, 0x0000 }, - { 0x1900, 0x2acf, 0x0000 }, - { 0x9900, 0x2ad8, 0x4000 }, - { 0x9900, 0x2ad4, 0x3000 }, - { 0x9900, 0x2ad2, 0x2000 }, - { 0x1900, 0x2ad1, 0x0000 }, - { 0x1900, 0x2ad3, 0x0000 }, - { 0x9900, 0x2ad6, 0x2000 }, - { 0x1900, 0x2ad5, 0x0000 }, - { 0x1900, 0x2ad7, 0x0000 }, - { 0x9900, 0x2adc, 0x3000 }, - { 0x9900, 0x2ada, 0x2000 }, - { 0x1900, 0x2ad9, 0x0000 }, - { 0x1900, 0x2adb, 0x0000 }, - { 0x9900, 0x2ade, 0x2000 }, - { 0x1900, 0x2add, 0x0000 }, - { 0x1900, 0x2adf, 0x0000 }, - { 0x9a00, 0x2b00, 0x6000 }, - { 0x9900, 0x2af0, 0x5000 }, - { 0x9900, 0x2ae8, 0x4000 }, - { 0x9900, 0x2ae4, 0x3000 }, - { 0x9900, 0x2ae2, 0x2000 }, - { 0x1900, 0x2ae1, 0x0000 }, - { 0x1900, 0x2ae3, 0x0000 }, - { 0x9900, 0x2ae6, 0x2000 }, - { 0x1900, 0x2ae5, 0x0000 }, - { 0x1900, 0x2ae7, 0x0000 }, - { 0x9900, 0x2aec, 0x3000 }, - { 0x9900, 0x2aea, 0x2000 }, - { 0x1900, 0x2ae9, 0x0000 }, - { 0x1900, 0x2aeb, 0x0000 }, - { 0x9900, 0x2aee, 0x2000 }, - { 0x1900, 0x2aed, 0x0000 }, - { 0x1900, 0x2aef, 0x0000 }, - { 0x9900, 0x2af8, 0x4000 }, - { 0x9900, 0x2af4, 0x3000 }, - { 0x9900, 0x2af2, 0x2000 }, - { 0x1900, 0x2af1, 0x0000 }, - { 0x1900, 0x2af3, 0x0000 }, - { 0x9900, 0x2af6, 0x2000 }, - { 0x1900, 0x2af5, 0x0000 }, - { 0x1900, 0x2af7, 0x0000 }, - { 0x9900, 0x2afc, 0x3000 }, - { 0x9900, 0x2afa, 0x2000 }, - { 0x1900, 0x2af9, 0x0000 }, - { 0x1900, 0x2afb, 0x0000 }, - { 0x9900, 0x2afe, 0x2000 }, - { 0x1900, 0x2afd, 0x0000 }, - { 0x1900, 0x2aff, 0x0000 }, - { 0x9a00, 0x2e82, 0x5000 }, - { 0x9a00, 0x2b08, 0x4000 }, - { 0x9a00, 0x2b04, 0x3000 }, - { 0x9a00, 0x2b02, 0x2000 }, - { 0x1a00, 0x2b01, 0x0000 }, - { 0x1a00, 0x2b03, 0x0000 }, - { 0x9a00, 0x2b06, 0x2000 }, - { 0x1a00, 0x2b05, 0x0000 }, - { 0x1a00, 0x2b07, 0x0000 }, - { 0x9a00, 0x2b0c, 0x3000 }, - { 0x9a00, 0x2b0a, 0x2000 }, - { 0x1a00, 0x2b09, 0x0000 }, - { 0x1a00, 0x2b0b, 0x0000 }, - { 0x9a00, 0x2e80, 0x2000 }, - { 0x1a00, 0x2b0d, 0x0000 }, - { 0x1a00, 0x2e81, 0x0000 }, - { 0x9a00, 0x2e8a, 0x4000 }, - { 0x9a00, 0x2e86, 0x3000 }, - { 0x9a00, 0x2e84, 0x2000 }, - { 0x1a00, 0x2e83, 0x0000 }, - { 0x1a00, 0x2e85, 0x0000 }, - { 0x9a00, 0x2e88, 0x2000 }, - { 0x1a00, 0x2e87, 0x0000 }, - { 0x1a00, 0x2e89, 0x0000 }, - { 0x9a00, 0x2e8e, 0x3000 }, - { 0x9a00, 0x2e8c, 0x2000 }, - { 0x1a00, 0x2e8b, 0x0000 }, - { 0x1a00, 0x2e8d, 0x0000 }, - { 0x9a00, 0x2e90, 0x2000 }, - { 0x1a00, 0x2e8f, 0x0000 }, - { 0x1a00, 0x2e91, 0x0000 }, - { 0x9a00, 0x2ed3, 0x7000 }, - { 0x9a00, 0x2eb3, 0x6000 }, - { 0x9a00, 0x2ea3, 0x5000 }, - { 0x9a00, 0x2e9b, 0x4000 }, - { 0x9a00, 0x2e96, 0x3000 }, - { 0x9a00, 0x2e94, 0x2000 }, - { 0x1a00, 0x2e93, 0x0000 }, - { 0x1a00, 0x2e95, 0x0000 }, - { 0x9a00, 0x2e98, 0x2000 }, - { 0x1a00, 0x2e97, 0x0000 }, - { 0x1a00, 0x2e99, 0x0000 }, - { 0x9a00, 0x2e9f, 0x3000 }, - { 0x9a00, 0x2e9d, 0x2000 }, - { 0x1a00, 0x2e9c, 0x0000 }, - { 0x1a00, 0x2e9e, 0x0000 }, - { 0x9a00, 0x2ea1, 0x2000 }, - { 0x1a00, 0x2ea0, 0x0000 }, - { 0x1a00, 0x2ea2, 0x0000 }, - { 0x9a00, 0x2eab, 0x4000 }, - { 0x9a00, 0x2ea7, 0x3000 }, - { 0x9a00, 0x2ea5, 0x2000 }, - { 0x1a00, 0x2ea4, 0x0000 }, - { 0x1a00, 0x2ea6, 0x0000 }, - { 0x9a00, 0x2ea9, 0x2000 }, - { 0x1a00, 0x2ea8, 0x0000 }, - { 0x1a00, 0x2eaa, 0x0000 }, - { 0x9a00, 0x2eaf, 0x3000 }, - { 0x9a00, 0x2ead, 0x2000 }, - { 0x1a00, 0x2eac, 0x0000 }, - { 0x1a00, 0x2eae, 0x0000 }, - { 0x9a00, 0x2eb1, 0x2000 }, - { 0x1a00, 0x2eb0, 0x0000 }, - { 0x1a00, 0x2eb2, 0x0000 }, - { 0x9a00, 0x2ec3, 0x5000 }, - { 0x9a00, 0x2ebb, 0x4000 }, - { 0x9a00, 0x2eb7, 0x3000 }, - { 0x9a00, 0x2eb5, 0x2000 }, - { 0x1a00, 0x2eb4, 0x0000 }, - { 0x1a00, 0x2eb6, 0x0000 }, - { 0x9a00, 0x2eb9, 0x2000 }, - { 0x1a00, 0x2eb8, 0x0000 }, - { 0x1a00, 0x2eba, 0x0000 }, - { 0x9a00, 0x2ebf, 0x3000 }, - { 0x9a00, 0x2ebd, 0x2000 }, - { 0x1a00, 0x2ebc, 0x0000 }, - { 0x1a00, 0x2ebe, 0x0000 }, - { 0x9a00, 0x2ec1, 0x2000 }, - { 0x1a00, 0x2ec0, 0x0000 }, - { 0x1a00, 0x2ec2, 0x0000 }, - { 0x9a00, 0x2ecb, 0x4000 }, - { 0x9a00, 0x2ec7, 0x3000 }, - { 0x9a00, 0x2ec5, 0x2000 }, - { 0x1a00, 0x2ec4, 0x0000 }, - { 0x1a00, 0x2ec6, 0x0000 }, - { 0x9a00, 0x2ec9, 0x2000 }, - { 0x1a00, 0x2ec8, 0x0000 }, - { 0x1a00, 0x2eca, 0x0000 }, - { 0x9a00, 0x2ecf, 0x3000 }, - { 0x9a00, 0x2ecd, 0x2000 }, - { 0x1a00, 0x2ecc, 0x0000 }, - { 0x1a00, 0x2ece, 0x0000 }, - { 0x9a00, 0x2ed1, 0x2000 }, - { 0x1a00, 0x2ed0, 0x0000 }, - { 0x1a00, 0x2ed2, 0x0000 }, - { 0x9a00, 0x2ef3, 0x6000 }, - { 0x9a00, 0x2ee3, 0x5000 }, - { 0x9a00, 0x2edb, 0x4000 }, - { 0x9a00, 0x2ed7, 0x3000 }, - { 0x9a00, 0x2ed5, 0x2000 }, - { 0x1a00, 0x2ed4, 0x0000 }, - { 0x1a00, 0x2ed6, 0x0000 }, - { 0x9a00, 0x2ed9, 0x2000 }, - { 0x1a00, 0x2ed8, 0x0000 }, - { 0x1a00, 0x2eda, 0x0000 }, - { 0x9a00, 0x2edf, 0x3000 }, - { 0x9a00, 0x2edd, 0x2000 }, - { 0x1a00, 0x2edc, 0x0000 }, - { 0x1a00, 0x2ede, 0x0000 }, - { 0x9a00, 0x2ee1, 0x2000 }, - { 0x1a00, 0x2ee0, 0x0000 }, - { 0x1a00, 0x2ee2, 0x0000 }, - { 0x9a00, 0x2eeb, 0x4000 }, - { 0x9a00, 0x2ee7, 0x3000 }, - { 0x9a00, 0x2ee5, 0x2000 }, - { 0x1a00, 0x2ee4, 0x0000 }, - { 0x1a00, 0x2ee6, 0x0000 }, - { 0x9a00, 0x2ee9, 0x2000 }, - { 0x1a00, 0x2ee8, 0x0000 }, - { 0x1a00, 0x2eea, 0x0000 }, - { 0x9a00, 0x2eef, 0x3000 }, - { 0x9a00, 0x2eed, 0x2000 }, - { 0x1a00, 0x2eec, 0x0000 }, - { 0x1a00, 0x2eee, 0x0000 }, - { 0x9a00, 0x2ef1, 0x2000 }, - { 0x1a00, 0x2ef0, 0x0000 }, - { 0x1a00, 0x2ef2, 0x0000 }, - { 0x9a00, 0x2f0f, 0x5000 }, - { 0x9a00, 0x2f07, 0x4000 }, - { 0x9a00, 0x2f03, 0x3000 }, - { 0x9a00, 0x2f01, 0x2000 }, - { 0x1a00, 0x2f00, 0x0000 }, - { 0x1a00, 0x2f02, 0x0000 }, - { 0x9a00, 0x2f05, 0x2000 }, - { 0x1a00, 0x2f04, 0x0000 }, - { 0x1a00, 0x2f06, 0x0000 }, - { 0x9a00, 0x2f0b, 0x3000 }, - { 0x9a00, 0x2f09, 0x2000 }, - { 0x1a00, 0x2f08, 0x0000 }, - { 0x1a00, 0x2f0a, 0x0000 }, - { 0x9a00, 0x2f0d, 0x2000 }, - { 0x1a00, 0x2f0c, 0x0000 }, - { 0x1a00, 0x2f0e, 0x0000 }, - { 0x9a00, 0x2f17, 0x4000 }, - { 0x9a00, 0x2f13, 0x3000 }, - { 0x9a00, 0x2f11, 0x2000 }, - { 0x1a00, 0x2f10, 0x0000 }, - { 0x1a00, 0x2f12, 0x0000 }, - { 0x9a00, 0x2f15, 0x2000 }, - { 0x1a00, 0x2f14, 0x0000 }, - { 0x1a00, 0x2f16, 0x0000 }, - { 0x9a00, 0x2f1b, 0x3000 }, - { 0x9a00, 0x2f19, 0x2000 }, - { 0x1a00, 0x2f18, 0x0000 }, - { 0x1a00, 0x2f1a, 0x0000 }, - { 0x9a00, 0x2f1d, 0x2000 }, - { 0x1a00, 0x2f1c, 0x0000 }, - { 0x1a00, 0x2f1e, 0x0000 }, - { 0x8701, 0x00f0, 0xd000 }, - { 0x8700, 0xa34d, 0xc000 }, - { 0x9a00, 0x3391, 0xb000 }, - { 0x8700, 0x3149, 0xa000 }, - { 0x9500, 0x303d, 0x9000 }, - { 0x9a00, 0x2f9f, 0x8000 }, - { 0x9a00, 0x2f5f, 0x7000 }, - { 0x9a00, 0x2f3f, 0x6000 }, - { 0x9a00, 0x2f2f, 0x5000 }, - { 0x9a00, 0x2f27, 0x4000 }, - { 0x9a00, 0x2f23, 0x3000 }, - { 0x9a00, 0x2f21, 0x2000 }, - { 0x1a00, 0x2f20, 0x0000 }, - { 0x1a00, 0x2f22, 0x0000 }, - { 0x9a00, 0x2f25, 0x2000 }, - { 0x1a00, 0x2f24, 0x0000 }, - { 0x1a00, 0x2f26, 0x0000 }, - { 0x9a00, 0x2f2b, 0x3000 }, - { 0x9a00, 0x2f29, 0x2000 }, - { 0x1a00, 0x2f28, 0x0000 }, - { 0x1a00, 0x2f2a, 0x0000 }, - { 0x9a00, 0x2f2d, 0x2000 }, - { 0x1a00, 0x2f2c, 0x0000 }, - { 0x1a00, 0x2f2e, 0x0000 }, - { 0x9a00, 0x2f37, 0x4000 }, - { 0x9a00, 0x2f33, 0x3000 }, - { 0x9a00, 0x2f31, 0x2000 }, - { 0x1a00, 0x2f30, 0x0000 }, - { 0x1a00, 0x2f32, 0x0000 }, - { 0x9a00, 0x2f35, 0x2000 }, - { 0x1a00, 0x2f34, 0x0000 }, - { 0x1a00, 0x2f36, 0x0000 }, - { 0x9a00, 0x2f3b, 0x3000 }, - { 0x9a00, 0x2f39, 0x2000 }, - { 0x1a00, 0x2f38, 0x0000 }, - { 0x1a00, 0x2f3a, 0x0000 }, - { 0x9a00, 0x2f3d, 0x2000 }, - { 0x1a00, 0x2f3c, 0x0000 }, - { 0x1a00, 0x2f3e, 0x0000 }, - { 0x9a00, 0x2f4f, 0x5000 }, - { 0x9a00, 0x2f47, 0x4000 }, - { 0x9a00, 0x2f43, 0x3000 }, - { 0x9a00, 0x2f41, 0x2000 }, - { 0x1a00, 0x2f40, 0x0000 }, - { 0x1a00, 0x2f42, 0x0000 }, - { 0x9a00, 0x2f45, 0x2000 }, - { 0x1a00, 0x2f44, 0x0000 }, - { 0x1a00, 0x2f46, 0x0000 }, - { 0x9a00, 0x2f4b, 0x3000 }, - { 0x9a00, 0x2f49, 0x2000 }, - { 0x1a00, 0x2f48, 0x0000 }, - { 0x1a00, 0x2f4a, 0x0000 }, - { 0x9a00, 0x2f4d, 0x2000 }, - { 0x1a00, 0x2f4c, 0x0000 }, - { 0x1a00, 0x2f4e, 0x0000 }, - { 0x9a00, 0x2f57, 0x4000 }, - { 0x9a00, 0x2f53, 0x3000 }, - { 0x9a00, 0x2f51, 0x2000 }, - { 0x1a00, 0x2f50, 0x0000 }, - { 0x1a00, 0x2f52, 0x0000 }, - { 0x9a00, 0x2f55, 0x2000 }, - { 0x1a00, 0x2f54, 0x0000 }, - { 0x1a00, 0x2f56, 0x0000 }, - { 0x9a00, 0x2f5b, 0x3000 }, - { 0x9a00, 0x2f59, 0x2000 }, - { 0x1a00, 0x2f58, 0x0000 }, - { 0x1a00, 0x2f5a, 0x0000 }, - { 0x9a00, 0x2f5d, 0x2000 }, - { 0x1a00, 0x2f5c, 0x0000 }, - { 0x1a00, 0x2f5e, 0x0000 }, - { 0x9a00, 0x2f7f, 0x6000 }, - { 0x9a00, 0x2f6f, 0x5000 }, - { 0x9a00, 0x2f67, 0x4000 }, - { 0x9a00, 0x2f63, 0x3000 }, - { 0x9a00, 0x2f61, 0x2000 }, - { 0x1a00, 0x2f60, 0x0000 }, - { 0x1a00, 0x2f62, 0x0000 }, - { 0x9a00, 0x2f65, 0x2000 }, - { 0x1a00, 0x2f64, 0x0000 }, - { 0x1a00, 0x2f66, 0x0000 }, - { 0x9a00, 0x2f6b, 0x3000 }, - { 0x9a00, 0x2f69, 0x2000 }, - { 0x1a00, 0x2f68, 0x0000 }, - { 0x1a00, 0x2f6a, 0x0000 }, - { 0x9a00, 0x2f6d, 0x2000 }, - { 0x1a00, 0x2f6c, 0x0000 }, - { 0x1a00, 0x2f6e, 0x0000 }, - { 0x9a00, 0x2f77, 0x4000 }, - { 0x9a00, 0x2f73, 0x3000 }, - { 0x9a00, 0x2f71, 0x2000 }, - { 0x1a00, 0x2f70, 0x0000 }, - { 0x1a00, 0x2f72, 0x0000 }, - { 0x9a00, 0x2f75, 0x2000 }, - { 0x1a00, 0x2f74, 0x0000 }, - { 0x1a00, 0x2f76, 0x0000 }, - { 0x9a00, 0x2f7b, 0x3000 }, - { 0x9a00, 0x2f79, 0x2000 }, - { 0x1a00, 0x2f78, 0x0000 }, - { 0x1a00, 0x2f7a, 0x0000 }, - { 0x9a00, 0x2f7d, 0x2000 }, - { 0x1a00, 0x2f7c, 0x0000 }, - { 0x1a00, 0x2f7e, 0x0000 }, - { 0x9a00, 0x2f8f, 0x5000 }, - { 0x9a00, 0x2f87, 0x4000 }, - { 0x9a00, 0x2f83, 0x3000 }, - { 0x9a00, 0x2f81, 0x2000 }, - { 0x1a00, 0x2f80, 0x0000 }, - { 0x1a00, 0x2f82, 0x0000 }, - { 0x9a00, 0x2f85, 0x2000 }, - { 0x1a00, 0x2f84, 0x0000 }, - { 0x1a00, 0x2f86, 0x0000 }, - { 0x9a00, 0x2f8b, 0x3000 }, - { 0x9a00, 0x2f89, 0x2000 }, - { 0x1a00, 0x2f88, 0x0000 }, - { 0x1a00, 0x2f8a, 0x0000 }, - { 0x9a00, 0x2f8d, 0x2000 }, - { 0x1a00, 0x2f8c, 0x0000 }, - { 0x1a00, 0x2f8e, 0x0000 }, - { 0x9a00, 0x2f97, 0x4000 }, - { 0x9a00, 0x2f93, 0x3000 }, - { 0x9a00, 0x2f91, 0x2000 }, - { 0x1a00, 0x2f90, 0x0000 }, - { 0x1a00, 0x2f92, 0x0000 }, - { 0x9a00, 0x2f95, 0x2000 }, - { 0x1a00, 0x2f94, 0x0000 }, - { 0x1a00, 0x2f96, 0x0000 }, - { 0x9a00, 0x2f9b, 0x3000 }, - { 0x9a00, 0x2f99, 0x2000 }, - { 0x1a00, 0x2f98, 0x0000 }, - { 0x1a00, 0x2f9a, 0x0000 }, - { 0x9a00, 0x2f9d, 0x2000 }, - { 0x1a00, 0x2f9c, 0x0000 }, - { 0x1a00, 0x2f9e, 0x0000 }, - { 0x9a00, 0x2ff9, 0x7000 }, - { 0x9a00, 0x2fbf, 0x6000 }, - { 0x9a00, 0x2faf, 0x5000 }, - { 0x9a00, 0x2fa7, 0x4000 }, - { 0x9a00, 0x2fa3, 0x3000 }, - { 0x9a00, 0x2fa1, 0x2000 }, - { 0x1a00, 0x2fa0, 0x0000 }, - { 0x1a00, 0x2fa2, 0x0000 }, - { 0x9a00, 0x2fa5, 0x2000 }, - { 0x1a00, 0x2fa4, 0x0000 }, - { 0x1a00, 0x2fa6, 0x0000 }, - { 0x9a00, 0x2fab, 0x3000 }, - { 0x9a00, 0x2fa9, 0x2000 }, - { 0x1a00, 0x2fa8, 0x0000 }, - { 0x1a00, 0x2faa, 0x0000 }, - { 0x9a00, 0x2fad, 0x2000 }, - { 0x1a00, 0x2fac, 0x0000 }, - { 0x1a00, 0x2fae, 0x0000 }, - { 0x9a00, 0x2fb7, 0x4000 }, - { 0x9a00, 0x2fb3, 0x3000 }, - { 0x9a00, 0x2fb1, 0x2000 }, - { 0x1a00, 0x2fb0, 0x0000 }, - { 0x1a00, 0x2fb2, 0x0000 }, - { 0x9a00, 0x2fb5, 0x2000 }, - { 0x1a00, 0x2fb4, 0x0000 }, - { 0x1a00, 0x2fb6, 0x0000 }, - { 0x9a00, 0x2fbb, 0x3000 }, - { 0x9a00, 0x2fb9, 0x2000 }, - { 0x1a00, 0x2fb8, 0x0000 }, - { 0x1a00, 0x2fba, 0x0000 }, - { 0x9a00, 0x2fbd, 0x2000 }, - { 0x1a00, 0x2fbc, 0x0000 }, - { 0x1a00, 0x2fbe, 0x0000 }, - { 0x9a00, 0x2fcf, 0x5000 }, - { 0x9a00, 0x2fc7, 0x4000 }, - { 0x9a00, 0x2fc3, 0x3000 }, - { 0x9a00, 0x2fc1, 0x2000 }, - { 0x1a00, 0x2fc0, 0x0000 }, - { 0x1a00, 0x2fc2, 0x0000 }, - { 0x9a00, 0x2fc5, 0x2000 }, - { 0x1a00, 0x2fc4, 0x0000 }, - { 0x1a00, 0x2fc6, 0x0000 }, - { 0x9a00, 0x2fcb, 0x3000 }, - { 0x9a00, 0x2fc9, 0x2000 }, - { 0x1a00, 0x2fc8, 0x0000 }, - { 0x1a00, 0x2fca, 0x0000 }, - { 0x9a00, 0x2fcd, 0x2000 }, - { 0x1a00, 0x2fcc, 0x0000 }, - { 0x1a00, 0x2fce, 0x0000 }, - { 0x9a00, 0x2ff1, 0x4000 }, - { 0x9a00, 0x2fd3, 0x3000 }, - { 0x9a00, 0x2fd1, 0x2000 }, - { 0x1a00, 0x2fd0, 0x0000 }, - { 0x1a00, 0x2fd2, 0x0000 }, - { 0x9a00, 0x2fd5, 0x2000 }, - { 0x1a00, 0x2fd4, 0x0000 }, - { 0x1a00, 0x2ff0, 0x0000 }, - { 0x9a00, 0x2ff5, 0x3000 }, - { 0x9a00, 0x2ff3, 0x2000 }, - { 0x1a00, 0x2ff2, 0x0000 }, - { 0x1a00, 0x2ff4, 0x0000 }, - { 0x9a00, 0x2ff7, 0x2000 }, - { 0x1a00, 0x2ff6, 0x0000 }, - { 0x1a00, 0x2ff8, 0x0000 }, - { 0x9600, 0x301d, 0x6000 }, - { 0x9200, 0x300d, 0x5000 }, - { 0x8600, 0x3005, 0x4000 }, - { 0x9500, 0x3001, 0x3000 }, - { 0x9a00, 0x2ffb, 0x2000 }, - { 0x1a00, 0x2ffa, 0x0000 }, - { 0x1d00, 0x3000, 0x0000 }, - { 0x9500, 0x3003, 0x2000 }, - { 0x1500, 0x3002, 0x0000 }, - { 0x1a00, 0x3004, 0x0000 }, - { 0x9200, 0x3009, 0x3000 }, - { 0x8e00, 0x3007, 0x2000 }, - { 0x0700, 0x3006, 0x0000 }, - { 0x1600, 0x3008, 0x0000 }, - { 0x9200, 0x300b, 0x2000 }, - { 0x1600, 0x300a, 0x0000 }, - { 0x1600, 0x300c, 0x0000 }, - { 0x9200, 0x3015, 0x4000 }, - { 0x9200, 0x3011, 0x3000 }, - { 0x9200, 0x300f, 0x2000 }, - { 0x1600, 0x300e, 0x0000 }, - { 0x1600, 0x3010, 0x0000 }, - { 0x9a00, 0x3013, 0x2000 }, - { 0x1a00, 0x3012, 0x0000 }, - { 0x1600, 0x3014, 0x0000 }, - { 0x9200, 0x3019, 0x3000 }, - { 0x9200, 0x3017, 0x2000 }, - { 0x1600, 0x3016, 0x0000 }, - { 0x1600, 0x3018, 0x0000 }, - { 0x9200, 0x301b, 0x2000 }, - { 0x1600, 0x301a, 0x0000 }, - { 0x1100, 0x301c, 0x0000 }, - { 0x8c00, 0x302d, 0x5000 }, - { 0x8e00, 0x3025, 0x4000 }, - { 0x8e00, 0x3021, 0x3000 }, - { 0x9200, 0x301f, 0x2000 }, - { 0x1200, 0x301e, 0x0000 }, - { 0x1a00, 0x3020, 0x0000 }, - { 0x8e00, 0x3023, 0x2000 }, - { 0x0e00, 0x3022, 0x0000 }, - { 0x0e00, 0x3024, 0x0000 }, - { 0x8e00, 0x3029, 0x3000 }, - { 0x8e00, 0x3027, 0x2000 }, - { 0x0e00, 0x3026, 0x0000 }, - { 0x0e00, 0x3028, 0x0000 }, - { 0x8c00, 0x302b, 0x2000 }, - { 0x0c00, 0x302a, 0x0000 }, - { 0x0c00, 0x302c, 0x0000 }, - { 0x8600, 0x3035, 0x4000 }, - { 0x8600, 0x3031, 0x3000 }, - { 0x8c00, 0x302f, 0x2000 }, - { 0x0c00, 0x302e, 0x0000 }, - { 0x1100, 0x3030, 0x0000 }, - { 0x8600, 0x3033, 0x2000 }, - { 0x0600, 0x3032, 0x0000 }, - { 0x0600, 0x3034, 0x0000 }, - { 0x8e00, 0x3039, 0x3000 }, - { 0x9a00, 0x3037, 0x2000 }, - { 0x1a00, 0x3036, 0x0000 }, - { 0x0e00, 0x3038, 0x0000 }, - { 0x8600, 0x303b, 0x2000 }, - { 0x0e00, 0x303a, 0x0000 }, - { 0x0700, 0x303c, 0x0000 }, - { 0x8700, 0x30c0, 0x8000 }, - { 0x8700, 0x307e, 0x7000 }, - { 0x8700, 0x305e, 0x6000 }, - { 0x8700, 0x304e, 0x5000 }, - { 0x8700, 0x3046, 0x4000 }, - { 0x8700, 0x3042, 0x3000 }, - { 0x9a00, 0x303f, 0x2000 }, - { 0x1a00, 0x303e, 0x0000 }, - { 0x0700, 0x3041, 0x0000 }, - { 0x8700, 0x3044, 0x2000 }, - { 0x0700, 0x3043, 0x0000 }, - { 0x0700, 0x3045, 0x0000 }, - { 0x8700, 0x304a, 0x3000 }, - { 0x8700, 0x3048, 0x2000 }, - { 0x0700, 0x3047, 0x0000 }, - { 0x0700, 0x3049, 0x0000 }, - { 0x8700, 0x304c, 0x2000 }, - { 0x0700, 0x304b, 0x0000 }, - { 0x0700, 0x304d, 0x0000 }, - { 0x8700, 0x3056, 0x4000 }, - { 0x8700, 0x3052, 0x3000 }, - { 0x8700, 0x3050, 0x2000 }, - { 0x0700, 0x304f, 0x0000 }, - { 0x0700, 0x3051, 0x0000 }, - { 0x8700, 0x3054, 0x2000 }, - { 0x0700, 0x3053, 0x0000 }, - { 0x0700, 0x3055, 0x0000 }, - { 0x8700, 0x305a, 0x3000 }, - { 0x8700, 0x3058, 0x2000 }, - { 0x0700, 0x3057, 0x0000 }, - { 0x0700, 0x3059, 0x0000 }, - { 0x8700, 0x305c, 0x2000 }, - { 0x0700, 0x305b, 0x0000 }, - { 0x0700, 0x305d, 0x0000 }, - { 0x8700, 0x306e, 0x5000 }, - { 0x8700, 0x3066, 0x4000 }, - { 0x8700, 0x3062, 0x3000 }, - { 0x8700, 0x3060, 0x2000 }, - { 0x0700, 0x305f, 0x0000 }, - { 0x0700, 0x3061, 0x0000 }, - { 0x8700, 0x3064, 0x2000 }, - { 0x0700, 0x3063, 0x0000 }, - { 0x0700, 0x3065, 0x0000 }, - { 0x8700, 0x306a, 0x3000 }, - { 0x8700, 0x3068, 0x2000 }, - { 0x0700, 0x3067, 0x0000 }, - { 0x0700, 0x3069, 0x0000 }, - { 0x8700, 0x306c, 0x2000 }, - { 0x0700, 0x306b, 0x0000 }, - { 0x0700, 0x306d, 0x0000 }, - { 0x8700, 0x3076, 0x4000 }, - { 0x8700, 0x3072, 0x3000 }, - { 0x8700, 0x3070, 0x2000 }, - { 0x0700, 0x306f, 0x0000 }, - { 0x0700, 0x3071, 0x0000 }, - { 0x8700, 0x3074, 0x2000 }, - { 0x0700, 0x3073, 0x0000 }, - { 0x0700, 0x3075, 0x0000 }, - { 0x8700, 0x307a, 0x3000 }, - { 0x8700, 0x3078, 0x2000 }, - { 0x0700, 0x3077, 0x0000 }, - { 0x0700, 0x3079, 0x0000 }, - { 0x8700, 0x307c, 0x2000 }, - { 0x0700, 0x307b, 0x0000 }, - { 0x0700, 0x307d, 0x0000 }, - { 0x9100, 0x30a0, 0x6000 }, - { 0x8700, 0x308e, 0x5000 }, - { 0x8700, 0x3086, 0x4000 }, - { 0x8700, 0x3082, 0x3000 }, - { 0x8700, 0x3080, 0x2000 }, - { 0x0700, 0x307f, 0x0000 }, - { 0x0700, 0x3081, 0x0000 }, - { 0x8700, 0x3084, 0x2000 }, - { 0x0700, 0x3083, 0x0000 }, - { 0x0700, 0x3085, 0x0000 }, - { 0x8700, 0x308a, 0x3000 }, - { 0x8700, 0x3088, 0x2000 }, - { 0x0700, 0x3087, 0x0000 }, - { 0x0700, 0x3089, 0x0000 }, - { 0x8700, 0x308c, 0x2000 }, - { 0x0700, 0x308b, 0x0000 }, - { 0x0700, 0x308d, 0x0000 }, - { 0x8700, 0x3096, 0x4000 }, - { 0x8700, 0x3092, 0x3000 }, - { 0x8700, 0x3090, 0x2000 }, - { 0x0700, 0x308f, 0x0000 }, - { 0x0700, 0x3091, 0x0000 }, - { 0x8700, 0x3094, 0x2000 }, - { 0x0700, 0x3093, 0x0000 }, - { 0x0700, 0x3095, 0x0000 }, - { 0x9800, 0x309c, 0x3000 }, - { 0x8c00, 0x309a, 0x2000 }, - { 0x0c00, 0x3099, 0x0000 }, - { 0x1800, 0x309b, 0x0000 }, - { 0x8600, 0x309e, 0x2000 }, - { 0x0600, 0x309d, 0x0000 }, - { 0x0700, 0x309f, 0x0000 }, - { 0x8700, 0x30b0, 0x5000 }, - { 0x8700, 0x30a8, 0x4000 }, - { 0x8700, 0x30a4, 0x3000 }, - { 0x8700, 0x30a2, 0x2000 }, - { 0x0700, 0x30a1, 0x0000 }, - { 0x0700, 0x30a3, 0x0000 }, - { 0x8700, 0x30a6, 0x2000 }, - { 0x0700, 0x30a5, 0x0000 }, - { 0x0700, 0x30a7, 0x0000 }, - { 0x8700, 0x30ac, 0x3000 }, - { 0x8700, 0x30aa, 0x2000 }, - { 0x0700, 0x30a9, 0x0000 }, - { 0x0700, 0x30ab, 0x0000 }, - { 0x8700, 0x30ae, 0x2000 }, - { 0x0700, 0x30ad, 0x0000 }, - { 0x0700, 0x30af, 0x0000 }, - { 0x8700, 0x30b8, 0x4000 }, - { 0x8700, 0x30b4, 0x3000 }, - { 0x8700, 0x30b2, 0x2000 }, - { 0x0700, 0x30b1, 0x0000 }, - { 0x0700, 0x30b3, 0x0000 }, - { 0x8700, 0x30b6, 0x2000 }, - { 0x0700, 0x30b5, 0x0000 }, - { 0x0700, 0x30b7, 0x0000 }, - { 0x8700, 0x30bc, 0x3000 }, - { 0x8700, 0x30ba, 0x2000 }, - { 0x0700, 0x30b9, 0x0000 }, - { 0x0700, 0x30bb, 0x0000 }, - { 0x8700, 0x30be, 0x2000 }, - { 0x0700, 0x30bd, 0x0000 }, - { 0x0700, 0x30bf, 0x0000 }, - { 0x8700, 0x3105, 0x7000 }, - { 0x8700, 0x30e0, 0x6000 }, - { 0x8700, 0x30d0, 0x5000 }, - { 0x8700, 0x30c8, 0x4000 }, - { 0x8700, 0x30c4, 0x3000 }, - { 0x8700, 0x30c2, 0x2000 }, - { 0x0700, 0x30c1, 0x0000 }, - { 0x0700, 0x30c3, 0x0000 }, - { 0x8700, 0x30c6, 0x2000 }, - { 0x0700, 0x30c5, 0x0000 }, - { 0x0700, 0x30c7, 0x0000 }, - { 0x8700, 0x30cc, 0x3000 }, - { 0x8700, 0x30ca, 0x2000 }, - { 0x0700, 0x30c9, 0x0000 }, - { 0x0700, 0x30cb, 0x0000 }, - { 0x8700, 0x30ce, 0x2000 }, - { 0x0700, 0x30cd, 0x0000 }, - { 0x0700, 0x30cf, 0x0000 }, - { 0x8700, 0x30d8, 0x4000 }, - { 0x8700, 0x30d4, 0x3000 }, - { 0x8700, 0x30d2, 0x2000 }, - { 0x0700, 0x30d1, 0x0000 }, - { 0x0700, 0x30d3, 0x0000 }, - { 0x8700, 0x30d6, 0x2000 }, - { 0x0700, 0x30d5, 0x0000 }, - { 0x0700, 0x30d7, 0x0000 }, - { 0x8700, 0x30dc, 0x3000 }, - { 0x8700, 0x30da, 0x2000 }, - { 0x0700, 0x30d9, 0x0000 }, - { 0x0700, 0x30db, 0x0000 }, - { 0x8700, 0x30de, 0x2000 }, - { 0x0700, 0x30dd, 0x0000 }, - { 0x0700, 0x30df, 0x0000 }, - { 0x8700, 0x30f0, 0x5000 }, - { 0x8700, 0x30e8, 0x4000 }, - { 0x8700, 0x30e4, 0x3000 }, - { 0x8700, 0x30e2, 0x2000 }, - { 0x0700, 0x30e1, 0x0000 }, - { 0x0700, 0x30e3, 0x0000 }, - { 0x8700, 0x30e6, 0x2000 }, - { 0x0700, 0x30e5, 0x0000 }, - { 0x0700, 0x30e7, 0x0000 }, - { 0x8700, 0x30ec, 0x3000 }, - { 0x8700, 0x30ea, 0x2000 }, - { 0x0700, 0x30e9, 0x0000 }, - { 0x0700, 0x30eb, 0x0000 }, - { 0x8700, 0x30ee, 0x2000 }, - { 0x0700, 0x30ed, 0x0000 }, - { 0x0700, 0x30ef, 0x0000 }, - { 0x8700, 0x30f8, 0x4000 }, - { 0x8700, 0x30f4, 0x3000 }, - { 0x8700, 0x30f2, 0x2000 }, - { 0x0700, 0x30f1, 0x0000 }, - { 0x0700, 0x30f3, 0x0000 }, - { 0x8700, 0x30f6, 0x2000 }, - { 0x0700, 0x30f5, 0x0000 }, - { 0x0700, 0x30f7, 0x0000 }, - { 0x8600, 0x30fc, 0x3000 }, - { 0x8700, 0x30fa, 0x2000 }, - { 0x0700, 0x30f9, 0x0000 }, - { 0x1000, 0x30fb, 0x0000 }, - { 0x8600, 0x30fe, 0x2000 }, - { 0x0600, 0x30fd, 0x0000 }, - { 0x0700, 0x30ff, 0x0000 }, - { 0x8700, 0x3125, 0x6000 }, - { 0x8700, 0x3115, 0x5000 }, - { 0x8700, 0x310d, 0x4000 }, - { 0x8700, 0x3109, 0x3000 }, - { 0x8700, 0x3107, 0x2000 }, - { 0x0700, 0x3106, 0x0000 }, - { 0x0700, 0x3108, 0x0000 }, - { 0x8700, 0x310b, 0x2000 }, - { 0x0700, 0x310a, 0x0000 }, - { 0x0700, 0x310c, 0x0000 }, - { 0x8700, 0x3111, 0x3000 }, - { 0x8700, 0x310f, 0x2000 }, - { 0x0700, 0x310e, 0x0000 }, - { 0x0700, 0x3110, 0x0000 }, - { 0x8700, 0x3113, 0x2000 }, - { 0x0700, 0x3112, 0x0000 }, - { 0x0700, 0x3114, 0x0000 }, - { 0x8700, 0x311d, 0x4000 }, - { 0x8700, 0x3119, 0x3000 }, - { 0x8700, 0x3117, 0x2000 }, - { 0x0700, 0x3116, 0x0000 }, - { 0x0700, 0x3118, 0x0000 }, - { 0x8700, 0x311b, 0x2000 }, - { 0x0700, 0x311a, 0x0000 }, - { 0x0700, 0x311c, 0x0000 }, - { 0x8700, 0x3121, 0x3000 }, - { 0x8700, 0x311f, 0x2000 }, - { 0x0700, 0x311e, 0x0000 }, - { 0x0700, 0x3120, 0x0000 }, - { 0x8700, 0x3123, 0x2000 }, - { 0x0700, 0x3122, 0x0000 }, - { 0x0700, 0x3124, 0x0000 }, - { 0x8700, 0x3139, 0x5000 }, - { 0x8700, 0x3131, 0x4000 }, - { 0x8700, 0x3129, 0x3000 }, - { 0x8700, 0x3127, 0x2000 }, - { 0x0700, 0x3126, 0x0000 }, - { 0x0700, 0x3128, 0x0000 }, - { 0x8700, 0x312b, 0x2000 }, - { 0x0700, 0x312a, 0x0000 }, - { 0x0700, 0x312c, 0x0000 }, - { 0x8700, 0x3135, 0x3000 }, - { 0x8700, 0x3133, 0x2000 }, - { 0x0700, 0x3132, 0x0000 }, - { 0x0700, 0x3134, 0x0000 }, - { 0x8700, 0x3137, 0x2000 }, - { 0x0700, 0x3136, 0x0000 }, - { 0x0700, 0x3138, 0x0000 }, - { 0x8700, 0x3141, 0x4000 }, - { 0x8700, 0x313d, 0x3000 }, - { 0x8700, 0x313b, 0x2000 }, - { 0x0700, 0x313a, 0x0000 }, - { 0x0700, 0x313c, 0x0000 }, - { 0x8700, 0x313f, 0x2000 }, - { 0x0700, 0x313e, 0x0000 }, - { 0x0700, 0x3140, 0x0000 }, - { 0x8700, 0x3145, 0x3000 }, - { 0x8700, 0x3143, 0x2000 }, - { 0x0700, 0x3142, 0x0000 }, - { 0x0700, 0x3144, 0x0000 }, - { 0x8700, 0x3147, 0x2000 }, - { 0x0700, 0x3146, 0x0000 }, - { 0x0700, 0x3148, 0x0000 }, - { 0x9a00, 0x3290, 0x9000 }, - { 0x9a00, 0x3202, 0x8000 }, - { 0x8700, 0x3189, 0x7000 }, - { 0x8700, 0x3169, 0x6000 }, - { 0x8700, 0x3159, 0x5000 }, - { 0x8700, 0x3151, 0x4000 }, - { 0x8700, 0x314d, 0x3000 }, - { 0x8700, 0x314b, 0x2000 }, - { 0x0700, 0x314a, 0x0000 }, - { 0x0700, 0x314c, 0x0000 }, - { 0x8700, 0x314f, 0x2000 }, - { 0x0700, 0x314e, 0x0000 }, - { 0x0700, 0x3150, 0x0000 }, - { 0x8700, 0x3155, 0x3000 }, - { 0x8700, 0x3153, 0x2000 }, - { 0x0700, 0x3152, 0x0000 }, - { 0x0700, 0x3154, 0x0000 }, - { 0x8700, 0x3157, 0x2000 }, - { 0x0700, 0x3156, 0x0000 }, - { 0x0700, 0x3158, 0x0000 }, - { 0x8700, 0x3161, 0x4000 }, - { 0x8700, 0x315d, 0x3000 }, - { 0x8700, 0x315b, 0x2000 }, - { 0x0700, 0x315a, 0x0000 }, - { 0x0700, 0x315c, 0x0000 }, - { 0x8700, 0x315f, 0x2000 }, - { 0x0700, 0x315e, 0x0000 }, - { 0x0700, 0x3160, 0x0000 }, - { 0x8700, 0x3165, 0x3000 }, - { 0x8700, 0x3163, 0x2000 }, - { 0x0700, 0x3162, 0x0000 }, - { 0x0700, 0x3164, 0x0000 }, - { 0x8700, 0x3167, 0x2000 }, - { 0x0700, 0x3166, 0x0000 }, - { 0x0700, 0x3168, 0x0000 }, - { 0x8700, 0x3179, 0x5000 }, - { 0x8700, 0x3171, 0x4000 }, - { 0x8700, 0x316d, 0x3000 }, - { 0x8700, 0x316b, 0x2000 }, - { 0x0700, 0x316a, 0x0000 }, - { 0x0700, 0x316c, 0x0000 }, - { 0x8700, 0x316f, 0x2000 }, - { 0x0700, 0x316e, 0x0000 }, - { 0x0700, 0x3170, 0x0000 }, - { 0x8700, 0x3175, 0x3000 }, - { 0x8700, 0x3173, 0x2000 }, - { 0x0700, 0x3172, 0x0000 }, - { 0x0700, 0x3174, 0x0000 }, - { 0x8700, 0x3177, 0x2000 }, - { 0x0700, 0x3176, 0x0000 }, - { 0x0700, 0x3178, 0x0000 }, - { 0x8700, 0x3181, 0x4000 }, - { 0x8700, 0x317d, 0x3000 }, - { 0x8700, 0x317b, 0x2000 }, - { 0x0700, 0x317a, 0x0000 }, - { 0x0700, 0x317c, 0x0000 }, - { 0x8700, 0x317f, 0x2000 }, - { 0x0700, 0x317e, 0x0000 }, - { 0x0700, 0x3180, 0x0000 }, - { 0x8700, 0x3185, 0x3000 }, - { 0x8700, 0x3183, 0x2000 }, - { 0x0700, 0x3182, 0x0000 }, - { 0x0700, 0x3184, 0x0000 }, - { 0x8700, 0x3187, 0x2000 }, - { 0x0700, 0x3186, 0x0000 }, - { 0x0700, 0x3188, 0x0000 }, - { 0x8700, 0x31aa, 0x6000 }, - { 0x9a00, 0x319a, 0x5000 }, - { 0x8f00, 0x3192, 0x4000 }, - { 0x8700, 0x318d, 0x3000 }, - { 0x8700, 0x318b, 0x2000 }, - { 0x0700, 0x318a, 0x0000 }, - { 0x0700, 0x318c, 0x0000 }, - { 0x9a00, 0x3190, 0x2000 }, - { 0x0700, 0x318e, 0x0000 }, - { 0x1a00, 0x3191, 0x0000 }, - { 0x9a00, 0x3196, 0x3000 }, - { 0x8f00, 0x3194, 0x2000 }, - { 0x0f00, 0x3193, 0x0000 }, - { 0x0f00, 0x3195, 0x0000 }, - { 0x9a00, 0x3198, 0x2000 }, - { 0x1a00, 0x3197, 0x0000 }, - { 0x1a00, 0x3199, 0x0000 }, - { 0x8700, 0x31a2, 0x4000 }, - { 0x9a00, 0x319e, 0x3000 }, - { 0x9a00, 0x319c, 0x2000 }, - { 0x1a00, 0x319b, 0x0000 }, - { 0x1a00, 0x319d, 0x0000 }, - { 0x8700, 0x31a0, 0x2000 }, - { 0x1a00, 0x319f, 0x0000 }, - { 0x0700, 0x31a1, 0x0000 }, - { 0x8700, 0x31a6, 0x3000 }, - { 0x8700, 0x31a4, 0x2000 }, - { 0x0700, 0x31a3, 0x0000 }, - { 0x0700, 0x31a5, 0x0000 }, - { 0x8700, 0x31a8, 0x2000 }, - { 0x0700, 0x31a7, 0x0000 }, - { 0x0700, 0x31a9, 0x0000 }, - { 0x8700, 0x31f2, 0x5000 }, - { 0x8700, 0x31b2, 0x4000 }, - { 0x8700, 0x31ae, 0x3000 }, - { 0x8700, 0x31ac, 0x2000 }, - { 0x0700, 0x31ab, 0x0000 }, - { 0x0700, 0x31ad, 0x0000 }, - { 0x8700, 0x31b0, 0x2000 }, - { 0x0700, 0x31af, 0x0000 }, - { 0x0700, 0x31b1, 0x0000 }, - { 0x8700, 0x31b6, 0x3000 }, - { 0x8700, 0x31b4, 0x2000 }, - { 0x0700, 0x31b3, 0x0000 }, - { 0x0700, 0x31b5, 0x0000 }, - { 0x8700, 0x31f0, 0x2000 }, - { 0x0700, 0x31b7, 0x0000 }, - { 0x0700, 0x31f1, 0x0000 }, - { 0x8700, 0x31fa, 0x4000 }, - { 0x8700, 0x31f6, 0x3000 }, - { 0x8700, 0x31f4, 0x2000 }, - { 0x0700, 0x31f3, 0x0000 }, - { 0x0700, 0x31f5, 0x0000 }, - { 0x8700, 0x31f8, 0x2000 }, - { 0x0700, 0x31f7, 0x0000 }, - { 0x0700, 0x31f9, 0x0000 }, - { 0x8700, 0x31fe, 0x3000 }, - { 0x8700, 0x31fc, 0x2000 }, - { 0x0700, 0x31fb, 0x0000 }, - { 0x0700, 0x31fd, 0x0000 }, - { 0x9a00, 0x3200, 0x2000 }, - { 0x0700, 0x31ff, 0x0000 }, - { 0x1a00, 0x3201, 0x0000 }, - { 0x9a00, 0x3243, 0x7000 }, - { 0x8f00, 0x3223, 0x6000 }, - { 0x9a00, 0x3212, 0x5000 }, - { 0x9a00, 0x320a, 0x4000 }, - { 0x9a00, 0x3206, 0x3000 }, - { 0x9a00, 0x3204, 0x2000 }, - { 0x1a00, 0x3203, 0x0000 }, - { 0x1a00, 0x3205, 0x0000 }, - { 0x9a00, 0x3208, 0x2000 }, - { 0x1a00, 0x3207, 0x0000 }, - { 0x1a00, 0x3209, 0x0000 }, - { 0x9a00, 0x320e, 0x3000 }, - { 0x9a00, 0x320c, 0x2000 }, - { 0x1a00, 0x320b, 0x0000 }, - { 0x1a00, 0x320d, 0x0000 }, - { 0x9a00, 0x3210, 0x2000 }, - { 0x1a00, 0x320f, 0x0000 }, - { 0x1a00, 0x3211, 0x0000 }, - { 0x9a00, 0x321a, 0x4000 }, - { 0x9a00, 0x3216, 0x3000 }, - { 0x9a00, 0x3214, 0x2000 }, - { 0x1a00, 0x3213, 0x0000 }, - { 0x1a00, 0x3215, 0x0000 }, - { 0x9a00, 0x3218, 0x2000 }, - { 0x1a00, 0x3217, 0x0000 }, - { 0x1a00, 0x3219, 0x0000 }, - { 0x9a00, 0x321e, 0x3000 }, - { 0x9a00, 0x321c, 0x2000 }, - { 0x1a00, 0x321b, 0x0000 }, - { 0x1a00, 0x321d, 0x0000 }, - { 0x8f00, 0x3221, 0x2000 }, - { 0x0f00, 0x3220, 0x0000 }, - { 0x0f00, 0x3222, 0x0000 }, - { 0x9a00, 0x3233, 0x5000 }, - { 0x9a00, 0x322b, 0x4000 }, - { 0x8f00, 0x3227, 0x3000 }, - { 0x8f00, 0x3225, 0x2000 }, - { 0x0f00, 0x3224, 0x0000 }, - { 0x0f00, 0x3226, 0x0000 }, - { 0x8f00, 0x3229, 0x2000 }, - { 0x0f00, 0x3228, 0x0000 }, - { 0x1a00, 0x322a, 0x0000 }, - { 0x9a00, 0x322f, 0x3000 }, - { 0x9a00, 0x322d, 0x2000 }, - { 0x1a00, 0x322c, 0x0000 }, - { 0x1a00, 0x322e, 0x0000 }, - { 0x9a00, 0x3231, 0x2000 }, - { 0x1a00, 0x3230, 0x0000 }, - { 0x1a00, 0x3232, 0x0000 }, - { 0x9a00, 0x323b, 0x4000 }, - { 0x9a00, 0x3237, 0x3000 }, - { 0x9a00, 0x3235, 0x2000 }, - { 0x1a00, 0x3234, 0x0000 }, - { 0x1a00, 0x3236, 0x0000 }, - { 0x9a00, 0x3239, 0x2000 }, - { 0x1a00, 0x3238, 0x0000 }, - { 0x1a00, 0x323a, 0x0000 }, - { 0x9a00, 0x323f, 0x3000 }, - { 0x9a00, 0x323d, 0x2000 }, - { 0x1a00, 0x323c, 0x0000 }, - { 0x1a00, 0x323e, 0x0000 }, - { 0x9a00, 0x3241, 0x2000 }, - { 0x1a00, 0x3240, 0x0000 }, - { 0x1a00, 0x3242, 0x0000 }, - { 0x9a00, 0x326f, 0x6000 }, - { 0x8f00, 0x325f, 0x5000 }, - { 0x8f00, 0x3257, 0x4000 }, - { 0x8f00, 0x3253, 0x3000 }, - { 0x8f00, 0x3251, 0x2000 }, - { 0x1a00, 0x3250, 0x0000 }, - { 0x0f00, 0x3252, 0x0000 }, - { 0x8f00, 0x3255, 0x2000 }, - { 0x0f00, 0x3254, 0x0000 }, - { 0x0f00, 0x3256, 0x0000 }, - { 0x8f00, 0x325b, 0x3000 }, - { 0x8f00, 0x3259, 0x2000 }, - { 0x0f00, 0x3258, 0x0000 }, - { 0x0f00, 0x325a, 0x0000 }, - { 0x8f00, 0x325d, 0x2000 }, - { 0x0f00, 0x325c, 0x0000 }, - { 0x0f00, 0x325e, 0x0000 }, - { 0x9a00, 0x3267, 0x4000 }, - { 0x9a00, 0x3263, 0x3000 }, - { 0x9a00, 0x3261, 0x2000 }, - { 0x1a00, 0x3260, 0x0000 }, - { 0x1a00, 0x3262, 0x0000 }, - { 0x9a00, 0x3265, 0x2000 }, - { 0x1a00, 0x3264, 0x0000 }, - { 0x1a00, 0x3266, 0x0000 }, - { 0x9a00, 0x326b, 0x3000 }, - { 0x9a00, 0x3269, 0x2000 }, - { 0x1a00, 0x3268, 0x0000 }, - { 0x1a00, 0x326a, 0x0000 }, - { 0x9a00, 0x326d, 0x2000 }, - { 0x1a00, 0x326c, 0x0000 }, - { 0x1a00, 0x326e, 0x0000 }, - { 0x8f00, 0x3280, 0x5000 }, - { 0x9a00, 0x3277, 0x4000 }, - { 0x9a00, 0x3273, 0x3000 }, - { 0x9a00, 0x3271, 0x2000 }, - { 0x1a00, 0x3270, 0x0000 }, - { 0x1a00, 0x3272, 0x0000 }, - { 0x9a00, 0x3275, 0x2000 }, - { 0x1a00, 0x3274, 0x0000 }, - { 0x1a00, 0x3276, 0x0000 }, - { 0x9a00, 0x327b, 0x3000 }, - { 0x9a00, 0x3279, 0x2000 }, - { 0x1a00, 0x3278, 0x0000 }, - { 0x1a00, 0x327a, 0x0000 }, - { 0x9a00, 0x327d, 0x2000 }, - { 0x1a00, 0x327c, 0x0000 }, - { 0x1a00, 0x327f, 0x0000 }, - { 0x8f00, 0x3288, 0x4000 }, - { 0x8f00, 0x3284, 0x3000 }, - { 0x8f00, 0x3282, 0x2000 }, - { 0x0f00, 0x3281, 0x0000 }, - { 0x0f00, 0x3283, 0x0000 }, - { 0x8f00, 0x3286, 0x2000 }, - { 0x0f00, 0x3285, 0x0000 }, - { 0x0f00, 0x3287, 0x0000 }, - { 0x9a00, 0x328c, 0x3000 }, - { 0x9a00, 0x328a, 0x2000 }, - { 0x0f00, 0x3289, 0x0000 }, - { 0x1a00, 0x328b, 0x0000 }, - { 0x9a00, 0x328e, 0x2000 }, - { 0x1a00, 0x328d, 0x0000 }, - { 0x1a00, 0x328f, 0x0000 }, - { 0x9a00, 0x3311, 0x8000 }, - { 0x9a00, 0x32d0, 0x7000 }, - { 0x9a00, 0x32b0, 0x6000 }, - { 0x9a00, 0x32a0, 0x5000 }, - { 0x9a00, 0x3298, 0x4000 }, - { 0x9a00, 0x3294, 0x3000 }, - { 0x9a00, 0x3292, 0x2000 }, - { 0x1a00, 0x3291, 0x0000 }, - { 0x1a00, 0x3293, 0x0000 }, - { 0x9a00, 0x3296, 0x2000 }, - { 0x1a00, 0x3295, 0x0000 }, - { 0x1a00, 0x3297, 0x0000 }, - { 0x9a00, 0x329c, 0x3000 }, - { 0x9a00, 0x329a, 0x2000 }, - { 0x1a00, 0x3299, 0x0000 }, - { 0x1a00, 0x329b, 0x0000 }, - { 0x9a00, 0x329e, 0x2000 }, - { 0x1a00, 0x329d, 0x0000 }, - { 0x1a00, 0x329f, 0x0000 }, - { 0x9a00, 0x32a8, 0x4000 }, - { 0x9a00, 0x32a4, 0x3000 }, - { 0x9a00, 0x32a2, 0x2000 }, - { 0x1a00, 0x32a1, 0x0000 }, - { 0x1a00, 0x32a3, 0x0000 }, - { 0x9a00, 0x32a6, 0x2000 }, - { 0x1a00, 0x32a5, 0x0000 }, - { 0x1a00, 0x32a7, 0x0000 }, - { 0x9a00, 0x32ac, 0x3000 }, - { 0x9a00, 0x32aa, 0x2000 }, - { 0x1a00, 0x32a9, 0x0000 }, - { 0x1a00, 0x32ab, 0x0000 }, - { 0x9a00, 0x32ae, 0x2000 }, - { 0x1a00, 0x32ad, 0x0000 }, - { 0x1a00, 0x32af, 0x0000 }, - { 0x9a00, 0x32c0, 0x5000 }, - { 0x8f00, 0x32b8, 0x4000 }, - { 0x8f00, 0x32b4, 0x3000 }, - { 0x8f00, 0x32b2, 0x2000 }, - { 0x0f00, 0x32b1, 0x0000 }, - { 0x0f00, 0x32b3, 0x0000 }, - { 0x8f00, 0x32b6, 0x2000 }, - { 0x0f00, 0x32b5, 0x0000 }, - { 0x0f00, 0x32b7, 0x0000 }, - { 0x8f00, 0x32bc, 0x3000 }, - { 0x8f00, 0x32ba, 0x2000 }, - { 0x0f00, 0x32b9, 0x0000 }, - { 0x0f00, 0x32bb, 0x0000 }, - { 0x8f00, 0x32be, 0x2000 }, - { 0x0f00, 0x32bd, 0x0000 }, - { 0x0f00, 0x32bf, 0x0000 }, - { 0x9a00, 0x32c8, 0x4000 }, - { 0x9a00, 0x32c4, 0x3000 }, - { 0x9a00, 0x32c2, 0x2000 }, - { 0x1a00, 0x32c1, 0x0000 }, - { 0x1a00, 0x32c3, 0x0000 }, - { 0x9a00, 0x32c6, 0x2000 }, - { 0x1a00, 0x32c5, 0x0000 }, - { 0x1a00, 0x32c7, 0x0000 }, - { 0x9a00, 0x32cc, 0x3000 }, - { 0x9a00, 0x32ca, 0x2000 }, - { 0x1a00, 0x32c9, 0x0000 }, - { 0x1a00, 0x32cb, 0x0000 }, - { 0x9a00, 0x32ce, 0x2000 }, - { 0x1a00, 0x32cd, 0x0000 }, - { 0x1a00, 0x32cf, 0x0000 }, - { 0x9a00, 0x32f0, 0x6000 }, - { 0x9a00, 0x32e0, 0x5000 }, - { 0x9a00, 0x32d8, 0x4000 }, - { 0x9a00, 0x32d4, 0x3000 }, - { 0x9a00, 0x32d2, 0x2000 }, - { 0x1a00, 0x32d1, 0x0000 }, - { 0x1a00, 0x32d3, 0x0000 }, - { 0x9a00, 0x32d6, 0x2000 }, - { 0x1a00, 0x32d5, 0x0000 }, - { 0x1a00, 0x32d7, 0x0000 }, - { 0x9a00, 0x32dc, 0x3000 }, - { 0x9a00, 0x32da, 0x2000 }, - { 0x1a00, 0x32d9, 0x0000 }, - { 0x1a00, 0x32db, 0x0000 }, - { 0x9a00, 0x32de, 0x2000 }, - { 0x1a00, 0x32dd, 0x0000 }, - { 0x1a00, 0x32df, 0x0000 }, - { 0x9a00, 0x32e8, 0x4000 }, - { 0x9a00, 0x32e4, 0x3000 }, - { 0x9a00, 0x32e2, 0x2000 }, - { 0x1a00, 0x32e1, 0x0000 }, - { 0x1a00, 0x32e3, 0x0000 }, - { 0x9a00, 0x32e6, 0x2000 }, - { 0x1a00, 0x32e5, 0x0000 }, - { 0x1a00, 0x32e7, 0x0000 }, - { 0x9a00, 0x32ec, 0x3000 }, - { 0x9a00, 0x32ea, 0x2000 }, - { 0x1a00, 0x32e9, 0x0000 }, - { 0x1a00, 0x32eb, 0x0000 }, - { 0x9a00, 0x32ee, 0x2000 }, - { 0x1a00, 0x32ed, 0x0000 }, - { 0x1a00, 0x32ef, 0x0000 }, - { 0x9a00, 0x3301, 0x5000 }, - { 0x9a00, 0x32f8, 0x4000 }, - { 0x9a00, 0x32f4, 0x3000 }, - { 0x9a00, 0x32f2, 0x2000 }, - { 0x1a00, 0x32f1, 0x0000 }, - { 0x1a00, 0x32f3, 0x0000 }, - { 0x9a00, 0x32f6, 0x2000 }, - { 0x1a00, 0x32f5, 0x0000 }, - { 0x1a00, 0x32f7, 0x0000 }, - { 0x9a00, 0x32fc, 0x3000 }, - { 0x9a00, 0x32fa, 0x2000 }, - { 0x1a00, 0x32f9, 0x0000 }, - { 0x1a00, 0x32fb, 0x0000 }, - { 0x9a00, 0x32fe, 0x2000 }, - { 0x1a00, 0x32fd, 0x0000 }, - { 0x1a00, 0x3300, 0x0000 }, - { 0x9a00, 0x3309, 0x4000 }, - { 0x9a00, 0x3305, 0x3000 }, - { 0x9a00, 0x3303, 0x2000 }, - { 0x1a00, 0x3302, 0x0000 }, - { 0x1a00, 0x3304, 0x0000 }, - { 0x9a00, 0x3307, 0x2000 }, - { 0x1a00, 0x3306, 0x0000 }, - { 0x1a00, 0x3308, 0x0000 }, - { 0x9a00, 0x330d, 0x3000 }, - { 0x9a00, 0x330b, 0x2000 }, - { 0x1a00, 0x330a, 0x0000 }, - { 0x1a00, 0x330c, 0x0000 }, - { 0x9a00, 0x330f, 0x2000 }, - { 0x1a00, 0x330e, 0x0000 }, - { 0x1a00, 0x3310, 0x0000 }, - { 0x9a00, 0x3351, 0x7000 }, - { 0x9a00, 0x3331, 0x6000 }, - { 0x9a00, 0x3321, 0x5000 }, - { 0x9a00, 0x3319, 0x4000 }, - { 0x9a00, 0x3315, 0x3000 }, - { 0x9a00, 0x3313, 0x2000 }, - { 0x1a00, 0x3312, 0x0000 }, - { 0x1a00, 0x3314, 0x0000 }, - { 0x9a00, 0x3317, 0x2000 }, - { 0x1a00, 0x3316, 0x0000 }, - { 0x1a00, 0x3318, 0x0000 }, - { 0x9a00, 0x331d, 0x3000 }, - { 0x9a00, 0x331b, 0x2000 }, - { 0x1a00, 0x331a, 0x0000 }, - { 0x1a00, 0x331c, 0x0000 }, - { 0x9a00, 0x331f, 0x2000 }, - { 0x1a00, 0x331e, 0x0000 }, - { 0x1a00, 0x3320, 0x0000 }, - { 0x9a00, 0x3329, 0x4000 }, - { 0x9a00, 0x3325, 0x3000 }, - { 0x9a00, 0x3323, 0x2000 }, - { 0x1a00, 0x3322, 0x0000 }, - { 0x1a00, 0x3324, 0x0000 }, - { 0x9a00, 0x3327, 0x2000 }, - { 0x1a00, 0x3326, 0x0000 }, - { 0x1a00, 0x3328, 0x0000 }, - { 0x9a00, 0x332d, 0x3000 }, - { 0x9a00, 0x332b, 0x2000 }, - { 0x1a00, 0x332a, 0x0000 }, - { 0x1a00, 0x332c, 0x0000 }, - { 0x9a00, 0x332f, 0x2000 }, - { 0x1a00, 0x332e, 0x0000 }, - { 0x1a00, 0x3330, 0x0000 }, - { 0x9a00, 0x3341, 0x5000 }, - { 0x9a00, 0x3339, 0x4000 }, - { 0x9a00, 0x3335, 0x3000 }, - { 0x9a00, 0x3333, 0x2000 }, - { 0x1a00, 0x3332, 0x0000 }, - { 0x1a00, 0x3334, 0x0000 }, - { 0x9a00, 0x3337, 0x2000 }, - { 0x1a00, 0x3336, 0x0000 }, - { 0x1a00, 0x3338, 0x0000 }, - { 0x9a00, 0x333d, 0x3000 }, - { 0x9a00, 0x333b, 0x2000 }, - { 0x1a00, 0x333a, 0x0000 }, - { 0x1a00, 0x333c, 0x0000 }, - { 0x9a00, 0x333f, 0x2000 }, - { 0x1a00, 0x333e, 0x0000 }, - { 0x1a00, 0x3340, 0x0000 }, - { 0x9a00, 0x3349, 0x4000 }, - { 0x9a00, 0x3345, 0x3000 }, - { 0x9a00, 0x3343, 0x2000 }, - { 0x1a00, 0x3342, 0x0000 }, - { 0x1a00, 0x3344, 0x0000 }, - { 0x9a00, 0x3347, 0x2000 }, - { 0x1a00, 0x3346, 0x0000 }, - { 0x1a00, 0x3348, 0x0000 }, - { 0x9a00, 0x334d, 0x3000 }, - { 0x9a00, 0x334b, 0x2000 }, - { 0x1a00, 0x334a, 0x0000 }, - { 0x1a00, 0x334c, 0x0000 }, - { 0x9a00, 0x334f, 0x2000 }, - { 0x1a00, 0x334e, 0x0000 }, - { 0x1a00, 0x3350, 0x0000 }, - { 0x9a00, 0x3371, 0x6000 }, - { 0x9a00, 0x3361, 0x5000 }, - { 0x9a00, 0x3359, 0x4000 }, - { 0x9a00, 0x3355, 0x3000 }, - { 0x9a00, 0x3353, 0x2000 }, - { 0x1a00, 0x3352, 0x0000 }, - { 0x1a00, 0x3354, 0x0000 }, - { 0x9a00, 0x3357, 0x2000 }, - { 0x1a00, 0x3356, 0x0000 }, - { 0x1a00, 0x3358, 0x0000 }, - { 0x9a00, 0x335d, 0x3000 }, - { 0x9a00, 0x335b, 0x2000 }, - { 0x1a00, 0x335a, 0x0000 }, - { 0x1a00, 0x335c, 0x0000 }, - { 0x9a00, 0x335f, 0x2000 }, - { 0x1a00, 0x335e, 0x0000 }, - { 0x1a00, 0x3360, 0x0000 }, - { 0x9a00, 0x3369, 0x4000 }, - { 0x9a00, 0x3365, 0x3000 }, - { 0x9a00, 0x3363, 0x2000 }, - { 0x1a00, 0x3362, 0x0000 }, - { 0x1a00, 0x3364, 0x0000 }, - { 0x9a00, 0x3367, 0x2000 }, - { 0x1a00, 0x3366, 0x0000 }, - { 0x1a00, 0x3368, 0x0000 }, - { 0x9a00, 0x336d, 0x3000 }, - { 0x9a00, 0x336b, 0x2000 }, - { 0x1a00, 0x336a, 0x0000 }, - { 0x1a00, 0x336c, 0x0000 }, - { 0x9a00, 0x336f, 0x2000 }, - { 0x1a00, 0x336e, 0x0000 }, - { 0x1a00, 0x3370, 0x0000 }, - { 0x9a00, 0x3381, 0x5000 }, - { 0x9a00, 0x3379, 0x4000 }, - { 0x9a00, 0x3375, 0x3000 }, - { 0x9a00, 0x3373, 0x2000 }, - { 0x1a00, 0x3372, 0x0000 }, - { 0x1a00, 0x3374, 0x0000 }, - { 0x9a00, 0x3377, 0x2000 }, - { 0x1a00, 0x3376, 0x0000 }, - { 0x1a00, 0x3378, 0x0000 }, - { 0x9a00, 0x337d, 0x3000 }, - { 0x9a00, 0x337b, 0x2000 }, - { 0x1a00, 0x337a, 0x0000 }, - { 0x1a00, 0x337c, 0x0000 }, - { 0x9a00, 0x337f, 0x2000 }, - { 0x1a00, 0x337e, 0x0000 }, - { 0x1a00, 0x3380, 0x0000 }, - { 0x9a00, 0x3389, 0x4000 }, - { 0x9a00, 0x3385, 0x3000 }, - { 0x9a00, 0x3383, 0x2000 }, - { 0x1a00, 0x3382, 0x0000 }, - { 0x1a00, 0x3384, 0x0000 }, - { 0x9a00, 0x3387, 0x2000 }, - { 0x1a00, 0x3386, 0x0000 }, - { 0x1a00, 0x3388, 0x0000 }, - { 0x9a00, 0x338d, 0x3000 }, - { 0x9a00, 0x338b, 0x2000 }, - { 0x1a00, 0x338a, 0x0000 }, - { 0x1a00, 0x338c, 0x0000 }, - { 0x9a00, 0x338f, 0x2000 }, - { 0x1a00, 0x338e, 0x0000 }, - { 0x1a00, 0x3390, 0x0000 }, - { 0x8700, 0xa14d, 0xa000 }, - { 0x8700, 0xa04d, 0x9000 }, - { 0x9a00, 0x4dcf, 0x8000 }, - { 0x9a00, 0x33d1, 0x7000 }, - { 0x9a00, 0x33b1, 0x6000 }, - { 0x9a00, 0x33a1, 0x5000 }, - { 0x9a00, 0x3399, 0x4000 }, - { 0x9a00, 0x3395, 0x3000 }, - { 0x9a00, 0x3393, 0x2000 }, - { 0x1a00, 0x3392, 0x0000 }, - { 0x1a00, 0x3394, 0x0000 }, - { 0x9a00, 0x3397, 0x2000 }, - { 0x1a00, 0x3396, 0x0000 }, - { 0x1a00, 0x3398, 0x0000 }, - { 0x9a00, 0x339d, 0x3000 }, - { 0x9a00, 0x339b, 0x2000 }, - { 0x1a00, 0x339a, 0x0000 }, - { 0x1a00, 0x339c, 0x0000 }, - { 0x9a00, 0x339f, 0x2000 }, - { 0x1a00, 0x339e, 0x0000 }, - { 0x1a00, 0x33a0, 0x0000 }, - { 0x9a00, 0x33a9, 0x4000 }, - { 0x9a00, 0x33a5, 0x3000 }, - { 0x9a00, 0x33a3, 0x2000 }, - { 0x1a00, 0x33a2, 0x0000 }, - { 0x1a00, 0x33a4, 0x0000 }, - { 0x9a00, 0x33a7, 0x2000 }, - { 0x1a00, 0x33a6, 0x0000 }, - { 0x1a00, 0x33a8, 0x0000 }, - { 0x9a00, 0x33ad, 0x3000 }, - { 0x9a00, 0x33ab, 0x2000 }, - { 0x1a00, 0x33aa, 0x0000 }, - { 0x1a00, 0x33ac, 0x0000 }, - { 0x9a00, 0x33af, 0x2000 }, - { 0x1a00, 0x33ae, 0x0000 }, - { 0x1a00, 0x33b0, 0x0000 }, - { 0x9a00, 0x33c1, 0x5000 }, - { 0x9a00, 0x33b9, 0x4000 }, - { 0x9a00, 0x33b5, 0x3000 }, - { 0x9a00, 0x33b3, 0x2000 }, - { 0x1a00, 0x33b2, 0x0000 }, - { 0x1a00, 0x33b4, 0x0000 }, - { 0x9a00, 0x33b7, 0x2000 }, - { 0x1a00, 0x33b6, 0x0000 }, - { 0x1a00, 0x33b8, 0x0000 }, - { 0x9a00, 0x33bd, 0x3000 }, - { 0x9a00, 0x33bb, 0x2000 }, - { 0x1a00, 0x33ba, 0x0000 }, - { 0x1a00, 0x33bc, 0x0000 }, - { 0x9a00, 0x33bf, 0x2000 }, - { 0x1a00, 0x33be, 0x0000 }, - { 0x1a00, 0x33c0, 0x0000 }, - { 0x9a00, 0x33c9, 0x4000 }, - { 0x9a00, 0x33c5, 0x3000 }, - { 0x9a00, 0x33c3, 0x2000 }, - { 0x1a00, 0x33c2, 0x0000 }, - { 0x1a00, 0x33c4, 0x0000 }, - { 0x9a00, 0x33c7, 0x2000 }, - { 0x1a00, 0x33c6, 0x0000 }, - { 0x1a00, 0x33c8, 0x0000 }, - { 0x9a00, 0x33cd, 0x3000 }, - { 0x9a00, 0x33cb, 0x2000 }, - { 0x1a00, 0x33ca, 0x0000 }, - { 0x1a00, 0x33cc, 0x0000 }, - { 0x9a00, 0x33cf, 0x2000 }, - { 0x1a00, 0x33ce, 0x0000 }, - { 0x1a00, 0x33d0, 0x0000 }, - { 0x9a00, 0x33f1, 0x6000 }, - { 0x9a00, 0x33e1, 0x5000 }, - { 0x9a00, 0x33d9, 0x4000 }, - { 0x9a00, 0x33d5, 0x3000 }, - { 0x9a00, 0x33d3, 0x2000 }, - { 0x1a00, 0x33d2, 0x0000 }, - { 0x1a00, 0x33d4, 0x0000 }, - { 0x9a00, 0x33d7, 0x2000 }, - { 0x1a00, 0x33d6, 0x0000 }, - { 0x1a00, 0x33d8, 0x0000 }, - { 0x9a00, 0x33dd, 0x3000 }, - { 0x9a00, 0x33db, 0x2000 }, - { 0x1a00, 0x33da, 0x0000 }, - { 0x1a00, 0x33dc, 0x0000 }, - { 0x9a00, 0x33df, 0x2000 }, - { 0x1a00, 0x33de, 0x0000 }, - { 0x1a00, 0x33e0, 0x0000 }, - { 0x9a00, 0x33e9, 0x4000 }, - { 0x9a00, 0x33e5, 0x3000 }, - { 0x9a00, 0x33e3, 0x2000 }, - { 0x1a00, 0x33e2, 0x0000 }, - { 0x1a00, 0x33e4, 0x0000 }, - { 0x9a00, 0x33e7, 0x2000 }, - { 0x1a00, 0x33e6, 0x0000 }, - { 0x1a00, 0x33e8, 0x0000 }, - { 0x9a00, 0x33ed, 0x3000 }, - { 0x9a00, 0x33eb, 0x2000 }, - { 0x1a00, 0x33ea, 0x0000 }, - { 0x1a00, 0x33ec, 0x0000 }, - { 0x9a00, 0x33ef, 0x2000 }, - { 0x1a00, 0x33ee, 0x0000 }, - { 0x1a00, 0x33f0, 0x0000 }, - { 0x8700, 0x4db5, 0x5000 }, - { 0x9a00, 0x33f9, 0x4000 }, - { 0x9a00, 0x33f5, 0x3000 }, - { 0x9a00, 0x33f3, 0x2000 }, - { 0x1a00, 0x33f2, 0x0000 }, - { 0x1a00, 0x33f4, 0x0000 }, - { 0x9a00, 0x33f7, 0x2000 }, - { 0x1a00, 0x33f6, 0x0000 }, - { 0x1a00, 0x33f8, 0x0000 }, - { 0x9a00, 0x33fd, 0x3000 }, - { 0x9a00, 0x33fb, 0x2000 }, - { 0x1a00, 0x33fa, 0x0000 }, - { 0x1a00, 0x33fc, 0x0000 }, - { 0x9a00, 0x33ff, 0x2000 }, - { 0x1a00, 0x33fe, 0x0000 }, - { 0x0700, 0x3400, 0x0000 }, - { 0x9a00, 0x4dc7, 0x4000 }, - { 0x9a00, 0x4dc3, 0x3000 }, - { 0x9a00, 0x4dc1, 0x2000 }, - { 0x1a00, 0x4dc0, 0x0000 }, - { 0x1a00, 0x4dc2, 0x0000 }, - { 0x9a00, 0x4dc5, 0x2000 }, - { 0x1a00, 0x4dc4, 0x0000 }, - { 0x1a00, 0x4dc6, 0x0000 }, - { 0x9a00, 0x4dcb, 0x3000 }, - { 0x9a00, 0x4dc9, 0x2000 }, - { 0x1a00, 0x4dc8, 0x0000 }, - { 0x1a00, 0x4dca, 0x0000 }, - { 0x9a00, 0x4dcd, 0x2000 }, - { 0x1a00, 0x4dcc, 0x0000 }, - { 0x1a00, 0x4dce, 0x0000 }, - { 0x8700, 0xa00d, 0x7000 }, - { 0x9a00, 0x4def, 0x6000 }, - { 0x9a00, 0x4ddf, 0x5000 }, - { 0x9a00, 0x4dd7, 0x4000 }, - { 0x9a00, 0x4dd3, 0x3000 }, - { 0x9a00, 0x4dd1, 0x2000 }, - { 0x1a00, 0x4dd0, 0x0000 }, - { 0x1a00, 0x4dd2, 0x0000 }, - { 0x9a00, 0x4dd5, 0x2000 }, - { 0x1a00, 0x4dd4, 0x0000 }, - { 0x1a00, 0x4dd6, 0x0000 }, - { 0x9a00, 0x4ddb, 0x3000 }, - { 0x9a00, 0x4dd9, 0x2000 }, - { 0x1a00, 0x4dd8, 0x0000 }, - { 0x1a00, 0x4dda, 0x0000 }, - { 0x9a00, 0x4ddd, 0x2000 }, - { 0x1a00, 0x4ddc, 0x0000 }, - { 0x1a00, 0x4dde, 0x0000 }, - { 0x9a00, 0x4de7, 0x4000 }, - { 0x9a00, 0x4de3, 0x3000 }, - { 0x9a00, 0x4de1, 0x2000 }, - { 0x1a00, 0x4de0, 0x0000 }, - { 0x1a00, 0x4de2, 0x0000 }, - { 0x9a00, 0x4de5, 0x2000 }, - { 0x1a00, 0x4de4, 0x0000 }, - { 0x1a00, 0x4de6, 0x0000 }, - { 0x9a00, 0x4deb, 0x3000 }, - { 0x9a00, 0x4de9, 0x2000 }, - { 0x1a00, 0x4de8, 0x0000 }, - { 0x1a00, 0x4dea, 0x0000 }, - { 0x9a00, 0x4ded, 0x2000 }, - { 0x1a00, 0x4dec, 0x0000 }, - { 0x1a00, 0x4dee, 0x0000 }, - { 0x9a00, 0x4dff, 0x5000 }, - { 0x9a00, 0x4df7, 0x4000 }, - { 0x9a00, 0x4df3, 0x3000 }, - { 0x9a00, 0x4df1, 0x2000 }, - { 0x1a00, 0x4df0, 0x0000 }, - { 0x1a00, 0x4df2, 0x0000 }, - { 0x9a00, 0x4df5, 0x2000 }, - { 0x1a00, 0x4df4, 0x0000 }, - { 0x1a00, 0x4df6, 0x0000 }, - { 0x9a00, 0x4dfb, 0x3000 }, - { 0x9a00, 0x4df9, 0x2000 }, - { 0x1a00, 0x4df8, 0x0000 }, - { 0x1a00, 0x4dfa, 0x0000 }, - { 0x9a00, 0x4dfd, 0x2000 }, - { 0x1a00, 0x4dfc, 0x0000 }, - { 0x1a00, 0x4dfe, 0x0000 }, - { 0x8700, 0xa005, 0x4000 }, - { 0x8700, 0xa001, 0x3000 }, - { 0x8700, 0x9fa5, 0x2000 }, - { 0x0700, 0x4e00, 0x0000 }, - { 0x0700, 0xa000, 0x0000 }, - { 0x8700, 0xa003, 0x2000 }, - { 0x0700, 0xa002, 0x0000 }, - { 0x0700, 0xa004, 0x0000 }, - { 0x8700, 0xa009, 0x3000 }, - { 0x8700, 0xa007, 0x2000 }, - { 0x0700, 0xa006, 0x0000 }, - { 0x0700, 0xa008, 0x0000 }, - { 0x8700, 0xa00b, 0x2000 }, - { 0x0700, 0xa00a, 0x0000 }, - { 0x0700, 0xa00c, 0x0000 }, - { 0x8700, 0xa02d, 0x6000 }, - { 0x8700, 0xa01d, 0x5000 }, - { 0x8700, 0xa015, 0x4000 }, - { 0x8700, 0xa011, 0x3000 }, - { 0x8700, 0xa00f, 0x2000 }, - { 0x0700, 0xa00e, 0x0000 }, - { 0x0700, 0xa010, 0x0000 }, - { 0x8700, 0xa013, 0x2000 }, - { 0x0700, 0xa012, 0x0000 }, - { 0x0700, 0xa014, 0x0000 }, - { 0x8700, 0xa019, 0x3000 }, - { 0x8700, 0xa017, 0x2000 }, - { 0x0700, 0xa016, 0x0000 }, - { 0x0700, 0xa018, 0x0000 }, - { 0x8700, 0xa01b, 0x2000 }, - { 0x0700, 0xa01a, 0x0000 }, - { 0x0700, 0xa01c, 0x0000 }, - { 0x8700, 0xa025, 0x4000 }, - { 0x8700, 0xa021, 0x3000 }, - { 0x8700, 0xa01f, 0x2000 }, - { 0x0700, 0xa01e, 0x0000 }, - { 0x0700, 0xa020, 0x0000 }, - { 0x8700, 0xa023, 0x2000 }, - { 0x0700, 0xa022, 0x0000 }, - { 0x0700, 0xa024, 0x0000 }, - { 0x8700, 0xa029, 0x3000 }, - { 0x8700, 0xa027, 0x2000 }, - { 0x0700, 0xa026, 0x0000 }, - { 0x0700, 0xa028, 0x0000 }, - { 0x8700, 0xa02b, 0x2000 }, - { 0x0700, 0xa02a, 0x0000 }, - { 0x0700, 0xa02c, 0x0000 }, - { 0x8700, 0xa03d, 0x5000 }, - { 0x8700, 0xa035, 0x4000 }, - { 0x8700, 0xa031, 0x3000 }, - { 0x8700, 0xa02f, 0x2000 }, - { 0x0700, 0xa02e, 0x0000 }, - { 0x0700, 0xa030, 0x0000 }, - { 0x8700, 0xa033, 0x2000 }, - { 0x0700, 0xa032, 0x0000 }, - { 0x0700, 0xa034, 0x0000 }, - { 0x8700, 0xa039, 0x3000 }, - { 0x8700, 0xa037, 0x2000 }, - { 0x0700, 0xa036, 0x0000 }, - { 0x0700, 0xa038, 0x0000 }, - { 0x8700, 0xa03b, 0x2000 }, - { 0x0700, 0xa03a, 0x0000 }, - { 0x0700, 0xa03c, 0x0000 }, - { 0x8700, 0xa045, 0x4000 }, - { 0x8700, 0xa041, 0x3000 }, - { 0x8700, 0xa03f, 0x2000 }, - { 0x0700, 0xa03e, 0x0000 }, - { 0x0700, 0xa040, 0x0000 }, - { 0x8700, 0xa043, 0x2000 }, - { 0x0700, 0xa042, 0x0000 }, - { 0x0700, 0xa044, 0x0000 }, - { 0x8700, 0xa049, 0x3000 }, - { 0x8700, 0xa047, 0x2000 }, - { 0x0700, 0xa046, 0x0000 }, - { 0x0700, 0xa048, 0x0000 }, - { 0x8700, 0xa04b, 0x2000 }, - { 0x0700, 0xa04a, 0x0000 }, - { 0x0700, 0xa04c, 0x0000 }, - { 0x8700, 0xa0cd, 0x8000 }, - { 0x8700, 0xa08d, 0x7000 }, - { 0x8700, 0xa06d, 0x6000 }, - { 0x8700, 0xa05d, 0x5000 }, - { 0x8700, 0xa055, 0x4000 }, - { 0x8700, 0xa051, 0x3000 }, - { 0x8700, 0xa04f, 0x2000 }, - { 0x0700, 0xa04e, 0x0000 }, - { 0x0700, 0xa050, 0x0000 }, - { 0x8700, 0xa053, 0x2000 }, - { 0x0700, 0xa052, 0x0000 }, - { 0x0700, 0xa054, 0x0000 }, - { 0x8700, 0xa059, 0x3000 }, - { 0x8700, 0xa057, 0x2000 }, - { 0x0700, 0xa056, 0x0000 }, - { 0x0700, 0xa058, 0x0000 }, - { 0x8700, 0xa05b, 0x2000 }, - { 0x0700, 0xa05a, 0x0000 }, - { 0x0700, 0xa05c, 0x0000 }, - { 0x8700, 0xa065, 0x4000 }, - { 0x8700, 0xa061, 0x3000 }, - { 0x8700, 0xa05f, 0x2000 }, - { 0x0700, 0xa05e, 0x0000 }, - { 0x0700, 0xa060, 0x0000 }, - { 0x8700, 0xa063, 0x2000 }, - { 0x0700, 0xa062, 0x0000 }, - { 0x0700, 0xa064, 0x0000 }, - { 0x8700, 0xa069, 0x3000 }, - { 0x8700, 0xa067, 0x2000 }, - { 0x0700, 0xa066, 0x0000 }, - { 0x0700, 0xa068, 0x0000 }, - { 0x8700, 0xa06b, 0x2000 }, - { 0x0700, 0xa06a, 0x0000 }, - { 0x0700, 0xa06c, 0x0000 }, - { 0x8700, 0xa07d, 0x5000 }, - { 0x8700, 0xa075, 0x4000 }, - { 0x8700, 0xa071, 0x3000 }, - { 0x8700, 0xa06f, 0x2000 }, - { 0x0700, 0xa06e, 0x0000 }, - { 0x0700, 0xa070, 0x0000 }, - { 0x8700, 0xa073, 0x2000 }, - { 0x0700, 0xa072, 0x0000 }, - { 0x0700, 0xa074, 0x0000 }, - { 0x8700, 0xa079, 0x3000 }, - { 0x8700, 0xa077, 0x2000 }, - { 0x0700, 0xa076, 0x0000 }, - { 0x0700, 0xa078, 0x0000 }, - { 0x8700, 0xa07b, 0x2000 }, - { 0x0700, 0xa07a, 0x0000 }, - { 0x0700, 0xa07c, 0x0000 }, - { 0x8700, 0xa085, 0x4000 }, - { 0x8700, 0xa081, 0x3000 }, - { 0x8700, 0xa07f, 0x2000 }, - { 0x0700, 0xa07e, 0x0000 }, - { 0x0700, 0xa080, 0x0000 }, - { 0x8700, 0xa083, 0x2000 }, - { 0x0700, 0xa082, 0x0000 }, - { 0x0700, 0xa084, 0x0000 }, - { 0x8700, 0xa089, 0x3000 }, - { 0x8700, 0xa087, 0x2000 }, - { 0x0700, 0xa086, 0x0000 }, - { 0x0700, 0xa088, 0x0000 }, - { 0x8700, 0xa08b, 0x2000 }, - { 0x0700, 0xa08a, 0x0000 }, - { 0x0700, 0xa08c, 0x0000 }, - { 0x8700, 0xa0ad, 0x6000 }, - { 0x8700, 0xa09d, 0x5000 }, - { 0x8700, 0xa095, 0x4000 }, - { 0x8700, 0xa091, 0x3000 }, - { 0x8700, 0xa08f, 0x2000 }, - { 0x0700, 0xa08e, 0x0000 }, - { 0x0700, 0xa090, 0x0000 }, - { 0x8700, 0xa093, 0x2000 }, - { 0x0700, 0xa092, 0x0000 }, - { 0x0700, 0xa094, 0x0000 }, - { 0x8700, 0xa099, 0x3000 }, - { 0x8700, 0xa097, 0x2000 }, - { 0x0700, 0xa096, 0x0000 }, - { 0x0700, 0xa098, 0x0000 }, - { 0x8700, 0xa09b, 0x2000 }, - { 0x0700, 0xa09a, 0x0000 }, - { 0x0700, 0xa09c, 0x0000 }, - { 0x8700, 0xa0a5, 0x4000 }, - { 0x8700, 0xa0a1, 0x3000 }, - { 0x8700, 0xa09f, 0x2000 }, - { 0x0700, 0xa09e, 0x0000 }, - { 0x0700, 0xa0a0, 0x0000 }, - { 0x8700, 0xa0a3, 0x2000 }, - { 0x0700, 0xa0a2, 0x0000 }, - { 0x0700, 0xa0a4, 0x0000 }, - { 0x8700, 0xa0a9, 0x3000 }, - { 0x8700, 0xa0a7, 0x2000 }, - { 0x0700, 0xa0a6, 0x0000 }, - { 0x0700, 0xa0a8, 0x0000 }, - { 0x8700, 0xa0ab, 0x2000 }, - { 0x0700, 0xa0aa, 0x0000 }, - { 0x0700, 0xa0ac, 0x0000 }, - { 0x8700, 0xa0bd, 0x5000 }, - { 0x8700, 0xa0b5, 0x4000 }, - { 0x8700, 0xa0b1, 0x3000 }, - { 0x8700, 0xa0af, 0x2000 }, - { 0x0700, 0xa0ae, 0x0000 }, - { 0x0700, 0xa0b0, 0x0000 }, - { 0x8700, 0xa0b3, 0x2000 }, - { 0x0700, 0xa0b2, 0x0000 }, - { 0x0700, 0xa0b4, 0x0000 }, - { 0x8700, 0xa0b9, 0x3000 }, - { 0x8700, 0xa0b7, 0x2000 }, - { 0x0700, 0xa0b6, 0x0000 }, - { 0x0700, 0xa0b8, 0x0000 }, - { 0x8700, 0xa0bb, 0x2000 }, - { 0x0700, 0xa0ba, 0x0000 }, - { 0x0700, 0xa0bc, 0x0000 }, - { 0x8700, 0xa0c5, 0x4000 }, - { 0x8700, 0xa0c1, 0x3000 }, - { 0x8700, 0xa0bf, 0x2000 }, - { 0x0700, 0xa0be, 0x0000 }, - { 0x0700, 0xa0c0, 0x0000 }, - { 0x8700, 0xa0c3, 0x2000 }, - { 0x0700, 0xa0c2, 0x0000 }, - { 0x0700, 0xa0c4, 0x0000 }, - { 0x8700, 0xa0c9, 0x3000 }, - { 0x8700, 0xa0c7, 0x2000 }, - { 0x0700, 0xa0c6, 0x0000 }, - { 0x0700, 0xa0c8, 0x0000 }, - { 0x8700, 0xa0cb, 0x2000 }, - { 0x0700, 0xa0ca, 0x0000 }, - { 0x0700, 0xa0cc, 0x0000 }, - { 0x8700, 0xa10d, 0x7000 }, - { 0x8700, 0xa0ed, 0x6000 }, - { 0x8700, 0xa0dd, 0x5000 }, - { 0x8700, 0xa0d5, 0x4000 }, - { 0x8700, 0xa0d1, 0x3000 }, - { 0x8700, 0xa0cf, 0x2000 }, - { 0x0700, 0xa0ce, 0x0000 }, - { 0x0700, 0xa0d0, 0x0000 }, - { 0x8700, 0xa0d3, 0x2000 }, - { 0x0700, 0xa0d2, 0x0000 }, - { 0x0700, 0xa0d4, 0x0000 }, - { 0x8700, 0xa0d9, 0x3000 }, - { 0x8700, 0xa0d7, 0x2000 }, - { 0x0700, 0xa0d6, 0x0000 }, - { 0x0700, 0xa0d8, 0x0000 }, - { 0x8700, 0xa0db, 0x2000 }, - { 0x0700, 0xa0da, 0x0000 }, - { 0x0700, 0xa0dc, 0x0000 }, - { 0x8700, 0xa0e5, 0x4000 }, - { 0x8700, 0xa0e1, 0x3000 }, - { 0x8700, 0xa0df, 0x2000 }, - { 0x0700, 0xa0de, 0x0000 }, - { 0x0700, 0xa0e0, 0x0000 }, - { 0x8700, 0xa0e3, 0x2000 }, - { 0x0700, 0xa0e2, 0x0000 }, - { 0x0700, 0xa0e4, 0x0000 }, - { 0x8700, 0xa0e9, 0x3000 }, - { 0x8700, 0xa0e7, 0x2000 }, - { 0x0700, 0xa0e6, 0x0000 }, - { 0x0700, 0xa0e8, 0x0000 }, - { 0x8700, 0xa0eb, 0x2000 }, - { 0x0700, 0xa0ea, 0x0000 }, - { 0x0700, 0xa0ec, 0x0000 }, - { 0x8700, 0xa0fd, 0x5000 }, - { 0x8700, 0xa0f5, 0x4000 }, - { 0x8700, 0xa0f1, 0x3000 }, - { 0x8700, 0xa0ef, 0x2000 }, - { 0x0700, 0xa0ee, 0x0000 }, - { 0x0700, 0xa0f0, 0x0000 }, - { 0x8700, 0xa0f3, 0x2000 }, - { 0x0700, 0xa0f2, 0x0000 }, - { 0x0700, 0xa0f4, 0x0000 }, - { 0x8700, 0xa0f9, 0x3000 }, - { 0x8700, 0xa0f7, 0x2000 }, - { 0x0700, 0xa0f6, 0x0000 }, - { 0x0700, 0xa0f8, 0x0000 }, - { 0x8700, 0xa0fb, 0x2000 }, - { 0x0700, 0xa0fa, 0x0000 }, - { 0x0700, 0xa0fc, 0x0000 }, - { 0x8700, 0xa105, 0x4000 }, - { 0x8700, 0xa101, 0x3000 }, - { 0x8700, 0xa0ff, 0x2000 }, - { 0x0700, 0xa0fe, 0x0000 }, - { 0x0700, 0xa100, 0x0000 }, - { 0x8700, 0xa103, 0x2000 }, - { 0x0700, 0xa102, 0x0000 }, - { 0x0700, 0xa104, 0x0000 }, - { 0x8700, 0xa109, 0x3000 }, - { 0x8700, 0xa107, 0x2000 }, - { 0x0700, 0xa106, 0x0000 }, - { 0x0700, 0xa108, 0x0000 }, - { 0x8700, 0xa10b, 0x2000 }, - { 0x0700, 0xa10a, 0x0000 }, - { 0x0700, 0xa10c, 0x0000 }, - { 0x8700, 0xa12d, 0x6000 }, - { 0x8700, 0xa11d, 0x5000 }, - { 0x8700, 0xa115, 0x4000 }, - { 0x8700, 0xa111, 0x3000 }, - { 0x8700, 0xa10f, 0x2000 }, - { 0x0700, 0xa10e, 0x0000 }, - { 0x0700, 0xa110, 0x0000 }, - { 0x8700, 0xa113, 0x2000 }, - { 0x0700, 0xa112, 0x0000 }, - { 0x0700, 0xa114, 0x0000 }, - { 0x8700, 0xa119, 0x3000 }, - { 0x8700, 0xa117, 0x2000 }, - { 0x0700, 0xa116, 0x0000 }, - { 0x0700, 0xa118, 0x0000 }, - { 0x8700, 0xa11b, 0x2000 }, - { 0x0700, 0xa11a, 0x0000 }, - { 0x0700, 0xa11c, 0x0000 }, - { 0x8700, 0xa125, 0x4000 }, - { 0x8700, 0xa121, 0x3000 }, - { 0x8700, 0xa11f, 0x2000 }, - { 0x0700, 0xa11e, 0x0000 }, - { 0x0700, 0xa120, 0x0000 }, - { 0x8700, 0xa123, 0x2000 }, - { 0x0700, 0xa122, 0x0000 }, - { 0x0700, 0xa124, 0x0000 }, - { 0x8700, 0xa129, 0x3000 }, - { 0x8700, 0xa127, 0x2000 }, - { 0x0700, 0xa126, 0x0000 }, - { 0x0700, 0xa128, 0x0000 }, - { 0x8700, 0xa12b, 0x2000 }, - { 0x0700, 0xa12a, 0x0000 }, - { 0x0700, 0xa12c, 0x0000 }, - { 0x8700, 0xa13d, 0x5000 }, - { 0x8700, 0xa135, 0x4000 }, - { 0x8700, 0xa131, 0x3000 }, - { 0x8700, 0xa12f, 0x2000 }, - { 0x0700, 0xa12e, 0x0000 }, - { 0x0700, 0xa130, 0x0000 }, - { 0x8700, 0xa133, 0x2000 }, - { 0x0700, 0xa132, 0x0000 }, - { 0x0700, 0xa134, 0x0000 }, - { 0x8700, 0xa139, 0x3000 }, - { 0x8700, 0xa137, 0x2000 }, - { 0x0700, 0xa136, 0x0000 }, - { 0x0700, 0xa138, 0x0000 }, - { 0x8700, 0xa13b, 0x2000 }, - { 0x0700, 0xa13a, 0x0000 }, - { 0x0700, 0xa13c, 0x0000 }, - { 0x8700, 0xa145, 0x4000 }, - { 0x8700, 0xa141, 0x3000 }, - { 0x8700, 0xa13f, 0x2000 }, - { 0x0700, 0xa13e, 0x0000 }, - { 0x0700, 0xa140, 0x0000 }, - { 0x8700, 0xa143, 0x2000 }, - { 0x0700, 0xa142, 0x0000 }, - { 0x0700, 0xa144, 0x0000 }, - { 0x8700, 0xa149, 0x3000 }, - { 0x8700, 0xa147, 0x2000 }, - { 0x0700, 0xa146, 0x0000 }, - { 0x0700, 0xa148, 0x0000 }, - { 0x8700, 0xa14b, 0x2000 }, - { 0x0700, 0xa14a, 0x0000 }, - { 0x0700, 0xa14c, 0x0000 }, - { 0x8700, 0xa24d, 0x9000 }, - { 0x8700, 0xa1cd, 0x8000 }, - { 0x8700, 0xa18d, 0x7000 }, - { 0x8700, 0xa16d, 0x6000 }, - { 0x8700, 0xa15d, 0x5000 }, - { 0x8700, 0xa155, 0x4000 }, - { 0x8700, 0xa151, 0x3000 }, - { 0x8700, 0xa14f, 0x2000 }, - { 0x0700, 0xa14e, 0x0000 }, - { 0x0700, 0xa150, 0x0000 }, - { 0x8700, 0xa153, 0x2000 }, - { 0x0700, 0xa152, 0x0000 }, - { 0x0700, 0xa154, 0x0000 }, - { 0x8700, 0xa159, 0x3000 }, - { 0x8700, 0xa157, 0x2000 }, - { 0x0700, 0xa156, 0x0000 }, - { 0x0700, 0xa158, 0x0000 }, - { 0x8700, 0xa15b, 0x2000 }, - { 0x0700, 0xa15a, 0x0000 }, - { 0x0700, 0xa15c, 0x0000 }, - { 0x8700, 0xa165, 0x4000 }, - { 0x8700, 0xa161, 0x3000 }, - { 0x8700, 0xa15f, 0x2000 }, - { 0x0700, 0xa15e, 0x0000 }, - { 0x0700, 0xa160, 0x0000 }, - { 0x8700, 0xa163, 0x2000 }, - { 0x0700, 0xa162, 0x0000 }, - { 0x0700, 0xa164, 0x0000 }, - { 0x8700, 0xa169, 0x3000 }, - { 0x8700, 0xa167, 0x2000 }, - { 0x0700, 0xa166, 0x0000 }, - { 0x0700, 0xa168, 0x0000 }, - { 0x8700, 0xa16b, 0x2000 }, - { 0x0700, 0xa16a, 0x0000 }, - { 0x0700, 0xa16c, 0x0000 }, - { 0x8700, 0xa17d, 0x5000 }, - { 0x8700, 0xa175, 0x4000 }, - { 0x8700, 0xa171, 0x3000 }, - { 0x8700, 0xa16f, 0x2000 }, - { 0x0700, 0xa16e, 0x0000 }, - { 0x0700, 0xa170, 0x0000 }, - { 0x8700, 0xa173, 0x2000 }, - { 0x0700, 0xa172, 0x0000 }, - { 0x0700, 0xa174, 0x0000 }, - { 0x8700, 0xa179, 0x3000 }, - { 0x8700, 0xa177, 0x2000 }, - { 0x0700, 0xa176, 0x0000 }, - { 0x0700, 0xa178, 0x0000 }, - { 0x8700, 0xa17b, 0x2000 }, - { 0x0700, 0xa17a, 0x0000 }, - { 0x0700, 0xa17c, 0x0000 }, - { 0x8700, 0xa185, 0x4000 }, - { 0x8700, 0xa181, 0x3000 }, - { 0x8700, 0xa17f, 0x2000 }, - { 0x0700, 0xa17e, 0x0000 }, - { 0x0700, 0xa180, 0x0000 }, - { 0x8700, 0xa183, 0x2000 }, - { 0x0700, 0xa182, 0x0000 }, - { 0x0700, 0xa184, 0x0000 }, - { 0x8700, 0xa189, 0x3000 }, - { 0x8700, 0xa187, 0x2000 }, - { 0x0700, 0xa186, 0x0000 }, - { 0x0700, 0xa188, 0x0000 }, - { 0x8700, 0xa18b, 0x2000 }, - { 0x0700, 0xa18a, 0x0000 }, - { 0x0700, 0xa18c, 0x0000 }, - { 0x8700, 0xa1ad, 0x6000 }, - { 0x8700, 0xa19d, 0x5000 }, - { 0x8700, 0xa195, 0x4000 }, - { 0x8700, 0xa191, 0x3000 }, - { 0x8700, 0xa18f, 0x2000 }, - { 0x0700, 0xa18e, 0x0000 }, - { 0x0700, 0xa190, 0x0000 }, - { 0x8700, 0xa193, 0x2000 }, - { 0x0700, 0xa192, 0x0000 }, - { 0x0700, 0xa194, 0x0000 }, - { 0x8700, 0xa199, 0x3000 }, - { 0x8700, 0xa197, 0x2000 }, - { 0x0700, 0xa196, 0x0000 }, - { 0x0700, 0xa198, 0x0000 }, - { 0x8700, 0xa19b, 0x2000 }, - { 0x0700, 0xa19a, 0x0000 }, - { 0x0700, 0xa19c, 0x0000 }, - { 0x8700, 0xa1a5, 0x4000 }, - { 0x8700, 0xa1a1, 0x3000 }, - { 0x8700, 0xa19f, 0x2000 }, - { 0x0700, 0xa19e, 0x0000 }, - { 0x0700, 0xa1a0, 0x0000 }, - { 0x8700, 0xa1a3, 0x2000 }, - { 0x0700, 0xa1a2, 0x0000 }, - { 0x0700, 0xa1a4, 0x0000 }, - { 0x8700, 0xa1a9, 0x3000 }, - { 0x8700, 0xa1a7, 0x2000 }, - { 0x0700, 0xa1a6, 0x0000 }, - { 0x0700, 0xa1a8, 0x0000 }, - { 0x8700, 0xa1ab, 0x2000 }, - { 0x0700, 0xa1aa, 0x0000 }, - { 0x0700, 0xa1ac, 0x0000 }, - { 0x8700, 0xa1bd, 0x5000 }, - { 0x8700, 0xa1b5, 0x4000 }, - { 0x8700, 0xa1b1, 0x3000 }, - { 0x8700, 0xa1af, 0x2000 }, - { 0x0700, 0xa1ae, 0x0000 }, - { 0x0700, 0xa1b0, 0x0000 }, - { 0x8700, 0xa1b3, 0x2000 }, - { 0x0700, 0xa1b2, 0x0000 }, - { 0x0700, 0xa1b4, 0x0000 }, - { 0x8700, 0xa1b9, 0x3000 }, - { 0x8700, 0xa1b7, 0x2000 }, - { 0x0700, 0xa1b6, 0x0000 }, - { 0x0700, 0xa1b8, 0x0000 }, - { 0x8700, 0xa1bb, 0x2000 }, - { 0x0700, 0xa1ba, 0x0000 }, - { 0x0700, 0xa1bc, 0x0000 }, - { 0x8700, 0xa1c5, 0x4000 }, - { 0x8700, 0xa1c1, 0x3000 }, - { 0x8700, 0xa1bf, 0x2000 }, - { 0x0700, 0xa1be, 0x0000 }, - { 0x0700, 0xa1c0, 0x0000 }, - { 0x8700, 0xa1c3, 0x2000 }, - { 0x0700, 0xa1c2, 0x0000 }, - { 0x0700, 0xa1c4, 0x0000 }, - { 0x8700, 0xa1c9, 0x3000 }, - { 0x8700, 0xa1c7, 0x2000 }, - { 0x0700, 0xa1c6, 0x0000 }, - { 0x0700, 0xa1c8, 0x0000 }, - { 0x8700, 0xa1cb, 0x2000 }, - { 0x0700, 0xa1ca, 0x0000 }, - { 0x0700, 0xa1cc, 0x0000 }, - { 0x8700, 0xa20d, 0x7000 }, - { 0x8700, 0xa1ed, 0x6000 }, - { 0x8700, 0xa1dd, 0x5000 }, - { 0x8700, 0xa1d5, 0x4000 }, - { 0x8700, 0xa1d1, 0x3000 }, - { 0x8700, 0xa1cf, 0x2000 }, - { 0x0700, 0xa1ce, 0x0000 }, - { 0x0700, 0xa1d0, 0x0000 }, - { 0x8700, 0xa1d3, 0x2000 }, - { 0x0700, 0xa1d2, 0x0000 }, - { 0x0700, 0xa1d4, 0x0000 }, - { 0x8700, 0xa1d9, 0x3000 }, - { 0x8700, 0xa1d7, 0x2000 }, - { 0x0700, 0xa1d6, 0x0000 }, - { 0x0700, 0xa1d8, 0x0000 }, - { 0x8700, 0xa1db, 0x2000 }, - { 0x0700, 0xa1da, 0x0000 }, - { 0x0700, 0xa1dc, 0x0000 }, - { 0x8700, 0xa1e5, 0x4000 }, - { 0x8700, 0xa1e1, 0x3000 }, - { 0x8700, 0xa1df, 0x2000 }, - { 0x0700, 0xa1de, 0x0000 }, - { 0x0700, 0xa1e0, 0x0000 }, - { 0x8700, 0xa1e3, 0x2000 }, - { 0x0700, 0xa1e2, 0x0000 }, - { 0x0700, 0xa1e4, 0x0000 }, - { 0x8700, 0xa1e9, 0x3000 }, - { 0x8700, 0xa1e7, 0x2000 }, - { 0x0700, 0xa1e6, 0x0000 }, - { 0x0700, 0xa1e8, 0x0000 }, - { 0x8700, 0xa1eb, 0x2000 }, - { 0x0700, 0xa1ea, 0x0000 }, - { 0x0700, 0xa1ec, 0x0000 }, - { 0x8700, 0xa1fd, 0x5000 }, - { 0x8700, 0xa1f5, 0x4000 }, - { 0x8700, 0xa1f1, 0x3000 }, - { 0x8700, 0xa1ef, 0x2000 }, - { 0x0700, 0xa1ee, 0x0000 }, - { 0x0700, 0xa1f0, 0x0000 }, - { 0x8700, 0xa1f3, 0x2000 }, - { 0x0700, 0xa1f2, 0x0000 }, - { 0x0700, 0xa1f4, 0x0000 }, - { 0x8700, 0xa1f9, 0x3000 }, - { 0x8700, 0xa1f7, 0x2000 }, - { 0x0700, 0xa1f6, 0x0000 }, - { 0x0700, 0xa1f8, 0x0000 }, - { 0x8700, 0xa1fb, 0x2000 }, - { 0x0700, 0xa1fa, 0x0000 }, - { 0x0700, 0xa1fc, 0x0000 }, - { 0x8700, 0xa205, 0x4000 }, - { 0x8700, 0xa201, 0x3000 }, - { 0x8700, 0xa1ff, 0x2000 }, - { 0x0700, 0xa1fe, 0x0000 }, - { 0x0700, 0xa200, 0x0000 }, - { 0x8700, 0xa203, 0x2000 }, - { 0x0700, 0xa202, 0x0000 }, - { 0x0700, 0xa204, 0x0000 }, - { 0x8700, 0xa209, 0x3000 }, - { 0x8700, 0xa207, 0x2000 }, - { 0x0700, 0xa206, 0x0000 }, - { 0x0700, 0xa208, 0x0000 }, - { 0x8700, 0xa20b, 0x2000 }, - { 0x0700, 0xa20a, 0x0000 }, - { 0x0700, 0xa20c, 0x0000 }, - { 0x8700, 0xa22d, 0x6000 }, - { 0x8700, 0xa21d, 0x5000 }, - { 0x8700, 0xa215, 0x4000 }, - { 0x8700, 0xa211, 0x3000 }, - { 0x8700, 0xa20f, 0x2000 }, - { 0x0700, 0xa20e, 0x0000 }, - { 0x0700, 0xa210, 0x0000 }, - { 0x8700, 0xa213, 0x2000 }, - { 0x0700, 0xa212, 0x0000 }, - { 0x0700, 0xa214, 0x0000 }, - { 0x8700, 0xa219, 0x3000 }, - { 0x8700, 0xa217, 0x2000 }, - { 0x0700, 0xa216, 0x0000 }, - { 0x0700, 0xa218, 0x0000 }, - { 0x8700, 0xa21b, 0x2000 }, - { 0x0700, 0xa21a, 0x0000 }, - { 0x0700, 0xa21c, 0x0000 }, - { 0x8700, 0xa225, 0x4000 }, - { 0x8700, 0xa221, 0x3000 }, - { 0x8700, 0xa21f, 0x2000 }, - { 0x0700, 0xa21e, 0x0000 }, - { 0x0700, 0xa220, 0x0000 }, - { 0x8700, 0xa223, 0x2000 }, - { 0x0700, 0xa222, 0x0000 }, - { 0x0700, 0xa224, 0x0000 }, - { 0x8700, 0xa229, 0x3000 }, - { 0x8700, 0xa227, 0x2000 }, - { 0x0700, 0xa226, 0x0000 }, - { 0x0700, 0xa228, 0x0000 }, - { 0x8700, 0xa22b, 0x2000 }, - { 0x0700, 0xa22a, 0x0000 }, - { 0x0700, 0xa22c, 0x0000 }, - { 0x8700, 0xa23d, 0x5000 }, - { 0x8700, 0xa235, 0x4000 }, - { 0x8700, 0xa231, 0x3000 }, - { 0x8700, 0xa22f, 0x2000 }, - { 0x0700, 0xa22e, 0x0000 }, - { 0x0700, 0xa230, 0x0000 }, - { 0x8700, 0xa233, 0x2000 }, - { 0x0700, 0xa232, 0x0000 }, - { 0x0700, 0xa234, 0x0000 }, - { 0x8700, 0xa239, 0x3000 }, - { 0x8700, 0xa237, 0x2000 }, - { 0x0700, 0xa236, 0x0000 }, - { 0x0700, 0xa238, 0x0000 }, - { 0x8700, 0xa23b, 0x2000 }, - { 0x0700, 0xa23a, 0x0000 }, - { 0x0700, 0xa23c, 0x0000 }, - { 0x8700, 0xa245, 0x4000 }, - { 0x8700, 0xa241, 0x3000 }, - { 0x8700, 0xa23f, 0x2000 }, - { 0x0700, 0xa23e, 0x0000 }, - { 0x0700, 0xa240, 0x0000 }, - { 0x8700, 0xa243, 0x2000 }, - { 0x0700, 0xa242, 0x0000 }, - { 0x0700, 0xa244, 0x0000 }, - { 0x8700, 0xa249, 0x3000 }, - { 0x8700, 0xa247, 0x2000 }, - { 0x0700, 0xa246, 0x0000 }, - { 0x0700, 0xa248, 0x0000 }, - { 0x8700, 0xa24b, 0x2000 }, - { 0x0700, 0xa24a, 0x0000 }, - { 0x0700, 0xa24c, 0x0000 }, - { 0x8700, 0xa2cd, 0x8000 }, - { 0x8700, 0xa28d, 0x7000 }, - { 0x8700, 0xa26d, 0x6000 }, - { 0x8700, 0xa25d, 0x5000 }, - { 0x8700, 0xa255, 0x4000 }, - { 0x8700, 0xa251, 0x3000 }, - { 0x8700, 0xa24f, 0x2000 }, - { 0x0700, 0xa24e, 0x0000 }, - { 0x0700, 0xa250, 0x0000 }, - { 0x8700, 0xa253, 0x2000 }, - { 0x0700, 0xa252, 0x0000 }, - { 0x0700, 0xa254, 0x0000 }, - { 0x8700, 0xa259, 0x3000 }, - { 0x8700, 0xa257, 0x2000 }, - { 0x0700, 0xa256, 0x0000 }, - { 0x0700, 0xa258, 0x0000 }, - { 0x8700, 0xa25b, 0x2000 }, - { 0x0700, 0xa25a, 0x0000 }, - { 0x0700, 0xa25c, 0x0000 }, - { 0x8700, 0xa265, 0x4000 }, - { 0x8700, 0xa261, 0x3000 }, - { 0x8700, 0xa25f, 0x2000 }, - { 0x0700, 0xa25e, 0x0000 }, - { 0x0700, 0xa260, 0x0000 }, - { 0x8700, 0xa263, 0x2000 }, - { 0x0700, 0xa262, 0x0000 }, - { 0x0700, 0xa264, 0x0000 }, - { 0x8700, 0xa269, 0x3000 }, - { 0x8700, 0xa267, 0x2000 }, - { 0x0700, 0xa266, 0x0000 }, - { 0x0700, 0xa268, 0x0000 }, - { 0x8700, 0xa26b, 0x2000 }, - { 0x0700, 0xa26a, 0x0000 }, - { 0x0700, 0xa26c, 0x0000 }, - { 0x8700, 0xa27d, 0x5000 }, - { 0x8700, 0xa275, 0x4000 }, - { 0x8700, 0xa271, 0x3000 }, - { 0x8700, 0xa26f, 0x2000 }, - { 0x0700, 0xa26e, 0x0000 }, - { 0x0700, 0xa270, 0x0000 }, - { 0x8700, 0xa273, 0x2000 }, - { 0x0700, 0xa272, 0x0000 }, - { 0x0700, 0xa274, 0x0000 }, - { 0x8700, 0xa279, 0x3000 }, - { 0x8700, 0xa277, 0x2000 }, - { 0x0700, 0xa276, 0x0000 }, - { 0x0700, 0xa278, 0x0000 }, - { 0x8700, 0xa27b, 0x2000 }, - { 0x0700, 0xa27a, 0x0000 }, - { 0x0700, 0xa27c, 0x0000 }, - { 0x8700, 0xa285, 0x4000 }, - { 0x8700, 0xa281, 0x3000 }, - { 0x8700, 0xa27f, 0x2000 }, - { 0x0700, 0xa27e, 0x0000 }, - { 0x0700, 0xa280, 0x0000 }, - { 0x8700, 0xa283, 0x2000 }, - { 0x0700, 0xa282, 0x0000 }, - { 0x0700, 0xa284, 0x0000 }, - { 0x8700, 0xa289, 0x3000 }, - { 0x8700, 0xa287, 0x2000 }, - { 0x0700, 0xa286, 0x0000 }, - { 0x0700, 0xa288, 0x0000 }, - { 0x8700, 0xa28b, 0x2000 }, - { 0x0700, 0xa28a, 0x0000 }, - { 0x0700, 0xa28c, 0x0000 }, - { 0x8700, 0xa2ad, 0x6000 }, - { 0x8700, 0xa29d, 0x5000 }, - { 0x8700, 0xa295, 0x4000 }, - { 0x8700, 0xa291, 0x3000 }, - { 0x8700, 0xa28f, 0x2000 }, - { 0x0700, 0xa28e, 0x0000 }, - { 0x0700, 0xa290, 0x0000 }, - { 0x8700, 0xa293, 0x2000 }, - { 0x0700, 0xa292, 0x0000 }, - { 0x0700, 0xa294, 0x0000 }, - { 0x8700, 0xa299, 0x3000 }, - { 0x8700, 0xa297, 0x2000 }, - { 0x0700, 0xa296, 0x0000 }, - { 0x0700, 0xa298, 0x0000 }, - { 0x8700, 0xa29b, 0x2000 }, - { 0x0700, 0xa29a, 0x0000 }, - { 0x0700, 0xa29c, 0x0000 }, - { 0x8700, 0xa2a5, 0x4000 }, - { 0x8700, 0xa2a1, 0x3000 }, - { 0x8700, 0xa29f, 0x2000 }, - { 0x0700, 0xa29e, 0x0000 }, - { 0x0700, 0xa2a0, 0x0000 }, - { 0x8700, 0xa2a3, 0x2000 }, - { 0x0700, 0xa2a2, 0x0000 }, - { 0x0700, 0xa2a4, 0x0000 }, - { 0x8700, 0xa2a9, 0x3000 }, - { 0x8700, 0xa2a7, 0x2000 }, - { 0x0700, 0xa2a6, 0x0000 }, - { 0x0700, 0xa2a8, 0x0000 }, - { 0x8700, 0xa2ab, 0x2000 }, - { 0x0700, 0xa2aa, 0x0000 }, - { 0x0700, 0xa2ac, 0x0000 }, - { 0x8700, 0xa2bd, 0x5000 }, - { 0x8700, 0xa2b5, 0x4000 }, - { 0x8700, 0xa2b1, 0x3000 }, - { 0x8700, 0xa2af, 0x2000 }, - { 0x0700, 0xa2ae, 0x0000 }, - { 0x0700, 0xa2b0, 0x0000 }, - { 0x8700, 0xa2b3, 0x2000 }, - { 0x0700, 0xa2b2, 0x0000 }, - { 0x0700, 0xa2b4, 0x0000 }, - { 0x8700, 0xa2b9, 0x3000 }, - { 0x8700, 0xa2b7, 0x2000 }, - { 0x0700, 0xa2b6, 0x0000 }, - { 0x0700, 0xa2b8, 0x0000 }, - { 0x8700, 0xa2bb, 0x2000 }, - { 0x0700, 0xa2ba, 0x0000 }, - { 0x0700, 0xa2bc, 0x0000 }, - { 0x8700, 0xa2c5, 0x4000 }, - { 0x8700, 0xa2c1, 0x3000 }, - { 0x8700, 0xa2bf, 0x2000 }, - { 0x0700, 0xa2be, 0x0000 }, - { 0x0700, 0xa2c0, 0x0000 }, - { 0x8700, 0xa2c3, 0x2000 }, - { 0x0700, 0xa2c2, 0x0000 }, - { 0x0700, 0xa2c4, 0x0000 }, - { 0x8700, 0xa2c9, 0x3000 }, - { 0x8700, 0xa2c7, 0x2000 }, - { 0x0700, 0xa2c6, 0x0000 }, - { 0x0700, 0xa2c8, 0x0000 }, - { 0x8700, 0xa2cb, 0x2000 }, - { 0x0700, 0xa2ca, 0x0000 }, - { 0x0700, 0xa2cc, 0x0000 }, - { 0x8700, 0xa30d, 0x7000 }, - { 0x8700, 0xa2ed, 0x6000 }, - { 0x8700, 0xa2dd, 0x5000 }, - { 0x8700, 0xa2d5, 0x4000 }, - { 0x8700, 0xa2d1, 0x3000 }, - { 0x8700, 0xa2cf, 0x2000 }, - { 0x0700, 0xa2ce, 0x0000 }, - { 0x0700, 0xa2d0, 0x0000 }, - { 0x8700, 0xa2d3, 0x2000 }, - { 0x0700, 0xa2d2, 0x0000 }, - { 0x0700, 0xa2d4, 0x0000 }, - { 0x8700, 0xa2d9, 0x3000 }, - { 0x8700, 0xa2d7, 0x2000 }, - { 0x0700, 0xa2d6, 0x0000 }, - { 0x0700, 0xa2d8, 0x0000 }, - { 0x8700, 0xa2db, 0x2000 }, - { 0x0700, 0xa2da, 0x0000 }, - { 0x0700, 0xa2dc, 0x0000 }, - { 0x8700, 0xa2e5, 0x4000 }, - { 0x8700, 0xa2e1, 0x3000 }, - { 0x8700, 0xa2df, 0x2000 }, - { 0x0700, 0xa2de, 0x0000 }, - { 0x0700, 0xa2e0, 0x0000 }, - { 0x8700, 0xa2e3, 0x2000 }, - { 0x0700, 0xa2e2, 0x0000 }, - { 0x0700, 0xa2e4, 0x0000 }, - { 0x8700, 0xa2e9, 0x3000 }, - { 0x8700, 0xa2e7, 0x2000 }, - { 0x0700, 0xa2e6, 0x0000 }, - { 0x0700, 0xa2e8, 0x0000 }, - { 0x8700, 0xa2eb, 0x2000 }, - { 0x0700, 0xa2ea, 0x0000 }, - { 0x0700, 0xa2ec, 0x0000 }, - { 0x8700, 0xa2fd, 0x5000 }, - { 0x8700, 0xa2f5, 0x4000 }, - { 0x8700, 0xa2f1, 0x3000 }, - { 0x8700, 0xa2ef, 0x2000 }, - { 0x0700, 0xa2ee, 0x0000 }, - { 0x0700, 0xa2f0, 0x0000 }, - { 0x8700, 0xa2f3, 0x2000 }, - { 0x0700, 0xa2f2, 0x0000 }, - { 0x0700, 0xa2f4, 0x0000 }, - { 0x8700, 0xa2f9, 0x3000 }, - { 0x8700, 0xa2f7, 0x2000 }, - { 0x0700, 0xa2f6, 0x0000 }, - { 0x0700, 0xa2f8, 0x0000 }, - { 0x8700, 0xa2fb, 0x2000 }, - { 0x0700, 0xa2fa, 0x0000 }, - { 0x0700, 0xa2fc, 0x0000 }, - { 0x8700, 0xa305, 0x4000 }, - { 0x8700, 0xa301, 0x3000 }, - { 0x8700, 0xa2ff, 0x2000 }, - { 0x0700, 0xa2fe, 0x0000 }, - { 0x0700, 0xa300, 0x0000 }, - { 0x8700, 0xa303, 0x2000 }, - { 0x0700, 0xa302, 0x0000 }, - { 0x0700, 0xa304, 0x0000 }, - { 0x8700, 0xa309, 0x3000 }, - { 0x8700, 0xa307, 0x2000 }, - { 0x0700, 0xa306, 0x0000 }, - { 0x0700, 0xa308, 0x0000 }, - { 0x8700, 0xa30b, 0x2000 }, - { 0x0700, 0xa30a, 0x0000 }, - { 0x0700, 0xa30c, 0x0000 }, - { 0x8700, 0xa32d, 0x6000 }, - { 0x8700, 0xa31d, 0x5000 }, - { 0x8700, 0xa315, 0x4000 }, - { 0x8700, 0xa311, 0x3000 }, - { 0x8700, 0xa30f, 0x2000 }, - { 0x0700, 0xa30e, 0x0000 }, - { 0x0700, 0xa310, 0x0000 }, - { 0x8700, 0xa313, 0x2000 }, - { 0x0700, 0xa312, 0x0000 }, - { 0x0700, 0xa314, 0x0000 }, - { 0x8700, 0xa319, 0x3000 }, - { 0x8700, 0xa317, 0x2000 }, - { 0x0700, 0xa316, 0x0000 }, - { 0x0700, 0xa318, 0x0000 }, - { 0x8700, 0xa31b, 0x2000 }, - { 0x0700, 0xa31a, 0x0000 }, - { 0x0700, 0xa31c, 0x0000 }, - { 0x8700, 0xa325, 0x4000 }, - { 0x8700, 0xa321, 0x3000 }, - { 0x8700, 0xa31f, 0x2000 }, - { 0x0700, 0xa31e, 0x0000 }, - { 0x0700, 0xa320, 0x0000 }, - { 0x8700, 0xa323, 0x2000 }, - { 0x0700, 0xa322, 0x0000 }, - { 0x0700, 0xa324, 0x0000 }, - { 0x8700, 0xa329, 0x3000 }, - { 0x8700, 0xa327, 0x2000 }, - { 0x0700, 0xa326, 0x0000 }, - { 0x0700, 0xa328, 0x0000 }, - { 0x8700, 0xa32b, 0x2000 }, - { 0x0700, 0xa32a, 0x0000 }, - { 0x0700, 0xa32c, 0x0000 }, - { 0x8700, 0xa33d, 0x5000 }, - { 0x8700, 0xa335, 0x4000 }, - { 0x8700, 0xa331, 0x3000 }, - { 0x8700, 0xa32f, 0x2000 }, - { 0x0700, 0xa32e, 0x0000 }, - { 0x0700, 0xa330, 0x0000 }, - { 0x8700, 0xa333, 0x2000 }, - { 0x0700, 0xa332, 0x0000 }, - { 0x0700, 0xa334, 0x0000 }, - { 0x8700, 0xa339, 0x3000 }, - { 0x8700, 0xa337, 0x2000 }, - { 0x0700, 0xa336, 0x0000 }, - { 0x0700, 0xa338, 0x0000 }, - { 0x8700, 0xa33b, 0x2000 }, - { 0x0700, 0xa33a, 0x0000 }, - { 0x0700, 0xa33c, 0x0000 }, - { 0x8700, 0xa345, 0x4000 }, - { 0x8700, 0xa341, 0x3000 }, - { 0x8700, 0xa33f, 0x2000 }, - { 0x0700, 0xa33e, 0x0000 }, - { 0x0700, 0xa340, 0x0000 }, - { 0x8700, 0xa343, 0x2000 }, - { 0x0700, 0xa342, 0x0000 }, - { 0x0700, 0xa344, 0x0000 }, - { 0x8700, 0xa349, 0x3000 }, - { 0x8700, 0xa347, 0x2000 }, - { 0x0700, 0xa346, 0x0000 }, - { 0x0700, 0xa348, 0x0000 }, - { 0x8700, 0xa34b, 0x2000 }, - { 0x0700, 0xa34a, 0x0000 }, - { 0x0700, 0xa34c, 0x0000 }, - { 0x8700, 0xfc4d, 0xb000 }, - { 0x8700, 0xf97f, 0xa000 }, - { 0x8700, 0xa44d, 0x9000 }, - { 0x8700, 0xa3cd, 0x8000 }, - { 0x8700, 0xa38d, 0x7000 }, - { 0x8700, 0xa36d, 0x6000 }, - { 0x8700, 0xa35d, 0x5000 }, - { 0x8700, 0xa355, 0x4000 }, - { 0x8700, 0xa351, 0x3000 }, - { 0x8700, 0xa34f, 0x2000 }, - { 0x0700, 0xa34e, 0x0000 }, - { 0x0700, 0xa350, 0x0000 }, - { 0x8700, 0xa353, 0x2000 }, - { 0x0700, 0xa352, 0x0000 }, - { 0x0700, 0xa354, 0x0000 }, - { 0x8700, 0xa359, 0x3000 }, - { 0x8700, 0xa357, 0x2000 }, - { 0x0700, 0xa356, 0x0000 }, - { 0x0700, 0xa358, 0x0000 }, - { 0x8700, 0xa35b, 0x2000 }, - { 0x0700, 0xa35a, 0x0000 }, - { 0x0700, 0xa35c, 0x0000 }, - { 0x8700, 0xa365, 0x4000 }, - { 0x8700, 0xa361, 0x3000 }, - { 0x8700, 0xa35f, 0x2000 }, - { 0x0700, 0xa35e, 0x0000 }, - { 0x0700, 0xa360, 0x0000 }, - { 0x8700, 0xa363, 0x2000 }, - { 0x0700, 0xa362, 0x0000 }, - { 0x0700, 0xa364, 0x0000 }, - { 0x8700, 0xa369, 0x3000 }, - { 0x8700, 0xa367, 0x2000 }, - { 0x0700, 0xa366, 0x0000 }, - { 0x0700, 0xa368, 0x0000 }, - { 0x8700, 0xa36b, 0x2000 }, - { 0x0700, 0xa36a, 0x0000 }, - { 0x0700, 0xa36c, 0x0000 }, - { 0x8700, 0xa37d, 0x5000 }, - { 0x8700, 0xa375, 0x4000 }, - { 0x8700, 0xa371, 0x3000 }, - { 0x8700, 0xa36f, 0x2000 }, - { 0x0700, 0xa36e, 0x0000 }, - { 0x0700, 0xa370, 0x0000 }, - { 0x8700, 0xa373, 0x2000 }, - { 0x0700, 0xa372, 0x0000 }, - { 0x0700, 0xa374, 0x0000 }, - { 0x8700, 0xa379, 0x3000 }, - { 0x8700, 0xa377, 0x2000 }, - { 0x0700, 0xa376, 0x0000 }, - { 0x0700, 0xa378, 0x0000 }, - { 0x8700, 0xa37b, 0x2000 }, - { 0x0700, 0xa37a, 0x0000 }, - { 0x0700, 0xa37c, 0x0000 }, - { 0x8700, 0xa385, 0x4000 }, - { 0x8700, 0xa381, 0x3000 }, - { 0x8700, 0xa37f, 0x2000 }, - { 0x0700, 0xa37e, 0x0000 }, - { 0x0700, 0xa380, 0x0000 }, - { 0x8700, 0xa383, 0x2000 }, - { 0x0700, 0xa382, 0x0000 }, - { 0x0700, 0xa384, 0x0000 }, - { 0x8700, 0xa389, 0x3000 }, - { 0x8700, 0xa387, 0x2000 }, - { 0x0700, 0xa386, 0x0000 }, - { 0x0700, 0xa388, 0x0000 }, - { 0x8700, 0xa38b, 0x2000 }, - { 0x0700, 0xa38a, 0x0000 }, - { 0x0700, 0xa38c, 0x0000 }, - { 0x8700, 0xa3ad, 0x6000 }, - { 0x8700, 0xa39d, 0x5000 }, - { 0x8700, 0xa395, 0x4000 }, - { 0x8700, 0xa391, 0x3000 }, - { 0x8700, 0xa38f, 0x2000 }, - { 0x0700, 0xa38e, 0x0000 }, - { 0x0700, 0xa390, 0x0000 }, - { 0x8700, 0xa393, 0x2000 }, - { 0x0700, 0xa392, 0x0000 }, - { 0x0700, 0xa394, 0x0000 }, - { 0x8700, 0xa399, 0x3000 }, - { 0x8700, 0xa397, 0x2000 }, - { 0x0700, 0xa396, 0x0000 }, - { 0x0700, 0xa398, 0x0000 }, - { 0x8700, 0xa39b, 0x2000 }, - { 0x0700, 0xa39a, 0x0000 }, - { 0x0700, 0xa39c, 0x0000 }, - { 0x8700, 0xa3a5, 0x4000 }, - { 0x8700, 0xa3a1, 0x3000 }, - { 0x8700, 0xa39f, 0x2000 }, - { 0x0700, 0xa39e, 0x0000 }, - { 0x0700, 0xa3a0, 0x0000 }, - { 0x8700, 0xa3a3, 0x2000 }, - { 0x0700, 0xa3a2, 0x0000 }, - { 0x0700, 0xa3a4, 0x0000 }, - { 0x8700, 0xa3a9, 0x3000 }, - { 0x8700, 0xa3a7, 0x2000 }, - { 0x0700, 0xa3a6, 0x0000 }, - { 0x0700, 0xa3a8, 0x0000 }, - { 0x8700, 0xa3ab, 0x2000 }, - { 0x0700, 0xa3aa, 0x0000 }, - { 0x0700, 0xa3ac, 0x0000 }, - { 0x8700, 0xa3bd, 0x5000 }, - { 0x8700, 0xa3b5, 0x4000 }, - { 0x8700, 0xa3b1, 0x3000 }, - { 0x8700, 0xa3af, 0x2000 }, - { 0x0700, 0xa3ae, 0x0000 }, - { 0x0700, 0xa3b0, 0x0000 }, - { 0x8700, 0xa3b3, 0x2000 }, - { 0x0700, 0xa3b2, 0x0000 }, - { 0x0700, 0xa3b4, 0x0000 }, - { 0x8700, 0xa3b9, 0x3000 }, - { 0x8700, 0xa3b7, 0x2000 }, - { 0x0700, 0xa3b6, 0x0000 }, - { 0x0700, 0xa3b8, 0x0000 }, - { 0x8700, 0xa3bb, 0x2000 }, - { 0x0700, 0xa3ba, 0x0000 }, - { 0x0700, 0xa3bc, 0x0000 }, - { 0x8700, 0xa3c5, 0x4000 }, - { 0x8700, 0xa3c1, 0x3000 }, - { 0x8700, 0xa3bf, 0x2000 }, - { 0x0700, 0xa3be, 0x0000 }, - { 0x0700, 0xa3c0, 0x0000 }, - { 0x8700, 0xa3c3, 0x2000 }, - { 0x0700, 0xa3c2, 0x0000 }, - { 0x0700, 0xa3c4, 0x0000 }, - { 0x8700, 0xa3c9, 0x3000 }, - { 0x8700, 0xa3c7, 0x2000 }, - { 0x0700, 0xa3c6, 0x0000 }, - { 0x0700, 0xa3c8, 0x0000 }, - { 0x8700, 0xa3cb, 0x2000 }, - { 0x0700, 0xa3ca, 0x0000 }, - { 0x0700, 0xa3cc, 0x0000 }, - { 0x8700, 0xa40d, 0x7000 }, - { 0x8700, 0xa3ed, 0x6000 }, - { 0x8700, 0xa3dd, 0x5000 }, - { 0x8700, 0xa3d5, 0x4000 }, - { 0x8700, 0xa3d1, 0x3000 }, - { 0x8700, 0xa3cf, 0x2000 }, - { 0x0700, 0xa3ce, 0x0000 }, - { 0x0700, 0xa3d0, 0x0000 }, - { 0x8700, 0xa3d3, 0x2000 }, - { 0x0700, 0xa3d2, 0x0000 }, - { 0x0700, 0xa3d4, 0x0000 }, - { 0x8700, 0xa3d9, 0x3000 }, - { 0x8700, 0xa3d7, 0x2000 }, - { 0x0700, 0xa3d6, 0x0000 }, - { 0x0700, 0xa3d8, 0x0000 }, - { 0x8700, 0xa3db, 0x2000 }, - { 0x0700, 0xa3da, 0x0000 }, - { 0x0700, 0xa3dc, 0x0000 }, - { 0x8700, 0xa3e5, 0x4000 }, - { 0x8700, 0xa3e1, 0x3000 }, - { 0x8700, 0xa3df, 0x2000 }, - { 0x0700, 0xa3de, 0x0000 }, - { 0x0700, 0xa3e0, 0x0000 }, - { 0x8700, 0xa3e3, 0x2000 }, - { 0x0700, 0xa3e2, 0x0000 }, - { 0x0700, 0xa3e4, 0x0000 }, - { 0x8700, 0xa3e9, 0x3000 }, - { 0x8700, 0xa3e7, 0x2000 }, - { 0x0700, 0xa3e6, 0x0000 }, - { 0x0700, 0xa3e8, 0x0000 }, - { 0x8700, 0xa3eb, 0x2000 }, - { 0x0700, 0xa3ea, 0x0000 }, - { 0x0700, 0xa3ec, 0x0000 }, - { 0x8700, 0xa3fd, 0x5000 }, - { 0x8700, 0xa3f5, 0x4000 }, - { 0x8700, 0xa3f1, 0x3000 }, - { 0x8700, 0xa3ef, 0x2000 }, - { 0x0700, 0xa3ee, 0x0000 }, - { 0x0700, 0xa3f0, 0x0000 }, - { 0x8700, 0xa3f3, 0x2000 }, - { 0x0700, 0xa3f2, 0x0000 }, - { 0x0700, 0xa3f4, 0x0000 }, - { 0x8700, 0xa3f9, 0x3000 }, - { 0x8700, 0xa3f7, 0x2000 }, - { 0x0700, 0xa3f6, 0x0000 }, - { 0x0700, 0xa3f8, 0x0000 }, - { 0x8700, 0xa3fb, 0x2000 }, - { 0x0700, 0xa3fa, 0x0000 }, - { 0x0700, 0xa3fc, 0x0000 }, - { 0x8700, 0xa405, 0x4000 }, - { 0x8700, 0xa401, 0x3000 }, - { 0x8700, 0xa3ff, 0x2000 }, - { 0x0700, 0xa3fe, 0x0000 }, - { 0x0700, 0xa400, 0x0000 }, - { 0x8700, 0xa403, 0x2000 }, - { 0x0700, 0xa402, 0x0000 }, - { 0x0700, 0xa404, 0x0000 }, - { 0x8700, 0xa409, 0x3000 }, - { 0x8700, 0xa407, 0x2000 }, - { 0x0700, 0xa406, 0x0000 }, - { 0x0700, 0xa408, 0x0000 }, - { 0x8700, 0xa40b, 0x2000 }, - { 0x0700, 0xa40a, 0x0000 }, - { 0x0700, 0xa40c, 0x0000 }, - { 0x8700, 0xa42d, 0x6000 }, - { 0x8700, 0xa41d, 0x5000 }, - { 0x8700, 0xa415, 0x4000 }, - { 0x8700, 0xa411, 0x3000 }, - { 0x8700, 0xa40f, 0x2000 }, - { 0x0700, 0xa40e, 0x0000 }, - { 0x0700, 0xa410, 0x0000 }, - { 0x8700, 0xa413, 0x2000 }, - { 0x0700, 0xa412, 0x0000 }, - { 0x0700, 0xa414, 0x0000 }, - { 0x8700, 0xa419, 0x3000 }, - { 0x8700, 0xa417, 0x2000 }, - { 0x0700, 0xa416, 0x0000 }, - { 0x0700, 0xa418, 0x0000 }, - { 0x8700, 0xa41b, 0x2000 }, - { 0x0700, 0xa41a, 0x0000 }, - { 0x0700, 0xa41c, 0x0000 }, - { 0x8700, 0xa425, 0x4000 }, - { 0x8700, 0xa421, 0x3000 }, - { 0x8700, 0xa41f, 0x2000 }, - { 0x0700, 0xa41e, 0x0000 }, - { 0x0700, 0xa420, 0x0000 }, - { 0x8700, 0xa423, 0x2000 }, - { 0x0700, 0xa422, 0x0000 }, - { 0x0700, 0xa424, 0x0000 }, - { 0x8700, 0xa429, 0x3000 }, - { 0x8700, 0xa427, 0x2000 }, - { 0x0700, 0xa426, 0x0000 }, - { 0x0700, 0xa428, 0x0000 }, - { 0x8700, 0xa42b, 0x2000 }, - { 0x0700, 0xa42a, 0x0000 }, - { 0x0700, 0xa42c, 0x0000 }, - { 0x8700, 0xa43d, 0x5000 }, - { 0x8700, 0xa435, 0x4000 }, - { 0x8700, 0xa431, 0x3000 }, - { 0x8700, 0xa42f, 0x2000 }, - { 0x0700, 0xa42e, 0x0000 }, - { 0x0700, 0xa430, 0x0000 }, - { 0x8700, 0xa433, 0x2000 }, - { 0x0700, 0xa432, 0x0000 }, - { 0x0700, 0xa434, 0x0000 }, - { 0x8700, 0xa439, 0x3000 }, - { 0x8700, 0xa437, 0x2000 }, - { 0x0700, 0xa436, 0x0000 }, - { 0x0700, 0xa438, 0x0000 }, - { 0x8700, 0xa43b, 0x2000 }, - { 0x0700, 0xa43a, 0x0000 }, - { 0x0700, 0xa43c, 0x0000 }, - { 0x8700, 0xa445, 0x4000 }, - { 0x8700, 0xa441, 0x3000 }, - { 0x8700, 0xa43f, 0x2000 }, - { 0x0700, 0xa43e, 0x0000 }, - { 0x0700, 0xa440, 0x0000 }, - { 0x8700, 0xa443, 0x2000 }, - { 0x0700, 0xa442, 0x0000 }, - { 0x0700, 0xa444, 0x0000 }, - { 0x8700, 0xa449, 0x3000 }, - { 0x8700, 0xa447, 0x2000 }, - { 0x0700, 0xa446, 0x0000 }, - { 0x0700, 0xa448, 0x0000 }, - { 0x8700, 0xa44b, 0x2000 }, - { 0x0700, 0xa44a, 0x0000 }, - { 0x0700, 0xa44c, 0x0000 }, - { 0x8300, 0xf8ff, 0x8000 }, - { 0x9a00, 0xa490, 0x7000 }, - { 0x8700, 0xa46d, 0x6000 }, - { 0x8700, 0xa45d, 0x5000 }, - { 0x8700, 0xa455, 0x4000 }, - { 0x8700, 0xa451, 0x3000 }, - { 0x8700, 0xa44f, 0x2000 }, - { 0x0700, 0xa44e, 0x0000 }, - { 0x0700, 0xa450, 0x0000 }, - { 0x8700, 0xa453, 0x2000 }, - { 0x0700, 0xa452, 0x0000 }, - { 0x0700, 0xa454, 0x0000 }, - { 0x8700, 0xa459, 0x3000 }, - { 0x8700, 0xa457, 0x2000 }, - { 0x0700, 0xa456, 0x0000 }, - { 0x0700, 0xa458, 0x0000 }, - { 0x8700, 0xa45b, 0x2000 }, - { 0x0700, 0xa45a, 0x0000 }, - { 0x0700, 0xa45c, 0x0000 }, - { 0x8700, 0xa465, 0x4000 }, - { 0x8700, 0xa461, 0x3000 }, - { 0x8700, 0xa45f, 0x2000 }, - { 0x0700, 0xa45e, 0x0000 }, - { 0x0700, 0xa460, 0x0000 }, - { 0x8700, 0xa463, 0x2000 }, - { 0x0700, 0xa462, 0x0000 }, - { 0x0700, 0xa464, 0x0000 }, - { 0x8700, 0xa469, 0x3000 }, - { 0x8700, 0xa467, 0x2000 }, - { 0x0700, 0xa466, 0x0000 }, - { 0x0700, 0xa468, 0x0000 }, - { 0x8700, 0xa46b, 0x2000 }, - { 0x0700, 0xa46a, 0x0000 }, - { 0x0700, 0xa46c, 0x0000 }, - { 0x8700, 0xa47d, 0x5000 }, - { 0x8700, 0xa475, 0x4000 }, - { 0x8700, 0xa471, 0x3000 }, - { 0x8700, 0xa46f, 0x2000 }, - { 0x0700, 0xa46e, 0x0000 }, - { 0x0700, 0xa470, 0x0000 }, - { 0x8700, 0xa473, 0x2000 }, - { 0x0700, 0xa472, 0x0000 }, - { 0x0700, 0xa474, 0x0000 }, - { 0x8700, 0xa479, 0x3000 }, - { 0x8700, 0xa477, 0x2000 }, - { 0x0700, 0xa476, 0x0000 }, - { 0x0700, 0xa478, 0x0000 }, - { 0x8700, 0xa47b, 0x2000 }, - { 0x0700, 0xa47a, 0x0000 }, - { 0x0700, 0xa47c, 0x0000 }, - { 0x8700, 0xa485, 0x4000 }, - { 0x8700, 0xa481, 0x3000 }, - { 0x8700, 0xa47f, 0x2000 }, - { 0x0700, 0xa47e, 0x0000 }, - { 0x0700, 0xa480, 0x0000 }, - { 0x8700, 0xa483, 0x2000 }, - { 0x0700, 0xa482, 0x0000 }, - { 0x0700, 0xa484, 0x0000 }, - { 0x8700, 0xa489, 0x3000 }, - { 0x8700, 0xa487, 0x2000 }, - { 0x0700, 0xa486, 0x0000 }, - { 0x0700, 0xa488, 0x0000 }, - { 0x8700, 0xa48b, 0x2000 }, - { 0x0700, 0xa48a, 0x0000 }, - { 0x0700, 0xa48c, 0x0000 }, - { 0x9a00, 0xa4b0, 0x6000 }, - { 0x9a00, 0xa4a0, 0x5000 }, - { 0x9a00, 0xa498, 0x4000 }, - { 0x9a00, 0xa494, 0x3000 }, - { 0x9a00, 0xa492, 0x2000 }, - { 0x1a00, 0xa491, 0x0000 }, - { 0x1a00, 0xa493, 0x0000 }, - { 0x9a00, 0xa496, 0x2000 }, - { 0x1a00, 0xa495, 0x0000 }, - { 0x1a00, 0xa497, 0x0000 }, - { 0x9a00, 0xa49c, 0x3000 }, - { 0x9a00, 0xa49a, 0x2000 }, - { 0x1a00, 0xa499, 0x0000 }, - { 0x1a00, 0xa49b, 0x0000 }, - { 0x9a00, 0xa49e, 0x2000 }, - { 0x1a00, 0xa49d, 0x0000 }, - { 0x1a00, 0xa49f, 0x0000 }, - { 0x9a00, 0xa4a8, 0x4000 }, - { 0x9a00, 0xa4a4, 0x3000 }, - { 0x9a00, 0xa4a2, 0x2000 }, - { 0x1a00, 0xa4a1, 0x0000 }, - { 0x1a00, 0xa4a3, 0x0000 }, - { 0x9a00, 0xa4a6, 0x2000 }, - { 0x1a00, 0xa4a5, 0x0000 }, - { 0x1a00, 0xa4a7, 0x0000 }, - { 0x9a00, 0xa4ac, 0x3000 }, - { 0x9a00, 0xa4aa, 0x2000 }, - { 0x1a00, 0xa4a9, 0x0000 }, - { 0x1a00, 0xa4ab, 0x0000 }, - { 0x9a00, 0xa4ae, 0x2000 }, - { 0x1a00, 0xa4ad, 0x0000 }, - { 0x1a00, 0xa4af, 0x0000 }, - { 0x9a00, 0xa4c0, 0x5000 }, - { 0x9a00, 0xa4b8, 0x4000 }, - { 0x9a00, 0xa4b4, 0x3000 }, - { 0x9a00, 0xa4b2, 0x2000 }, - { 0x1a00, 0xa4b1, 0x0000 }, - { 0x1a00, 0xa4b3, 0x0000 }, - { 0x9a00, 0xa4b6, 0x2000 }, - { 0x1a00, 0xa4b5, 0x0000 }, - { 0x1a00, 0xa4b7, 0x0000 }, - { 0x9a00, 0xa4bc, 0x3000 }, - { 0x9a00, 0xa4ba, 0x2000 }, - { 0x1a00, 0xa4b9, 0x0000 }, - { 0x1a00, 0xa4bb, 0x0000 }, - { 0x9a00, 0xa4be, 0x2000 }, - { 0x1a00, 0xa4bd, 0x0000 }, - { 0x1a00, 0xa4bf, 0x0000 }, - { 0x8700, 0xd7a3, 0x4000 }, - { 0x9a00, 0xa4c4, 0x3000 }, - { 0x9a00, 0xa4c2, 0x2000 }, - { 0x1a00, 0xa4c1, 0x0000 }, - { 0x1a00, 0xa4c3, 0x0000 }, - { 0x9a00, 0xa4c6, 0x2000 }, - { 0x1a00, 0xa4c5, 0x0000 }, - { 0x0700, 0xac00, 0x0000 }, - { 0x8400, 0xdbff, 0x3000 }, - { 0x8400, 0xdb7f, 0x2000 }, - { 0x0400, 0xd800, 0x0000 }, - { 0x0400, 0xdb80, 0x0000 }, - { 0x8400, 0xdfff, 0x2000 }, - { 0x0400, 0xdc00, 0x0000 }, - { 0x0300, 0xe000, 0x0000 }, - { 0x8700, 0xf93f, 0x7000 }, - { 0x8700, 0xf91f, 0x6000 }, - { 0x8700, 0xf90f, 0x5000 }, - { 0x8700, 0xf907, 0x4000 }, - { 0x8700, 0xf903, 0x3000 }, - { 0x8700, 0xf901, 0x2000 }, - { 0x0700, 0xf900, 0x0000 }, - { 0x0700, 0xf902, 0x0000 }, - { 0x8700, 0xf905, 0x2000 }, - { 0x0700, 0xf904, 0x0000 }, - { 0x0700, 0xf906, 0x0000 }, - { 0x8700, 0xf90b, 0x3000 }, - { 0x8700, 0xf909, 0x2000 }, - { 0x0700, 0xf908, 0x0000 }, - { 0x0700, 0xf90a, 0x0000 }, - { 0x8700, 0xf90d, 0x2000 }, - { 0x0700, 0xf90c, 0x0000 }, - { 0x0700, 0xf90e, 0x0000 }, - { 0x8700, 0xf917, 0x4000 }, - { 0x8700, 0xf913, 0x3000 }, - { 0x8700, 0xf911, 0x2000 }, - { 0x0700, 0xf910, 0x0000 }, - { 0x0700, 0xf912, 0x0000 }, - { 0x8700, 0xf915, 0x2000 }, - { 0x0700, 0xf914, 0x0000 }, - { 0x0700, 0xf916, 0x0000 }, - { 0x8700, 0xf91b, 0x3000 }, - { 0x8700, 0xf919, 0x2000 }, - { 0x0700, 0xf918, 0x0000 }, - { 0x0700, 0xf91a, 0x0000 }, - { 0x8700, 0xf91d, 0x2000 }, - { 0x0700, 0xf91c, 0x0000 }, - { 0x0700, 0xf91e, 0x0000 }, - { 0x8700, 0xf92f, 0x5000 }, - { 0x8700, 0xf927, 0x4000 }, - { 0x8700, 0xf923, 0x3000 }, - { 0x8700, 0xf921, 0x2000 }, - { 0x0700, 0xf920, 0x0000 }, - { 0x0700, 0xf922, 0x0000 }, - { 0x8700, 0xf925, 0x2000 }, - { 0x0700, 0xf924, 0x0000 }, - { 0x0700, 0xf926, 0x0000 }, - { 0x8700, 0xf92b, 0x3000 }, - { 0x8700, 0xf929, 0x2000 }, - { 0x0700, 0xf928, 0x0000 }, - { 0x0700, 0xf92a, 0x0000 }, - { 0x8700, 0xf92d, 0x2000 }, - { 0x0700, 0xf92c, 0x0000 }, - { 0x0700, 0xf92e, 0x0000 }, - { 0x8700, 0xf937, 0x4000 }, - { 0x8700, 0xf933, 0x3000 }, - { 0x8700, 0xf931, 0x2000 }, - { 0x0700, 0xf930, 0x0000 }, - { 0x0700, 0xf932, 0x0000 }, - { 0x8700, 0xf935, 0x2000 }, - { 0x0700, 0xf934, 0x0000 }, - { 0x0700, 0xf936, 0x0000 }, - { 0x8700, 0xf93b, 0x3000 }, - { 0x8700, 0xf939, 0x2000 }, - { 0x0700, 0xf938, 0x0000 }, - { 0x0700, 0xf93a, 0x0000 }, - { 0x8700, 0xf93d, 0x2000 }, - { 0x0700, 0xf93c, 0x0000 }, - { 0x0700, 0xf93e, 0x0000 }, - { 0x8700, 0xf95f, 0x6000 }, - { 0x8700, 0xf94f, 0x5000 }, - { 0x8700, 0xf947, 0x4000 }, - { 0x8700, 0xf943, 0x3000 }, - { 0x8700, 0xf941, 0x2000 }, - { 0x0700, 0xf940, 0x0000 }, - { 0x0700, 0xf942, 0x0000 }, - { 0x8700, 0xf945, 0x2000 }, - { 0x0700, 0xf944, 0x0000 }, - { 0x0700, 0xf946, 0x0000 }, - { 0x8700, 0xf94b, 0x3000 }, - { 0x8700, 0xf949, 0x2000 }, - { 0x0700, 0xf948, 0x0000 }, - { 0x0700, 0xf94a, 0x0000 }, - { 0x8700, 0xf94d, 0x2000 }, - { 0x0700, 0xf94c, 0x0000 }, - { 0x0700, 0xf94e, 0x0000 }, - { 0x8700, 0xf957, 0x4000 }, - { 0x8700, 0xf953, 0x3000 }, - { 0x8700, 0xf951, 0x2000 }, - { 0x0700, 0xf950, 0x0000 }, - { 0x0700, 0xf952, 0x0000 }, - { 0x8700, 0xf955, 0x2000 }, - { 0x0700, 0xf954, 0x0000 }, - { 0x0700, 0xf956, 0x0000 }, - { 0x8700, 0xf95b, 0x3000 }, - { 0x8700, 0xf959, 0x2000 }, - { 0x0700, 0xf958, 0x0000 }, - { 0x0700, 0xf95a, 0x0000 }, - { 0x8700, 0xf95d, 0x2000 }, - { 0x0700, 0xf95c, 0x0000 }, - { 0x0700, 0xf95e, 0x0000 }, - { 0x8700, 0xf96f, 0x5000 }, - { 0x8700, 0xf967, 0x4000 }, - { 0x8700, 0xf963, 0x3000 }, - { 0x8700, 0xf961, 0x2000 }, - { 0x0700, 0xf960, 0x0000 }, - { 0x0700, 0xf962, 0x0000 }, - { 0x8700, 0xf965, 0x2000 }, - { 0x0700, 0xf964, 0x0000 }, - { 0x0700, 0xf966, 0x0000 }, - { 0x8700, 0xf96b, 0x3000 }, - { 0x8700, 0xf969, 0x2000 }, - { 0x0700, 0xf968, 0x0000 }, - { 0x0700, 0xf96a, 0x0000 }, - { 0x8700, 0xf96d, 0x2000 }, - { 0x0700, 0xf96c, 0x0000 }, - { 0x0700, 0xf96e, 0x0000 }, - { 0x8700, 0xf977, 0x4000 }, - { 0x8700, 0xf973, 0x3000 }, - { 0x8700, 0xf971, 0x2000 }, - { 0x0700, 0xf970, 0x0000 }, - { 0x0700, 0xf972, 0x0000 }, - { 0x8700, 0xf975, 0x2000 }, - { 0x0700, 0xf974, 0x0000 }, - { 0x0700, 0xf976, 0x0000 }, - { 0x8700, 0xf97b, 0x3000 }, - { 0x8700, 0xf979, 0x2000 }, - { 0x0700, 0xf978, 0x0000 }, - { 0x0700, 0xf97a, 0x0000 }, - { 0x8700, 0xf97d, 0x2000 }, - { 0x0700, 0xf97c, 0x0000 }, - { 0x0700, 0xf97e, 0x0000 }, - { 0x8700, 0xfb27, 0x9000 }, - { 0x8700, 0xf9ff, 0x8000 }, - { 0x8700, 0xf9bf, 0x7000 }, - { 0x8700, 0xf99f, 0x6000 }, - { 0x8700, 0xf98f, 0x5000 }, - { 0x8700, 0xf987, 0x4000 }, - { 0x8700, 0xf983, 0x3000 }, - { 0x8700, 0xf981, 0x2000 }, - { 0x0700, 0xf980, 0x0000 }, - { 0x0700, 0xf982, 0x0000 }, - { 0x8700, 0xf985, 0x2000 }, - { 0x0700, 0xf984, 0x0000 }, - { 0x0700, 0xf986, 0x0000 }, - { 0x8700, 0xf98b, 0x3000 }, - { 0x8700, 0xf989, 0x2000 }, - { 0x0700, 0xf988, 0x0000 }, - { 0x0700, 0xf98a, 0x0000 }, - { 0x8700, 0xf98d, 0x2000 }, - { 0x0700, 0xf98c, 0x0000 }, - { 0x0700, 0xf98e, 0x0000 }, - { 0x8700, 0xf997, 0x4000 }, - { 0x8700, 0xf993, 0x3000 }, - { 0x8700, 0xf991, 0x2000 }, - { 0x0700, 0xf990, 0x0000 }, - { 0x0700, 0xf992, 0x0000 }, - { 0x8700, 0xf995, 0x2000 }, - { 0x0700, 0xf994, 0x0000 }, - { 0x0700, 0xf996, 0x0000 }, - { 0x8700, 0xf99b, 0x3000 }, - { 0x8700, 0xf999, 0x2000 }, - { 0x0700, 0xf998, 0x0000 }, - { 0x0700, 0xf99a, 0x0000 }, - { 0x8700, 0xf99d, 0x2000 }, - { 0x0700, 0xf99c, 0x0000 }, - { 0x0700, 0xf99e, 0x0000 }, - { 0x8700, 0xf9af, 0x5000 }, - { 0x8700, 0xf9a7, 0x4000 }, - { 0x8700, 0xf9a3, 0x3000 }, - { 0x8700, 0xf9a1, 0x2000 }, - { 0x0700, 0xf9a0, 0x0000 }, - { 0x0700, 0xf9a2, 0x0000 }, - { 0x8700, 0xf9a5, 0x2000 }, - { 0x0700, 0xf9a4, 0x0000 }, - { 0x0700, 0xf9a6, 0x0000 }, - { 0x8700, 0xf9ab, 0x3000 }, - { 0x8700, 0xf9a9, 0x2000 }, - { 0x0700, 0xf9a8, 0x0000 }, - { 0x0700, 0xf9aa, 0x0000 }, - { 0x8700, 0xf9ad, 0x2000 }, - { 0x0700, 0xf9ac, 0x0000 }, - { 0x0700, 0xf9ae, 0x0000 }, - { 0x8700, 0xf9b7, 0x4000 }, - { 0x8700, 0xf9b3, 0x3000 }, - { 0x8700, 0xf9b1, 0x2000 }, - { 0x0700, 0xf9b0, 0x0000 }, - { 0x0700, 0xf9b2, 0x0000 }, - { 0x8700, 0xf9b5, 0x2000 }, - { 0x0700, 0xf9b4, 0x0000 }, - { 0x0700, 0xf9b6, 0x0000 }, - { 0x8700, 0xf9bb, 0x3000 }, - { 0x8700, 0xf9b9, 0x2000 }, - { 0x0700, 0xf9b8, 0x0000 }, - { 0x0700, 0xf9ba, 0x0000 }, - { 0x8700, 0xf9bd, 0x2000 }, - { 0x0700, 0xf9bc, 0x0000 }, - { 0x0700, 0xf9be, 0x0000 }, - { 0x8700, 0xf9df, 0x6000 }, - { 0x8700, 0xf9cf, 0x5000 }, - { 0x8700, 0xf9c7, 0x4000 }, - { 0x8700, 0xf9c3, 0x3000 }, - { 0x8700, 0xf9c1, 0x2000 }, - { 0x0700, 0xf9c0, 0x0000 }, - { 0x0700, 0xf9c2, 0x0000 }, - { 0x8700, 0xf9c5, 0x2000 }, - { 0x0700, 0xf9c4, 0x0000 }, - { 0x0700, 0xf9c6, 0x0000 }, - { 0x8700, 0xf9cb, 0x3000 }, - { 0x8700, 0xf9c9, 0x2000 }, - { 0x0700, 0xf9c8, 0x0000 }, - { 0x0700, 0xf9ca, 0x0000 }, - { 0x8700, 0xf9cd, 0x2000 }, - { 0x0700, 0xf9cc, 0x0000 }, - { 0x0700, 0xf9ce, 0x0000 }, - { 0x8700, 0xf9d7, 0x4000 }, - { 0x8700, 0xf9d3, 0x3000 }, - { 0x8700, 0xf9d1, 0x2000 }, - { 0x0700, 0xf9d0, 0x0000 }, - { 0x0700, 0xf9d2, 0x0000 }, - { 0x8700, 0xf9d5, 0x2000 }, - { 0x0700, 0xf9d4, 0x0000 }, - { 0x0700, 0xf9d6, 0x0000 }, - { 0x8700, 0xf9db, 0x3000 }, - { 0x8700, 0xf9d9, 0x2000 }, - { 0x0700, 0xf9d8, 0x0000 }, - { 0x0700, 0xf9da, 0x0000 }, - { 0x8700, 0xf9dd, 0x2000 }, - { 0x0700, 0xf9dc, 0x0000 }, - { 0x0700, 0xf9de, 0x0000 }, - { 0x8700, 0xf9ef, 0x5000 }, - { 0x8700, 0xf9e7, 0x4000 }, - { 0x8700, 0xf9e3, 0x3000 }, - { 0x8700, 0xf9e1, 0x2000 }, - { 0x0700, 0xf9e0, 0x0000 }, - { 0x0700, 0xf9e2, 0x0000 }, - { 0x8700, 0xf9e5, 0x2000 }, - { 0x0700, 0xf9e4, 0x0000 }, - { 0x0700, 0xf9e6, 0x0000 }, - { 0x8700, 0xf9eb, 0x3000 }, - { 0x8700, 0xf9e9, 0x2000 }, - { 0x0700, 0xf9e8, 0x0000 }, - { 0x0700, 0xf9ea, 0x0000 }, - { 0x8700, 0xf9ed, 0x2000 }, - { 0x0700, 0xf9ec, 0x0000 }, - { 0x0700, 0xf9ee, 0x0000 }, - { 0x8700, 0xf9f7, 0x4000 }, - { 0x8700, 0xf9f3, 0x3000 }, - { 0x8700, 0xf9f1, 0x2000 }, - { 0x0700, 0xf9f0, 0x0000 }, - { 0x0700, 0xf9f2, 0x0000 }, - { 0x8700, 0xf9f5, 0x2000 }, - { 0x0700, 0xf9f4, 0x0000 }, - { 0x0700, 0xf9f6, 0x0000 }, - { 0x8700, 0xf9fb, 0x3000 }, - { 0x8700, 0xf9f9, 0x2000 }, - { 0x0700, 0xf9f8, 0x0000 }, - { 0x0700, 0xf9fa, 0x0000 }, - { 0x8700, 0xf9fd, 0x2000 }, - { 0x0700, 0xf9fc, 0x0000 }, - { 0x0700, 0xf9fe, 0x0000 }, - { 0x8700, 0xfa41, 0x7000 }, - { 0x8700, 0xfa1f, 0x6000 }, - { 0x8700, 0xfa0f, 0x5000 }, - { 0x8700, 0xfa07, 0x4000 }, - { 0x8700, 0xfa03, 0x3000 }, - { 0x8700, 0xfa01, 0x2000 }, - { 0x0700, 0xfa00, 0x0000 }, - { 0x0700, 0xfa02, 0x0000 }, - { 0x8700, 0xfa05, 0x2000 }, - { 0x0700, 0xfa04, 0x0000 }, - { 0x0700, 0xfa06, 0x0000 }, - { 0x8700, 0xfa0b, 0x3000 }, - { 0x8700, 0xfa09, 0x2000 }, - { 0x0700, 0xfa08, 0x0000 }, - { 0x0700, 0xfa0a, 0x0000 }, - { 0x8700, 0xfa0d, 0x2000 }, - { 0x0700, 0xfa0c, 0x0000 }, - { 0x0700, 0xfa0e, 0x0000 }, - { 0x8700, 0xfa17, 0x4000 }, - { 0x8700, 0xfa13, 0x3000 }, - { 0x8700, 0xfa11, 0x2000 }, - { 0x0700, 0xfa10, 0x0000 }, - { 0x0700, 0xfa12, 0x0000 }, - { 0x8700, 0xfa15, 0x2000 }, - { 0x0700, 0xfa14, 0x0000 }, - { 0x0700, 0xfa16, 0x0000 }, - { 0x8700, 0xfa1b, 0x3000 }, - { 0x8700, 0xfa19, 0x2000 }, - { 0x0700, 0xfa18, 0x0000 }, - { 0x0700, 0xfa1a, 0x0000 }, - { 0x8700, 0xfa1d, 0x2000 }, - { 0x0700, 0xfa1c, 0x0000 }, - { 0x0700, 0xfa1e, 0x0000 }, - { 0x8700, 0xfa31, 0x5000 }, - { 0x8700, 0xfa27, 0x4000 }, - { 0x8700, 0xfa23, 0x3000 }, - { 0x8700, 0xfa21, 0x2000 }, - { 0x0700, 0xfa20, 0x0000 }, - { 0x0700, 0xfa22, 0x0000 }, - { 0x8700, 0xfa25, 0x2000 }, - { 0x0700, 0xfa24, 0x0000 }, - { 0x0700, 0xfa26, 0x0000 }, - { 0x8700, 0xfa2b, 0x3000 }, - { 0x8700, 0xfa29, 0x2000 }, - { 0x0700, 0xfa28, 0x0000 }, - { 0x0700, 0xfa2a, 0x0000 }, - { 0x8700, 0xfa2d, 0x2000 }, - { 0x0700, 0xfa2c, 0x0000 }, - { 0x0700, 0xfa30, 0x0000 }, - { 0x8700, 0xfa39, 0x4000 }, - { 0x8700, 0xfa35, 0x3000 }, - { 0x8700, 0xfa33, 0x2000 }, - { 0x0700, 0xfa32, 0x0000 }, - { 0x0700, 0xfa34, 0x0000 }, - { 0x8700, 0xfa37, 0x2000 }, - { 0x0700, 0xfa36, 0x0000 }, - { 0x0700, 0xfa38, 0x0000 }, - { 0x8700, 0xfa3d, 0x3000 }, - { 0x8700, 0xfa3b, 0x2000 }, - { 0x0700, 0xfa3a, 0x0000 }, - { 0x0700, 0xfa3c, 0x0000 }, - { 0x8700, 0xfa3f, 0x2000 }, - { 0x0700, 0xfa3e, 0x0000 }, - { 0x0700, 0xfa40, 0x0000 }, - { 0x8700, 0xfa61, 0x6000 }, - { 0x8700, 0xfa51, 0x5000 }, - { 0x8700, 0xfa49, 0x4000 }, - { 0x8700, 0xfa45, 0x3000 }, - { 0x8700, 0xfa43, 0x2000 }, - { 0x0700, 0xfa42, 0x0000 }, - { 0x0700, 0xfa44, 0x0000 }, - { 0x8700, 0xfa47, 0x2000 }, - { 0x0700, 0xfa46, 0x0000 }, - { 0x0700, 0xfa48, 0x0000 }, - { 0x8700, 0xfa4d, 0x3000 }, - { 0x8700, 0xfa4b, 0x2000 }, - { 0x0700, 0xfa4a, 0x0000 }, - { 0x0700, 0xfa4c, 0x0000 }, - { 0x8700, 0xfa4f, 0x2000 }, - { 0x0700, 0xfa4e, 0x0000 }, - { 0x0700, 0xfa50, 0x0000 }, - { 0x8700, 0xfa59, 0x4000 }, - { 0x8700, 0xfa55, 0x3000 }, - { 0x8700, 0xfa53, 0x2000 }, - { 0x0700, 0xfa52, 0x0000 }, - { 0x0700, 0xfa54, 0x0000 }, - { 0x8700, 0xfa57, 0x2000 }, - { 0x0700, 0xfa56, 0x0000 }, - { 0x0700, 0xfa58, 0x0000 }, - { 0x8700, 0xfa5d, 0x3000 }, - { 0x8700, 0xfa5b, 0x2000 }, - { 0x0700, 0xfa5a, 0x0000 }, - { 0x0700, 0xfa5c, 0x0000 }, - { 0x8700, 0xfa5f, 0x2000 }, - { 0x0700, 0xfa5e, 0x0000 }, - { 0x0700, 0xfa60, 0x0000 }, - { 0x8500, 0xfb06, 0x5000 }, - { 0x8700, 0xfa69, 0x4000 }, - { 0x8700, 0xfa65, 0x3000 }, - { 0x8700, 0xfa63, 0x2000 }, - { 0x0700, 0xfa62, 0x0000 }, - { 0x0700, 0xfa64, 0x0000 }, - { 0x8700, 0xfa67, 0x2000 }, - { 0x0700, 0xfa66, 0x0000 }, - { 0x0700, 0xfa68, 0x0000 }, - { 0x8500, 0xfb02, 0x3000 }, - { 0x8500, 0xfb00, 0x2000 }, - { 0x0700, 0xfa6a, 0x0000 }, - { 0x0500, 0xfb01, 0x0000 }, - { 0x8500, 0xfb04, 0x2000 }, - { 0x0500, 0xfb03, 0x0000 }, - { 0x0500, 0xfb05, 0x0000 }, - { 0x8700, 0xfb1f, 0x4000 }, - { 0x8500, 0xfb16, 0x3000 }, - { 0x8500, 0xfb14, 0x2000 }, - { 0x0500, 0xfb13, 0x0000 }, - { 0x0500, 0xfb15, 0x0000 }, - { 0x8700, 0xfb1d, 0x2000 }, - { 0x0500, 0xfb17, 0x0000 }, - { 0x0c00, 0xfb1e, 0x0000 }, - { 0x8700, 0xfb23, 0x3000 }, - { 0x8700, 0xfb21, 0x2000 }, - { 0x0700, 0xfb20, 0x0000 }, - { 0x0700, 0xfb22, 0x0000 }, - { 0x8700, 0xfb25, 0x2000 }, - { 0x0700, 0xfb24, 0x0000 }, - { 0x0700, 0xfb26, 0x0000 }, - { 0x8700, 0xfbac, 0x8000 }, - { 0x8700, 0xfb6c, 0x7000 }, - { 0x8700, 0xfb4c, 0x6000 }, - { 0x8700, 0xfb38, 0x5000 }, - { 0x8700, 0xfb2f, 0x4000 }, - { 0x8700, 0xfb2b, 0x3000 }, - { 0x9900, 0xfb29, 0x2000 }, - { 0x0700, 0xfb28, 0x0000 }, - { 0x0700, 0xfb2a, 0x0000 }, - { 0x8700, 0xfb2d, 0x2000 }, - { 0x0700, 0xfb2c, 0x0000 }, - { 0x0700, 0xfb2e, 0x0000 }, - { 0x8700, 0xfb33, 0x3000 }, - { 0x8700, 0xfb31, 0x2000 }, - { 0x0700, 0xfb30, 0x0000 }, - { 0x0700, 0xfb32, 0x0000 }, - { 0x8700, 0xfb35, 0x2000 }, - { 0x0700, 0xfb34, 0x0000 }, - { 0x0700, 0xfb36, 0x0000 }, - { 0x8700, 0xfb43, 0x4000 }, - { 0x8700, 0xfb3c, 0x3000 }, - { 0x8700, 0xfb3a, 0x2000 }, - { 0x0700, 0xfb39, 0x0000 }, - { 0x0700, 0xfb3b, 0x0000 }, - { 0x8700, 0xfb40, 0x2000 }, - { 0x0700, 0xfb3e, 0x0000 }, - { 0x0700, 0xfb41, 0x0000 }, - { 0x8700, 0xfb48, 0x3000 }, - { 0x8700, 0xfb46, 0x2000 }, - { 0x0700, 0xfb44, 0x0000 }, - { 0x0700, 0xfb47, 0x0000 }, - { 0x8700, 0xfb4a, 0x2000 }, - { 0x0700, 0xfb49, 0x0000 }, - { 0x0700, 0xfb4b, 0x0000 }, - { 0x8700, 0xfb5c, 0x5000 }, - { 0x8700, 0xfb54, 0x4000 }, - { 0x8700, 0xfb50, 0x3000 }, - { 0x8700, 0xfb4e, 0x2000 }, - { 0x0700, 0xfb4d, 0x0000 }, - { 0x0700, 0xfb4f, 0x0000 }, - { 0x8700, 0xfb52, 0x2000 }, - { 0x0700, 0xfb51, 0x0000 }, - { 0x0700, 0xfb53, 0x0000 }, - { 0x8700, 0xfb58, 0x3000 }, - { 0x8700, 0xfb56, 0x2000 }, - { 0x0700, 0xfb55, 0x0000 }, - { 0x0700, 0xfb57, 0x0000 }, - { 0x8700, 0xfb5a, 0x2000 }, - { 0x0700, 0xfb59, 0x0000 }, - { 0x0700, 0xfb5b, 0x0000 }, - { 0x8700, 0xfb64, 0x4000 }, - { 0x8700, 0xfb60, 0x3000 }, - { 0x8700, 0xfb5e, 0x2000 }, - { 0x0700, 0xfb5d, 0x0000 }, - { 0x0700, 0xfb5f, 0x0000 }, - { 0x8700, 0xfb62, 0x2000 }, - { 0x0700, 0xfb61, 0x0000 }, - { 0x0700, 0xfb63, 0x0000 }, - { 0x8700, 0xfb68, 0x3000 }, - { 0x8700, 0xfb66, 0x2000 }, - { 0x0700, 0xfb65, 0x0000 }, - { 0x0700, 0xfb67, 0x0000 }, - { 0x8700, 0xfb6a, 0x2000 }, - { 0x0700, 0xfb69, 0x0000 }, - { 0x0700, 0xfb6b, 0x0000 }, - { 0x8700, 0xfb8c, 0x6000 }, - { 0x8700, 0xfb7c, 0x5000 }, - { 0x8700, 0xfb74, 0x4000 }, - { 0x8700, 0xfb70, 0x3000 }, - { 0x8700, 0xfb6e, 0x2000 }, - { 0x0700, 0xfb6d, 0x0000 }, - { 0x0700, 0xfb6f, 0x0000 }, - { 0x8700, 0xfb72, 0x2000 }, - { 0x0700, 0xfb71, 0x0000 }, - { 0x0700, 0xfb73, 0x0000 }, - { 0x8700, 0xfb78, 0x3000 }, - { 0x8700, 0xfb76, 0x2000 }, - { 0x0700, 0xfb75, 0x0000 }, - { 0x0700, 0xfb77, 0x0000 }, - { 0x8700, 0xfb7a, 0x2000 }, - { 0x0700, 0xfb79, 0x0000 }, - { 0x0700, 0xfb7b, 0x0000 }, - { 0x8700, 0xfb84, 0x4000 }, - { 0x8700, 0xfb80, 0x3000 }, - { 0x8700, 0xfb7e, 0x2000 }, - { 0x0700, 0xfb7d, 0x0000 }, - { 0x0700, 0xfb7f, 0x0000 }, - { 0x8700, 0xfb82, 0x2000 }, - { 0x0700, 0xfb81, 0x0000 }, - { 0x0700, 0xfb83, 0x0000 }, - { 0x8700, 0xfb88, 0x3000 }, - { 0x8700, 0xfb86, 0x2000 }, - { 0x0700, 0xfb85, 0x0000 }, - { 0x0700, 0xfb87, 0x0000 }, - { 0x8700, 0xfb8a, 0x2000 }, - { 0x0700, 0xfb89, 0x0000 }, - { 0x0700, 0xfb8b, 0x0000 }, - { 0x8700, 0xfb9c, 0x5000 }, - { 0x8700, 0xfb94, 0x4000 }, - { 0x8700, 0xfb90, 0x3000 }, - { 0x8700, 0xfb8e, 0x2000 }, - { 0x0700, 0xfb8d, 0x0000 }, - { 0x0700, 0xfb8f, 0x0000 }, - { 0x8700, 0xfb92, 0x2000 }, - { 0x0700, 0xfb91, 0x0000 }, - { 0x0700, 0xfb93, 0x0000 }, - { 0x8700, 0xfb98, 0x3000 }, - { 0x8700, 0xfb96, 0x2000 }, - { 0x0700, 0xfb95, 0x0000 }, - { 0x0700, 0xfb97, 0x0000 }, - { 0x8700, 0xfb9a, 0x2000 }, - { 0x0700, 0xfb99, 0x0000 }, - { 0x0700, 0xfb9b, 0x0000 }, - { 0x8700, 0xfba4, 0x4000 }, - { 0x8700, 0xfba0, 0x3000 }, - { 0x8700, 0xfb9e, 0x2000 }, - { 0x0700, 0xfb9d, 0x0000 }, - { 0x0700, 0xfb9f, 0x0000 }, - { 0x8700, 0xfba2, 0x2000 }, - { 0x0700, 0xfba1, 0x0000 }, - { 0x0700, 0xfba3, 0x0000 }, - { 0x8700, 0xfba8, 0x3000 }, - { 0x8700, 0xfba6, 0x2000 }, - { 0x0700, 0xfba5, 0x0000 }, - { 0x0700, 0xfba7, 0x0000 }, - { 0x8700, 0xfbaa, 0x2000 }, - { 0x0700, 0xfba9, 0x0000 }, - { 0x0700, 0xfbab, 0x0000 }, - { 0x8700, 0xfc0d, 0x7000 }, - { 0x8700, 0xfbed, 0x6000 }, - { 0x8700, 0xfbdd, 0x5000 }, - { 0x8700, 0xfbd5, 0x4000 }, - { 0x8700, 0xfbb0, 0x3000 }, - { 0x8700, 0xfbae, 0x2000 }, - { 0x0700, 0xfbad, 0x0000 }, - { 0x0700, 0xfbaf, 0x0000 }, - { 0x8700, 0xfbd3, 0x2000 }, - { 0x0700, 0xfbb1, 0x0000 }, - { 0x0700, 0xfbd4, 0x0000 }, - { 0x8700, 0xfbd9, 0x3000 }, - { 0x8700, 0xfbd7, 0x2000 }, - { 0x0700, 0xfbd6, 0x0000 }, - { 0x0700, 0xfbd8, 0x0000 }, - { 0x8700, 0xfbdb, 0x2000 }, - { 0x0700, 0xfbda, 0x0000 }, - { 0x0700, 0xfbdc, 0x0000 }, - { 0x8700, 0xfbe5, 0x4000 }, - { 0x8700, 0xfbe1, 0x3000 }, - { 0x8700, 0xfbdf, 0x2000 }, - { 0x0700, 0xfbde, 0x0000 }, - { 0x0700, 0xfbe0, 0x0000 }, - { 0x8700, 0xfbe3, 0x2000 }, - { 0x0700, 0xfbe2, 0x0000 }, - { 0x0700, 0xfbe4, 0x0000 }, - { 0x8700, 0xfbe9, 0x3000 }, - { 0x8700, 0xfbe7, 0x2000 }, - { 0x0700, 0xfbe6, 0x0000 }, - { 0x0700, 0xfbe8, 0x0000 }, - { 0x8700, 0xfbeb, 0x2000 }, - { 0x0700, 0xfbea, 0x0000 }, - { 0x0700, 0xfbec, 0x0000 }, - { 0x8700, 0xfbfd, 0x5000 }, - { 0x8700, 0xfbf5, 0x4000 }, - { 0x8700, 0xfbf1, 0x3000 }, - { 0x8700, 0xfbef, 0x2000 }, - { 0x0700, 0xfbee, 0x0000 }, - { 0x0700, 0xfbf0, 0x0000 }, - { 0x8700, 0xfbf3, 0x2000 }, - { 0x0700, 0xfbf2, 0x0000 }, - { 0x0700, 0xfbf4, 0x0000 }, - { 0x8700, 0xfbf9, 0x3000 }, - { 0x8700, 0xfbf7, 0x2000 }, - { 0x0700, 0xfbf6, 0x0000 }, - { 0x0700, 0xfbf8, 0x0000 }, - { 0x8700, 0xfbfb, 0x2000 }, - { 0x0700, 0xfbfa, 0x0000 }, - { 0x0700, 0xfbfc, 0x0000 }, - { 0x8700, 0xfc05, 0x4000 }, - { 0x8700, 0xfc01, 0x3000 }, - { 0x8700, 0xfbff, 0x2000 }, - { 0x0700, 0xfbfe, 0x0000 }, - { 0x0700, 0xfc00, 0x0000 }, - { 0x8700, 0xfc03, 0x2000 }, - { 0x0700, 0xfc02, 0x0000 }, - { 0x0700, 0xfc04, 0x0000 }, - { 0x8700, 0xfc09, 0x3000 }, - { 0x8700, 0xfc07, 0x2000 }, - { 0x0700, 0xfc06, 0x0000 }, - { 0x0700, 0xfc08, 0x0000 }, - { 0x8700, 0xfc0b, 0x2000 }, - { 0x0700, 0xfc0a, 0x0000 }, - { 0x0700, 0xfc0c, 0x0000 }, - { 0x8700, 0xfc2d, 0x6000 }, - { 0x8700, 0xfc1d, 0x5000 }, - { 0x8700, 0xfc15, 0x4000 }, - { 0x8700, 0xfc11, 0x3000 }, - { 0x8700, 0xfc0f, 0x2000 }, - { 0x0700, 0xfc0e, 0x0000 }, - { 0x0700, 0xfc10, 0x0000 }, - { 0x8700, 0xfc13, 0x2000 }, - { 0x0700, 0xfc12, 0x0000 }, - { 0x0700, 0xfc14, 0x0000 }, - { 0x8700, 0xfc19, 0x3000 }, - { 0x8700, 0xfc17, 0x2000 }, - { 0x0700, 0xfc16, 0x0000 }, - { 0x0700, 0xfc18, 0x0000 }, - { 0x8700, 0xfc1b, 0x2000 }, - { 0x0700, 0xfc1a, 0x0000 }, - { 0x0700, 0xfc1c, 0x0000 }, - { 0x8700, 0xfc25, 0x4000 }, - { 0x8700, 0xfc21, 0x3000 }, - { 0x8700, 0xfc1f, 0x2000 }, - { 0x0700, 0xfc1e, 0x0000 }, - { 0x0700, 0xfc20, 0x0000 }, - { 0x8700, 0xfc23, 0x2000 }, - { 0x0700, 0xfc22, 0x0000 }, - { 0x0700, 0xfc24, 0x0000 }, - { 0x8700, 0xfc29, 0x3000 }, - { 0x8700, 0xfc27, 0x2000 }, - { 0x0700, 0xfc26, 0x0000 }, - { 0x0700, 0xfc28, 0x0000 }, - { 0x8700, 0xfc2b, 0x2000 }, - { 0x0700, 0xfc2a, 0x0000 }, - { 0x0700, 0xfc2c, 0x0000 }, - { 0x8700, 0xfc3d, 0x5000 }, - { 0x8700, 0xfc35, 0x4000 }, - { 0x8700, 0xfc31, 0x3000 }, - { 0x8700, 0xfc2f, 0x2000 }, - { 0x0700, 0xfc2e, 0x0000 }, - { 0x0700, 0xfc30, 0x0000 }, - { 0x8700, 0xfc33, 0x2000 }, - { 0x0700, 0xfc32, 0x0000 }, - { 0x0700, 0xfc34, 0x0000 }, - { 0x8700, 0xfc39, 0x3000 }, - { 0x8700, 0xfc37, 0x2000 }, - { 0x0700, 0xfc36, 0x0000 }, - { 0x0700, 0xfc38, 0x0000 }, - { 0x8700, 0xfc3b, 0x2000 }, - { 0x0700, 0xfc3a, 0x0000 }, - { 0x0700, 0xfc3c, 0x0000 }, - { 0x8700, 0xfc45, 0x4000 }, - { 0x8700, 0xfc41, 0x3000 }, - { 0x8700, 0xfc3f, 0x2000 }, - { 0x0700, 0xfc3e, 0x0000 }, - { 0x0700, 0xfc40, 0x0000 }, - { 0x8700, 0xfc43, 0x2000 }, - { 0x0700, 0xfc42, 0x0000 }, - { 0x0700, 0xfc44, 0x0000 }, - { 0x8700, 0xfc49, 0x3000 }, - { 0x8700, 0xfc47, 0x2000 }, - { 0x0700, 0xfc46, 0x0000 }, - { 0x0700, 0xfc48, 0x0000 }, - { 0x8700, 0xfc4b, 0x2000 }, - { 0x0700, 0xfc4a, 0x0000 }, - { 0x0700, 0xfc4c, 0x0000 }, - { 0x8700, 0xfeac, 0xa000 }, - { 0x8700, 0xfd5d, 0x9000 }, - { 0x8700, 0xfccd, 0x8000 }, - { 0x8700, 0xfc8d, 0x7000 }, - { 0x8700, 0xfc6d, 0x6000 }, - { 0x8700, 0xfc5d, 0x5000 }, - { 0x8700, 0xfc55, 0x4000 }, - { 0x8700, 0xfc51, 0x3000 }, - { 0x8700, 0xfc4f, 0x2000 }, - { 0x0700, 0xfc4e, 0x0000 }, - { 0x0700, 0xfc50, 0x0000 }, - { 0x8700, 0xfc53, 0x2000 }, - { 0x0700, 0xfc52, 0x0000 }, - { 0x0700, 0xfc54, 0x0000 }, - { 0x8700, 0xfc59, 0x3000 }, - { 0x8700, 0xfc57, 0x2000 }, - { 0x0700, 0xfc56, 0x0000 }, - { 0x0700, 0xfc58, 0x0000 }, - { 0x8700, 0xfc5b, 0x2000 }, - { 0x0700, 0xfc5a, 0x0000 }, - { 0x0700, 0xfc5c, 0x0000 }, - { 0x8700, 0xfc65, 0x4000 }, - { 0x8700, 0xfc61, 0x3000 }, - { 0x8700, 0xfc5f, 0x2000 }, - { 0x0700, 0xfc5e, 0x0000 }, - { 0x0700, 0xfc60, 0x0000 }, - { 0x8700, 0xfc63, 0x2000 }, - { 0x0700, 0xfc62, 0x0000 }, - { 0x0700, 0xfc64, 0x0000 }, - { 0x8700, 0xfc69, 0x3000 }, - { 0x8700, 0xfc67, 0x2000 }, - { 0x0700, 0xfc66, 0x0000 }, - { 0x0700, 0xfc68, 0x0000 }, - { 0x8700, 0xfc6b, 0x2000 }, - { 0x0700, 0xfc6a, 0x0000 }, - { 0x0700, 0xfc6c, 0x0000 }, - { 0x8700, 0xfc7d, 0x5000 }, - { 0x8700, 0xfc75, 0x4000 }, - { 0x8700, 0xfc71, 0x3000 }, - { 0x8700, 0xfc6f, 0x2000 }, - { 0x0700, 0xfc6e, 0x0000 }, - { 0x0700, 0xfc70, 0x0000 }, - { 0x8700, 0xfc73, 0x2000 }, - { 0x0700, 0xfc72, 0x0000 }, - { 0x0700, 0xfc74, 0x0000 }, - { 0x8700, 0xfc79, 0x3000 }, - { 0x8700, 0xfc77, 0x2000 }, - { 0x0700, 0xfc76, 0x0000 }, - { 0x0700, 0xfc78, 0x0000 }, - { 0x8700, 0xfc7b, 0x2000 }, - { 0x0700, 0xfc7a, 0x0000 }, - { 0x0700, 0xfc7c, 0x0000 }, - { 0x8700, 0xfc85, 0x4000 }, - { 0x8700, 0xfc81, 0x3000 }, - { 0x8700, 0xfc7f, 0x2000 }, - { 0x0700, 0xfc7e, 0x0000 }, - { 0x0700, 0xfc80, 0x0000 }, - { 0x8700, 0xfc83, 0x2000 }, - { 0x0700, 0xfc82, 0x0000 }, - { 0x0700, 0xfc84, 0x0000 }, - { 0x8700, 0xfc89, 0x3000 }, - { 0x8700, 0xfc87, 0x2000 }, - { 0x0700, 0xfc86, 0x0000 }, - { 0x0700, 0xfc88, 0x0000 }, - { 0x8700, 0xfc8b, 0x2000 }, - { 0x0700, 0xfc8a, 0x0000 }, - { 0x0700, 0xfc8c, 0x0000 }, - { 0x8700, 0xfcad, 0x6000 }, - { 0x8700, 0xfc9d, 0x5000 }, - { 0x8700, 0xfc95, 0x4000 }, - { 0x8700, 0xfc91, 0x3000 }, - { 0x8700, 0xfc8f, 0x2000 }, - { 0x0700, 0xfc8e, 0x0000 }, - { 0x0700, 0xfc90, 0x0000 }, - { 0x8700, 0xfc93, 0x2000 }, - { 0x0700, 0xfc92, 0x0000 }, - { 0x0700, 0xfc94, 0x0000 }, - { 0x8700, 0xfc99, 0x3000 }, - { 0x8700, 0xfc97, 0x2000 }, - { 0x0700, 0xfc96, 0x0000 }, - { 0x0700, 0xfc98, 0x0000 }, - { 0x8700, 0xfc9b, 0x2000 }, - { 0x0700, 0xfc9a, 0x0000 }, - { 0x0700, 0xfc9c, 0x0000 }, - { 0x8700, 0xfca5, 0x4000 }, - { 0x8700, 0xfca1, 0x3000 }, - { 0x8700, 0xfc9f, 0x2000 }, - { 0x0700, 0xfc9e, 0x0000 }, - { 0x0700, 0xfca0, 0x0000 }, - { 0x8700, 0xfca3, 0x2000 }, - { 0x0700, 0xfca2, 0x0000 }, - { 0x0700, 0xfca4, 0x0000 }, - { 0x8700, 0xfca9, 0x3000 }, - { 0x8700, 0xfca7, 0x2000 }, - { 0x0700, 0xfca6, 0x0000 }, - { 0x0700, 0xfca8, 0x0000 }, - { 0x8700, 0xfcab, 0x2000 }, - { 0x0700, 0xfcaa, 0x0000 }, - { 0x0700, 0xfcac, 0x0000 }, - { 0x8700, 0xfcbd, 0x5000 }, - { 0x8700, 0xfcb5, 0x4000 }, - { 0x8700, 0xfcb1, 0x3000 }, - { 0x8700, 0xfcaf, 0x2000 }, - { 0x0700, 0xfcae, 0x0000 }, - { 0x0700, 0xfcb0, 0x0000 }, - { 0x8700, 0xfcb3, 0x2000 }, - { 0x0700, 0xfcb2, 0x0000 }, - { 0x0700, 0xfcb4, 0x0000 }, - { 0x8700, 0xfcb9, 0x3000 }, - { 0x8700, 0xfcb7, 0x2000 }, - { 0x0700, 0xfcb6, 0x0000 }, - { 0x0700, 0xfcb8, 0x0000 }, - { 0x8700, 0xfcbb, 0x2000 }, - { 0x0700, 0xfcba, 0x0000 }, - { 0x0700, 0xfcbc, 0x0000 }, - { 0x8700, 0xfcc5, 0x4000 }, - { 0x8700, 0xfcc1, 0x3000 }, - { 0x8700, 0xfcbf, 0x2000 }, - { 0x0700, 0xfcbe, 0x0000 }, - { 0x0700, 0xfcc0, 0x0000 }, - { 0x8700, 0xfcc3, 0x2000 }, - { 0x0700, 0xfcc2, 0x0000 }, - { 0x0700, 0xfcc4, 0x0000 }, - { 0x8700, 0xfcc9, 0x3000 }, - { 0x8700, 0xfcc7, 0x2000 }, - { 0x0700, 0xfcc6, 0x0000 }, - { 0x0700, 0xfcc8, 0x0000 }, - { 0x8700, 0xfccb, 0x2000 }, - { 0x0700, 0xfcca, 0x0000 }, - { 0x0700, 0xfccc, 0x0000 }, - { 0x8700, 0xfd0d, 0x7000 }, - { 0x8700, 0xfced, 0x6000 }, - { 0x8700, 0xfcdd, 0x5000 }, - { 0x8700, 0xfcd5, 0x4000 }, - { 0x8700, 0xfcd1, 0x3000 }, - { 0x8700, 0xfccf, 0x2000 }, - { 0x0700, 0xfcce, 0x0000 }, - { 0x0700, 0xfcd0, 0x0000 }, - { 0x8700, 0xfcd3, 0x2000 }, - { 0x0700, 0xfcd2, 0x0000 }, - { 0x0700, 0xfcd4, 0x0000 }, - { 0x8700, 0xfcd9, 0x3000 }, - { 0x8700, 0xfcd7, 0x2000 }, - { 0x0700, 0xfcd6, 0x0000 }, - { 0x0700, 0xfcd8, 0x0000 }, - { 0x8700, 0xfcdb, 0x2000 }, - { 0x0700, 0xfcda, 0x0000 }, - { 0x0700, 0xfcdc, 0x0000 }, - { 0x8700, 0xfce5, 0x4000 }, - { 0x8700, 0xfce1, 0x3000 }, - { 0x8700, 0xfcdf, 0x2000 }, - { 0x0700, 0xfcde, 0x0000 }, - { 0x0700, 0xfce0, 0x0000 }, - { 0x8700, 0xfce3, 0x2000 }, - { 0x0700, 0xfce2, 0x0000 }, - { 0x0700, 0xfce4, 0x0000 }, - { 0x8700, 0xfce9, 0x3000 }, - { 0x8700, 0xfce7, 0x2000 }, - { 0x0700, 0xfce6, 0x0000 }, - { 0x0700, 0xfce8, 0x0000 }, - { 0x8700, 0xfceb, 0x2000 }, - { 0x0700, 0xfcea, 0x0000 }, - { 0x0700, 0xfcec, 0x0000 }, - { 0x8700, 0xfcfd, 0x5000 }, - { 0x8700, 0xfcf5, 0x4000 }, - { 0x8700, 0xfcf1, 0x3000 }, - { 0x8700, 0xfcef, 0x2000 }, - { 0x0700, 0xfcee, 0x0000 }, - { 0x0700, 0xfcf0, 0x0000 }, - { 0x8700, 0xfcf3, 0x2000 }, - { 0x0700, 0xfcf2, 0x0000 }, - { 0x0700, 0xfcf4, 0x0000 }, - { 0x8700, 0xfcf9, 0x3000 }, - { 0x8700, 0xfcf7, 0x2000 }, - { 0x0700, 0xfcf6, 0x0000 }, - { 0x0700, 0xfcf8, 0x0000 }, - { 0x8700, 0xfcfb, 0x2000 }, - { 0x0700, 0xfcfa, 0x0000 }, - { 0x0700, 0xfcfc, 0x0000 }, - { 0x8700, 0xfd05, 0x4000 }, - { 0x8700, 0xfd01, 0x3000 }, - { 0x8700, 0xfcff, 0x2000 }, - { 0x0700, 0xfcfe, 0x0000 }, - { 0x0700, 0xfd00, 0x0000 }, - { 0x8700, 0xfd03, 0x2000 }, - { 0x0700, 0xfd02, 0x0000 }, - { 0x0700, 0xfd04, 0x0000 }, - { 0x8700, 0xfd09, 0x3000 }, - { 0x8700, 0xfd07, 0x2000 }, - { 0x0700, 0xfd06, 0x0000 }, - { 0x0700, 0xfd08, 0x0000 }, - { 0x8700, 0xfd0b, 0x2000 }, - { 0x0700, 0xfd0a, 0x0000 }, - { 0x0700, 0xfd0c, 0x0000 }, - { 0x8700, 0xfd2d, 0x6000 }, - { 0x8700, 0xfd1d, 0x5000 }, - { 0x8700, 0xfd15, 0x4000 }, - { 0x8700, 0xfd11, 0x3000 }, - { 0x8700, 0xfd0f, 0x2000 }, - { 0x0700, 0xfd0e, 0x0000 }, - { 0x0700, 0xfd10, 0x0000 }, - { 0x8700, 0xfd13, 0x2000 }, - { 0x0700, 0xfd12, 0x0000 }, - { 0x0700, 0xfd14, 0x0000 }, - { 0x8700, 0xfd19, 0x3000 }, - { 0x8700, 0xfd17, 0x2000 }, - { 0x0700, 0xfd16, 0x0000 }, - { 0x0700, 0xfd18, 0x0000 }, - { 0x8700, 0xfd1b, 0x2000 }, - { 0x0700, 0xfd1a, 0x0000 }, - { 0x0700, 0xfd1c, 0x0000 }, - { 0x8700, 0xfd25, 0x4000 }, - { 0x8700, 0xfd21, 0x3000 }, - { 0x8700, 0xfd1f, 0x2000 }, - { 0x0700, 0xfd1e, 0x0000 }, - { 0x0700, 0xfd20, 0x0000 }, - { 0x8700, 0xfd23, 0x2000 }, - { 0x0700, 0xfd22, 0x0000 }, - { 0x0700, 0xfd24, 0x0000 }, - { 0x8700, 0xfd29, 0x3000 }, - { 0x8700, 0xfd27, 0x2000 }, - { 0x0700, 0xfd26, 0x0000 }, - { 0x0700, 0xfd28, 0x0000 }, - { 0x8700, 0xfd2b, 0x2000 }, - { 0x0700, 0xfd2a, 0x0000 }, - { 0x0700, 0xfd2c, 0x0000 }, - { 0x8700, 0xfd3d, 0x5000 }, - { 0x8700, 0xfd35, 0x4000 }, - { 0x8700, 0xfd31, 0x3000 }, - { 0x8700, 0xfd2f, 0x2000 }, - { 0x0700, 0xfd2e, 0x0000 }, - { 0x0700, 0xfd30, 0x0000 }, - { 0x8700, 0xfd33, 0x2000 }, - { 0x0700, 0xfd32, 0x0000 }, - { 0x0700, 0xfd34, 0x0000 }, - { 0x8700, 0xfd39, 0x3000 }, - { 0x8700, 0xfd37, 0x2000 }, - { 0x0700, 0xfd36, 0x0000 }, - { 0x0700, 0xfd38, 0x0000 }, - { 0x8700, 0xfd3b, 0x2000 }, - { 0x0700, 0xfd3a, 0x0000 }, - { 0x0700, 0xfd3c, 0x0000 }, - { 0x8700, 0xfd55, 0x4000 }, - { 0x8700, 0xfd51, 0x3000 }, - { 0x9200, 0xfd3f, 0x2000 }, - { 0x1600, 0xfd3e, 0x0000 }, - { 0x0700, 0xfd50, 0x0000 }, - { 0x8700, 0xfd53, 0x2000 }, - { 0x0700, 0xfd52, 0x0000 }, - { 0x0700, 0xfd54, 0x0000 }, - { 0x8700, 0xfd59, 0x3000 }, - { 0x8700, 0xfd57, 0x2000 }, - { 0x0700, 0xfd56, 0x0000 }, - { 0x0700, 0xfd58, 0x0000 }, - { 0x8700, 0xfd5b, 0x2000 }, - { 0x0700, 0xfd5a, 0x0000 }, - { 0x0700, 0xfd5c, 0x0000 }, - { 0x8c00, 0xfe09, 0x8000 }, - { 0x8700, 0xfd9f, 0x7000 }, - { 0x8700, 0xfd7d, 0x6000 }, - { 0x8700, 0xfd6d, 0x5000 }, - { 0x8700, 0xfd65, 0x4000 }, - { 0x8700, 0xfd61, 0x3000 }, - { 0x8700, 0xfd5f, 0x2000 }, - { 0x0700, 0xfd5e, 0x0000 }, - { 0x0700, 0xfd60, 0x0000 }, - { 0x8700, 0xfd63, 0x2000 }, - { 0x0700, 0xfd62, 0x0000 }, - { 0x0700, 0xfd64, 0x0000 }, - { 0x8700, 0xfd69, 0x3000 }, - { 0x8700, 0xfd67, 0x2000 }, - { 0x0700, 0xfd66, 0x0000 }, - { 0x0700, 0xfd68, 0x0000 }, - { 0x8700, 0xfd6b, 0x2000 }, - { 0x0700, 0xfd6a, 0x0000 }, - { 0x0700, 0xfd6c, 0x0000 }, - { 0x8700, 0xfd75, 0x4000 }, - { 0x8700, 0xfd71, 0x3000 }, - { 0x8700, 0xfd6f, 0x2000 }, - { 0x0700, 0xfd6e, 0x0000 }, - { 0x0700, 0xfd70, 0x0000 }, - { 0x8700, 0xfd73, 0x2000 }, - { 0x0700, 0xfd72, 0x0000 }, - { 0x0700, 0xfd74, 0x0000 }, - { 0x8700, 0xfd79, 0x3000 }, - { 0x8700, 0xfd77, 0x2000 }, - { 0x0700, 0xfd76, 0x0000 }, - { 0x0700, 0xfd78, 0x0000 }, - { 0x8700, 0xfd7b, 0x2000 }, - { 0x0700, 0xfd7a, 0x0000 }, - { 0x0700, 0xfd7c, 0x0000 }, - { 0x8700, 0xfd8d, 0x5000 }, - { 0x8700, 0xfd85, 0x4000 }, - { 0x8700, 0xfd81, 0x3000 }, - { 0x8700, 0xfd7f, 0x2000 }, - { 0x0700, 0xfd7e, 0x0000 }, - { 0x0700, 0xfd80, 0x0000 }, - { 0x8700, 0xfd83, 0x2000 }, - { 0x0700, 0xfd82, 0x0000 }, - { 0x0700, 0xfd84, 0x0000 }, - { 0x8700, 0xfd89, 0x3000 }, - { 0x8700, 0xfd87, 0x2000 }, - { 0x0700, 0xfd86, 0x0000 }, - { 0x0700, 0xfd88, 0x0000 }, - { 0x8700, 0xfd8b, 0x2000 }, - { 0x0700, 0xfd8a, 0x0000 }, - { 0x0700, 0xfd8c, 0x0000 }, - { 0x8700, 0xfd97, 0x4000 }, - { 0x8700, 0xfd93, 0x3000 }, - { 0x8700, 0xfd8f, 0x2000 }, - { 0x0700, 0xfd8e, 0x0000 }, - { 0x0700, 0xfd92, 0x0000 }, - { 0x8700, 0xfd95, 0x2000 }, - { 0x0700, 0xfd94, 0x0000 }, - { 0x0700, 0xfd96, 0x0000 }, - { 0x8700, 0xfd9b, 0x3000 }, - { 0x8700, 0xfd99, 0x2000 }, - { 0x0700, 0xfd98, 0x0000 }, - { 0x0700, 0xfd9a, 0x0000 }, - { 0x8700, 0xfd9d, 0x2000 }, - { 0x0700, 0xfd9c, 0x0000 }, - { 0x0700, 0xfd9e, 0x0000 }, - { 0x8700, 0xfdbf, 0x6000 }, - { 0x8700, 0xfdaf, 0x5000 }, - { 0x8700, 0xfda7, 0x4000 }, - { 0x8700, 0xfda3, 0x3000 }, - { 0x8700, 0xfda1, 0x2000 }, - { 0x0700, 0xfda0, 0x0000 }, - { 0x0700, 0xfda2, 0x0000 }, - { 0x8700, 0xfda5, 0x2000 }, - { 0x0700, 0xfda4, 0x0000 }, - { 0x0700, 0xfda6, 0x0000 }, - { 0x8700, 0xfdab, 0x3000 }, - { 0x8700, 0xfda9, 0x2000 }, - { 0x0700, 0xfda8, 0x0000 }, - { 0x0700, 0xfdaa, 0x0000 }, - { 0x8700, 0xfdad, 0x2000 }, - { 0x0700, 0xfdac, 0x0000 }, - { 0x0700, 0xfdae, 0x0000 }, - { 0x8700, 0xfdb7, 0x4000 }, - { 0x8700, 0xfdb3, 0x3000 }, - { 0x8700, 0xfdb1, 0x2000 }, - { 0x0700, 0xfdb0, 0x0000 }, - { 0x0700, 0xfdb2, 0x0000 }, - { 0x8700, 0xfdb5, 0x2000 }, - { 0x0700, 0xfdb4, 0x0000 }, - { 0x0700, 0xfdb6, 0x0000 }, - { 0x8700, 0xfdbb, 0x3000 }, - { 0x8700, 0xfdb9, 0x2000 }, - { 0x0700, 0xfdb8, 0x0000 }, - { 0x0700, 0xfdba, 0x0000 }, - { 0x8700, 0xfdbd, 0x2000 }, - { 0x0700, 0xfdbc, 0x0000 }, - { 0x0700, 0xfdbe, 0x0000 }, - { 0x8700, 0xfdf7, 0x5000 }, - { 0x8700, 0xfdc7, 0x4000 }, - { 0x8700, 0xfdc3, 0x3000 }, - { 0x8700, 0xfdc1, 0x2000 }, - { 0x0700, 0xfdc0, 0x0000 }, - { 0x0700, 0xfdc2, 0x0000 }, - { 0x8700, 0xfdc5, 0x2000 }, - { 0x0700, 0xfdc4, 0x0000 }, - { 0x0700, 0xfdc6, 0x0000 }, - { 0x8700, 0xfdf3, 0x3000 }, - { 0x8700, 0xfdf1, 0x2000 }, - { 0x0700, 0xfdf0, 0x0000 }, - { 0x0700, 0xfdf2, 0x0000 }, - { 0x8700, 0xfdf5, 0x2000 }, - { 0x0700, 0xfdf4, 0x0000 }, - { 0x0700, 0xfdf6, 0x0000 }, - { 0x8c00, 0xfe01, 0x4000 }, - { 0x8700, 0xfdfb, 0x3000 }, - { 0x8700, 0xfdf9, 0x2000 }, - { 0x0700, 0xfdf8, 0x0000 }, - { 0x0700, 0xfdfa, 0x0000 }, - { 0x9a00, 0xfdfd, 0x2000 }, - { 0x1700, 0xfdfc, 0x0000 }, - { 0x0c00, 0xfe00, 0x0000 }, - { 0x8c00, 0xfe05, 0x3000 }, - { 0x8c00, 0xfe03, 0x2000 }, - { 0x0c00, 0xfe02, 0x0000 }, - { 0x0c00, 0xfe04, 0x0000 }, - { 0x8c00, 0xfe07, 0x2000 }, - { 0x0c00, 0xfe06, 0x0000 }, - { 0x0c00, 0xfe08, 0x0000 }, - { 0x9900, 0xfe66, 0x7000 }, - { 0x9500, 0xfe45, 0x6000 }, - { 0x9600, 0xfe35, 0x5000 }, - { 0x8c00, 0xfe21, 0x4000 }, - { 0x8c00, 0xfe0d, 0x3000 }, - { 0x8c00, 0xfe0b, 0x2000 }, - { 0x0c00, 0xfe0a, 0x0000 }, - { 0x0c00, 0xfe0c, 0x0000 }, - { 0x8c00, 0xfe0f, 0x2000 }, - { 0x0c00, 0xfe0e, 0x0000 }, - { 0x0c00, 0xfe20, 0x0000 }, - { 0x9100, 0xfe31, 0x3000 }, - { 0x8c00, 0xfe23, 0x2000 }, - { 0x0c00, 0xfe22, 0x0000 }, - { 0x1500, 0xfe30, 0x0000 }, - { 0x9000, 0xfe33, 0x2000 }, - { 0x1100, 0xfe32, 0x0000 }, - { 0x1000, 0xfe34, 0x0000 }, - { 0x9600, 0xfe3d, 0x4000 }, - { 0x9600, 0xfe39, 0x3000 }, - { 0x9600, 0xfe37, 0x2000 }, - { 0x1200, 0xfe36, 0x0000 }, - { 0x1200, 0xfe38, 0x0000 }, - { 0x9600, 0xfe3b, 0x2000 }, - { 0x1200, 0xfe3a, 0x0000 }, - { 0x1200, 0xfe3c, 0x0000 }, - { 0x9600, 0xfe41, 0x3000 }, - { 0x9600, 0xfe3f, 0x2000 }, - { 0x1200, 0xfe3e, 0x0000 }, - { 0x1200, 0xfe40, 0x0000 }, - { 0x9600, 0xfe43, 0x2000 }, - { 0x1200, 0xfe42, 0x0000 }, - { 0x1200, 0xfe44, 0x0000 }, - { 0x9500, 0xfe56, 0x5000 }, - { 0x9000, 0xfe4d, 0x4000 }, - { 0x9500, 0xfe49, 0x3000 }, - { 0x9600, 0xfe47, 0x2000 }, - { 0x1500, 0xfe46, 0x0000 }, - { 0x1200, 0xfe48, 0x0000 }, - { 0x9500, 0xfe4b, 0x2000 }, - { 0x1500, 0xfe4a, 0x0000 }, - { 0x1500, 0xfe4c, 0x0000 }, - { 0x9500, 0xfe51, 0x3000 }, - { 0x9000, 0xfe4f, 0x2000 }, - { 0x1000, 0xfe4e, 0x0000 }, - { 0x1500, 0xfe50, 0x0000 }, - { 0x9500, 0xfe54, 0x2000 }, - { 0x1500, 0xfe52, 0x0000 }, - { 0x1500, 0xfe55, 0x0000 }, - { 0x9200, 0xfe5e, 0x4000 }, - { 0x9200, 0xfe5a, 0x3000 }, - { 0x9100, 0xfe58, 0x2000 }, - { 0x1500, 0xfe57, 0x0000 }, - { 0x1600, 0xfe59, 0x0000 }, - { 0x9200, 0xfe5c, 0x2000 }, - { 0x1600, 0xfe5b, 0x0000 }, - { 0x1600, 0xfe5d, 0x0000 }, - { 0x9900, 0xfe62, 0x3000 }, - { 0x9500, 0xfe60, 0x2000 }, - { 0x1500, 0xfe5f, 0x0000 }, - { 0x1500, 0xfe61, 0x0000 }, - { 0x9900, 0xfe64, 0x2000 }, - { 0x1100, 0xfe63, 0x0000 }, - { 0x1900, 0xfe65, 0x0000 }, - { 0x8700, 0xfe8c, 0x6000 }, - { 0x8700, 0xfe7c, 0x5000 }, - { 0x8700, 0xfe73, 0x4000 }, - { 0x9500, 0xfe6b, 0x3000 }, - { 0x9700, 0xfe69, 0x2000 }, - { 0x1500, 0xfe68, 0x0000 }, - { 0x1500, 0xfe6a, 0x0000 }, - { 0x8700, 0xfe71, 0x2000 }, - { 0x0700, 0xfe70, 0x0000 }, - { 0x0700, 0xfe72, 0x0000 }, - { 0x8700, 0xfe78, 0x3000 }, - { 0x8700, 0xfe76, 0x2000 }, - { 0x0700, 0xfe74, 0x0000 }, - { 0x0700, 0xfe77, 0x0000 }, - { 0x8700, 0xfe7a, 0x2000 }, - { 0x0700, 0xfe79, 0x0000 }, - { 0x0700, 0xfe7b, 0x0000 }, - { 0x8700, 0xfe84, 0x4000 }, - { 0x8700, 0xfe80, 0x3000 }, - { 0x8700, 0xfe7e, 0x2000 }, - { 0x0700, 0xfe7d, 0x0000 }, - { 0x0700, 0xfe7f, 0x0000 }, - { 0x8700, 0xfe82, 0x2000 }, - { 0x0700, 0xfe81, 0x0000 }, - { 0x0700, 0xfe83, 0x0000 }, - { 0x8700, 0xfe88, 0x3000 }, - { 0x8700, 0xfe86, 0x2000 }, - { 0x0700, 0xfe85, 0x0000 }, - { 0x0700, 0xfe87, 0x0000 }, - { 0x8700, 0xfe8a, 0x2000 }, - { 0x0700, 0xfe89, 0x0000 }, - { 0x0700, 0xfe8b, 0x0000 }, - { 0x8700, 0xfe9c, 0x5000 }, - { 0x8700, 0xfe94, 0x4000 }, - { 0x8700, 0xfe90, 0x3000 }, - { 0x8700, 0xfe8e, 0x2000 }, - { 0x0700, 0xfe8d, 0x0000 }, - { 0x0700, 0xfe8f, 0x0000 }, - { 0x8700, 0xfe92, 0x2000 }, - { 0x0700, 0xfe91, 0x0000 }, - { 0x0700, 0xfe93, 0x0000 }, - { 0x8700, 0xfe98, 0x3000 }, - { 0x8700, 0xfe96, 0x2000 }, - { 0x0700, 0xfe95, 0x0000 }, - { 0x0700, 0xfe97, 0x0000 }, - { 0x8700, 0xfe9a, 0x2000 }, - { 0x0700, 0xfe99, 0x0000 }, - { 0x0700, 0xfe9b, 0x0000 }, - { 0x8700, 0xfea4, 0x4000 }, - { 0x8700, 0xfea0, 0x3000 }, - { 0x8700, 0xfe9e, 0x2000 }, - { 0x0700, 0xfe9d, 0x0000 }, - { 0x0700, 0xfe9f, 0x0000 }, - { 0x8700, 0xfea2, 0x2000 }, - { 0x0700, 0xfea1, 0x0000 }, - { 0x0700, 0xfea3, 0x0000 }, - { 0x8700, 0xfea8, 0x3000 }, - { 0x8700, 0xfea6, 0x2000 }, - { 0x0700, 0xfea5, 0x0000 }, - { 0x0700, 0xfea7, 0x0000 }, - { 0x8700, 0xfeaa, 0x2000 }, - { 0x0700, 0xfea9, 0x0000 }, - { 0x0700, 0xfeab, 0x0000 }, - { 0x8700, 0xffaf, 0x9000 }, - { 0x8900, 0xff2f, 0x8020 }, - { 0x8700, 0xfeec, 0x7000 }, - { 0x8700, 0xfecc, 0x6000 }, - { 0x8700, 0xfebc, 0x5000 }, - { 0x8700, 0xfeb4, 0x4000 }, - { 0x8700, 0xfeb0, 0x3000 }, - { 0x8700, 0xfeae, 0x2000 }, - { 0x0700, 0xfead, 0x0000 }, - { 0x0700, 0xfeaf, 0x0000 }, - { 0x8700, 0xfeb2, 0x2000 }, - { 0x0700, 0xfeb1, 0x0000 }, - { 0x0700, 0xfeb3, 0x0000 }, - { 0x8700, 0xfeb8, 0x3000 }, - { 0x8700, 0xfeb6, 0x2000 }, - { 0x0700, 0xfeb5, 0x0000 }, - { 0x0700, 0xfeb7, 0x0000 }, - { 0x8700, 0xfeba, 0x2000 }, - { 0x0700, 0xfeb9, 0x0000 }, - { 0x0700, 0xfebb, 0x0000 }, - { 0x8700, 0xfec4, 0x4000 }, - { 0x8700, 0xfec0, 0x3000 }, - { 0x8700, 0xfebe, 0x2000 }, - { 0x0700, 0xfebd, 0x0000 }, - { 0x0700, 0xfebf, 0x0000 }, - { 0x8700, 0xfec2, 0x2000 }, - { 0x0700, 0xfec1, 0x0000 }, - { 0x0700, 0xfec3, 0x0000 }, - { 0x8700, 0xfec8, 0x3000 }, - { 0x8700, 0xfec6, 0x2000 }, - { 0x0700, 0xfec5, 0x0000 }, - { 0x0700, 0xfec7, 0x0000 }, - { 0x8700, 0xfeca, 0x2000 }, - { 0x0700, 0xfec9, 0x0000 }, - { 0x0700, 0xfecb, 0x0000 }, - { 0x8700, 0xfedc, 0x5000 }, - { 0x8700, 0xfed4, 0x4000 }, - { 0x8700, 0xfed0, 0x3000 }, - { 0x8700, 0xfece, 0x2000 }, - { 0x0700, 0xfecd, 0x0000 }, - { 0x0700, 0xfecf, 0x0000 }, - { 0x8700, 0xfed2, 0x2000 }, - { 0x0700, 0xfed1, 0x0000 }, - { 0x0700, 0xfed3, 0x0000 }, - { 0x8700, 0xfed8, 0x3000 }, - { 0x8700, 0xfed6, 0x2000 }, - { 0x0700, 0xfed5, 0x0000 }, - { 0x0700, 0xfed7, 0x0000 }, - { 0x8700, 0xfeda, 0x2000 }, - { 0x0700, 0xfed9, 0x0000 }, - { 0x0700, 0xfedb, 0x0000 }, - { 0x8700, 0xfee4, 0x4000 }, - { 0x8700, 0xfee0, 0x3000 }, - { 0x8700, 0xfede, 0x2000 }, - { 0x0700, 0xfedd, 0x0000 }, - { 0x0700, 0xfedf, 0x0000 }, - { 0x8700, 0xfee2, 0x2000 }, - { 0x0700, 0xfee1, 0x0000 }, - { 0x0700, 0xfee3, 0x0000 }, - { 0x8700, 0xfee8, 0x3000 }, - { 0x8700, 0xfee6, 0x2000 }, - { 0x0700, 0xfee5, 0x0000 }, - { 0x0700, 0xfee7, 0x0000 }, - { 0x8700, 0xfeea, 0x2000 }, - { 0x0700, 0xfee9, 0x0000 }, - { 0x0700, 0xfeeb, 0x0000 }, - { 0x9500, 0xff0f, 0x6000 }, - { 0x8700, 0xfefc, 0x5000 }, - { 0x8700, 0xfef4, 0x4000 }, - { 0x8700, 0xfef0, 0x3000 }, - { 0x8700, 0xfeee, 0x2000 }, - { 0x0700, 0xfeed, 0x0000 }, - { 0x0700, 0xfeef, 0x0000 }, - { 0x8700, 0xfef2, 0x2000 }, - { 0x0700, 0xfef1, 0x0000 }, - { 0x0700, 0xfef3, 0x0000 }, - { 0x8700, 0xfef8, 0x3000 }, - { 0x8700, 0xfef6, 0x2000 }, - { 0x0700, 0xfef5, 0x0000 }, - { 0x0700, 0xfef7, 0x0000 }, - { 0x8700, 0xfefa, 0x2000 }, - { 0x0700, 0xfef9, 0x0000 }, - { 0x0700, 0xfefb, 0x0000 }, - { 0x9500, 0xff07, 0x4000 }, - { 0x9500, 0xff03, 0x3000 }, - { 0x9500, 0xff01, 0x2000 }, - { 0x0100, 0xfeff, 0x0000 }, - { 0x1500, 0xff02, 0x0000 }, - { 0x9500, 0xff05, 0x2000 }, - { 0x1700, 0xff04, 0x0000 }, - { 0x1500, 0xff06, 0x0000 }, - { 0x9900, 0xff0b, 0x3000 }, - { 0x9200, 0xff09, 0x2000 }, - { 0x1600, 0xff08, 0x0000 }, - { 0x1500, 0xff0a, 0x0000 }, - { 0x9100, 0xff0d, 0x2000 }, - { 0x1500, 0xff0c, 0x0000 }, - { 0x1500, 0xff0e, 0x0000 }, - { 0x9500, 0xff1f, 0x5000 }, - { 0x8d00, 0xff17, 0x4000 }, - { 0x8d00, 0xff13, 0x3000 }, - { 0x8d00, 0xff11, 0x2000 }, - { 0x0d00, 0xff10, 0x0000 }, - { 0x0d00, 0xff12, 0x0000 }, - { 0x8d00, 0xff15, 0x2000 }, - { 0x0d00, 0xff14, 0x0000 }, - { 0x0d00, 0xff16, 0x0000 }, - { 0x9500, 0xff1b, 0x3000 }, - { 0x8d00, 0xff19, 0x2000 }, - { 0x0d00, 0xff18, 0x0000 }, - { 0x1500, 0xff1a, 0x0000 }, - { 0x9900, 0xff1d, 0x2000 }, - { 0x1900, 0xff1c, 0x0000 }, - { 0x1900, 0xff1e, 0x0000 }, - { 0x8900, 0xff27, 0x4020 }, - { 0x8900, 0xff23, 0x3020 }, - { 0x8900, 0xff21, 0x2020 }, - { 0x1500, 0xff20, 0x0000 }, - { 0x0900, 0xff22, 0x0020 }, - { 0x8900, 0xff25, 0x2020 }, - { 0x0900, 0xff24, 0x0020 }, - { 0x0900, 0xff26, 0x0020 }, - { 0x8900, 0xff2b, 0x3020 }, - { 0x8900, 0xff29, 0x2020 }, - { 0x0900, 0xff28, 0x0020 }, - { 0x0900, 0xff2a, 0x0020 }, - { 0x8900, 0xff2d, 0x2020 }, - { 0x0900, 0xff2c, 0x0020 }, - { 0x0900, 0xff2e, 0x0020 }, - { 0x8700, 0xff6f, 0x7000 }, - { 0x8500, 0xff4f, 0x6fe0 }, - { 0x9000, 0xff3f, 0x5000 }, - { 0x8900, 0xff37, 0x4020 }, - { 0x8900, 0xff33, 0x3020 }, - { 0x8900, 0xff31, 0x2020 }, - { 0x0900, 0xff30, 0x0020 }, - { 0x0900, 0xff32, 0x0020 }, - { 0x8900, 0xff35, 0x2020 }, - { 0x0900, 0xff34, 0x0020 }, - { 0x0900, 0xff36, 0x0020 }, - { 0x9600, 0xff3b, 0x3000 }, - { 0x8900, 0xff39, 0x2020 }, - { 0x0900, 0xff38, 0x0020 }, - { 0x0900, 0xff3a, 0x0020 }, - { 0x9200, 0xff3d, 0x2000 }, - { 0x1500, 0xff3c, 0x0000 }, - { 0x1800, 0xff3e, 0x0000 }, - { 0x8500, 0xff47, 0x4fe0 }, - { 0x8500, 0xff43, 0x3fe0 }, - { 0x8500, 0xff41, 0x2fe0 }, - { 0x1800, 0xff40, 0x0000 }, - { 0x0500, 0xff42, 0x0fe0 }, - { 0x8500, 0xff45, 0x2fe0 }, - { 0x0500, 0xff44, 0x0fe0 }, - { 0x0500, 0xff46, 0x0fe0 }, - { 0x8500, 0xff4b, 0x3fe0 }, - { 0x8500, 0xff49, 0x2fe0 }, - { 0x0500, 0xff48, 0x0fe0 }, - { 0x0500, 0xff4a, 0x0fe0 }, - { 0x8500, 0xff4d, 0x2fe0 }, - { 0x0500, 0xff4c, 0x0fe0 }, - { 0x0500, 0xff4e, 0x0fe0 }, - { 0x9600, 0xff5f, 0x5000 }, - { 0x8500, 0xff57, 0x4fe0 }, - { 0x8500, 0xff53, 0x3fe0 }, - { 0x8500, 0xff51, 0x2fe0 }, - { 0x0500, 0xff50, 0x0fe0 }, - { 0x0500, 0xff52, 0x0fe0 }, - { 0x8500, 0xff55, 0x2fe0 }, - { 0x0500, 0xff54, 0x0fe0 }, - { 0x0500, 0xff56, 0x0fe0 }, - { 0x9600, 0xff5b, 0x3000 }, - { 0x8500, 0xff59, 0x2fe0 }, - { 0x0500, 0xff58, 0x0fe0 }, - { 0x0500, 0xff5a, 0x0fe0 }, - { 0x9200, 0xff5d, 0x2000 }, - { 0x1900, 0xff5c, 0x0000 }, - { 0x1900, 0xff5e, 0x0000 }, - { 0x8700, 0xff67, 0x4000 }, - { 0x9200, 0xff63, 0x3000 }, - { 0x9500, 0xff61, 0x2000 }, - { 0x1200, 0xff60, 0x0000 }, - { 0x1600, 0xff62, 0x0000 }, - { 0x9000, 0xff65, 0x2000 }, - { 0x1500, 0xff64, 0x0000 }, - { 0x0700, 0xff66, 0x0000 }, - { 0x8700, 0xff6b, 0x3000 }, - { 0x8700, 0xff69, 0x2000 }, - { 0x0700, 0xff68, 0x0000 }, - { 0x0700, 0xff6a, 0x0000 }, - { 0x8700, 0xff6d, 0x2000 }, - { 0x0700, 0xff6c, 0x0000 }, - { 0x0700, 0xff6e, 0x0000 }, - { 0x8700, 0xff8f, 0x6000 }, - { 0x8700, 0xff7f, 0x5000 }, - { 0x8700, 0xff77, 0x4000 }, - { 0x8700, 0xff73, 0x3000 }, - { 0x8700, 0xff71, 0x2000 }, - { 0x0600, 0xff70, 0x0000 }, - { 0x0700, 0xff72, 0x0000 }, - { 0x8700, 0xff75, 0x2000 }, - { 0x0700, 0xff74, 0x0000 }, - { 0x0700, 0xff76, 0x0000 }, - { 0x8700, 0xff7b, 0x3000 }, - { 0x8700, 0xff79, 0x2000 }, - { 0x0700, 0xff78, 0x0000 }, - { 0x0700, 0xff7a, 0x0000 }, - { 0x8700, 0xff7d, 0x2000 }, - { 0x0700, 0xff7c, 0x0000 }, - { 0x0700, 0xff7e, 0x0000 }, - { 0x8700, 0xff87, 0x4000 }, - { 0x8700, 0xff83, 0x3000 }, - { 0x8700, 0xff81, 0x2000 }, - { 0x0700, 0xff80, 0x0000 }, - { 0x0700, 0xff82, 0x0000 }, - { 0x8700, 0xff85, 0x2000 }, - { 0x0700, 0xff84, 0x0000 }, - { 0x0700, 0xff86, 0x0000 }, - { 0x8700, 0xff8b, 0x3000 }, - { 0x8700, 0xff89, 0x2000 }, - { 0x0700, 0xff88, 0x0000 }, - { 0x0700, 0xff8a, 0x0000 }, - { 0x8700, 0xff8d, 0x2000 }, - { 0x0700, 0xff8c, 0x0000 }, - { 0x0700, 0xff8e, 0x0000 }, - { 0x8600, 0xff9f, 0x5000 }, - { 0x8700, 0xff97, 0x4000 }, - { 0x8700, 0xff93, 0x3000 }, - { 0x8700, 0xff91, 0x2000 }, - { 0x0700, 0xff90, 0x0000 }, - { 0x0700, 0xff92, 0x0000 }, - { 0x8700, 0xff95, 0x2000 }, - { 0x0700, 0xff94, 0x0000 }, - { 0x0700, 0xff96, 0x0000 }, - { 0x8700, 0xff9b, 0x3000 }, - { 0x8700, 0xff99, 0x2000 }, - { 0x0700, 0xff98, 0x0000 }, - { 0x0700, 0xff9a, 0x0000 }, - { 0x8700, 0xff9d, 0x2000 }, - { 0x0700, 0xff9c, 0x0000 }, - { 0x0600, 0xff9e, 0x0000 }, - { 0x8700, 0xffa7, 0x4000 }, - { 0x8700, 0xffa3, 0x3000 }, - { 0x8700, 0xffa1, 0x2000 }, - { 0x0700, 0xffa0, 0x0000 }, - { 0x0700, 0xffa2, 0x0000 }, - { 0x8700, 0xffa5, 0x2000 }, - { 0x0700, 0xffa4, 0x0000 }, - { 0x0700, 0xffa6, 0x0000 }, - { 0x8700, 0xffab, 0x3000 }, - { 0x8700, 0xffa9, 0x2000 }, - { 0x0700, 0xffa8, 0x0000 }, - { 0x0700, 0xffaa, 0x0000 }, - { 0x8700, 0xffad, 0x2000 }, - { 0x0700, 0xffac, 0x0000 }, - { 0x0700, 0xffae, 0x0000 }, - { 0x8701, 0x004c, 0x8000 }, - { 0x8701, 0x0008, 0x7000 }, - { 0x8700, 0xffd6, 0x6000 }, - { 0x8700, 0xffc2, 0x5000 }, - { 0x8700, 0xffb7, 0x4000 }, - { 0x8700, 0xffb3, 0x3000 }, - { 0x8700, 0xffb1, 0x2000 }, - { 0x0700, 0xffb0, 0x0000 }, - { 0x0700, 0xffb2, 0x0000 }, - { 0x8700, 0xffb5, 0x2000 }, - { 0x0700, 0xffb4, 0x0000 }, - { 0x0700, 0xffb6, 0x0000 }, - { 0x8700, 0xffbb, 0x3000 }, - { 0x8700, 0xffb9, 0x2000 }, - { 0x0700, 0xffb8, 0x0000 }, - { 0x0700, 0xffba, 0x0000 }, - { 0x8700, 0xffbd, 0x2000 }, - { 0x0700, 0xffbc, 0x0000 }, - { 0x0700, 0xffbe, 0x0000 }, - { 0x8700, 0xffcc, 0x4000 }, - { 0x8700, 0xffc6, 0x3000 }, - { 0x8700, 0xffc4, 0x2000 }, - { 0x0700, 0xffc3, 0x0000 }, - { 0x0700, 0xffc5, 0x0000 }, - { 0x8700, 0xffca, 0x2000 }, - { 0x0700, 0xffc7, 0x0000 }, - { 0x0700, 0xffcb, 0x0000 }, - { 0x8700, 0xffd2, 0x3000 }, - { 0x8700, 0xffce, 0x2000 }, - { 0x0700, 0xffcd, 0x0000 }, - { 0x0700, 0xffcf, 0x0000 }, - { 0x8700, 0xffd4, 0x2000 }, - { 0x0700, 0xffd3, 0x0000 }, - { 0x0700, 0xffd5, 0x0000 }, - { 0x9900, 0xffec, 0x5000 }, - { 0x9800, 0xffe3, 0x4000 }, - { 0x8700, 0xffdc, 0x3000 }, - { 0x8700, 0xffda, 0x2000 }, - { 0x0700, 0xffd7, 0x0000 }, - { 0x0700, 0xffdb, 0x0000 }, - { 0x9700, 0xffe1, 0x2000 }, - { 0x1700, 0xffe0, 0x0000 }, - { 0x1900, 0xffe2, 0x0000 }, - { 0x9a00, 0xffe8, 0x3000 }, - { 0x9700, 0xffe5, 0x2000 }, - { 0x1a00, 0xffe4, 0x0000 }, - { 0x1700, 0xffe6, 0x0000 }, - { 0x9900, 0xffea, 0x2000 }, - { 0x1900, 0xffe9, 0x0000 }, - { 0x1900, 0xffeb, 0x0000 }, - { 0x8701, 0x0000, 0x4000 }, - { 0x8100, 0xfffa, 0x3000 }, - { 0x9a00, 0xffee, 0x2000 }, - { 0x1a00, 0xffed, 0x0000 }, - { 0x0100, 0xfff9, 0x0000 }, - { 0x9a00, 0xfffc, 0x2000 }, - { 0x0100, 0xfffb, 0x0000 }, - { 0x1a00, 0xfffd, 0x0000 }, - { 0x8701, 0x0004, 0x3000 }, - { 0x8701, 0x0002, 0x2000 }, - { 0x0701, 0x0001, 0x0000 }, - { 0x0701, 0x0003, 0x0000 }, - { 0x8701, 0x0006, 0x2000 }, - { 0x0701, 0x0005, 0x0000 }, - { 0x0701, 0x0007, 0x0000 }, - { 0x8701, 0x002a, 0x6000 }, - { 0x8701, 0x0019, 0x5000 }, - { 0x8701, 0x0011, 0x4000 }, - { 0x8701, 0x000d, 0x3000 }, - { 0x8701, 0x000a, 0x2000 }, - { 0x0701, 0x0009, 0x0000 }, - { 0x0701, 0x000b, 0x0000 }, - { 0x8701, 0x000f, 0x2000 }, - { 0x0701, 0x000e, 0x0000 }, - { 0x0701, 0x0010, 0x0000 }, - { 0x8701, 0x0015, 0x3000 }, - { 0x8701, 0x0013, 0x2000 }, - { 0x0701, 0x0012, 0x0000 }, - { 0x0701, 0x0014, 0x0000 }, - { 0x8701, 0x0017, 0x2000 }, - { 0x0701, 0x0016, 0x0000 }, - { 0x0701, 0x0018, 0x0000 }, - { 0x8701, 0x0021, 0x4000 }, - { 0x8701, 0x001d, 0x3000 }, - { 0x8701, 0x001b, 0x2000 }, - { 0x0701, 0x001a, 0x0000 }, - { 0x0701, 0x001c, 0x0000 }, - { 0x8701, 0x001f, 0x2000 }, - { 0x0701, 0x001e, 0x0000 }, - { 0x0701, 0x0020, 0x0000 }, - { 0x8701, 0x0025, 0x3000 }, - { 0x8701, 0x0023, 0x2000 }, - { 0x0701, 0x0022, 0x0000 }, - { 0x0701, 0x0024, 0x0000 }, - { 0x8701, 0x0028, 0x2000 }, - { 0x0701, 0x0026, 0x0000 }, - { 0x0701, 0x0029, 0x0000 }, - { 0x8701, 0x003a, 0x5000 }, - { 0x8701, 0x0032, 0x4000 }, - { 0x8701, 0x002e, 0x3000 }, - { 0x8701, 0x002c, 0x2000 }, - { 0x0701, 0x002b, 0x0000 }, - { 0x0701, 0x002d, 0x0000 }, - { 0x8701, 0x0030, 0x2000 }, - { 0x0701, 0x002f, 0x0000 }, - { 0x0701, 0x0031, 0x0000 }, - { 0x8701, 0x0036, 0x3000 }, - { 0x8701, 0x0034, 0x2000 }, - { 0x0701, 0x0033, 0x0000 }, - { 0x0701, 0x0035, 0x0000 }, - { 0x8701, 0x0038, 0x2000 }, - { 0x0701, 0x0037, 0x0000 }, - { 0x0701, 0x0039, 0x0000 }, - { 0x8701, 0x0044, 0x4000 }, - { 0x8701, 0x0040, 0x3000 }, - { 0x8701, 0x003d, 0x2000 }, - { 0x0701, 0x003c, 0x0000 }, - { 0x0701, 0x003f, 0x0000 }, - { 0x8701, 0x0042, 0x2000 }, - { 0x0701, 0x0041, 0x0000 }, - { 0x0701, 0x0043, 0x0000 }, - { 0x8701, 0x0048, 0x3000 }, - { 0x8701, 0x0046, 0x2000 }, - { 0x0701, 0x0045, 0x0000 }, - { 0x0701, 0x0047, 0x0000 }, - { 0x8701, 0x004a, 0x2000 }, - { 0x0701, 0x0049, 0x0000 }, - { 0x0701, 0x004b, 0x0000 }, - { 0x8701, 0x00b0, 0x7000 }, - { 0x8701, 0x0090, 0x6000 }, - { 0x8701, 0x0080, 0x5000 }, - { 0x8701, 0x0056, 0x4000 }, - { 0x8701, 0x0052, 0x3000 }, - { 0x8701, 0x0050, 0x2000 }, - { 0x0701, 0x004d, 0x0000 }, - { 0x0701, 0x0051, 0x0000 }, - { 0x8701, 0x0054, 0x2000 }, - { 0x0701, 0x0053, 0x0000 }, - { 0x0701, 0x0055, 0x0000 }, - { 0x8701, 0x005a, 0x3000 }, - { 0x8701, 0x0058, 0x2000 }, - { 0x0701, 0x0057, 0x0000 }, - { 0x0701, 0x0059, 0x0000 }, - { 0x8701, 0x005c, 0x2000 }, - { 0x0701, 0x005b, 0x0000 }, - { 0x0701, 0x005d, 0x0000 }, - { 0x8701, 0x0088, 0x4000 }, - { 0x8701, 0x0084, 0x3000 }, - { 0x8701, 0x0082, 0x2000 }, - { 0x0701, 0x0081, 0x0000 }, - { 0x0701, 0x0083, 0x0000 }, - { 0x8701, 0x0086, 0x2000 }, - { 0x0701, 0x0085, 0x0000 }, - { 0x0701, 0x0087, 0x0000 }, - { 0x8701, 0x008c, 0x3000 }, - { 0x8701, 0x008a, 0x2000 }, - { 0x0701, 0x0089, 0x0000 }, - { 0x0701, 0x008b, 0x0000 }, - { 0x8701, 0x008e, 0x2000 }, - { 0x0701, 0x008d, 0x0000 }, - { 0x0701, 0x008f, 0x0000 }, - { 0x8701, 0x00a0, 0x5000 }, - { 0x8701, 0x0098, 0x4000 }, - { 0x8701, 0x0094, 0x3000 }, - { 0x8701, 0x0092, 0x2000 }, - { 0x0701, 0x0091, 0x0000 }, - { 0x0701, 0x0093, 0x0000 }, - { 0x8701, 0x0096, 0x2000 }, - { 0x0701, 0x0095, 0x0000 }, - { 0x0701, 0x0097, 0x0000 }, - { 0x8701, 0x009c, 0x3000 }, - { 0x8701, 0x009a, 0x2000 }, - { 0x0701, 0x0099, 0x0000 }, - { 0x0701, 0x009b, 0x0000 }, - { 0x8701, 0x009e, 0x2000 }, - { 0x0701, 0x009d, 0x0000 }, - { 0x0701, 0x009f, 0x0000 }, - { 0x8701, 0x00a8, 0x4000 }, - { 0x8701, 0x00a4, 0x3000 }, - { 0x8701, 0x00a2, 0x2000 }, - { 0x0701, 0x00a1, 0x0000 }, - { 0x0701, 0x00a3, 0x0000 }, - { 0x8701, 0x00a6, 0x2000 }, - { 0x0701, 0x00a5, 0x0000 }, - { 0x0701, 0x00a7, 0x0000 }, - { 0x8701, 0x00ac, 0x3000 }, - { 0x8701, 0x00aa, 0x2000 }, - { 0x0701, 0x00a9, 0x0000 }, - { 0x0701, 0x00ab, 0x0000 }, - { 0x8701, 0x00ae, 0x2000 }, - { 0x0701, 0x00ad, 0x0000 }, - { 0x0701, 0x00af, 0x0000 }, - { 0x8701, 0x00d0, 0x6000 }, - { 0x8701, 0x00c0, 0x5000 }, - { 0x8701, 0x00b8, 0x4000 }, - { 0x8701, 0x00b4, 0x3000 }, - { 0x8701, 0x00b2, 0x2000 }, - { 0x0701, 0x00b1, 0x0000 }, - { 0x0701, 0x00b3, 0x0000 }, - { 0x8701, 0x00b6, 0x2000 }, - { 0x0701, 0x00b5, 0x0000 }, - { 0x0701, 0x00b7, 0x0000 }, - { 0x8701, 0x00bc, 0x3000 }, - { 0x8701, 0x00ba, 0x2000 }, - { 0x0701, 0x00b9, 0x0000 }, - { 0x0701, 0x00bb, 0x0000 }, - { 0x8701, 0x00be, 0x2000 }, - { 0x0701, 0x00bd, 0x0000 }, - { 0x0701, 0x00bf, 0x0000 }, - { 0x8701, 0x00c8, 0x4000 }, - { 0x8701, 0x00c4, 0x3000 }, - { 0x8701, 0x00c2, 0x2000 }, - { 0x0701, 0x00c1, 0x0000 }, - { 0x0701, 0x00c3, 0x0000 }, - { 0x8701, 0x00c6, 0x2000 }, - { 0x0701, 0x00c5, 0x0000 }, - { 0x0701, 0x00c7, 0x0000 }, - { 0x8701, 0x00cc, 0x3000 }, - { 0x8701, 0x00ca, 0x2000 }, - { 0x0701, 0x00c9, 0x0000 }, - { 0x0701, 0x00cb, 0x0000 }, - { 0x8701, 0x00ce, 0x2000 }, - { 0x0701, 0x00cd, 0x0000 }, - { 0x0701, 0x00cf, 0x0000 }, - { 0x8701, 0x00e0, 0x5000 }, - { 0x8701, 0x00d8, 0x4000 }, - { 0x8701, 0x00d4, 0x3000 }, - { 0x8701, 0x00d2, 0x2000 }, - { 0x0701, 0x00d1, 0x0000 }, - { 0x0701, 0x00d3, 0x0000 }, - { 0x8701, 0x00d6, 0x2000 }, - { 0x0701, 0x00d5, 0x0000 }, - { 0x0701, 0x00d7, 0x0000 }, - { 0x8701, 0x00dc, 0x3000 }, - { 0x8701, 0x00da, 0x2000 }, - { 0x0701, 0x00d9, 0x0000 }, - { 0x0701, 0x00db, 0x0000 }, - { 0x8701, 0x00de, 0x2000 }, - { 0x0701, 0x00dd, 0x0000 }, - { 0x0701, 0x00df, 0x0000 }, - { 0x8701, 0x00e8, 0x4000 }, - { 0x8701, 0x00e4, 0x3000 }, - { 0x8701, 0x00e2, 0x2000 }, - { 0x0701, 0x00e1, 0x0000 }, - { 0x0701, 0x00e3, 0x0000 }, - { 0x8701, 0x00e6, 0x2000 }, - { 0x0701, 0x00e5, 0x0000 }, - { 0x0701, 0x00e7, 0x0000 }, - { 0x8701, 0x00ec, 0x3000 }, - { 0x8701, 0x00ea, 0x2000 }, - { 0x0701, 0x00e9, 0x0000 }, - { 0x0701, 0x00eb, 0x0000 }, - { 0x8701, 0x00ee, 0x2000 }, - { 0x0701, 0x00ed, 0x0000 }, - { 0x0701, 0x00ef, 0x0000 }, - { 0x8501, 0xd459, 0xb000 }, - { 0x9a01, 0xd080, 0xa000 }, - { 0x8701, 0x045f, 0x9000 }, - { 0x8701, 0x0349, 0x8000 }, - { 0x9a01, 0x013c, 0x7000 }, - { 0x8f01, 0x0119, 0x6000 }, - { 0x8f01, 0x0109, 0x5000 }, - { 0x8701, 0x00f8, 0x4000 }, - { 0x8701, 0x00f4, 0x3000 }, - { 0x8701, 0x00f2, 0x2000 }, - { 0x0701, 0x00f1, 0x0000 }, - { 0x0701, 0x00f3, 0x0000 }, - { 0x8701, 0x00f6, 0x2000 }, - { 0x0701, 0x00f5, 0x0000 }, - { 0x0701, 0x00f7, 0x0000 }, - { 0x9501, 0x0101, 0x3000 }, - { 0x8701, 0x00fa, 0x2000 }, - { 0x0701, 0x00f9, 0x0000 }, - { 0x1501, 0x0100, 0x0000 }, - { 0x8f01, 0x0107, 0x2000 }, - { 0x1a01, 0x0102, 0x0000 }, - { 0x0f01, 0x0108, 0x0000 }, - { 0x8f01, 0x0111, 0x4000 }, - { 0x8f01, 0x010d, 0x3000 }, - { 0x8f01, 0x010b, 0x2000 }, - { 0x0f01, 0x010a, 0x0000 }, - { 0x0f01, 0x010c, 0x0000 }, - { 0x8f01, 0x010f, 0x2000 }, - { 0x0f01, 0x010e, 0x0000 }, - { 0x0f01, 0x0110, 0x0000 }, - { 0x8f01, 0x0115, 0x3000 }, - { 0x8f01, 0x0113, 0x2000 }, - { 0x0f01, 0x0112, 0x0000 }, - { 0x0f01, 0x0114, 0x0000 }, - { 0x8f01, 0x0117, 0x2000 }, - { 0x0f01, 0x0116, 0x0000 }, - { 0x0f01, 0x0118, 0x0000 }, - { 0x8f01, 0x0129, 0x5000 }, - { 0x8f01, 0x0121, 0x4000 }, - { 0x8f01, 0x011d, 0x3000 }, - { 0x8f01, 0x011b, 0x2000 }, - { 0x0f01, 0x011a, 0x0000 }, - { 0x0f01, 0x011c, 0x0000 }, - { 0x8f01, 0x011f, 0x2000 }, - { 0x0f01, 0x011e, 0x0000 }, - { 0x0f01, 0x0120, 0x0000 }, - { 0x8f01, 0x0125, 0x3000 }, - { 0x8f01, 0x0123, 0x2000 }, - { 0x0f01, 0x0122, 0x0000 }, - { 0x0f01, 0x0124, 0x0000 }, - { 0x8f01, 0x0127, 0x2000 }, - { 0x0f01, 0x0126, 0x0000 }, - { 0x0f01, 0x0128, 0x0000 }, - { 0x8f01, 0x0131, 0x4000 }, - { 0x8f01, 0x012d, 0x3000 }, - { 0x8f01, 0x012b, 0x2000 }, - { 0x0f01, 0x012a, 0x0000 }, - { 0x0f01, 0x012c, 0x0000 }, - { 0x8f01, 0x012f, 0x2000 }, - { 0x0f01, 0x012e, 0x0000 }, - { 0x0f01, 0x0130, 0x0000 }, - { 0x9a01, 0x0138, 0x3000 }, - { 0x8f01, 0x0133, 0x2000 }, - { 0x0f01, 0x0132, 0x0000 }, - { 0x1a01, 0x0137, 0x0000 }, - { 0x9a01, 0x013a, 0x2000 }, - { 0x1a01, 0x0139, 0x0000 }, - { 0x1a01, 0x013b, 0x0000 }, - { 0x8701, 0x031c, 0x6000 }, - { 0x8701, 0x030c, 0x5000 }, - { 0x8701, 0x0304, 0x4000 }, - { 0x8701, 0x0300, 0x3000 }, - { 0x9a01, 0x013e, 0x2000 }, - { 0x1a01, 0x013d, 0x0000 }, - { 0x1a01, 0x013f, 0x0000 }, - { 0x8701, 0x0302, 0x2000 }, - { 0x0701, 0x0301, 0x0000 }, - { 0x0701, 0x0303, 0x0000 }, - { 0x8701, 0x0308, 0x3000 }, - { 0x8701, 0x0306, 0x2000 }, - { 0x0701, 0x0305, 0x0000 }, - { 0x0701, 0x0307, 0x0000 }, - { 0x8701, 0x030a, 0x2000 }, - { 0x0701, 0x0309, 0x0000 }, - { 0x0701, 0x030b, 0x0000 }, - { 0x8701, 0x0314, 0x4000 }, - { 0x8701, 0x0310, 0x3000 }, - { 0x8701, 0x030e, 0x2000 }, - { 0x0701, 0x030d, 0x0000 }, - { 0x0701, 0x030f, 0x0000 }, - { 0x8701, 0x0312, 0x2000 }, - { 0x0701, 0x0311, 0x0000 }, - { 0x0701, 0x0313, 0x0000 }, - { 0x8701, 0x0318, 0x3000 }, - { 0x8701, 0x0316, 0x2000 }, - { 0x0701, 0x0315, 0x0000 }, - { 0x0701, 0x0317, 0x0000 }, - { 0x8701, 0x031a, 0x2000 }, - { 0x0701, 0x0319, 0x0000 }, - { 0x0701, 0x031b, 0x0000 }, - { 0x8701, 0x0339, 0x5000 }, - { 0x8701, 0x0331, 0x4000 }, - { 0x8f01, 0x0321, 0x3000 }, - { 0x8701, 0x031e, 0x2000 }, - { 0x0701, 0x031d, 0x0000 }, - { 0x0f01, 0x0320, 0x0000 }, - { 0x8f01, 0x0323, 0x2000 }, - { 0x0f01, 0x0322, 0x0000 }, - { 0x0701, 0x0330, 0x0000 }, - { 0x8701, 0x0335, 0x3000 }, - { 0x8701, 0x0333, 0x2000 }, - { 0x0701, 0x0332, 0x0000 }, - { 0x0701, 0x0334, 0x0000 }, - { 0x8701, 0x0337, 0x2000 }, - { 0x0701, 0x0336, 0x0000 }, - { 0x0701, 0x0338, 0x0000 }, - { 0x8701, 0x0341, 0x4000 }, - { 0x8701, 0x033d, 0x3000 }, - { 0x8701, 0x033b, 0x2000 }, - { 0x0701, 0x033a, 0x0000 }, - { 0x0701, 0x033c, 0x0000 }, - { 0x8701, 0x033f, 0x2000 }, - { 0x0701, 0x033e, 0x0000 }, - { 0x0701, 0x0340, 0x0000 }, - { 0x8701, 0x0345, 0x3000 }, - { 0x8701, 0x0343, 0x2000 }, - { 0x0701, 0x0342, 0x0000 }, - { 0x0701, 0x0344, 0x0000 }, - { 0x8701, 0x0347, 0x2000 }, - { 0x0701, 0x0346, 0x0000 }, - { 0x0701, 0x0348, 0x0000 }, - { 0x8901, 0x041f, 0x7028 }, - { 0x9501, 0x039f, 0x6000 }, - { 0x8701, 0x038e, 0x5000 }, - { 0x8701, 0x0386, 0x4000 }, - { 0x8701, 0x0382, 0x3000 }, - { 0x8701, 0x0380, 0x2000 }, - { 0x0e01, 0x034a, 0x0000 }, - { 0x0701, 0x0381, 0x0000 }, - { 0x8701, 0x0384, 0x2000 }, - { 0x0701, 0x0383, 0x0000 }, - { 0x0701, 0x0385, 0x0000 }, - { 0x8701, 0x038a, 0x3000 }, - { 0x8701, 0x0388, 0x2000 }, - { 0x0701, 0x0387, 0x0000 }, - { 0x0701, 0x0389, 0x0000 }, - { 0x8701, 0x038c, 0x2000 }, - { 0x0701, 0x038b, 0x0000 }, - { 0x0701, 0x038d, 0x0000 }, - { 0x8701, 0x0396, 0x4000 }, - { 0x8701, 0x0392, 0x3000 }, - { 0x8701, 0x0390, 0x2000 }, - { 0x0701, 0x038f, 0x0000 }, - { 0x0701, 0x0391, 0x0000 }, - { 0x8701, 0x0394, 0x2000 }, - { 0x0701, 0x0393, 0x0000 }, - { 0x0701, 0x0395, 0x0000 }, - { 0x8701, 0x039a, 0x3000 }, - { 0x8701, 0x0398, 0x2000 }, - { 0x0701, 0x0397, 0x0000 }, - { 0x0701, 0x0399, 0x0000 }, - { 0x8701, 0x039c, 0x2000 }, - { 0x0701, 0x039b, 0x0000 }, - { 0x0701, 0x039d, 0x0000 }, - { 0x8901, 0x040f, 0x5028 }, - { 0x8901, 0x0407, 0x4028 }, - { 0x8901, 0x0403, 0x3028 }, - { 0x8901, 0x0401, 0x2028 }, - { 0x0901, 0x0400, 0x0028 }, - { 0x0901, 0x0402, 0x0028 }, - { 0x8901, 0x0405, 0x2028 }, - { 0x0901, 0x0404, 0x0028 }, - { 0x0901, 0x0406, 0x0028 }, - { 0x8901, 0x040b, 0x3028 }, - { 0x8901, 0x0409, 0x2028 }, - { 0x0901, 0x0408, 0x0028 }, - { 0x0901, 0x040a, 0x0028 }, - { 0x8901, 0x040d, 0x2028 }, - { 0x0901, 0x040c, 0x0028 }, - { 0x0901, 0x040e, 0x0028 }, - { 0x8901, 0x0417, 0x4028 }, - { 0x8901, 0x0413, 0x3028 }, - { 0x8901, 0x0411, 0x2028 }, - { 0x0901, 0x0410, 0x0028 }, - { 0x0901, 0x0412, 0x0028 }, - { 0x8901, 0x0415, 0x2028 }, - { 0x0901, 0x0414, 0x0028 }, - { 0x0901, 0x0416, 0x0028 }, - { 0x8901, 0x041b, 0x3028 }, - { 0x8901, 0x0419, 0x2028 }, - { 0x0901, 0x0418, 0x0028 }, - { 0x0901, 0x041a, 0x0028 }, - { 0x8901, 0x041d, 0x2028 }, - { 0x0901, 0x041c, 0x0028 }, - { 0x0901, 0x041e, 0x0028 }, - { 0x8501, 0x043f, 0x6fd8 }, - { 0x8501, 0x042f, 0x5fd8 }, - { 0x8901, 0x0427, 0x4028 }, - { 0x8901, 0x0423, 0x3028 }, - { 0x8901, 0x0421, 0x2028 }, - { 0x0901, 0x0420, 0x0028 }, - { 0x0901, 0x0422, 0x0028 }, - { 0x8901, 0x0425, 0x2028 }, - { 0x0901, 0x0424, 0x0028 }, - { 0x0901, 0x0426, 0x0028 }, - { 0x8501, 0x042b, 0x3fd8 }, - { 0x8501, 0x0429, 0x2fd8 }, - { 0x0501, 0x0428, 0x0fd8 }, - { 0x0501, 0x042a, 0x0fd8 }, - { 0x8501, 0x042d, 0x2fd8 }, - { 0x0501, 0x042c, 0x0fd8 }, - { 0x0501, 0x042e, 0x0fd8 }, - { 0x8501, 0x0437, 0x4fd8 }, - { 0x8501, 0x0433, 0x3fd8 }, - { 0x8501, 0x0431, 0x2fd8 }, - { 0x0501, 0x0430, 0x0fd8 }, - { 0x0501, 0x0432, 0x0fd8 }, - { 0x8501, 0x0435, 0x2fd8 }, - { 0x0501, 0x0434, 0x0fd8 }, - { 0x0501, 0x0436, 0x0fd8 }, - { 0x8501, 0x043b, 0x3fd8 }, - { 0x8501, 0x0439, 0x2fd8 }, - { 0x0501, 0x0438, 0x0fd8 }, - { 0x0501, 0x043a, 0x0fd8 }, - { 0x8501, 0x043d, 0x2fd8 }, - { 0x0501, 0x043c, 0x0fd8 }, - { 0x0501, 0x043e, 0x0fd8 }, - { 0x8501, 0x044f, 0x5fd8 }, - { 0x8501, 0x0447, 0x4fd8 }, - { 0x8501, 0x0443, 0x3fd8 }, - { 0x8501, 0x0441, 0x2fd8 }, - { 0x0501, 0x0440, 0x0fd8 }, - { 0x0501, 0x0442, 0x0fd8 }, - { 0x8501, 0x0445, 0x2fd8 }, - { 0x0501, 0x0444, 0x0fd8 }, - { 0x0501, 0x0446, 0x0fd8 }, - { 0x8501, 0x044b, 0x3fd8 }, - { 0x8501, 0x0449, 0x2fd8 }, - { 0x0501, 0x0448, 0x0fd8 }, - { 0x0501, 0x044a, 0x0fd8 }, - { 0x8501, 0x044d, 0x2fd8 }, - { 0x0501, 0x044c, 0x0fd8 }, - { 0x0501, 0x044e, 0x0fd8 }, - { 0x8701, 0x0457, 0x4000 }, - { 0x8701, 0x0453, 0x3000 }, - { 0x8701, 0x0451, 0x2000 }, - { 0x0701, 0x0450, 0x0000 }, - { 0x0701, 0x0452, 0x0000 }, - { 0x8701, 0x0455, 0x2000 }, - { 0x0701, 0x0454, 0x0000 }, - { 0x0701, 0x0456, 0x0000 }, - { 0x8701, 0x045b, 0x3000 }, - { 0x8701, 0x0459, 0x2000 }, - { 0x0701, 0x0458, 0x0000 }, - { 0x0701, 0x045a, 0x0000 }, - { 0x8701, 0x045d, 0x2000 }, - { 0x0701, 0x045c, 0x0000 }, - { 0x0701, 0x045e, 0x0000 }, - { 0x9a01, 0xd000, 0x8000 }, - { 0x8d01, 0x04a1, 0x7000 }, - { 0x8701, 0x047f, 0x6000 }, - { 0x8701, 0x046f, 0x5000 }, - { 0x8701, 0x0467, 0x4000 }, - { 0x8701, 0x0463, 0x3000 }, - { 0x8701, 0x0461, 0x2000 }, - { 0x0701, 0x0460, 0x0000 }, - { 0x0701, 0x0462, 0x0000 }, - { 0x8701, 0x0465, 0x2000 }, - { 0x0701, 0x0464, 0x0000 }, - { 0x0701, 0x0466, 0x0000 }, - { 0x8701, 0x046b, 0x3000 }, - { 0x8701, 0x0469, 0x2000 }, - { 0x0701, 0x0468, 0x0000 }, - { 0x0701, 0x046a, 0x0000 }, - { 0x8701, 0x046d, 0x2000 }, - { 0x0701, 0x046c, 0x0000 }, - { 0x0701, 0x046e, 0x0000 }, - { 0x8701, 0x0477, 0x4000 }, - { 0x8701, 0x0473, 0x3000 }, - { 0x8701, 0x0471, 0x2000 }, - { 0x0701, 0x0470, 0x0000 }, - { 0x0701, 0x0472, 0x0000 }, - { 0x8701, 0x0475, 0x2000 }, - { 0x0701, 0x0474, 0x0000 }, - { 0x0701, 0x0476, 0x0000 }, - { 0x8701, 0x047b, 0x3000 }, - { 0x8701, 0x0479, 0x2000 }, - { 0x0701, 0x0478, 0x0000 }, - { 0x0701, 0x047a, 0x0000 }, - { 0x8701, 0x047d, 0x2000 }, - { 0x0701, 0x047c, 0x0000 }, - { 0x0701, 0x047e, 0x0000 }, - { 0x8701, 0x048f, 0x5000 }, - { 0x8701, 0x0487, 0x4000 }, - { 0x8701, 0x0483, 0x3000 }, - { 0x8701, 0x0481, 0x2000 }, - { 0x0701, 0x0480, 0x0000 }, - { 0x0701, 0x0482, 0x0000 }, - { 0x8701, 0x0485, 0x2000 }, - { 0x0701, 0x0484, 0x0000 }, - { 0x0701, 0x0486, 0x0000 }, - { 0x8701, 0x048b, 0x3000 }, - { 0x8701, 0x0489, 0x2000 }, - { 0x0701, 0x0488, 0x0000 }, - { 0x0701, 0x048a, 0x0000 }, - { 0x8701, 0x048d, 0x2000 }, - { 0x0701, 0x048c, 0x0000 }, - { 0x0701, 0x048e, 0x0000 }, - { 0x8701, 0x0497, 0x4000 }, - { 0x8701, 0x0493, 0x3000 }, - { 0x8701, 0x0491, 0x2000 }, - { 0x0701, 0x0490, 0x0000 }, - { 0x0701, 0x0492, 0x0000 }, - { 0x8701, 0x0495, 0x2000 }, - { 0x0701, 0x0494, 0x0000 }, - { 0x0701, 0x0496, 0x0000 }, - { 0x8701, 0x049b, 0x3000 }, - { 0x8701, 0x0499, 0x2000 }, - { 0x0701, 0x0498, 0x0000 }, - { 0x0701, 0x049a, 0x0000 }, - { 0x8701, 0x049d, 0x2000 }, - { 0x0701, 0x049c, 0x0000 }, - { 0x0d01, 0x04a0, 0x0000 }, - { 0x8701, 0x081a, 0x6000 }, - { 0x8701, 0x080a, 0x5000 }, - { 0x8d01, 0x04a9, 0x4000 }, - { 0x8d01, 0x04a5, 0x3000 }, - { 0x8d01, 0x04a3, 0x2000 }, - { 0x0d01, 0x04a2, 0x0000 }, - { 0x0d01, 0x04a4, 0x0000 }, - { 0x8d01, 0x04a7, 0x2000 }, - { 0x0d01, 0x04a6, 0x0000 }, - { 0x0d01, 0x04a8, 0x0000 }, - { 0x8701, 0x0803, 0x3000 }, - { 0x8701, 0x0801, 0x2000 }, - { 0x0701, 0x0800, 0x0000 }, - { 0x0701, 0x0802, 0x0000 }, - { 0x8701, 0x0805, 0x2000 }, - { 0x0701, 0x0804, 0x0000 }, - { 0x0701, 0x0808, 0x0000 }, - { 0x8701, 0x0812, 0x4000 }, - { 0x8701, 0x080e, 0x3000 }, - { 0x8701, 0x080c, 0x2000 }, - { 0x0701, 0x080b, 0x0000 }, - { 0x0701, 0x080d, 0x0000 }, - { 0x8701, 0x0810, 0x2000 }, - { 0x0701, 0x080f, 0x0000 }, - { 0x0701, 0x0811, 0x0000 }, - { 0x8701, 0x0816, 0x3000 }, - { 0x8701, 0x0814, 0x2000 }, - { 0x0701, 0x0813, 0x0000 }, - { 0x0701, 0x0815, 0x0000 }, - { 0x8701, 0x0818, 0x2000 }, - { 0x0701, 0x0817, 0x0000 }, - { 0x0701, 0x0819, 0x0000 }, - { 0x8701, 0x082a, 0x5000 }, - { 0x8701, 0x0822, 0x4000 }, - { 0x8701, 0x081e, 0x3000 }, - { 0x8701, 0x081c, 0x2000 }, - { 0x0701, 0x081b, 0x0000 }, - { 0x0701, 0x081d, 0x0000 }, - { 0x8701, 0x0820, 0x2000 }, - { 0x0701, 0x081f, 0x0000 }, - { 0x0701, 0x0821, 0x0000 }, - { 0x8701, 0x0826, 0x3000 }, - { 0x8701, 0x0824, 0x2000 }, - { 0x0701, 0x0823, 0x0000 }, - { 0x0701, 0x0825, 0x0000 }, - { 0x8701, 0x0828, 0x2000 }, - { 0x0701, 0x0827, 0x0000 }, - { 0x0701, 0x0829, 0x0000 }, - { 0x8701, 0x0832, 0x4000 }, - { 0x8701, 0x082e, 0x3000 }, - { 0x8701, 0x082c, 0x2000 }, - { 0x0701, 0x082b, 0x0000 }, - { 0x0701, 0x082d, 0x0000 }, - { 0x8701, 0x0830, 0x2000 }, - { 0x0701, 0x082f, 0x0000 }, - { 0x0701, 0x0831, 0x0000 }, - { 0x8701, 0x0837, 0x3000 }, - { 0x8701, 0x0834, 0x2000 }, - { 0x0701, 0x0833, 0x0000 }, - { 0x0701, 0x0835, 0x0000 }, - { 0x8701, 0x083c, 0x2000 }, - { 0x0701, 0x0838, 0x0000 }, - { 0x0701, 0x083f, 0x0000 }, - { 0x9a01, 0xd040, 0x7000 }, - { 0x9a01, 0xd020, 0x6000 }, - { 0x9a01, 0xd010, 0x5000 }, - { 0x9a01, 0xd008, 0x4000 }, - { 0x9a01, 0xd004, 0x3000 }, - { 0x9a01, 0xd002, 0x2000 }, - { 0x1a01, 0xd001, 0x0000 }, - { 0x1a01, 0xd003, 0x0000 }, - { 0x9a01, 0xd006, 0x2000 }, - { 0x1a01, 0xd005, 0x0000 }, - { 0x1a01, 0xd007, 0x0000 }, - { 0x9a01, 0xd00c, 0x3000 }, - { 0x9a01, 0xd00a, 0x2000 }, - { 0x1a01, 0xd009, 0x0000 }, - { 0x1a01, 0xd00b, 0x0000 }, - { 0x9a01, 0xd00e, 0x2000 }, - { 0x1a01, 0xd00d, 0x0000 }, - { 0x1a01, 0xd00f, 0x0000 }, - { 0x9a01, 0xd018, 0x4000 }, - { 0x9a01, 0xd014, 0x3000 }, - { 0x9a01, 0xd012, 0x2000 }, - { 0x1a01, 0xd011, 0x0000 }, - { 0x1a01, 0xd013, 0x0000 }, - { 0x9a01, 0xd016, 0x2000 }, - { 0x1a01, 0xd015, 0x0000 }, - { 0x1a01, 0xd017, 0x0000 }, - { 0x9a01, 0xd01c, 0x3000 }, - { 0x9a01, 0xd01a, 0x2000 }, - { 0x1a01, 0xd019, 0x0000 }, - { 0x1a01, 0xd01b, 0x0000 }, - { 0x9a01, 0xd01e, 0x2000 }, - { 0x1a01, 0xd01d, 0x0000 }, - { 0x1a01, 0xd01f, 0x0000 }, - { 0x9a01, 0xd030, 0x5000 }, - { 0x9a01, 0xd028, 0x4000 }, - { 0x9a01, 0xd024, 0x3000 }, - { 0x9a01, 0xd022, 0x2000 }, - { 0x1a01, 0xd021, 0x0000 }, - { 0x1a01, 0xd023, 0x0000 }, - { 0x9a01, 0xd026, 0x2000 }, - { 0x1a01, 0xd025, 0x0000 }, - { 0x1a01, 0xd027, 0x0000 }, - { 0x9a01, 0xd02c, 0x3000 }, - { 0x9a01, 0xd02a, 0x2000 }, - { 0x1a01, 0xd029, 0x0000 }, - { 0x1a01, 0xd02b, 0x0000 }, - { 0x9a01, 0xd02e, 0x2000 }, - { 0x1a01, 0xd02d, 0x0000 }, - { 0x1a01, 0xd02f, 0x0000 }, - { 0x9a01, 0xd038, 0x4000 }, - { 0x9a01, 0xd034, 0x3000 }, - { 0x9a01, 0xd032, 0x2000 }, - { 0x1a01, 0xd031, 0x0000 }, - { 0x1a01, 0xd033, 0x0000 }, - { 0x9a01, 0xd036, 0x2000 }, - { 0x1a01, 0xd035, 0x0000 }, - { 0x1a01, 0xd037, 0x0000 }, - { 0x9a01, 0xd03c, 0x3000 }, - { 0x9a01, 0xd03a, 0x2000 }, - { 0x1a01, 0xd039, 0x0000 }, - { 0x1a01, 0xd03b, 0x0000 }, - { 0x9a01, 0xd03e, 0x2000 }, - { 0x1a01, 0xd03d, 0x0000 }, - { 0x1a01, 0xd03f, 0x0000 }, - { 0x9a01, 0xd060, 0x6000 }, - { 0x9a01, 0xd050, 0x5000 }, - { 0x9a01, 0xd048, 0x4000 }, - { 0x9a01, 0xd044, 0x3000 }, - { 0x9a01, 0xd042, 0x2000 }, - { 0x1a01, 0xd041, 0x0000 }, - { 0x1a01, 0xd043, 0x0000 }, - { 0x9a01, 0xd046, 0x2000 }, - { 0x1a01, 0xd045, 0x0000 }, - { 0x1a01, 0xd047, 0x0000 }, - { 0x9a01, 0xd04c, 0x3000 }, - { 0x9a01, 0xd04a, 0x2000 }, - { 0x1a01, 0xd049, 0x0000 }, - { 0x1a01, 0xd04b, 0x0000 }, - { 0x9a01, 0xd04e, 0x2000 }, - { 0x1a01, 0xd04d, 0x0000 }, - { 0x1a01, 0xd04f, 0x0000 }, - { 0x9a01, 0xd058, 0x4000 }, - { 0x9a01, 0xd054, 0x3000 }, - { 0x9a01, 0xd052, 0x2000 }, - { 0x1a01, 0xd051, 0x0000 }, - { 0x1a01, 0xd053, 0x0000 }, - { 0x9a01, 0xd056, 0x2000 }, - { 0x1a01, 0xd055, 0x0000 }, - { 0x1a01, 0xd057, 0x0000 }, - { 0x9a01, 0xd05c, 0x3000 }, - { 0x9a01, 0xd05a, 0x2000 }, - { 0x1a01, 0xd059, 0x0000 }, - { 0x1a01, 0xd05b, 0x0000 }, - { 0x9a01, 0xd05e, 0x2000 }, - { 0x1a01, 0xd05d, 0x0000 }, - { 0x1a01, 0xd05f, 0x0000 }, - { 0x9a01, 0xd070, 0x5000 }, - { 0x9a01, 0xd068, 0x4000 }, - { 0x9a01, 0xd064, 0x3000 }, - { 0x9a01, 0xd062, 0x2000 }, - { 0x1a01, 0xd061, 0x0000 }, - { 0x1a01, 0xd063, 0x0000 }, - { 0x9a01, 0xd066, 0x2000 }, - { 0x1a01, 0xd065, 0x0000 }, - { 0x1a01, 0xd067, 0x0000 }, - { 0x9a01, 0xd06c, 0x3000 }, - { 0x9a01, 0xd06a, 0x2000 }, - { 0x1a01, 0xd069, 0x0000 }, - { 0x1a01, 0xd06b, 0x0000 }, - { 0x9a01, 0xd06e, 0x2000 }, - { 0x1a01, 0xd06d, 0x0000 }, - { 0x1a01, 0xd06f, 0x0000 }, - { 0x9a01, 0xd078, 0x4000 }, - { 0x9a01, 0xd074, 0x3000 }, - { 0x9a01, 0xd072, 0x2000 }, - { 0x1a01, 0xd071, 0x0000 }, - { 0x1a01, 0xd073, 0x0000 }, - { 0x9a01, 0xd076, 0x2000 }, - { 0x1a01, 0xd075, 0x0000 }, - { 0x1a01, 0xd077, 0x0000 }, - { 0x9a01, 0xd07c, 0x3000 }, - { 0x9a01, 0xd07a, 0x2000 }, - { 0x1a01, 0xd079, 0x0000 }, - { 0x1a01, 0xd07b, 0x0000 }, - { 0x9a01, 0xd07e, 0x2000 }, - { 0x1a01, 0xd07d, 0x0000 }, - { 0x1a01, 0xd07f, 0x0000 }, - { 0x9a01, 0xd18d, 0x9000 }, - { 0x9a01, 0xd10a, 0x8000 }, - { 0x9a01, 0xd0c0, 0x7000 }, - { 0x9a01, 0xd0a0, 0x6000 }, - { 0x9a01, 0xd090, 0x5000 }, - { 0x9a01, 0xd088, 0x4000 }, - { 0x9a01, 0xd084, 0x3000 }, - { 0x9a01, 0xd082, 0x2000 }, - { 0x1a01, 0xd081, 0x0000 }, - { 0x1a01, 0xd083, 0x0000 }, - { 0x9a01, 0xd086, 0x2000 }, - { 0x1a01, 0xd085, 0x0000 }, - { 0x1a01, 0xd087, 0x0000 }, - { 0x9a01, 0xd08c, 0x3000 }, - { 0x9a01, 0xd08a, 0x2000 }, - { 0x1a01, 0xd089, 0x0000 }, - { 0x1a01, 0xd08b, 0x0000 }, - { 0x9a01, 0xd08e, 0x2000 }, - { 0x1a01, 0xd08d, 0x0000 }, - { 0x1a01, 0xd08f, 0x0000 }, - { 0x9a01, 0xd098, 0x4000 }, - { 0x9a01, 0xd094, 0x3000 }, - { 0x9a01, 0xd092, 0x2000 }, - { 0x1a01, 0xd091, 0x0000 }, - { 0x1a01, 0xd093, 0x0000 }, - { 0x9a01, 0xd096, 0x2000 }, - { 0x1a01, 0xd095, 0x0000 }, - { 0x1a01, 0xd097, 0x0000 }, - { 0x9a01, 0xd09c, 0x3000 }, - { 0x9a01, 0xd09a, 0x2000 }, - { 0x1a01, 0xd099, 0x0000 }, - { 0x1a01, 0xd09b, 0x0000 }, - { 0x9a01, 0xd09e, 0x2000 }, - { 0x1a01, 0xd09d, 0x0000 }, - { 0x1a01, 0xd09f, 0x0000 }, - { 0x9a01, 0xd0b0, 0x5000 }, - { 0x9a01, 0xd0a8, 0x4000 }, - { 0x9a01, 0xd0a4, 0x3000 }, - { 0x9a01, 0xd0a2, 0x2000 }, - { 0x1a01, 0xd0a1, 0x0000 }, - { 0x1a01, 0xd0a3, 0x0000 }, - { 0x9a01, 0xd0a6, 0x2000 }, - { 0x1a01, 0xd0a5, 0x0000 }, - { 0x1a01, 0xd0a7, 0x0000 }, - { 0x9a01, 0xd0ac, 0x3000 }, - { 0x9a01, 0xd0aa, 0x2000 }, - { 0x1a01, 0xd0a9, 0x0000 }, - { 0x1a01, 0xd0ab, 0x0000 }, - { 0x9a01, 0xd0ae, 0x2000 }, - { 0x1a01, 0xd0ad, 0x0000 }, - { 0x1a01, 0xd0af, 0x0000 }, - { 0x9a01, 0xd0b8, 0x4000 }, - { 0x9a01, 0xd0b4, 0x3000 }, - { 0x9a01, 0xd0b2, 0x2000 }, - { 0x1a01, 0xd0b1, 0x0000 }, - { 0x1a01, 0xd0b3, 0x0000 }, - { 0x9a01, 0xd0b6, 0x2000 }, - { 0x1a01, 0xd0b5, 0x0000 }, - { 0x1a01, 0xd0b7, 0x0000 }, - { 0x9a01, 0xd0bc, 0x3000 }, - { 0x9a01, 0xd0ba, 0x2000 }, - { 0x1a01, 0xd0b9, 0x0000 }, - { 0x1a01, 0xd0bb, 0x0000 }, - { 0x9a01, 0xd0be, 0x2000 }, - { 0x1a01, 0xd0bd, 0x0000 }, - { 0x1a01, 0xd0bf, 0x0000 }, - { 0x9a01, 0xd0e0, 0x6000 }, - { 0x9a01, 0xd0d0, 0x5000 }, - { 0x9a01, 0xd0c8, 0x4000 }, - { 0x9a01, 0xd0c4, 0x3000 }, - { 0x9a01, 0xd0c2, 0x2000 }, - { 0x1a01, 0xd0c1, 0x0000 }, - { 0x1a01, 0xd0c3, 0x0000 }, - { 0x9a01, 0xd0c6, 0x2000 }, - { 0x1a01, 0xd0c5, 0x0000 }, - { 0x1a01, 0xd0c7, 0x0000 }, - { 0x9a01, 0xd0cc, 0x3000 }, - { 0x9a01, 0xd0ca, 0x2000 }, - { 0x1a01, 0xd0c9, 0x0000 }, - { 0x1a01, 0xd0cb, 0x0000 }, - { 0x9a01, 0xd0ce, 0x2000 }, - { 0x1a01, 0xd0cd, 0x0000 }, - { 0x1a01, 0xd0cf, 0x0000 }, - { 0x9a01, 0xd0d8, 0x4000 }, - { 0x9a01, 0xd0d4, 0x3000 }, - { 0x9a01, 0xd0d2, 0x2000 }, - { 0x1a01, 0xd0d1, 0x0000 }, - { 0x1a01, 0xd0d3, 0x0000 }, - { 0x9a01, 0xd0d6, 0x2000 }, - { 0x1a01, 0xd0d5, 0x0000 }, - { 0x1a01, 0xd0d7, 0x0000 }, - { 0x9a01, 0xd0dc, 0x3000 }, - { 0x9a01, 0xd0da, 0x2000 }, - { 0x1a01, 0xd0d9, 0x0000 }, - { 0x1a01, 0xd0db, 0x0000 }, - { 0x9a01, 0xd0de, 0x2000 }, - { 0x1a01, 0xd0dd, 0x0000 }, - { 0x1a01, 0xd0df, 0x0000 }, - { 0x9a01, 0xd0f0, 0x5000 }, - { 0x9a01, 0xd0e8, 0x4000 }, - { 0x9a01, 0xd0e4, 0x3000 }, - { 0x9a01, 0xd0e2, 0x2000 }, - { 0x1a01, 0xd0e1, 0x0000 }, - { 0x1a01, 0xd0e3, 0x0000 }, - { 0x9a01, 0xd0e6, 0x2000 }, - { 0x1a01, 0xd0e5, 0x0000 }, - { 0x1a01, 0xd0e7, 0x0000 }, - { 0x9a01, 0xd0ec, 0x3000 }, - { 0x9a01, 0xd0ea, 0x2000 }, - { 0x1a01, 0xd0e9, 0x0000 }, - { 0x1a01, 0xd0eb, 0x0000 }, - { 0x9a01, 0xd0ee, 0x2000 }, - { 0x1a01, 0xd0ed, 0x0000 }, - { 0x1a01, 0xd0ef, 0x0000 }, - { 0x9a01, 0xd102, 0x4000 }, - { 0x9a01, 0xd0f4, 0x3000 }, - { 0x9a01, 0xd0f2, 0x2000 }, - { 0x1a01, 0xd0f1, 0x0000 }, - { 0x1a01, 0xd0f3, 0x0000 }, - { 0x9a01, 0xd100, 0x2000 }, - { 0x1a01, 0xd0f5, 0x0000 }, - { 0x1a01, 0xd101, 0x0000 }, - { 0x9a01, 0xd106, 0x3000 }, - { 0x9a01, 0xd104, 0x2000 }, - { 0x1a01, 0xd103, 0x0000 }, - { 0x1a01, 0xd105, 0x0000 }, - { 0x9a01, 0xd108, 0x2000 }, - { 0x1a01, 0xd107, 0x0000 }, - { 0x1a01, 0xd109, 0x0000 }, - { 0x9a01, 0xd14d, 0x7000 }, - { 0x9a01, 0xd12d, 0x6000 }, - { 0x9a01, 0xd11a, 0x5000 }, - { 0x9a01, 0xd112, 0x4000 }, - { 0x9a01, 0xd10e, 0x3000 }, - { 0x9a01, 0xd10c, 0x2000 }, - { 0x1a01, 0xd10b, 0x0000 }, - { 0x1a01, 0xd10d, 0x0000 }, - { 0x9a01, 0xd110, 0x2000 }, - { 0x1a01, 0xd10f, 0x0000 }, - { 0x1a01, 0xd111, 0x0000 }, - { 0x9a01, 0xd116, 0x3000 }, - { 0x9a01, 0xd114, 0x2000 }, - { 0x1a01, 0xd113, 0x0000 }, - { 0x1a01, 0xd115, 0x0000 }, - { 0x9a01, 0xd118, 0x2000 }, - { 0x1a01, 0xd117, 0x0000 }, - { 0x1a01, 0xd119, 0x0000 }, - { 0x9a01, 0xd122, 0x4000 }, - { 0x9a01, 0xd11e, 0x3000 }, - { 0x9a01, 0xd11c, 0x2000 }, - { 0x1a01, 0xd11b, 0x0000 }, - { 0x1a01, 0xd11d, 0x0000 }, - { 0x9a01, 0xd120, 0x2000 }, - { 0x1a01, 0xd11f, 0x0000 }, - { 0x1a01, 0xd121, 0x0000 }, - { 0x9a01, 0xd126, 0x3000 }, - { 0x9a01, 0xd124, 0x2000 }, - { 0x1a01, 0xd123, 0x0000 }, - { 0x1a01, 0xd125, 0x0000 }, - { 0x9a01, 0xd12b, 0x2000 }, - { 0x1a01, 0xd12a, 0x0000 }, - { 0x1a01, 0xd12c, 0x0000 }, - { 0x9a01, 0xd13d, 0x5000 }, - { 0x9a01, 0xd135, 0x4000 }, - { 0x9a01, 0xd131, 0x3000 }, - { 0x9a01, 0xd12f, 0x2000 }, - { 0x1a01, 0xd12e, 0x0000 }, - { 0x1a01, 0xd130, 0x0000 }, - { 0x9a01, 0xd133, 0x2000 }, - { 0x1a01, 0xd132, 0x0000 }, - { 0x1a01, 0xd134, 0x0000 }, - { 0x9a01, 0xd139, 0x3000 }, - { 0x9a01, 0xd137, 0x2000 }, - { 0x1a01, 0xd136, 0x0000 }, - { 0x1a01, 0xd138, 0x0000 }, - { 0x9a01, 0xd13b, 0x2000 }, - { 0x1a01, 0xd13a, 0x0000 }, - { 0x1a01, 0xd13c, 0x0000 }, - { 0x9a01, 0xd145, 0x4000 }, - { 0x9a01, 0xd141, 0x3000 }, - { 0x9a01, 0xd13f, 0x2000 }, - { 0x1a01, 0xd13e, 0x0000 }, - { 0x1a01, 0xd140, 0x0000 }, - { 0x9a01, 0xd143, 0x2000 }, - { 0x1a01, 0xd142, 0x0000 }, - { 0x1a01, 0xd144, 0x0000 }, - { 0x9a01, 0xd149, 0x3000 }, - { 0x9a01, 0xd147, 0x2000 }, - { 0x1a01, 0xd146, 0x0000 }, - { 0x1a01, 0xd148, 0x0000 }, - { 0x9a01, 0xd14b, 0x2000 }, - { 0x1a01, 0xd14a, 0x0000 }, - { 0x1a01, 0xd14c, 0x0000 }, - { 0x8a01, 0xd16d, 0x6000 }, - { 0x9a01, 0xd15d, 0x5000 }, - { 0x9a01, 0xd155, 0x4000 }, - { 0x9a01, 0xd151, 0x3000 }, - { 0x9a01, 0xd14f, 0x2000 }, - { 0x1a01, 0xd14e, 0x0000 }, - { 0x1a01, 0xd150, 0x0000 }, - { 0x9a01, 0xd153, 0x2000 }, - { 0x1a01, 0xd152, 0x0000 }, - { 0x1a01, 0xd154, 0x0000 }, - { 0x9a01, 0xd159, 0x3000 }, - { 0x9a01, 0xd157, 0x2000 }, - { 0x1a01, 0xd156, 0x0000 }, - { 0x1a01, 0xd158, 0x0000 }, - { 0x9a01, 0xd15b, 0x2000 }, - { 0x1a01, 0xd15a, 0x0000 }, - { 0x1a01, 0xd15c, 0x0000 }, - { 0x8a01, 0xd165, 0x4000 }, - { 0x9a01, 0xd161, 0x3000 }, - { 0x9a01, 0xd15f, 0x2000 }, - { 0x1a01, 0xd15e, 0x0000 }, - { 0x1a01, 0xd160, 0x0000 }, - { 0x9a01, 0xd163, 0x2000 }, - { 0x1a01, 0xd162, 0x0000 }, - { 0x1a01, 0xd164, 0x0000 }, - { 0x8c01, 0xd169, 0x3000 }, - { 0x8c01, 0xd167, 0x2000 }, - { 0x0a01, 0xd166, 0x0000 }, - { 0x0c01, 0xd168, 0x0000 }, - { 0x9a01, 0xd16b, 0x2000 }, - { 0x1a01, 0xd16a, 0x0000 }, - { 0x1a01, 0xd16c, 0x0000 }, - { 0x8c01, 0xd17d, 0x5000 }, - { 0x8101, 0xd175, 0x4000 }, - { 0x8a01, 0xd171, 0x3000 }, - { 0x8a01, 0xd16f, 0x2000 }, - { 0x0a01, 0xd16e, 0x0000 }, - { 0x0a01, 0xd170, 0x0000 }, - { 0x8101, 0xd173, 0x2000 }, - { 0x0a01, 0xd172, 0x0000 }, - { 0x0101, 0xd174, 0x0000 }, - { 0x8101, 0xd179, 0x3000 }, - { 0x8101, 0xd177, 0x2000 }, - { 0x0101, 0xd176, 0x0000 }, - { 0x0101, 0xd178, 0x0000 }, - { 0x8c01, 0xd17b, 0x2000 }, - { 0x0101, 0xd17a, 0x0000 }, - { 0x0c01, 0xd17c, 0x0000 }, - { 0x8c01, 0xd185, 0x4000 }, - { 0x8c01, 0xd181, 0x3000 }, - { 0x8c01, 0xd17f, 0x2000 }, - { 0x0c01, 0xd17e, 0x0000 }, - { 0x0c01, 0xd180, 0x0000 }, - { 0x9a01, 0xd183, 0x2000 }, - { 0x0c01, 0xd182, 0x0000 }, - { 0x1a01, 0xd184, 0x0000 }, - { 0x8c01, 0xd189, 0x3000 }, - { 0x8c01, 0xd187, 0x2000 }, - { 0x0c01, 0xd186, 0x0000 }, - { 0x0c01, 0xd188, 0x0000 }, - { 0x8c01, 0xd18b, 0x2000 }, - { 0x0c01, 0xd18a, 0x0000 }, - { 0x1a01, 0xd18c, 0x0000 }, - { 0x9a01, 0xd32f, 0x8000 }, - { 0x9a01, 0xd1cd, 0x7000 }, - { 0x8c01, 0xd1ad, 0x6000 }, - { 0x9a01, 0xd19d, 0x5000 }, - { 0x9a01, 0xd195, 0x4000 }, - { 0x9a01, 0xd191, 0x3000 }, - { 0x9a01, 0xd18f, 0x2000 }, - { 0x1a01, 0xd18e, 0x0000 }, - { 0x1a01, 0xd190, 0x0000 }, - { 0x9a01, 0xd193, 0x2000 }, - { 0x1a01, 0xd192, 0x0000 }, - { 0x1a01, 0xd194, 0x0000 }, - { 0x9a01, 0xd199, 0x3000 }, - { 0x9a01, 0xd197, 0x2000 }, - { 0x1a01, 0xd196, 0x0000 }, - { 0x1a01, 0xd198, 0x0000 }, - { 0x9a01, 0xd19b, 0x2000 }, - { 0x1a01, 0xd19a, 0x0000 }, - { 0x1a01, 0xd19c, 0x0000 }, - { 0x9a01, 0xd1a5, 0x4000 }, - { 0x9a01, 0xd1a1, 0x3000 }, - { 0x9a01, 0xd19f, 0x2000 }, - { 0x1a01, 0xd19e, 0x0000 }, - { 0x1a01, 0xd1a0, 0x0000 }, - { 0x9a01, 0xd1a3, 0x2000 }, - { 0x1a01, 0xd1a2, 0x0000 }, - { 0x1a01, 0xd1a4, 0x0000 }, - { 0x9a01, 0xd1a9, 0x3000 }, - { 0x9a01, 0xd1a7, 0x2000 }, - { 0x1a01, 0xd1a6, 0x0000 }, - { 0x1a01, 0xd1a8, 0x0000 }, - { 0x8c01, 0xd1ab, 0x2000 }, - { 0x0c01, 0xd1aa, 0x0000 }, - { 0x0c01, 0xd1ac, 0x0000 }, - { 0x9a01, 0xd1bd, 0x5000 }, - { 0x9a01, 0xd1b5, 0x4000 }, - { 0x9a01, 0xd1b1, 0x3000 }, - { 0x9a01, 0xd1af, 0x2000 }, - { 0x1a01, 0xd1ae, 0x0000 }, - { 0x1a01, 0xd1b0, 0x0000 }, - { 0x9a01, 0xd1b3, 0x2000 }, - { 0x1a01, 0xd1b2, 0x0000 }, - { 0x1a01, 0xd1b4, 0x0000 }, - { 0x9a01, 0xd1b9, 0x3000 }, - { 0x9a01, 0xd1b7, 0x2000 }, - { 0x1a01, 0xd1b6, 0x0000 }, - { 0x1a01, 0xd1b8, 0x0000 }, - { 0x9a01, 0xd1bb, 0x2000 }, - { 0x1a01, 0xd1ba, 0x0000 }, - { 0x1a01, 0xd1bc, 0x0000 }, - { 0x9a01, 0xd1c5, 0x4000 }, - { 0x9a01, 0xd1c1, 0x3000 }, - { 0x9a01, 0xd1bf, 0x2000 }, - { 0x1a01, 0xd1be, 0x0000 }, - { 0x1a01, 0xd1c0, 0x0000 }, - { 0x9a01, 0xd1c3, 0x2000 }, - { 0x1a01, 0xd1c2, 0x0000 }, - { 0x1a01, 0xd1c4, 0x0000 }, - { 0x9a01, 0xd1c9, 0x3000 }, - { 0x9a01, 0xd1c7, 0x2000 }, - { 0x1a01, 0xd1c6, 0x0000 }, - { 0x1a01, 0xd1c8, 0x0000 }, - { 0x9a01, 0xd1cb, 0x2000 }, - { 0x1a01, 0xd1ca, 0x0000 }, - { 0x1a01, 0xd1cc, 0x0000 }, - { 0x9a01, 0xd30f, 0x6000 }, - { 0x9a01, 0xd1dd, 0x5000 }, - { 0x9a01, 0xd1d5, 0x4000 }, - { 0x9a01, 0xd1d1, 0x3000 }, - { 0x9a01, 0xd1cf, 0x2000 }, - { 0x1a01, 0xd1ce, 0x0000 }, - { 0x1a01, 0xd1d0, 0x0000 }, - { 0x9a01, 0xd1d3, 0x2000 }, - { 0x1a01, 0xd1d2, 0x0000 }, - { 0x1a01, 0xd1d4, 0x0000 }, - { 0x9a01, 0xd1d9, 0x3000 }, - { 0x9a01, 0xd1d7, 0x2000 }, - { 0x1a01, 0xd1d6, 0x0000 }, - { 0x1a01, 0xd1d8, 0x0000 }, - { 0x9a01, 0xd1db, 0x2000 }, - { 0x1a01, 0xd1da, 0x0000 }, - { 0x1a01, 0xd1dc, 0x0000 }, - { 0x9a01, 0xd307, 0x4000 }, - { 0x9a01, 0xd303, 0x3000 }, - { 0x9a01, 0xd301, 0x2000 }, - { 0x1a01, 0xd300, 0x0000 }, - { 0x1a01, 0xd302, 0x0000 }, - { 0x9a01, 0xd305, 0x2000 }, - { 0x1a01, 0xd304, 0x0000 }, - { 0x1a01, 0xd306, 0x0000 }, - { 0x9a01, 0xd30b, 0x3000 }, - { 0x9a01, 0xd309, 0x2000 }, - { 0x1a01, 0xd308, 0x0000 }, - { 0x1a01, 0xd30a, 0x0000 }, - { 0x9a01, 0xd30d, 0x2000 }, - { 0x1a01, 0xd30c, 0x0000 }, - { 0x1a01, 0xd30e, 0x0000 }, - { 0x9a01, 0xd31f, 0x5000 }, - { 0x9a01, 0xd317, 0x4000 }, - { 0x9a01, 0xd313, 0x3000 }, - { 0x9a01, 0xd311, 0x2000 }, - { 0x1a01, 0xd310, 0x0000 }, - { 0x1a01, 0xd312, 0x0000 }, - { 0x9a01, 0xd315, 0x2000 }, - { 0x1a01, 0xd314, 0x0000 }, - { 0x1a01, 0xd316, 0x0000 }, - { 0x9a01, 0xd31b, 0x3000 }, - { 0x9a01, 0xd319, 0x2000 }, - { 0x1a01, 0xd318, 0x0000 }, - { 0x1a01, 0xd31a, 0x0000 }, - { 0x9a01, 0xd31d, 0x2000 }, - { 0x1a01, 0xd31c, 0x0000 }, - { 0x1a01, 0xd31e, 0x0000 }, - { 0x9a01, 0xd327, 0x4000 }, - { 0x9a01, 0xd323, 0x3000 }, - { 0x9a01, 0xd321, 0x2000 }, - { 0x1a01, 0xd320, 0x0000 }, - { 0x1a01, 0xd322, 0x0000 }, - { 0x9a01, 0xd325, 0x2000 }, - { 0x1a01, 0xd324, 0x0000 }, - { 0x1a01, 0xd326, 0x0000 }, - { 0x9a01, 0xd32b, 0x3000 }, - { 0x9a01, 0xd329, 0x2000 }, - { 0x1a01, 0xd328, 0x0000 }, - { 0x1a01, 0xd32a, 0x0000 }, - { 0x9a01, 0xd32d, 0x2000 }, - { 0x1a01, 0xd32c, 0x0000 }, - { 0x1a01, 0xd32e, 0x0000 }, - { 0x8901, 0xd418, 0x7000 }, - { 0x9a01, 0xd34f, 0x6000 }, - { 0x9a01, 0xd33f, 0x5000 }, - { 0x9a01, 0xd337, 0x4000 }, - { 0x9a01, 0xd333, 0x3000 }, - { 0x9a01, 0xd331, 0x2000 }, - { 0x1a01, 0xd330, 0x0000 }, - { 0x1a01, 0xd332, 0x0000 }, - { 0x9a01, 0xd335, 0x2000 }, - { 0x1a01, 0xd334, 0x0000 }, - { 0x1a01, 0xd336, 0x0000 }, - { 0x9a01, 0xd33b, 0x3000 }, - { 0x9a01, 0xd339, 0x2000 }, - { 0x1a01, 0xd338, 0x0000 }, - { 0x1a01, 0xd33a, 0x0000 }, - { 0x9a01, 0xd33d, 0x2000 }, - { 0x1a01, 0xd33c, 0x0000 }, - { 0x1a01, 0xd33e, 0x0000 }, - { 0x9a01, 0xd347, 0x4000 }, - { 0x9a01, 0xd343, 0x3000 }, - { 0x9a01, 0xd341, 0x2000 }, - { 0x1a01, 0xd340, 0x0000 }, - { 0x1a01, 0xd342, 0x0000 }, - { 0x9a01, 0xd345, 0x2000 }, - { 0x1a01, 0xd344, 0x0000 }, - { 0x1a01, 0xd346, 0x0000 }, - { 0x9a01, 0xd34b, 0x3000 }, - { 0x9a01, 0xd349, 0x2000 }, - { 0x1a01, 0xd348, 0x0000 }, - { 0x1a01, 0xd34a, 0x0000 }, - { 0x9a01, 0xd34d, 0x2000 }, - { 0x1a01, 0xd34c, 0x0000 }, - { 0x1a01, 0xd34e, 0x0000 }, - { 0x8901, 0xd408, 0x5000 }, - { 0x8901, 0xd400, 0x4000 }, - { 0x9a01, 0xd353, 0x3000 }, - { 0x9a01, 0xd351, 0x2000 }, - { 0x1a01, 0xd350, 0x0000 }, - { 0x1a01, 0xd352, 0x0000 }, - { 0x9a01, 0xd355, 0x2000 }, - { 0x1a01, 0xd354, 0x0000 }, - { 0x1a01, 0xd356, 0x0000 }, - { 0x8901, 0xd404, 0x3000 }, - { 0x8901, 0xd402, 0x2000 }, - { 0x0901, 0xd401, 0x0000 }, - { 0x0901, 0xd403, 0x0000 }, - { 0x8901, 0xd406, 0x2000 }, - { 0x0901, 0xd405, 0x0000 }, - { 0x0901, 0xd407, 0x0000 }, - { 0x8901, 0xd410, 0x4000 }, - { 0x8901, 0xd40c, 0x3000 }, - { 0x8901, 0xd40a, 0x2000 }, - { 0x0901, 0xd409, 0x0000 }, - { 0x0901, 0xd40b, 0x0000 }, - { 0x8901, 0xd40e, 0x2000 }, - { 0x0901, 0xd40d, 0x0000 }, - { 0x0901, 0xd40f, 0x0000 }, - { 0x8901, 0xd414, 0x3000 }, - { 0x8901, 0xd412, 0x2000 }, - { 0x0901, 0xd411, 0x0000 }, - { 0x0901, 0xd413, 0x0000 }, - { 0x8901, 0xd416, 0x2000 }, - { 0x0901, 0xd415, 0x0000 }, - { 0x0901, 0xd417, 0x0000 }, - { 0x8901, 0xd438, 0x6000 }, - { 0x8501, 0xd428, 0x5000 }, - { 0x8501, 0xd420, 0x4000 }, - { 0x8501, 0xd41c, 0x3000 }, - { 0x8501, 0xd41a, 0x2000 }, - { 0x0901, 0xd419, 0x0000 }, - { 0x0501, 0xd41b, 0x0000 }, - { 0x8501, 0xd41e, 0x2000 }, - { 0x0501, 0xd41d, 0x0000 }, - { 0x0501, 0xd41f, 0x0000 }, - { 0x8501, 0xd424, 0x3000 }, - { 0x8501, 0xd422, 0x2000 }, - { 0x0501, 0xd421, 0x0000 }, - { 0x0501, 0xd423, 0x0000 }, - { 0x8501, 0xd426, 0x2000 }, - { 0x0501, 0xd425, 0x0000 }, - { 0x0501, 0xd427, 0x0000 }, - { 0x8501, 0xd430, 0x4000 }, - { 0x8501, 0xd42c, 0x3000 }, - { 0x8501, 0xd42a, 0x2000 }, - { 0x0501, 0xd429, 0x0000 }, - { 0x0501, 0xd42b, 0x0000 }, - { 0x8501, 0xd42e, 0x2000 }, - { 0x0501, 0xd42d, 0x0000 }, - { 0x0501, 0xd42f, 0x0000 }, - { 0x8901, 0xd434, 0x3000 }, - { 0x8501, 0xd432, 0x2000 }, - { 0x0501, 0xd431, 0x0000 }, - { 0x0501, 0xd433, 0x0000 }, - { 0x8901, 0xd436, 0x2000 }, - { 0x0901, 0xd435, 0x0000 }, - { 0x0901, 0xd437, 0x0000 }, - { 0x8901, 0xd448, 0x5000 }, - { 0x8901, 0xd440, 0x4000 }, - { 0x8901, 0xd43c, 0x3000 }, - { 0x8901, 0xd43a, 0x2000 }, - { 0x0901, 0xd439, 0x0000 }, - { 0x0901, 0xd43b, 0x0000 }, - { 0x8901, 0xd43e, 0x2000 }, - { 0x0901, 0xd43d, 0x0000 }, - { 0x0901, 0xd43f, 0x0000 }, - { 0x8901, 0xd444, 0x3000 }, - { 0x8901, 0xd442, 0x2000 }, - { 0x0901, 0xd441, 0x0000 }, - { 0x0901, 0xd443, 0x0000 }, - { 0x8901, 0xd446, 0x2000 }, - { 0x0901, 0xd445, 0x0000 }, - { 0x0901, 0xd447, 0x0000 }, - { 0x8501, 0xd450, 0x4000 }, - { 0x8901, 0xd44c, 0x3000 }, - { 0x8901, 0xd44a, 0x2000 }, - { 0x0901, 0xd449, 0x0000 }, - { 0x0901, 0xd44b, 0x0000 }, - { 0x8501, 0xd44e, 0x2000 }, - { 0x0901, 0xd44d, 0x0000 }, - { 0x0501, 0xd44f, 0x0000 }, - { 0x8501, 0xd454, 0x3000 }, - { 0x8501, 0xd452, 0x2000 }, - { 0x0501, 0xd451, 0x0000 }, - { 0x0501, 0xd453, 0x0000 }, - { 0x8501, 0xd457, 0x2000 }, - { 0x0501, 0xd456, 0x0000 }, - { 0x0501, 0xd458, 0x0000 }, - { 0x8702, 0xf876, 0xb000 }, - { 0x8901, 0xd670, 0xa000 }, - { 0x8901, 0xd570, 0x9000 }, - { 0x8901, 0xd4e4, 0x8000 }, - { 0x8501, 0xd499, 0x7000 }, - { 0x8901, 0xd479, 0x6000 }, - { 0x8901, 0xd469, 0x5000 }, - { 0x8501, 0xd461, 0x4000 }, - { 0x8501, 0xd45d, 0x3000 }, - { 0x8501, 0xd45b, 0x2000 }, - { 0x0501, 0xd45a, 0x0000 }, - { 0x0501, 0xd45c, 0x0000 }, - { 0x8501, 0xd45f, 0x2000 }, - { 0x0501, 0xd45e, 0x0000 }, - { 0x0501, 0xd460, 0x0000 }, - { 0x8501, 0xd465, 0x3000 }, - { 0x8501, 0xd463, 0x2000 }, - { 0x0501, 0xd462, 0x0000 }, - { 0x0501, 0xd464, 0x0000 }, - { 0x8501, 0xd467, 0x2000 }, - { 0x0501, 0xd466, 0x0000 }, - { 0x0901, 0xd468, 0x0000 }, - { 0x8901, 0xd471, 0x4000 }, - { 0x8901, 0xd46d, 0x3000 }, - { 0x8901, 0xd46b, 0x2000 }, - { 0x0901, 0xd46a, 0x0000 }, - { 0x0901, 0xd46c, 0x0000 }, - { 0x8901, 0xd46f, 0x2000 }, - { 0x0901, 0xd46e, 0x0000 }, - { 0x0901, 0xd470, 0x0000 }, - { 0x8901, 0xd475, 0x3000 }, - { 0x8901, 0xd473, 0x2000 }, - { 0x0901, 0xd472, 0x0000 }, - { 0x0901, 0xd474, 0x0000 }, - { 0x8901, 0xd477, 0x2000 }, - { 0x0901, 0xd476, 0x0000 }, - { 0x0901, 0xd478, 0x0000 }, - { 0x8501, 0xd489, 0x5000 }, - { 0x8901, 0xd481, 0x4000 }, - { 0x8901, 0xd47d, 0x3000 }, - { 0x8901, 0xd47b, 0x2000 }, - { 0x0901, 0xd47a, 0x0000 }, - { 0x0901, 0xd47c, 0x0000 }, - { 0x8901, 0xd47f, 0x2000 }, - { 0x0901, 0xd47e, 0x0000 }, - { 0x0901, 0xd480, 0x0000 }, - { 0x8501, 0xd485, 0x3000 }, - { 0x8501, 0xd483, 0x2000 }, - { 0x0501, 0xd482, 0x0000 }, - { 0x0501, 0xd484, 0x0000 }, - { 0x8501, 0xd487, 0x2000 }, - { 0x0501, 0xd486, 0x0000 }, - { 0x0501, 0xd488, 0x0000 }, - { 0x8501, 0xd491, 0x4000 }, - { 0x8501, 0xd48d, 0x3000 }, - { 0x8501, 0xd48b, 0x2000 }, - { 0x0501, 0xd48a, 0x0000 }, - { 0x0501, 0xd48c, 0x0000 }, - { 0x8501, 0xd48f, 0x2000 }, - { 0x0501, 0xd48e, 0x0000 }, - { 0x0501, 0xd490, 0x0000 }, - { 0x8501, 0xd495, 0x3000 }, - { 0x8501, 0xd493, 0x2000 }, - { 0x0501, 0xd492, 0x0000 }, - { 0x0501, 0xd494, 0x0000 }, - { 0x8501, 0xd497, 0x2000 }, - { 0x0501, 0xd496, 0x0000 }, - { 0x0501, 0xd498, 0x0000 }, - { 0x8501, 0xd4c3, 0x6000 }, - { 0x8901, 0xd4b1, 0x5000 }, - { 0x8901, 0xd4a6, 0x4000 }, - { 0x8901, 0xd49e, 0x3000 }, - { 0x8501, 0xd49b, 0x2000 }, - { 0x0501, 0xd49a, 0x0000 }, - { 0x0901, 0xd49c, 0x0000 }, - { 0x8901, 0xd4a2, 0x2000 }, - { 0x0901, 0xd49f, 0x0000 }, - { 0x0901, 0xd4a5, 0x0000 }, - { 0x8901, 0xd4ac, 0x3000 }, - { 0x8901, 0xd4aa, 0x2000 }, - { 0x0901, 0xd4a9, 0x0000 }, - { 0x0901, 0xd4ab, 0x0000 }, - { 0x8901, 0xd4af, 0x2000 }, - { 0x0901, 0xd4ae, 0x0000 }, - { 0x0901, 0xd4b0, 0x0000 }, - { 0x8501, 0xd4b9, 0x4000 }, - { 0x8901, 0xd4b5, 0x3000 }, - { 0x8901, 0xd4b3, 0x2000 }, - { 0x0901, 0xd4b2, 0x0000 }, - { 0x0901, 0xd4b4, 0x0000 }, - { 0x8501, 0xd4b7, 0x2000 }, - { 0x0501, 0xd4b6, 0x0000 }, - { 0x0501, 0xd4b8, 0x0000 }, - { 0x8501, 0xd4bf, 0x3000 }, - { 0x8501, 0xd4bd, 0x2000 }, - { 0x0501, 0xd4bb, 0x0000 }, - { 0x0501, 0xd4be, 0x0000 }, - { 0x8501, 0xd4c1, 0x2000 }, - { 0x0501, 0xd4c0, 0x0000 }, - { 0x0501, 0xd4c2, 0x0000 }, - { 0x8901, 0xd4d4, 0x5000 }, - { 0x8501, 0xd4cc, 0x4000 }, - { 0x8501, 0xd4c8, 0x3000 }, - { 0x8501, 0xd4c6, 0x2000 }, - { 0x0501, 0xd4c5, 0x0000 }, - { 0x0501, 0xd4c7, 0x0000 }, - { 0x8501, 0xd4ca, 0x2000 }, - { 0x0501, 0xd4c9, 0x0000 }, - { 0x0501, 0xd4cb, 0x0000 }, - { 0x8901, 0xd4d0, 0x3000 }, - { 0x8501, 0xd4ce, 0x2000 }, - { 0x0501, 0xd4cd, 0x0000 }, - { 0x0501, 0xd4cf, 0x0000 }, - { 0x8901, 0xd4d2, 0x2000 }, - { 0x0901, 0xd4d1, 0x0000 }, - { 0x0901, 0xd4d3, 0x0000 }, - { 0x8901, 0xd4dc, 0x4000 }, - { 0x8901, 0xd4d8, 0x3000 }, - { 0x8901, 0xd4d6, 0x2000 }, - { 0x0901, 0xd4d5, 0x0000 }, - { 0x0901, 0xd4d7, 0x0000 }, - { 0x8901, 0xd4da, 0x2000 }, - { 0x0901, 0xd4d9, 0x0000 }, - { 0x0901, 0xd4db, 0x0000 }, - { 0x8901, 0xd4e0, 0x3000 }, - { 0x8901, 0xd4de, 0x2000 }, - { 0x0901, 0xd4dd, 0x0000 }, - { 0x0901, 0xd4df, 0x0000 }, - { 0x8901, 0xd4e2, 0x2000 }, - { 0x0901, 0xd4e1, 0x0000 }, - { 0x0901, 0xd4e3, 0x0000 }, - { 0x8501, 0xd529, 0x7000 }, - { 0x8901, 0xd504, 0x6000 }, - { 0x8501, 0xd4f4, 0x5000 }, - { 0x8501, 0xd4ec, 0x4000 }, - { 0x8901, 0xd4e8, 0x3000 }, - { 0x8901, 0xd4e6, 0x2000 }, - { 0x0901, 0xd4e5, 0x0000 }, - { 0x0901, 0xd4e7, 0x0000 }, - { 0x8501, 0xd4ea, 0x2000 }, - { 0x0901, 0xd4e9, 0x0000 }, - { 0x0501, 0xd4eb, 0x0000 }, - { 0x8501, 0xd4f0, 0x3000 }, - { 0x8501, 0xd4ee, 0x2000 }, - { 0x0501, 0xd4ed, 0x0000 }, - { 0x0501, 0xd4ef, 0x0000 }, - { 0x8501, 0xd4f2, 0x2000 }, - { 0x0501, 0xd4f1, 0x0000 }, - { 0x0501, 0xd4f3, 0x0000 }, - { 0x8501, 0xd4fc, 0x4000 }, - { 0x8501, 0xd4f8, 0x3000 }, - { 0x8501, 0xd4f6, 0x2000 }, - { 0x0501, 0xd4f5, 0x0000 }, - { 0x0501, 0xd4f7, 0x0000 }, - { 0x8501, 0xd4fa, 0x2000 }, - { 0x0501, 0xd4f9, 0x0000 }, - { 0x0501, 0xd4fb, 0x0000 }, - { 0x8501, 0xd500, 0x3000 }, - { 0x8501, 0xd4fe, 0x2000 }, - { 0x0501, 0xd4fd, 0x0000 }, - { 0x0501, 0xd4ff, 0x0000 }, - { 0x8501, 0xd502, 0x2000 }, - { 0x0501, 0xd501, 0x0000 }, - { 0x0501, 0xd503, 0x0000 }, - { 0x8901, 0xd518, 0x5000 }, - { 0x8901, 0xd50f, 0x4000 }, - { 0x8901, 0xd509, 0x3000 }, - { 0x8901, 0xd507, 0x2000 }, - { 0x0901, 0xd505, 0x0000 }, - { 0x0901, 0xd508, 0x0000 }, - { 0x8901, 0xd50d, 0x2000 }, - { 0x0901, 0xd50a, 0x0000 }, - { 0x0901, 0xd50e, 0x0000 }, - { 0x8901, 0xd513, 0x3000 }, - { 0x8901, 0xd511, 0x2000 }, - { 0x0901, 0xd510, 0x0000 }, - { 0x0901, 0xd512, 0x0000 }, - { 0x8901, 0xd516, 0x2000 }, - { 0x0901, 0xd514, 0x0000 }, - { 0x0901, 0xd517, 0x0000 }, - { 0x8501, 0xd521, 0x4000 }, - { 0x8901, 0xd51c, 0x3000 }, - { 0x8901, 0xd51a, 0x2000 }, - { 0x0901, 0xd519, 0x0000 }, - { 0x0901, 0xd51b, 0x0000 }, - { 0x8501, 0xd51f, 0x2000 }, - { 0x0501, 0xd51e, 0x0000 }, - { 0x0501, 0xd520, 0x0000 }, - { 0x8501, 0xd525, 0x3000 }, - { 0x8501, 0xd523, 0x2000 }, - { 0x0501, 0xd522, 0x0000 }, - { 0x0501, 0xd524, 0x0000 }, - { 0x8501, 0xd527, 0x2000 }, - { 0x0501, 0xd526, 0x0000 }, - { 0x0501, 0xd528, 0x0000 }, - { 0x8901, 0xd54f, 0x6000 }, - { 0x8901, 0xd539, 0x5000 }, - { 0x8501, 0xd531, 0x4000 }, - { 0x8501, 0xd52d, 0x3000 }, - { 0x8501, 0xd52b, 0x2000 }, - { 0x0501, 0xd52a, 0x0000 }, - { 0x0501, 0xd52c, 0x0000 }, - { 0x8501, 0xd52f, 0x2000 }, - { 0x0501, 0xd52e, 0x0000 }, - { 0x0501, 0xd530, 0x0000 }, - { 0x8501, 0xd535, 0x3000 }, - { 0x8501, 0xd533, 0x2000 }, - { 0x0501, 0xd532, 0x0000 }, - { 0x0501, 0xd534, 0x0000 }, - { 0x8501, 0xd537, 0x2000 }, - { 0x0501, 0xd536, 0x0000 }, - { 0x0901, 0xd538, 0x0000 }, - { 0x8901, 0xd543, 0x4000 }, - { 0x8901, 0xd53e, 0x3000 }, - { 0x8901, 0xd53c, 0x2000 }, - { 0x0901, 0xd53b, 0x0000 }, - { 0x0901, 0xd53d, 0x0000 }, - { 0x8901, 0xd541, 0x2000 }, - { 0x0901, 0xd540, 0x0000 }, - { 0x0901, 0xd542, 0x0000 }, - { 0x8901, 0xd54b, 0x3000 }, - { 0x8901, 0xd546, 0x2000 }, - { 0x0901, 0xd544, 0x0000 }, - { 0x0901, 0xd54a, 0x0000 }, - { 0x8901, 0xd54d, 0x2000 }, - { 0x0901, 0xd54c, 0x0000 }, - { 0x0901, 0xd54e, 0x0000 }, - { 0x8501, 0xd560, 0x5000 }, - { 0x8501, 0xd558, 0x4000 }, - { 0x8501, 0xd554, 0x3000 }, - { 0x8501, 0xd552, 0x2000 }, - { 0x0901, 0xd550, 0x0000 }, - { 0x0501, 0xd553, 0x0000 }, - { 0x8501, 0xd556, 0x2000 }, - { 0x0501, 0xd555, 0x0000 }, - { 0x0501, 0xd557, 0x0000 }, - { 0x8501, 0xd55c, 0x3000 }, - { 0x8501, 0xd55a, 0x2000 }, - { 0x0501, 0xd559, 0x0000 }, - { 0x0501, 0xd55b, 0x0000 }, - { 0x8501, 0xd55e, 0x2000 }, - { 0x0501, 0xd55d, 0x0000 }, - { 0x0501, 0xd55f, 0x0000 }, - { 0x8501, 0xd568, 0x4000 }, - { 0x8501, 0xd564, 0x3000 }, - { 0x8501, 0xd562, 0x2000 }, - { 0x0501, 0xd561, 0x0000 }, - { 0x0501, 0xd563, 0x0000 }, - { 0x8501, 0xd566, 0x2000 }, - { 0x0501, 0xd565, 0x0000 }, - { 0x0501, 0xd567, 0x0000 }, - { 0x8901, 0xd56c, 0x3000 }, - { 0x8501, 0xd56a, 0x2000 }, - { 0x0501, 0xd569, 0x0000 }, - { 0x0501, 0xd56b, 0x0000 }, - { 0x8901, 0xd56e, 0x2000 }, - { 0x0901, 0xd56d, 0x0000 }, - { 0x0901, 0xd56f, 0x0000 }, - { 0x8501, 0xd5f0, 0x8000 }, - { 0x8901, 0xd5b0, 0x7000 }, - { 0x8501, 0xd590, 0x6000 }, - { 0x8901, 0xd580, 0x5000 }, - { 0x8901, 0xd578, 0x4000 }, - { 0x8901, 0xd574, 0x3000 }, - { 0x8901, 0xd572, 0x2000 }, - { 0x0901, 0xd571, 0x0000 }, - { 0x0901, 0xd573, 0x0000 }, - { 0x8901, 0xd576, 0x2000 }, - { 0x0901, 0xd575, 0x0000 }, - { 0x0901, 0xd577, 0x0000 }, - { 0x8901, 0xd57c, 0x3000 }, - { 0x8901, 0xd57a, 0x2000 }, - { 0x0901, 0xd579, 0x0000 }, - { 0x0901, 0xd57b, 0x0000 }, - { 0x8901, 0xd57e, 0x2000 }, - { 0x0901, 0xd57d, 0x0000 }, - { 0x0901, 0xd57f, 0x0000 }, - { 0x8501, 0xd588, 0x4000 }, - { 0x8901, 0xd584, 0x3000 }, - { 0x8901, 0xd582, 0x2000 }, - { 0x0901, 0xd581, 0x0000 }, - { 0x0901, 0xd583, 0x0000 }, - { 0x8501, 0xd586, 0x2000 }, - { 0x0901, 0xd585, 0x0000 }, - { 0x0501, 0xd587, 0x0000 }, - { 0x8501, 0xd58c, 0x3000 }, - { 0x8501, 0xd58a, 0x2000 }, - { 0x0501, 0xd589, 0x0000 }, - { 0x0501, 0xd58b, 0x0000 }, - { 0x8501, 0xd58e, 0x2000 }, - { 0x0501, 0xd58d, 0x0000 }, - { 0x0501, 0xd58f, 0x0000 }, - { 0x8901, 0xd5a0, 0x5000 }, - { 0x8501, 0xd598, 0x4000 }, - { 0x8501, 0xd594, 0x3000 }, - { 0x8501, 0xd592, 0x2000 }, - { 0x0501, 0xd591, 0x0000 }, - { 0x0501, 0xd593, 0x0000 }, - { 0x8501, 0xd596, 0x2000 }, - { 0x0501, 0xd595, 0x0000 }, - { 0x0501, 0xd597, 0x0000 }, - { 0x8501, 0xd59c, 0x3000 }, - { 0x8501, 0xd59a, 0x2000 }, - { 0x0501, 0xd599, 0x0000 }, - { 0x0501, 0xd59b, 0x0000 }, - { 0x8501, 0xd59e, 0x2000 }, - { 0x0501, 0xd59d, 0x0000 }, - { 0x0501, 0xd59f, 0x0000 }, - { 0x8901, 0xd5a8, 0x4000 }, - { 0x8901, 0xd5a4, 0x3000 }, - { 0x8901, 0xd5a2, 0x2000 }, - { 0x0901, 0xd5a1, 0x0000 }, - { 0x0901, 0xd5a3, 0x0000 }, - { 0x8901, 0xd5a6, 0x2000 }, - { 0x0901, 0xd5a5, 0x0000 }, - { 0x0901, 0xd5a7, 0x0000 }, - { 0x8901, 0xd5ac, 0x3000 }, - { 0x8901, 0xd5aa, 0x2000 }, - { 0x0901, 0xd5a9, 0x0000 }, - { 0x0901, 0xd5ab, 0x0000 }, - { 0x8901, 0xd5ae, 0x2000 }, - { 0x0901, 0xd5ad, 0x0000 }, - { 0x0901, 0xd5af, 0x0000 }, - { 0x8501, 0xd5d0, 0x6000 }, - { 0x8501, 0xd5c0, 0x5000 }, - { 0x8901, 0xd5b8, 0x4000 }, - { 0x8901, 0xd5b4, 0x3000 }, - { 0x8901, 0xd5b2, 0x2000 }, - { 0x0901, 0xd5b1, 0x0000 }, - { 0x0901, 0xd5b3, 0x0000 }, - { 0x8901, 0xd5b6, 0x2000 }, - { 0x0901, 0xd5b5, 0x0000 }, - { 0x0901, 0xd5b7, 0x0000 }, - { 0x8501, 0xd5bc, 0x3000 }, - { 0x8501, 0xd5ba, 0x2000 }, - { 0x0901, 0xd5b9, 0x0000 }, - { 0x0501, 0xd5bb, 0x0000 }, - { 0x8501, 0xd5be, 0x2000 }, - { 0x0501, 0xd5bd, 0x0000 }, - { 0x0501, 0xd5bf, 0x0000 }, - { 0x8501, 0xd5c8, 0x4000 }, - { 0x8501, 0xd5c4, 0x3000 }, - { 0x8501, 0xd5c2, 0x2000 }, - { 0x0501, 0xd5c1, 0x0000 }, - { 0x0501, 0xd5c3, 0x0000 }, - { 0x8501, 0xd5c6, 0x2000 }, - { 0x0501, 0xd5c5, 0x0000 }, - { 0x0501, 0xd5c7, 0x0000 }, - { 0x8501, 0xd5cc, 0x3000 }, - { 0x8501, 0xd5ca, 0x2000 }, - { 0x0501, 0xd5c9, 0x0000 }, - { 0x0501, 0xd5cb, 0x0000 }, - { 0x8501, 0xd5ce, 0x2000 }, - { 0x0501, 0xd5cd, 0x0000 }, - { 0x0501, 0xd5cf, 0x0000 }, - { 0x8901, 0xd5e0, 0x5000 }, - { 0x8901, 0xd5d8, 0x4000 }, - { 0x8901, 0xd5d4, 0x3000 }, - { 0x8501, 0xd5d2, 0x2000 }, - { 0x0501, 0xd5d1, 0x0000 }, - { 0x0501, 0xd5d3, 0x0000 }, - { 0x8901, 0xd5d6, 0x2000 }, - { 0x0901, 0xd5d5, 0x0000 }, - { 0x0901, 0xd5d7, 0x0000 }, - { 0x8901, 0xd5dc, 0x3000 }, - { 0x8901, 0xd5da, 0x2000 }, - { 0x0901, 0xd5d9, 0x0000 }, - { 0x0901, 0xd5db, 0x0000 }, - { 0x8901, 0xd5de, 0x2000 }, - { 0x0901, 0xd5dd, 0x0000 }, - { 0x0901, 0xd5df, 0x0000 }, - { 0x8901, 0xd5e8, 0x4000 }, - { 0x8901, 0xd5e4, 0x3000 }, - { 0x8901, 0xd5e2, 0x2000 }, - { 0x0901, 0xd5e1, 0x0000 }, - { 0x0901, 0xd5e3, 0x0000 }, - { 0x8901, 0xd5e6, 0x2000 }, - { 0x0901, 0xd5e5, 0x0000 }, - { 0x0901, 0xd5e7, 0x0000 }, - { 0x8901, 0xd5ec, 0x3000 }, - { 0x8901, 0xd5ea, 0x2000 }, - { 0x0901, 0xd5e9, 0x0000 }, - { 0x0901, 0xd5eb, 0x0000 }, - { 0x8501, 0xd5ee, 0x2000 }, - { 0x0901, 0xd5ed, 0x0000 }, - { 0x0501, 0xd5ef, 0x0000 }, - { 0x8501, 0xd630, 0x7000 }, - { 0x8901, 0xd610, 0x6000 }, - { 0x8501, 0xd600, 0x5000 }, - { 0x8501, 0xd5f8, 0x4000 }, - { 0x8501, 0xd5f4, 0x3000 }, - { 0x8501, 0xd5f2, 0x2000 }, - { 0x0501, 0xd5f1, 0x0000 }, - { 0x0501, 0xd5f3, 0x0000 }, - { 0x8501, 0xd5f6, 0x2000 }, - { 0x0501, 0xd5f5, 0x0000 }, - { 0x0501, 0xd5f7, 0x0000 }, - { 0x8501, 0xd5fc, 0x3000 }, - { 0x8501, 0xd5fa, 0x2000 }, - { 0x0501, 0xd5f9, 0x0000 }, - { 0x0501, 0xd5fb, 0x0000 }, - { 0x8501, 0xd5fe, 0x2000 }, - { 0x0501, 0xd5fd, 0x0000 }, - { 0x0501, 0xd5ff, 0x0000 }, - { 0x8901, 0xd608, 0x4000 }, - { 0x8501, 0xd604, 0x3000 }, - { 0x8501, 0xd602, 0x2000 }, - { 0x0501, 0xd601, 0x0000 }, - { 0x0501, 0xd603, 0x0000 }, - { 0x8501, 0xd606, 0x2000 }, - { 0x0501, 0xd605, 0x0000 }, - { 0x0501, 0xd607, 0x0000 }, - { 0x8901, 0xd60c, 0x3000 }, - { 0x8901, 0xd60a, 0x2000 }, - { 0x0901, 0xd609, 0x0000 }, - { 0x0901, 0xd60b, 0x0000 }, - { 0x8901, 0xd60e, 0x2000 }, - { 0x0901, 0xd60d, 0x0000 }, - { 0x0901, 0xd60f, 0x0000 }, - { 0x8901, 0xd620, 0x5000 }, - { 0x8901, 0xd618, 0x4000 }, - { 0x8901, 0xd614, 0x3000 }, - { 0x8901, 0xd612, 0x2000 }, - { 0x0901, 0xd611, 0x0000 }, - { 0x0901, 0xd613, 0x0000 }, - { 0x8901, 0xd616, 0x2000 }, - { 0x0901, 0xd615, 0x0000 }, - { 0x0901, 0xd617, 0x0000 }, - { 0x8901, 0xd61c, 0x3000 }, - { 0x8901, 0xd61a, 0x2000 }, - { 0x0901, 0xd619, 0x0000 }, - { 0x0901, 0xd61b, 0x0000 }, - { 0x8901, 0xd61e, 0x2000 }, - { 0x0901, 0xd61d, 0x0000 }, - { 0x0901, 0xd61f, 0x0000 }, - { 0x8501, 0xd628, 0x4000 }, - { 0x8501, 0xd624, 0x3000 }, - { 0x8501, 0xd622, 0x2000 }, - { 0x0901, 0xd621, 0x0000 }, - { 0x0501, 0xd623, 0x0000 }, - { 0x8501, 0xd626, 0x2000 }, - { 0x0501, 0xd625, 0x0000 }, - { 0x0501, 0xd627, 0x0000 }, - { 0x8501, 0xd62c, 0x3000 }, - { 0x8501, 0xd62a, 0x2000 }, - { 0x0501, 0xd629, 0x0000 }, - { 0x0501, 0xd62b, 0x0000 }, - { 0x8501, 0xd62e, 0x2000 }, - { 0x0501, 0xd62d, 0x0000 }, - { 0x0501, 0xd62f, 0x0000 }, - { 0x8901, 0xd650, 0x6000 }, - { 0x8901, 0xd640, 0x5000 }, - { 0x8501, 0xd638, 0x4000 }, - { 0x8501, 0xd634, 0x3000 }, - { 0x8501, 0xd632, 0x2000 }, - { 0x0501, 0xd631, 0x0000 }, - { 0x0501, 0xd633, 0x0000 }, - { 0x8501, 0xd636, 0x2000 }, - { 0x0501, 0xd635, 0x0000 }, - { 0x0501, 0xd637, 0x0000 }, - { 0x8901, 0xd63c, 0x3000 }, - { 0x8501, 0xd63a, 0x2000 }, - { 0x0501, 0xd639, 0x0000 }, - { 0x0501, 0xd63b, 0x0000 }, - { 0x8901, 0xd63e, 0x2000 }, - { 0x0901, 0xd63d, 0x0000 }, - { 0x0901, 0xd63f, 0x0000 }, - { 0x8901, 0xd648, 0x4000 }, - { 0x8901, 0xd644, 0x3000 }, - { 0x8901, 0xd642, 0x2000 }, - { 0x0901, 0xd641, 0x0000 }, - { 0x0901, 0xd643, 0x0000 }, - { 0x8901, 0xd646, 0x2000 }, - { 0x0901, 0xd645, 0x0000 }, - { 0x0901, 0xd647, 0x0000 }, - { 0x8901, 0xd64c, 0x3000 }, - { 0x8901, 0xd64a, 0x2000 }, - { 0x0901, 0xd649, 0x0000 }, - { 0x0901, 0xd64b, 0x0000 }, - { 0x8901, 0xd64e, 0x2000 }, - { 0x0901, 0xd64d, 0x0000 }, - { 0x0901, 0xd64f, 0x0000 }, - { 0x8501, 0xd660, 0x5000 }, - { 0x8501, 0xd658, 0x4000 }, - { 0x8901, 0xd654, 0x3000 }, - { 0x8901, 0xd652, 0x2000 }, - { 0x0901, 0xd651, 0x0000 }, - { 0x0901, 0xd653, 0x0000 }, - { 0x8501, 0xd656, 0x2000 }, - { 0x0901, 0xd655, 0x0000 }, - { 0x0501, 0xd657, 0x0000 }, - { 0x8501, 0xd65c, 0x3000 }, - { 0x8501, 0xd65a, 0x2000 }, - { 0x0501, 0xd659, 0x0000 }, - { 0x0501, 0xd65b, 0x0000 }, - { 0x8501, 0xd65e, 0x2000 }, - { 0x0501, 0xd65d, 0x0000 }, - { 0x0501, 0xd65f, 0x0000 }, - { 0x8501, 0xd668, 0x4000 }, - { 0x8501, 0xd664, 0x3000 }, - { 0x8501, 0xd662, 0x2000 }, - { 0x0501, 0xd661, 0x0000 }, - { 0x0501, 0xd663, 0x0000 }, - { 0x8501, 0xd666, 0x2000 }, - { 0x0501, 0xd665, 0x0000 }, - { 0x0501, 0xd667, 0x0000 }, - { 0x8501, 0xd66c, 0x3000 }, - { 0x8501, 0xd66a, 0x2000 }, - { 0x0501, 0xd669, 0x0000 }, - { 0x0501, 0xd66b, 0x0000 }, - { 0x8501, 0xd66e, 0x2000 }, - { 0x0501, 0xd66d, 0x0000 }, - { 0x0501, 0xd66f, 0x0000 }, - { 0x8501, 0xd774, 0x9000 }, - { 0x8901, 0xd6f4, 0x8000 }, - { 0x8901, 0xd6b4, 0x7000 }, - { 0x8501, 0xd690, 0x6000 }, - { 0x8901, 0xd680, 0x5000 }, - { 0x8901, 0xd678, 0x4000 }, - { 0x8901, 0xd674, 0x3000 }, - { 0x8901, 0xd672, 0x2000 }, - { 0x0901, 0xd671, 0x0000 }, - { 0x0901, 0xd673, 0x0000 }, - { 0x8901, 0xd676, 0x2000 }, - { 0x0901, 0xd675, 0x0000 }, - { 0x0901, 0xd677, 0x0000 }, - { 0x8901, 0xd67c, 0x3000 }, - { 0x8901, 0xd67a, 0x2000 }, - { 0x0901, 0xd679, 0x0000 }, - { 0x0901, 0xd67b, 0x0000 }, - { 0x8901, 0xd67e, 0x2000 }, - { 0x0901, 0xd67d, 0x0000 }, - { 0x0901, 0xd67f, 0x0000 }, - { 0x8901, 0xd688, 0x4000 }, - { 0x8901, 0xd684, 0x3000 }, - { 0x8901, 0xd682, 0x2000 }, - { 0x0901, 0xd681, 0x0000 }, - { 0x0901, 0xd683, 0x0000 }, - { 0x8901, 0xd686, 0x2000 }, - { 0x0901, 0xd685, 0x0000 }, - { 0x0901, 0xd687, 0x0000 }, - { 0x8501, 0xd68c, 0x3000 }, - { 0x8501, 0xd68a, 0x2000 }, - { 0x0901, 0xd689, 0x0000 }, - { 0x0501, 0xd68b, 0x0000 }, - { 0x8501, 0xd68e, 0x2000 }, - { 0x0501, 0xd68d, 0x0000 }, - { 0x0501, 0xd68f, 0x0000 }, - { 0x8501, 0xd6a0, 0x5000 }, - { 0x8501, 0xd698, 0x4000 }, - { 0x8501, 0xd694, 0x3000 }, - { 0x8501, 0xd692, 0x2000 }, - { 0x0501, 0xd691, 0x0000 }, - { 0x0501, 0xd693, 0x0000 }, - { 0x8501, 0xd696, 0x2000 }, - { 0x0501, 0xd695, 0x0000 }, - { 0x0501, 0xd697, 0x0000 }, - { 0x8501, 0xd69c, 0x3000 }, - { 0x8501, 0xd69a, 0x2000 }, - { 0x0501, 0xd699, 0x0000 }, - { 0x0501, 0xd69b, 0x0000 }, - { 0x8501, 0xd69e, 0x2000 }, - { 0x0501, 0xd69d, 0x0000 }, - { 0x0501, 0xd69f, 0x0000 }, - { 0x8901, 0xd6ac, 0x4000 }, - { 0x8901, 0xd6a8, 0x3000 }, - { 0x8501, 0xd6a2, 0x2000 }, - { 0x0501, 0xd6a1, 0x0000 }, - { 0x0501, 0xd6a3, 0x0000 }, - { 0x8901, 0xd6aa, 0x2000 }, - { 0x0901, 0xd6a9, 0x0000 }, - { 0x0901, 0xd6ab, 0x0000 }, - { 0x8901, 0xd6b0, 0x3000 }, - { 0x8901, 0xd6ae, 0x2000 }, - { 0x0901, 0xd6ad, 0x0000 }, - { 0x0901, 0xd6af, 0x0000 }, - { 0x8901, 0xd6b2, 0x2000 }, - { 0x0901, 0xd6b1, 0x0000 }, - { 0x0901, 0xd6b3, 0x0000 }, - { 0x8501, 0xd6d4, 0x6000 }, - { 0x8501, 0xd6c4, 0x5000 }, - { 0x8901, 0xd6bc, 0x4000 }, - { 0x8901, 0xd6b8, 0x3000 }, - { 0x8901, 0xd6b6, 0x2000 }, - { 0x0901, 0xd6b5, 0x0000 }, - { 0x0901, 0xd6b7, 0x0000 }, - { 0x8901, 0xd6ba, 0x2000 }, - { 0x0901, 0xd6b9, 0x0000 }, - { 0x0901, 0xd6bb, 0x0000 }, - { 0x8901, 0xd6c0, 0x3000 }, - { 0x8901, 0xd6be, 0x2000 }, - { 0x0901, 0xd6bd, 0x0000 }, - { 0x0901, 0xd6bf, 0x0000 }, - { 0x8501, 0xd6c2, 0x2000 }, - { 0x1901, 0xd6c1, 0x0000 }, - { 0x0501, 0xd6c3, 0x0000 }, - { 0x8501, 0xd6cc, 0x4000 }, - { 0x8501, 0xd6c8, 0x3000 }, - { 0x8501, 0xd6c6, 0x2000 }, - { 0x0501, 0xd6c5, 0x0000 }, - { 0x0501, 0xd6c7, 0x0000 }, - { 0x8501, 0xd6ca, 0x2000 }, - { 0x0501, 0xd6c9, 0x0000 }, - { 0x0501, 0xd6cb, 0x0000 }, - { 0x8501, 0xd6d0, 0x3000 }, - { 0x8501, 0xd6ce, 0x2000 }, - { 0x0501, 0xd6cd, 0x0000 }, - { 0x0501, 0xd6cf, 0x0000 }, - { 0x8501, 0xd6d2, 0x2000 }, - { 0x0501, 0xd6d1, 0x0000 }, - { 0x0501, 0xd6d3, 0x0000 }, - { 0x8901, 0xd6e4, 0x5000 }, - { 0x8501, 0xd6dc, 0x4000 }, - { 0x8501, 0xd6d8, 0x3000 }, - { 0x8501, 0xd6d6, 0x2000 }, - { 0x0501, 0xd6d5, 0x0000 }, - { 0x0501, 0xd6d7, 0x0000 }, - { 0x8501, 0xd6da, 0x2000 }, - { 0x0501, 0xd6d9, 0x0000 }, - { 0x1901, 0xd6db, 0x0000 }, - { 0x8501, 0xd6e0, 0x3000 }, - { 0x8501, 0xd6de, 0x2000 }, - { 0x0501, 0xd6dd, 0x0000 }, - { 0x0501, 0xd6df, 0x0000 }, - { 0x8901, 0xd6e2, 0x2000 }, - { 0x0501, 0xd6e1, 0x0000 }, - { 0x0901, 0xd6e3, 0x0000 }, - { 0x8901, 0xd6ec, 0x4000 }, - { 0x8901, 0xd6e8, 0x3000 }, - { 0x8901, 0xd6e6, 0x2000 }, - { 0x0901, 0xd6e5, 0x0000 }, - { 0x0901, 0xd6e7, 0x0000 }, - { 0x8901, 0xd6ea, 0x2000 }, - { 0x0901, 0xd6e9, 0x0000 }, - { 0x0901, 0xd6eb, 0x0000 }, - { 0x8901, 0xd6f0, 0x3000 }, - { 0x8901, 0xd6ee, 0x2000 }, - { 0x0901, 0xd6ed, 0x0000 }, - { 0x0901, 0xd6ef, 0x0000 }, - { 0x8901, 0xd6f2, 0x2000 }, - { 0x0901, 0xd6f1, 0x0000 }, - { 0x0901, 0xd6f3, 0x0000 }, - { 0x8901, 0xd734, 0x7000 }, - { 0x8501, 0xd714, 0x6000 }, - { 0x8501, 0xd704, 0x5000 }, - { 0x8501, 0xd6fc, 0x4000 }, - { 0x8901, 0xd6f8, 0x3000 }, - { 0x8901, 0xd6f6, 0x2000 }, - { 0x0901, 0xd6f5, 0x0000 }, - { 0x0901, 0xd6f7, 0x0000 }, - { 0x8901, 0xd6fa, 0x2000 }, - { 0x0901, 0xd6f9, 0x0000 }, - { 0x1901, 0xd6fb, 0x0000 }, - { 0x8501, 0xd700, 0x3000 }, - { 0x8501, 0xd6fe, 0x2000 }, - { 0x0501, 0xd6fd, 0x0000 }, - { 0x0501, 0xd6ff, 0x0000 }, - { 0x8501, 0xd702, 0x2000 }, - { 0x0501, 0xd701, 0x0000 }, - { 0x0501, 0xd703, 0x0000 }, - { 0x8501, 0xd70c, 0x4000 }, - { 0x8501, 0xd708, 0x3000 }, - { 0x8501, 0xd706, 0x2000 }, - { 0x0501, 0xd705, 0x0000 }, - { 0x0501, 0xd707, 0x0000 }, - { 0x8501, 0xd70a, 0x2000 }, - { 0x0501, 0xd709, 0x0000 }, - { 0x0501, 0xd70b, 0x0000 }, - { 0x8501, 0xd710, 0x3000 }, - { 0x8501, 0xd70e, 0x2000 }, - { 0x0501, 0xd70d, 0x0000 }, - { 0x0501, 0xd70f, 0x0000 }, - { 0x8501, 0xd712, 0x2000 }, - { 0x0501, 0xd711, 0x0000 }, - { 0x0501, 0xd713, 0x0000 }, - { 0x8901, 0xd724, 0x5000 }, - { 0x8901, 0xd71c, 0x4000 }, - { 0x8501, 0xd718, 0x3000 }, - { 0x8501, 0xd716, 0x2000 }, - { 0x1901, 0xd715, 0x0000 }, - { 0x0501, 0xd717, 0x0000 }, - { 0x8501, 0xd71a, 0x2000 }, - { 0x0501, 0xd719, 0x0000 }, - { 0x0501, 0xd71b, 0x0000 }, - { 0x8901, 0xd720, 0x3000 }, - { 0x8901, 0xd71e, 0x2000 }, - { 0x0901, 0xd71d, 0x0000 }, - { 0x0901, 0xd71f, 0x0000 }, - { 0x8901, 0xd722, 0x2000 }, - { 0x0901, 0xd721, 0x0000 }, - { 0x0901, 0xd723, 0x0000 }, - { 0x8901, 0xd72c, 0x4000 }, - { 0x8901, 0xd728, 0x3000 }, - { 0x8901, 0xd726, 0x2000 }, - { 0x0901, 0xd725, 0x0000 }, - { 0x0901, 0xd727, 0x0000 }, - { 0x8901, 0xd72a, 0x2000 }, - { 0x0901, 0xd729, 0x0000 }, - { 0x0901, 0xd72b, 0x0000 }, - { 0x8901, 0xd730, 0x3000 }, - { 0x8901, 0xd72e, 0x2000 }, - { 0x0901, 0xd72d, 0x0000 }, - { 0x0901, 0xd72f, 0x0000 }, - { 0x8901, 0xd732, 0x2000 }, - { 0x0901, 0xd731, 0x0000 }, - { 0x0901, 0xd733, 0x0000 }, - { 0x8501, 0xd754, 0x6000 }, - { 0x8501, 0xd744, 0x5000 }, - { 0x8501, 0xd73c, 0x4000 }, - { 0x8501, 0xd738, 0x3000 }, - { 0x8501, 0xd736, 0x2000 }, - { 0x1901, 0xd735, 0x0000 }, - { 0x0501, 0xd737, 0x0000 }, - { 0x8501, 0xd73a, 0x2000 }, - { 0x0501, 0xd739, 0x0000 }, - { 0x0501, 0xd73b, 0x0000 }, - { 0x8501, 0xd740, 0x3000 }, - { 0x8501, 0xd73e, 0x2000 }, - { 0x0501, 0xd73d, 0x0000 }, - { 0x0501, 0xd73f, 0x0000 }, - { 0x8501, 0xd742, 0x2000 }, - { 0x0501, 0xd741, 0x0000 }, - { 0x0501, 0xd743, 0x0000 }, - { 0x8501, 0xd74c, 0x4000 }, - { 0x8501, 0xd748, 0x3000 }, - { 0x8501, 0xd746, 0x2000 }, - { 0x0501, 0xd745, 0x0000 }, - { 0x0501, 0xd747, 0x0000 }, - { 0x8501, 0xd74a, 0x2000 }, - { 0x0501, 0xd749, 0x0000 }, - { 0x0501, 0xd74b, 0x0000 }, - { 0x8501, 0xd750, 0x3000 }, - { 0x8501, 0xd74e, 0x2000 }, - { 0x0501, 0xd74d, 0x0000 }, - { 0x1901, 0xd74f, 0x0000 }, - { 0x8501, 0xd752, 0x2000 }, - { 0x0501, 0xd751, 0x0000 }, - { 0x0501, 0xd753, 0x0000 }, - { 0x8901, 0xd764, 0x5000 }, - { 0x8901, 0xd75c, 0x4000 }, - { 0x8901, 0xd758, 0x3000 }, - { 0x8901, 0xd756, 0x2000 }, - { 0x0501, 0xd755, 0x0000 }, - { 0x0901, 0xd757, 0x0000 }, - { 0x8901, 0xd75a, 0x2000 }, - { 0x0901, 0xd759, 0x0000 }, - { 0x0901, 0xd75b, 0x0000 }, - { 0x8901, 0xd760, 0x3000 }, - { 0x8901, 0xd75e, 0x2000 }, - { 0x0901, 0xd75d, 0x0000 }, - { 0x0901, 0xd75f, 0x0000 }, - { 0x8901, 0xd762, 0x2000 }, - { 0x0901, 0xd761, 0x0000 }, - { 0x0901, 0xd763, 0x0000 }, - { 0x8901, 0xd76c, 0x4000 }, - { 0x8901, 0xd768, 0x3000 }, - { 0x8901, 0xd766, 0x2000 }, - { 0x0901, 0xd765, 0x0000 }, - { 0x0901, 0xd767, 0x0000 }, - { 0x8901, 0xd76a, 0x2000 }, - { 0x0901, 0xd769, 0x0000 }, - { 0x0901, 0xd76b, 0x0000 }, - { 0x8501, 0xd770, 0x3000 }, - { 0x8901, 0xd76e, 0x2000 }, - { 0x0901, 0xd76d, 0x0000 }, - { 0x1901, 0xd76f, 0x0000 }, - { 0x8501, 0xd772, 0x2000 }, - { 0x0501, 0xd771, 0x0000 }, - { 0x0501, 0xd773, 0x0000 }, - { 0x8d01, 0xd7f8, 0x8000 }, - { 0x8501, 0xd7b4, 0x7000 }, - { 0x8901, 0xd794, 0x6000 }, - { 0x8501, 0xd784, 0x5000 }, - { 0x8501, 0xd77c, 0x4000 }, - { 0x8501, 0xd778, 0x3000 }, - { 0x8501, 0xd776, 0x2000 }, - { 0x0501, 0xd775, 0x0000 }, - { 0x0501, 0xd777, 0x0000 }, - { 0x8501, 0xd77a, 0x2000 }, - { 0x0501, 0xd779, 0x0000 }, - { 0x0501, 0xd77b, 0x0000 }, - { 0x8501, 0xd780, 0x3000 }, - { 0x8501, 0xd77e, 0x2000 }, - { 0x0501, 0xd77d, 0x0000 }, - { 0x0501, 0xd77f, 0x0000 }, - { 0x8501, 0xd782, 0x2000 }, - { 0x0501, 0xd781, 0x0000 }, - { 0x0501, 0xd783, 0x0000 }, - { 0x8501, 0xd78c, 0x4000 }, - { 0x8501, 0xd788, 0x3000 }, - { 0x8501, 0xd786, 0x2000 }, - { 0x0501, 0xd785, 0x0000 }, - { 0x0501, 0xd787, 0x0000 }, - { 0x8501, 0xd78a, 0x2000 }, - { 0x1901, 0xd789, 0x0000 }, - { 0x0501, 0xd78b, 0x0000 }, - { 0x8901, 0xd790, 0x3000 }, - { 0x8501, 0xd78e, 0x2000 }, - { 0x0501, 0xd78d, 0x0000 }, - { 0x0501, 0xd78f, 0x0000 }, - { 0x8901, 0xd792, 0x2000 }, - { 0x0901, 0xd791, 0x0000 }, - { 0x0901, 0xd793, 0x0000 }, - { 0x8901, 0xd7a4, 0x5000 }, - { 0x8901, 0xd79c, 0x4000 }, - { 0x8901, 0xd798, 0x3000 }, - { 0x8901, 0xd796, 0x2000 }, - { 0x0901, 0xd795, 0x0000 }, - { 0x0901, 0xd797, 0x0000 }, - { 0x8901, 0xd79a, 0x2000 }, - { 0x0901, 0xd799, 0x0000 }, - { 0x0901, 0xd79b, 0x0000 }, - { 0x8901, 0xd7a0, 0x3000 }, - { 0x8901, 0xd79e, 0x2000 }, - { 0x0901, 0xd79d, 0x0000 }, - { 0x0901, 0xd79f, 0x0000 }, - { 0x8901, 0xd7a2, 0x2000 }, - { 0x0901, 0xd7a1, 0x0000 }, - { 0x0901, 0xd7a3, 0x0000 }, - { 0x8501, 0xd7ac, 0x4000 }, - { 0x8901, 0xd7a8, 0x3000 }, - { 0x8901, 0xd7a6, 0x2000 }, - { 0x0901, 0xd7a5, 0x0000 }, - { 0x0901, 0xd7a7, 0x0000 }, - { 0x8501, 0xd7aa, 0x2000 }, - { 0x1901, 0xd7a9, 0x0000 }, - { 0x0501, 0xd7ab, 0x0000 }, - { 0x8501, 0xd7b0, 0x3000 }, - { 0x8501, 0xd7ae, 0x2000 }, - { 0x0501, 0xd7ad, 0x0000 }, - { 0x0501, 0xd7af, 0x0000 }, - { 0x8501, 0xd7b2, 0x2000 }, - { 0x0501, 0xd7b1, 0x0000 }, - { 0x0501, 0xd7b3, 0x0000 }, - { 0x8d01, 0xd7d8, 0x6000 }, - { 0x8501, 0xd7c4, 0x5000 }, - { 0x8501, 0xd7bc, 0x4000 }, - { 0x8501, 0xd7b8, 0x3000 }, - { 0x8501, 0xd7b6, 0x2000 }, - { 0x0501, 0xd7b5, 0x0000 }, - { 0x0501, 0xd7b7, 0x0000 }, - { 0x8501, 0xd7ba, 0x2000 }, - { 0x0501, 0xd7b9, 0x0000 }, - { 0x0501, 0xd7bb, 0x0000 }, - { 0x8501, 0xd7c0, 0x3000 }, - { 0x8501, 0xd7be, 0x2000 }, - { 0x0501, 0xd7bd, 0x0000 }, - { 0x0501, 0xd7bf, 0x0000 }, - { 0x8501, 0xd7c2, 0x2000 }, - { 0x0501, 0xd7c1, 0x0000 }, - { 0x1901, 0xd7c3, 0x0000 }, - { 0x8d01, 0xd7d0, 0x4000 }, - { 0x8501, 0xd7c8, 0x3000 }, - { 0x8501, 0xd7c6, 0x2000 }, - { 0x0501, 0xd7c5, 0x0000 }, - { 0x0501, 0xd7c7, 0x0000 }, - { 0x8d01, 0xd7ce, 0x2000 }, - { 0x0501, 0xd7c9, 0x0000 }, - { 0x0d01, 0xd7cf, 0x0000 }, - { 0x8d01, 0xd7d4, 0x3000 }, - { 0x8d01, 0xd7d2, 0x2000 }, - { 0x0d01, 0xd7d1, 0x0000 }, - { 0x0d01, 0xd7d3, 0x0000 }, - { 0x8d01, 0xd7d6, 0x2000 }, - { 0x0d01, 0xd7d5, 0x0000 }, - { 0x0d01, 0xd7d7, 0x0000 }, - { 0x8d01, 0xd7e8, 0x5000 }, - { 0x8d01, 0xd7e0, 0x4000 }, - { 0x8d01, 0xd7dc, 0x3000 }, - { 0x8d01, 0xd7da, 0x2000 }, - { 0x0d01, 0xd7d9, 0x0000 }, - { 0x0d01, 0xd7db, 0x0000 }, - { 0x8d01, 0xd7de, 0x2000 }, - { 0x0d01, 0xd7dd, 0x0000 }, - { 0x0d01, 0xd7df, 0x0000 }, - { 0x8d01, 0xd7e4, 0x3000 }, - { 0x8d01, 0xd7e2, 0x2000 }, - { 0x0d01, 0xd7e1, 0x0000 }, - { 0x0d01, 0xd7e3, 0x0000 }, - { 0x8d01, 0xd7e6, 0x2000 }, - { 0x0d01, 0xd7e5, 0x0000 }, - { 0x0d01, 0xd7e7, 0x0000 }, - { 0x8d01, 0xd7f0, 0x4000 }, - { 0x8d01, 0xd7ec, 0x3000 }, - { 0x8d01, 0xd7ea, 0x2000 }, - { 0x0d01, 0xd7e9, 0x0000 }, - { 0x0d01, 0xd7eb, 0x0000 }, - { 0x8d01, 0xd7ee, 0x2000 }, - { 0x0d01, 0xd7ed, 0x0000 }, - { 0x0d01, 0xd7ef, 0x0000 }, - { 0x8d01, 0xd7f4, 0x3000 }, - { 0x8d01, 0xd7f2, 0x2000 }, - { 0x0d01, 0xd7f1, 0x0000 }, - { 0x0d01, 0xd7f3, 0x0000 }, - { 0x8d01, 0xd7f6, 0x2000 }, - { 0x0d01, 0xd7f5, 0x0000 }, - { 0x0d01, 0xd7f7, 0x0000 }, - { 0x8702, 0xf836, 0x7000 }, - { 0x8702, 0xf816, 0x6000 }, - { 0x8702, 0xf806, 0x5000 }, - { 0x8702, 0x0000, 0x4000 }, - { 0x8d01, 0xd7fc, 0x3000 }, - { 0x8d01, 0xd7fa, 0x2000 }, - { 0x0d01, 0xd7f9, 0x0000 }, - { 0x0d01, 0xd7fb, 0x0000 }, - { 0x8d01, 0xd7fe, 0x2000 }, - { 0x0d01, 0xd7fd, 0x0000 }, - { 0x0d01, 0xd7ff, 0x0000 }, - { 0x8702, 0xf802, 0x3000 }, - { 0x8702, 0xf800, 0x2000 }, - { 0x0702, 0xa6d6, 0x0000 }, - { 0x0702, 0xf801, 0x0000 }, - { 0x8702, 0xf804, 0x2000 }, - { 0x0702, 0xf803, 0x0000 }, - { 0x0702, 0xf805, 0x0000 }, - { 0x8702, 0xf80e, 0x4000 }, - { 0x8702, 0xf80a, 0x3000 }, - { 0x8702, 0xf808, 0x2000 }, - { 0x0702, 0xf807, 0x0000 }, - { 0x0702, 0xf809, 0x0000 }, - { 0x8702, 0xf80c, 0x2000 }, - { 0x0702, 0xf80b, 0x0000 }, - { 0x0702, 0xf80d, 0x0000 }, - { 0x8702, 0xf812, 0x3000 }, - { 0x8702, 0xf810, 0x2000 }, - { 0x0702, 0xf80f, 0x0000 }, - { 0x0702, 0xf811, 0x0000 }, - { 0x8702, 0xf814, 0x2000 }, - { 0x0702, 0xf813, 0x0000 }, - { 0x0702, 0xf815, 0x0000 }, - { 0x8702, 0xf826, 0x5000 }, - { 0x8702, 0xf81e, 0x4000 }, - { 0x8702, 0xf81a, 0x3000 }, - { 0x8702, 0xf818, 0x2000 }, - { 0x0702, 0xf817, 0x0000 }, - { 0x0702, 0xf819, 0x0000 }, - { 0x8702, 0xf81c, 0x2000 }, - { 0x0702, 0xf81b, 0x0000 }, - { 0x0702, 0xf81d, 0x0000 }, - { 0x8702, 0xf822, 0x3000 }, - { 0x8702, 0xf820, 0x2000 }, - { 0x0702, 0xf81f, 0x0000 }, - { 0x0702, 0xf821, 0x0000 }, - { 0x8702, 0xf824, 0x2000 }, - { 0x0702, 0xf823, 0x0000 }, - { 0x0702, 0xf825, 0x0000 }, - { 0x8702, 0xf82e, 0x4000 }, - { 0x8702, 0xf82a, 0x3000 }, - { 0x8702, 0xf828, 0x2000 }, - { 0x0702, 0xf827, 0x0000 }, - { 0x0702, 0xf829, 0x0000 }, - { 0x8702, 0xf82c, 0x2000 }, - { 0x0702, 0xf82b, 0x0000 }, - { 0x0702, 0xf82d, 0x0000 }, - { 0x8702, 0xf832, 0x3000 }, - { 0x8702, 0xf830, 0x2000 }, - { 0x0702, 0xf82f, 0x0000 }, - { 0x0702, 0xf831, 0x0000 }, - { 0x8702, 0xf834, 0x2000 }, - { 0x0702, 0xf833, 0x0000 }, - { 0x0702, 0xf835, 0x0000 }, - { 0x8702, 0xf856, 0x6000 }, - { 0x8702, 0xf846, 0x5000 }, - { 0x8702, 0xf83e, 0x4000 }, - { 0x8702, 0xf83a, 0x3000 }, - { 0x8702, 0xf838, 0x2000 }, - { 0x0702, 0xf837, 0x0000 }, - { 0x0702, 0xf839, 0x0000 }, - { 0x8702, 0xf83c, 0x2000 }, - { 0x0702, 0xf83b, 0x0000 }, - { 0x0702, 0xf83d, 0x0000 }, - { 0x8702, 0xf842, 0x3000 }, - { 0x8702, 0xf840, 0x2000 }, - { 0x0702, 0xf83f, 0x0000 }, - { 0x0702, 0xf841, 0x0000 }, - { 0x8702, 0xf844, 0x2000 }, - { 0x0702, 0xf843, 0x0000 }, - { 0x0702, 0xf845, 0x0000 }, - { 0x8702, 0xf84e, 0x4000 }, - { 0x8702, 0xf84a, 0x3000 }, - { 0x8702, 0xf848, 0x2000 }, - { 0x0702, 0xf847, 0x0000 }, - { 0x0702, 0xf849, 0x0000 }, - { 0x8702, 0xf84c, 0x2000 }, - { 0x0702, 0xf84b, 0x0000 }, - { 0x0702, 0xf84d, 0x0000 }, - { 0x8702, 0xf852, 0x3000 }, - { 0x8702, 0xf850, 0x2000 }, - { 0x0702, 0xf84f, 0x0000 }, - { 0x0702, 0xf851, 0x0000 }, - { 0x8702, 0xf854, 0x2000 }, - { 0x0702, 0xf853, 0x0000 }, - { 0x0702, 0xf855, 0x0000 }, - { 0x8702, 0xf866, 0x5000 }, - { 0x8702, 0xf85e, 0x4000 }, - { 0x8702, 0xf85a, 0x3000 }, - { 0x8702, 0xf858, 0x2000 }, - { 0x0702, 0xf857, 0x0000 }, - { 0x0702, 0xf859, 0x0000 }, - { 0x8702, 0xf85c, 0x2000 }, - { 0x0702, 0xf85b, 0x0000 }, - { 0x0702, 0xf85d, 0x0000 }, - { 0x8702, 0xf862, 0x3000 }, - { 0x8702, 0xf860, 0x2000 }, - { 0x0702, 0xf85f, 0x0000 }, - { 0x0702, 0xf861, 0x0000 }, - { 0x8702, 0xf864, 0x2000 }, - { 0x0702, 0xf863, 0x0000 }, - { 0x0702, 0xf865, 0x0000 }, - { 0x8702, 0xf86e, 0x4000 }, - { 0x8702, 0xf86a, 0x3000 }, - { 0x8702, 0xf868, 0x2000 }, - { 0x0702, 0xf867, 0x0000 }, - { 0x0702, 0xf869, 0x0000 }, - { 0x8702, 0xf86c, 0x2000 }, - { 0x0702, 0xf86b, 0x0000 }, - { 0x0702, 0xf86d, 0x0000 }, - { 0x8702, 0xf872, 0x3000 }, - { 0x8702, 0xf870, 0x2000 }, - { 0x0702, 0xf86f, 0x0000 }, - { 0x0702, 0xf871, 0x0000 }, - { 0x8702, 0xf874, 0x2000 }, - { 0x0702, 0xf873, 0x0000 }, - { 0x0702, 0xf875, 0x0000 }, - { 0x8702, 0xf976, 0x9000 }, - { 0x8702, 0xf8f6, 0x8000 }, - { 0x8702, 0xf8b6, 0x7000 }, - { 0x8702, 0xf896, 0x6000 }, - { 0x8702, 0xf886, 0x5000 }, - { 0x8702, 0xf87e, 0x4000 }, - { 0x8702, 0xf87a, 0x3000 }, - { 0x8702, 0xf878, 0x2000 }, - { 0x0702, 0xf877, 0x0000 }, - { 0x0702, 0xf879, 0x0000 }, - { 0x8702, 0xf87c, 0x2000 }, - { 0x0702, 0xf87b, 0x0000 }, - { 0x0702, 0xf87d, 0x0000 }, - { 0x8702, 0xf882, 0x3000 }, - { 0x8702, 0xf880, 0x2000 }, - { 0x0702, 0xf87f, 0x0000 }, - { 0x0702, 0xf881, 0x0000 }, - { 0x8702, 0xf884, 0x2000 }, - { 0x0702, 0xf883, 0x0000 }, - { 0x0702, 0xf885, 0x0000 }, - { 0x8702, 0xf88e, 0x4000 }, - { 0x8702, 0xf88a, 0x3000 }, - { 0x8702, 0xf888, 0x2000 }, - { 0x0702, 0xf887, 0x0000 }, - { 0x0702, 0xf889, 0x0000 }, - { 0x8702, 0xf88c, 0x2000 }, - { 0x0702, 0xf88b, 0x0000 }, - { 0x0702, 0xf88d, 0x0000 }, - { 0x8702, 0xf892, 0x3000 }, - { 0x8702, 0xf890, 0x2000 }, - { 0x0702, 0xf88f, 0x0000 }, - { 0x0702, 0xf891, 0x0000 }, - { 0x8702, 0xf894, 0x2000 }, - { 0x0702, 0xf893, 0x0000 }, - { 0x0702, 0xf895, 0x0000 }, - { 0x8702, 0xf8a6, 0x5000 }, - { 0x8702, 0xf89e, 0x4000 }, - { 0x8702, 0xf89a, 0x3000 }, - { 0x8702, 0xf898, 0x2000 }, - { 0x0702, 0xf897, 0x0000 }, - { 0x0702, 0xf899, 0x0000 }, - { 0x8702, 0xf89c, 0x2000 }, - { 0x0702, 0xf89b, 0x0000 }, - { 0x0702, 0xf89d, 0x0000 }, - { 0x8702, 0xf8a2, 0x3000 }, - { 0x8702, 0xf8a0, 0x2000 }, - { 0x0702, 0xf89f, 0x0000 }, - { 0x0702, 0xf8a1, 0x0000 }, - { 0x8702, 0xf8a4, 0x2000 }, - { 0x0702, 0xf8a3, 0x0000 }, - { 0x0702, 0xf8a5, 0x0000 }, - { 0x8702, 0xf8ae, 0x4000 }, - { 0x8702, 0xf8aa, 0x3000 }, - { 0x8702, 0xf8a8, 0x2000 }, - { 0x0702, 0xf8a7, 0x0000 }, - { 0x0702, 0xf8a9, 0x0000 }, - { 0x8702, 0xf8ac, 0x2000 }, - { 0x0702, 0xf8ab, 0x0000 }, - { 0x0702, 0xf8ad, 0x0000 }, - { 0x8702, 0xf8b2, 0x3000 }, - { 0x8702, 0xf8b0, 0x2000 }, - { 0x0702, 0xf8af, 0x0000 }, - { 0x0702, 0xf8b1, 0x0000 }, - { 0x8702, 0xf8b4, 0x2000 }, - { 0x0702, 0xf8b3, 0x0000 }, - { 0x0702, 0xf8b5, 0x0000 }, - { 0x8702, 0xf8d6, 0x6000 }, - { 0x8702, 0xf8c6, 0x5000 }, - { 0x8702, 0xf8be, 0x4000 }, - { 0x8702, 0xf8ba, 0x3000 }, - { 0x8702, 0xf8b8, 0x2000 }, - { 0x0702, 0xf8b7, 0x0000 }, - { 0x0702, 0xf8b9, 0x0000 }, - { 0x8702, 0xf8bc, 0x2000 }, - { 0x0702, 0xf8bb, 0x0000 }, - { 0x0702, 0xf8bd, 0x0000 }, - { 0x8702, 0xf8c2, 0x3000 }, - { 0x8702, 0xf8c0, 0x2000 }, - { 0x0702, 0xf8bf, 0x0000 }, - { 0x0702, 0xf8c1, 0x0000 }, - { 0x8702, 0xf8c4, 0x2000 }, - { 0x0702, 0xf8c3, 0x0000 }, - { 0x0702, 0xf8c5, 0x0000 }, - { 0x8702, 0xf8ce, 0x4000 }, - { 0x8702, 0xf8ca, 0x3000 }, - { 0x8702, 0xf8c8, 0x2000 }, - { 0x0702, 0xf8c7, 0x0000 }, - { 0x0702, 0xf8c9, 0x0000 }, - { 0x8702, 0xf8cc, 0x2000 }, - { 0x0702, 0xf8cb, 0x0000 }, - { 0x0702, 0xf8cd, 0x0000 }, - { 0x8702, 0xf8d2, 0x3000 }, - { 0x8702, 0xf8d0, 0x2000 }, - { 0x0702, 0xf8cf, 0x0000 }, - { 0x0702, 0xf8d1, 0x0000 }, - { 0x8702, 0xf8d4, 0x2000 }, - { 0x0702, 0xf8d3, 0x0000 }, - { 0x0702, 0xf8d5, 0x0000 }, - { 0x8702, 0xf8e6, 0x5000 }, - { 0x8702, 0xf8de, 0x4000 }, - { 0x8702, 0xf8da, 0x3000 }, - { 0x8702, 0xf8d8, 0x2000 }, - { 0x0702, 0xf8d7, 0x0000 }, - { 0x0702, 0xf8d9, 0x0000 }, - { 0x8702, 0xf8dc, 0x2000 }, - { 0x0702, 0xf8db, 0x0000 }, - { 0x0702, 0xf8dd, 0x0000 }, - { 0x8702, 0xf8e2, 0x3000 }, - { 0x8702, 0xf8e0, 0x2000 }, - { 0x0702, 0xf8df, 0x0000 }, - { 0x0702, 0xf8e1, 0x0000 }, - { 0x8702, 0xf8e4, 0x2000 }, - { 0x0702, 0xf8e3, 0x0000 }, - { 0x0702, 0xf8e5, 0x0000 }, - { 0x8702, 0xf8ee, 0x4000 }, - { 0x8702, 0xf8ea, 0x3000 }, - { 0x8702, 0xf8e8, 0x2000 }, - { 0x0702, 0xf8e7, 0x0000 }, - { 0x0702, 0xf8e9, 0x0000 }, - { 0x8702, 0xf8ec, 0x2000 }, - { 0x0702, 0xf8eb, 0x0000 }, - { 0x0702, 0xf8ed, 0x0000 }, - { 0x8702, 0xf8f2, 0x3000 }, - { 0x8702, 0xf8f0, 0x2000 }, - { 0x0702, 0xf8ef, 0x0000 }, - { 0x0702, 0xf8f1, 0x0000 }, - { 0x8702, 0xf8f4, 0x2000 }, - { 0x0702, 0xf8f3, 0x0000 }, - { 0x0702, 0xf8f5, 0x0000 }, - { 0x8702, 0xf936, 0x7000 }, - { 0x8702, 0xf916, 0x6000 }, - { 0x8702, 0xf906, 0x5000 }, - { 0x8702, 0xf8fe, 0x4000 }, - { 0x8702, 0xf8fa, 0x3000 }, - { 0x8702, 0xf8f8, 0x2000 }, - { 0x0702, 0xf8f7, 0x0000 }, - { 0x0702, 0xf8f9, 0x0000 }, - { 0x8702, 0xf8fc, 0x2000 }, - { 0x0702, 0xf8fb, 0x0000 }, - { 0x0702, 0xf8fd, 0x0000 }, - { 0x8702, 0xf902, 0x3000 }, - { 0x8702, 0xf900, 0x2000 }, - { 0x0702, 0xf8ff, 0x0000 }, - { 0x0702, 0xf901, 0x0000 }, - { 0x8702, 0xf904, 0x2000 }, - { 0x0702, 0xf903, 0x0000 }, - { 0x0702, 0xf905, 0x0000 }, - { 0x8702, 0xf90e, 0x4000 }, - { 0x8702, 0xf90a, 0x3000 }, - { 0x8702, 0xf908, 0x2000 }, - { 0x0702, 0xf907, 0x0000 }, - { 0x0702, 0xf909, 0x0000 }, - { 0x8702, 0xf90c, 0x2000 }, - { 0x0702, 0xf90b, 0x0000 }, - { 0x0702, 0xf90d, 0x0000 }, - { 0x8702, 0xf912, 0x3000 }, - { 0x8702, 0xf910, 0x2000 }, - { 0x0702, 0xf90f, 0x0000 }, - { 0x0702, 0xf911, 0x0000 }, - { 0x8702, 0xf914, 0x2000 }, - { 0x0702, 0xf913, 0x0000 }, - { 0x0702, 0xf915, 0x0000 }, - { 0x8702, 0xf926, 0x5000 }, - { 0x8702, 0xf91e, 0x4000 }, - { 0x8702, 0xf91a, 0x3000 }, - { 0x8702, 0xf918, 0x2000 }, - { 0x0702, 0xf917, 0x0000 }, - { 0x0702, 0xf919, 0x0000 }, - { 0x8702, 0xf91c, 0x2000 }, - { 0x0702, 0xf91b, 0x0000 }, - { 0x0702, 0xf91d, 0x0000 }, - { 0x8702, 0xf922, 0x3000 }, - { 0x8702, 0xf920, 0x2000 }, - { 0x0702, 0xf91f, 0x0000 }, - { 0x0702, 0xf921, 0x0000 }, - { 0x8702, 0xf924, 0x2000 }, - { 0x0702, 0xf923, 0x0000 }, - { 0x0702, 0xf925, 0x0000 }, - { 0x8702, 0xf92e, 0x4000 }, - { 0x8702, 0xf92a, 0x3000 }, - { 0x8702, 0xf928, 0x2000 }, - { 0x0702, 0xf927, 0x0000 }, - { 0x0702, 0xf929, 0x0000 }, - { 0x8702, 0xf92c, 0x2000 }, - { 0x0702, 0xf92b, 0x0000 }, - { 0x0702, 0xf92d, 0x0000 }, - { 0x8702, 0xf932, 0x3000 }, - { 0x8702, 0xf930, 0x2000 }, - { 0x0702, 0xf92f, 0x0000 }, - { 0x0702, 0xf931, 0x0000 }, - { 0x8702, 0xf934, 0x2000 }, - { 0x0702, 0xf933, 0x0000 }, - { 0x0702, 0xf935, 0x0000 }, - { 0x8702, 0xf956, 0x6000 }, - { 0x8702, 0xf946, 0x5000 }, - { 0x8702, 0xf93e, 0x4000 }, - { 0x8702, 0xf93a, 0x3000 }, - { 0x8702, 0xf938, 0x2000 }, - { 0x0702, 0xf937, 0x0000 }, - { 0x0702, 0xf939, 0x0000 }, - { 0x8702, 0xf93c, 0x2000 }, - { 0x0702, 0xf93b, 0x0000 }, - { 0x0702, 0xf93d, 0x0000 }, - { 0x8702, 0xf942, 0x3000 }, - { 0x8702, 0xf940, 0x2000 }, - { 0x0702, 0xf93f, 0x0000 }, - { 0x0702, 0xf941, 0x0000 }, - { 0x8702, 0xf944, 0x2000 }, - { 0x0702, 0xf943, 0x0000 }, - { 0x0702, 0xf945, 0x0000 }, - { 0x8702, 0xf94e, 0x4000 }, - { 0x8702, 0xf94a, 0x3000 }, - { 0x8702, 0xf948, 0x2000 }, - { 0x0702, 0xf947, 0x0000 }, - { 0x0702, 0xf949, 0x0000 }, - { 0x8702, 0xf94c, 0x2000 }, - { 0x0702, 0xf94b, 0x0000 }, - { 0x0702, 0xf94d, 0x0000 }, - { 0x8702, 0xf952, 0x3000 }, - { 0x8702, 0xf950, 0x2000 }, - { 0x0702, 0xf94f, 0x0000 }, - { 0x0702, 0xf951, 0x0000 }, - { 0x8702, 0xf954, 0x2000 }, - { 0x0702, 0xf953, 0x0000 }, - { 0x0702, 0xf955, 0x0000 }, - { 0x8702, 0xf966, 0x5000 }, - { 0x8702, 0xf95e, 0x4000 }, - { 0x8702, 0xf95a, 0x3000 }, - { 0x8702, 0xf958, 0x2000 }, - { 0x0702, 0xf957, 0x0000 }, - { 0x0702, 0xf959, 0x0000 }, - { 0x8702, 0xf95c, 0x2000 }, - { 0x0702, 0xf95b, 0x0000 }, - { 0x0702, 0xf95d, 0x0000 }, - { 0x8702, 0xf962, 0x3000 }, - { 0x8702, 0xf960, 0x2000 }, - { 0x0702, 0xf95f, 0x0000 }, - { 0x0702, 0xf961, 0x0000 }, - { 0x8702, 0xf964, 0x2000 }, - { 0x0702, 0xf963, 0x0000 }, - { 0x0702, 0xf965, 0x0000 }, - { 0x8702, 0xf96e, 0x4000 }, - { 0x8702, 0xf96a, 0x3000 }, - { 0x8702, 0xf968, 0x2000 }, - { 0x0702, 0xf967, 0x0000 }, - { 0x0702, 0xf969, 0x0000 }, - { 0x8702, 0xf96c, 0x2000 }, - { 0x0702, 0xf96b, 0x0000 }, - { 0x0702, 0xf96d, 0x0000 }, - { 0x8702, 0xf972, 0x3000 }, - { 0x8702, 0xf970, 0x2000 }, - { 0x0702, 0xf96f, 0x0000 }, - { 0x0702, 0xf971, 0x0000 }, - { 0x8702, 0xf974, 0x2000 }, - { 0x0702, 0xf973, 0x0000 }, - { 0x0702, 0xf975, 0x0000 }, - { 0x810e, 0x0077, 0x9000 }, - { 0x8702, 0xf9f6, 0x8000 }, - { 0x8702, 0xf9b6, 0x7000 }, - { 0x8702, 0xf996, 0x6000 }, - { 0x8702, 0xf986, 0x5000 }, - { 0x8702, 0xf97e, 0x4000 }, - { 0x8702, 0xf97a, 0x3000 }, - { 0x8702, 0xf978, 0x2000 }, - { 0x0702, 0xf977, 0x0000 }, - { 0x0702, 0xf979, 0x0000 }, - { 0x8702, 0xf97c, 0x2000 }, - { 0x0702, 0xf97b, 0x0000 }, - { 0x0702, 0xf97d, 0x0000 }, - { 0x8702, 0xf982, 0x3000 }, - { 0x8702, 0xf980, 0x2000 }, - { 0x0702, 0xf97f, 0x0000 }, - { 0x0702, 0xf981, 0x0000 }, - { 0x8702, 0xf984, 0x2000 }, - { 0x0702, 0xf983, 0x0000 }, - { 0x0702, 0xf985, 0x0000 }, - { 0x8702, 0xf98e, 0x4000 }, - { 0x8702, 0xf98a, 0x3000 }, - { 0x8702, 0xf988, 0x2000 }, - { 0x0702, 0xf987, 0x0000 }, - { 0x0702, 0xf989, 0x0000 }, - { 0x8702, 0xf98c, 0x2000 }, - { 0x0702, 0xf98b, 0x0000 }, - { 0x0702, 0xf98d, 0x0000 }, - { 0x8702, 0xf992, 0x3000 }, - { 0x8702, 0xf990, 0x2000 }, - { 0x0702, 0xf98f, 0x0000 }, - { 0x0702, 0xf991, 0x0000 }, - { 0x8702, 0xf994, 0x2000 }, - { 0x0702, 0xf993, 0x0000 }, - { 0x0702, 0xf995, 0x0000 }, - { 0x8702, 0xf9a6, 0x5000 }, - { 0x8702, 0xf99e, 0x4000 }, - { 0x8702, 0xf99a, 0x3000 }, - { 0x8702, 0xf998, 0x2000 }, - { 0x0702, 0xf997, 0x0000 }, - { 0x0702, 0xf999, 0x0000 }, - { 0x8702, 0xf99c, 0x2000 }, - { 0x0702, 0xf99b, 0x0000 }, - { 0x0702, 0xf99d, 0x0000 }, - { 0x8702, 0xf9a2, 0x3000 }, - { 0x8702, 0xf9a0, 0x2000 }, - { 0x0702, 0xf99f, 0x0000 }, - { 0x0702, 0xf9a1, 0x0000 }, - { 0x8702, 0xf9a4, 0x2000 }, - { 0x0702, 0xf9a3, 0x0000 }, - { 0x0702, 0xf9a5, 0x0000 }, - { 0x8702, 0xf9ae, 0x4000 }, - { 0x8702, 0xf9aa, 0x3000 }, - { 0x8702, 0xf9a8, 0x2000 }, - { 0x0702, 0xf9a7, 0x0000 }, - { 0x0702, 0xf9a9, 0x0000 }, - { 0x8702, 0xf9ac, 0x2000 }, - { 0x0702, 0xf9ab, 0x0000 }, - { 0x0702, 0xf9ad, 0x0000 }, - { 0x8702, 0xf9b2, 0x3000 }, - { 0x8702, 0xf9b0, 0x2000 }, - { 0x0702, 0xf9af, 0x0000 }, - { 0x0702, 0xf9b1, 0x0000 }, - { 0x8702, 0xf9b4, 0x2000 }, - { 0x0702, 0xf9b3, 0x0000 }, - { 0x0702, 0xf9b5, 0x0000 }, - { 0x8702, 0xf9d6, 0x6000 }, - { 0x8702, 0xf9c6, 0x5000 }, - { 0x8702, 0xf9be, 0x4000 }, - { 0x8702, 0xf9ba, 0x3000 }, - { 0x8702, 0xf9b8, 0x2000 }, - { 0x0702, 0xf9b7, 0x0000 }, - { 0x0702, 0xf9b9, 0x0000 }, - { 0x8702, 0xf9bc, 0x2000 }, - { 0x0702, 0xf9bb, 0x0000 }, - { 0x0702, 0xf9bd, 0x0000 }, - { 0x8702, 0xf9c2, 0x3000 }, - { 0x8702, 0xf9c0, 0x2000 }, - { 0x0702, 0xf9bf, 0x0000 }, - { 0x0702, 0xf9c1, 0x0000 }, - { 0x8702, 0xf9c4, 0x2000 }, - { 0x0702, 0xf9c3, 0x0000 }, - { 0x0702, 0xf9c5, 0x0000 }, - { 0x8702, 0xf9ce, 0x4000 }, - { 0x8702, 0xf9ca, 0x3000 }, - { 0x8702, 0xf9c8, 0x2000 }, - { 0x0702, 0xf9c7, 0x0000 }, - { 0x0702, 0xf9c9, 0x0000 }, - { 0x8702, 0xf9cc, 0x2000 }, - { 0x0702, 0xf9cb, 0x0000 }, - { 0x0702, 0xf9cd, 0x0000 }, - { 0x8702, 0xf9d2, 0x3000 }, - { 0x8702, 0xf9d0, 0x2000 }, - { 0x0702, 0xf9cf, 0x0000 }, - { 0x0702, 0xf9d1, 0x0000 }, - { 0x8702, 0xf9d4, 0x2000 }, - { 0x0702, 0xf9d3, 0x0000 }, - { 0x0702, 0xf9d5, 0x0000 }, - { 0x8702, 0xf9e6, 0x5000 }, - { 0x8702, 0xf9de, 0x4000 }, - { 0x8702, 0xf9da, 0x3000 }, - { 0x8702, 0xf9d8, 0x2000 }, - { 0x0702, 0xf9d7, 0x0000 }, - { 0x0702, 0xf9d9, 0x0000 }, - { 0x8702, 0xf9dc, 0x2000 }, - { 0x0702, 0xf9db, 0x0000 }, - { 0x0702, 0xf9dd, 0x0000 }, - { 0x8702, 0xf9e2, 0x3000 }, - { 0x8702, 0xf9e0, 0x2000 }, - { 0x0702, 0xf9df, 0x0000 }, - { 0x0702, 0xf9e1, 0x0000 }, - { 0x8702, 0xf9e4, 0x2000 }, - { 0x0702, 0xf9e3, 0x0000 }, - { 0x0702, 0xf9e5, 0x0000 }, - { 0x8702, 0xf9ee, 0x4000 }, - { 0x8702, 0xf9ea, 0x3000 }, - { 0x8702, 0xf9e8, 0x2000 }, - { 0x0702, 0xf9e7, 0x0000 }, - { 0x0702, 0xf9e9, 0x0000 }, - { 0x8702, 0xf9ec, 0x2000 }, - { 0x0702, 0xf9eb, 0x0000 }, - { 0x0702, 0xf9ed, 0x0000 }, - { 0x8702, 0xf9f2, 0x3000 }, - { 0x8702, 0xf9f0, 0x2000 }, - { 0x0702, 0xf9ef, 0x0000 }, - { 0x0702, 0xf9f1, 0x0000 }, - { 0x8702, 0xf9f4, 0x2000 }, - { 0x0702, 0xf9f3, 0x0000 }, - { 0x0702, 0xf9f5, 0x0000 }, - { 0x810e, 0x0037, 0x7000 }, - { 0x8702, 0xfa16, 0x6000 }, - { 0x8702, 0xfa06, 0x5000 }, - { 0x8702, 0xf9fe, 0x4000 }, - { 0x8702, 0xf9fa, 0x3000 }, - { 0x8702, 0xf9f8, 0x2000 }, - { 0x0702, 0xf9f7, 0x0000 }, - { 0x0702, 0xf9f9, 0x0000 }, - { 0x8702, 0xf9fc, 0x2000 }, - { 0x0702, 0xf9fb, 0x0000 }, - { 0x0702, 0xf9fd, 0x0000 }, - { 0x8702, 0xfa02, 0x3000 }, - { 0x8702, 0xfa00, 0x2000 }, - { 0x0702, 0xf9ff, 0x0000 }, - { 0x0702, 0xfa01, 0x0000 }, - { 0x8702, 0xfa04, 0x2000 }, - { 0x0702, 0xfa03, 0x0000 }, - { 0x0702, 0xfa05, 0x0000 }, - { 0x8702, 0xfa0e, 0x4000 }, - { 0x8702, 0xfa0a, 0x3000 }, - { 0x8702, 0xfa08, 0x2000 }, - { 0x0702, 0xfa07, 0x0000 }, - { 0x0702, 0xfa09, 0x0000 }, - { 0x8702, 0xfa0c, 0x2000 }, - { 0x0702, 0xfa0b, 0x0000 }, - { 0x0702, 0xfa0d, 0x0000 }, - { 0x8702, 0xfa12, 0x3000 }, - { 0x8702, 0xfa10, 0x2000 }, - { 0x0702, 0xfa0f, 0x0000 }, - { 0x0702, 0xfa11, 0x0000 }, - { 0x8702, 0xfa14, 0x2000 }, - { 0x0702, 0xfa13, 0x0000 }, - { 0x0702, 0xfa15, 0x0000 }, - { 0x810e, 0x0027, 0x5000 }, - { 0x810e, 0x0001, 0x4000 }, - { 0x8702, 0xfa1a, 0x3000 }, - { 0x8702, 0xfa18, 0x2000 }, - { 0x0702, 0xfa17, 0x0000 }, - { 0x0702, 0xfa19, 0x0000 }, - { 0x8702, 0xfa1c, 0x2000 }, - { 0x0702, 0xfa1b, 0x0000 }, - { 0x0702, 0xfa1d, 0x0000 }, - { 0x810e, 0x0023, 0x3000 }, - { 0x810e, 0x0021, 0x2000 }, - { 0x010e, 0x0020, 0x0000 }, - { 0x010e, 0x0022, 0x0000 }, - { 0x810e, 0x0025, 0x2000 }, - { 0x010e, 0x0024, 0x0000 }, - { 0x010e, 0x0026, 0x0000 }, - { 0x810e, 0x002f, 0x4000 }, - { 0x810e, 0x002b, 0x3000 }, - { 0x810e, 0x0029, 0x2000 }, - { 0x010e, 0x0028, 0x0000 }, - { 0x010e, 0x002a, 0x0000 }, - { 0x810e, 0x002d, 0x2000 }, - { 0x010e, 0x002c, 0x0000 }, - { 0x010e, 0x002e, 0x0000 }, - { 0x810e, 0x0033, 0x3000 }, - { 0x810e, 0x0031, 0x2000 }, - { 0x010e, 0x0030, 0x0000 }, - { 0x010e, 0x0032, 0x0000 }, - { 0x810e, 0x0035, 0x2000 }, - { 0x010e, 0x0034, 0x0000 }, - { 0x010e, 0x0036, 0x0000 }, - { 0x810e, 0x0057, 0x6000 }, - { 0x810e, 0x0047, 0x5000 }, - { 0x810e, 0x003f, 0x4000 }, - { 0x810e, 0x003b, 0x3000 }, - { 0x810e, 0x0039, 0x2000 }, - { 0x010e, 0x0038, 0x0000 }, - { 0x010e, 0x003a, 0x0000 }, - { 0x810e, 0x003d, 0x2000 }, - { 0x010e, 0x003c, 0x0000 }, - { 0x010e, 0x003e, 0x0000 }, - { 0x810e, 0x0043, 0x3000 }, - { 0x810e, 0x0041, 0x2000 }, - { 0x010e, 0x0040, 0x0000 }, - { 0x010e, 0x0042, 0x0000 }, - { 0x810e, 0x0045, 0x2000 }, - { 0x010e, 0x0044, 0x0000 }, - { 0x010e, 0x0046, 0x0000 }, - { 0x810e, 0x004f, 0x4000 }, - { 0x810e, 0x004b, 0x3000 }, - { 0x810e, 0x0049, 0x2000 }, - { 0x010e, 0x0048, 0x0000 }, - { 0x010e, 0x004a, 0x0000 }, - { 0x810e, 0x004d, 0x2000 }, - { 0x010e, 0x004c, 0x0000 }, - { 0x010e, 0x004e, 0x0000 }, - { 0x810e, 0x0053, 0x3000 }, - { 0x810e, 0x0051, 0x2000 }, - { 0x010e, 0x0050, 0x0000 }, - { 0x010e, 0x0052, 0x0000 }, - { 0x810e, 0x0055, 0x2000 }, - { 0x010e, 0x0054, 0x0000 }, - { 0x010e, 0x0056, 0x0000 }, - { 0x810e, 0x0067, 0x5000 }, - { 0x810e, 0x005f, 0x4000 }, - { 0x810e, 0x005b, 0x3000 }, - { 0x810e, 0x0059, 0x2000 }, - { 0x010e, 0x0058, 0x0000 }, - { 0x010e, 0x005a, 0x0000 }, - { 0x810e, 0x005d, 0x2000 }, - { 0x010e, 0x005c, 0x0000 }, - { 0x010e, 0x005e, 0x0000 }, - { 0x810e, 0x0063, 0x3000 }, - { 0x810e, 0x0061, 0x2000 }, - { 0x010e, 0x0060, 0x0000 }, - { 0x010e, 0x0062, 0x0000 }, - { 0x810e, 0x0065, 0x2000 }, - { 0x010e, 0x0064, 0x0000 }, - { 0x010e, 0x0066, 0x0000 }, - { 0x810e, 0x006f, 0x4000 }, - { 0x810e, 0x006b, 0x3000 }, - { 0x810e, 0x0069, 0x2000 }, - { 0x010e, 0x0068, 0x0000 }, - { 0x010e, 0x006a, 0x0000 }, - { 0x810e, 0x006d, 0x2000 }, - { 0x010e, 0x006c, 0x0000 }, - { 0x010e, 0x006e, 0x0000 }, - { 0x810e, 0x0073, 0x3000 }, - { 0x810e, 0x0071, 0x2000 }, - { 0x010e, 0x0070, 0x0000 }, - { 0x010e, 0x0072, 0x0000 }, - { 0x810e, 0x0075, 0x2000 }, - { 0x010e, 0x0074, 0x0000 }, - { 0x010e, 0x0076, 0x0000 }, - { 0x8c0e, 0x0177, 0x8000 }, - { 0x8c0e, 0x0137, 0x7000 }, - { 0x8c0e, 0x0117, 0x6000 }, - { 0x8c0e, 0x0107, 0x5000 }, - { 0x810e, 0x007f, 0x4000 }, - { 0x810e, 0x007b, 0x3000 }, - { 0x810e, 0x0079, 0x2000 }, - { 0x010e, 0x0078, 0x0000 }, - { 0x010e, 0x007a, 0x0000 }, - { 0x810e, 0x007d, 0x2000 }, - { 0x010e, 0x007c, 0x0000 }, - { 0x010e, 0x007e, 0x0000 }, - { 0x8c0e, 0x0103, 0x3000 }, - { 0x8c0e, 0x0101, 0x2000 }, - { 0x0c0e, 0x0100, 0x0000 }, - { 0x0c0e, 0x0102, 0x0000 }, - { 0x8c0e, 0x0105, 0x2000 }, - { 0x0c0e, 0x0104, 0x0000 }, - { 0x0c0e, 0x0106, 0x0000 }, - { 0x8c0e, 0x010f, 0x4000 }, - { 0x8c0e, 0x010b, 0x3000 }, - { 0x8c0e, 0x0109, 0x2000 }, - { 0x0c0e, 0x0108, 0x0000 }, - { 0x0c0e, 0x010a, 0x0000 }, - { 0x8c0e, 0x010d, 0x2000 }, - { 0x0c0e, 0x010c, 0x0000 }, - { 0x0c0e, 0x010e, 0x0000 }, - { 0x8c0e, 0x0113, 0x3000 }, - { 0x8c0e, 0x0111, 0x2000 }, - { 0x0c0e, 0x0110, 0x0000 }, - { 0x0c0e, 0x0112, 0x0000 }, - { 0x8c0e, 0x0115, 0x2000 }, - { 0x0c0e, 0x0114, 0x0000 }, - { 0x0c0e, 0x0116, 0x0000 }, - { 0x8c0e, 0x0127, 0x5000 }, - { 0x8c0e, 0x011f, 0x4000 }, - { 0x8c0e, 0x011b, 0x3000 }, - { 0x8c0e, 0x0119, 0x2000 }, - { 0x0c0e, 0x0118, 0x0000 }, - { 0x0c0e, 0x011a, 0x0000 }, - { 0x8c0e, 0x011d, 0x2000 }, - { 0x0c0e, 0x011c, 0x0000 }, - { 0x0c0e, 0x011e, 0x0000 }, - { 0x8c0e, 0x0123, 0x3000 }, - { 0x8c0e, 0x0121, 0x2000 }, - { 0x0c0e, 0x0120, 0x0000 }, - { 0x0c0e, 0x0122, 0x0000 }, - { 0x8c0e, 0x0125, 0x2000 }, - { 0x0c0e, 0x0124, 0x0000 }, - { 0x0c0e, 0x0126, 0x0000 }, - { 0x8c0e, 0x012f, 0x4000 }, - { 0x8c0e, 0x012b, 0x3000 }, - { 0x8c0e, 0x0129, 0x2000 }, - { 0x0c0e, 0x0128, 0x0000 }, - { 0x0c0e, 0x012a, 0x0000 }, - { 0x8c0e, 0x012d, 0x2000 }, - { 0x0c0e, 0x012c, 0x0000 }, - { 0x0c0e, 0x012e, 0x0000 }, - { 0x8c0e, 0x0133, 0x3000 }, - { 0x8c0e, 0x0131, 0x2000 }, - { 0x0c0e, 0x0130, 0x0000 }, - { 0x0c0e, 0x0132, 0x0000 }, - { 0x8c0e, 0x0135, 0x2000 }, - { 0x0c0e, 0x0134, 0x0000 }, - { 0x0c0e, 0x0136, 0x0000 }, - { 0x8c0e, 0x0157, 0x6000 }, - { 0x8c0e, 0x0147, 0x5000 }, - { 0x8c0e, 0x013f, 0x4000 }, - { 0x8c0e, 0x013b, 0x3000 }, - { 0x8c0e, 0x0139, 0x2000 }, - { 0x0c0e, 0x0138, 0x0000 }, - { 0x0c0e, 0x013a, 0x0000 }, - { 0x8c0e, 0x013d, 0x2000 }, - { 0x0c0e, 0x013c, 0x0000 }, - { 0x0c0e, 0x013e, 0x0000 }, - { 0x8c0e, 0x0143, 0x3000 }, - { 0x8c0e, 0x0141, 0x2000 }, - { 0x0c0e, 0x0140, 0x0000 }, - { 0x0c0e, 0x0142, 0x0000 }, - { 0x8c0e, 0x0145, 0x2000 }, - { 0x0c0e, 0x0144, 0x0000 }, - { 0x0c0e, 0x0146, 0x0000 }, - { 0x8c0e, 0x014f, 0x4000 }, - { 0x8c0e, 0x014b, 0x3000 }, - { 0x8c0e, 0x0149, 0x2000 }, - { 0x0c0e, 0x0148, 0x0000 }, - { 0x0c0e, 0x014a, 0x0000 }, - { 0x8c0e, 0x014d, 0x2000 }, - { 0x0c0e, 0x014c, 0x0000 }, - { 0x0c0e, 0x014e, 0x0000 }, - { 0x8c0e, 0x0153, 0x3000 }, - { 0x8c0e, 0x0151, 0x2000 }, - { 0x0c0e, 0x0150, 0x0000 }, - { 0x0c0e, 0x0152, 0x0000 }, - { 0x8c0e, 0x0155, 0x2000 }, - { 0x0c0e, 0x0154, 0x0000 }, - { 0x0c0e, 0x0156, 0x0000 }, - { 0x8c0e, 0x0167, 0x5000 }, - { 0x8c0e, 0x015f, 0x4000 }, - { 0x8c0e, 0x015b, 0x3000 }, - { 0x8c0e, 0x0159, 0x2000 }, - { 0x0c0e, 0x0158, 0x0000 }, - { 0x0c0e, 0x015a, 0x0000 }, - { 0x8c0e, 0x015d, 0x2000 }, - { 0x0c0e, 0x015c, 0x0000 }, - { 0x0c0e, 0x015e, 0x0000 }, - { 0x8c0e, 0x0163, 0x3000 }, - { 0x8c0e, 0x0161, 0x2000 }, - { 0x0c0e, 0x0160, 0x0000 }, - { 0x0c0e, 0x0162, 0x0000 }, - { 0x8c0e, 0x0165, 0x2000 }, - { 0x0c0e, 0x0164, 0x0000 }, - { 0x0c0e, 0x0166, 0x0000 }, - { 0x8c0e, 0x016f, 0x4000 }, - { 0x8c0e, 0x016b, 0x3000 }, - { 0x8c0e, 0x0169, 0x2000 }, - { 0x0c0e, 0x0168, 0x0000 }, - { 0x0c0e, 0x016a, 0x0000 }, - { 0x8c0e, 0x016d, 0x2000 }, - { 0x0c0e, 0x016c, 0x0000 }, - { 0x0c0e, 0x016e, 0x0000 }, - { 0x8c0e, 0x0173, 0x3000 }, - { 0x8c0e, 0x0171, 0x2000 }, - { 0x0c0e, 0x0170, 0x0000 }, - { 0x0c0e, 0x0172, 0x0000 }, - { 0x8c0e, 0x0175, 0x2000 }, - { 0x0c0e, 0x0174, 0x0000 }, - { 0x0c0e, 0x0176, 0x0000 }, - { 0x8c0e, 0x01b7, 0x7000 }, - { 0x8c0e, 0x0197, 0x6000 }, - { 0x8c0e, 0x0187, 0x5000 }, - { 0x8c0e, 0x017f, 0x4000 }, - { 0x8c0e, 0x017b, 0x3000 }, - { 0x8c0e, 0x0179, 0x2000 }, - { 0x0c0e, 0x0178, 0x0000 }, - { 0x0c0e, 0x017a, 0x0000 }, - { 0x8c0e, 0x017d, 0x2000 }, - { 0x0c0e, 0x017c, 0x0000 }, - { 0x0c0e, 0x017e, 0x0000 }, - { 0x8c0e, 0x0183, 0x3000 }, - { 0x8c0e, 0x0181, 0x2000 }, - { 0x0c0e, 0x0180, 0x0000 }, - { 0x0c0e, 0x0182, 0x0000 }, - { 0x8c0e, 0x0185, 0x2000 }, - { 0x0c0e, 0x0184, 0x0000 }, - { 0x0c0e, 0x0186, 0x0000 }, - { 0x8c0e, 0x018f, 0x4000 }, - { 0x8c0e, 0x018b, 0x3000 }, - { 0x8c0e, 0x0189, 0x2000 }, - { 0x0c0e, 0x0188, 0x0000 }, - { 0x0c0e, 0x018a, 0x0000 }, - { 0x8c0e, 0x018d, 0x2000 }, - { 0x0c0e, 0x018c, 0x0000 }, - { 0x0c0e, 0x018e, 0x0000 }, - { 0x8c0e, 0x0193, 0x3000 }, - { 0x8c0e, 0x0191, 0x2000 }, - { 0x0c0e, 0x0190, 0x0000 }, - { 0x0c0e, 0x0192, 0x0000 }, - { 0x8c0e, 0x0195, 0x2000 }, - { 0x0c0e, 0x0194, 0x0000 }, - { 0x0c0e, 0x0196, 0x0000 }, - { 0x8c0e, 0x01a7, 0x5000 }, - { 0x8c0e, 0x019f, 0x4000 }, - { 0x8c0e, 0x019b, 0x3000 }, - { 0x8c0e, 0x0199, 0x2000 }, - { 0x0c0e, 0x0198, 0x0000 }, - { 0x0c0e, 0x019a, 0x0000 }, - { 0x8c0e, 0x019d, 0x2000 }, - { 0x0c0e, 0x019c, 0x0000 }, - { 0x0c0e, 0x019e, 0x0000 }, - { 0x8c0e, 0x01a3, 0x3000 }, - { 0x8c0e, 0x01a1, 0x2000 }, - { 0x0c0e, 0x01a0, 0x0000 }, - { 0x0c0e, 0x01a2, 0x0000 }, - { 0x8c0e, 0x01a5, 0x2000 }, - { 0x0c0e, 0x01a4, 0x0000 }, - { 0x0c0e, 0x01a6, 0x0000 }, - { 0x8c0e, 0x01af, 0x4000 }, - { 0x8c0e, 0x01ab, 0x3000 }, - { 0x8c0e, 0x01a9, 0x2000 }, - { 0x0c0e, 0x01a8, 0x0000 }, - { 0x0c0e, 0x01aa, 0x0000 }, - { 0x8c0e, 0x01ad, 0x2000 }, - { 0x0c0e, 0x01ac, 0x0000 }, - { 0x0c0e, 0x01ae, 0x0000 }, - { 0x8c0e, 0x01b3, 0x3000 }, - { 0x8c0e, 0x01b1, 0x2000 }, - { 0x0c0e, 0x01b0, 0x0000 }, - { 0x0c0e, 0x01b2, 0x0000 }, - { 0x8c0e, 0x01b5, 0x2000 }, - { 0x0c0e, 0x01b4, 0x0000 }, - { 0x0c0e, 0x01b6, 0x0000 }, - { 0x8c0e, 0x01d7, 0x6000 }, - { 0x8c0e, 0x01c7, 0x5000 }, - { 0x8c0e, 0x01bf, 0x4000 }, - { 0x8c0e, 0x01bb, 0x3000 }, - { 0x8c0e, 0x01b9, 0x2000 }, - { 0x0c0e, 0x01b8, 0x0000 }, - { 0x0c0e, 0x01ba, 0x0000 }, - { 0x8c0e, 0x01bd, 0x2000 }, - { 0x0c0e, 0x01bc, 0x0000 }, - { 0x0c0e, 0x01be, 0x0000 }, - { 0x8c0e, 0x01c3, 0x3000 }, - { 0x8c0e, 0x01c1, 0x2000 }, - { 0x0c0e, 0x01c0, 0x0000 }, - { 0x0c0e, 0x01c2, 0x0000 }, - { 0x8c0e, 0x01c5, 0x2000 }, - { 0x0c0e, 0x01c4, 0x0000 }, - { 0x0c0e, 0x01c6, 0x0000 }, - { 0x8c0e, 0x01cf, 0x4000 }, - { 0x8c0e, 0x01cb, 0x3000 }, - { 0x8c0e, 0x01c9, 0x2000 }, - { 0x0c0e, 0x01c8, 0x0000 }, - { 0x0c0e, 0x01ca, 0x0000 }, - { 0x8c0e, 0x01cd, 0x2000 }, - { 0x0c0e, 0x01cc, 0x0000 }, - { 0x0c0e, 0x01ce, 0x0000 }, - { 0x8c0e, 0x01d3, 0x3000 }, - { 0x8c0e, 0x01d1, 0x2000 }, - { 0x0c0e, 0x01d0, 0x0000 }, - { 0x0c0e, 0x01d2, 0x0000 }, - { 0x8c0e, 0x01d5, 0x2000 }, - { 0x0c0e, 0x01d4, 0x0000 }, - { 0x0c0e, 0x01d6, 0x0000 }, - { 0x8c0e, 0x01e7, 0x5000 }, - { 0x8c0e, 0x01df, 0x4000 }, - { 0x8c0e, 0x01db, 0x3000 }, - { 0x8c0e, 0x01d9, 0x2000 }, - { 0x0c0e, 0x01d8, 0x0000 }, - { 0x0c0e, 0x01da, 0x0000 }, - { 0x8c0e, 0x01dd, 0x2000 }, - { 0x0c0e, 0x01dc, 0x0000 }, - { 0x0c0e, 0x01de, 0x0000 }, - { 0x8c0e, 0x01e3, 0x3000 }, - { 0x8c0e, 0x01e1, 0x2000 }, - { 0x0c0e, 0x01e0, 0x0000 }, - { 0x0c0e, 0x01e2, 0x0000 }, - { 0x8c0e, 0x01e5, 0x2000 }, - { 0x0c0e, 0x01e4, 0x0000 }, - { 0x0c0e, 0x01e6, 0x0000 }, - { 0x8c0e, 0x01ef, 0x4000 }, - { 0x8c0e, 0x01eb, 0x3000 }, - { 0x8c0e, 0x01e9, 0x2000 }, - { 0x0c0e, 0x01e8, 0x0000 }, - { 0x0c0e, 0x01ea, 0x0000 }, - { 0x8c0e, 0x01ed, 0x2000 }, - { 0x0c0e, 0x01ec, 0x0000 }, - { 0x0c0e, 0x01ee, 0x0000 }, - { 0x830f, 0xfffd, 0x2000 }, - { 0x030f, 0x0000, 0x0000 }, - { 0x0310, 0x0000, 0x1000 }, - { 0x0310, 0xfffd, 0x0000 }, -}; - - -/* In some environments, external functions have to be preceded by some magic. -In my world (Unix), they do not. Use a macro to deal with this. */ - -#ifndef EXPORT -#define EXPORT -#endif - - - -/************************************************* -* Search table and return data * -*************************************************/ - -/* Two values are returned: the category is ucp_C, ucp_L, etc. The detailed -character type is ucp_Lu, ucp_Nd, etc. - -Arguments: - c the character value - type_ptr the detailed character type is returned here - case_ptr for letters, the opposite case is returned here, if there - is one, else zero - -Returns: the character type category or -1 if not found -*/ - -EXPORT int -ucp_findchar(const int c, int *type_ptr, int *case_ptr) -{ -cnode *node = ucp_table; -register int cc = c; -int case_offset; - -for (;;) - { - register int d = node->f1 | ((node->f0 & f0_chhmask) << 16); - if (cc == d) break; - if (cc < d) - { - if ((node->f0 & f0_leftexists) == 0) return -1; - node ++; - } - else - { - register int roffset = (node->f2 & f2_rightmask) >> f2_rightshift; - if (roffset == 0) return -1; - node += 1 << (roffset - 1); - } - } - -switch ((*type_ptr = ((node->f0 & f0_typemask) >> f0_typeshift))) - { - case ucp_Cc: - case ucp_Cf: - case ucp_Cn: - case ucp_Co: - case ucp_Cs: - return ucp_C; - break; - - case ucp_Ll: - case ucp_Lu: - case_offset = node->f2 & f2_casemask; - if ((case_offset & 0x0100) != 0) case_offset |= 0xfffff000; - *case_ptr = (case_offset == 0)? 0 : cc + case_offset; - return ucp_L; - - case ucp_Lm: - case ucp_Lo: - case ucp_Lt: - *case_ptr = 0; - return ucp_L; - break; - - case ucp_Mc: - case ucp_Me: - case ucp_Mn: - return ucp_M; - break; - - case ucp_Nd: - case ucp_Nl: - case ucp_No: - return ucp_N; - break; - - case ucp_Pc: - case ucp_Pd: - case ucp_Pe: - case ucp_Pf: - case ucp_Pi: - case ucp_Ps: - case ucp_Po: - return ucp_P; - break; - - case ucp_Sc: - case ucp_Sk: - case ucp_Sm: - case ucp_So: - return ucp_S; - break; - - case ucp_Zl: - case ucp_Zp: - case ucp_Zs: - return ucp_Z; - break; - - default: /* "Should never happen" */ - return -1; - break; - } -} - -/* End of ucp_findchar.c */ - - -/* End of pcre_ucp_findchar.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains an internal function for validating UTF-8 character -strings. */ - - - - -/************************************************* -* Validate a UTF-8 string * -*************************************************/ - -/* This function is called (optionally) at the start of compile or match, to -validate that a supposed UTF-8 string is actually valid. The early check means -that subsequent code can assume it is dealing with a valid string. The check -can be turned off for maximum performance, but the consequences of supplying -an invalid string are then undefined. - -Arguments: - string points to the string - length length of string, or -1 if the string is zero-terminated - -Returns: < 0 if the string is a valid UTF-8 string - >= 0 otherwise; the value is the offset of the bad byte -*/ - -EXPORT int -_pcre_valid_utf8(const uschar *string, int length) -{ -register const uschar *p; - -if (length < 0) - { - for (p = string; *p != 0; p++); - length = p - string; - } - -for (p = string; length-- > 0; p++) - { - register int ab; - register int c = *p; - if (c < 128) continue; - if ((c & 0xc0) != 0xc0) return p - string; - ab = _pcre_utf8_table4[c & 0x3f]; /* Number of additional bytes */ - if (length < ab) return p - string; - length -= ab; - - /* Check top bits in the second byte */ - if ((*(++p) & 0xc0) != 0x80) return p - string; - - /* Check for overlong sequences for each different length */ - switch (ab) - { - /* Check for xx00 000x */ - case 1: - if ((c & 0x3e) == 0) return p - string; - continue; /* We know there aren't any more bytes to check */ - - /* Check for 1110 0000, xx0x xxxx */ - case 2: - if (c == 0xe0 && (*p & 0x20) == 0) return p - string; - break; - - /* Check for 1111 0000, xx00 xxxx */ - case 3: - if (c == 0xf0 && (*p & 0x30) == 0) return p - string; - break; - - /* Check for 1111 1000, xx00 0xxx */ - case 4: - if (c == 0xf8 && (*p & 0x38) == 0) return p - string; - break; - - /* Check for leading 0xfe or 0xff, and then for 1111 1100, xx00 00xx */ - case 5: - if (c == 0xfe || c == 0xff || - (c == 0xfc && (*p & 0x3c) == 0)) return p - string; - break; - } - - /* Check for valid bytes after the 2nd, if any; all must start 10 */ - while (--ab > 0) - { - if ((*(++p) & 0xc0) != 0x80) return p - string; - } - } - -return -1; -} - -/* End of pcre_valid_utf8.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains the external function pcre_version(), which returns a -string that identifies the PCRE version that is in use. */ - - - - -/************************************************* -* Return version string * -*************************************************/ - -#define STRING(a) # a -#define XSTRING(s) STRING(s) - -EXPORT const char * -pcre_version(void) -{ -return XSTRING(PCRE_MAJOR) "." XSTRING(PCRE_MINOR) " " XSTRING(PCRE_DATE); -} - -/* End of pcre_version.c */ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - Copyright (c) 1997-2005 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------ -*/ - - -/* This module contains an internal function that is used to match an extended -class (one that contains characters whose values are > 255). It is used by both -pcre_exec() and pcre_def_exec(). */ - - - - -/************************************************* -* Match character against an XCLASS * -*************************************************/ - -/* This function is called to match a character against an extended class that -might contain values > 255. - -Arguments: - c the character - data points to the flag byte of the XCLASS data - -Returns: TRUE if character matches, else FALSE -*/ - -EXPORT BOOL -_pcre_xclass(int c, const uschar *data) -{ -int t; -BOOL negated = (*data & XCL_NOT) != 0; - -/* Character values < 256 are matched against a bitmap, if one is present. If -not, we still carry on, because there may be ranges that start below 256 in the -additional data. */ - -if (c < 256) - { - if ((*data & XCL_MAP) != 0 && (data[1 + c/8] & (1 << (c&7))) != 0) - return !negated; /* char found */ - } - -/* First skip the bit map if present. Then match against the list of Unicode -properties or large chars or ranges that end with a large char. We won't ever -encounter XCL_PROP or XCL_NOTPROP when UCP support is not compiled. */ - -if ((*data++ & XCL_MAP) != 0) data += 32; - -while ((t = *data++) != XCL_END) - { - int x, y; - if (t == XCL_SINGLE) - { - GETCHARINC(x, data); - if (c == x) return !negated; - } - else if (t == XCL_RANGE) - { - GETCHARINC(x, data); - GETCHARINC(y, data); - if (c >= x && c <= y) return !negated; - } - -#ifdef SUPPORT_UCP - else /* XCL_PROP & XCL_NOTPROP */ - { - int chartype, othercase; - int rqdtype = *data++; - int category = ucp_findchar(c, &chartype, &othercase); - if (rqdtype >= 128) - { - if ((rqdtype - 128 == category) == (t == XCL_PROP)) return !negated; - } - else - { - if ((rqdtype == chartype) == (t == XCL_PROP)) return !negated; - } - } -#endif /* SUPPORT_UCP */ - } - -return negated; /* char did not match */ -} - -/* End of pcre_xclass.c */ diff --git a/lib/oldwrappers/postgres.nim b/lib/oldwrappers/postgres.nim deleted file mode 100755 index 4b43333d7..000000000 --- a/lib/oldwrappers/postgres.nim +++ /dev/null @@ -1,386 +0,0 @@ -# This module contains the definitions for structures and externs for -# functions used by frontend postgres applications. It is based on -# Postgresql's libpq-fe.h. -# -# It is for postgreSQL version 7.4 and higher with support for the v3.0 -# connection-protocol. -# - -{.deadCodeElim: on.} - -when defined(windows): - const dllName = "pq.dll" -elif defined(macosx): - const dllName = "libpq.dylib" -else: - const dllName = "libpq.so(.5|)" - -type - POid* = ptr Oid - Oid* = int32 - -const - ERROR_MSG_LENGTH* = 4096 - CMDSTATUS_LEN* = 40 - -type - TSockAddr* = array[1..112, int8] - TPGresAttDesc*{.pure, final.} = object - name*: cstring - adtid*: Oid - adtsize*: int - - PPGresAttDesc* = ptr TPGresAttDesc - PPPGresAttDesc* = ptr PPGresAttDesc - TPGresAttValue*{.pure, final.} = object - length*: int32 - value*: cstring - - PPGresAttValue* = ptr TPGresAttValue - PPPGresAttValue* = ptr PPGresAttValue - PExecStatusType* = ptr TExecStatusType - TExecStatusType* = enum - PGRES_EMPTY_QUERY = 0, PGRES_COMMAND_OK, PGRES_TUPLES_OK, PGRES_COPY_OUT, - PGRES_COPY_IN, PGRES_BAD_RESPONSE, PGRES_NONFATAL_ERROR, PGRES_FATAL_ERROR - TPGlobjfuncs*{.pure, final.} = object - fn_lo_open*: Oid - fn_lo_close*: Oid - fn_lo_creat*: Oid - fn_lo_unlink*: Oid - fn_lo_lseek*: Oid - fn_lo_tell*: Oid - fn_lo_read*: Oid - fn_lo_write*: Oid - - PPGlobjfuncs* = ptr TPGlobjfuncs - PConnStatusType* = ptr TConnStatusType - TConnStatusType* = enum - CONNECTION_OK, CONNECTION_BAD, CONNECTION_STARTED, CONNECTION_MADE, - CONNECTION_AWAITING_RESPONSE, CONNECTION_AUTH_OK, CONNECTION_SETENV, - CONNECTION_SSL_STARTUP, CONNECTION_NEEDED - TPGconn* {.pure, final.} = object - pghost*: cstring - pgtty*: cstring - pgport*: cstring - pgoptions*: cstring - dbName*: cstring - status*: TConnStatusType - errorMessage*: array[0..(ERROR_MSG_LENGTH) - 1, char] - Pfin*: TFile - Pfout*: TFile - Pfdebug*: TFile - sock*: int32 - laddr*: TSockAddr - raddr*: TSockAddr - salt*: array[0..(2) - 1, char] - asyncNotifyWaiting*: int32 - notifyList*: pointer - pguser*: cstring - pgpass*: cstring - lobjfuncs*: PPGlobjfuncs - - PPGconn* = ptr TPGconn - TPGresult* {.pure, final.} = object - ntups*: int32 - numAttributes*: int32 - attDescs*: PPGresAttDesc - tuples*: PPPGresAttValue - tupArrSize*: int32 - resultStatus*: TExecStatusType - cmdStatus*: array[0..(CMDSTATUS_LEN) - 1, char] - binary*: int32 - conn*: PPGconn - - PPGresult* = ptr TPGresult - PPostgresPollingStatusType* = ptr PostgresPollingStatusType - PostgresPollingStatusType* = enum - PGRES_POLLING_FAILED = 0, PGRES_POLLING_READING, PGRES_POLLING_WRITING, - PGRES_POLLING_OK, PGRES_POLLING_ACTIVE - PPGTransactionStatusType* = ptr PGTransactionStatusType - PGTransactionStatusType* = enum - PQTRANS_IDLE, PQTRANS_ACTIVE, PQTRANS_INTRANS, PQTRANS_INERROR, - PQTRANS_UNKNOWN - PPGVerbosity* = ptr PGVerbosity - PGVerbosity* = enum - PQERRORS_TERSE, PQERRORS_DEFAULT, PQERRORS_VERBOSE - PpgNotify* = ptr pgNotify - pgNotify* {.pure, final.} = object - relname*: cstring - be_pid*: int32 - extra*: cstring - - PQnoticeReceiver* = proc (arg: pointer, res: PPGresult){.cdecl.} - PQnoticeProcessor* = proc (arg: pointer, message: cstring){.cdecl.} - Ppqbool* = ptr pqbool - pqbool* = char - P_PQprintOpt* = ptr PQprintOpt - PQprintOpt* {.pure, final.} = object - header*: pqbool - align*: pqbool - standard*: pqbool - html3*: pqbool - expanded*: pqbool - pager*: pqbool - fieldSep*: cstring - tableOpt*: cstring - caption*: cstring - fieldName*: ptr cstring - - P_PQconninfoOption* = ptr PQconninfoOption - PQconninfoOption* {.pure, final.} = object - keyword*: cstring - envvar*: cstring - compiled*: cstring - val*: cstring - label*: cstring - dispchar*: cstring - dispsize*: int32 - - PPQArgBlock* = ptr PQArgBlock - PQArgBlock* {.pure, final.} = object - length*: int32 - isint*: int32 - p*: pointer - -proc PQconnectStart*(conninfo: cstring): PPGconn{.cdecl, dynlib: dllName, - importc: "PQconnectStart".} -proc PQconnectPoll*(conn: PPGconn): PostgresPollingStatusType{.cdecl, - dynlib: dllName, importc: "PQconnectPoll".} - -proc PQconnectdb*(conninfo: cstring): PPGconn{.cdecl, dynlib: dllName, - importc: "PQconnectdb".} -proc PQsetdbLogin*(pghost: cstring, pgport: cstring, pgoptions: cstring, - pgtty: cstring, dbName: cstring, login: cstring, pwd: cstring): PPGconn{. - cdecl, dynlib: dllName, importc: "PQsetdbLogin".} - -proc PQsetdb*(M_PGHOST, M_PGPORT, M_PGOPT, M_PGTTY, M_DBNAME: cstring): ppgconn - -proc PQfinish*(conn: PPGconn){.cdecl, dynlib: dllName, importc: "PQfinish".} - -proc PQconndefaults*(): PPQconninfoOption{.cdecl, dynlib: dllName, - importc: "PQconndefaults".} - -proc PQconninfoFree*(connOptions: PPQconninfoOption){.cdecl, dynlib: dllName, - importc: "PQconninfoFree".} - -proc PQresetStart*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQresetStart".} -proc PQresetPoll*(conn: PPGconn): PostgresPollingStatusType{.cdecl, - dynlib: dllName, importc: "PQresetPoll".} - -proc PQreset*(conn: PPGconn){.cdecl, dynlib: dllName, importc: "PQreset".} - -proc PQrequestCancel*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQrequestCancel".} - -proc PQdb*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, importc: "PQdb".} -proc PQuser*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, importc: "PQuser".} -proc PQpass*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, importc: "PQpass".} -proc PQhost*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, importc: "PQhost".} -proc PQport*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, importc: "PQport".} -proc PQtty*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, importc: "PQtty".} -proc PQoptions*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, - importc: "PQoptions".} -proc PQstatus*(conn: PPGconn): TConnStatusType{.cdecl, dynlib: dllName, - importc: "PQstatus".} -proc PQtransactionStatus*(conn: PPGconn): PGTransactionStatusType{.cdecl, - dynlib: dllName, importc: "PQtransactionStatus".} -proc PQparameterStatus*(conn: PPGconn, paramName: cstring): cstring{.cdecl, - dynlib: dllName, importc: "PQparameterStatus".} -proc PQprotocolVersion*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQprotocolVersion".} -proc PQerrorMessage*(conn: PPGconn): cstring{.cdecl, dynlib: dllName, - importc: "PQerrorMessage".} -proc PQsocket*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQsocket".} -proc PQbackendPID*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQbackendPID".} -proc PQclientEncoding*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQclientEncoding".} -proc PQsetClientEncoding*(conn: PPGconn, encoding: cstring): int32{.cdecl, - dynlib: dllName, importc: "PQsetClientEncoding".} -when defined(USE_SSL): - # Get the SSL structure associated with a connection - proc PQgetssl*(conn: PPGconn): PSSL{.cdecl, dynlib: dllName, - importc: "PQgetssl".} - -proc PQsetErrorVerbosity*(conn: PPGconn, verbosity: PGVerbosity): PGVerbosity{. - cdecl, dynlib: dllName, importc: "PQsetErrorVerbosity".} - -proc PQtrace*(conn: PPGconn, debug_port: TFile){.cdecl, dynlib: dllName, - importc: "PQtrace".} -proc PQuntrace*(conn: PPGconn){.cdecl, dynlib: dllName, importc: "PQuntrace".} - -proc PQsetNoticeReceiver*(conn: PPGconn, theProc: PQnoticeReceiver, - arg: pointer): PQnoticeReceiver {. - cdecl, dynlib: dllName, importc: "PQsetNoticeReceiver".} -proc PQsetNoticeProcessor*(conn: PPGconn, theProc: PQnoticeProcessor, - arg: pointer): PQnoticeProcessor{. - cdecl, dynlib: dllName, importc: "PQsetNoticeProcessor".} - -proc PQexec*(conn: PPGconn, query: cstring): PPGresult{.cdecl, dynlib: dllName, - importc: "PQexec".} -proc PQexecParams*(conn: PPGconn, command: cstring, nParams: int32, - paramTypes: POid, paramValues: cstringArray, - paramLengths, paramFormats: ptr int32, - resultFormat: int32): PPGresult {.cdecl, dynlib: dllName, - importc: "PQexecParams".} -proc PQexecPrepared*(conn: PPGconn, stmtName: cstring, nParams: int32, - paramValues: cstringArray, - paramLengths, paramFormats: ptr int32, - resultFormat: int32): PPGresult {. - cdecl, dynlib: dllName, importc: "PQexecPrepared".} - -proc PQsendQuery*(conn: PPGconn, query: cstring): int32{.cdecl, dynlib: dllName, - importc: "PQsendQuery".} -proc PQsendQueryParams*(conn: PPGconn, command: cstring, nParams: int32, - paramTypes: POid, paramValues: cstringArray, - paramLengths, paramFormats: ptr int32, - resultFormat: int32): int32 {.cdecl, dynlib: dllName, - importc: "PQsendQueryParams".} -proc PQsendQueryPrepared*(conn: PPGconn, stmtName: cstring, nParams: int32, - paramValues: cstringArray, - paramLengths, paramFormats: ptr int32, - resultFormat: int32): int32{. - cdecl, dynlib: dllName, importc: "PQsendQueryPrepared".} -proc PQgetResult*(conn: PPGconn): PPGresult{.cdecl, dynlib: dllName, - importc: "PQgetResult".} -proc PQisBusy*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQisBusy".} -proc PQconsumeInput*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQconsumeInput".} - -proc PQnotifies*(conn: PPGconn): PPGnotify{.cdecl, dynlib: dllName, - importc: "PQnotifies".} - -proc PQputCopyData*(conn: PPGconn, buffer: cstring, nbytes: int32): int32{. - cdecl, dynlib: dllName, importc: "PQputCopyData".} -proc PQputCopyEnd*(conn: PPGconn, errormsg: cstring): int32{.cdecl, - dynlib: dllName, importc: "PQputCopyEnd".} -proc PQgetCopyData*(conn: PPGconn, buffer: cstringArray, async: int32): int32{.cdecl, - dynlib: dllName, importc: "PQgetCopyData".} - -proc PQgetline*(conn: PPGconn, str: cstring, len: int32): int32{.cdecl, - dynlib: dllName, importc: "PQgetline".} -proc PQputline*(conn: PPGconn, str: cstring): int32{.cdecl, dynlib: dllName, - importc: "PQputline".} -proc PQgetlineAsync*(conn: PPGconn, buffer: cstring, bufsize: int32): int32{. - cdecl, dynlib: dllName, importc: "PQgetlineAsync".} -proc PQputnbytes*(conn: PPGconn, buffer: cstring, nbytes: int32): int32{.cdecl, - dynlib: dllName, importc: "PQputnbytes".} -proc PQendcopy*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQendcopy".} - -proc PQsetnonblocking*(conn: PPGconn, arg: int32): int32{.cdecl, - dynlib: dllName, importc: "PQsetnonblocking".} -proc PQisnonblocking*(conn: PPGconn): int32{.cdecl, dynlib: dllName, - importc: "PQisnonblocking".} - -proc PQflush*(conn: PPGconn): int32{.cdecl, dynlib: dllName, importc: "PQflush".} - -proc PQfn*(conn: PPGconn, fnid: int32, result_buf, - result_len: ptr int32, result_is_int: int32, args: PPQArgBlock, - nargs: int32): PPGresult{.cdecl, dynlib: dllName, importc: "PQfn".} - -proc PQresultStatus*(res: PPGresult): TExecStatusType{.cdecl, dynlib: dllName, - importc: "PQresultStatus".} -proc PQresStatus*(status: TExecStatusType): cstring{.cdecl, dynlib: dllName, - importc: "PQresStatus".} -proc PQresultErrorMessage*(res: PPGresult): cstring{.cdecl, dynlib: dllName, - importc: "PQresultErrorMessage".} -proc PQresultErrorField*(res: PPGresult, fieldcode: int32): cstring{.cdecl, - dynlib: dllName, importc: "PQresultErrorField".} -proc PQntuples*(res: PPGresult): int32{.cdecl, dynlib: dllName, - importc: "PQntuples".} -proc PQnfields*(res: PPGresult): int32{.cdecl, dynlib: dllName, - importc: "PQnfields".} -proc PQbinaryTuples*(res: PPGresult): int32{.cdecl, dynlib: dllName, - importc: "PQbinaryTuples".} -proc PQfname*(res: PPGresult, field_num: int32): cstring{.cdecl, - dynlib: dllName, importc: "PQfname".} -proc PQfnumber*(res: PPGresult, field_name: cstring): int32{.cdecl, - dynlib: dllName, importc: "PQfnumber".} -proc PQftable*(res: PPGresult, field_num: int32): Oid{.cdecl, dynlib: dllName, - importc: "PQftable".} -proc PQftablecol*(res: PPGresult, field_num: int32): int32{.cdecl, - dynlib: dllName, importc: "PQftablecol".} -proc PQfformat*(res: PPGresult, field_num: int32): int32{.cdecl, - dynlib: dllName, importc: "PQfformat".} -proc PQftype*(res: PPGresult, field_num: int32): Oid{.cdecl, dynlib: dllName, - importc: "PQftype".} -proc PQfsize*(res: PPGresult, field_num: int32): int32{.cdecl, dynlib: dllName, - importc: "PQfsize".} -proc PQfmod*(res: PPGresult, field_num: int32): int32{.cdecl, dynlib: dllName, - importc: "PQfmod".} -proc PQcmdStatus*(res: PPGresult): cstring{.cdecl, dynlib: dllName, - importc: "PQcmdStatus".} -proc PQoidStatus*(res: PPGresult): cstring{.cdecl, dynlib: dllName, - importc: "PQoidStatus".} - -proc PQoidValue*(res: PPGresult): Oid{.cdecl, dynlib: dllName, - importc: "PQoidValue".} - -proc PQcmdTuples*(res: PPGresult): cstring{.cdecl, dynlib: dllName, - importc: "PQcmdTuples".} -proc PQgetvalue*(res: PPGresult, tup_num: int32, field_num: int32): cstring{. - cdecl, dynlib: dllName, importc: "PQgetvalue".} -proc PQgetlength*(res: PPGresult, tup_num: int32, field_num: int32): int32{. - cdecl, dynlib: dllName, importc: "PQgetlength".} -proc PQgetisnull*(res: PPGresult, tup_num: int32, field_num: int32): int32{. - cdecl, dynlib: dllName, importc: "PQgetisnull".} - -proc PQclear*(res: PPGresult){.cdecl, dynlib: dllName, importc: "PQclear".} - -proc PQfreemem*(p: pointer){.cdecl, dynlib: dllName, importc: "PQfreemem".} - -proc PQmakeEmptyPGresult*(conn: PPGconn, status: TExecStatusType): PPGresult{. - cdecl, dynlib: dllName, importc: "PQmakeEmptyPGresult".} - -proc PQescapeString*(till, `from`: cstring, len: int): int{.cdecl, - dynlib: dllName, importc: "PQescapeString".} -proc PQescapeBytea*(bintext: cstring, binlen: int, - bytealen: var int): cstring{. - cdecl, dynlib: dllName, importc: "PQescapeBytea".} -proc PQunescapeBytea*(strtext: cstring, retbuflen: var int): cstring{.cdecl, - dynlib: dllName, importc: "PQunescapeBytea".} - -proc PQprint*(fout: TFile, res: PPGresult, ps: PPQprintOpt){.cdecl, - dynlib: dllName, importc: "PQprint".} - -proc PQdisplayTuples*(res: PPGresult, fp: TFile, fillAlign: int32, - fieldSep: cstring, printHeader: int32, quiet: int32){. - cdecl, dynlib: dllName, importc: "PQdisplayTuples".} - -proc PQprintTuples*(res: PPGresult, fout: TFile, printAttName: int32, - terseOutput: int32, width: int32){.cdecl, dynlib: dllName, - importc: "PQprintTuples".} - -proc lo_open*(conn: PPGconn, lobjId: Oid, mode: int32): int32{.cdecl, - dynlib: dllName, importc: "lo_open".} -proc lo_close*(conn: PPGconn, fd: int32): int32{.cdecl, dynlib: dllName, - importc: "lo_close".} -proc lo_read*(conn: PPGconn, fd: int32, buf: cstring, length: int): int32{. - cdecl, dynlib: dllName, importc: "lo_read".} -proc lo_write*(conn: PPGconn, fd: int32, buf: cstring, length: int): int32{. - cdecl, dynlib: dllName, importc: "lo_write".} -proc lo_lseek*(conn: PPGconn, fd: int32, offset: int32, whence: int32): int32{. - cdecl, dynlib: dllName, importc: "lo_lseek".} -proc lo_creat*(conn: PPGconn, mode: int32): Oid{.cdecl, dynlib: dllName, - importc: "lo_creat".} -proc lo_tell*(conn: PPGconn, fd: int32): int32{.cdecl, dynlib: dllName, - importc: "lo_tell".} -proc lo_unlink*(conn: PPGconn, lobjId: Oid): int32{.cdecl, dynlib: dllName, - importc: "lo_unlink".} -proc lo_import*(conn: PPGconn, filename: cstring): Oid{.cdecl, dynlib: dllName, - importc: "lo_import".} -proc lo_export*(conn: PPGconn, lobjId: Oid, filename: cstring): int32{.cdecl, - dynlib: dllName, importc: "lo_export".} - -proc PQmblen*(s: cstring, encoding: int32): int32{.cdecl, dynlib: dllName, - importc: "PQmblen".} - -proc PQenv2encoding*(): int32{.cdecl, dynlib: dllName, importc: "PQenv2encoding".} - -proc PQsetdb(M_PGHOST, M_PGPORT, M_PGOPT, M_PGTTY, M_DBNAME: cstring): ppgconn = - result = PQsetdbLogin(M_PGHOST, M_PGPORT, M_PGOPT, M_PGTTY, M_DBNAME, "", "") - diff --git a/lib/oldwrappers/python.nim b/lib/oldwrappers/python.nim deleted file mode 100755 index ea9ef1fd5..000000000 --- a/lib/oldwrappers/python.nim +++ /dev/null @@ -1,1583 +0,0 @@ -# -# Light-weight binding for the Python interpreter -# (c) 2010 Andreas Rumpf -# Based on 'PythonEngine' module by Dr. Dietmar Budelsky -# -# -#************************************************************************ -# -# Module: Unit 'PythonEngine' Copyright (c) 1997 -# -# Version: 3.0 Dr. Dietmar Budelsky -# Sub-Version: 0.25 dbudelsky@web.de -# Germany -# -# Morgan Martinet -# 4721 rue Brebeuf -# H2J 3L2 MONTREAL (QC) -# CANADA -# e-mail: mmm@free.fr -# -# look our page at: http://www.multimania.com/marat -#************************************************************************ -# Functionality: Delphi Components that provide an interface to the -# Python language (see python.txt for more infos on -# Python itself). -# -#************************************************************************ -# Contributors: -# Grzegorz Makarewicz (mak@mikroplan.com.pl) -# Andrew Robinson (andy@hps1.demon.co.uk) -# Mark Watts(mark_watts@hotmail.com) -# Olivier Deckmyn (olivier.deckmyn@mail.dotcom.fr) -# Sigve Tjora (public@tjora.no) -# Mark Derricutt (mark@talios.com) -# Igor E. Poteryaev (jah@mail.ru) -# Yuri Filimonov (fil65@mail.ru) -# Stefan Hoffmeister (Stefan.Hoffmeister@Econos.de) -#************************************************************************ -# This source code is distributed with no WARRANTY, for no reason or use. -# Everyone is allowed to use and change this code free for his own tasks -# and projects, as long as this header and its copyright text is intact. -# For changed versions of this code, which are public distributed the -# following additional conditions have to be fullfilled: -# 1) The header has to contain a comment on the change and the author of -# it. -# 2) A copy of the changed source has to be sent to the above E-Mail -# address or my then valid address, if this is possible to the -# author. -# The second condition has the target to maintain an up to date central -# version of the component. If this condition is not acceptable for -# confidential or legal reasons, everyone is free to derive a component -# or to generate a diff file to my or other original sources. -# Dr. Dietmar Budelsky, 1997-11-17 -#************************************************************************ - -{.deadCodeElim: on.} - -import - dynlib - - -when defined(windows): - const dllname = "python(26|25|24|23|22|21|20|16|15).dll" -elif defined(macosx): - const dllname = "libpython(2.6|2.5|2.4|2.3|2.2|2.1|2.0|1.6|1.5).dylib" -else: - const dllver = ".1" - const dllname = "libpython(2.6|2.5|2.4|2.3|2.2|2.1|2.0|1.6|1.5).so" & dllver - -const - PYT_METHOD_BUFFER_INCREASE* = 10 - PYT_MEMBER_BUFFER_INCREASE* = 10 - PYT_GETSET_BUFFER_INCREASE* = 10 - METH_VARARGS* = 0x0001 - METH_KEYWORDS* = 0x0002 # Masks for the co_flags field of PyCodeObject - CO_OPTIMIZED* = 0x0001 - CO_NEWLOCALS* = 0x0002 - CO_VARARGS* = 0x0004 - CO_VARKEYWORDS* = 0x0008 - -type # Rich comparison opcodes introduced in version 2.1 - TRichComparisonOpcode* = enum - pyLT, pyLE, pyEQ, pyNE, pyGT, pyGE - -const - Py_TPFLAGS_HAVE_GETCHARBUFFER* = (1 shl 0) # PySequenceMethods contains sq_contains - Py_TPFLAGS_HAVE_SEQUENCE_IN* = (1 shl 1) # Objects which participate in garbage collection (see objimp.h) - Py_TPFLAGS_GC* = (1 shl 2) # PySequenceMethods and PyNumberMethods contain in-place operators - Py_TPFLAGS_HAVE_INPLACEOPS* = (1 shl 3) # PyNumberMethods do their own coercion */ - Py_TPFLAGS_CHECKTYPES* = (1 shl 4) - Py_TPFLAGS_HAVE_RICHCOMPARE* = (1 shl 5) # Objects which are weakly referencable if their tp_weaklistoffset is >0 - # XXX Should this have the same value as Py_TPFLAGS_HAVE_RICHCOMPARE? - # These both indicate a feature that appeared in the same alpha release. - Py_TPFLAGS_HAVE_WEAKREFS* = (1 shl 6) # tp_iter is defined - Py_TPFLAGS_HAVE_ITER* = (1 shl 7) # New members introduced by Python 2.2 exist - Py_TPFLAGS_HAVE_CLASS* = (1 shl 8) # Set if the type object is dynamically allocated - Py_TPFLAGS_HEAPTYPE* = (1 shl 9) # Set if the type allows subclassing - Py_TPFLAGS_BASETYPE* = (1 shl 10) # Set if the type is 'ready' -- fully initialized - Py_TPFLAGS_READY* = (1 shl 12) # Set while the type is being 'readied', to prevent recursive ready calls - Py_TPFLAGS_READYING* = (1 shl 13) # Objects support garbage collection (see objimp.h) - Py_TPFLAGS_HAVE_GC* = (1 shl 14) - Py_TPFLAGS_DEFAULT* = Py_TPFLAGS_HAVE_GETCHARBUFFER or - Py_TPFLAGS_HAVE_SEQUENCE_IN or Py_TPFLAGS_HAVE_INPLACEOPS or - Py_TPFLAGS_HAVE_RICHCOMPARE or Py_TPFLAGS_HAVE_WEAKREFS or - Py_TPFLAGS_HAVE_ITER or Py_TPFLAGS_HAVE_CLASS - -type - TPFlag* = enum - tpfHaveGetCharBuffer, tpfHaveSequenceIn, tpfGC, tpfHaveInplaceOps, - tpfCheckTypes, tpfHaveRichCompare, tpfHaveWeakRefs, tpfHaveIter, - tpfHaveClass, tpfHeapType, tpfBaseType, tpfReady, tpfReadying, tpfHaveGC - TPFlags* = set[TPFlag] - -const - TPFLAGS_DEFAULT* = {tpfHaveGetCharBuffer, tpfHaveSequenceIn, - tpfHaveInplaceOps, tpfHaveRichCompare, tpfHaveWeakRefs, tpfHaveIter, - tpfHaveClass} - -const # Python opcodes - single_input* = 256 - file_input* = 257 - eval_input* = 258 - funcdef* = 259 - parameters* = 260 - varargslist* = 261 - fpdef* = 262 - fplist* = 263 - stmt* = 264 - simple_stmt* = 265 - small_stmt* = 266 - expr_stmt* = 267 - augassign* = 268 - print_stmt* = 269 - del_stmt* = 270 - pass_stmt* = 271 - flow_stmt* = 272 - break_stmt* = 273 - continue_stmt* = 274 - return_stmt* = 275 - raise_stmt* = 276 - import_stmt* = 277 - import_as_name* = 278 - dotted_as_name* = 279 - dotted_name* = 280 - global_stmt* = 281 - exec_stmt* = 282 - assert_stmt* = 283 - compound_stmt* = 284 - if_stmt* = 285 - while_stmt* = 286 - for_stmt* = 287 - try_stmt* = 288 - except_clause* = 289 - suite* = 290 - test* = 291 - and_test* = 291 - not_test* = 293 - comparison* = 294 - comp_op* = 295 - expr* = 296 - xor_expr* = 297 - and_expr* = 298 - shift_expr* = 299 - arith_expr* = 300 - term* = 301 - factor* = 302 - power* = 303 - atom* = 304 - listmaker* = 305 - lambdef* = 306 - trailer* = 307 - subscriptlist* = 308 - subscript* = 309 - sliceop* = 310 - exprlist* = 311 - testlist* = 312 - dictmaker* = 313 - classdef* = 314 - arglist* = 315 - argument* = 316 - list_iter* = 317 - list_for* = 318 - list_if* = 319 - -const - T_SHORT* = 0 - T_INT* = 1 - T_LONG* = 2 - T_FLOAT* = 3 - T_DOUBLE* = 4 - T_STRING* = 5 - T_OBJECT* = 6 - T_CHAR* = 7 # 1-character string - T_BYTE* = 8 # 8-bit signed int - T_UBYTE* = 9 - T_USHORT* = 10 - T_UINT* = 11 - T_ULONG* = 12 - T_STRING_INPLACE* = 13 - T_OBJECT_EX* = 16 - READONLY* = 1 - RO* = READONLY # Shorthand - READ_RESTRICTED* = 2 - WRITE_RESTRICTED* = 4 - RESTRICTED* = (READ_RESTRICTED or WRITE_RESTRICTED) - -type - TPyMemberType* = enum - mtShort, mtInt, mtLong, mtFloat, mtDouble, mtString, mtObject, mtChar, - mtByte, mtUByte, mtUShort, mtUInt, mtULong, mtStringInplace, mtObjectEx - TPyMemberFlag* = enum - mfDefault, mfReadOnly, mfReadRestricted, mfWriteRestricted, mfRestricted - -type - PInt* = ptr int - -# PLong* = ptr int32 -# PFloat* = ptr float32 -# PShort* = ptr int8 - -type - PP_frozen* = ptr Pfrozen - P_frozen* = ptr Tfrozen - PPyObject* = ptr TPyObject - PPPyObject* = ptr PPyObject - PPPPyObject* = ptr PPPyObject - PPyIntObject* = ptr TPyIntObject - PPyTypeObject* = ptr TPyTypeObject - PPySliceObject* = ptr TPySliceObject - TPyCFunction* = proc (self, args: PPyObject): PPyObject{.cdecl.} - Tunaryfunc* = proc (ob1: PPyObject): PPyObject{.cdecl.} - Tbinaryfunc* = proc (ob1, ob2: PPyObject): PPyObject{.cdecl.} - Tternaryfunc* = proc (ob1, ob2, ob3: PPyObject): PPyObject{.cdecl.} - Tinquiry* = proc (ob1: PPyObject): int{.cdecl.} - Tcoercion* = proc (ob1, ob2: PPPyObject): int{.cdecl.} - Tintargfunc* = proc (ob1: PPyObject, i: int): PPyObject{.cdecl.} - Tintintargfunc* = proc (ob1: PPyObject, i1, i2: int): PPyObject{.cdecl.} - Tintobjargproc* = proc (ob1: PPyObject, i: int, ob2: PPyObject): int{.cdecl.} - Tintintobjargproc* = proc (ob1: PPyObject, i1, i2: int, ob2: PPyObject): int{. - cdecl.} - Tobjobjargproc* = proc (ob1, ob2, ob3: PPyObject): int{.cdecl.} - Tpydestructor* = proc (ob: PPyObject){.cdecl.} - Tprintfunc* = proc (ob: PPyObject, f: TFile, i: int): int{.cdecl.} - Tgetattrfunc* = proc (ob1: PPyObject, name: cstring): PPyObject{.cdecl.} - Tsetattrfunc* = proc (ob1: PPyObject, name: cstring, ob2: PPyObject): int{. - cdecl.} - Tcmpfunc* = proc (ob1, ob2: PPyObject): int{.cdecl.} - Treprfunc* = proc (ob: PPyObject): PPyObject{.cdecl.} - Thashfunc* = proc (ob: PPyObject): int32{.cdecl.} - Tgetattrofunc* = proc (ob1, ob2: PPyObject): PPyObject{.cdecl.} - Tsetattrofunc* = proc (ob1, ob2, ob3: PPyObject): int{.cdecl.} - Tgetreadbufferproc* = proc (ob1: PPyObject, i: int, p: Pointer): int{.cdecl.} - Tgetwritebufferproc* = proc (ob1: PPyObject, i: int, p: Pointer): int{.cdecl.} - Tgetsegcountproc* = proc (ob1: PPyObject, i: int): int{.cdecl.} - Tgetcharbufferproc* = proc (ob1: PPyObject, i: int, pstr: cstring): int{.cdecl.} - Tobjobjproc* = proc (ob1, ob2: PPyObject): int{.cdecl.} - Tvisitproc* = proc (ob1: PPyObject, p: Pointer): int{.cdecl.} - Ttraverseproc* = proc (ob1: PPyObject, prc: TVisitproc, p: Pointer): int{. - cdecl.} - Trichcmpfunc* = proc (ob1, ob2: PPyObject, i: int): PPyObject{.cdecl.} - Tgetiterfunc* = proc (ob1: PPyObject): PPyObject{.cdecl.} - Titernextfunc* = proc (ob1: PPyObject): PPyObject{.cdecl.} - Tdescrgetfunc* = proc (ob1, ob2, ob3: PPyObject): PPyObject{.cdecl.} - Tdescrsetfunc* = proc (ob1, ob2, ob3: PPyObject): int{.cdecl.} - Tinitproc* = proc (self, args, kwds: PPyObject): int{.cdecl.} - Tnewfunc* = proc (subtype: PPyTypeObject, args, kwds: PPyObject): PPyObject{. - cdecl.} - Tallocfunc* = proc (self: PPyTypeObject, nitems: int): PPyObject{.cdecl.} - TPyNumberMethods*{.final.} = object - nb_add*: Tbinaryfunc - nb_substract*: Tbinaryfunc - nb_multiply*: Tbinaryfunc - nb_divide*: Tbinaryfunc - nb_remainder*: Tbinaryfunc - nb_divmod*: Tbinaryfunc - nb_power*: Tternaryfunc - nb_negative*: Tunaryfunc - nb_positive*: Tunaryfunc - nb_absolute*: Tunaryfunc - nb_nonzero*: Tinquiry - nb_invert*: Tunaryfunc - nb_lshift*: Tbinaryfunc - nb_rshift*: Tbinaryfunc - nb_and*: Tbinaryfunc - nb_xor*: Tbinaryfunc - nb_or*: Tbinaryfunc - nb_coerce*: Tcoercion - nb_int*: Tunaryfunc - nb_long*: Tunaryfunc - nb_float*: Tunaryfunc - nb_oct*: Tunaryfunc - nb_hex*: Tunaryfunc #/ jah 29-sep-2000: updated for python 2.0 - #/ added from .h - nb_inplace_add*: Tbinaryfunc - nb_inplace_subtract*: Tbinaryfunc - nb_inplace_multiply*: Tbinaryfunc - nb_inplace_divide*: Tbinaryfunc - nb_inplace_remainder*: Tbinaryfunc - nb_inplace_power*: Tternaryfunc - nb_inplace_lshift*: Tbinaryfunc - nb_inplace_rshift*: Tbinaryfunc - nb_inplace_and*: Tbinaryfunc - nb_inplace_xor*: Tbinaryfunc - nb_inplace_or*: Tbinaryfunc # Added in release 2.2 - # The following require the Py_TPFLAGS_HAVE_CLASS flag - nb_floor_divide*: Tbinaryfunc - nb_true_divide*: Tbinaryfunc - nb_inplace_floor_divide*: Tbinaryfunc - nb_inplace_true_divide*: Tbinaryfunc - - PPyNumberMethods* = ptr TPyNumberMethods - TPySequenceMethods*{.final.} = object - sq_length*: Tinquiry - sq_concat*: Tbinaryfunc - sq_repeat*: Tintargfunc - sq_item*: Tintargfunc - sq_slice*: Tintintargfunc - sq_ass_item*: Tintobjargproc - sq_ass_slice*: Tintintobjargproc - sq_contains*: Tobjobjproc - sq_inplace_concat*: Tbinaryfunc - sq_inplace_repeat*: Tintargfunc - - PPySequenceMethods* = ptr TPySequenceMethods - TPyMappingMethods*{.final.} = object - mp_length*: Tinquiry - mp_subscript*: Tbinaryfunc - mp_ass_subscript*: Tobjobjargproc - - PPyMappingMethods* = ptr TPyMappingMethods - TPyBufferProcs*{.final.} = object - bf_getreadbuffer*: Tgetreadbufferproc - bf_getwritebuffer*: Tgetwritebufferproc - bf_getsegcount*: Tgetsegcountproc - bf_getcharbuffer*: Tgetcharbufferproc - - PPyBufferProcs* = ptr TPyBufferProcs - TPy_complex*{.final.} = object - float*: float64 - imag*: float64 - - TPyObject*{.pure.} = object - ob_refcnt*: int - ob_type*: PPyTypeObject - - TPyIntObject* = object of TPyObject - ob_ival*: int32 - - PByte* = ptr int8 - Tfrozen*{.final.} = object - name*: cstring - code*: PByte - size*: int - - TPySliceObject* = object of TPyObject - start*, stop*, step*: PPyObject - - PPyMethodDef* = ptr TPyMethodDef - TPyMethodDef*{.final.} = object # structmember.h - ml_name*: cstring - ml_meth*: TPyCFunction - ml_flags*: int - ml_doc*: cstring - - PPyMemberDef* = ptr TPyMemberDef - TPyMemberDef*{.final.} = object # descrobject.h - # Descriptors - name*: cstring - theType*: int - offset*: int - flags*: int - doc*: cstring - - Tgetter* = proc (obj: PPyObject, context: Pointer): PPyObject{.cdecl.} - Tsetter* = proc (obj, value: PPyObject, context: Pointer): int{.cdecl.} - PPyGetSetDef* = ptr TPyGetSetDef - TPyGetSetDef*{.final.} = object - name*: cstring - get*: Tgetter - setter*: Tsetter - doc*: cstring - closure*: Pointer - - Twrapperfunc* = proc (self, args: PPyObject, wrapped: Pointer): PPyObject{. - cdecl.} - pwrapperbase* = ptr Twrapperbase - Twrapperbase*{.final.} = object # Various kinds of descriptor objects - ##define PyDescr_COMMON \ - # PyObject_HEAD \ - # PyTypeObject *d_type; \ - # PyObject *d_name - # - name*: cstring - wrapper*: Twrapperfunc - doc*: cstring - - PPyDescrObject* = ptr TPyDescrObject - TPyDescrObject* = object of TPyObject - d_type*: PPyTypeObject - d_name*: PPyObject - - PPyMethodDescrObject* = ptr TPyMethodDescrObject - TPyMethodDescrObject* = object of TPyDescrObject - d_method*: PPyMethodDef - - PPyMemberDescrObject* = ptr TPyMemberDescrObject - TPyMemberDescrObject* = object of TPyDescrObject - d_member*: PPyMemberDef - - PPyGetSetDescrObject* = ptr TPyGetSetDescrObject - TPyGetSetDescrObject* = object of TPyDescrObject - d_getset*: PPyGetSetDef - - PPyWrapperDescrObject* = ptr TPyWrapperDescrObject - TPyWrapperDescrObject* = object of TPyDescrObject # object.h - d_base*: pwrapperbase - d_wrapped*: Pointer # This can be any function pointer - - TPyTypeObject* = object of TPyObject - ob_size*: int # Number of items in variable part - tp_name*: cstring # For printing - tp_basicsize*, tp_itemsize*: int # For allocation - # Methods to implement standard operations - tp_dealloc*: Tpydestructor - tp_print*: Tprintfunc - tp_getattr*: Tgetattrfunc - tp_setattr*: Tsetattrfunc - tp_compare*: Tcmpfunc - tp_repr*: Treprfunc # Method suites for standard classes - tp_as_number*: PPyNumberMethods - tp_as_sequence*: PPySequenceMethods - tp_as_mapping*: PPyMappingMethods # More standard operations (here for binary compatibility) - tp_hash*: Thashfunc - tp_call*: Tternaryfunc - tp_str*: Treprfunc - tp_getattro*: Tgetattrofunc - tp_setattro*: Tsetattrofunc #/ jah 29-sep-2000: updated for python 2.0 - # Functions to access object as input/output buffer - tp_as_buffer*: PPyBufferProcs # Flags to define presence of optional/expanded features - tp_flags*: int32 - tp_doc*: cstring # Documentation string - # call function for all accessible objects - tp_traverse*: Ttraverseproc # delete references to contained objects - tp_clear*: Tinquiry # rich comparisons - tp_richcompare*: Trichcmpfunc # weak reference enabler - tp_weaklistoffset*: int32 # Iterators - tp_iter*: Tgetiterfunc - tp_iternext*: Titernextfunc # Attribute descriptor and subclassing stuff - tp_methods*: PPyMethodDef - tp_members*: PPyMemberDef - tp_getset*: PPyGetSetDef - tp_base*: PPyTypeObject - tp_dict*: PPyObject - tp_descr_get*: Tdescrgetfunc - tp_descr_set*: Tdescrsetfunc - tp_dictoffset*: int32 - tp_init*: Tinitproc - tp_alloc*: Tallocfunc - tp_new*: Tnewfunc - tp_free*: Tpydestructor # Low-level free-memory routine - tp_is_gc*: Tinquiry # For PyObject_IS_GC - tp_bases*: PPyObject - tp_mro*: PPyObject # method resolution order - tp_cache*: PPyObject - tp_subclasses*: PPyObject - tp_weaklist*: PPyObject #More spares - tp_xxx7*: pointer - tp_xxx8*: pointer - - PPyMethodChain* = ptr TPyMethodChain - TPyMethodChain*{.final.} = object - methods*: PPyMethodDef - link*: PPyMethodChain - - PPyClassObject* = ptr TPyClassObject - TPyClassObject* = object of TPyObject - cl_bases*: PPyObject # A tuple of class objects - cl_dict*: PPyObject # A dictionary - cl_name*: PPyObject # A string - # The following three are functions or NULL - cl_getattr*: PPyObject - cl_setattr*: PPyObject - cl_delattr*: PPyObject - - PPyInstanceObject* = ptr TPyInstanceObject - TPyInstanceObject* = object of TPyObject - in_class*: PPyClassObject # The class object - in_dict*: PPyObject # A dictionary - - PPyMethodObject* = ptr TPyMethodObject - TPyMethodObject* = object of TPyObject # Bytecode object, compile.h - im_func*: PPyObject # The function implementing the method - im_self*: PPyObject # The instance it is bound to, or NULL - im_class*: PPyObject # The class that defined the method - - PPyCodeObject* = ptr TPyCodeObject - TPyCodeObject* = object of TPyObject # from pystate.h - co_argcount*: int # #arguments, except *args - co_nlocals*: int # #local variables - co_stacksize*: int # #entries needed for evaluation stack - co_flags*: int # CO_..., see below - co_code*: PPyObject # instruction opcodes (it hides a PyStringObject) - co_consts*: PPyObject # list (constants used) - co_names*: PPyObject # list of strings (names used) - co_varnames*: PPyObject # tuple of strings (local variable names) - co_freevars*: PPyObject # tuple of strings (free variable names) - co_cellvars*: PPyObject # tuple of strings (cell variable names) - # The rest doesn't count for hash/cmp - co_filename*: PPyObject # string (where it was loaded from) - co_name*: PPyObject # string (name, for reference) - co_firstlineno*: int # first source line number - co_lnotab*: PPyObject # string (encoding addr<->lineno mapping) - - PPyInterpreterState* = ptr TPyInterpreterState - PPyThreadState* = ptr TPyThreadState - PPyFrameObject* = ptr TPyFrameObject # Interpreter environments - TPyInterpreterState*{.final.} = object # Thread specific information - next*: PPyInterpreterState - tstate_head*: PPyThreadState - modules*: PPyObject - sysdict*: PPyObject - builtins*: PPyObject - checkinterval*: int - - TPyThreadState*{.final.} = object # from frameobject.h - next*: PPyThreadState - interp*: PPyInterpreterState - frame*: PPyFrameObject - recursion_depth*: int - ticker*: int - tracing*: int - sys_profilefunc*: PPyObject - sys_tracefunc*: PPyObject - curexc_type*: PPyObject - curexc_value*: PPyObject - curexc_traceback*: PPyObject - exc_type*: PPyObject - exc_value*: PPyObject - exc_traceback*: PPyObject - dict*: PPyObject - - PPyTryBlock* = ptr TPyTryBlock - TPyTryBlock*{.final.} = object - b_type*: int # what kind of block this is - b_handler*: int # where to jump to find handler - b_level*: int # value stack level to pop to - - CO_MAXBLOCKS* = range[0..19] - TPyFrameObject* = object of TPyObject # start of the VAR_HEAD of an object - # From traceback.c - ob_size*: int # Number of items in variable part - # End of the Head of an object - f_back*: PPyFrameObject # previous frame, or NULL - f_code*: PPyCodeObject # code segment - f_builtins*: PPyObject # builtin symbol table (PyDictObject) - f_globals*: PPyObject # global symbol table (PyDictObject) - f_locals*: PPyObject # local symbol table (PyDictObject) - f_valuestack*: PPPyObject # points after the last local - # Next free slot in f_valuestack. Frame creation sets to f_valuestack. - # Frame evaluation usually NULLs it, but a frame that yields sets it - # to the current stack top. - f_stacktop*: PPPyObject - f_trace*: PPyObject # Trace function - f_exc_type*, f_exc_value*, f_exc_traceback*: PPyObject - f_tstate*: PPyThreadState - f_lasti*: int # Last instruction if called - f_lineno*: int # Current line number - f_restricted*: int # Flag set if restricted operations - # in this scope - f_iblock*: int # index in f_blockstack - f_blockstack*: array[CO_MAXBLOCKS, TPyTryBlock] # for try and loop blocks - f_nlocals*: int # number of locals - f_ncells*: int - f_nfreevars*: int - f_stacksize*: int # size of value stack - f_localsplus*: array[0..0, PPyObject] # locals+stack, dynamically sized - - PPyTraceBackObject* = ptr TPyTraceBackObject - TPyTraceBackObject* = object of TPyObject # Parse tree node interface - tb_next*: PPyTraceBackObject - tb_frame*: PPyFrameObject - tb_lasti*: int - tb_lineno*: int - - PNode* = ptr Tnode - Tnode*{.final.} = object # From weakrefobject.h - n_type*: int16 - n_str*: cstring - n_lineno*: int16 - n_nchildren*: int16 - n_child*: PNode - - PPyWeakReference* = ptr TPyWeakReference - TPyWeakReference* = object of TPyObject - wr_object*: PPyObject - wr_callback*: PPyObject - hash*: int32 - wr_prev*: PPyWeakReference - wr_next*: PPyWeakReference - - -const - PyDateTime_DATE_DATASIZE* = 4 # # of bytes for year, month, and day - PyDateTime_TIME_DATASIZE* = 6 # # of bytes for hour, minute, second, and usecond - PyDateTime_DATETIME_DATASIZE* = 10 # # of bytes for year, month, - # day, hour, minute, second, and usecond. - -type - TPyDateTime_Delta* = object of TPyObject - hashcode*: int # -1 when unknown - days*: int # -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS - seconds*: int # 0 <= seconds < 24*3600 is invariant - microseconds*: int # 0 <= microseconds < 1000000 is invariant - - PPyDateTime_Delta* = ptr TPyDateTime_Delta - TPyDateTime_TZInfo* = object of TPyObject # a pure abstract base clase - PPyDateTime_TZInfo* = ptr TPyDateTime_TZInfo - TPyDateTime_BaseTZInfo* = object of TPyObject - hashcode*: int - hastzinfo*: bool # boolean flag - - PPyDateTime_BaseTZInfo* = ptr TPyDateTime_BaseTZInfo - TPyDateTime_BaseTime* = object of TPyDateTime_BaseTZInfo - data*: array[0..Pred(PyDateTime_TIME_DATASIZE), int8] - - PPyDateTime_BaseTime* = ptr TPyDateTime_BaseTime - TPyDateTime_Time* = object of TPyDateTime_BaseTime # hastzinfo true - tzinfo*: PPyObject - - PPyDateTime_Time* = ptr TPyDateTime_Time - TPyDateTime_Date* = object of TPyDateTime_BaseTZInfo - data*: array[0..Pred(PyDateTime_DATE_DATASIZE), int8] - - PPyDateTime_Date* = ptr TPyDateTime_Date - TPyDateTime_BaseDateTime* = object of TPyDateTime_BaseTZInfo - data*: array[0..Pred(PyDateTime_DATETIME_DATASIZE), int8] - - PPyDateTime_BaseDateTime* = ptr TPyDateTime_BaseDateTime - TPyDateTime_DateTime* = object of TPyDateTime_BaseTZInfo - data*: array[0..Pred(PyDateTime_DATETIME_DATASIZE), int8] - tzinfo*: PPyObject - - PPyDateTime_DateTime* = ptr TPyDateTime_DateTime - -#----------------------------------------------------# -# # -# New exception classes # -# # -#----------------------------------------------------# - -# -# // Python's exceptions -# EPythonError = object(Exception) -# EName: String; -# EValue: String; -# end; -# EPyExecError = object(EPythonError) -# end; -# -# // Standard exception classes of Python -# -#/// jah 29-sep-2000: updated for python 2.0 -#/// base classes updated according python documentation -# -#{ Hierarchy of Python exceptions, Python 2.3, copied from \Python\exceptions.c -# -#Exception\n\ -# |\n\ -# +-- SystemExit\n\ -# +-- StopIteration\n\ -# +-- StandardError\n\ -# | |\n\ -# | +-- KeyboardInterrupt\n\ -# | +-- ImportError\n\ -# | +-- EnvironmentError\n\ -# | | |\n\ -# | | +-- IOError\n\ -# | | +-- OSError\n\ -# | | |\n\ -# | | +-- WindowsError\n\ -# | | +-- VMSError\n\ -# | |\n\ -# | +-- EOFError\n\ -# | +-- RuntimeError\n\ -# | | |\n\ -# | | +-- NotImplementedError\n\ -# | |\n\ -# | +-- NameError\n\ -# | | |\n\ -# | | +-- UnboundLocalError\n\ -# | |\n\ -# | +-- AttributeError\n\ -# | +-- SyntaxError\n\ -# | | |\n\ -# | | +-- IndentationError\n\ -# | | |\n\ -# | | +-- TabError\n\ -# | |\n\ -# | +-- TypeError\n\ -# | +-- AssertionError\n\ -# | +-- LookupError\n\ -# | | |\n\ -# | | +-- IndexError\n\ -# | | +-- KeyError\n\ -# | |\n\ -# | +-- ArithmeticError\n\ -# | | |\n\ -# | | +-- OverflowError\n\ -# | | +-- ZeroDivisionError\n\ -# | | +-- FloatingPointError\n\ -# | |\n\ -# | +-- ValueError\n\ -# | | |\n\ -# | | +-- UnicodeError\n\ -# | | |\n\ -# | | +-- UnicodeEncodeError\n\ -# | | +-- UnicodeDecodeError\n\ -# | | +-- UnicodeTranslateError\n\ -# | |\n\ -# | +-- ReferenceError\n\ -# | +-- SystemError\n\ -# | +-- MemoryError\n\ -# |\n\ -# +---Warning\n\ -# |\n\ -# +-- UserWarning\n\ -# +-- DeprecationWarning\n\ -# +-- PendingDeprecationWarning\n\ -# +-- SyntaxWarning\n\ -# +-- OverflowWarning\n\ -# +-- RuntimeWarning\n\ -# +-- FutureWarning" -#} -# EPyException = class (EPythonError); -# EPyStandardError = class (EPyException); -# EPyArithmeticError = class (EPyStandardError); -# EPyLookupError = class (EPyStandardError); -# EPyAssertionError = class (EPyStandardError); -# EPyAttributeError = class (EPyStandardError); -# EPyEOFError = class (EPyStandardError); -# EPyFloatingPointError = class (EPyArithmeticError); -# EPyEnvironmentError = class (EPyStandardError); -# EPyIOError = class (EPyEnvironmentError); -# EPyOSError = class (EPyEnvironmentError); -# EPyImportError = class (EPyStandardError); -# EPyIndexError = class (EPyLookupError); -# EPyKeyError = class (EPyLookupError); -# EPyKeyboardInterrupt = class (EPyStandardError); -# EPyMemoryError = class (EPyStandardError); -# EPyNameError = class (EPyStandardError); -# EPyOverflowError = class (EPyArithmeticError); -# EPyRuntimeError = class (EPyStandardError); -# EPyNotImplementedError = class (EPyRuntimeError); -# EPySyntaxError = class (EPyStandardError) -# public -# EFileName: string; -# ELineStr: string; -# ELineNumber: Integer; -# EOffset: Integer; -# end; -# EPyIndentationError = class (EPySyntaxError); -# EPyTabError = class (EPyIndentationError); -# EPySystemError = class (EPyStandardError); -# EPySystemExit = class (EPyException); -# EPyTypeError = class (EPyStandardError); -# EPyUnboundLocalError = class (EPyNameError); -# EPyValueError = class (EPyStandardError); -# EPyUnicodeError = class (EPyValueError); -# UnicodeEncodeError = class (EPyUnicodeError); -# UnicodeDecodeError = class (EPyUnicodeError); -# UnicodeTranslateError = class (EPyUnicodeError); -# EPyZeroDivisionError = class (EPyArithmeticError); -# EPyStopIteration = class(EPyException); -# EPyWarning = class (EPyException); -# EPyUserWarning = class (EPyWarning); -# EPyDeprecationWarning = class (EPyWarning); -# PendingDeprecationWarning = class (EPyWarning); -# FutureWarning = class (EPyWarning); -# EPySyntaxWarning = class (EPyWarning); -# EPyOverflowWarning = class (EPyWarning); -# EPyRuntimeWarning = class (EPyWarning); -# EPyReferenceError = class (EPyStandardError); -# - -var - PyArg_Parse*: proc (args: PPyObject, format: cstring): int{.cdecl, varargs.} - PyArg_ParseTuple*: proc (args: PPyObject, format: cstring, x1: Pointer = nil, - x2: Pointer = nil, x3: Pointer = nil): int{.cdecl, varargs.} - Py_BuildValue*: proc (format: cstring): PPyObject{.cdecl, varargs.} - PyCode_Addr2Line*: proc (co: PPyCodeObject, addrq: int): int{.cdecl.} - DLL_Py_GetBuildInfo*: proc (): cstring{.cdecl.} - -var - Py_DebugFlag*: PInt - Py_VerboseFlag*: PInt - Py_InteractiveFlag*: PInt - Py_OptimizeFlag*: PInt - Py_NoSiteFlag*: PInt - Py_UseClassExceptionsFlag*: PInt - Py_FrozenFlag*: PInt - Py_TabcheckFlag*: PInt - Py_UnicodeFlag*: PInt - Py_IgnoreEnvironmentFlag*: PInt - Py_DivisionWarningFlag*: PInt - #_PySys_TraceFunc: PPPyObject; - #_PySys_ProfileFunc: PPPPyObject; - PyImport_FrozenModules*: PP_frozen - Py_None*: PPyObject - Py_Ellipsis*: PPyObject - Py_False*: PPyIntObject - Py_True*: PPyIntObject - Py_NotImplemented*: PPyObject - PyExc_AttributeError*: PPPyObject - PyExc_EOFError*: PPPyObject - PyExc_IOError*: PPPyObject - PyExc_ImportError*: PPPyObject - PyExc_IndexError*: PPPyObject - PyExc_KeyError*: PPPyObject - PyExc_KeyboardInterrupt*: PPPyObject - PyExc_MemoryError*: PPPyObject - PyExc_NameError*: PPPyObject - PyExc_OverflowError*: PPPyObject - PyExc_RuntimeError*: PPPyObject - PyExc_SyntaxError*: PPPyObject - PyExc_SystemError*: PPPyObject - PyExc_SystemExit*: PPPyObject - PyExc_TypeError*: PPPyObject - PyExc_ValueError*: PPPyObject - PyExc_ZeroDivisionError*: PPPyObject - PyExc_ArithmeticError*: PPPyObject - PyExc_Exception*: PPPyObject - PyExc_FloatingPointError*: PPPyObject - PyExc_LookupError*: PPPyObject - PyExc_StandardError*: PPPyObject - PyExc_AssertionError*: PPPyObject - PyExc_EnvironmentError*: PPPyObject - PyExc_IndentationError*: PPPyObject - PyExc_MemoryErrorInst*: PPPyObject - PyExc_NotImplementedError*: PPPyObject - PyExc_OSError*: PPPyObject - PyExc_TabError*: PPPyObject - PyExc_UnboundLocalError*: PPPyObject - PyExc_UnicodeError*: PPPyObject - PyExc_Warning*: PPPyObject - PyExc_DeprecationWarning*: PPPyObject - PyExc_RuntimeWarning*: PPPyObject - PyExc_SyntaxWarning*: PPPyObject - PyExc_UserWarning*: PPPyObject - PyExc_OverflowWarning*: PPPyObject - PyExc_ReferenceError*: PPPyObject - PyExc_StopIteration*: PPPyObject - PyExc_FutureWarning*: PPPyObject - PyExc_PendingDeprecationWarning*: PPPyObject - PyExc_UnicodeDecodeError*: PPPyObject - PyExc_UnicodeEncodeError*: PPPyObject - PyExc_UnicodeTranslateError*: PPPyObject - PyType_Type*: PPyTypeObject - PyCFunction_Type*: PPyTypeObject - PyCObject_Type*: PPyTypeObject - PyClass_Type*: PPyTypeObject - PyCode_Type*: PPyTypeObject - PyComplex_Type*: PPyTypeObject - PyDict_Type*: PPyTypeObject - PyFile_Type*: PPyTypeObject - PyFloat_Type*: PPyTypeObject - PyFrame_Type*: PPyTypeObject - PyFunction_Type*: PPyTypeObject - PyInstance_Type*: PPyTypeObject - PyInt_Type*: PPyTypeObject - PyList_Type*: PPyTypeObject - PyLong_Type*: PPyTypeObject - PyMethod_Type*: PPyTypeObject - PyModule_Type*: PPyTypeObject - PyObject_Type*: PPyTypeObject - PyRange_Type*: PPyTypeObject - PySlice_Type*: PPyTypeObject - PyString_Type*: PPyTypeObject - PyTuple_Type*: PPyTypeObject - PyBaseObject_Type*: PPyTypeObject - PyBuffer_Type*: PPyTypeObject - PyCallIter_Type*: PPyTypeObject - PyCell_Type*: PPyTypeObject - PyClassMethod_Type*: PPyTypeObject - PyProperty_Type*: PPyTypeObject - PySeqIter_Type*: PPyTypeObject - PyStaticMethod_Type*: PPyTypeObject - PySuper_Type*: PPyTypeObject - PySymtableEntry_Type*: PPyTypeObject - PyTraceBack_Type*: PPyTypeObject - PyUnicode_Type*: PPyTypeObject - PyWrapperDescr_Type*: PPyTypeObject - PyBaseString_Type*: PPyTypeObject - PyBool_Type*: PPyTypeObject - PyEnum_Type*: PPyTypeObject - - #PyArg_GetObject: proc(args: PPyObject; nargs, i: integer; p_a: PPPyObject): integer; cdecl; - #PyArg_GetLong: proc(args: PPyObject; nargs, i: integer; p_a: PLong): integer; cdecl; - #PyArg_GetShort: proc(args: PPyObject; nargs, i: integer; p_a: PShort): integer; cdecl; - #PyArg_GetFloat: proc(args: PPyObject; nargs, i: integer; p_a: PFloat): integer; cdecl; - #PyArg_GetString: proc(args: PPyObject; nargs, i: integer; p_a: PString): integer; cdecl; - #PyArgs_VaParse: proc (args: PPyObject; format: PChar; - # va_list: array of const): integer; cdecl; - # Does not work! - # Py_VaBuildValue: proc (format: PChar; va_list: array of const): PPyObject; cdecl; - #PyBuiltin_Init: proc; cdecl; -proc PyComplex_FromCComplex*(c: TPy_complex): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyComplex_FromDoubles*(realv, imag: float64): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyComplex_RealAsDouble*(op: PPyObject): float64{.cdecl, importc, dynlib: dllname.} -proc PyComplex_ImagAsDouble*(op: PPyObject): float64{.cdecl, importc, dynlib: dllname.} -proc PyComplex_AsCComplex*(op: PPyObject): TPy_complex{.cdecl, importc, dynlib: dllname.} -proc PyCFunction_GetFunction*(ob: PPyObject): Pointer{.cdecl, importc, dynlib: dllname.} -proc PyCFunction_GetSelf*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyCallable_Check*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} -proc PyCObject_FromVoidPtr*(cobj, destruct: Pointer): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyCObject_AsVoidPtr*(ob: PPyObject): Pointer{.cdecl, importc, dynlib: dllname.} -proc PyClass_New*(ob1, ob2, ob3: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyClass_IsSubclass*(ob1, ob2: PPyObject): int{.cdecl, importc, dynlib: dllname.} -proc Py_InitModule4*(name: cstring, methods: PPyMethodDef, doc: cstring, - passthrough: PPyObject, Api_Version: int): PPyObject{. - cdecl, importc, dynlib: dllname.} -proc PyErr_BadArgument*(): int{.cdecl, importc, dynlib: dllname.} -proc PyErr_BadInternalCall*(){.cdecl, importc, dynlib: dllname.} -proc PyErr_CheckSignals*(): int{.cdecl, importc, dynlib: dllname.} -proc PyErr_Clear*(){.cdecl, importc, dynlib: dllname.} -proc PyErr_Fetch*(errtype, errvalue, errtraceback: PPPyObject){.cdecl, importc, dynlib: dllname.} -proc PyErr_NoMemory*(): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyErr_Occurred*(): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyErr_Print*(){.cdecl, importc, dynlib: dllname.} -proc PyErr_Restore*(errtype, errvalue, errtraceback: PPyObject){.cdecl, importc, dynlib: dllname.} -proc PyErr_SetFromErrno*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyErr_SetNone*(value: PPyObject){.cdecl, importc, dynlib: dllname.} -proc PyErr_SetObject*(ob1, ob2: PPyObject){.cdecl, importc, dynlib: dllname.} -proc PyErr_SetString*(ErrorObject: PPyObject, text: cstring){.cdecl, importc, dynlib: dllname.} -proc PyImport_GetModuleDict*(): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyInt_FromLong*(x: int32): PPyObject{.cdecl, importc, dynlib: dllname.} -proc Py_Initialize*(){.cdecl, importc, dynlib: dllname.} -proc Py_Exit*(RetVal: int){.cdecl, importc, dynlib: dllname.} -proc PyEval_GetBuiltins*(): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyDict_GetItem*(mp, key: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyDict_SetItem*(mp, key, item: PPyObject): int{.cdecl, importc, dynlib: dllname.} -proc PyDict_DelItem*(mp, key: PPyObject): int{.cdecl, importc, dynlib: dllname.} -proc PyDict_Clear*(mp: PPyObject){.cdecl, importc, dynlib: dllname.} -proc PyDict_Next*(mp: PPyObject, pos: PInt, key, value: PPPyObject): int{. - cdecl, importc, dynlib: dllname.} -proc PyDict_Keys*(mp: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyDict_Values*(mp: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyDict_Items*(mp: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyDict_Size*(mp: PPyObject): int{.cdecl, importc, dynlib: dllname.} -proc PyDict_DelItemString*(dp: PPyObject, key: cstring): int{.cdecl, importc, dynlib: dllname.} -proc PyDict_New*(): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyDict_GetItemString*(dp: PPyObject, key: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyDict_SetItemString*(dp: PPyObject, key: cstring, item: PPyObject): int{. - cdecl, importc, dynlib: dllname.} -proc PyDictProxy_New*(obj: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyModule_GetDict*(module: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyObject_Str*(v: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyRun_String*(str: cstring, start: int, globals: PPyObject, - locals: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyRun_SimpleString*(str: cstring): int{.cdecl, importc, dynlib: dllname.} -proc PyString_AsString*(ob: PPyObject): cstring{.cdecl, importc, dynlib: dllname.} -proc PyString_FromString*(str: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PySys_SetArgv*(argc: int, argv: cstringArray){.cdecl, importc, dynlib: dllname.} - #+ means, Grzegorz or me has tested his non object version of this function - #+ -proc PyCFunction_New*(md: PPyMethodDef, ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyEval_CallObject*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyEval_CallObjectWithKeywords*(ob1, ob2, ob3: PPyObject): PPyObject{. - cdecl, importc, dynlib: dllname.} #- -proc PyEval_GetFrame*(): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyEval_GetGlobals*(): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyEval_GetLocals*(): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyEval_GetOwner*(): PPyObject {.cdecl, importc, dynlib: dllname.} -proc PyEval_GetRestricted*(): int{.cdecl, importc, dynlib: dllname.} #- -proc PyEval_InitThreads*(){.cdecl, importc, dynlib: dllname.} #- -proc PyEval_RestoreThread*(tstate: PPyThreadState){.cdecl, importc, dynlib: dllname.} #- -proc PyEval_SaveThread*(): PPyThreadState{.cdecl, importc, dynlib: dllname.} #- -proc PyFile_FromString*(pc1, pc2: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyFile_GetLine*(ob: PPyObject, i: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyFile_Name*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyFile_SetBufSize*(ob: PPyObject, i: int){.cdecl, importc, dynlib: dllname.} #- -proc PyFile_SoftSpace*(ob: PPyObject, i: int): int{.cdecl, importc, dynlib: dllname.} #- -proc PyFile_WriteObject*(ob1, ob2: PPyObject, i: int): int{.cdecl, importc, dynlib: dllname.} #- -proc PyFile_WriteString*(s: cstring, ob: PPyObject){.cdecl, importc, dynlib: dllname.} #+ -proc PyFloat_AsDouble*(ob: PPyObject): float64{.cdecl, importc, dynlib: dllname.} #+ -proc PyFloat_FromDouble*(db: float64): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyFunction_GetCode*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyFunction_GetGlobals*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyFunction_New*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyImport_AddModule*(name: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyImport_Cleanup*(){.cdecl, importc, dynlib: dllname.} #- -proc PyImport_GetMagicNumber*(): int32{.cdecl, importc, dynlib: dllname.} #+ -proc PyImport_ImportFrozenModule*(key: cstring): int{.cdecl, importc, dynlib: dllname.} #+ -proc PyImport_ImportModule*(name: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyImport_Import*(name: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- - -proc PyImport_Init*() {.cdecl, importc, dynlib: dllname.} -proc PyImport_ReloadModule*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyInstance_New*(obClass, obArg, obKW: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyInt_AsLong*(ob: PPyObject): int32{.cdecl, importc, dynlib: dllname.} #- -proc PyList_Append*(ob1, ob2: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyList_AsTuple*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyList_GetItem*(ob: PPyObject, i: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyList_GetSlice*(ob: PPyObject, i1, i2: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyList_Insert*(dp: PPyObject, idx: int, item: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyList_New*(size: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyList_Reverse*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyList_SetItem*(dp: PPyObject, idx: int, item: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyList_SetSlice*(ob: PPyObject, i1, i2: int, ob2: PPyObject): int{. - cdecl, importc, dynlib: dllname.} #+ -proc PyList_Size*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyList_Sort*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyLong_AsDouble*(ob: PPyObject): float64{.cdecl, importc, dynlib: dllname.} #+ -proc PyLong_AsLong*(ob: PPyObject): int32{.cdecl, importc, dynlib: dllname.} #+ -proc PyLong_FromDouble*(db: float64): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyLong_FromLong*(L: int32): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyLong_FromString*(pc: cstring, ppc: var cstring, i: int): PPyObject{. - cdecl, importc, dynlib: dllname.} #- -proc PyLong_FromUnsignedLong*(val: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyLong_AsUnsignedLong*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyLong_FromUnicode*(ob: PPyObject, a, b: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyLong_FromLongLong*(val: Int64): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyLong_AsLongLong*(ob: PPyObject): Int64{.cdecl, importc, dynlib: dllname.} #- -proc PyMapping_Check*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyMapping_GetItemString*(ob: PPyObject, key: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyMapping_HasKey*(ob, key: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyMapping_HasKeyString*(ob: PPyObject, key: cstring): int{.cdecl, importc, dynlib: dllname.} #- -proc PyMapping_Length*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyMapping_SetItemString*(ob: PPyObject, key: cstring, value: PPyObject): int{. - cdecl, importc, dynlib: dllname.} #- -proc PyMethod_Class*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyMethod_Function*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyMethod_New*(ob1, ob2, ob3: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyMethod_Self*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyModule_GetName*(ob: PPyObject): cstring{.cdecl, importc, dynlib: dllname.} #- -proc PyModule_New*(key: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Absolute*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Add*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_And*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Check*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Coerce*(ob1, ob2: var PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Divide*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_FloorDivide*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_TrueDivide*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Divmod*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Float*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Int*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Invert*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Long*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Lshift*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Multiply*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Negative*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Or*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Positive*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Power*(ob1, ob2, ob3: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Remainder*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Rshift*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Subtract*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyNumber_Xor*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyOS_InitInterrupts*(){.cdecl, importc, dynlib: dllname.} #- -proc PyOS_InterruptOccurred*(): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_CallObject*(ob, args: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_Compare*(ob1, ob2: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GetAttr*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyObject_GetAttrString*(ob: PPyObject, c: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GetItem*(ob, key: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_DelItem*(ob, key: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_HasAttrString*(ob: PPyObject, key: cstring): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_Hash*(ob: PPyObject): int32{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_IsTrue*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_Length*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_Repr*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_SetAttr*(ob1, ob2, ob3: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_SetAttrString*(ob: PPyObject, key: cstring, value: PPyObject): int{. - cdecl, importc, dynlib: dllname.} #- -proc PyObject_SetItem*(ob1, ob2, ob3: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_Init*(ob: PPyObject, t: PPyTypeObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_InitVar*(ob: PPyObject, t: PPyTypeObject, size: int): PPyObject{. - cdecl, importc, dynlib: dllname.} #- -proc PyObject_New*(t: PPyTypeObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_NewVar*(t: PPyTypeObject, size: int): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyObject_Free*(ob: PPyObject){.cdecl, importc, dynlib: dllname.} #- -proc PyObject_IsInstance*(inst, cls: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_IsSubclass*(derived, cls: PPyObject): int{.cdecl, importc, dynlib: dllname.} -proc PyObject_GenericGetAttr*(obj, name: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyObject_GenericSetAttr*(obj, name, value: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GC_Malloc*(size: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GC_New*(t: PPyTypeObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GC_NewVar*(t: PPyTypeObject, size: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GC_Resize*(t: PPyObject, newsize: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GC_Del*(ob: PPyObject){.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GC_Track*(ob: PPyObject){.cdecl, importc, dynlib: dllname.} #- -proc PyObject_GC_UnTrack*(ob: PPyObject){.cdecl, importc, dynlib: dllname.} #- -proc PyRange_New*(l1, l2, l3: int32, i: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Check*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Concat*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Count*(ob1, ob2: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_GetItem*(ob: PPyObject, i: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_GetSlice*(ob: PPyObject, i1, i2: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_In*(ob1, ob2: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Index*(ob1, ob2: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Length*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Repeat*(ob: PPyObject, count: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_SetItem*(ob: PPyObject, i: int, value: PPyObject): int{. - cdecl, importc, dynlib: dllname.} #- -proc PySequence_SetSlice*(ob: PPyObject, i1, i2: int, value: PPyObject): int{. - cdecl, importc, dynlib: dllname.} #- -proc PySequence_DelSlice*(ob: PPyObject, i1, i2: int): int{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Tuple*(ob: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PySequence_Contains*(ob, value: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PySlice_GetIndices*(ob: PPySliceObject, len: int, - start, stop, step: var int): int{.cdecl, importc, dynlib: dllname.} #- -proc PySlice_GetIndicesEx*(ob: PPySliceObject, len: int, - start, stop, step, slicelength: var int): int{. - cdecl, importc, dynlib: dllname.} #- -proc PySlice_New*(start, stop, step: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyString_Concat*(ob1: var PPyObject, ob2: PPyObject){.cdecl, importc, dynlib: dllname.} #- -proc PyString_ConcatAndDel*(ob1: var PPyObject, ob2: PPyObject){.cdecl, importc, dynlib: dllname.} #- -proc PyString_Format*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyString_FromStringAndSize*(s: cstring, i: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyString_Size*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyString_DecodeEscape*(s: cstring, length: int, errors: cstring, - unicode: int, recode_encoding: cstring): PPyObject{. - cdecl, importc, dynlib: dllname.} #- -proc PyString_Repr*(ob: PPyObject, smartquotes: int): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PySys_GetObject*(s: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} -#- -#PySys_Init:procedure; cdecl, importc, dynlib: dllname; -#- -proc PySys_SetObject*(s: cstring, ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PySys_SetPath*(path: cstring){.cdecl, importc, dynlib: dllname.} #- -#PyTraceBack_Fetch:function:PPyObject; cdecl, importc, dynlib: dllname; -#- -proc PyTraceBack_Here*(p: pointer): int{.cdecl, importc, dynlib: dllname.} #- -proc PyTraceBack_Print*(ob1, ob2: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -#PyTraceBack_Store:function (ob:PPyObject):integer; cdecl, importc, dynlib: dllname; -#+ -proc PyTuple_GetItem*(ob: PPyObject, i: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc PyTuple_GetSlice*(ob: PPyObject, i1, i2: int): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyTuple_New*(size: int): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyTuple_SetItem*(ob: PPyObject, key: int, value: PPyObject): int{.cdecl, importc, dynlib: dllname.} #+ -proc PyTuple_Size*(ob: PPyObject): int{.cdecl, importc, dynlib: dllname.} #+ -proc PyType_IsSubtype*(a, b: PPyTypeObject): int{.cdecl, importc, dynlib: dllname.} -proc PyType_GenericAlloc*(atype: PPyTypeObject, nitems: int): PPyObject{. - cdecl, importc, dynlib: dllname.} -proc PyType_GenericNew*(atype: PPyTypeObject, args, kwds: PPyObject): PPyObject{. - cdecl, importc, dynlib: dllname.} -proc PyType_Ready*(atype: PPyTypeObject): int{.cdecl, importc, dynlib: dllname.} #+ -proc PyUnicode_FromWideChar*(w: pointer, size: int): PPyObject{.cdecl, importc, dynlib: dllname.} #+ -proc PyUnicode_AsWideChar*(unicode: PPyObject, w: pointer, size: int): int{. - cdecl, importc, dynlib: dllname.} #- -proc PyUnicode_FromOrdinal*(ordinal: int): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyWeakref_GetObject*(theRef: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyWeakref_NewProxy*(ob, callback: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyWeakref_NewRef*(ob, callback: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyWrapper_New*(ob1, ob2: PPyObject): PPyObject{.cdecl, importc, dynlib: dllname.} -proc PyBool_FromLong*(ok: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc Py_AtExit*(prc: proc ()): int{.cdecl, importc, dynlib: dllname.} #- -#Py_Cleanup:procedure; cdecl, importc, dynlib: dllname; -#- -proc Py_CompileString*(s1, s2: cstring, i: int): PPyObject{.cdecl, importc, dynlib: dllname.} #- -proc Py_FatalError*(s: cstring){.cdecl, importc, dynlib: dllname.} #- -proc Py_FindMethod*(md: PPyMethodDef, ob: PPyObject, key: cstring): PPyObject{. - cdecl, importc, dynlib: dllname.} #- -proc Py_FindMethodInChain*(mc: PPyMethodChain, ob: PPyObject, key: cstring): PPyObject{. - cdecl, importc, dynlib: dllname.} #- -proc Py_FlushLine*(){.cdecl, importc, dynlib: dllname.} #+ -proc Py_Finalize*(){.cdecl, importc, dynlib: dllname.} #- -proc PyErr_ExceptionMatches*(exc: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyErr_GivenExceptionMatches*(raised_exc, exc: PPyObject): int{.cdecl, importc, dynlib: dllname.} #- -proc PyEval_EvalCode*(co: PPyCodeObject, globals, locals: PPyObject): PPyObject{. - cdecl, importc, dynlib: dllname.} #+ -proc Py_GetVersion*(): cstring{.cdecl, importc, dynlib: dllname.} #+ -proc Py_GetCopyright*(): cstring{.cdecl, importc, dynlib: dllname.} #+ -proc Py_GetExecPrefix*(): cstring{.cdecl, importc, dynlib: dllname.} #+ -proc Py_GetPath*(): cstring{.cdecl, importc, dynlib: dllname.} #+ -proc Py_GetPrefix*(): cstring{.cdecl, importc, dynlib: dllname.} #+ -proc Py_GetProgramName*(): cstring{.cdecl, importc, dynlib: dllname.} #- -proc PyParser_SimpleParseString*(str: cstring, start: int): PNode{.cdecl, importc, dynlib: dllname.} #- -proc PyNode_Free*(n: PNode){.cdecl, importc, dynlib: dllname.} #- -proc PyErr_NewException*(name: cstring, base, dict: PPyObject): PPyObject{. - cdecl, importc, dynlib: dllname.} #- -proc Py_Malloc*(size: int): Pointer {.cdecl, importc, dynlib: dllname.} -proc PyMem_Malloc*(size: int): Pointer {.cdecl, importc, dynlib: dllname.} -proc PyObject_CallMethod*(obj: PPyObject, theMethod, - format: cstring): PPyObject{.cdecl, importc, dynlib: dllname.} -proc Py_SetProgramName*(name: cstring){.cdecl, importc, dynlib: dllname.} -proc Py_IsInitialized*(): int{.cdecl, importc, dynlib: dllname.} -proc Py_GetProgramFullPath*(): cstring{.cdecl, importc, dynlib: dllname.} -proc Py_NewInterpreter*(): PPyThreadState{.cdecl, importc, dynlib: dllname.} -proc Py_EndInterpreter*(tstate: PPyThreadState){.cdecl, importc, dynlib: dllname.} -proc PyEval_AcquireLock*(){.cdecl, importc, dynlib: dllname.} -proc PyEval_ReleaseLock*(){.cdecl, importc, dynlib: dllname.} -proc PyEval_AcquireThread*(tstate: PPyThreadState){.cdecl, importc, dynlib: dllname.} -proc PyEval_ReleaseThread*(tstate: PPyThreadState){.cdecl, importc, dynlib: dllname.} -proc PyInterpreterState_New*(): PPyInterpreterState{.cdecl, importc, dynlib: dllname.} -proc PyInterpreterState_Clear*(interp: PPyInterpreterState){.cdecl, importc, dynlib: dllname.} -proc PyInterpreterState_Delete*(interp: PPyInterpreterState){.cdecl, importc, dynlib: dllname.} -proc PyThreadState_New*(interp: PPyInterpreterState): PPyThreadState{.cdecl, importc, dynlib: dllname.} -proc PyThreadState_Clear*(tstate: PPyThreadState){.cdecl, importc, dynlib: dllname.} -proc PyThreadState_Delete*(tstate: PPyThreadState){.cdecl, importc, dynlib: dllname.} -proc PyThreadState_Get*(): PPyThreadState{.cdecl, importc, dynlib: dllname.} -proc PyThreadState_Swap*(tstate: PPyThreadState): PPyThreadState{.cdecl, importc, dynlib: dllname.} - -#Further exported Objects, may be implemented later -# -# PyCode_New: Pointer; -# PyErr_SetInterrupt: Pointer; -# PyFile_AsFile: Pointer; -# PyFile_FromFile: Pointer; -# PyFloat_AsString: Pointer; -# PyFrame_BlockPop: Pointer; -# PyFrame_BlockSetup: Pointer; -# PyFrame_ExtendStack: Pointer; -# PyFrame_FastToLocals: Pointer; -# PyFrame_LocalsToFast: Pointer; -# PyFrame_New: Pointer; -# PyGrammar_AddAccelerators: Pointer; -# PyGrammar_FindDFA: Pointer; -# PyGrammar_LabelRepr: Pointer; -# PyInstance_DoBinOp: Pointer; -# PyInt_GetMax: Pointer; -# PyMarshal_Init: Pointer; -# PyMarshal_ReadLongFromFile: Pointer; -# PyMarshal_ReadObjectFromFile: Pointer; -# PyMarshal_ReadObjectFromString: Pointer; -# PyMarshal_WriteLongToFile: Pointer; -# PyMarshal_WriteObjectToFile: Pointer; -# PyMember_Get: Pointer; -# PyMember_Set: Pointer; -# PyNode_AddChild: Pointer; -# PyNode_Compile: Pointer; -# PyNode_New: Pointer; -# PyOS_GetLastModificationTime: Pointer; -# PyOS_Readline: Pointer; -# PyOS_strtol: Pointer; -# PyOS_strtoul: Pointer; -# PyObject_CallFunction: Pointer; -# PyObject_CallMethod: Pointer; -# PyObject_Print: Pointer; -# PyParser_AddToken: Pointer; -# PyParser_Delete: Pointer; -# PyParser_New: Pointer; -# PyParser_ParseFile: Pointer; -# PyParser_ParseString: Pointer; -# PyParser_SimpleParseFile: Pointer; -# PyRun_AnyFile: Pointer; -# PyRun_File: Pointer; -# PyRun_InteractiveLoop: Pointer; -# PyRun_InteractiveOne: Pointer; -# PyRun_SimpleFile: Pointer; -# PySys_GetFile: Pointer; -# PyToken_OneChar: Pointer; -# PyToken_TwoChars: Pointer; -# PyTokenizer_Free: Pointer; -# PyTokenizer_FromFile: Pointer; -# PyTokenizer_FromString: Pointer; -# PyTokenizer_Get: Pointer; -# Py_Main: Pointer; -# _PyObject_NewVar: Pointer; -# _PyParser_Grammar: Pointer; -# _PyParser_TokenNames: Pointer; -# _PyThread_Started: Pointer; -# _Py_c_diff: Pointer; -# _Py_c_neg: Pointer; -# _Py_c_pow: Pointer; -# _Py_c_prod: Pointer; -# _Py_c_quot: Pointer; -# _Py_c_sum: Pointer; -# - -# This function handles all cardinals, pointer types (with no adjustment of pointers!) -# (Extended) floats, which are handled as Python doubles and currencies, handled -# as (normalized) Python doubles. -proc PyImport_ExecCodeModule*(name: String, codeobject: PPyObject): PPyObject -proc PyString_Check*(obj: PPyObject): bool -proc PyString_CheckExact*(obj: PPyObject): bool -proc PyFloat_Check*(obj: PPyObject): bool -proc PyFloat_CheckExact*(obj: PPyObject): bool -proc PyInt_Check*(obj: PPyObject): bool -proc PyInt_CheckExact*(obj: PPyObject): bool -proc PyLong_Check*(obj: PPyObject): bool -proc PyLong_CheckExact*(obj: PPyObject): bool -proc PyTuple_Check*(obj: PPyObject): bool -proc PyTuple_CheckExact*(obj: PPyObject): bool -proc PyInstance_Check*(obj: PPyObject): bool -proc PyClass_Check*(obj: PPyObject): bool -proc PyMethod_Check*(obj: PPyObject): bool -proc PyList_Check*(obj: PPyObject): bool -proc PyList_CheckExact*(obj: PPyObject): bool -proc PyDict_Check*(obj: PPyObject): bool -proc PyDict_CheckExact*(obj: PPyObject): bool -proc PyModule_Check*(obj: PPyObject): bool -proc PyModule_CheckExact*(obj: PPyObject): bool -proc PySlice_Check*(obj: PPyObject): bool -proc PyFunction_Check*(obj: PPyObject): bool -proc PyUnicode_Check*(obj: PPyObject): bool -proc PyUnicode_CheckExact*(obj: PPyObject): bool -proc PyType_IS_GC*(t: PPyTypeObject): bool -proc PyObject_IS_GC*(obj: PPyObject): bool -proc PyBool_Check*(obj: PPyObject): bool -proc PyBaseString_Check*(obj: PPyObject): bool -proc PyEnum_Check*(obj: PPyObject): bool -proc PyObject_TypeCheck*(obj: PPyObject, t: PPyTypeObject): bool -proc Py_InitModule*(name: cstring, md: PPyMethodDef): PPyObject -proc PyType_HasFeature*(AType: PPyTypeObject, AFlag: int): bool -# implementation - -proc Py_INCREF*(op: PPyObject) {.inline.} = - Inc(op.ob_refcnt) - -proc Py_DECREF*(op: PPyObject) {.inline.} = - Dec(op.ob_refcnt) - if op.ob_refcnt == 0: - op.ob_type.tp_dealloc(op) - -proc Py_XINCREF*(op: PPyObject) {.inline.} = - if op != nil: Py_INCREF(op) - -proc Py_XDECREF*(op: PPyObject) {.inline.} = - if op != nil: Py_DECREF(op) - -proc PyImport_ExecCodeModule(name: string, codeobject: PPyObject): PPyObject = - var m, d, v, modules: PPyObject - m = PyImport_AddModule(cstring(name)) - if m == nil: - return nil - d = PyModule_GetDict(m) - if PyDict_GetItemString(d, "__builtins__") == nil: - if PyDict_SetItemString(d, "__builtins__", PyEval_GetBuiltins()) != 0: - return nil - if PyDict_SetItemString(d, "__file__", - PPyCodeObject(codeobject).co_filename) != 0: - PyErr_Clear() # Not important enough to report - v = PyEval_EvalCode(PPyCodeObject(codeobject), d, d) # XXX owner ? - if v == nil: - return nil - Py_XDECREF(v) - modules = PyImport_GetModuleDict() - if PyDict_GetItemString(modules, cstring(name)) == nil: - PyErr_SetString(PyExc_ImportError^ , cstring( - "Loaded module " & name & "not found in sys.modules")) - return nil - Py_XINCREF(m) - Result = m - -proc PyString_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyString_Type) - -proc PyString_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj.ob_type == PyString_Type) - -proc PyFloat_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyFloat_Type) - -proc PyFloat_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj.ob_type == PyFloat_Type) - -proc PyInt_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyInt_Type) - -proc PyInt_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj.ob_type == PyInt_Type) - -proc PyLong_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyLong_Type) - -proc PyLong_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj.ob_type == PyLong_Type) - -proc PyTuple_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyTuple_Type) - -proc PyTuple_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PyTuple_Type) - -proc PyInstance_Check(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PyInstance_Type) - -proc PyClass_Check(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PyClass_Type) - -proc PyMethod_Check(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PyMethod_Type) - -proc PyList_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyList_Type) - -proc PyList_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PyList_Type) - -proc PyDict_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyDict_Type) - -proc PyDict_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PyDict_Type) - -proc PyModule_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyModule_Type) - -proc PyModule_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PyModule_Type) - -proc PySlice_Check(obj: PPyObject): bool = - Result = (obj != nil) and (obj^ .ob_type == PySlice_Type) - -proc PyFunction_Check(obj: PPyObject): bool = - Result = (obj != nil) and - ((obj.ob_type == PyCFunction_Type) or - (obj.ob_type == PyFunction_Type)) - -proc PyUnicode_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyUnicode_Type) - -proc PyUnicode_CheckExact(obj: PPyObject): bool = - Result = (obj != nil) and (obj.ob_type == PyUnicode_Type) - -proc PyType_IS_GC(t: PPyTypeObject): bool = - Result = PyType_HasFeature(t, Py_TPFLAGS_HAVE_GC) - -proc PyObject_IS_GC(obj: PPyObject): bool = - Result = PyType_IS_GC(obj.ob_type) and - ((obj.ob_type.tp_is_gc == nil) or (obj.ob_type.tp_is_gc(obj) == 1)) - -proc PyBool_Check(obj: PPyObject): bool = - Result = (obj != nil) and (obj.ob_type == PyBool_Type) - -proc PyBaseString_Check(obj: PPyObject): bool = - Result = PyObject_TypeCheck(obj, PyBaseString_Type) - -proc PyEnum_Check(obj: PPyObject): bool = - Result = (obj != nil) and (obj.ob_type == PyEnum_Type) - -proc PyObject_TypeCheck(obj: PPyObject, t: PPyTypeObject): bool = - Result = (obj != nil) and (obj.ob_type == t) - if not Result and (obj != nil) and (t != nil): - Result = PyType_IsSubtype(obj.ob_type, t) == 1 - -proc Py_InitModule(name: cstring, md: PPyMethodDef): PPyObject = - result = Py_InitModule4(name, md, nil, nil, 1012) - -proc PyType_HasFeature(AType: PPyTypeObject, AFlag: int): bool = - #(((t)->tp_flags & (f)) != 0) - Result = (AType.tp_flags and AFlag) != 0 - -proc init(lib: TLibHandle) = - Py_DebugFlag = cast[PInt](symAddr(lib, "Py_DebugFlag")) - Py_VerboseFlag = cast[PInt](symAddr(lib, "Py_VerboseFlag")) - Py_InteractiveFlag = cast[PInt](symAddr(lib, "Py_InteractiveFlag")) - Py_OptimizeFlag = cast[PInt](symAddr(lib, "Py_OptimizeFlag")) - Py_NoSiteFlag = cast[PInt](symAddr(lib, "Py_NoSiteFlag")) - Py_UseClassExceptionsFlag = cast[PInt](symAddr(lib, "Py_UseClassExceptionsFlag")) - Py_FrozenFlag = cast[PInt](symAddr(lib, "Py_FrozenFlag")) - Py_TabcheckFlag = cast[PInt](symAddr(lib, "Py_TabcheckFlag")) - Py_UnicodeFlag = cast[PInt](symAddr(lib, "Py_UnicodeFlag")) - Py_IgnoreEnvironmentFlag = cast[PInt](symAddr(lib, "Py_IgnoreEnvironmentFlag")) - Py_DivisionWarningFlag = cast[PInt](symAddr(lib, "Py_DivisionWarningFlag")) - Py_None = cast[PPyObject](symAddr(lib, "_Py_NoneStruct")) - Py_Ellipsis = cast[PPyObject](symAddr(lib, "_Py_EllipsisObject")) - Py_False = cast[PPyIntObject](symAddr(lib, "_Py_ZeroStruct")) - Py_True = cast[PPyIntObject](symAddr(lib, "_Py_TrueStruct")) - Py_NotImplemented = cast[PPyObject](symAddr(lib, "_Py_NotImplementedStruct")) - PyImport_FrozenModules = cast[PP_frozen](symAddr(lib, "PyImport_FrozenModules")) - PyExc_AttributeError = cast[PPPyObject](symAddr(lib, "PyExc_AttributeError")) - PyExc_EOFError = cast[PPPyObject](symAddr(lib, "PyExc_EOFError")) - PyExc_IOError = cast[PPPyObject](symAddr(lib, "PyExc_IOError")) - PyExc_ImportError = cast[PPPyObject](symAddr(lib, "PyExc_ImportError")) - PyExc_IndexError = cast[PPPyObject](symAddr(lib, "PyExc_IndexError")) - PyExc_KeyError = cast[PPPyObject](symAddr(lib, "PyExc_KeyError")) - PyExc_KeyboardInterrupt = cast[PPPyObject](symAddr(lib, "PyExc_KeyboardInterrupt")) - PyExc_MemoryError = cast[PPPyObject](symAddr(lib, "PyExc_MemoryError")) - PyExc_NameError = cast[PPPyObject](symAddr(lib, "PyExc_NameError")) - PyExc_OverflowError = cast[PPPyObject](symAddr(lib, "PyExc_OverflowError")) - PyExc_RuntimeError = cast[PPPyObject](symAddr(lib, "PyExc_RuntimeError")) - PyExc_SyntaxError = cast[PPPyObject](symAddr(lib, "PyExc_SyntaxError")) - PyExc_SystemError = cast[PPPyObject](symAddr(lib, "PyExc_SystemError")) - PyExc_SystemExit = cast[PPPyObject](symAddr(lib, "PyExc_SystemExit")) - PyExc_TypeError = cast[PPPyObject](symAddr(lib, "PyExc_TypeError")) - PyExc_ValueError = cast[PPPyObject](symAddr(lib, "PyExc_ValueError")) - PyExc_ZeroDivisionError = cast[PPPyObject](symAddr(lib, "PyExc_ZeroDivisionError")) - PyExc_ArithmeticError = cast[PPPyObject](symAddr(lib, "PyExc_ArithmeticError")) - PyExc_Exception = cast[PPPyObject](symAddr(lib, "PyExc_Exception")) - PyExc_FloatingPointError = cast[PPPyObject](symAddr(lib, "PyExc_FloatingPointError")) - PyExc_LookupError = cast[PPPyObject](symAddr(lib, "PyExc_LookupError")) - PyExc_StandardError = cast[PPPyObject](symAddr(lib, "PyExc_StandardError")) - PyExc_AssertionError = cast[PPPyObject](symAddr(lib, "PyExc_AssertionError")) - PyExc_EnvironmentError = cast[PPPyObject](symAddr(lib, "PyExc_EnvironmentError")) - PyExc_IndentationError = cast[PPPyObject](symAddr(lib, "PyExc_IndentationError")) - PyExc_MemoryErrorInst = cast[PPPyObject](symAddr(lib, "PyExc_MemoryErrorInst")) - PyExc_NotImplementedError = cast[PPPyObject](symAddr(lib, "PyExc_NotImplementedError")) - PyExc_OSError = cast[PPPyObject](symAddr(lib, "PyExc_OSError")) - PyExc_TabError = cast[PPPyObject](symAddr(lib, "PyExc_TabError")) - PyExc_UnboundLocalError = cast[PPPyObject](symAddr(lib, "PyExc_UnboundLocalError")) - PyExc_UnicodeError = cast[PPPyObject](symAddr(lib, "PyExc_UnicodeError")) - PyExc_Warning = cast[PPPyObject](symAddr(lib, "PyExc_Warning")) - PyExc_DeprecationWarning = cast[PPPyObject](symAddr(lib, "PyExc_DeprecationWarning")) - PyExc_RuntimeWarning = cast[PPPyObject](symAddr(lib, "PyExc_RuntimeWarning")) - PyExc_SyntaxWarning = cast[PPPyObject](symAddr(lib, "PyExc_SyntaxWarning")) - PyExc_UserWarning = cast[PPPyObject](symAddr(lib, "PyExc_UserWarning")) - PyExc_OverflowWarning = cast[PPPyObject](symAddr(lib, "PyExc_OverflowWarning")) - PyExc_ReferenceError = cast[PPPyObject](symAddr(lib, "PyExc_ReferenceError")) - PyExc_StopIteration = cast[PPPyObject](symAddr(lib, "PyExc_StopIteration")) - PyExc_FutureWarning = cast[PPPyObject](symAddr(lib, "PyExc_FutureWarning")) - PyExc_PendingDeprecationWarning = cast[PPPyObject](symAddr(lib, - "PyExc_PendingDeprecationWarning")) - PyExc_UnicodeDecodeError = cast[PPPyObject](symAddr(lib, "PyExc_UnicodeDecodeError")) - PyExc_UnicodeEncodeError = cast[PPPyObject](symAddr(lib, "PyExc_UnicodeEncodeError")) - PyExc_UnicodeTranslateError = cast[PPPyObject](symAddr(lib, "PyExc_UnicodeTranslateError")) - PyType_Type = cast[PPyTypeObject](symAddr(lib, "PyType_Type")) - PyCFunction_Type = cast[PPyTypeObject](symAddr(lib, "PyCFunction_Type")) - PyCObject_Type = cast[PPyTypeObject](symAddr(lib, "PyCObject_Type")) - PyClass_Type = cast[PPyTypeObject](symAddr(lib, "PyClass_Type")) - PyCode_Type = cast[PPyTypeObject](symAddr(lib, "PyCode_Type")) - PyComplex_Type = cast[PPyTypeObject](symAddr(lib, "PyComplex_Type")) - PyDict_Type = cast[PPyTypeObject](symAddr(lib, "PyDict_Type")) - PyFile_Type = cast[PPyTypeObject](symAddr(lib, "PyFile_Type")) - PyFloat_Type = cast[PPyTypeObject](symAddr(lib, "PyFloat_Type")) - PyFrame_Type = cast[PPyTypeObject](symAddr(lib, "PyFrame_Type")) - PyFunction_Type = cast[PPyTypeObject](symAddr(lib, "PyFunction_Type")) - PyInstance_Type = cast[PPyTypeObject](symAddr(lib, "PyInstance_Type")) - PyInt_Type = cast[PPyTypeObject](symAddr(lib, "PyInt_Type")) - PyList_Type = cast[PPyTypeObject](symAddr(lib, "PyList_Type")) - PyLong_Type = cast[PPyTypeObject](symAddr(lib, "PyLong_Type")) - PyMethod_Type = cast[PPyTypeObject](symAddr(lib, "PyMethod_Type")) - PyModule_Type = cast[PPyTypeObject](symAddr(lib, "PyModule_Type")) - PyObject_Type = cast[PPyTypeObject](symAddr(lib, "PyObject_Type")) - PyRange_Type = cast[PPyTypeObject](symAddr(lib, "PyRange_Type")) - PySlice_Type = cast[PPyTypeObject](symAddr(lib, "PySlice_Type")) - PyString_Type = cast[PPyTypeObject](symAddr(lib, "PyString_Type")) - PyTuple_Type = cast[PPyTypeObject](symAddr(lib, "PyTuple_Type")) - PyUnicode_Type = cast[PPyTypeObject](symAddr(lib, "PyUnicode_Type")) - PyBaseObject_Type = cast[PPyTypeObject](symAddr(lib, "PyBaseObject_Type")) - PyBuffer_Type = cast[PPyTypeObject](symAddr(lib, "PyBuffer_Type")) - PyCallIter_Type = cast[PPyTypeObject](symAddr(lib, "PyCallIter_Type")) - PyCell_Type = cast[PPyTypeObject](symAddr(lib, "PyCell_Type")) - PyClassMethod_Type = cast[PPyTypeObject](symAddr(lib, "PyClassMethod_Type")) - PyProperty_Type = cast[PPyTypeObject](symAddr(lib, "PyProperty_Type")) - PySeqIter_Type = cast[PPyTypeObject](symAddr(lib, "PySeqIter_Type")) - PyStaticMethod_Type = cast[PPyTypeObject](symAddr(lib, "PyStaticMethod_Type")) - PySuper_Type = cast[PPyTypeObject](symAddr(lib, "PySuper_Type")) - PySymtableEntry_Type = cast[PPyTypeObject](symAddr(lib, "PySymtableEntry_Type")) - PyTraceBack_Type = cast[PPyTypeObject](symAddr(lib, "PyTraceBack_Type")) - PyWrapperDescr_Type = cast[PPyTypeObject](symAddr(lib, "PyWrapperDescr_Type")) - PyBaseString_Type = cast[PPyTypeObject](symAddr(lib, "PyBaseString_Type")) - PyBool_Type = cast[PPyTypeObject](symAddr(lib, "PyBool_Type")) - PyEnum_Type = cast[PPyTypeObject](symAddr(lib, "PyEnum_Type")) - -# Unfortunately we have to duplicate the loading mechanism here, because Nimrod -# does not support variables from dynamic libraries. Well designed API's don't -# require this anyway. Python is an exception. - -var - lib: TLibHandle - -when defined(windows): - const - LibNames = ["python26.dll", "python25.dll", - "python24.dll", "python23.dll", "python22.dll", "python21.dll", - "python20.dll", "python16.dll", "python15.dll"] -elif defined(macosx): - const - LibNames = ["libpython2.6.dylib", "libpython2.5.dylib", - "libpython2.4.dylib", "libpython2.3.dylib", "libpython2.2.dylib", - "libpython2.1.dylib", "libpython2.0.dylib", - "libpython1.6.dylib", "libpython1.5.dylib"] -else: - const - LibNames = ["libpython2.6.so" & dllver, - "libpython2.5.so" & dllver, - "libpython2.4.so" & dllver, - "libpython2.3.so" & dllver, - "libpython2.2.so" & dllver, - "libpython2.1.so" & dllver, - "libpython2.0.so" & dllver, - "libpython1.6.so" & dllver, - "libpython1.5.so" & dllver] - -for libName in items(libNames): - lib = loadLib(libName) - if lib != nil: break - -if lib == nil: quit("could not load python library") -init(lib) - diff --git a/lib/oldwrappers/sdl/sdl.nim b/lib/oldwrappers/sdl/sdl.nim deleted file mode 100755 index 7d2b6ba26..000000000 --- a/lib/oldwrappers/sdl/sdl.nim +++ /dev/null @@ -1,2522 +0,0 @@ - -#****************************************************************************** -# -# JEDI-SDL : Pascal units for SDL - Simple DirectMedia Layer -# Conversion of the Simple DirectMedia Layer Headers -# -# Portions created by Sam Lantinga are -# Copyright (C) 1997-2004 Sam Lantinga -# 5635-34 Springhouse Dr. -# Pleasanton, CA 94588 (USA) -# -# All Rights Reserved. -# -# The original files are : SDL.h -# SDL_main.h -# SDL_types.h -# SDL_rwops.h -# SDL_timer.h -# SDL_audio.h -# SDL_cdrom.h -# SDL_joystick.h -# SDL_mouse.h -# SDL_keyboard.h -# SDL_events.h -# SDL_video.h -# SDL_byteorder.h -# SDL_version.h -# SDL_active.h -# SDL_thread.h -# SDL_mutex .h -# SDL_getenv.h -# SDL_loadso.h -# -# The initial developer of this Pascal code was : -# Dominique Louis -# -# Portions created by Dominique Louis are -# Copyright (C) 2000 - 2004 Dominique Louis. -# -# -# Contributor(s) -# -------------- -# Tom Jones His Project inspired this conversion -# Matthias Thoma -# -# Obtained through: -# Joint Endeavour of Delphi Innovators ( Project JEDI ) -# -# You may retrieve the latest version of this file at the Project -# JEDI home page, located at http://delphi-jedi.org -# -# The contents of this file are used with permission, subject to -# the Mozilla Public License Version 1.1 (the "License"); you may -# not use this file except in compliance with the License. You may -# obtain a copy of the License at -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# Software distributed under the License is distributed on an -# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# Description -# ----------- -# -# -# -# -# -# -# -# Requires -# -------- -# The SDL Runtime libraris on Win32 : SDL.dll on Linux : libSDL.so -# They are available from... -# http://www.libsdl.org . -# -# Programming Notes -# ----------------- -# -# -# -# -# Revision History -# ---------------- -# May 08 2001 - DL : Added Keyboard State Array ( See demos for how to -# use ) -# PKeyStateArr = ^TKeyStateArr; -# TKeyStateArr = array[0..65000] of UInt8; -# As most games will need it. -# -# April 02 2001 - DL : Added SDL_getenv.h definitions and tested version -# 1.2.0 compatability. -# -# March 13 2001 - MT : Added Linux compatibility. -# -# March 10 2001 - MT : Added externalsyms for DEFINES -# Changed the license header -# -# March 09 2001 - MT : Added Kylix Ifdefs/Deleted the uses mmsystem -# -# March 01 2001 - DL : Update conversion of version 1.1.8 -# -# July 22 2001 - DL : Added TUInt8Array and PUIntArray after suggestions -# from Matthias Thoma and Eric Grange. -# -# October 12 2001 - DL : Various changes as suggested by Matthias Thoma and -# David Acklam -# -# October 24 2001 - DL : Added FreePascal support as per suggestions from -# Dean Ellis. -# -# October 27 2001 - DL : Added SDL_BUTTON macro -# -# November 08 2001 - DL : Bug fix as pointed out by Puthoon. -# -# November 29 2001 - DL : Bug fix of SDL_SetGammaRamp as pointed out by Simon -# Rushton. -# -# November 30 2001 - DL : SDL_NOFRAME added as pointed out by Simon Rushton. -# -# December 11 2001 - DL : Added $WEAKPACKAGEUNIT ON to facilitate useage in -# Components -# -# January 05 2002 - DL : Added SDL_Swap32 function as suggested by Matthias -# Thoma and also made sure the _getenv from -# MSVCRT.DLL uses the right calling convention -# -# January 25 2002 - DL : Updated conversion of SDL_AddTimer & -# SDL_RemoveTimer as per suggestions from Matthias -# Thoma. -# -# January 27 2002 - DL : Commented out exported function putenv and getenv -# So that developers get used to using SDL_putenv -# SDL_getenv, as they are more portable -# -# March 05 2002 - DL : Added FreeAnNil procedure for Delphi 4 users. -# -# October 23 2002 - DL : Added Delphi 3 Define of Win32. -# If you intend to you Delphi 3... -# ( which is officially unsupported ) make sure you -# remove references to $EXTERNALSYM in this and other -# SDL files. -# -# November 29 2002 - DL : Fixed bug in Declaration of SDL_GetRGBA that was -# pointed out by Todd Lang -# -# April 03 2003 - DL : Added jedi-sdl.inc include file to support more -# Pascal compilers. Initial support is now included -# for GnuPascal, VirtualPascal, TMT and obviously -# continue support for Delphi Kylix and FreePascal. -# -# April 08 2003 - MK : Aka Mr Kroket - Added Better FPC support -# -# April 24 2003 - DL : under instruction from Alexey Barkovoy, I have added -# better TMT Pascal support and under instruction -# from Prof. Abimbola Olowofoyeku (The African Chief), -# I have added better Gnu Pascal support -# -# April 30 2003 - DL : under instruction from David Mears AKA -# Jason Siletto, I have added FPC Linux support. -# This was compiled with fpc 1.1, so remember to set -# include file path. ie. -Fi/usr/share/fpcsrc/rtl/* -# -# -# -# Revision 1.31 2007/05/29 21:30:48 savage -# Changes as suggested by Almindor for 64bit compatibility. -# -# Revision 1.30 2007/05/29 19:31:03 savage -# Fix to TSDL_Overlay structure - thanks David Pethes (aka imcold) -# -# Revision 1.29 2007/05/20 20:29:11 savage -# Initial Changes to Handle 64 Bits -# -# Revision 1.26 2007/02/11 13:38:04 savage -# Added Nintendo DS support - Thanks Dean. -# -# Revision 1.25 2006/12/02 00:12:52 savage -# Updated to latest version -# -# Revision 1.24 2006/05/18 21:10:04 savage -# Added 1.2.10 Changes -# -# Revision 1.23 2005/12/04 23:17:52 drellis -# Added declaration of SInt8 and PSInt8 -# -# Revision 1.22 2005/05/24 21:59:03 savage -# Re-arranged uses clause to work on Win32 and Linux, Thanks again Michalis. -# -# Revision 1.21 2005/05/22 18:42:31 savage -# Changes as suggested by Michalis Kamburelis. Thanks again. -# -# Revision 1.20 2005/04/10 11:48:33 savage -# Changes as suggested by Michalis, thanks. -# -# Revision 1.19 2005/01/05 01:47:06 savage -# Changed LibName to reflect what MacOS X should have. ie libSDL*-1.2.0.dylib respectively. -# -# Revision 1.18 2005/01/04 23:14:41 savage -# Changed LibName to reflect what most Linux distros will have. ie libSDL*-1.2.so.0 respectively. -# -# Revision 1.17 2005/01/03 18:40:59 savage -# Updated Version number to reflect latest one -# -# Revision 1.16 2005/01/01 02:02:06 savage -# Updated to v1.2.8 -# -# Revision 1.15 2004/12/24 18:57:11 savage -# forgot to apply Michalis Kamburelis' patch to the implementation section. now fixed -# -# Revision 1.14 2004/12/23 23:42:18 savage -# Applied Patches supplied by Michalis Kamburelis ( THANKS! ), for greater FreePascal compatability. -# -# Revision 1.13 2004/09/30 22:31:59 savage -# Updated with slightly different header comments -# -# Revision 1.12 2004/09/12 21:52:58 savage -# Slight changes to fix some issues with the sdl classes. -# -# Revision 1.11 2004/08/14 22:54:30 savage -# Updated so that Library name defines are correctly defined for MacOS X. -# -# Revision 1.10 2004/07/20 23:57:33 savage -# Thanks to Paul Toth for spotting an error in the SDL Audio Convertion structures. -# In TSDL_AudioCVT the filters variable should point to and array of pointers and not what I had there previously. -# -# Revision 1.9 2004/07/03 22:07:22 savage -# Added Bitwise Manipulation Functions for TSDL_VideoInfo struct. -# -# Revision 1.8 2004/05/10 14:10:03 savage -# Initial MacOS X support. Fixed defines for MACOS ( Classic ) and DARWIN ( MacOS X ). -# -# Revision 1.7 2004/04/13 09:32:08 savage -# Changed Shared object names back to just the .so extension to avoid conflicts on various Linux/Unix distros. Therefore developers will need to create Symbolic links to the actual Share Objects if necessary. -# -# Revision 1.6 2004/04/01 20:53:23 savage -# Changed Linux Shared Object names so they reflect the Symbolic Links that are created when installing the RPMs from the SDL site. -# -# Revision 1.5 2004/02/22 15:32:10 savage -# SDL_GetEnv Fix so it also works on FPC/Linux. Thanks to Rodrigo for pointing this out. -# -# Revision 1.4 2004/02/21 23:24:29 savage -# SDL_GetEnv Fix so that it is not define twice for FPC. Thanks to Rene Hugentobler for pointing out this bug, -# -# Revision 1.3 2004/02/18 22:35:51 savage -# Brought sdl.pas up to 1.2.7 compatability -# Thus... -# Added SDL_GL_STEREO, -# SDL_GL_MULTISAMPLEBUFFERS, -# SDL_GL_MULTISAMPLESAMPLES -# -# Add DLL/Shared object functions -# function SDL_LoadObject( const sofile : PChar ) : Pointer; -# -# function SDL_LoadFunction( handle : Pointer; const name : PChar ) : Pointer; -# -# procedure SDL_UnloadObject( handle : Pointer ); -# -# Added function to create RWops from const memory: SDL_RWFromConstMem() -# function SDL_RWFromConstMem(const mem: Pointer; size: Integer) : PSDL_RWops; -# -# Ported SDL_cpuinfo.h so Now you can test for Specific CPU types. -# -# Revision 1.2 2004/02/17 21:37:12 savage -# Tidying up of units -# -# Revision 1.1 2004/02/05 00:08:20 savage -# Module 1.0 release -# -# - -{.deadCodeElim: on.} - -when defined(windows): - const SDLLibName = "SDL.dll" -elif defined(macosx): - const SDLLibName = "libSDL-1.2.0.dylib" -else: - const SDLLibName = "libSDL.so" - -const - SDL_MAJOR_VERSION* = 1'i8 - SDL_MINOR_VERSION* = 2'i8 - SDL_PATCHLEVEL* = 11'i8 # SDL.h constants - SDL_INIT_TIMER* = 0x00000001 - SDL_INIT_AUDIO* = 0x00000010 - SDL_INIT_VIDEO* = 0x00000020 - SDL_INIT_CDROM* = 0x00000100 - SDL_INIT_JOYSTICK* = 0x00000200 - SDL_INIT_NOPARACHUTE* = 0x00100000 # Don't catch fatal signals - SDL_INIT_EVENTTHREAD* = 0x01000000 # Not supported on all OS's - SDL_INIT_EVERYTHING* = 0x0000FFFF # SDL_error.h constants - ERR_MAX_STRLEN* = 128 - ERR_MAX_ARGS* = 5 # SDL_types.h constants - SDL_PRESSED* = 0x00000001 - SDL_RELEASED* = 0x00000000 # SDL_timer.h constants - # This is the OS scheduler timeslice, in milliseconds - SDL_TIMESLICE* = 10 # This is the maximum resolution of the SDL timer on all platforms - TIMER_RESOLUTION* = 10 # Experimentally determined - # SDL_audio.h constants - AUDIO_U8* = 0x00000008 # Unsigned 8-bit samples - AUDIO_S8* = 0x00008008 # Signed 8-bit samples - AUDIO_U16LSB* = 0x00000010 # Unsigned 16-bit samples - AUDIO_S16LSB* = 0x00008010 # Signed 16-bit samples - AUDIO_U16MSB* = 0x00001010 # As above, but big-endian byte order - AUDIO_S16MSB* = 0x00009010 # As above, but big-endian byte order - AUDIO_U16* = AUDIO_U16LSB - AUDIO_S16* = AUDIO_S16LSB # SDL_cdrom.h constants - # The maximum number of CD-ROM tracks on a disk - SDL_MAX_TRACKS* = 99 # The types of CD-ROM track possible - SDL_AUDIO_TRACK* = 0x00000000 - SDL_DATA_TRACK* = 0x00000004 # Conversion functions from frames to Minute/Second/Frames and vice versa - CD_FPS* = 75 # SDL_byteorder.h constants - # The two types of endianness - SDL_LIL_ENDIAN* = 1234 - SDL_BIG_ENDIAN* = 4321 - -when cpuEndian == littleEndian: - const - SDL_BYTEORDER* = SDL_LIL_ENDIAN # Native audio byte ordering - AUDIO_U16SYS* = AUDIO_U16LSB - AUDIO_S16SYS* = AUDIO_S16LSB -else: - const - SDL_BYTEORDER* = SDL_BIG_ENDIAN # Native audio byte ordering - AUDIO_U16SYS* = AUDIO_U16MSB - AUDIO_S16SYS* = AUDIO_S16MSB -const - SDL_MIX_MAXVOLUME* = 128 # SDL_joystick.h constants - MAX_JOYSTICKS* = 2 # only 2 are supported in the multimedia API - MAX_AXES* = 6 # each joystick can have up to 6 axes - MAX_BUTTONS* = 32 # and 32 buttons - AXIS_MIN* = - 32768 # minimum value for axis coordinate - AXIS_MAX* = 32767 # maximum value for axis coordinate - JOY_AXIS_THRESHOLD* = (toFloat((AXIS_MAX) - (AXIS_MIN)) / 100.0) # 1% motion - SDL_HAT_CENTERED* = 0x00000000 - SDL_HAT_UP* = 0x00000001 - SDL_HAT_RIGHT* = 0x00000002 - SDL_HAT_DOWN* = 0x00000004 - SDL_HAT_LEFT* = 0x00000008 - SDL_HAT_RIGHTUP* = SDL_HAT_RIGHT or SDL_HAT_UP - SDL_HAT_RIGHTDOWN* = SDL_HAT_RIGHT or SDL_HAT_DOWN - SDL_HAT_LEFTUP* = SDL_HAT_LEFT or SDL_HAT_UP - SDL_HAT_LEFTDOWN* = SDL_HAT_LEFT or SDL_HAT_DOWN # SDL_events.h constants - -type - TSDL_EventKind* = enum # kind of an SDL event - SDL_NOEVENT = 0, # Unused (do not remove) - SDL_ACTIVEEVENT = 1, # Application loses/gains visibility - SDL_KEYDOWN = 2, # Keys pressed - SDL_KEYUP = 3, # Keys released - SDL_MOUSEMOTION = 4, # Mouse moved - SDL_MOUSEBUTTONDOWN = 5, # Mouse button pressed - SDL_MOUSEBUTTONUP = 6, # Mouse button released - SDL_JOYAXISMOTION = 7, # Joystick axis motion - SDL_JOYBALLMOTION = 8, # Joystick trackball motion - SDL_JOYHATMOTION = 9, # Joystick hat position change - SDL_JOYBUTTONDOWN = 10, # Joystick button pressed - SDL_JOYBUTTONUP = 11, # Joystick button released - SDL_QUITEV = 12, # User-requested quit ( Changed due to procedure conflict ) - SDL_SYSWMEVENT = 13, # System specific event - SDL_EVENT_RESERVEDA = 14, # Reserved for future use.. - SDL_EVENT_RESERVED = 15, # Reserved for future use.. - SDL_VIDEORESIZE = 16, # User resized video mode - SDL_VIDEOEXPOSE = 17, # Screen needs to be redrawn - SDL_EVENT_RESERVED2 = 18, # Reserved for future use.. - SDL_EVENT_RESERVED3 = 19, # Reserved for future use.. - SDL_EVENT_RESERVED4 = 20, # Reserved for future use.. - SDL_EVENT_RESERVED5 = 21, # Reserved for future use.. - SDL_EVENT_RESERVED6 = 22, # Reserved for future use.. - SDL_EVENT_RESERVED7 = 23, # Reserved for future use.. - # Events SDL_USEREVENT through SDL_MAXEVENTS-1 are for your use - SDL_USEREVENT = 24 # This last event is only for bounding internal arrays - # It is the number of bits in the event mask datatype -- UInt32 - -const - SDL_NUMEVENTS* = 32 - SDL_ALLEVENTS* = 0xFFFFFFFF - SDL_ACTIVEEVENTMASK* = 1 shl ord(SDL_ACTIVEEVENT) - SDL_KEYDOWNMASK* = 1 shl ord(SDL_KEYDOWN) - SDL_KEYUPMASK* = 1 shl ord(SDL_KEYUP) - SDL_MOUSEMOTIONMASK* = 1 shl ord(SDL_MOUSEMOTION) - SDL_MOUSEBUTTONDOWNMASK* = 1 shl ord(SDL_MOUSEBUTTONDOWN) - SDL_MOUSEBUTTONUPMASK* = 1 shl ord(SDL_MOUSEBUTTONUP) - SDL_MOUSEEVENTMASK* = 1 shl ord(SDL_MOUSEMOTION) or 1 shl ord(SDL_MOUSEBUTTONDOWN) or - 1 shl ord(SDL_MOUSEBUTTONUP) - SDL_JOYAXISMOTIONMASK* = 1 shl ord(SDL_JOYAXISMOTION) - SDL_JOYBALLMOTIONMASK* = 1 shl ord(SDL_JOYBALLMOTION) - SDL_JOYHATMOTIONMASK* = 1 shl ord(SDL_JOYHATMOTION) - SDL_JOYBUTTONDOWNMASK* = 1 shl ord(SDL_JOYBUTTONDOWN) - SDL_JOYBUTTONUPMASK* = 1 shl ord(SDL_JOYBUTTONUP) - SDL_JOYEVENTMASK* = 1 shl ord(SDL_JOYAXISMOTION) or 1 shl ord(SDL_JOYBALLMOTION) or - 1 shl ord(SDL_JOYHATMOTION) or 1 shl ord(SDL_JOYBUTTONDOWN) or - 1 shl ord(SDL_JOYBUTTONUP) - SDL_VIDEORESIZEMASK* = 1 shl ord(SDL_VIDEORESIZE) - SDL_QUITMASK* = 1 shl ord(SDL_QUITEV) - SDL_SYSWMEVENTMASK* = 1 shl ord(SDL_SYSWMEVENT) - SDL_QUERY* = - 1 - SDL_IGNORE* = 0 - SDL_DISABLE* = 0 - SDL_ENABLE* = 1 #SDL_keyboard.h constants - # This is the mask which refers to all hotkey bindings - SDL_ALL_HOTKEYS* = 0xFFFFFFFF # Enable/Disable keyboard repeat. Keyboard repeat defaults to off. - # 'delay' is the initial delay in ms between the time when a key is - # pressed, and keyboard repeat begins. - # 'interval' is the time in ms between keyboard repeat events. - SDL_DEFAULT_REPEAT_DELAY* = 500 - SDL_DEFAULT_REPEAT_INTERVAL* = 30 # The keyboard syms have been cleverly chosen to map to ASCII - SDLK_UNKNOWN* = 0 - SDLK_FIRST* = 0 - SDLK_BACKSPACE* = 8 - SDLK_TAB* = 9 - SDLK_CLEAR* = 12 - SDLK_RETURN* = 13 - SDLK_PAUSE* = 19 - SDLK_ESCAPE* = 27 - SDLK_SPACE* = 32 - SDLK_EXCLAIM* = 33 - SDLK_QUOTEDBL* = 34 - SDLK_HASH* = 35 - SDLK_DOLLAR* = 36 - SDLK_AMPERSAND* = 38 - SDLK_QUOTE* = 39 - SDLK_LEFTPAREN* = 40 - SDLK_RIGHTPAREN* = 41 - SDLK_ASTERISK* = 42 - SDLK_PLUS* = 43 - SDLK_COMMA* = 44 - SDLK_MINUS* = 45 - SDLK_PERIOD* = 46 - SDLK_SLASH* = 47 - SDLK_0* = 48 - SDLK_1* = 49 - SDLK_2* = 50 - SDLK_3* = 51 - SDLK_4* = 52 - SDLK_5* = 53 - SDLK_6* = 54 - SDLK_7* = 55 - SDLK_8* = 56 - SDLK_9* = 57 - SDLK_COLON* = 58 - SDLK_SEMICOLON* = 59 - SDLK_LESS* = 60 - SDLK_EQUALS* = 61 - SDLK_GREATER* = 62 - SDLK_QUESTION* = 63 - SDLK_AT* = 64 # Skip uppercase letters - SDLK_LEFTBRACKET* = 91 - SDLK_BACKSLASH* = 92 - SDLK_RIGHTBRACKET* = 93 - SDLK_CARET* = 94 - SDLK_UNDERSCORE* = 95 - SDLK_BACKQUOTE* = 96 - SDLK_a* = 97 - SDLK_b* = 98 - SDLK_c* = 99 - SDLK_d* = 100 - SDLK_e* = 101 - SDLK_f* = 102 - SDLK_g* = 103 - SDLK_h* = 104 - SDLK_i* = 105 - SDLK_j* = 106 - SDLK_k* = 107 - SDLK_l* = 108 - SDLK_m* = 109 - SDLK_n* = 110 - SDLK_o* = 111 - SDLK_p* = 112 - SDLK_q* = 113 - SDLK_r* = 114 - SDLK_s* = 115 - SDLK_t* = 116 - SDLK_u* = 117 - SDLK_v* = 118 - SDLK_w* = 119 - SDLK_x* = 120 - SDLK_y* = 121 - SDLK_z* = 122 - SDLK_DELETE* = 127 # End of ASCII mapped keysyms - # International keyboard syms - SDLK_WORLD_0* = 160 # 0xA0 - SDLK_WORLD_1* = 161 - SDLK_WORLD_2* = 162 - SDLK_WORLD_3* = 163 - SDLK_WORLD_4* = 164 - SDLK_WORLD_5* = 165 - SDLK_WORLD_6* = 166 - SDLK_WORLD_7* = 167 - SDLK_WORLD_8* = 168 - SDLK_WORLD_9* = 169 - SDLK_WORLD_10* = 170 - SDLK_WORLD_11* = 171 - SDLK_WORLD_12* = 172 - SDLK_WORLD_13* = 173 - SDLK_WORLD_14* = 174 - SDLK_WORLD_15* = 175 - SDLK_WORLD_16* = 176 - SDLK_WORLD_17* = 177 - SDLK_WORLD_18* = 178 - SDLK_WORLD_19* = 179 - SDLK_WORLD_20* = 180 - SDLK_WORLD_21* = 181 - SDLK_WORLD_22* = 182 - SDLK_WORLD_23* = 183 - SDLK_WORLD_24* = 184 - SDLK_WORLD_25* = 185 - SDLK_WORLD_26* = 186 - SDLK_WORLD_27* = 187 - SDLK_WORLD_28* = 188 - SDLK_WORLD_29* = 189 - SDLK_WORLD_30* = 190 - SDLK_WORLD_31* = 191 - SDLK_WORLD_32* = 192 - SDLK_WORLD_33* = 193 - SDLK_WORLD_34* = 194 - SDLK_WORLD_35* = 195 - SDLK_WORLD_36* = 196 - SDLK_WORLD_37* = 197 - SDLK_WORLD_38* = 198 - SDLK_WORLD_39* = 199 - SDLK_WORLD_40* = 200 - SDLK_WORLD_41* = 201 - SDLK_WORLD_42* = 202 - SDLK_WORLD_43* = 203 - SDLK_WORLD_44* = 204 - SDLK_WORLD_45* = 205 - SDLK_WORLD_46* = 206 - SDLK_WORLD_47* = 207 - SDLK_WORLD_48* = 208 - SDLK_WORLD_49* = 209 - SDLK_WORLD_50* = 210 - SDLK_WORLD_51* = 211 - SDLK_WORLD_52* = 212 - SDLK_WORLD_53* = 213 - SDLK_WORLD_54* = 214 - SDLK_WORLD_55* = 215 - SDLK_WORLD_56* = 216 - SDLK_WORLD_57* = 217 - SDLK_WORLD_58* = 218 - SDLK_WORLD_59* = 219 - SDLK_WORLD_60* = 220 - SDLK_WORLD_61* = 221 - SDLK_WORLD_62* = 222 - SDLK_WORLD_63* = 223 - SDLK_WORLD_64* = 224 - SDLK_WORLD_65* = 225 - SDLK_WORLD_66* = 226 - SDLK_WORLD_67* = 227 - SDLK_WORLD_68* = 228 - SDLK_WORLD_69* = 229 - SDLK_WORLD_70* = 230 - SDLK_WORLD_71* = 231 - SDLK_WORLD_72* = 232 - SDLK_WORLD_73* = 233 - SDLK_WORLD_74* = 234 - SDLK_WORLD_75* = 235 - SDLK_WORLD_76* = 236 - SDLK_WORLD_77* = 237 - SDLK_WORLD_78* = 238 - SDLK_WORLD_79* = 239 - SDLK_WORLD_80* = 240 - SDLK_WORLD_81* = 241 - SDLK_WORLD_82* = 242 - SDLK_WORLD_83* = 243 - SDLK_WORLD_84* = 244 - SDLK_WORLD_85* = 245 - SDLK_WORLD_86* = 246 - SDLK_WORLD_87* = 247 - SDLK_WORLD_88* = 248 - SDLK_WORLD_89* = 249 - SDLK_WORLD_90* = 250 - SDLK_WORLD_91* = 251 - SDLK_WORLD_92* = 252 - SDLK_WORLD_93* = 253 - SDLK_WORLD_94* = 254 - SDLK_WORLD_95* = 255 # 0xFF - # Numeric keypad - SDLK_KP0* = 256 - SDLK_KP1* = 257 - SDLK_KP2* = 258 - SDLK_KP3* = 259 - SDLK_KP4* = 260 - SDLK_KP5* = 261 - SDLK_KP6* = 262 - SDLK_KP7* = 263 - SDLK_KP8* = 264 - SDLK_KP9* = 265 - SDLK_KP_PERIOD* = 266 - SDLK_KP_DIVIDE* = 267 - SDLK_KP_MULTIPLY* = 268 - SDLK_KP_MINUS* = 269 - SDLK_KP_PLUS* = 270 - SDLK_KP_ENTER* = 271 - SDLK_KP_EQUALS* = 272 # Arrows + Home/End pad - SDLK_UP* = 273 - SDLK_DOWN* = 274 - SDLK_RIGHT* = 275 - SDLK_LEFT* = 276 - SDLK_INSERT* = 277 - SDLK_HOME* = 278 - SDLK_END* = 279 - SDLK_PAGEUP* = 280 - SDLK_PAGEDOWN* = 281 # Function keys - SDLK_F1* = 282 - SDLK_F2* = 283 - SDLK_F3* = 284 - SDLK_F4* = 285 - SDLK_F5* = 286 - SDLK_F6* = 287 - SDLK_F7* = 288 - SDLK_F8* = 289 - SDLK_F9* = 290 - SDLK_F10* = 291 - SDLK_F11* = 292 - SDLK_F12* = 293 - SDLK_F13* = 294 - SDLK_F14* = 295 - SDLK_F15* = 296 # Key state modifier keys - SDLK_NUMLOCK* = 300 - SDLK_CAPSLOCK* = 301 - SDLK_SCROLLOCK* = 302 - SDLK_RSHIFT* = 303 - SDLK_LSHIFT* = 304 - SDLK_RCTRL* = 305 - SDLK_LCTRL* = 306 - SDLK_RALT* = 307 - SDLK_LALT* = 308 - SDLK_RMETA* = 309 - SDLK_LMETA* = 310 - SDLK_LSUPER* = 311 # Left "Windows" key - SDLK_RSUPER* = 312 # Right "Windows" key - SDLK_MODE* = 313 # "Alt Gr" key - SDLK_COMPOSE* = 314 # Multi-key compose key - # Miscellaneous function keys - SDLK_HELP* = 315 - SDLK_PRINT* = 316 - SDLK_SYSREQ* = 317 - SDLK_BREAK* = 318 - SDLK_MENU* = 319 - SDLK_POWER* = 320 # Power Macintosh power key - SDLK_EURO* = 321 # Some european keyboards - SDLK_GP2X_UP* = 0 - SDLK_GP2X_UPLEFT* = 1 - SDLK_GP2X_LEFT* = 2 - SDLK_GP2X_DOWNLEFT* = 3 - SDLK_GP2X_DOWN* = 4 - SDLK_GP2X_DOWNRIGHT* = 5 - SDLK_GP2X_RIGHT* = 6 - SDLK_GP2X_UPRIGHT* = 7 - SDLK_GP2X_START* = 8 - SDLK_GP2X_SELECT* = 9 - SDLK_GP2X_L* = 10 - SDLK_GP2X_R* = 11 - SDLK_GP2X_A* = 12 - SDLK_GP2X_B* = 13 - SDLK_GP2X_Y* = 14 - SDLK_GP2X_X* = 15 - SDLK_GP2X_VOLUP* = 16 - SDLK_GP2X_VOLDOWN* = 17 - SDLK_GP2X_CLICK* = 18 - -const # Enumeration of valid key mods (possibly OR'd together) - KMOD_NONE* = 0x00000000 - KMOD_LSHIFT* = 0x00000001 - KMOD_RSHIFT* = 0x00000002 - KMOD_LCTRL* = 0x00000040 - KMOD_RCTRL* = 0x00000080 - KMOD_LALT* = 0x00000100 - KMOD_RALT* = 0x00000200 - KMOD_LMETA* = 0x00000400 - KMOD_RMETA* = 0x00000800 - KMOD_NUM* = 0x00001000 - KMOD_CAPS* = 0x00002000 - KMOD_MODE* = 44000 - KMOD_RESERVED* = 0x00008000 - KMOD_CTRL* = (KMOD_LCTRL or KMOD_RCTRL) - KMOD_SHIFT* = (KMOD_LSHIFT or KMOD_RSHIFT) - KMOD_ALT* = (KMOD_LALT or KMOD_RALT) - KMOD_META* = (KMOD_LMETA or KMOD_RMETA) #SDL_video.h constants - # Transparency definitions: These define alpha as the opacity of a surface */ - SDL_ALPHA_OPAQUE* = 255 - SDL_ALPHA_TRANSPARENT* = 0 # These are the currently supported flags for the SDL_surface - # Available for SDL_CreateRGBSurface() or SDL_SetVideoMode() - SDL_SWSURFACE* = 0x00000000 # Surface is in system memory - SDL_HWSURFACE* = 0x00000001 # Surface is in video memory - SDL_ASYNCBLIT* = 0x00000004 # Use asynchronous blits if possible - # Available for SDL_SetVideoMode() - SDL_ANYFORMAT* = 0x10000000 # Allow any video depth/pixel-format - SDL_HWPALETTE* = 0x20000000 # Surface has exclusive palette - SDL_DOUBLEBUF* = 0x40000000 # Set up double-buffered video mode - SDL_FULLSCREEN* = 0x80000000 # Surface is a full screen display - SDL_OPENGL* = 0x00000002 # Create an OpenGL rendering context - SDL_OPENGLBLIT* = 0x00000002 # Create an OpenGL rendering context - SDL_RESIZABLE* = 0x00000010 # This video mode may be resized - SDL_NOFRAME* = 0x00000020 # No window caption or edge frame - # Used internally (read-only) - SDL_HWACCEL* = 0x00000100 # Blit uses hardware acceleration - SDL_SRCCOLORKEY* = 0x00001000 # Blit uses a source color key - SDL_RLEACCELOK* = 0x00002000 # Private flag - SDL_RLEACCEL* = 0x00004000 # Colorkey blit is RLE accelerated - SDL_SRCALPHA* = 0x00010000 # Blit uses source alpha blending - SDL_SRCCLIPPING* = 0x00100000 # Blit uses source clipping - SDL_PREALLOC* = 0x01000000 # Surface uses preallocated memory - # The most common video overlay formats. - # For an explanation of these pixel formats, see: - # http://www.webartz.com/fourcc/indexyuv.htm - # - # For information on the relationship between color spaces, see: - # - # http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html - SDL_YV12_OVERLAY* = 0x32315659 # Planar mode: Y + V + U (3 planes) - SDL_IYUV_OVERLAY* = 0x56555949 # Planar mode: Y + U + V (3 planes) - SDL_YUY2_OVERLAY* = 0x32595559 # Packed mode: Y0+U0+Y1+V0 (1 plane) - SDL_UYVY_OVERLAY* = 0x59565955 # Packed mode: U0+Y0+V0+Y1 (1 plane) - SDL_YVYU_OVERLAY* = 0x55595659 # Packed mode: Y0+V0+Y1+U0 (1 plane) - # flags for SDL_SetPalette() - SDL_LOGPAL* = 0x00000001 - SDL_PHYSPAL* = 0x00000002 #SDL_mouse.h constants - # Used as a mask when testing buttons in buttonstate - # Button 1: Left mouse button - # Button 2: Middle mouse button - # Button 3: Right mouse button - # Button 4: Mouse Wheel Up - # Button 5: Mouse Wheel Down - # - SDL_BUTTON_LEFT* = 1 - SDL_BUTTON_MIDDLE* = 2 - SDL_BUTTON_RIGHT* = 3 - SDL_BUTTON_WHEELUP* = 4 - SDL_BUTTON_WHEELDOWN* = 5 - SDL_BUTTON_LMASK* = SDL_PRESSED shl (SDL_BUTTON_LEFT - 1) - SDL_BUTTON_MMASK* = SDL_PRESSED shl (SDL_BUTTON_MIDDLE - 1) - SDL_BUTTON_RMask* = SDL_PRESSED shl (SDL_BUTTON_RIGHT - 1) # SDL_active.h constants - # The available application states - SDL_APPMOUSEFOCUS* = 0x00000001 # The app has mouse coverage - SDL_APPINPUTFOCUS* = 0x00000002 # The app has input focus - SDL_APPACTIVE* = 0x00000004 # The application is active - # SDL_mutex.h constants - # Synchronization functions which can time out return this value - # they time out. - SDL_MUTEX_TIMEDOUT* = 1 # This is the timeout value which corresponds to never time out - SDL_MUTEX_MAXWAIT* = not int(0) - SDL_GRAB_QUERY* = - 1 - SDL_GRAB_OFF* = 0 - SDL_GRAB_ON* = 1 #SDL_GRAB_FULLSCREEN // Used internally - -type - THandle* = int #SDL_types.h types - # Basic data types - TSDL_Bool* = enum - SDL_FALSE, SDL_TRUE - PUInt8Array* = ptr TUInt8Array - PUInt8* = ptr UInt8 - PPUInt8* = ptr PUInt8 - UInt8* = int8 - TUInt8Array* = array[0..high(int) shr 1, UInt8] - PUInt16* = ptr UInt16 - UInt16* = int16 - PSInt8* = ptr SInt8 - SInt8* = int8 - PSInt16* = ptr SInt16 - SInt16* = int16 - PUInt32* = ptr UInt32 - UInt32* = int - SInt32* = int - PInt* = ptr int - PShortInt* = ptr int8 - PUInt64* = ptr UInt64 - UInt64*{.final.} = object - hi*: UInt32 - lo*: UInt32 - - PSInt64* = ptr SInt64 - SInt64*{.final.} = object - hi*: UInt32 - lo*: UInt32 - - TSDL_GrabMode* = int # SDL_error.h types - TSDL_errorcode* = enum - SDL_ENOMEM, SDL_EFREAD, SDL_EFWRITE, SDL_EFSEEK, SDL_LASTERROR - SDL_errorcode* = TSDL_errorcode - TArg*{.final.} = object - buf*: array[0..ERR_MAX_STRLEN - 1, int8] - - PSDL_error* = ptr TSDL_error - TSDL_error*{.final.} = object # This is a numeric value corresponding to the current error - # SDL_rwops.h types - # This is the read/write operation structure -- very basic - # some helper types to handle the unions - # "packed" is only guessed - error*: int # This is a key used to index into a language hashtable containing - # internationalized versions of the SDL error messages. If the key - # is not in the hashtable, or no hashtable is available, the key is - # used directly as an error message format string. - key*: array[0..ERR_MAX_STRLEN - 1, int8] # These are the arguments for the error functions - argc*: int - args*: array[0..ERR_MAX_ARGS - 1, TArg] - - TStdio*{.final.} = object - autoclose*: int # FILE * is only defined in Kylix so we use a simple Pointer - fp*: Pointer - - TMem*{.final.} = object - base*: PUInt8 - here*: PUInt8 - stop*: PUInt8 - - TUnknown*{.final.} = object # first declare the pointer type - data1*: Pointer - - PSDL_RWops* = ptr TSDL_RWops # now the pointer to function types - TSeek* = proc (context: PSDL_RWops, offset: int, whence: int): int{.cdecl.} - TRead* = proc (context: PSDL_RWops, thePtr: Pointer, size: int, maxnum: int): int{. - cdecl.} - TWrite* = proc (context: PSDL_RWops, thePtr: Pointer, size: int, num: int): int{. - cdecl.} - TClose* = proc (context: PSDL_RWops): int{.cdecl.} # the variant record itself - trange010 = range[0..2] - TSDL_RWops*{.final.} = object - seek*: TSeek - read*: TRead - write*: TWrite - closeFile*: TClose # a keyword as name is not allowed - # be warned! structure alignment may arise at this point - case theType*: trange010 - of trange010(0): - stdio*: TStdio - of trange010(1): - mem*: TMem - of trange010(2): - unknown*: TUnknown - - - SDL_RWops* = TSDL_RWops # SDL_timer.h types - # Function prototype for the timer callback function - TSDL_TimerCallback* = proc (interval: UInt32): UInt32{.cdecl.} # New timer API, supports multiple timers - # Written by Stephane Peter - # - # Function prototype for the new timer callback function. - # The callback function is passed the current timer interval and returns - # the next timer interval. If the returned value is the same as the one - # passed in, the periodic alarm continues, otherwise a new alarm is - # scheduled. If the callback returns 0, the periodic alarm is cancelled. - TSDL_NewTimerCallback* = proc (interval: UInt32, param: Pointer): UInt32{. - cdecl.} # Definition of the timer ID type - PSDL_TimerID* = ptr TSDL_TimerID - TSDL_TimerID*{.final.} = object - interval*: UInt32 - callback*: TSDL_NewTimerCallback - param*: Pointer - last_alarm*: UInt32 - next*: PSDL_TimerID - - TSDL_AudioSpecCallback* = proc (userdata: Pointer, stream: PUInt8, length: int){. - cdecl.} # SDL_audio.h types - # The calculated values in this structure are calculated by SDL_OpenAudio() - PSDL_AudioSpec* = ptr TSDL_AudioSpec - TSDL_AudioSpec*{.final.} = object # A structure to hold a set of audio conversion filters and buffers - freq*: int # DSP frequency -- samples per second - format*: UInt16 # Audio data format - channels*: UInt8 # Number of channels: 1 mono, 2 stereo - silence*: UInt8 # Audio buffer silence value (calculated) - samples*: UInt16 # Audio buffer size in samples - padding*: UInt16 # Necessary for some compile environments - size*: UInt32 # Audio buffer size in bytes (calculated) - # This function is called when the audio device needs more data. - # 'stream' is a pointer to the audio data buffer - # 'len' is the length of that buffer in bytes. - # Once the callback returns, the buffer will no longer be valid. - # Stereo samples are stored in a LRLRLR ordering. - callback*: TSDL_AudioSpecCallback - userdata*: Pointer - - PSDL_AudioCVT* = ptr TSDL_AudioCVT - PSDL_AudioCVTFilter* = ptr TSDL_AudioCVTFilter - TSDL_AudioCVTFilter*{.final.} = object - cvt*: PSDL_AudioCVT - format*: UInt16 - - PSDL_AudioCVTFilterArray* = ptr TSDL_AudioCVTFilterArray - TSDL_AudioCVTFilterArray* = array[0..9, PSDL_AudioCVTFilter] - TSDL_AudioCVT*{.final.} = object - needed*: int # Set to 1 if conversion possible - src_format*: UInt16 # Source audio format - dst_format*: UInt16 # Target audio format - rate_incr*: float64 # Rate conversion increment - buf*: PUInt8 # Buffer to hold entire audio data - length*: int # Length of original audio buffer - len_cvt*: int # Length of converted audio buffer - len_mult*: int # buffer must be len*len_mult big - len_ratio*: float64 # Given len, final size is len*len_ratio - filters*: TSDL_AudioCVTFilterArray - filter_index*: int # Current audio conversion function - - TSDL_Audiostatus* = enum # SDL_cdrom.h types - SDL_AUDIO_STOPPED, SDL_AUDIO_PLAYING, SDL_AUDIO_PAUSED - TSDL_CDStatus* = enum - CD_ERROR, CD_TRAYEMPTY, CD_STOPPED, CD_PLAYING, CD_PAUSED - PSDL_CDTrack* = ptr TSDL_CDTrack - TSDL_CDTrack*{.final.} = object # This structure is only current as of the last call to SDL_CDStatus() - id*: UInt8 # Track number - theType*: UInt8 # Data or audio track - unused*: UInt16 - len*: UInt32 # Length, in frames, of this track - offset*: UInt32 # Offset, in frames, from start of disk - - PSDL_CD* = ptr TSDL_CD - TSDL_CD*{.final.} = object #SDL_joystick.h types - id*: int # Private drive identifier - status*: TSDL_CDStatus # Current drive status - # The rest of this structure is only valid if there's a CD in drive - numtracks*: int # Number of tracks on disk - cur_track*: int # Current track position - cur_frame*: int # Current frame offset within current track - track*: array[0..SDL_MAX_TRACKS, TSDL_CDTrack] - - PTransAxis* = ptr TTransAxis - TTransAxis*{.final.} = object # The private structure used to keep track of a joystick - offset*: int - scale*: float32 - - PJoystick_hwdata* = ptr TJoystick_hwdata - TJoystick_hwdata*{.final.} = object # joystick ID - id*: int # values used to translate device-specific coordinates into SDL-standard ranges - transaxis*: array[0..5, TTransAxis] - - PBallDelta* = ptr TBallDelta - TBallDelta*{.final.} = object # Current ball motion deltas - # The SDL joystick structure - dx*: int - dy*: int - - PSDL_Joystick* = ptr TSDL_Joystick - TSDL_Joystick*{.final.} = object # SDL_verion.h types - index*: UInt8 # Device index - name*: cstring # Joystick name - system dependent - naxes*: int # Number of axis controls on the joystick - axes*: PUInt16 # Current axis states - nhats*: int # Number of hats on the joystick - hats*: PUInt8 # Current hat states - nballs*: int # Number of trackballs on the joystick - balls*: PBallDelta # Current ball motion deltas - nbuttons*: int # Number of buttons on the joystick - buttons*: PUInt8 # Current button states - hwdata*: PJoystick_hwdata # Driver dependent information - ref_count*: int # Reference count for multiple opens - - PSDL_version* = ptr TSDL_version - TSDL_version*{.final.} = object # SDL_keyboard.h types - major*: UInt8 - minor*: UInt8 - patch*: UInt8 - - TSDLKey* = int32 - TSDLMod* = int32 - PSDL_KeySym* = ptr TSDL_KeySym - TSDL_KeySym*{.final.} = object # SDL_events.h types - #Checks the event queue for messages and optionally returns them. - # If 'action' is SDL_ADDEVENT, up to 'numevents' events will be added to - # the back of the event queue. - # If 'action' is SDL_PEEKEVENT, up to 'numevents' events at the front - # of the event queue, matching 'mask', will be returned and will not - # be removed from the queue. - # If 'action' is SDL_GETEVENT, up to 'numevents' events at the front - # of the event queue, matching 'mask', will be returned and will be - # removed from the queue. - # This function returns the number of events actually stored, or -1 - # if there was an error. This function is thread-safe. - scancode*: UInt8 # hardware specific scancode - sym*: TSDLKey # SDL virtual keysym - modifier*: TSDLMod # current key modifiers - unicode*: UInt16 # translated character - - TSDL_EventAction* = enum # Application visibility event structure - SDL_ADDEVENT, SDL_PEEKEVENT, SDL_GETEVENT - TSDL_ActiveEvent*{.final.} = object # SDL_ACTIVEEVENT - # Keyboard event structure - gain*: UInt8 # Whether given states were gained or lost (1/0) - state*: UInt8 # A mask of the focus states - - TSDL_KeyboardEvent*{.final.} = object # SDL_KEYDOWN or SDL_KEYUP - # Mouse motion event structure - which*: UInt8 # The keyboard device index - state*: UInt8 # SDL_PRESSED or SDL_RELEASED - keysym*: TSDL_KeySym - - TSDL_MouseMotionEvent*{.final.} = object # SDL_MOUSEMOTION - # Mouse button event structure - which*: UInt8 # The mouse device index - state*: UInt8 # The current button state - x*, y*: UInt16 # The X/Y coordinates of the mouse - xrel*: SInt16 # The relative motion in the X direction - yrel*: SInt16 # The relative motion in the Y direction - - TSDL_MouseButtonEvent*{.final.} = object # SDL_MOUSEBUTTONDOWN or SDL_MOUSEBUTTONUP - # Joystick axis motion event structure - which*: UInt8 # The mouse device index - button*: UInt8 # The mouse button index - state*: UInt8 # SDL_PRESSED or SDL_RELEASED - x*: UInt16 # The X coordinates of the mouse at press time - y*: UInt16 # The Y coordinates of the mouse at press time - - TSDL_JoyAxisEvent*{.final.} = object # SDL_JOYAXISMOTION - # Joystick trackball motion event structure - which*: UInt8 # The joystick device index - axis*: UInt8 # The joystick axis index - value*: SInt16 # The axis value (range: -32768 to 32767) - - TSDL_JoyBallEvent*{.final.} = object # SDL_JOYAVBALLMOTION - # Joystick hat position change event structure - which*: UInt8 # The joystick device index - ball*: UInt8 # The joystick trackball index - xrel*: SInt16 # The relative motion in the X direction - yrel*: SInt16 # The relative motion in the Y direction - - TSDL_JoyHatEvent*{.final.} = object # SDL_JOYHATMOTION */ - # Joystick button event structure - which*: UInt8 # The joystick device index */ - hat*: UInt8 # The joystick hat index */ - value*: UInt8 # The hat position value: - # 8 1 2 - # 7 0 3 - # 6 5 4 - # Note that zero means the POV is centered. - - TSDL_JoyButtonEvent*{.final.} = object # SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP - # The "window resized" event - # When you get this event, you are responsible for setting a new video - # mode with the new width and height. - which*: UInt8 # The joystick device index - button*: UInt8 # The joystick button index - state*: UInt8 # SDL_PRESSED or SDL_RELEASED - - TSDL_ResizeEvent*{.final.} = object # SDL_VIDEORESIZE - # A user-defined event type - w*: int # New width - h*: int # New height - - PSDL_UserEvent* = ptr TSDL_UserEvent - TSDL_UserEvent*{.final.} = object # SDL_USEREVENT through SDL_NUMEVENTS-1 - code*: int # User defined event code */ - data1*: Pointer # User defined data pointer */ - data2*: Pointer # User defined data pointer */ - - -when defined(Unix): - type #These are the various supported subsystems under UNIX - TSDL_SysWm* = enum - SDL_SYSWM_X11 -# The windows custom event structure - -when defined(WINDOWS): - type - PSDL_SysWMmsg* = ptr TSDL_SysWMmsg - TSDL_SysWMmsg*{.final.} = object - version*: TSDL_version - hwnd*: THandle # The window for the message - msg*: int # The type of message - w_Param*: int32 # WORD message parameter - lParam*: int32 # LONG message parameter - -elif defined(Unix): - type # The Linux custom event structure - PSDL_SysWMmsg* = ptr TSDL_SysWMmsg - TSDL_SysWMmsg*{.final.} = object - version*: TSDL_version - subsystem*: TSDL_SysWm - when false: - event*: TXEvent -else: - type # The generic custom event structure - PSDL_SysWMmsg* = ptr TSDL_SysWMmsg - TSDL_SysWMmsg*{.final.} = object - version*: TSDL_version - data*: int - -# The Windows custom window manager information structure - -when defined(WINDOWS): - type - PSDL_SysWMinfo* = ptr TSDL_SysWMinfo - TSDL_SysWMinfo*{.final.} = object - version*: TSDL_version - window*: THandle # The display window - -elif defined(Unix): - type - TX11*{.final.} = object - when false: - display*: PDisplay # The X11 display - window*: TWindow # The X11 display window - # These locking functions should be called around - # any X11 functions using the display variable. - # They lock the event thread, so should not be - # called around event functions or from event filters. - lock_func*: Pointer - unlock_func*: Pointer # Introduced in SDL 1.0.2 - fswindow*: TWindow # The X11 fullscreen window - wmwindow*: TWindow # The X11 managed input window - - type - PSDL_SysWMinfo* = ptr TSDL_SysWMinfo - TSDL_SysWMinfo*{.final.} = object - version*: TSDL_version - subsystem*: TSDL_SysWm - X11*: TX11 -else: - type # The generic custom window manager information structure - PSDL_SysWMinfo* = ptr TSDL_SysWMinfo - TSDL_SysWMinfo*{.final.} = object - version*: TSDL_version - data*: int - -type - PSDL_SysWMEvent* = ptr TSDL_SysWMEvent - TSDL_SysWMEvent*{.final.} = object - msg*: PSDL_SysWMmsg - - PSDL_Event* = ptr TSDL_Event - TSDL_Event*{.final.} = object # This function sets up a filter to process all events before they - # change internal state and are posted to the internal event queue. - # - # The filter is protypted as: - case theType*: TSDL_EventKind # SDL_NOEVENT, SDL_QUITEV: (); - of SDL_ACTIVEEVENT: - active*: TSDL_ActiveEvent - of SDL_KEYDOWN, SDL_KEYUP: - key*: TSDL_KeyboardEvent - of SDL_MOUSEMOTION: - motion*: TSDL_MouseMotionEvent - of SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONUP: - button*: TSDL_MouseButtonEvent - of SDL_JOYAXISMOTION: - jaxis*: TSDL_JoyAxisEvent - of SDL_JOYBALLMOTION: - jball*: TSDL_JoyBallEvent - of SDL_JOYHATMOTION: - jhat*: TSDL_JoyHatEvent - of SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP: - jbutton*: TSDL_JoyButtonEvent - of SDL_VIDEORESIZE: - resize*: TSDL_ResizeEvent - of SDL_USEREVENT: - user*: TSDL_UserEvent - of SDL_SYSWMEVENT: - syswm*: TSDL_SysWMEvent - else: - nil - - TSDL_EventFilter* = proc (event: PSDL_Event): int{.cdecl.} # SDL_video.h types - # Useful data types - PPSDL_Rect* = ptr PSDL_Rect - PSDL_Rect* = ptr TSDL_Rect - TSDL_Rect*{.final.} = object - x*, y*: SInt16 - w*, h*: UInt16 - - SDL_Rect* = TSDL_Rect - PSDL_Color* = ptr TSDL_Color - TSDL_Color*{.final.} = object - r*: UInt8 - g*: UInt8 - b*: UInt8 - unused*: UInt8 - - PSDL_ColorArray* = ptr TSDL_ColorArray - TSDL_ColorArray* = array[0..65000, TSDL_Color] - PSDL_Palette* = ptr TSDL_Palette - TSDL_Palette*{.final.} = object # Everything in the pixel format structure is read-only - ncolors*: int - colors*: PSDL_ColorArray - - PSDL_PixelFormat* = ptr TSDL_PixelFormat - TSDL_PixelFormat*{.final.} = object # The structure passed to the low level blit functions - palette*: PSDL_Palette - BitsPerPixel*: UInt8 - BytesPerPixel*: UInt8 - Rloss*: UInt8 - Gloss*: UInt8 - Bloss*: UInt8 - Aloss*: UInt8 - Rshift*: UInt8 - Gshift*: UInt8 - Bshift*: UInt8 - Ashift*: UInt8 - RMask*: UInt32 - GMask*: UInt32 - BMask*: UInt32 - AMask*: UInt32 - colorkey*: UInt32 # RGB color key information - alpha*: UInt8 # Alpha value information (per-surface alpha) - - PSDL_BlitInfo* = ptr TSDL_BlitInfo - TSDL_BlitInfo*{.final.} = object # typedef for private surface blitting functions - s_pixels*: PUInt8 - s_width*: int - s_height*: int - s_skip*: int - d_pixels*: PUInt8 - d_width*: int - d_height*: int - d_skip*: int - aux_data*: Pointer - src*: PSDL_PixelFormat - table*: PUInt8 - dst*: PSDL_PixelFormat - - PSDL_Surface* = ptr TSDL_Surface - TSDL_Blit* = proc (src: PSDL_Surface, srcrect: PSDL_Rect, dst: PSDL_Surface, - dstrect: PSDL_Rect): int{.cdecl.} - TSDL_Surface*{.final.} = object # Useful for determining the video hardware capabilities - flags*: UInt32 # Read-only - format*: PSDL_PixelFormat # Read-only - w*, h*: int # Read-only - pitch*: UInt16 # Read-only - pixels*: Pointer # Read-write - offset*: int # Private - hwdata*: Pointer #TPrivate_hwdata; Hardware-specific surface info - # clipping information: - clip_rect*: TSDL_Rect # Read-only - unused1*: UInt32 # for binary compatibility - # Allow recursive locks - locked*: UInt32 # Private - # info for fast blit mapping to other surfaces - Blitmap*: Pointer # PSDL_BlitMap; // Private - # format version, bumped at every change to invalidate blit maps - format_version*: int # Private - refcount*: int - - PSDL_VideoInfo* = ptr TSDL_VideoInfo - TSDL_VideoInfo*{.final.} = object # The YUV hardware video overlay - hw_available*: UInt8 # Hardware and WindowManager flags in first 2 bits ( see below ) - #hw_available: 1; // Can you create hardware surfaces - # wm_available: 1; // Can you talk to a window manager? - # UnusedBits1: 6; - blit_hw*: UInt8 # Blit Hardware flags. See below for which bits do what - #UnusedBits2: 1; - # blit_hw: 1; // Flag:UInt32 Accelerated blits HW --> HW - # blit_hw_CC: 1; // Flag:UInt32 Accelerated blits with Colorkey - # blit_hw_A: 1; // Flag:UInt32 Accelerated blits with Alpha - # blit_sw: 1; // Flag:UInt32 Accelerated blits SW --> HW - # blit_sw_CC: 1; // Flag:UInt32 Accelerated blits with Colorkey - # blit_sw_A: 1; // Flag:UInt32 Accelerated blits with Alpha - # blit_fill: 1; // Flag:UInt32 Accelerated color fill - UnusedBits3*: UInt8 # Unused at this point - video_mem*: UInt32 # The total amount of video memory (in K) - vfmt*: PSDL_PixelFormat # Value: The format of the video surface - current_w*: SInt32 # Value: The current video mode width - current_h*: SInt32 # Value: The current video mode height - - PSDL_Overlay* = ptr TSDL_Overlay - TSDL_Overlay*{.final.} = object # Public enumeration for setting the OpenGL window attributes. - format*: UInt32 # Overlay format - w*, h*: int # Width and height of overlay - planes*: int # Number of planes in the overlay. Usually either 1 or 3 - pitches*: PUInt16 # An array of pitches, one for each plane. Pitch is the length of a row in bytes. - pixels*: PPUInt8 # An array of pointers to the data of each plane. The overlay should be locked before these pointers are used. - hw_overlay*: UInt32 # This will be set to 1 if the overlay is hardware accelerated. - - TSDL_GLAttr* = enum - SDL_GL_RED_SIZE, SDL_GL_GREEN_SIZE, SDL_GL_BLUE_SIZE, SDL_GL_ALPHA_SIZE, - SDL_GL_BUFFER_SIZE, SDL_GL_DOUBLEBUFFER, SDL_GL_DEPTH_SIZE, - SDL_GL_STENCIL_SIZE, SDL_GL_ACCUM_RED_SIZE, SDL_GL_ACCUM_GREEN_SIZE, - SDL_GL_ACCUM_BLUE_SIZE, SDL_GL_ACCUM_ALPHA_SIZE, SDL_GL_STEREO, - SDL_GL_MULTISAMPLEBUFFERS, SDL_GL_MULTISAMPLESAMPLES, - SDL_GL_ACCELERATED_VISUAL, SDL_GL_SWAP_CONTROL - PSDL_Cursor* = ptr TSDL_Cursor - TSDL_Cursor*{.final.} = object # SDL_mutex.h types - area*: TSDL_Rect # The area of the mouse cursor - hot_x*, hot_y*: SInt16 # The "tip" of the cursor - data*: PUInt8 # B/W cursor data - mask*: PUInt8 # B/W cursor mask - save*: array[1..2, PUInt8] # Place to save cursor area - wm_cursor*: Pointer # Window-manager cursor - - -type - PSDL_Mutex* = ptr TSDL_Mutex - TSDL_Mutex*{.final.} = object - PSDL_semaphore* = ptr TSDL_semaphore - TSDL_semaphore*{.final.} = object - PSDL_Sem* = ptr TSDL_Sem - TSDL_Sem* = TSDL_Semaphore - PSDL_Cond* = ptr TSDL_Cond - TSDL_Cond*{.final.} = object # SDL_thread.h types - -when defined(WINDOWS): - type - TSYS_ThreadHandle* = THandle -when defined(Unix): - type - TSYS_ThreadHandle* = pointer -type # This is the system-independent thread info structure - PSDL_Thread* = ptr TSDL_Thread - TSDL_Thread*{.final.} = object # Helper Types - # Keyboard State Array ( See demos for how to use ) - threadid*: UInt32 - handle*: TSYS_ThreadHandle - status*: int - errbuf*: TSDL_Error - data*: Pointer - - PKeyStateArr* = ptr TKeyStateArr - TKeyStateArr* = array[0..65000, UInt8] # Types required so we don't need to use Windows.pas - PInteger* = ptr int - PByte* = ptr int8 - PWord* = ptr int16 - PLongWord* = ptr int32 # General arrays - PByteArray* = ptr TByteArray - TByteArray* = array[0..32767, int8] - PWordArray* = ptr TWordArray - TWordArray* = array[0..16383, int16] # Generic procedure pointer - TProcedure* = proc () #------------------------------------------------------------------------------ - # initialization - #------------------------------------------------------------------------------ - # This function loads the SDL dynamically linked library and initializes - # the subsystems specified by 'flags' (and those satisfying dependencies) - # Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup - # signal handlers for some commonly ignored fatal signals (like SIGSEGV) - -proc SDL_Init*(flags: UInt32): int{.cdecl, importc, dynlib: SDLLibName.} - # This function initializes specific SDL subsystems -proc SDL_InitSubSystem*(flags: UInt32): int{.cdecl, importc, dynlib: SDLLibName.} - # This function cleans up specific SDL subsystems -proc SDL_QuitSubSystem*(flags: UInt32){.cdecl, importc, dynlib: SDLLibName.} - # This function returns mask of the specified subsystems which have - # been initialized. - # If 'flags' is 0, it returns a mask of all initialized subsystems. -proc SDL_WasInit*(flags: UInt32): UInt32{.cdecl, importc, dynlib: SDLLibName.} - # This function cleans up all initialized subsystems and unloads the - # dynamically linked library. You should call it upon all exit conditions. -proc SDL_Quit*(){.cdecl, importc, dynlib: SDLLibName.} -when defined(WINDOWS): - # This should be called from your WinMain() function, if any - proc SDL_RegisterApp*(name: cstring, style: UInt32, h_Inst: Pointer): int{. - cdecl, importc, dynlib: SDLLibName.} -#------------------------------------------------------------------------------ -# types -#------------------------------------------------------------------------------ -# The number of elements in a table - -proc SDL_TableSize*(table: cstring): int - #------------------------------------------------------------------------------ - # error-handling - #------------------------------------------------------------------------------ - # Public functions -proc SDL_GetError*(): cstring{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_SetError*(fmt: cstring){.cdecl, importc, dynlib: SDLLibName.} -proc SDL_ClearError*(){.cdecl, importc, dynlib: SDLLibName.} -when not(defined(WINDOWS)): - proc SDL_Error*(Code: TSDL_errorcode){.cdecl, importc, dynlib: SDLLibName.} -# Private error message function - used internally - -proc SDL_OutOfMemory*() - #------------------------------------------------------------------------------ - # io handling - #------------------------------------------------------------------------------ - # Functions to create SDL_RWops structures from various data sources -proc SDL_RWFromFile*(filename, mode: cstring): PSDL_RWops{.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_FreeRW*(area: PSDL_RWops){.cdecl, importc, dynlib: SDLLibName.} - #fp is FILE *fp ??? -proc SDL_RWFromFP*(fp: Pointer, autoclose: int): PSDL_RWops{.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_RWFromMem*(mem: Pointer, size: int): PSDL_RWops{.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_RWFromConstMem*(mem: Pointer, size: int): PSDL_RWops{.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_AllocRW*(): PSDL_RWops{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_RWSeek*(context: PSDL_RWops, offset: int, whence: int): int -proc SDL_RWTell*(context: PSDL_RWops): int -proc SDL_RWRead*(context: PSDL_RWops, theptr: Pointer, size: int, n: int): int -proc SDL_RWWrite*(context: PSDL_RWops, theptr: Pointer, size: int, n: int): int -proc SDL_RWClose*(context: PSDL_RWops): int - #------------------------------------------------------------------------------ - # time-handling - #------------------------------------------------------------------------------ - # Get the number of milliseconds since the SDL library initialization. - # Note that this value wraps if the program runs for more than ~49 days. -proc SDL_GetTicks*(): UInt32{.cdecl, importc, dynlib: SDLLibName.} - # Wait a specified number of milliseconds before returning -proc SDL_Delay*(msec: UInt32){.cdecl, importc, dynlib: SDLLibName.} - # Add a new timer to the pool of timers already running. - # Returns a timer ID, or NULL when an error occurs. -proc SDL_AddTimer*(interval: UInt32, callback: TSDL_NewTimerCallback, - param: Pointer): PSDL_TimerID{.cdecl, importc, dynlib: SDLLibName.} - # Remove one of the multiple timers knowing its ID. - # Returns a boolean value indicating success. -proc SDL_RemoveTimer*(t: PSDL_TimerID): TSDL_Bool{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_SetTimer*(interval: UInt32, callback: TSDL_TimerCallback): int{.cdecl, - importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # audio-routines - #------------------------------------------------------------------------------ - # These functions are used internally, and should not be used unless you - # have a specific need to specify the audio driver you want to use. - # You should normally use SDL_Init() or SDL_InitSubSystem(). -proc SDL_AudioInit*(driver_name: cstring): int{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_AudioQuit*(){.cdecl, importc, dynlib: SDLLibName.} - # This function fills the given character buffer with the name of the - # current audio driver, and returns a Pointer to it if the audio driver has - # been initialized. It returns NULL if no driver has been initialized. -proc SDL_AudioDriverName*(namebuf: cstring, maxlen: int): cstring{.cdecl, - importc, dynlib: SDLLibName.} - # This function opens the audio device with the desired parameters, and - # returns 0 if successful, placing the actual hardware parameters in the - # structure pointed to by 'obtained'. If 'obtained' is NULL, the audio - # data passed to the callback function will be guaranteed to be in the - # requested format, and will be automatically converted to the hardware - # audio format if necessary. This function returns -1 if it failed - # to open the audio device, or couldn't set up the audio thread. - # - # When filling in the desired audio spec structure, - # 'desired->freq' should be the desired audio frequency in samples-per-second. - # 'desired->format' should be the desired audio format. - # 'desired->samples' is the desired size of the audio buffer, in samples. - # This number should be a power of two, and may be adjusted by the audio - # driver to a value more suitable for the hardware. Good values seem to - # range between 512 and 8096 inclusive, depending on the application and - # CPU speed. Smaller values yield faster response time, but can lead - # to underflow if the application is doing heavy processing and cannot - # fill the audio buffer in time. A stereo sample consists of both right - # and left channels in LR ordering. - # Note that the number of samples is directly related to time by the - # following formula: ms = (samples*1000)/freq - # 'desired->size' is the size in bytes of the audio buffer, and is - # calculated by SDL_OpenAudio(). - # 'desired->silence' is the value used to set the buffer to silence, - # and is calculated by SDL_OpenAudio(). - # 'desired->callback' should be set to a function that will be called - # when the audio device is ready for more data. It is passed a pointer - # to the audio buffer, and the length in bytes of the audio buffer. - # This function usually runs in a separate thread, and so you should - # protect data structures that it accesses by calling SDL_LockAudio() - # and SDL_UnlockAudio() in your code. - # 'desired->userdata' is passed as the first parameter to your callback - # function. - # - # The audio device starts out playing silence when it's opened, and should - # be enabled for playing by calling SDL_PauseAudio(0) when you are ready - # for your audio callback function to be called. Since the audio driver - # may modify the requested size of the audio buffer, you should allocate - # any local mixing buffers after you open the audio device. -proc SDL_OpenAudio*(desired, obtained: PSDL_AudioSpec): int{.cdecl, - importc, dynlib: SDLLibName.} - # Get the current audio state: -proc SDL_GetAudioStatus*(): TSDL_Audiostatus{.cdecl, importc, dynlib: SDLLibName.} - # This function pauses and unpauses the audio callback processing. - # It should be called with a parameter of 0 after opening the audio - # device to start playing sound. This is so you can safely initialize - # data for your callback function after opening the audio device. - # Silence will be written to the audio device during the pause. -proc SDL_PauseAudio*(pause_on: int){.cdecl, importc, dynlib: SDLLibName.} - # This function loads a WAVE from the data source, automatically freeing - # that source if 'freesrc' is non-zero. For example, to load a WAVE file, - # you could do: - # SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); - # - # If this function succeeds, it returns the given SDL_AudioSpec, - # filled with the audio data format of the wave data, and sets - # 'audio_buf' to a malloc()'d buffer containing the audio data, - # and sets 'audio_len' to the length of that audio buffer, in bytes. - # You need to free the audio buffer with SDL_FreeWAV() when you are - # done with it. - # - # This function returns NULL and sets the SDL error message if the - # wave file cannot be opened, uses an unknown data format, or is - # corrupt. Currently raw and MS-ADPCM WAVE files are supported. -proc SDL_LoadWAV_RW*(src: PSDL_RWops, freesrc: int, spec: PSDL_AudioSpec, - audio_buf: PUInt8, audiolen: PUInt32): PSDL_AudioSpec{. - cdecl, importc, dynlib: SDLLibName.} - # Compatibility convenience function -- loads a WAV from a file -proc SDL_LoadWAV*(filename: cstring, spec: PSDL_AudioSpec, audio_buf: PUInt8, - audiolen: PUInt32): PSDL_AudioSpec - # This function frees data previously allocated with SDL_LoadWAV_RW() -proc SDL_FreeWAV*(audio_buf: PUInt8){.cdecl, importc, dynlib: SDLLibName.} - # This function takes a source format and rate and a destination format - # and rate, and initializes the 'cvt' structure with information needed - # by SDL_ConvertAudio() to convert a buffer of audio data from one format - # to the other. - # This function returns 0, or -1 if there was an error. -proc SDL_BuildAudioCVT*(cvt: PSDL_AudioCVT, src_format: UInt16, - src_channels: UInt8, src_rate: int, dst_format: UInt16, - dst_channels: UInt8, dst_rate: int): int{.cdecl, - importc, dynlib: SDLLibName.} - # Once you have initialized the 'cvt' structure using SDL_BuildAudioCVT(), - # created an audio buffer cvt->buf, and filled it with cvt->len bytes of - # audio data in the source format, this function will convert it in-place - # to the desired format. - # The data conversion may expand the size of the audio data, so the buffer - # cvt->buf should be allocated after the cvt structure is initialized by - # SDL_BuildAudioCVT(), and should be cvt->len*cvt->len_mult bytes long. -proc SDL_ConvertAudio*(cvt: PSDL_AudioCVT): int{.cdecl, importc, dynlib: SDLLibName.} - # This takes two audio buffers of the playing audio format and mixes - # them, performing addition, volume adjustment, and overflow clipping. - # The volume ranges from 0 - 128, and should be set to SDL_MIX_MAXVOLUME - # for full audio volume. Note this does not change hardware volume. - # This is provided for convenience -- you can mix your own audio data. -proc SDL_MixAudio*(dst, src: PUInt8, length: UInt32, volume: int){.cdecl, - importc, dynlib: SDLLibName.} - # The lock manipulated by these functions protects the callback function. - # During a LockAudio/UnlockAudio pair, you can be guaranteed that the - # callback function is not running. Do not call these from the callback - # function or you will cause deadlock. -proc SDL_LockAudio*(){.cdecl, importc, dynlib: SDLLibName.} -proc SDL_UnlockAudio*(){.cdecl, importc, dynlib: SDLLibName.} - # This function shuts down audio processing and closes the audio device. -proc SDL_CloseAudio*(){.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # CD-routines - #------------------------------------------------------------------------------ - # Returns the number of CD-ROM drives on the system, or -1 if - # SDL_Init() has not been called with the SDL_INIT_CDROM flag. -proc SDL_CDNumDrives*(): int{.cdecl, importc, dynlib: SDLLibName.} - # Returns a human-readable, system-dependent identifier for the CD-ROM. - # Example: - # "/dev/cdrom" - # "E:" - # "/dev/disk/ide/1/master" -proc SDL_CDName*(drive: int): cstring{.cdecl, importc, dynlib: SDLLibName.} - # Opens a CD-ROM drive for access. It returns a drive handle on success, - # or NULL if the drive was invalid or busy. This newly opened CD-ROM - # becomes the default CD used when other CD functions are passed a NULL - # CD-ROM handle. - # Drives are numbered starting with 0. Drive 0 is the system default CD-ROM. -proc SDL_CDOpen*(drive: int): PSDL_CD{.cdecl, importc, dynlib: SDLLibName.} - # This function returns the current status of the given drive. - # If the drive has a CD in it, the table of contents of the CD and current - # play position of the CD will be stored in the SDL_CD structure. -proc SDL_CDStatus*(cdrom: PSDL_CD): TSDL_CDStatus{.cdecl, importc, dynlib: SDLLibName.} - # Play the given CD starting at 'start_track' and 'start_frame' for 'ntracks' - # tracks and 'nframes' frames. If both 'ntrack' and 'nframe' are 0, play - # until the end of the CD. This function will skip data tracks. - # This function should only be called after calling SDL_CDStatus() to - # get track information about the CD. - # - # For example: - # // Play entire CD: - # if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) then - # SDL_CDPlayTracks(cdrom, 0, 0, 0, 0); - # // Play last track: - # if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) then - # begin - # SDL_CDPlayTracks(cdrom, cdrom->numtracks-1, 0, 0, 0); - # end; - # - # // Play first and second track and 10 seconds of third track: - # if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) - # SDL_CDPlayTracks(cdrom, 0, 0, 2, 10); - # - # This function returns 0, or -1 if there was an error. -proc SDL_CDPlayTracks*(cdrom: PSDL_CD, start_track: int, start_frame: int, - ntracks: int, nframes: int): int{.cdecl, - importc, dynlib: SDLLibName.} - # Play the given CD starting at 'start' frame for 'length' frames. - # It returns 0, or -1 if there was an error. -proc SDL_CDPlay*(cdrom: PSDL_CD, start: int, len: int): int{.cdecl, - importc, dynlib: SDLLibName.} - # Pause play -- returns 0, or -1 on error -proc SDL_CDPause*(cdrom: PSDL_CD): int{.cdecl, importc, dynlib: SDLLibName.} - # Resume play -- returns 0, or -1 on error -proc SDL_CDResume*(cdrom: PSDL_CD): int{.cdecl, importc, dynlib: SDLLibName.} - # Stop play -- returns 0, or -1 on error -proc SDL_CDStop*(cdrom: PSDL_CD): int{.cdecl, importc, dynlib: SDLLibName.} - # Eject CD-ROM -- returns 0, or -1 on error -proc SDL_CDEject*(cdrom: PSDL_CD): int{.cdecl, importc, dynlib: SDLLibName.} - # Closes the handle for the CD-ROM drive -proc SDL_CDClose*(cdrom: PSDL_CD){.cdecl, importc, dynlib: SDLLibName.} - # Given a status, returns true if there's a disk in the drive -proc SDL_CDInDrive*(status: TSDL_CDStatus): bool - # Conversion functions from frames to Minute/Second/Frames and vice versa -proc FRAMES_TO_MSF*(frames: int, M: var int, S: var int, F: var int) -proc MSF_TO_FRAMES*(M: int, S: int, F: int): int - #------------------------------------------------------------------------------ - # JoyStick-routines - #------------------------------------------------------------------------------ - # Count the number of joysticks attached to the system -proc SDL_NumJoysticks*(): int{.cdecl, importc, dynlib: SDLLibName.} - # Get the implementation dependent name of a joystick. - # This can be called before any joysticks are opened. - # If no name can be found, this function returns NULL. -proc SDL_JoystickName*(index: int): cstring{.cdecl, importc, dynlib: SDLLibName.} - # Open a joystick for use - the index passed as an argument refers to - # the N'th joystick on the system. This index is the value which will - # identify this joystick in future joystick events. - # - # This function returns a joystick identifier, or NULL if an error occurred. -proc SDL_JoystickOpen*(index: int): PSDL_Joystick{.cdecl, importc, dynlib: SDLLibName.} - # Returns 1 if the joystick has been opened, or 0 if it has not. -proc SDL_JoystickOpened*(index: int): int{.cdecl, importc, dynlib: SDLLibName.} - # Get the device index of an opened joystick. -proc SDL_JoystickIndex*(joystick: PSDL_Joystick): int{.cdecl, importc, dynlib: SDLLibName.} - # Get the number of general axis controls on a joystick -proc SDL_JoystickNumAxes*(joystick: PSDL_Joystick): int{.cdecl, - importc, dynlib: SDLLibName.} - # Get the number of trackballs on a joystick - # Joystick trackballs have only relative motion events associated - # with them and their state cannot be polled. -proc SDL_JoystickNumBalls*(joystick: PSDL_Joystick): int{.cdecl, - importc, dynlib: SDLLibName.} - # Get the number of POV hats on a joystick -proc SDL_JoystickNumHats*(joystick: PSDL_Joystick): int{.cdecl, - importc, dynlib: SDLLibName.} - # Get the number of buttons on a joystick -proc SDL_JoystickNumButtons*(joystick: PSDL_Joystick): int{.cdecl, - importc, dynlib: SDLLibName.} - # Update the current state of the open joysticks. - # This is called automatically by the event loop if any joystick - # events are enabled. -proc SDL_JoystickUpdate*(){.cdecl, importc, dynlib: SDLLibName.} - # Enable/disable joystick event polling. - # If joystick events are disabled, you must call SDL_JoystickUpdate() - # yourself and check the state of the joystick when you want joystick - # information. - # The state can be one of SDL_QUERY, SDL_ENABLE or SDL_IGNORE. -proc SDL_JoystickEventState*(state: int): int{.cdecl, importc, dynlib: SDLLibName.} - # Get the current state of an axis control on a joystick - # The state is a value ranging from -32768 to 32767. - # The axis indices start at index 0. -proc SDL_JoystickGetAxis*(joystick: PSDL_Joystick, axis: int): SInt16{.cdecl, - importc, dynlib: SDLLibName.} - # The hat indices start at index 0. -proc SDL_JoystickGetHat*(joystick: PSDL_Joystick, hat: int): UInt8{.cdecl, - importc, dynlib: SDLLibName.} - # Get the ball axis change since the last poll - # This returns 0, or -1 if you passed it invalid parameters. - # The ball indices start at index 0. -proc SDL_JoystickGetBall*(joystick: PSDL_Joystick, ball: int, dx: var int, - dy: var int): int{.cdecl, importc, dynlib: SDLLibName.} - # Get the current state of a button on a joystick - # The button indices start at index 0. -proc SDL_JoystickGetButton*(joystick: PSDL_Joystick, Button: int): UInt8{.cdecl, - importc, dynlib: SDLLibName.} - # Close a joystick previously opened with SDL_JoystickOpen() -proc SDL_JoystickClose*(joystick: PSDL_Joystick){.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # event-handling - #------------------------------------------------------------------------------ - # Pumps the event loop, gathering events from the input devices. - # This function updates the event queue and internal input device state. - # This should only be run in the thread that sets the video mode. -proc SDL_PumpEvents*(){.cdecl, importc, dynlib: SDLLibName.} - # Checks the event queue for messages and optionally returns them. - # If 'action' is SDL_ADDEVENT, up to 'numevents' events will be added to - # the back of the event queue. - # If 'action' is SDL_PEEKEVENT, up to 'numevents' events at the front - # of the event queue, matching 'mask', will be returned and will not - # be removed from the queue. - # If 'action' is SDL_GETEVENT, up to 'numevents' events at the front - # of the event queue, matching 'mask', will be returned and will be - # removed from the queue. - # This function returns the number of events actually stored, or -1 - # if there was an error. This function is thread-safe. -proc SDL_PeepEvents*(events: PSDL_Event, numevents: int, - action: TSDL_eventaction, mask: UInt32): int{.cdecl, - importc, dynlib: SDLLibName.} - # Polls for currently pending events, and returns 1 if there are any pending - # events, or 0 if there are none available. If 'event' is not NULL, the next - # event is removed from the queue and stored in that area. -proc SDL_PollEvent*(event: PSDL_Event): int{.cdecl, importc, dynlib: SDLLibName.} - # Waits indefinitely for the next available event, returning 1, or 0 if there - # was an error while waiting for events. If 'event' is not NULL, the next - # event is removed from the queue and stored in that area. -proc SDL_WaitEvent*(event: PSDL_Event): int{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_PushEvent*(event: PSDL_Event): int{.cdecl, importc, dynlib: SDLLibName.} - # If the filter returns 1, then the event will be added to the internal queue. - # If it returns 0, then the event will be dropped from the queue, but the - # internal state will still be updated. This allows selective filtering of - # dynamically arriving events. - # - # WARNING: Be very careful of what you do in the event filter function, as - # it may run in a different thread! - # - # There is one caveat when dealing with the SDL_QUITEVENT event type. The - # event filter is only called when the window manager desires to close the - # application window. If the event filter returns 1, then the window will - # be closed, otherwise the window will remain open if possible. - # If the quit event is generated by an interrupt signal, it will bypass the - # internal queue and be delivered to the application at the next event poll. -proc SDL_SetEventFilter*(filter: TSDL_EventFilter){.cdecl, importc, dynlib: SDLLibName.} - # Return the current event filter - can be used to "chain" filters. - # If there is no event filter set, this function returns NULL. -proc SDL_GetEventFilter*(): TSDL_EventFilter{.cdecl, importc, dynlib: SDLLibName.} - # This function allows you to set the state of processing certain events. - # If 'state' is set to SDL_IGNORE, that event will be automatically dropped - # from the event queue and will not event be filtered. - # If 'state' is set to SDL_ENABLE, that event will be processed normally. - # If 'state' is set to SDL_QUERY, SDL_EventState() will return the - # current processing state of the specified event. -proc SDL_EventState*(theType: UInt8, state: int): UInt8{.cdecl, - importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # Version Routines - #------------------------------------------------------------------------------ - # This macro can be used to fill a version structure with the compile-time - # version of the SDL library. -proc SDL_VERSION*(X: var TSDL_Version) - # This macro turns the version numbers into a numeric value: - # (1,2,3) -> (1203) - # This assumes that there will never be more than 100 patchlevels -proc SDL_VERSIONNUM*(X, Y, Z: int): int - # This is the version number macro for the current SDL version -proc SDL_COMPILEDVERSION*(): int - # This macro will evaluate to true if compiled with SDL at least X.Y.Z -proc SDL_VERSION_ATLEAST*(X: int, Y: int, Z: int): bool - # This function gets the version of the dynamically linked SDL library. - # it should NOT be used to fill a version structure, instead you should - # use the SDL_Version() macro. -proc SDL_Linked_Version*(): PSDL_version{.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # video - #------------------------------------------------------------------------------ - # These functions are used internally, and should not be used unless you - # have a specific need to specify the video driver you want to use. - # You should normally use SDL_Init() or SDL_InitSubSystem(). - # - # SDL_VideoInit() initializes the video subsystem -- sets up a connection - # to the window manager, etc, and determines the current video mode and - # pixel format, but does not initialize a window or graphics mode. - # Note that event handling is activated by this routine. - # - # If you use both sound and video in your application, you need to call - # SDL_Init() before opening the sound device, otherwise under Win32 DirectX, - # you won't be able to set full-screen display modes. -proc SDL_VideoInit*(driver_name: cstring, flags: UInt32): int{.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_VideoQuit*(){.cdecl, importc, dynlib: SDLLibName.} - # This function fills the given character buffer with the name of the - # video driver, and returns a pointer to it if the video driver has - # been initialized. It returns NULL if no driver has been initialized. -proc SDL_VideoDriverName*(namebuf: cstring, maxlen: int): cstring{.cdecl, - importc, dynlib: SDLLibName.} - # This function returns a pointer to the current display surface. - # If SDL is doing format conversion on the display surface, this - # function returns the publicly visible surface, not the real video - # surface. -proc SDL_GetVideoSurface*(): PSDL_Surface{.cdecl, importc, dynlib: SDLLibName.} - # This function returns a read-only pointer to information about the - # video hardware. If this is called before SDL_SetVideoMode(), the 'vfmt' - # member of the returned structure will contain the pixel format of the - # "best" video mode. -proc SDL_GetVideoInfo*(): PSDL_VideoInfo{.cdecl, importc, dynlib: SDLLibName.} - # Check to see if a particular video mode is supported. - # It returns 0 if the requested mode is not supported under any bit depth, - # or returns the bits-per-pixel of the closest available mode with the - # given width and height. If this bits-per-pixel is different from the - # one used when setting the video mode, SDL_SetVideoMode() will succeed, - # but will emulate the requested bits-per-pixel with a shadow surface. - # - # The arguments to SDL_VideoModeOK() are the same ones you would pass to - # SDL_SetVideoMode() -proc SDL_VideoModeOK*(width, height, bpp: int, flags: UInt32): int{.cdecl, - importc, importc, dynlib: SDLLibName.} - # Return a pointer to an array of available screen dimensions for the - # given format and video flags, sorted largest to smallest. Returns - # NULL if there are no dimensions available for a particular format, - # or (SDL_Rect **)-1 if any dimension is okay for the given format. - # - # if 'format' is NULL, the mode list will be for the format given - # by SDL_GetVideoInfo( ) - > vfmt -proc SDL_ListModes*(format: PSDL_PixelFormat, flags: UInt32): PPSDL_Rect{.cdecl, - importc, dynlib: SDLLibName.} - # Set up a video mode with the specified width, height and bits-per-pixel. - # - # If 'bpp' is 0, it is treated as the current display bits per pixel. - # - # If SDL_ANYFORMAT is set in 'flags', the SDL library will try to set the - # requested bits-per-pixel, but will return whatever video pixel format is - # available. The default is to emulate the requested pixel format if it - # is not natively available. - # - # If SDL_HWSURFACE is set in 'flags', the video surface will be placed in - # video memory, if possible, and you may have to call SDL_LockSurface() - # in order to access the raw framebuffer. Otherwise, the video surface - # will be created in system memory. - # - # If SDL_ASYNCBLIT is set in 'flags', SDL will try to perform rectangle - # updates asynchronously, but you must always lock before accessing pixels. - # SDL will wait for updates to complete before returning from the lock. - # - # If SDL_HWPALETTE is set in 'flags', the SDL library will guarantee - # that the colors set by SDL_SetColors() will be the colors you get. - # Otherwise, in 8-bit mode, SDL_SetColors() may not be able to set all - # of the colors exactly the way they are requested, and you should look - # at the video surface structure to determine the actual palette. - # If SDL cannot guarantee that the colors you request can be set, - # i.e. if the colormap is shared, then the video surface may be created - # under emulation in system memory, overriding the SDL_HWSURFACE flag. - # - # If SDL_FULLSCREEN is set in 'flags', the SDL library will try to set - # a fullscreen video mode. The default is to create a windowed mode - # if the current graphics system has a window manager. - # If the SDL library is able to set a fullscreen video mode, this flag - # will be set in the surface that is returned. - # - # If SDL_DOUBLEBUF is set in 'flags', the SDL library will try to set up - # two surfaces in video memory and swap between them when you call - # SDL_Flip(). This is usually slower than the normal single-buffering - # scheme, but prevents "tearing" artifacts caused by modifying video - # memory while the monitor is refreshing. It should only be used by - # applications that redraw the entire screen on every update. - # - # This function returns the video framebuffer surface, or NULL if it fails. -proc SDL_SetVideoMode*(width, height, bpp: int, flags: UInt32): PSDL_Surface{. - cdecl, importc, dynlib: SDLLibName.} - # Makes sure the given list of rectangles is updated on the given screen. - # If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the entire - # screen. - # These functions should not be called while 'screen' is locked. -proc SDL_UpdateRects*(screen: PSDL_Surface, numrects: int, rects: PSDL_Rect){. - cdecl, importc, dynlib: SDLLibName.} -proc SDL_UpdateRect*(screen: PSDL_Surface, x, y: SInt32, w, h: UInt32){.cdecl, - importc, dynlib: SDLLibName.} - # On hardware that supports double-buffering, this function sets up a flip - # and returns. The hardware will wait for vertical retrace, and then swap - # video buffers before the next video surface blit or lock will return. - # On hardware that doesn not support double-buffering, this is equivalent - # to calling SDL_UpdateRect(screen, 0, 0, 0, 0); - # The SDL_DOUBLEBUF flag must have been passed to SDL_SetVideoMode() when - # setting the video mode for this function to perform hardware flipping. - # This function returns 0 if successful, or -1 if there was an error. -proc SDL_Flip*(screen: PSDL_Surface): int{.cdecl, importc, dynlib: SDLLibName.} - # Set the gamma correction for each of the color channels. - # The gamma values range (approximately) between 0.1 and 10.0 - # - # If this function isn't supported directly by the hardware, it will - # be emulated using gamma ramps, if available. If successful, this - # function returns 0, otherwise it returns -1. -proc SDL_SetGamma*(redgamma: float32, greengamma: float32, bluegamma: float32): int{. - cdecl, importc, dynlib: SDLLibName.} - # Set the gamma translation table for the red, green, and blue channels - # of the video hardware. Each table is an array of 256 16-bit quantities, - # representing a mapping between the input and output for that channel. - # The input is the index into the array, and the output is the 16-bit - # gamma value at that index, scaled to the output color precision. - # - # You may pass NULL for any of the channels to leave it unchanged. - # If the call succeeds, it will return 0. If the display driver or - # hardware does not support gamma translation, or otherwise fails, - # this function will return -1. -proc SDL_SetGammaRamp*(redtable: PUInt16, greentable: PUInt16, - bluetable: PUInt16): int{.cdecl, importc, dynlib: SDLLibName.} - # Retrieve the current values of the gamma translation tables. - # - # You must pass in valid pointers to arrays of 256 16-bit quantities. - # Any of the pointers may be NULL to ignore that channel. - # If the call succeeds, it will return 0. If the display driver or - # hardware does not support gamma translation, or otherwise fails, - # this function will return -1. -proc SDL_GetGammaRamp*(redtable: PUInt16, greentable: PUInt16, - bluetable: PUInt16): int{.cdecl, importc, dynlib: SDLLibName.} - # Sets a portion of the colormap for the given 8-bit surface. If 'surface' - # is not a palettized surface, this function does nothing, returning 0. - # If all of the colors were set as passed to SDL_SetColors(), it will - # return 1. If not all the color entries were set exactly as given, - # it will return 0, and you should look at the surface palette to - # determine the actual color palette. - # - # When 'surface' is the surface associated with the current display, the - # display colormap will be updated with the requested colors. If - # SDL_HWPALETTE was set in SDL_SetVideoMode() flags, SDL_SetColors() - # will always return 1, and the palette is guaranteed to be set the way - # you desire, even if the window colormap has to be warped or run under - # emulation. -proc SDL_SetColors*(surface: PSDL_Surface, colors: PSDL_Color, firstcolor: int, - ncolors: int): int{.cdecl, importc, dynlib: SDLLibName.} - # Sets a portion of the colormap for a given 8-bit surface. - # 'flags' is one or both of: - # SDL_LOGPAL -- set logical palette, which controls how blits are mapped - # to/from the surface, - # SDL_PHYSPAL -- set physical palette, which controls how pixels look on - # the screen - # Only screens have physical palettes. Separate change of physical/logical - # palettes is only possible if the screen has SDL_HWPALETTE set. - # - # The return value is 1 if all colours could be set as requested, and 0 - # otherwise. - # - # SDL_SetColors() is equivalent to calling this function with - # flags = (SDL_LOGPAL or SDL_PHYSPAL). -proc SDL_SetPalette*(surface: PSDL_Surface, flags: int, colors: PSDL_Color, - firstcolor: int, ncolors: int): int{.cdecl, - importc, dynlib: SDLLibName.} - # Maps an RGB triple to an opaque pixel value for a given pixel format -proc SDL_MapRGB*(format: PSDL_PixelFormat, r: UInt8, g: UInt8, b: UInt8): UInt32{. - cdecl, importc, dynlib: SDLLibName.} - # Maps an RGBA quadruple to a pixel value for a given pixel format -proc SDL_MapRGBA*(format: PSDL_PixelFormat, r: UInt8, g: UInt8, b: UInt8, - a: UInt8): UInt32{.cdecl, importc, dynlib: SDLLibName.} - # Maps a pixel value into the RGB components for a given pixel format -proc SDL_GetRGB*(pixel: UInt32, fmt: PSDL_PixelFormat, r: PUInt8, g: PUInt8, - b: PUInt8){.cdecl, importc, dynlib: SDLLibName.} - # Maps a pixel value into the RGBA components for a given pixel format -proc SDL_GetRGBA*(pixel: UInt32, fmt: PSDL_PixelFormat, r: PUInt8, g: PUInt8, - b: PUInt8, a: PUInt8){.cdecl, importc, dynlib: SDLLibName.} - # Allocate and free an RGB surface (must be called after SDL_SetVideoMode) - # If the depth is 4 or 8 bits, an empty palette is allocated for the surface. - # If the depth is greater than 8 bits, the pixel format is set using the - # flags '[RGB]mask'. - # If the function runs out of memory, it will return NULL. - # - # The 'flags' tell what kind of surface to create. - # SDL_SWSURFACE means that the surface should be created in system memory. - # SDL_HWSURFACE means that the surface should be created in video memory, - # with the same format as the display surface. This is useful for surfaces - # that will not change much, to take advantage of hardware acceleration - # when being blitted to the display surface. - # SDL_ASYNCBLIT means that SDL will try to perform asynchronous blits with - # this surface, but you must always lock it before accessing the pixels. - # SDL will wait for current blits to finish before returning from the lock. - # SDL_SRCCOLORKEY indicates that the surface will be used for colorkey blits. - # If the hardware supports acceleration of colorkey blits between - # two surfaces in video memory, SDL will try to place the surface in - # video memory. If this isn't possible or if there is no hardware - # acceleration available, the surface will be placed in system memory. - # SDL_SRCALPHA means that the surface will be used for alpha blits and - # if the hardware supports hardware acceleration of alpha blits between - # two surfaces in video memory, to place the surface in video memory - # if possible, otherwise it will be placed in system memory. - # If the surface is created in video memory, blits will be _much_ faster, - # but the surface format must be identical to the video surface format, - # and the only way to access the pixels member of the surface is to use - # the SDL_LockSurface() and SDL_UnlockSurface() calls. - # If the requested surface actually resides in video memory, SDL_HWSURFACE - # will be set in the flags member of the returned surface. If for some - # reason the surface could not be placed in video memory, it will not have - # the SDL_HWSURFACE flag set, and will be created in system memory instead. -proc SDL_AllocSurface*(flags: UInt32, width, height, depth: int, - RMask, GMask, BMask, AMask: UInt32): PSDL_Surface -proc SDL_CreateRGBSurface*(flags: UInt32, width, height, depth: int, - RMask, GMask, BMask, AMask: UInt32): PSDL_Surface{. - cdecl, importc, dynlib: SDLLibName.} -proc SDL_CreateRGBSurfaceFrom*(pixels: Pointer, - width, height, depth, pitch: int, - RMask, GMask, BMask, AMask: UInt32): PSDL_Surface{. - cdecl, importc, dynlib: SDLLibName.} -proc SDL_FreeSurface*(surface: PSDL_Surface){.cdecl, importc, dynlib: SDLLibName.} -proc SDL_MustLock*(Surface: PSDL_Surface): bool - # SDL_LockSurface() sets up a surface for directly accessing the pixels. - # Between calls to SDL_LockSurface()/SDL_UnlockSurface(), you can write - # to and read from 'surface->pixels', using the pixel format stored in - # 'surface->format'. Once you are done accessing the surface, you should - # use SDL_UnlockSurface() to release it. - # - # Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates - # to 0, then you can read and write to the surface at any time, and the - # pixel format of the surface will not change. In particular, if the - # SDL_HWSURFACE flag is not given when calling SDL_SetVideoMode(), you - # will not need to lock the display surface before accessing it. - # - # No operating system or library calls should be made between lock/unlock - # pairs, as critical system locks may be held during this time. - # - # SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked. -proc SDL_LockSurface*(surface: PSDL_Surface): int{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_UnlockSurface*(surface: PSDL_Surface){.cdecl, importc, dynlib: SDLLibName.} - # Load a surface from a seekable SDL data source (memory or file.) - # If 'freesrc' is non-zero, the source will be closed after being read. - # Returns the new surface, or NULL if there was an error. - # The new surface should be freed with SDL_FreeSurface(). -proc SDL_LoadBMP_RW*(src: PSDL_RWops, freesrc: int): PSDL_Surface{.cdecl, - importc, dynlib: SDLLibName.} - # Convenience macro -- load a surface from a file -proc SDL_LoadBMP*(filename: cstring): PSDL_Surface - # Save a surface to a seekable SDL data source (memory or file.) - # If 'freedst' is non-zero, the source will be closed after being written. - # Returns 0 if successful or -1 if there was an error. -proc SDL_SaveBMP_RW*(surface: PSDL_Surface, dst: PSDL_RWops, freedst: int): int{. - cdecl, importc, dynlib: SDLLibName.} - # Convenience macro -- save a surface to a file -proc SDL_SaveBMP*(surface: PSDL_Surface, filename: cstring): int - # Sets the color key (transparent pixel) in a blittable surface. - # If 'flag' is SDL_SRCCOLORKEY (optionally OR'd with SDL_RLEACCEL), - # 'key' will be the transparent pixel in the source image of a blit. - # SDL_RLEACCEL requests RLE acceleration for the surface if present, - # and removes RLE acceleration if absent. - # If 'flag' is 0, this function clears any current color key. - # This function returns 0, or -1 if there was an error. -proc SDL_SetColorKey*(surface: PSDL_Surface, flag, key: UInt32): int{.cdecl, - importc, dynlib: SDLLibName.} - # This function sets the alpha value for the entire surface, as opposed to - # using the alpha component of each pixel. This value measures the range - # of transparency of the surface, 0 being completely transparent to 255 - # being completely opaque. An 'alpha' value of 255 causes blits to be - # opaque, the source pixels copied to the destination (the default). Note - # that per-surface alpha can be combined with colorkey transparency. - # - # If 'flag' is 0, alpha blending is disabled for the surface. - # If 'flag' is SDL_SRCALPHA, alpha blending is enabled for the surface. - # OR:ing the flag with SDL_RLEACCEL requests RLE acceleration for the - # surface; if SDL_RLEACCEL is not specified, the RLE accel will be removed. -proc SDL_SetAlpha*(surface: PSDL_Surface, flag: UInt32, alpha: UInt8): int{. - cdecl, importc, dynlib: SDLLibName.} - # Sets the clipping rectangle for the destination surface in a blit. - # - # If the clip rectangle is NULL, clipping will be disabled. - # If the clip rectangle doesn't intersect the surface, the function will - # return SDL_FALSE and blits will be completely clipped. Otherwise the - # function returns SDL_TRUE and blits to the surface will be clipped to - # the intersection of the surface area and the clipping rectangle. - # - # Note that blits are automatically clipped to the edges of the source - # and destination surfaces. -proc SDL_SetClipRect*(surface: PSDL_Surface, rect: PSDL_Rect){.cdecl, - importc, dynlib: SDLLibName.} - # Gets the clipping rectangle for the destination surface in a blit. - # 'rect' must be a pointer to a valid rectangle which will be filled - # with the correct values. -proc SDL_GetClipRect*(surface: PSDL_Surface, rect: PSDL_Rect){.cdecl, - importc, dynlib: SDLLibName.} - # Creates a new surface of the specified format, and then copies and maps - # the given surface to it so the blit of the converted surface will be as - # fast as possible. If this function fails, it returns NULL. - # - # The 'flags' parameter is passed to SDL_CreateRGBSurface() and has those - # semantics. You can also pass SDL_RLEACCEL in the flags parameter and - # SDL will try to RLE accelerate colorkey and alpha blits in the resulting - # surface. - # - # This function is used internally by SDL_DisplayFormat(). -proc SDL_ConvertSurface*(src: PSDL_Surface, fmt: PSDL_PixelFormat, flags: UInt32): PSDL_Surface{. - cdecl, importc, dynlib: SDLLibName.} - # - # This performs a fast blit from the source surface to the destination - # surface. It assumes that the source and destination rectangles are - # the same size. If either 'srcrect' or 'dstrect' are NULL, the entire - # surface (src or dst) is copied. The final blit rectangles are saved - # in 'srcrect' and 'dstrect' after all clipping is performed. - # If the blit is successful, it returns 0, otherwise it returns -1. - # - # The blit function should not be called on a locked surface. - # - # The blit semantics for surfaces with and without alpha and colorkey - # are defined as follows: - # - # RGBA->RGB: - # SDL_SRCALPHA set: - # alpha-blend (using alpha-channel). - # SDL_SRCCOLORKEY ignored. - # SDL_SRCALPHA not set: - # copy RGB. - # if SDL_SRCCOLORKEY set, only copy the pixels matching the - # RGB values of the source colour key, ignoring alpha in the - # comparison. - # - # RGB->RGBA: - # SDL_SRCALPHA set: - # alpha-blend (using the source per-surface alpha value); - # set destination alpha to opaque. - # SDL_SRCALPHA not set: - # copy RGB, set destination alpha to opaque. - # both: - # if SDL_SRCCOLORKEY set, only copy the pixels matching the - # source colour key. - # - # RGBA->RGBA: - # SDL_SRCALPHA set: - # alpha-blend (using the source alpha channel) the RGB values; - # leave destination alpha untouched. [Note: is this correct?] - # SDL_SRCCOLORKEY ignored. - # SDL_SRCALPHA not set: - # copy all of RGBA to the destination. - # if SDL_SRCCOLORKEY set, only copy the pixels matching the - # RGB values of the source colour key, ignoring alpha in the - # comparison. - # - # RGB->RGB: - # SDL_SRCALPHA set: - # alpha-blend (using the source per-surface alpha value). - # SDL_SRCALPHA not set: - # copy RGB. - # both: - # if SDL_SRCCOLORKEY set, only copy the pixels matching the - # source colour key. - # - # If either of the surfaces were in video memory, and the blit returns -2, - # the video memory was lost, so it should be reloaded with artwork and - # re-blitted: - # while ( SDL_BlitSurface(image, imgrect, screen, dstrect) = -2 ) do - # begin - # while ( SDL_LockSurface(image) < 0 ) do - # Sleep(10); - # -- Write image pixels to image->pixels -- - # SDL_UnlockSurface(image); - # end; - # - # This happens under DirectX 5.0 when the system switches away from your - # fullscreen application. The lock will also fail until you have access - # to the video memory again. - # You should call SDL_BlitSurface() unless you know exactly how SDL - # blitting works internally and how to use the other blit functions. -proc SDL_BlitSurface*(src: PSDL_Surface, srcrect: PSDL_Rect, dst: PSDL_Surface, - dstrect: PSDL_Rect): int - # This is the public blit function, SDL_BlitSurface(), and it performs - # rectangle validation and clipping before passing it to SDL_LowerBlit() -proc SDL_UpperBlit*(src: PSDL_Surface, srcrect: PSDL_Rect, dst: PSDL_Surface, - dstrect: PSDL_Rect): int{.cdecl, importc, dynlib: SDLLibName.} - # This is a semi-private blit function and it performs low-level surface - # blitting only. -proc SDL_LowerBlit*(src: PSDL_Surface, srcrect: PSDL_Rect, dst: PSDL_Surface, - dstrect: PSDL_Rect): int{.cdecl, importc, dynlib: SDLLibName.} - # This function performs a fast fill of the given rectangle with 'color' - # The given rectangle is clipped to the destination surface clip area - # and the final fill rectangle is saved in the passed in pointer. - # If 'dstrect' is NULL, the whole surface will be filled with 'color' - # The color should be a pixel of the format used by the surface, and - # can be generated by the SDL_MapRGB() function. - # This function returns 0 on success, or -1 on error. -proc SDL_FillRect*(dst: PSDL_Surface, dstrect: PSDL_Rect, color: UInt32): int{. - cdecl, importc, dynlib: SDLLibName.} - # This function takes a surface and copies it to a new surface of the - # pixel format and colors of the video framebuffer, suitable for fast - # blitting onto the display surface. It calls SDL_ConvertSurface() - # - # If you want to take advantage of hardware colorkey or alpha blit - # acceleration, you should set the colorkey and alpha value before - # calling this function. - # - # If the conversion fails or runs out of memory, it returns NULL -proc SDL_DisplayFormat*(surface: PSDL_Surface): PSDL_Surface{.cdecl, - importc, dynlib: SDLLibName.} - # This function takes a surface and copies it to a new surface of the - # pixel format and colors of the video framebuffer (if possible), - # suitable for fast alpha blitting onto the display surface. - # The new surface will always have an alpha channel. - # - # If you want to take advantage of hardware colorkey or alpha blit - # acceleration, you should set the colorkey and alpha value before - # calling this function. - # - # If the conversion fails or runs out of memory, it returns NULL -proc SDL_DisplayFormatAlpha*(surface: PSDL_Surface): PSDL_Surface{.cdecl, - importc, dynlib: SDLLibName.} - #* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - #* YUV video surface overlay functions */ - #* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - # This function creates a video output overlay - # Calling the returned surface an overlay is something of a misnomer because - # the contents of the display surface underneath the area where the overlay - # is shown is undefined - it may be overwritten with the converted YUV data. -proc SDL_CreateYUVOverlay*(width: int, height: int, format: UInt32, - display: PSDL_Surface): PSDL_Overlay{.cdecl, - importc, dynlib: SDLLibName.} - # Lock an overlay for direct access, and unlock it when you are done -proc SDL_LockYUVOverlay*(Overlay: PSDL_Overlay): int{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_UnlockYUVOverlay*(Overlay: PSDL_Overlay){.cdecl, importc, dynlib: SDLLibName.} - # Blit a video overlay to the display surface. - # The contents of the video surface underneath the blit destination are - # not defined. - # The width and height of the destination rectangle may be different from - # that of the overlay, but currently only 2x scaling is supported. -proc SDL_DisplayYUVOverlay*(Overlay: PSDL_Overlay, dstrect: PSDL_Rect): int{. - cdecl, importc, dynlib: SDLLibName.} - # Free a video overlay -proc SDL_FreeYUVOverlay*(Overlay: PSDL_Overlay){.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # OpenGL Routines - #------------------------------------------------------------------------------ - # Dynamically load a GL driver, if SDL is built with dynamic GL. - # - # SDL links normally with the OpenGL library on your system by default, - # but you can compile it to dynamically load the GL driver at runtime. - # If you do this, you need to retrieve all of the GL functions used in - # your program from the dynamic library using SDL_GL_GetProcAddress(). - # - # This is disabled in default builds of SDL. -proc SDL_GL_LoadLibrary*(filename: cstring): int{.cdecl, importc, dynlib: SDLLibName.} - # Get the address of a GL function (for extension functions) -proc SDL_GL_GetProcAddress*(procname: cstring): Pointer{.cdecl, - importc, dynlib: SDLLibName.} - # Set an attribute of the OpenGL subsystem before intialization. -proc SDL_GL_SetAttribute*(attr: TSDL_GLAttr, value: int): int{.cdecl, - importc, dynlib: SDLLibName.} - # Get an attribute of the OpenGL subsystem from the windowing - # interface, such as glX. This is of course different from getting - # the values from SDL's internal OpenGL subsystem, which only - # stores the values you request before initialization. - # - # Developers should track the values they pass into SDL_GL_SetAttribute - # themselves if they want to retrieve these values. -proc SDL_GL_GetAttribute*(attr: TSDL_GLAttr, value: var int): int{.cdecl, - importc, dynlib: SDLLibName.} - # Swap the OpenGL buffers, if double-buffering is supported. -proc SDL_GL_SwapBuffers*(){.cdecl, importc, dynlib: SDLLibName.} - # Internal functions that should not be called unless you have read - # and understood the source code for these functions. -proc SDL_GL_UpdateRects*(numrects: int, rects: PSDL_Rect){.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_GL_Lock*(){.cdecl, importc, dynlib: SDLLibName.} -proc SDL_GL_Unlock*(){.cdecl, importc, dynlib: SDLLibName.} - #* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - #* These functions allow interaction with the window manager, if any. * - #* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - # Sets/Gets the title and icon text of the display window -proc SDL_WM_GetCaption*(title: var cstring, icon: var cstring){.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_WM_SetCaption*(title: cstring, icon: cstring){.cdecl, - importc, dynlib: SDLLibName.} - # Sets the icon for the display window. - # This function must be called before the first call to SDL_SetVideoMode(). - # It takes an icon surface, and a mask in MSB format. - # If 'mask' is NULL, the entire icon surface will be used as the icon. -proc SDL_WM_SetIcon*(icon: PSDL_Surface, mask: UInt8){.cdecl, importc, dynlib: SDLLibName.} - # This function iconifies the window, and returns 1 if it succeeded. - # If the function succeeds, it generates an SDL_APPACTIVE loss event. - # This function is a noop and returns 0 in non-windowed environments. -proc SDL_WM_IconifyWindow*(): int{.cdecl, importc, dynlib: SDLLibName.} - # Toggle fullscreen mode without changing the contents of the screen. - # If the display surface does not require locking before accessing - # the pixel information, then the memory pointers will not change. - # - # If this function was able to toggle fullscreen mode (change from - # running in a window to fullscreen, or vice-versa), it will return 1. - # If it is not implemented, or fails, it returns 0. - # - # The next call to SDL_SetVideoMode() will set the mode fullscreen - # attribute based on the flags parameter - if SDL_FULLSCREEN is not - # set, then the display will be windowed by default where supported. - # - # This is currently only implemented in the X11 video driver. -proc SDL_WM_ToggleFullScreen*(surface: PSDL_Surface): int{.cdecl, - importc, dynlib: SDLLibName.} - # Grabbing means that the mouse is confined to the application window, - # and nearly all keyboard input is passed directly to the application, - # and not interpreted by a window manager, if any. -proc SDL_WM_GrabInput*(mode: TSDL_GrabMode): TSDL_GrabMode{.cdecl, - importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # mouse-routines - #------------------------------------------------------------------------------ - # Retrieve the current state of the mouse. - # The current button state is returned as a button bitmask, which can - # be tested using the SDL_BUTTON(X) macros, and x and y are set to the - # current mouse cursor position. You can pass NULL for either x or y. -proc SDL_GetMouseState*(x: var int, y: var int): UInt8{.cdecl, - importc, dynlib: SDLLibName.} - # Retrieve the current state of the mouse. - # The current button state is returned as a button bitmask, which can - # be tested using the SDL_BUTTON(X) macros, and x and y are set to the - # mouse deltas since the last call to SDL_GetRelativeMouseState(). -proc SDL_GetRelativeMouseState*(x: var int, y: var int): UInt8{.cdecl, - importc, dynlib: SDLLibName.} - # Set the position of the mouse cursor (generates a mouse motion event) -proc SDL_WarpMouse*(x, y: UInt16){.cdecl, importc, dynlib: SDLLibName.} - # Create a cursor using the specified data and mask (in MSB format). - # The cursor width must be a multiple of 8 bits. - # - # The cursor is created in black and white according to the following: - # data mask resulting pixel on screen - # 0 1 White - # 1 1 Black - # 0 0 Transparent - # 1 0 Inverted color if possible, black if not. - # - # Cursors created with this function must be freed with SDL_FreeCursor(). -proc SDL_CreateCursor*(data, mask: PUInt8, w, h, hot_x, hot_y: int): PSDL_Cursor{. - cdecl, importc, dynlib: SDLLibName.} - # Set the currently active cursor to the specified one. - # If the cursor is currently visible, the change will be immediately - # represented on the display. -proc SDL_SetCursor*(cursor: PSDL_Cursor){.cdecl, importc, dynlib: SDLLibName.} - # Returns the currently active cursor. -proc SDL_GetCursor*(): PSDL_Cursor{.cdecl, importc, dynlib: SDLLibName.} - # Deallocates a cursor created with SDL_CreateCursor(). -proc SDL_FreeCursor*(cursor: PSDL_Cursor){.cdecl, importc, dynlib: SDLLibName.} - # Toggle whether or not the cursor is shown on the screen. - # The cursor start off displayed, but can be turned off. - # SDL_ShowCursor() returns 1 if the cursor was being displayed - # before the call, or 0 if it was not. You can query the current - # state by passing a 'toggle' value of -1. -proc SDL_ShowCursor*(toggle: int): int{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_BUTTON*(Button: int): int - #------------------------------------------------------------------------------ - # Keyboard-routines - #------------------------------------------------------------------------------ - # Enable/Disable UNICODE translation of keyboard input. - # This translation has some overhead, so translation defaults off. - # If 'enable' is 1, translation is enabled. - # If 'enable' is 0, translation is disabled. - # If 'enable' is -1, the translation state is not changed. - # It returns the previous state of keyboard translation. -proc SDL_EnableUNICODE*(enable: int): int{.cdecl, importc, dynlib: SDLLibName.} - # If 'delay' is set to 0, keyboard repeat is disabled. -proc SDL_EnableKeyRepeat*(delay: int, interval: int): int{.cdecl, - importc, dynlib: SDLLibName.} -proc SDL_GetKeyRepeat*(delay: PInteger, interval: PInteger){.cdecl, - importc, dynlib: SDLLibName.} - # Get a snapshot of the current state of the keyboard. - # Returns an array of keystates, indexed by the SDLK_* syms. - # Used: - # - # UInt8 *keystate = SDL_GetKeyState(NULL); - # if ( keystate[SDLK_RETURN] ) ... is pressed -proc SDL_GetKeyState*(numkeys: PInt): PUInt8{.cdecl, importc, dynlib: SDLLibName.} - # Get the current key modifier state -proc SDL_GetModState*(): TSDLMod{.cdecl, importc, dynlib: SDLLibName.} - # Set the current key modifier state - # This does not change the keyboard state, only the key modifier flags. -proc SDL_SetModState*(modstate: TSDLMod){.cdecl, importc, dynlib: SDLLibName.} - # Get the name of an SDL virtual keysym -proc SDL_GetKeyName*(key: TSDLKey): cstring{.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # Active Routines - #------------------------------------------------------------------------------ - # This function returns the current state of the application, which is a - # bitwise combination of SDL_APPMOUSEFOCUS, SDL_APPINPUTFOCUS, and - # SDL_APPACTIVE. If SDL_APPACTIVE is set, then the user is able to - # see your application, otherwise it has been iconified or disabled. -proc SDL_GetAppState*(): UInt8{.cdecl, importc, dynlib: SDLLibName.} - # Mutex functions - # Create a mutex, initialized unlocked -proc SDL_CreateMutex*(): PSDL_Mutex{.cdecl, importc, dynlib: SDLLibName.} - # Lock the mutex (Returns 0, or -1 on error) -proc SDL_mutexP*(mutex: PSDL_mutex): int{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_LockMutex*(mutex: PSDL_mutex): int - # Unlock the mutex (Returns 0, or -1 on error) -proc SDL_mutexV*(mutex: PSDL_mutex): int{.cdecl, importc, dynlib: SDLLibName.} -proc SDL_UnlockMutex*(mutex: PSDL_mutex): int - # Destroy a mutex -proc SDL_DestroyMutex*(mutex: PSDL_mutex){.cdecl, importc, dynlib: SDLLibName.} - # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - # Semaphore functions - # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - # Create a semaphore, initialized with value, returns NULL on failure. -proc SDL_CreateSemaphore*(initial_value: UInt32): PSDL_Sem{.cdecl, - importc, dynlib: SDLLibName.} - # Destroy a semaphore -proc SDL_DestroySemaphore*(sem: PSDL_sem){.cdecl, importc, dynlib: SDLLibName.} - # This function suspends the calling thread until the semaphore pointed - # to by sem has a positive count. It then atomically decreases the semaphore - # count. -proc SDL_SemWait*(sem: PSDL_sem): int{.cdecl, importc, dynlib: SDLLibName.} - # Non-blocking variant of SDL_SemWait(), returns 0 if the wait succeeds, - # SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error. -proc SDL_SemTryWait*(sem: PSDL_sem): int{.cdecl, importc, dynlib: SDLLibName.} - # Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if - # the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in - # the allotted time, and -1 on error. - # On some platforms this function is implemented by looping with a delay - # of 1 ms, and so should be avoided if possible. -proc SDL_SemWaitTimeout*(sem: PSDL_sem, ms: UInt32): int{.cdecl, - importc, dynlib: SDLLibName.} - # Atomically increases the semaphore's count (not blocking), returns 0, - # or -1 on error. -proc SDL_SemPost*(sem: PSDL_sem): int{.cdecl, importc, dynlib: SDLLibName.} - # Returns the current count of the semaphore -proc SDL_SemValue*(sem: PSDL_sem): UInt32{.cdecl, importc, dynlib: SDLLibName.} - # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - # Condition variable functions - # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - # Create a condition variable -proc SDL_CreateCond*(): PSDL_Cond{.cdecl, importc, dynlib: SDLLibName.} - # Destroy a condition variable -proc SDL_DestroyCond*(cond: PSDL_Cond){.cdecl, importc, dynlib: SDLLibName.} - # Restart one of the threads that are waiting on the condition variable, - # returns 0 or -1 on error. -proc SDL_CondSignal*(cond: PSDL_cond): int{.cdecl, importc, dynlib: SDLLibName.} - # Restart all threads that are waiting on the condition variable, - # returns 0 or -1 on error. -proc SDL_CondBroadcast*(cond: PSDL_cond): int{.cdecl, importc, dynlib: SDLLibName.} - # Wait on the condition variable, unlocking the provided mutex. - # The mutex must be locked before entering this function! - # Returns 0 when it is signaled, or -1 on error. -proc SDL_CondWait*(cond: PSDL_cond, mut: PSDL_mutex): int{.cdecl, - importc, dynlib: SDLLibName.} - # Waits for at most 'ms' milliseconds, and returns 0 if the condition - # variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not - # signaled in the allotted time, and -1 on error. - # On some platforms this function is implemented by looping with a delay - # of 1 ms, and so should be avoided if possible. -proc SDL_CondWaitTimeout*(cond: PSDL_cond, mut: PSDL_mutex, ms: UInt32): int{. - cdecl, importc, dynlib: SDLLibName.} - # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - # Condition variable functions - # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - # Create a thread -proc SDL_CreateThread*(fn: PInt, data: Pointer): PSDL_Thread{.cdecl, - importc, dynlib: SDLLibName.} - # Get the 32-bit thread identifier for the current thread -proc SDL_ThreadID*(): UInt32{.cdecl, importc, dynlib: SDLLibName.} - # Get the 32-bit thread identifier for the specified thread, - # equivalent to SDL_ThreadID() if the specified thread is NULL. -proc SDL_GetThreadID*(thread: PSDL_Thread): UInt32{.cdecl, importc, dynlib: SDLLibName.} - # Wait for a thread to finish. - # The return code for the thread function is placed in the area - # pointed to by 'status', if 'status' is not NULL. -proc SDL_WaitThread*(thread: PSDL_Thread, status: var int){.cdecl, - importc, dynlib: SDLLibName.} - # Forcefully kill a thread without worrying about its state -proc SDL_KillThread*(thread: PSDL_Thread){.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - # Get Environment Routines - #------------------------------------------------------------------------------ - #* - # * This function gives you custom hooks into the window manager information. - # * It fills the structure pointed to by 'info' with custom information and - # * returns 1 if the function is implemented. If it's not implemented, or - # * the version member of the 'info' structure is invalid, it returns 0. - # * -proc SDL_GetWMInfo*(info: PSDL_SysWMinfo): int{.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ - #SDL_loadso.h - #* This function dynamically loads a shared object and returns a pointer - # * to the object handle (or NULL if there was an error). - # * The 'sofile' parameter is a system dependent name of the object file. - # * -proc SDL_LoadObject*(sofile: cstring): Pointer{.cdecl, importc, dynlib: SDLLibName.} - #* Given an object handle, this function looks up the address of the - # * named function in the shared object and returns it. This address - # * is no longer valid after calling SDL_UnloadObject(). - # * -proc SDL_LoadFunction*(handle: Pointer, name: cstring): Pointer{.cdecl, - importc, dynlib: SDLLibName.} - #* Unload a shared object from memory * -proc SDL_UnloadObject*(handle: Pointer){.cdecl, importc, dynlib: SDLLibName.} - #------------------------------------------------------------------------------ -proc SDL_Swap32*(D: Uint32): Uint32 - # Bitwise Checking functions -proc IsBitOn*(value: int, bit: int8): bool -proc TurnBitOn*(value: int, bit: int8): int -proc TurnBitOff*(value: int, bit: int8): int -# implementation - -proc SDL_TABLESIZE(table: cstring): int = - Result = SizeOf(table) div SizeOf(table[0]) - -proc SDL_OutOfMemory() = - when not(defined(WINDOWS)): SDL_Error(SDL_ENOMEM) - -proc SDL_RWSeek(context: PSDL_RWops, offset: int, whence: int): int = - Result = context.seek(context, offset, whence) - -proc SDL_RWTell(context: PSDL_RWops): int = - Result = context.seek(context, 0, 1) - -proc SDL_RWRead(context: PSDL_RWops, theptr: Pointer, size: int, n: int): int = - Result = context.read(context, theptr, size, n) - -proc SDL_RWWrite(context: PSDL_RWops, theptr: Pointer, size: int, n: int): int = - Result = context.write(context, theptr, size, n) - -proc SDL_RWClose(context: PSDL_RWops): int = - Result = context.closeFile(context) - -proc SDL_LoadWAV(filename: cstring, spec: PSDL_AudioSpec, audio_buf: PUInt8, - audiolen: PUInt32): PSDL_AudioSpec = - Result = SDL_LoadWAV_RW(SDL_RWFromFile(filename, "rb"), 1, spec, audio_buf, - audiolen) - -proc SDL_CDInDrive(status: TSDL_CDStatus): bool = - Result = ord(status) > ord(CD_ERROR) - -proc FRAMES_TO_MSF(frames: int, M: var int, S: var int, F: var int) = - var value: int - value = frames - F = value mod CD_FPS - value = value div CD_FPS - S = value mod 60 - value = value div 60 - M = value - -proc MSF_TO_FRAMES(M: int, S: int, F: int): int = - Result = M * 60 * CD_FPS + S * CD_FPS + F - -proc SDL_VERSION(X: var TSDL_Version) = - X.major = SDL_MAJOR_VERSION - X.minor = SDL_MINOR_VERSION - X.patch = SDL_PATCHLEVEL - -proc SDL_VERSIONNUM(X, Y, Z: int): int = - Result = X * 1000 + Y * 100 + Z - -proc SDL_COMPILEDVERSION(): int = - Result = SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL) - -proc SDL_VERSION_ATLEAST(X, Y, Z: int): bool = - Result = (SDL_COMPILEDVERSION() >= SDL_VERSIONNUM(X, Y, Z)) - -proc SDL_LoadBMP(filename: cstring): PSDL_Surface = - Result = SDL_LoadBMP_RW(SDL_RWFromFile(filename, "rb"), 1) - -proc SDL_SaveBMP(surface: PSDL_Surface, filename: cstring): int = - Result = SDL_SaveBMP_RW(surface, SDL_RWFromFile(filename, "wb"), 1) - -proc SDL_BlitSurface(src: PSDL_Surface, srcrect: PSDL_Rect, dst: PSDL_Surface, - dstrect: PSDL_Rect): int = - Result = SDL_UpperBlit(src, srcrect, dst, dstrect) - -proc SDL_AllocSurface(flags: UInt32, width, height, depth: int, - RMask, GMask, BMask, AMask: UInt32): PSDL_Surface = - Result = SDL_CreateRGBSurface(flags, width, height, depth, RMask, GMask, - BMask, AMask) - -proc SDL_MustLock(Surface: PSDL_Surface): bool = - Result = ((surface^ .offset != 0) or - ((surface^ .flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) != - 0)) - -proc SDL_LockMutex(mutex: PSDL_mutex): int = - Result = SDL_mutexP(mutex) - -proc SDL_UnlockMutex(mutex: PSDL_mutex): int = - Result = SDL_mutexV(mutex) - -proc SDL_BUTTON(Button: int): int = - Result = SDL_PRESSED shl (Button - 1) - -proc SDL_Swap32(D: Uint32): Uint32 = - Result = ((D shl 24) or ((D shl 8) and 0x00FF0000) or - ((D shr 8) and 0x0000FF00) or (D shr 24)) - -proc IsBitOn(value: int, bit: int8): bool = - result = ((value and (1 shl ze(bit))) != 0) - -proc TurnBitOn(value: int, bit: int8): int = - result = (value or (1 shl ze(bit))) - -proc TurnBitOff(value: int, bit: int8): int = - result = (value and not (1 shl ze(bit))) diff --git a/lib/oldwrappers/sdl/sdl_gfx.nim b/lib/oldwrappers/sdl/sdl_gfx.nim deleted file mode 100755 index 8ae8eca0b..000000000 --- a/lib/oldwrappers/sdl/sdl_gfx.nim +++ /dev/null @@ -1,421 +0,0 @@ - -# -# $Id: sdl_gfx.pas,v 1.3 2007/05/29 21:31:04 savage Exp $ -# -# -# -# $Log: sdl_gfx.pas,v $ -# Revision 1.3 2007/05/29 21:31:04 savage -# Changes as suggested by Almindor for 64bit compatibility. -# -# Revision 1.2 2007/05/20 20:30:18 savage -# Initial Changes to Handle 64 Bits -# -# Revision 1.1 2005/01/03 19:08:32 savage -# Header for the SDL_Gfx library. -# -# -# -# - -import - sdl - -when defined(windows): - const SDLgfxLibName = "SDL_gfx.dll" -elif defined(macosx): - const SDLgfxLibName = "libSDL_gfx.dylib" -else: - const SDLgfxLibName = "libSDL_gfx.so" - -const # Some rates in Hz - FPS_UPPER_LIMIT* = 200 - FPS_LOWER_LIMIT* = 1 - FPS_DEFAULT* = 30 # ---- Defines - SMOOTHING_OFF* = 0 - SMOOTHING_ON* = 1 - -type - PFPSmanager* = ptr TFPSmanager - TFPSmanager*{.final.} = object # ---- Structures - framecount*: Uint32 - rateticks*: float32 - lastticks*: Uint32 - rate*: Uint32 - - PColorRGBA* = ptr TColorRGBA - TColorRGBA*{.final.} = object - r*: Uint8 - g*: Uint8 - b*: Uint8 - a*: Uint8 - - PColorY* = ptr TColorY - TColorY*{.final.} = object # - # - # SDL_framerate: framerate manager - # - # LGPL (c) A. Schiffler - # - # - y*: Uint8 - - -proc SDL_initFramerate*(manager: PFPSmanager){.cdecl, importc, dynlib: SDLgfxLibName.} -proc SDL_setFramerate*(manager: PFPSmanager, rate: int): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc SDL_getFramerate*(manager: PFPSmanager): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc SDL_framerateDelay*(manager: PFPSmanager){.cdecl, importc, dynlib: SDLgfxLibName.} - # - # - # SDL_gfxPrimitives: graphics primitives for SDL - # - # LGPL (c) A. Schiffler - # - # - # Note: all ___Color routines expect the color to be in format 0xRRGGBBAA - # Pixel -proc pixelColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, color: Uint32): int{. - cdecl, importc, dynlib: SDLgfxLibName.} -proc pixelRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, r: Uint8, g: Uint8, - b: Uint8, a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Horizontal line -proc hlineColor*(dst: PSDL_Surface, x1: Sint16, x2: Sint16, y: Sint16, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc hlineRGBA*(dst: PSDL_Surface, x1: Sint16, x2: Sint16, y: Sint16, r: Uint8, - g: Uint8, b: Uint8, a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Vertical line -proc vlineColor*(dst: PSDL_Surface, x: Sint16, y1: Sint16, y2: Sint16, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc vlineRGBA*(dst: PSDL_Surface, x: Sint16, y1: Sint16, y2: Sint16, r: Uint8, - g: Uint8, b: Uint8, a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Rectangle -proc rectangleColor*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, color: Uint32): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc rectangleRGBA*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # Filled rectangle (Box) -proc boxColor*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc boxRGBA*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, y2: Sint16, - r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # Line -proc lineColor*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc lineRGBA*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # AA Line -proc aalineColor*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc aalineRGBA*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # Circle -proc circleColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, r: Sint16, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc circleRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rad: Sint16, r: Uint8, - g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # AA Circle -proc aacircleColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, r: Sint16, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc aacircleRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rad: Sint16, - r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # Filled Circle -proc filledCircleColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, r: Sint16, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc filledCircleRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rad: Sint16, - r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # Ellipse -proc ellipseColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, rx: Sint16, - ry: Sint16, color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc ellipseRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rx: Sint16, - ry: Sint16, r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # AA Ellipse -proc aaellipseColor*(dst: PSDL_Surface, xc: Sint16, yc: Sint16, rx: Sint16, - ry: Sint16, color: Uint32): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc aaellipseRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rx: Sint16, - ry: Sint16, r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # Filled Ellipse -proc filledEllipseColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, rx: Sint16, - ry: Sint16, color: Uint32): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc filledEllipseRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rx: Sint16, - ry: Sint16, r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # Pie -proc pieColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, rad: Sint16, - start: Sint16, finish: Sint16, color: Uint32): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc pieRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rad: Sint16, - start: Sint16, finish: Sint16, r: Uint8, g: Uint8, b: Uint8, - a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Filled Pie -proc filledPieColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, rad: Sint16, - start: Sint16, finish: Sint16, color: Uint32): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc filledPieRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, rad: Sint16, - start: Sint16, finish: Sint16, r: Uint8, g: Uint8, b: Uint8, - a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Trigon -proc trigonColor*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, x3: Sint16, y3: Sint16, color: Uint32): int{. - cdecl, importc, dynlib: SDLgfxLibName.} -proc trigonRGBA*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, x3: Sint16, y3: Sint16, r: Uint8, g: Uint8, - b: Uint8, a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # AA-Trigon -proc aatrigonColor*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, x3: Sint16, y3: Sint16, color: Uint32): int{. - cdecl, importc, dynlib: SDLgfxLibName.} -proc aatrigonRGBA*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, x3: Sint16, y3: Sint16, r: Uint8, g: Uint8, - b: Uint8, a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Filled Trigon -proc filledTrigonColor*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, x3: Sint16, y3: Sint16, color: Uint32): int{. - cdecl, importc, dynlib: SDLgfxLibName.} -proc filledTrigonRGBA*(dst: PSDL_Surface, x1: Sint16, y1: Sint16, x2: Sint16, - y2: Sint16, x3: Sint16, y3: Sint16, r: Uint8, g: Uint8, - b: Uint8, a: Uint8): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Polygon -proc polygonColor*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc polygonRGBA*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, r: Uint8, - g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # AA-Polygon -proc aapolygonColor*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc aapolygonRGBA*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, - r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # Filled Polygon -proc filledPolygonColor*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc filledPolygonRGBA*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, - r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # Bezier - # s = number of steps -proc bezierColor*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, s: int, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc bezierRGBA*(dst: PSDL_Surface, vx: PSint16, vy: PSint16, n: int, s: int, - r: Uint8, g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # Characters/Strings -proc characterColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, c: char, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc characterRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, c: char, r: Uint8, - g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc stringColor*(dst: PSDL_Surface, x: Sint16, y: Sint16, c: cstring, - color: Uint32): int{.cdecl, importc, dynlib: SDLgfxLibName.} -proc stringRGBA*(dst: PSDL_Surface, x: Sint16, y: Sint16, c: cstring, r: Uint8, - g: Uint8, b: Uint8, a: Uint8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} -proc gfxPrimitivesSetFont*(fontdata: Pointer, cw: int, ch: int){.cdecl, - importc, dynlib: SDLgfxLibName.} - # - # - # SDL_imageFilter - bytes-image "filter" routines - # (uses inline x86 MMX optimizations if available) - # - # LGPL (c) A. Schiffler - # - # - # Comments: - # 1.) MMX functions work best if all data blocks are aligned on a 32 bytes boundary. - # 2.) Data that is not within an 8 byte boundary is processed using the C routine. - # 3.) Convolution routines do not have C routines at this time. - # Detect MMX capability in CPU -proc SDL_imageFilterMMXdetect*(): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # Force use of MMX off (or turn possible use back on) -proc SDL_imageFilterMMXoff*(){.cdecl, importc, dynlib: SDLgfxLibName.} -proc SDL_imageFilterMMXon*(){.cdecl, importc, dynlib: SDLgfxLibName.} - # - # All routines return: - # 0 OK - # -1 Error (internal error, parameter error) - # - # SDL_imageFilterAdd: D = saturation255(S1 + S2) -proc SDL_imageFilterAdd*(Src1: cstring, Src2: cstring, Dest: cstring, len: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterMean: D = S1/2 + S2/2 -proc SDL_imageFilterMean*(Src1: cstring, Src2: cstring, Dest: cstring, len: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterSub: D = saturation0(S1 - S2) -proc SDL_imageFilterSub*(Src1: cstring, Src2: cstring, Dest: cstring, len: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterAbsDiff: D = | S1 - S2 | -proc SDL_imageFilterAbsDiff*(Src1: cstring, Src2: cstring, Dest: cstring, - len: int): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterMult: D = saturation(S1 * S2) -proc SDL_imageFilterMult*(Src1: cstring, Src2: cstring, Dest: cstring, len: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterMultNor: D = S1 * S2 (non-MMX) -proc SDL_imageFilterMultNor*(Src1: cstring, Src2: cstring, Dest: cstring, - len: int): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterMultDivby2: D = saturation255(S1/2 * S2) -proc SDL_imageFilterMultDivby2*(Src1: cstring, Src2: cstring, Dest: cstring, - len: int): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterMultDivby4: D = saturation255(S1/2 * S2/2) -proc SDL_imageFilterMultDivby4*(Src1: cstring, Src2: cstring, Dest: cstring, - len: int): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterBitAnd: D = S1 & S2 -proc SDL_imageFilterBitAnd*(Src1: cstring, Src2: cstring, Dest: cstring, - len: int): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterBitOr: D = S1 | S2 -proc SDL_imageFilterBitOr*(Src1: cstring, Src2: cstring, Dest: cstring, len: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterDiv: D = S1 / S2 (non-MMX) -proc SDL_imageFilterDiv*(Src1: cstring, Src2: cstring, Dest: cstring, len: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterBitNegation: D = !S -proc SDL_imageFilterBitNegation*(Src1: cstring, Dest: cstring, len: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterAddByte: D = saturation255(S + C) -proc SDL_imageFilterAddByte*(Src1: cstring, Dest: cstring, len: int, C: char): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterAddUint: D = saturation255(S + (uint)C) -proc SDL_imageFilterAddUint*(Src1: cstring, Dest: cstring, len: int, C: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterAddByteToHalf: D = saturation255(S/2 + C) -proc SDL_imageFilterAddByteToHalf*(Src1: cstring, Dest: cstring, len: int, - C: char): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterSubByte: D = saturation0(S - C) -proc SDL_imageFilterSubByte*(Src1: cstring, Dest: cstring, len: int, C: char): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterSubUint: D = saturation0(S - (uint)C) -proc SDL_imageFilterSubUint*(Src1: cstring, Dest: cstring, len: int, C: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterShiftRight: D = saturation0(S >> N) -proc SDL_imageFilterShiftRight*(Src1: cstring, Dest: cstring, len: int, N: char): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterShiftRightUint: D = saturation0((uint)S >> N) -proc SDL_imageFilterShiftRightUint*(Src1: cstring, Dest: cstring, len: int, - N: char): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterMultByByte: D = saturation255(S * C) -proc SDL_imageFilterMultByByte*(Src1: cstring, Dest: cstring, len: int, C: char): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterShiftRightAndMultByByte: D = saturation255((S >> N) * C) -proc SDL_imageFilterShiftRightAndMultByByte*(Src1: cstring, Dest: cstring, - len: int, N: char, C: char): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterShiftLeftByte: D = (S << N) -proc SDL_imageFilterShiftLeftByte*(Src1: cstring, Dest: cstring, len: int, - N: char): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterShiftLeftUint: D = ((uint)S << N) -proc SDL_imageFilterShiftLeftUint*(Src1: cstring, Dest: cstring, len: int, - N: char): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterShiftLeft: D = saturation255(S << N) -proc SDL_imageFilterShiftLeft*(Src1: cstring, Dest: cstring, len: int, N: char): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterBinarizeUsingThreshold: D = S >= T ? 255:0 -proc SDL_imageFilterBinarizeUsingThreshold*(Src1: cstring, Dest: cstring, - len: int, T: char): int{.cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterClipToRange: D = (S >= Tmin) & (S <= Tmax) 255:0 -proc SDL_imageFilterClipToRange*(Src1: cstring, Dest: cstring, len: int, - Tmin: int8, Tmax: int8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterNormalizeLinear: D = saturation255((Nmax - Nmin)/(Cmax - Cmin)*(S - Cmin) + Nmin) -proc SDL_imageFilterNormalizeLinear*(Src1: cstring, Dest: cstring, len: int, - Cmin: int, Cmax: int, Nmin: int, Nmax: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # !!! NO C-ROUTINE FOR THESE FUNCTIONS YET !!! - # SDL_imageFilterConvolveKernel3x3Divide: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel3x3Divide*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, Divisor: int8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterConvolveKernel5x5Divide: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel5x5Divide*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, Divisor: int8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterConvolveKernel7x7Divide: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel7x7Divide*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, Divisor: int8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterConvolveKernel9x9Divide: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel9x9Divide*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, Divisor: int8): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterConvolveKernel3x3ShiftRight: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel3x3ShiftRight*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, NRightShift: char): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterConvolveKernel5x5ShiftRight: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel5x5ShiftRight*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, NRightShift: char): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterConvolveKernel7x7ShiftRight: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel7x7ShiftRight*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, NRightShift: char): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterConvolveKernel9x9ShiftRight: Dij = saturation0and255( ... ) -proc SDL_imageFilterConvolveKernel9x9ShiftRight*(Src: cstring, Dest: cstring, - rows: int, columns: int, Kernel: PShortInt, NRightShift: char): int{.cdecl, - importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterSobelX: Dij = saturation255( ... ) -proc SDL_imageFilterSobelX*(Src: cstring, Dest: cstring, rows: int, columns: int): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # SDL_imageFilterSobelXShiftRight: Dij = saturation255( ... ) -proc SDL_imageFilterSobelXShiftRight*(Src: cstring, Dest: cstring, rows: int, - columns: int, NRightShift: char): int{. - cdecl, importc, dynlib: SDLgfxLibName.} - # Align/restore stack to 32 byte boundary -- Functionality untested! -- -proc SDL_imageFilterAlignStack*(){.cdecl, importc, dynlib: SDLgfxLibName.} -proc SDL_imageFilterRestoreStack*(){.cdecl, importc, dynlib: SDLgfxLibName.} - # - # - # SDL_rotozoom - rotozoomer - # - # LGPL (c) A. Schiffler - # - # - # - # - # rotozoomSurface() - # - # Rotates and zoomes a 32bit or 8bit 'src' surface to newly created 'dst' surface. - # 'angle' is the rotation in degrees. 'zoom' a scaling factor. If 'smooth' is 1 - # then the destination 32bit surface is anti-aliased. If the surface is not 8bit - # or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly. - # - # -proc rotozoomSurface*(src: PSDL_Surface, angle: float64, zoom: float64, - smooth: int): PSDL_Surface{.cdecl, importc, dynlib: SDLgfxLibName.} -proc rotozoomSurfaceXY*(src: PSDL_Surface, angle: float64, zoomx: float64, - zoomy: float64, smooth: int): PSDL_Surface{.cdecl, - importc, dynlib: SDLgfxLibName.} - # Returns the size of the target surface for a rotozoomSurface() call -proc rotozoomSurfaceSize*(width: int, height: int, angle: float64, - zoom: float64, dstwidth: var int, dstheight: var int){. - cdecl, importc, dynlib: SDLgfxLibName.} -proc rotozoomSurfaceSizeXY*(width: int, height: int, angle: float64, - zoomx: float64, zoomy: float64, dstwidth: var int, - dstheight: var int){.cdecl, importc, dynlib: SDLgfxLibName.} - # - # - # zoomSurface() - # - # Zoomes a 32bit or 8bit 'src' surface to newly created 'dst' surface. - # 'zoomx' and 'zoomy' are scaling factors for width and height. If 'smooth' is 1 - # then the destination 32bit surface is anti-aliased. If the surface is not 8bit - # or 32bit RGBA/ABGR it will be converted into a 32bit RGBA format on the fly. - # - # -proc zoomSurface*(src: PSDL_Surface, zoomx: float64, zoomy: float64, smooth: int): PSDL_Surface{. - cdecl, importc, dynlib: SDLgfxLibName.} - # Returns the size of the target surface for a zoomSurface() call -proc zoomSurfaceSize*(width: int, height: int, zoomx: float64, zoomy: float64, - dstwidth: var int, dstheight: var int){.cdecl, - importc, dynlib: SDLgfxLibName.} -# implementation diff --git a/lib/oldwrappers/sdl/sdl_image.nim b/lib/oldwrappers/sdl/sdl_image.nim deleted file mode 100755 index a15afd575..000000000 --- a/lib/oldwrappers/sdl/sdl_image.nim +++ /dev/null @@ -1,227 +0,0 @@ - -# -# $Id: sdl_image.pas,v 1.14 2007/05/29 21:31:13 savage Exp $ -# -# -#****************************************************************************** -# -# Borland Delphi SDL_Image - An example image loading library for use -# with SDL -# Conversion of the Simple DirectMedia Layer Image Headers -# -# Portions created by Sam Lantinga are -# Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -# 5635-34 Springhouse Dr. -# Pleasanton, CA 94588 (USA) -# -# All Rights Reserved. -# -# The original files are : SDL_image.h -# -# The initial developer of this Pascal code was : -# Matthias Thoma -# -# Portions created by Matthias Thoma are -# Copyright (C) 2000 - 2001 Matthias Thoma. -# -# -# Contributor(s) -# -------------- -# Dominique Louis -# -# Obtained through: -# Joint Endeavour of Delphi Innovators ( Project JEDI ) -# -# You may retrieve the latest version of this file at the Project -# JEDI home page, located at http://delphi-jedi.org -# -# The contents of this file are used with permission, subject to -# the Mozilla Public License Version 1.1 (the "License"); you may -# not use this file except in compliance with the License. You may -# obtain a copy of the License at -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# Software distributed under the License is distributed on an -# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# Description -# ----------- -# A simple library to load images of various formats as SDL surfaces -# -# Requires -# -------- -# SDL.pas in your search path. -# -# Programming Notes -# ----------------- -# See the Aliens Demo on how to make use of this libaray -# -# Revision History -# ---------------- -# April 02 2001 - MT : Initial Translation -# -# May 08 2001 - DL : Added ExternalSym derectives and copyright header -# -# April 03 2003 - DL : Added jedi-sdl.inc include file to support more -# Pascal compilers. Initial support is now included -# for GnuPascal, VirtualPascal, TMT and obviously -# continue support for Delphi Kylix and FreePascal. -# -# April 08 2003 - MK : Aka Mr Kroket - Added Better FPC support -# -# April 24 2003 - DL : under instruction from Alexey Barkovoy, I have added -# better TMT Pascal support and under instruction -# from Prof. Abimbola Olowofoyeku (The African Chief), -# I have added better Gnu Pascal support -# -# April 30 2003 - DL : under instruction from David Mears AKA -# Jason Siletto, I have added FPC Linux support. -# This was compiled with fpc 1.1, so remember to set -# include file path. ie. -Fi/usr/share/fpcsrc/rtl/* -# -# -# $Log: sdl_image.pas,v $ -# Revision 1.14 2007/05/29 21:31:13 savage -# Changes as suggested by Almindor for 64bit compatibility. -# -# Revision 1.13 2007/05/20 20:30:54 savage -# Initial Changes to Handle 64 Bits -# -# Revision 1.12 2006/12/02 00:14:40 savage -# Updated to latest version -# -# Revision 1.11 2005/04/10 18:22:59 savage -# Changes as suggested by Michalis, thanks. -# -# Revision 1.10 2005/04/10 11:48:33 savage -# Changes as suggested by Michalis, thanks. -# -# Revision 1.9 2005/01/05 01:47:07 savage -# Changed LibName to reflect what MacOS X should have. ie libSDL*-1.2.0.dylib respectively. -# -# Revision 1.8 2005/01/04 23:14:44 savage -# Changed LibName to reflect what most Linux distros will have. ie libSDL*-1.2.so.0 respectively. -# -# Revision 1.7 2005/01/01 02:03:12 savage -# Updated to v1.2.4 -# -# Revision 1.6 2004/08/14 22:54:30 savage -# Updated so that Library name defines are correctly defined for MacOS X. -# -# Revision 1.5 2004/05/10 14:10:04 savage -# Initial MacOS X support. Fixed defines for MACOS ( Classic ) and DARWIN ( MacOS X ). -# -# Revision 1.4 2004/04/13 09:32:08 savage -# Changed Shared object names back to just the .so extension to avoid conflicts on various Linux/Unix distros. Therefore developers will need to create Symbolic links to the actual Share Objects if necessary. -# -# Revision 1.3 2004/04/01 20:53:23 savage -# Changed Linux Shared Object names so they reflect the Symbolic Links that are created when installing the RPMs from the SDL site. -# -# Revision 1.2 2004/03/30 20:23:28 savage -# Tidied up use of UNIX compiler directive. -# -# Revision 1.1 2004/02/14 23:35:42 savage -# version 1 of sdl_image, sdl_mixer and smpeg. -# -# -# -#****************************************************************************** - -import - sdl - -when defined(windows): - const SDL_ImageLibName = "SDL_Image.dll" -elif defined(macosx): - const SDL_ImageLibName = "libSDL_image-1.2.0.dylib" -else: - const SDL_ImageLibName = "libSDL_image.so" - -const - SDL_IMAGE_MAJOR_VERSION* = 1'i8 - SDL_IMAGE_MINOR_VERSION* = 2'i8 - SDL_IMAGE_PATCHLEVEL* = 5'i8 - -# This macro can be used to fill a version structure with the compile-time -# version of the SDL_image library. - -proc SDL_IMAGE_VERSION*(X: var TSDL_Version) - # This function gets the version of the dynamically linked SDL_image library. - # it should NOT be used to fill a version structure, instead you should - # use the SDL_IMAGE_VERSION() macro. - # -proc IMG_Linked_Version*(): PSDL_version{.importc, dynlib: SDL_ImageLibName.} - # Load an image from an SDL data source. - # The 'type' may be one of: "BMP", "GIF", "PNG", etc. - # - # If the image format supports a transparent pixel, SDL will set the - # colorkey for the surface. You can enable RLE acceleration on the - # surface afterwards by calling: - # SDL_SetColorKey(image, SDL_RLEACCEL, image.format.colorkey); - # -proc IMG_LoadTyped_RW*(src: PSDL_RWops, freesrc: int, theType: cstring): PSDL_Surface{. - cdecl, importc, dynlib: SDL_ImageLibName.} - # Convenience functions -proc IMG_Load*(theFile: cstring): PSDL_Surface{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_Load_RW*(src: PSDL_RWops, freesrc: int): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} - # Invert the alpha of a surface for use with OpenGL - # This function is now a no-op, and only provided for backwards compatibility. -proc IMG_InvertAlpha*(theOn: int): int{.cdecl, importc, dynlib: SDL_ImageLibName.} - # Functions to detect a file type, given a seekable source -proc IMG_isBMP*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isGIF*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isJPG*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isLBM*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isPCX*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isPNG*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isPNM*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isTIF*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isXCF*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isXPM*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} -proc IMG_isXV*(src: PSDL_RWops): int{.cdecl, importc, dynlib: SDL_ImageLibName.} - # Individual loading functions -proc IMG_LoadBMP_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadGIF_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadJPG_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadLBM_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadPCX_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadPNM_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadPNG_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadTGA_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadTIF_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadXCF_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadXPM_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_LoadXV_RW*(src: PSDL_RWops): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} -proc IMG_ReadXPMFromArray*(xpm: cstringArray): PSDL_Surface{.cdecl, - importc, dynlib: SDL_ImageLibName.} - # Error Macros - # We'll use SDL for reporting errors -proc IMG_SetError*(fmt: cstring) -proc IMG_GetError*(): cstring -# implementation - -proc SDL_IMAGE_VERSION(X: var TSDL_Version) = - X.major = SDL_IMAGE_MAJOR_VERSION - X.minor = SDL_IMAGE_MINOR_VERSION - X.patch = SDL_IMAGE_PATCHLEVEL - -proc IMG_SetError(fmt: cstring) = - SDL_SetError(fmt) - -proc IMG_GetError(): cstring = - result = SDL_GetError() diff --git a/lib/oldwrappers/sdl/sdl_mixer.nim b/lib/oldwrappers/sdl/sdl_mixer.nim deleted file mode 100755 index a17ef09d4..000000000 --- a/lib/oldwrappers/sdl/sdl_mixer.nim +++ /dev/null @@ -1,737 +0,0 @@ - -#****************************************************************************** -# -# $Id: sdl_mixer.pas,v 1.18 2007/05/29 21:31:44 savage Exp $ -# -# -# -# Borland Delphi SDL_Mixer - Simple DirectMedia Layer Mixer Library -# Conversion of the Simple DirectMedia Layer Headers -# -# Portions created by Sam Lantinga are -# Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -# 5635-34 Springhouse Dr. -# Pleasanton, CA 94588 (USA) -# -# All Rights Reserved. -# -# The original files are : SDL_mixer.h -# music_cmd.h -# wavestream.h -# timidity.h -# playmidi.h -# music_ogg.h -# mikmod.h -# -# The initial developer of this Pascal code was : -# Dominqiue Louis -# -# Portions created by Dominqiue Louis are -# Copyright (C) 2000 - 2001 Dominqiue Louis. -# -# -# Contributor(s) -# -------------- -# Matthias Thoma -# -# Obtained through: -# Joint Endeavour of Delphi Innovators ( Project JEDI ) -# -# You may retrieve the latest version of this file at the Project -# JEDI home page, located at http://delphi-jedi.org -# -# The contents of this file are used with permission, subject to -# the Mozilla Public License Version 1.1 (the "License"); you may -# not use this file except in compliance with the License. You may -# obtain a copy of the License at -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# Software distributed under the License is distributed on an -# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# Description -# ----------- -# -# -# -# -# -# -# -# Requires -# -------- -# SDL.pas & SMPEG.pas somewhere within your search path. -# -# Programming Notes -# ----------------- -# See the Aliens Demo to see how this library is used -# -# Revision History -# ---------------- -# April 02 2001 - DL : Initial Translation -# -# February 02 2002 - DL : Update to version 1.2.1 -# -# April 03 2003 - DL : Added jedi-sdl.inc include file to support more -# Pascal compilers. Initial support is now included -# for GnuPascal, VirtualPascal, TMT and obviously -# continue support for Delphi Kylix and FreePascal. -# -# April 24 2003 - DL : under instruction from Alexey Barkovoy, I have added -# better TMT Pascal support and under instruction -# from Prof. Abimbola Olowofoyeku (The African Chief), -# I have added better Gnu Pascal support -# -# April 30 2003 - DL : under instruction from David Mears AKA -# Jason Siletto, I have added FPC Linux support. -# This was compiled with fpc 1.1, so remember to set -# include file path. ie. -Fi/usr/share/fpcsrc/rtl/* -# -# -# $Log: sdl_mixer.pas,v $ -# Revision 1.18 2007/05/29 21:31:44 savage -# Changes as suggested by Almindor for 64bit compatibility. -# -# Revision 1.17 2007/05/20 20:31:17 savage -# Initial Changes to Handle 64 Bits -# -# Revision 1.16 2006/12/02 00:16:17 savage -# Updated to latest version -# -# Revision 1.15 2005/04/10 11:48:33 savage -# Changes as suggested by Michalis, thanks. -# -# Revision 1.14 2005/02/24 20:20:07 savage -# Changed definition of MusicType and added GetMusicType function -# -# Revision 1.13 2005/01/05 01:47:09 savage -# Changed LibName to reflect what MacOS X should have. ie libSDL*-1.2.0.dylib respectively. -# -# Revision 1.12 2005/01/04 23:14:56 savage -# Changed LibName to reflect what most Linux distros will have. ie libSDL*-1.2.so.0 respectively. -# -# Revision 1.11 2005/01/01 02:05:19 savage -# Updated to v1.2.6 -# -# Revision 1.10 2004/09/12 21:45:17 savage -# Robert Reed spotted that Mix_SetMusicPosition was missing from the conversion, so this has now been added. -# -# Revision 1.9 2004/08/27 21:48:24 savage -# IFDEFed out Smpeg support on MacOS X -# -# Revision 1.8 2004/08/14 22:54:30 savage -# Updated so that Library name defines are correctly defined for MacOS X. -# -# Revision 1.7 2004/05/10 14:10:04 savage -# Initial MacOS X support. Fixed defines for MACOS ( Classic ) and DARWIN ( MacOS X ). -# -# Revision 1.6 2004/04/13 09:32:08 savage -# Changed Shared object names back to just the .so extension to avoid conflicts on various Linux/Unix distros. Therefore developers will need to create Symbolic links to the actual Share Objects if necessary. -# -# Revision 1.5 2004/04/01 20:53:23 savage -# Changed Linux Shared Object names so they reflect the Symbolic Links that are created when installing the RPMs from the SDL site. -# -# Revision 1.4 2004/03/31 22:20:02 savage -# Windows unit not used in this file, so it was removed to keep the code tidy. -# -# Revision 1.3 2004/03/31 10:05:08 savage -# Better defines for Endianess under FreePascal and Borland compilers. -# -# Revision 1.2 2004/03/30 20:23:28 savage -# Tidied up use of UNIX compiler directive. -# -# Revision 1.1 2004/02/14 23:35:42 savage -# version 1 of sdl_image, sdl_mixer and smpeg. -# -# -# -#****************************************************************************** - -import - sdl, smpeg - -when defined(windows): - const SDL_MixerLibName = "SDL_mixer.dll" -elif defined(macosx): - const SDL_MixerLibName = "libSDL_mixer-1.2.0.dylib" -else: - const SDL_MixerLibName = "libSDL_mixer.so" - -const - SDL_MIXER_MAJOR_VERSION* = 1'i8 - SDL_MIXER_MINOR_VERSION* = 2'i8 - SDL_MIXER_PATCHLEVEL* = 7'i8 # Backwards compatibility - MIX_MAJOR_VERSION* = SDL_MIXER_MAJOR_VERSION - MIX_MINOR_VERSION* = SDL_MIXER_MINOR_VERSION - MIX_PATCHLEVEL* = SDL_MIXER_PATCHLEVEL # SDL_Mixer.h constants - # The default mixer has 8 simultaneous mixing channels - MIX_CHANNELS* = 8 # Good default values for a PC soundcard - MIX_DEFAULT_FREQUENCY* = 22050 - -when defined(IA32): - const - MIX_DEFAULT_FORMAT* = AUDIO_S16LSB -else: - const - MIX_DEFAULT_FORMAT* = AUDIO_S16MSB -const - MIX_DEFAULT_CHANNELS* = 2 - MIX_MAX_VOLUME* = 128 # Volume of a chunk - PATH_MAX* = 255 # mikmod.h constants - #* - # * Library version - # * - LIBMIKMOD_VERSION_MAJOR* = 3 - LIBMIKMOD_VERSION_MINOR* = 1 - LIBMIKMOD_REVISION* = 8 - LIBMIKMOD_VERSION* = ((LIBMIKMOD_VERSION_MAJOR shl 16) or - (LIBMIKMOD_VERSION_MINOR shl 8) or (LIBMIKMOD_REVISION)) - -type #music_cmd.h types - PMusicCMD* = ptr TMusicCMD - TMusicCMD*{.final.} = object #wavestream.h types - filename*: array[0..PATH_MAX - 1, char] - cmd*: array[0..PATH_MAX - 1, char] - pid*: TSYS_ThreadHandle - - PWAVStream* = ptr TWAVStream - TWAVStream*{.final.} = object #playmidi.h types - wavefp*: Pointer - start*: int32 - stop*: int32 - cvt*: TSDL_AudioCVT - - PMidiEvent* = ptr TMidiEvent - TMidiEvent*{.final.} = object - time*: int32 - channel*: uint8 - typ*: uint8 - a*: uint8 - b*: uint8 - - PMidiSong* = ptr TMidiSong - TMidiSong*{.final.} = object #music_ogg.h types - samples*: int32 - events*: PMidiEvent - - POGG_Music* = ptr TOGG_Music - TOGG_Music*{.final.} = object # mikmod.h types - #* - # * Error codes - # * - playing*: int - volume*: int #vf: OggVorbis_File; - section*: int - cvt*: TSDL_AudioCVT - len_available*: int - snd_available*: PUint8 - - TErrorEnum* = enum - MMERR_OPENING_FILE, MMERR_OUT_OF_MEMORY, MMERR_DYNAMIC_LINKING, - MMERR_SAMPLE_TOO_BIG, MMERR_OUT_OF_HANDLES, MMERR_UNKNOWN_WAVE_TYPE, - MMERR_LOADING_PATTERN, MMERR_LOADING_TRACK, MMERR_LOADING_HEADER, - MMERR_LOADING_SAMPLEINFO, MMERR_NOT_A_MODULE, MMERR_NOT_A_STREAM, - MMERR_MED_SYNTHSAMPLES, MMERR_ITPACK_INVALID_DATA, MMERR_DETECTING_DEVICE, - MMERR_INVALID_DEVICE, MMERR_INITIALIZING_MIXER, MMERR_OPENING_AUDIO, - MMERR_8BIT_ONLY, MMERR_16BIT_ONLY, MMERR_STEREO_ONLY, MMERR_ULAW, - MMERR_NON_BLOCK, MMERR_AF_AUDIO_PORT, MMERR_AIX_CONFIG_INIT, - MMERR_AIX_CONFIG_CONTROL, MMERR_AIX_CONFIG_START, MMERR_GUS_SETTINGS, - MMERR_GUS_RESET, MMERR_GUS_TIMER, MMERR_HP_SETSAMPLESIZE, MMERR_HP_SETSPEED, - MMERR_HP_CHANNELS, MMERR_HP_AUDIO_OUTPUT, MMERR_HP_AUDIO_DESC, - MMERR_HP_BUFFERSIZE, MMERR_OSS_SETFRAGMENT, MMERR_OSS_SETSAMPLESIZE, - MMERR_OSS_SETSTEREO, MMERR_OSS_SETSPEED, MMERR_SGI_SPEED, MMERR_SGI_16BIT, - MMERR_SGI_8BIT, MMERR_SGI_STEREO, MMERR_SGI_MONO, MMERR_SUN_INIT, - MMERR_OS2_MIXSETUP, MMERR_OS2_SEMAPHORE, MMERR_OS2_TIMER, MMERR_OS2_THREAD, - MMERR_DS_PRIORITY, MMERR_DS_BUFFER, MMERR_DS_FORMAT, MMERR_DS_NOTIFY, - MMERR_DS_EVENT, MMERR_DS_THREAD, MMERR_DS_UPDATE, MMERR_WINMM_HANDLE, - MMERR_WINMM_ALLOCATED, MMERR_WINMM_DEVICEID, MMERR_WINMM_FORMAT, - MMERR_WINMM_UNKNOWN, MMERR_MAC_SPEED, MMERR_MAC_START, MMERR_MAX - PMODULE* = ptr TMODULE - TMODULE*{.final.} = object - PUNIMOD* = ptr TUNIMOD - TUNIMOD* = TMODULE #SDL_mixer.h types - # The internal format for an audio chunk - PMix_Chunk* = ptr TMix_Chunk - TMix_Chunk*{.final.} = object - allocated*: int - abuf*: PUint8 - alen*: Uint32 - volume*: Uint8 # Per-sample volume, 0-128 - - Mix_Chunk* = TMix_Chunk # The different fading types supported - TMix_Fading* = enum - MIX_NO_FADING, MIX_FADING_OUT, MIX_FADING_IN - Mix_Fading* = TMix_Fading - TMix_MusicType* = enum - MUS_NONE, MUS_CMD, MUS_WAV, MUS_MOD, MUS_MID, MUS_OGG, MUS_MP3 - Mix_MusicType* = TMix_MusicType # - # TMusicUnion = record - # case XXX: Byte of - # 0 : ( cmd : PMusicCMD ); - # 1 : ( wave : PWAVStream ); - # 2 : ( module : PUNIMOD ); - # 3 : ( midi : TMidiSong ); - # 4 : ( ogg : POGG_music ); - # {$IFNDEF DARWIN} - # 5 : ( mp3 : PSMPEG ); - # {$ENDIF} - # end; - PMix_Music* = ptr TMix_Music - TMix_Music*{.final.} = object # The internal format for a music chunk interpreted via mikmod - typ*: TMix_MusicType # other fields are not aviable - # data : TMusicUnion; - # fading : TMix_Fading; - # fade_volume : integer; - # fade_step : integer; - # fade_steps : integer; - # error : integer; - - TMixFunction* = proc (udata: Pointer, stream: PUint8, length: int): Pointer{. - cdecl.} # This macro can be used to fill a version structure with the compile-time - # version of the SDL_mixer library. - -proc SDL_MIXER_VERSION*(X: var TSDL_Version) - # This function gets the version of the dynamically linked SDL_mixer library. - # It should NOT be used to fill a version structure, instead you should use the - # SDL_MIXER_VERSION() macro. -proc Mix_Linked_Version*(): PSDL_version{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Open the mixer with a certain audio format -proc Mix_OpenAudio*(frequency: int, format: Uint16, channels: int, - chunksize: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Dynamically change the number of channels managed by the mixer. - # If decreasing the number of channels, the upper channels are - # stopped. - # This function returns the new number of allocated channels. - # -proc Mix_AllocateChannels*(numchannels: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Find out what the actual audio device parameters are. - # This function returns 1 if the audio has been opened, 0 otherwise. - # -proc Mix_QuerySpec*(frequency: var int, format: var Uint16, channels: var int): int{. - cdecl, importc, dynlib: SDL_MixerLibName.} - # Load a wave file or a music (.mod .s3m .it .xm) file -proc Mix_LoadWAV_RW*(src: PSDL_RWops, freesrc: int): PMix_Chunk{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_LoadWAV*(filename: cstring): PMix_Chunk -proc Mix_LoadMUS*(filename: cstring): PMix_Music{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Load a wave file of the mixer format from a memory buffer -proc Mix_QuickLoad_WAV*(mem: PUint8): PMix_Chunk{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Free an audio chunk previously loaded -proc Mix_FreeChunk*(chunk: PMix_Chunk){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_FreeMusic*(music: PMix_Music){.cdecl, importc, dynlib: SDL_MixerLibName.} - # Find out the music format of a mixer music, or the currently playing - # music, if 'music' is NULL. -proc Mix_GetMusicType*(music: PMix_Music): TMix_MusicType{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Set a function that is called after all mixing is performed. - # This can be used to provide real-time visual display of the audio stream - # or add a custom mixer filter for the stream data. - # -proc Mix_SetPostMix*(mix_func: TMixFunction, arg: Pointer){.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Add your own music player or additional mixer function. - # If 'mix_func' is NULL, the default music player is re-enabled. - # -proc Mix_HookMusic*(mix_func: TMixFunction, arg: Pointer){.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Add your own callback when the music has finished playing. - # -proc Mix_HookMusicFinished*(music_finished: Pointer){.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Get a pointer to the user data for the current music hook -proc Mix_GetMusicHookData*(): Pointer{.cdecl, importc, dynlib: SDL_MixerLibName.} - #* Add your own callback when a channel has finished playing. NULL - # * to disable callback.* -type - TChannel_finished* = proc (channel: int){.cdecl.} - -proc Mix_ChannelFinished*(channel_finished: TChannel_finished){.cdecl, - importc, dynlib: SDL_MixerLibName.} -const - MIX_CHANNEL_POST* = - 2 - # This is the format of a special effect callback: - # myeffect(int chan, void *stream, int len, void *udata); - # - # (chan) is the channel number that your effect is affecting. (stream) is - # the buffer of data to work upon. (len) is the size of (stream), and - # (udata) is a user-defined bit of data, which you pass as the last arg of - # Mix_RegisterEffect(), and is passed back unmolested to your callback. - # Your effect changes the contents of (stream) based on whatever parameters - # are significant, or just leaves it be, if you prefer. You can do whatever - # you like to the buffer, though, and it will continue in its changed state - # down the mixing pipeline, through any other effect functions, then finally - # to be mixed with the rest of the channels and music for the final output - # stream. - # - -type - TMix_EffectFunc* = proc (chan: int, stream: Pointer, length: int, - udata: Pointer): Pointer{.cdecl.} - # * This is a callback that signifies that a channel has finished all its - # * loops and has completed playback. This gets called if the buffer - # * plays out normally, or if you call Mix_HaltChannel(), implicitly stop - # * a channel via Mix_AllocateChannels(), or unregister a callback while - # * it's still playing. - TMix_EffectDone* = proc (chan: int, udata: Pointer): Pointer{.cdecl.} - #* Register a special effect function. At mixing time, the channel data is - # * copied into a buffer and passed through each registered effect function. - # * After it passes through all the functions, it is mixed into the final - # * output stream. The copy to buffer is performed once, then each effect - # * function performs on the output of the previous effect. Understand that - # * this extra copy to a buffer is not performed if there are no effects - # * registered for a given chunk, which saves CPU cycles, and any given - # * effect will be extra cycles, too, so it is crucial that your code run - # * fast. Also note that the data that your function is given is in the - # * format of the sound device, and not the format you gave to Mix_OpenAudio(), - # * although they may in reality be the same. This is an unfortunate but - # * necessary speed concern. Use Mix_QuerySpec() to determine if you can - # * handle the data before you register your effect, and take appropriate - # * actions. - # * You may also specify a callback (Mix_EffectDone_t) that is called when - # * the channel finishes playing. This gives you a more fine-grained control - # * than Mix_ChannelFinished(), in case you need to free effect-specific - # * resources, etc. If you don't need this, you can specify NULL. - # * You may set the callbacks before or after calling Mix_PlayChannel(). - # * Things like Mix_SetPanning() are just internal special effect functions, - # * so if you are using that, you've already incurred the overhead of a copy - # * to a separate buffer, and that these effects will be in the queue with - # * any functions you've registered. The list of registered effects for a - # * channel is reset when a chunk finishes playing, so you need to explicitly - # * set them with each call to Mix_PlayChannel*(). - # * You may also register a special effect function that is to be run after - # * final mixing occurs. The rules for these callbacks are identical to those - # * in Mix_RegisterEffect, but they are run after all the channels and the - # * music have been mixed into a single stream, whereas channel-specific - # * effects run on a given channel before any other mixing occurs. These - # * global effect callbacks are call "posteffects". Posteffects only have - # * their Mix_EffectDone_t function called when they are unregistered (since - # * the main output stream is never "done" in the same sense as a channel). - # * You must unregister them manually when you've had enough. Your callback - # * will be told that the channel being mixed is (MIX_CHANNEL_POST) if the - # * processing is considered a posteffect. - # * - # * After all these effects have finished processing, the callback registered - # * through Mix_SetPostMix() runs, and then the stream goes to the audio - # * device. - # * - # * returns zero if error (no such channel), nonzero if added. - # * Error messages can be retrieved from Mix_GetError(). - # * - -proc Mix_RegisterEffect*(chan: int, f: TMix_EffectFunc, d: TMix_EffectDone, - arg: Pointer): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - #* You may not need to call this explicitly, unless you need to stop an - # * effect from processing in the middle of a chunk's playback. - # * Posteffects are never implicitly unregistered as they are for channels, - # * but they may be explicitly unregistered through this function by - # * specifying MIX_CHANNEL_POST for a channel. - # * returns zero if error (no such channel or effect), nonzero if removed. - # * Error messages can be retrieved from Mix_GetError(). - # * -proc Mix_UnregisterEffect*(channel: int, f: TMix_EffectFunc): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - #* You may not need to call this explicitly, unless you need to stop all - # * effects from processing in the middle of a chunk's playback. Note that - # * this will also shut off some internal effect processing, since - # * Mix_SetPanning( ) and others may use this API under the hood.This is - # * called internally when a channel completes playback. - # * Posteffects are never implicitly unregistered as they are for channels, - # * but they may be explicitly unregistered through this function by - # * specifying MIX_CHANNEL_POST for a channel. - # * returns zero if error( no such channel ), nonzero if all effects removed. - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_UnregisterAllEffects*(channel: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -const - MIX_EFFECTSMAXSPEED* = "MIX_EFFECTSMAXSPEED" - # * These are the internally - defined mixing effects.They use the same API that - # * effects defined in the application use, but are provided here as a - # * convenience.Some effects can reduce their quality or use more memory in - # * the name of speed; to enable this, make sure the environment variable - # * MIX_EFFECTSMAXSPEED( see above ) is defined before you call - # * Mix_OpenAudio( ). - # * - #* set the panning of a channel.The left and right channels are specified - # * as integers between 0 and 255, quietest to loudest, respectively. - # * - # * Technically, this is just individual volume control for a sample with - # * two( stereo )channels, so it can be used for more than just panning. - # * if you want real panning, call it like this : - # * - # * Mix_SetPanning( channel, left, 255 - left ); - # * - # * ...which isn't so hard. - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the panning will be done to the final mixed stream before passing it on - # * to the audio device. - # * - # * This uses the Mix_RegisterEffect( )API internally, and returns without - # * registering the effect function if the audio device is not configured - # * for stereo output.Setting both( left ) and ( right ) to 255 causes this - # * effect to be unregistered, since that is the data's normal state. - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if panning effect enabled.Note that an audio device in mono - # * mode is a no - op, but this call will return successful in that case . - # * Error messages can be retrieved from Mix_GetError( ). - # * - -proc Mix_SetPanning*(channel: int, left: Uint8, right: Uint8): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # * set the position ofa channel.( angle ) is an integer from 0 to 360, that - # * specifies the location of the sound in relation to the listener.( angle ) - # * will be reduced as neccesary( 540 becomes 180 degrees, -100 becomes 260 ). - # * Angle 0 is due north, and rotates clockwise as the value increases. - # * for efficiency, the precision of this effect may be limited( angles 1 - # * through 7 might all produce the same effect, 8 through 15 are equal, etc ). - # * ( distance ) is an integer between 0 and 255 that specifies the space - # * between the sound and the listener.The larger the number, the further - # * away the sound is .Using 255 does not guarantee that the channel will be - # * culled from the mixing process or be completely silent.For efficiency, - # * the precision of this effect may be limited( distance 0 through 5 might - # * all produce the same effect, 6 through 10 are equal, etc ).Setting( angle ) - # * and ( distance ) to 0 unregisters this effect, since the data would be - # * unchanged. - # * - # * if you need more precise positional audio, consider using OpenAL for - # * spatialized effects instead of SDL_mixer.This is only meant to be a - # * basic effect for simple "3D" games. - # * - # * if the audio device is configured for mono output, then you won't get - # * any effectiveness from the angle; however, distance attenuation on the - # * channel will still occur.While this effect will function with stereo - # * voices, it makes more sense to use voices with only one channel of sound, - # * so when they are mixed through this effect, the positioning will sound - # * correct.You can convert them to mono through SDL before giving them to - # * the mixer in the first place if you like. - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the positioning will be done to the final mixed stream before passing it - # * on to the audio device. - # * - # * This is a convenience wrapper over Mix_SetDistance( ) and Mix_SetPanning( ). - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if position effect is enabled. - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_SetPosition*(channel: int, angle: Sint16, distance: Uint8): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - #* set the "distance" of a channel.( distance ) is an integer from 0 to 255 - # * that specifies the location of the sound in relation to the listener. - # * Distance 0 is overlapping the listener, and 255 is as far away as possible - # * A distance of 255 does not guarantee silence; in such a case , you might - # * want to try changing the chunk's volume, or just cull the sample from the - # * mixing process with Mix_HaltChannel( ). - # * for efficiency, the precision of this effect may be limited( distances 1 - # * through 7 might all produce the same effect, 8 through 15 are equal, etc ). - # * ( distance ) is an integer between 0 and 255 that specifies the space - # * between the sound and the listener.The larger the number, the further - # * away the sound is . - # * Setting( distance ) to 0 unregisters this effect, since the data would be - # * unchanged. - # * if you need more precise positional audio, consider using OpenAL for - # * spatialized effects instead of SDL_mixer.This is only meant to be a - # * basic effect for simple "3D" games. - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the distance attenuation will be done to the final mixed stream before - # * passing it on to the audio device. - # * - # * This uses the Mix_RegisterEffect( )API internally. - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if position effect is enabled. - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_SetDistance*(channel: int, distance: Uint8): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # * - # * !!! FIXME : Haven't implemented, since the effect goes past the - # * end of the sound buffer.Will have to think about this. - # * - -ryan. - # * / - # { if 0 - # { * Causes an echo effect to be mixed into a sound.( echo ) is the amount - # * of echo to mix.0 is no echo, 255 is infinite( and probably not - # * what you want ). - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the reverbing will be done to the final mixed stream before passing it on - # * to the audio device. - # * - # * This uses the Mix_RegisterEffect( )API internally.If you specify an echo - # * of zero, the effect is unregistered, as the data is already in that state. - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if reversing effect is enabled. - # * Error messages can be retrieved from Mix_GetError( ). - # * - # extern no_parse_DECLSPEC int Mix_SetReverb( int channel, Uint8 echo ); - # #E ndif - # * Causes a channel to reverse its stereo.This is handy if the user has his - # * speakers hooked up backwards, or you would like to have a minor bit of - # * psychedelia in your sound code. : )Calling this function with ( flip ) - # * set to non - zero reverses the chunks's usual channels. If (flip) is zero, - # * the effect is unregistered. - # * - # * This uses the Mix_RegisterEffect( )API internally, and thus is probably - # * more CPU intensive than having the user just plug in his speakers - # * correctly.Mix_SetReverseStereo( )returns without registering the effect - # * function if the audio device is not configured for stereo output. - # * - # * if you specify MIX_CHANNEL_POST for ( channel ), then this the effect is used - # * on the final mixed stream before sending it on to the audio device( a - # * posteffect ). - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if reversing effect is enabled.Note that an audio device in mono - # * mode is a no - op, but this call will return successful in that case . - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_SetReverseStereo*(channel: int, flip: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # end of effects API. - -ryan. * - # Reserve the first channels (0 -> n-1) for the application, i.e. don't allocate - # them dynamically to the next sample if requested with a -1 value below. - # Returns the number of reserved channels. - # -proc Mix_ReserveChannels*(num: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Channel grouping functions - # Attach a tag to a channel. A tag can be assigned to several mixer - # channels, to form groups of channels. - # If 'tag' is -1, the tag is removed (actually -1 is the tag used to - # represent the group of all the channels). - # Returns true if everything was OK. - # -proc Mix_GroupChannel*(which: int, tag: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Assign several consecutive channels to a group -proc Mix_GroupChannels*(`from`: int, `to`: int, tag: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Finds the first available channel in a group of channels -proc Mix_GroupAvailable*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Returns the number of channels in a group. This is also a subtle - # way to get the total number of channels when 'tag' is -1 - # -proc Mix_GroupCount*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Finds the "oldest" sample playing in a group of channels -proc Mix_GroupOldest*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Finds the "most recent" (i.e. last) sample playing in a group of channels -proc Mix_GroupNewer*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # The same as above, but the sound is played at most 'ticks' milliseconds -proc Mix_PlayChannelTimed*(channel: int, chunk: PMix_Chunk, loops: int, - ticks: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Play an audio chunk on a specific channel. - # If the specified channel is -1, play on the first free channel. - # If 'loops' is greater than zero, loop the sound that many times. - # If 'loops' is -1, loop inifinitely (~65000 times). - # Returns which channel was used to play the sound. - # -proc Mix_PlayChannel*(channel: int, chunk: PMix_Chunk, loops: int): int -proc Mix_PlayMusic*(music: PMix_Music, loops: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Fade in music or a channel over "ms" milliseconds, same semantics as the "Play" functions -proc Mix_FadeInMusic*(music: PMix_Music, loops: int, ms: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeInChannelTimed*(channel: int, chunk: PMix_Chunk, loops: int, - ms: int, ticks: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeInChannel*(channel: int, chunk: PMix_Chunk, loops: int, ms: int): int - # Set the volume in the range of 0-128 of a specific channel or chunk. - # If the specified channel is -1, set volume for all channels. - # Returns the original volume. - # If the specified volume is -1, just return the current volume. - # -proc Mix_Volume*(channel: int, volume: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_VolumeChunk*(chunk: PMix_Chunk, volume: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_VolumeMusic*(volume: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Halt playing of a particular channel -proc Mix_HaltChannel*(channel: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_HaltGroup*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_HaltMusic*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Change the expiration delay for a particular channel. - # The sample will stop playing after the 'ticks' milliseconds have elapsed, - # or remove the expiration if 'ticks' is -1 - # -proc Mix_ExpireChannel*(channel: int, ticks: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Halt a channel, fading it out progressively till it's silent - # The ms parameter indicates the number of milliseconds the fading - # will take. - # -proc Mix_FadeOutChannel*(which: int, ms: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeOutGroup*(tag: int, ms: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeOutMusic*(ms: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Query the fading status of a channel -proc Mix_FadingMusic*(): TMix_Fading{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_FadingChannel*(which: int): TMix_Fading{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Pause/Resume a particular channel -proc Mix_Pause*(channel: int){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_Resume*(channel: int){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_Paused*(channel: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Pause/Resume the music stream -proc Mix_PauseMusic*(){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_ResumeMusic*(){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_RewindMusic*(){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_PausedMusic*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Set the current position in the music stream. - # This returns 0 if successful, or -1 if it failed or isn't implemented. - # This function is only implemented for MOD music formats (set pattern - # order number) and for OGG music (set position in seconds), at the - # moment. - # -proc Mix_SetMusicPosition*(position: float64): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Check the status of a specific channel. - # If the specified channel is -1, check all channels. - # -proc Mix_Playing*(channel: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_PlayingMusic*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Stop music and set external music playback command -proc Mix_SetMusicCMD*(command: cstring): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Synchro value is set by MikMod from modules while playing -proc Mix_SetSynchroValue*(value: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_GetSynchroValue*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # - # Get the Mix_Chunk currently associated with a mixer channel - # Returns nil if it's an invalid channel, or there's no chunk associated. - # -proc Mix_GetChunk*(channel: int): PMix_Chunk{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Close the mixer, halting all playing audio -proc Mix_CloseAudio*(){.cdecl, importc, dynlib: SDL_MixerLibName.} - # We'll use SDL for reporting errors -proc Mix_SetError*(fmt: cstring) -proc Mix_GetError*(): cstring -# implementation - -proc SDL_MIXER_VERSION(X: var TSDL_version) = - X.major = SDL_MIXER_MAJOR_VERSION - X.minor = SDL_MIXER_MINOR_VERSION - X.patch = SDL_MIXER_PATCHLEVEL - -proc Mix_LoadWAV(filename: cstring): PMix_Chunk = - result = Mix_LoadWAV_RW(SDL_RWFromFile(filename, "rb"), 1) - -proc Mix_PlayChannel(channel: int, chunk: PMix_Chunk, loops: int): int = - result = Mix_PlayChannelTimed(channel, chunk, loops, - 1) - -proc Mix_FadeInChannel(channel: int, chunk: PMix_Chunk, loops: int, ms: int): int = - result = Mix_FadeInChannelTimed(channel, chunk, loops, ms, - 1) - -proc Mix_SetError(fmt: cstring) = - SDL_SetError(fmt) - -proc Mix_GetError(): cstring = - result = SDL_GetError() diff --git a/lib/oldwrappers/sdl/sdl_mixer_nosmpeg.nim b/lib/oldwrappers/sdl/sdl_mixer_nosmpeg.nim deleted file mode 100755 index 879867607..000000000 --- a/lib/oldwrappers/sdl/sdl_mixer_nosmpeg.nim +++ /dev/null @@ -1,572 +0,0 @@ - -#****************************************************************************** -# Copy of SDL_Mixer without smpeg dependency and mp3 support -#****************************************************************************** - -import - sdl - -when defined(windows): - const SDL_MixerLibName = "SDL_mixer.dll" -elif defined(macosx): - const SDL_MixerLibName = "libSDL_mixer-1.2.0.dylib" -else: - const SDL_MixerLibName = "libSDL_mixer.so" - -const - SDL_MIXER_MAJOR_VERSION* = 1'i8 - SDL_MIXER_MINOR_VERSION* = 2'i8 - SDL_MIXER_PATCHLEVEL* = 7'i8 # Backwards compatibility - MIX_MAJOR_VERSION* = SDL_MIXER_MAJOR_VERSION - MIX_MINOR_VERSION* = SDL_MIXER_MINOR_VERSION - MIX_PATCHLEVEL* = SDL_MIXER_PATCHLEVEL # SDL_Mixer.h constants - # The default mixer has 8 simultaneous mixing channels - MIX_CHANNELS* = 8 # Good default values for a PC soundcard - MIX_DEFAULT_FREQUENCY* = 22050 - -when defined(IA32): - const - MIX_DEFAULT_FORMAT* = AUDIO_S16LSB -else: - const - MIX_DEFAULT_FORMAT* = AUDIO_S16MSB -const - MIX_DEFAULT_CHANNELS* = 2 - MIX_MAX_VOLUME* = 128 # Volume of a chunk - PATH_MAX* = 255 # mikmod.h constants - #* - # * Library version - # * - LIBMIKMOD_VERSION_MAJOR* = 3 - LIBMIKMOD_VERSION_MINOR* = 1 - LIBMIKMOD_REVISION* = 8 - LIBMIKMOD_VERSION* = ((LIBMIKMOD_VERSION_MAJOR shl 16) or - (LIBMIKMOD_VERSION_MINOR shl 8) or (LIBMIKMOD_REVISION)) - -type #music_cmd.h types - PMusicCMD* = ptr TMusicCMD - TMusicCMD*{.final.} = object #wavestream.h types - filename*: array[0..PATH_MAX - 1, char] - cmd*: array[0..PATH_MAX - 1, char] - pid*: TSYS_ThreadHandle - - PWAVStream* = ptr TWAVStream - TWAVStream*{.final.} = object #playmidi.h types - wavefp*: Pointer - start*: int32 - stop*: int32 - cvt*: TSDL_AudioCVT - - PMidiEvent* = ptr TMidiEvent - TMidiEvent*{.final.} = object - time*: int32 - channel*: uint8 - typ*: uint8 - a*: uint8 - b*: uint8 - - PMidiSong* = ptr TMidiSong - TMidiSong*{.final.} = object #music_ogg.h types - samples*: int32 - events*: PMidiEvent - - POGG_Music* = ptr TOGG_Music - TOGG_Music*{.final.} = object # mikmod.h types - #* - # * Error codes - # * - playing*: int - volume*: int #vf: OggVorbis_File; - section*: int - cvt*: TSDL_AudioCVT - len_available*: int - snd_available*: PUint8 - - TErrorEnum* = enum - MMERR_OPENING_FILE, MMERR_OUT_OF_MEMORY, MMERR_DYNAMIC_LINKING, - MMERR_SAMPLE_TOO_BIG, MMERR_OUT_OF_HANDLES, MMERR_UNKNOWN_WAVE_TYPE, - MMERR_LOADING_PATTERN, MMERR_LOADING_TRACK, MMERR_LOADING_HEADER, - MMERR_LOADING_SAMPLEINFO, MMERR_NOT_A_MODULE, MMERR_NOT_A_STREAM, - MMERR_MED_SYNTHSAMPLES, MMERR_ITPACK_INVALID_DATA, MMERR_DETECTING_DEVICE, - MMERR_INVALID_DEVICE, MMERR_INITIALIZING_MIXER, MMERR_OPENING_AUDIO, - MMERR_8BIT_ONLY, MMERR_16BIT_ONLY, MMERR_STEREO_ONLY, MMERR_ULAW, - MMERR_NON_BLOCK, MMERR_AF_AUDIO_PORT, MMERR_AIX_CONFIG_INIT, - MMERR_AIX_CONFIG_CONTROL, MMERR_AIX_CONFIG_START, MMERR_GUS_SETTINGS, - MMERR_GUS_RESET, MMERR_GUS_TIMER, MMERR_HP_SETSAMPLESIZE, MMERR_HP_SETSPEED, - MMERR_HP_CHANNELS, MMERR_HP_AUDIO_OUTPUT, MMERR_HP_AUDIO_DESC, - MMERR_HP_BUFFERSIZE, MMERR_OSS_SETFRAGMENT, MMERR_OSS_SETSAMPLESIZE, - MMERR_OSS_SETSTEREO, MMERR_OSS_SETSPEED, MMERR_SGI_SPEED, MMERR_SGI_16BIT, - MMERR_SGI_8BIT, MMERR_SGI_STEREO, MMERR_SGI_MONO, MMERR_SUN_INIT, - MMERR_OS2_MIXSETUP, MMERR_OS2_SEMAPHORE, MMERR_OS2_TIMER, MMERR_OS2_THREAD, - MMERR_DS_PRIORITY, MMERR_DS_BUFFER, MMERR_DS_FORMAT, MMERR_DS_NOTIFY, - MMERR_DS_EVENT, MMERR_DS_THREAD, MMERR_DS_UPDATE, MMERR_WINMM_HANDLE, - MMERR_WINMM_ALLOCATED, MMERR_WINMM_DEVICEID, MMERR_WINMM_FORMAT, - MMERR_WINMM_UNKNOWN, MMERR_MAC_SPEED, MMERR_MAC_START, MMERR_MAX - PMODULE* = ptr TMODULE - TMODULE*{.final.} = object - PUNIMOD* = ptr TUNIMOD - TUNIMOD* = TMODULE #SDL_mixer.h types - # The internal format for an audio chunk - PMix_Chunk* = ptr TMix_Chunk - TMix_Chunk*{.final.} = object - allocated*: int - abuf*: PUint8 - alen*: Uint32 - volume*: Uint8 # Per-sample volume, 0-128 - - Mix_Chunk* = TMix_Chunk # The different fading types supported - TMix_Fading* = enum - MIX_NO_FADING, MIX_FADING_OUT, MIX_FADING_IN - Mix_Fading* = TMix_Fading - TMix_MusicType* = enum - MUS_NONE, MUS_CMD, MUS_WAV, MUS_MOD, MUS_MID, MUS_OGG - PMix_Music* = ptr TMix_Music - TMix_Music*{.final.} = object - typ*: TMix_MusicType - - TMixFunction* = proc (udata: Pointer, stream: PUint8, length: int): Pointer{. - cdecl.} # This macro can be used to fill a version structure with the compile-time - # version of the SDL_mixer library. - -proc SDL_MIXER_VERSION*(X: var TSDL_Version) - # This function gets the version of the dynamically linked SDL_mixer library. - # It should NOT be used to fill a version structure, instead you should use the - # SDL_MIXER_VERSION() macro. -proc Mix_Linked_Version*(): PSDL_version{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Open the mixer with a certain audio format -proc Mix_OpenAudio*(frequency: int, format: Uint16, channels: int, - chunksize: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Dynamically change the number of channels managed by the mixer. - # If decreasing the number of channels, the upper channels are - # stopped. - # This function returns the new number of allocated channels. - # -proc Mix_AllocateChannels*(numchannels: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Find out what the actual audio device parameters are. - # This function returns 1 if the audio has been opened, 0 otherwise. - # -proc Mix_QuerySpec*(frequency: var int, format: var Uint16, channels: var int): int{. - cdecl, importc, dynlib: SDL_MixerLibName.} - # Load a wave file or a music (.mod .s3m .it .xm) file -proc Mix_LoadWAV_RW*(src: PSDL_RWops, freesrc: int): PMix_Chunk{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_LoadWAV*(filename: cstring): PMix_Chunk -proc Mix_LoadMUS*(filename: cstring): PMix_Music{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Load a wave file of the mixer format from a memory buffer -proc Mix_QuickLoad_WAV*(mem: PUint8): PMix_Chunk{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Free an audio chunk previously loaded -proc Mix_FreeChunk*(chunk: PMix_Chunk){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_FreeMusic*(music: PMix_Music){.cdecl, importc, dynlib: SDL_MixerLibName.} - # Find out the music format of a mixer music, or the currently playing - # music, if 'music' is NULL. -proc Mix_GetMusicType*(music: PMix_Music): TMix_MusicType{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Set a function that is called after all mixing is performed. - # This can be used to provide real-time visual display of the audio stream - # or add a custom mixer filter for the stream data. - # -proc Mix_SetPostMix*(mix_func: TMixFunction, arg: Pointer){.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Add your own music player or additional mixer function. - # If 'mix_func' is NULL, the default music player is re-enabled. - # -proc Mix_HookMusic*(mix_func: TMixFunction, arg: Pointer){.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Add your own callback when the music has finished playing. - # -proc Mix_HookMusicFinished*(music_finished: Pointer){.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Get a pointer to the user data for the current music hook -proc Mix_GetMusicHookData*(): Pointer{.cdecl, importc, dynlib: SDL_MixerLibName.} - #* Add your own callback when a channel has finished playing. NULL - # * to disable callback.* -type - TChannel_finished* = proc (channel: int){.cdecl.} - -proc Mix_ChannelFinished*(channel_finished: TChannel_finished){.cdecl, - importc, dynlib: SDL_MixerLibName.} -const - MIX_CHANNEL_POST* = - 2 #* This is the format of a special effect callback: - # * - # * myeffect(int chan, void *stream, int len, void *udata); - # * - # * (chan) is the channel number that your effect is affecting. (stream) is - # * the buffer of data to work upon. (len) is the size of (stream), and - # * (udata) is a user-defined bit of data, which you pass as the last arg of - # * Mix_RegisterEffect(), and is passed back unmolested to your callback. - # * Your effect changes the contents of (stream) based on whatever parameters - # * are significant, or just leaves it be, if you prefer. You can do whatever - # * you like to the buffer, though, and it will continue in its changed state - # * down the mixing pipeline, through any other effect functions, then finally - # * to be mixed with the rest of the channels and music for the final output - # * stream. - # * - -type - TMix_EffectFunc* = proc (chan: int, stream: Pointer, length: int, - udata: Pointer): Pointer{.cdecl.} - # * This is a callback that signifies that a channel has finished all its - # * loops and has completed playback. This gets called if the buffer - # * plays out normally, or if you call Mix_HaltChannel(), implicitly stop - # * a channel via Mix_AllocateChannels(), or unregister a callback while - # * it's still playing. - TMix_EffectDone* = proc (chan: int, udata: Pointer): Pointer{.cdecl.} - #* Register a special effect function. At mixing time, the channel data is - # * copied into a buffer and passed through each registered effect function. - # * After it passes through all the functions, it is mixed into the final - # * output stream. The copy to buffer is performed once, then each effect - # * function performs on the output of the previous effect. Understand that - # * this extra copy to a buffer is not performed if there are no effects - # * registered for a given chunk, which saves CPU cycles, and any given - # * effect will be extra cycles, too, so it is crucial that your code run - # * fast. Also note that the data that your function is given is in the - # * format of the sound device, and not the format you gave to Mix_OpenAudio(), - # * although they may in reality be the same. This is an unfortunate but - # * necessary speed concern. Use Mix_QuerySpec() to determine if you can - # * handle the data before you register your effect, and take appropriate - # * actions. - # * You may also specify a callback (Mix_EffectDone_t) that is called when - # * the channel finishes playing. This gives you a more fine-grained control - # * than Mix_ChannelFinished(), in case you need to free effect-specific - # * resources, etc. If you don't need this, you can specify NULL. - # * You may set the callbacks before or after calling Mix_PlayChannel(). - # * Things like Mix_SetPanning() are just internal special effect functions, - # * so if you are using that, you've already incurred the overhead of a copy - # * to a separate buffer, and that these effects will be in the queue with - # * any functions you've registered. The list of registered effects for a - # * channel is reset when a chunk finishes playing, so you need to explicitly - # * set them with each call to Mix_PlayChannel*(). - # * You may also register a special effect function that is to be run after - # * final mixing occurs. The rules for these callbacks are identical to those - # * in Mix_RegisterEffect, but they are run after all the channels and the - # * music have been mixed into a single stream, whereas channel-specific - # * effects run on a given channel before any other mixing occurs. These - # * global effect callbacks are call "posteffects". Posteffects only have - # * their Mix_EffectDone_t function called when they are unregistered (since - # * the main output stream is never "done" in the same sense as a channel). - # * You must unregister them manually when you've had enough. Your callback - # * will be told that the channel being mixed is (MIX_CHANNEL_POST) if the - # * processing is considered a posteffect. - # * - # * After all these effects have finished processing, the callback registered - # * through Mix_SetPostMix() runs, and then the stream goes to the audio - # * device. - # * - # * returns zero if error (no such channel), nonzero if added. - # * Error messages can be retrieved from Mix_GetError(). - -proc Mix_RegisterEffect*(chan: int, f: TMix_EffectFunc, d: TMix_EffectDone, - arg: Pointer): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - #* You may not need to call this explicitly, unless you need to stop an - # * effect from processing in the middle of a chunk's playback. - # * Posteffects are never implicitly unregistered as they are for channels, - # * but they may be explicitly unregistered through this function by - # * specifying MIX_CHANNEL_POST for a channel. - # * returns zero if error (no such channel or effect), nonzero if removed. - # * Error messages can be retrieved from Mix_GetError(). - # * -proc Mix_UnregisterEffect*(channel: int, f: TMix_EffectFunc): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - #* You may not need to call this explicitly, unless you need to stop all - # * effects from processing in the middle of a chunk's playback. Note that - # * this will also shut off some internal effect processing, since - # * Mix_SetPanning( ) and others may use this API under the hood.This is - # * called internally when a channel completes playback. - # * Posteffects are never implicitly unregistered as they are for channels, - # * but they may be explicitly unregistered through this function by - # * specifying MIX_CHANNEL_POST for a channel. - # * returns zero if error( no such channel ), nonzero if all effects removed. - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_UnregisterAllEffects*(channel: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -const - MIX_EFFECTSMAXSPEED* = "MIX_EFFECTSMAXSPEED" - # * These are the internally - defined mixing effects.They use the same API that - # * effects defined in the application use, but are provided here as a - # * convenience.Some effects can reduce their quality or use more memory in - # * the name of speed; to enable this, make sure the environment variable - # * MIX_EFFECTSMAXSPEED( see above ) is defined before you call - # * Mix_OpenAudio( ). - # * - #* set the panning of a channel.The left and right channels are specified - # * as integers between 0 and 255, quietest to loudest, respectively. - # * - # * Technically, this is just individual volume control for a sample with - # * two( stereo )channels, so it can be used for more than just panning. - # * if you want real panning, call it like this : - # * - # * Mix_SetPanning( channel, left, 255 - left ); - # * - # * ...which isn't so hard. - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the panning will be done to the final mixed stream before passing it on - # * to the audio device. - # * - # * This uses the Mix_RegisterEffect( )API internally, and returns without - # * registering the effect function if the audio device is not configured - # * for stereo output.Setting both( left ) and ( right ) to 255 causes this - # * effect to be unregistered, since that is the data's normal state. - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if panning effect enabled.Note that an audio device in mono - # * mode is a no - op, but this call will return successful in that case . - # * Error messages can be retrieved from Mix_GetError( ). - - -proc Mix_SetPanning*(channel: int, left: Uint8, right: Uint8): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # * set the position ofa channel.( angle ) is an integer from 0 to 360, that - # * specifies the location of the sound in relation to the listener.( angle ) - # * will be reduced as neccesary( 540 becomes 180 degrees, -100 becomes 260 ). - # * Angle 0 is due north, and rotates clockwise as the value increases. - # * for efficiency, the precision of this effect may be limited( angles 1 - # * through 7 might all produce the same effect, 8 through 15 are equal, etc ). - # * ( distance ) is an integer between 0 and 255 that specifies the space - # * between the sound and the listener.The larger the number, the further - # * away the sound is .Using 255 does not guarantee that the channel will be - # * culled from the mixing process or be completely silent.For efficiency, - # * the precision of this effect may be limited( distance 0 through 5 might - # * all produce the same effect, 6 through 10 are equal, etc ).Setting( angle ) - # * and ( distance ) to 0 unregisters this effect, since the data would be - # * unchanged. - # * - # * if you need more precise positional audio, consider using OpenAL for - # * spatialized effects instead of SDL_mixer.This is only meant to be a - # * basic effect for simple "3D" games. - # * - # * if the audio device is configured for mono output, then you won't get - # * any effectiveness from the angle; however, distance attenuation on the - # * channel will still occur.While this effect will function with stereo - # * voices, it makes more sense to use voices with only one channel of sound, - # * so when they are mixed through this effect, the positioning will sound - # * correct.You can convert them to mono through SDL before giving them to - # * the mixer in the first place if you like. - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the positioning will be done to the final mixed stream before passing it - # * on to the audio device. - # * - # * This is a convenience wrapper over Mix_SetDistance( ) and Mix_SetPanning( ). - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if position effect is enabled. - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_SetPosition*(channel: int, angle: Sint16, distance: Uint8): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - #* set the "distance" of a channel.( distance ) is an integer from 0 to 255 - # * that specifies the location of the sound in relation to the listener. - # * Distance 0 is overlapping the listener, and 255 is as far away as possible - # * A distance of 255 does not guarantee silence; in such a case , you might - # * want to try changing the chunk's volume, or just cull the sample from the - # * mixing process with Mix_HaltChannel( ). - # * for efficiency, the precision of this effect may be limited( distances 1 - # * through 7 might all produce the same effect, 8 through 15 are equal, etc ). - # * ( distance ) is an integer between 0 and 255 that specifies the space - # * between the sound and the listener.The larger the number, the further - # * away the sound is . - # * Setting( distance ) to 0 unregisters this effect, since the data would be - # * unchanged. - # * if you need more precise positional audio, consider using OpenAL for - # * spatialized effects instead of SDL_mixer.This is only meant to be a - # * basic effect for simple "3D" games. - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the distance attenuation will be done to the final mixed stream before - # * passing it on to the audio device. - # * - # * This uses the Mix_RegisterEffect( )API internally. - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if position effect is enabled. - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_SetDistance*(channel: int, distance: Uint8): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # * - # * !!! FIXME : Haven't implemented, since the effect goes past the - # * end of the sound buffer.Will have to think about this. - # * - -ryan. - # * / - # { if 0 - # { * Causes an echo effect to be mixed into a sound.( echo ) is the amount - # * of echo to mix.0 is no echo, 255 is infinite( and probably not - # * what you want ). - # * - # * Setting( channel ) to MIX_CHANNEL_POST registers this as a posteffect, and - # * the reverbing will be done to the final mixed stream before passing it on - # * to the audio device. - # * - # * This uses the Mix_RegisterEffect( )API internally.If you specify an echo - # * of zero, the effect is unregistered, as the data is already in that state. - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if reversing effect is enabled. - # * Error messages can be retrieved from Mix_GetError( ). - # * - # extern no_parse_DECLSPEC int Mix_SetReverb( int channel, Uint8 echo ); - # #E ndif - # * Causes a channel to reverse its stereo.This is handy if the user has his - # * speakers hooked up backwards, or you would like to have a minor bit of - # * psychedelia in your sound code. : )Calling this function with ( flip ) - # * set to non - zero reverses the chunks's usual channels. If (flip) is zero, - # * the effect is unregistered. - # * - # * This uses the Mix_RegisterEffect( )API internally, and thus is probably - # * more CPU intensive than having the user just plug in his speakers - # * correctly.Mix_SetReverseStereo( )returns without registering the effect - # * function if the audio device is not configured for stereo output. - # * - # * if you specify MIX_CHANNEL_POST for ( channel ), then this the effect is used - # * on the final mixed stream before sending it on to the audio device( a - # * posteffect ). - # * - # * returns zero if error( no such channel or Mix_RegisterEffect( )fails ), - # * nonzero if reversing effect is enabled.Note that an audio device in mono - # * mode is a no - op, but this call will return successful in that case . - # * Error messages can be retrieved from Mix_GetError( ). - # * -proc Mix_SetReverseStereo*(channel: int, flip: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # end of effects API. - -ryan. * - # Reserve the first channels (0 -> n-1) for the application, i.e. don't allocate - # them dynamically to the next sample if requested with a -1 value below. - # Returns the number of reserved channels. - # -proc Mix_ReserveChannels*(num: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Channel grouping functions - # Attach a tag to a channel. A tag can be assigned to several mixer - # channels, to form groups of channels. - # If 'tag' is -1, the tag is removed (actually -1 is the tag used to - # represent the group of all the channels). - # Returns true if everything was OK. - # -proc Mix_GroupChannel*(which: int, tag: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Assign several consecutive channels to a group -proc Mix_GroupChannels*(`from`: int, `to`: int, tag: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Finds the first available channel in a group of channels -proc Mix_GroupAvailable*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Returns the number of channels in a group. This is also a subtle - # way to get the total number of channels when 'tag' is -1 - # -proc Mix_GroupCount*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Finds the "oldest" sample playing in a group of channels -proc Mix_GroupOldest*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Finds the "most recent" (i.e. last) sample playing in a group of channels -proc Mix_GroupNewer*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # The same as above, but the sound is played at most 'ticks' milliseconds -proc Mix_PlayChannelTimed*(channel: int, chunk: PMix_Chunk, loops: int, - ticks: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Play an audio chunk on a specific channel. - # If the specified channel is -1, play on the first free channel. - # If 'loops' is greater than zero, loop the sound that many times. - # If 'loops' is -1, loop inifinitely (~65000 times). - # Returns which channel was used to play the sound. - # -proc Mix_PlayChannel*(channel: int, chunk: PMix_Chunk, loops: int): int -proc Mix_PlayMusic*(music: PMix_Music, loops: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Fade in music or a channel over "ms" milliseconds, same semantics as the "Play" functions -proc Mix_FadeInMusic*(music: PMix_Music, loops: int, ms: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeInChannelTimed*(channel: int, chunk: PMix_Chunk, loops: int, - ms: int, ticks: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeInChannel*(channel: int, chunk: PMix_Chunk, loops: int, ms: int): int - # Set the volume in the range of 0-128 of a specific channel or chunk. - # If the specified channel is -1, set volume for all channels. - # Returns the original volume. - # If the specified volume is -1, just return the current volume. - # -proc Mix_Volume*(channel: int, volume: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_VolumeChunk*(chunk: PMix_Chunk, volume: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_VolumeMusic*(volume: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Halt playing of a particular channel -proc Mix_HaltChannel*(channel: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_HaltGroup*(tag: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_HaltMusic*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Change the expiration delay for a particular channel. - # The sample will stop playing after the 'ticks' milliseconds have elapsed, - # or remove the expiration if 'ticks' is -1 - # -proc Mix_ExpireChannel*(channel: int, ticks: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Halt a channel, fading it out progressively till it's silent - # The ms parameter indicates the number of milliseconds the fading - # will take. - # -proc Mix_FadeOutChannel*(which: int, ms: int): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeOutGroup*(tag: int, ms: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_FadeOutMusic*(ms: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Query the fading status of a channel -proc Mix_FadingMusic*(): TMix_Fading{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_FadingChannel*(which: int): TMix_Fading{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Pause/Resume a particular channel -proc Mix_Pause*(channel: int){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_Resume*(channel: int){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_Paused*(channel: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Pause/Resume the music stream -proc Mix_PauseMusic*(){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_ResumeMusic*(){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_RewindMusic*(){.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_PausedMusic*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Set the current position in the music stream. - # This returns 0 if successful, or -1 if it failed or isn't implemented. - # This function is only implemented for MOD music formats (set pattern - # order number) and for OGG music (set position in seconds), at the - # moment. - # -proc Mix_SetMusicPosition*(position: float64): int{.cdecl, - importc, dynlib: SDL_MixerLibName.} - # Check the status of a specific channel. - # If the specified channel is -1, check all channels. - # -proc Mix_Playing*(channel: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_PlayingMusic*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Stop music and set external music playback command -proc Mix_SetMusicCMD*(command: cstring): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Synchro value is set by MikMod from modules while playing -proc Mix_SetSynchroValue*(value: int): int{.cdecl, importc, dynlib: SDL_MixerLibName.} -proc Mix_GetSynchroValue*(): int{.cdecl, importc, dynlib: SDL_MixerLibName.} - # - # Get the Mix_Chunk currently associated with a mixer channel - # Returns nil if it's an invalid channel, or there's no chunk associated. - # -proc Mix_GetChunk*(channel: int): PMix_Chunk{.cdecl, importc, dynlib: SDL_MixerLibName.} - # Close the mixer, halting all playing audio -proc Mix_CloseAudio*(){.cdecl, importc, dynlib: SDL_MixerLibName.} - # We'll use SDL for reporting errors -proc Mix_SetError*(fmt: cstring) -proc Mix_GetError*(): cstring -# implementation - -proc SDL_MIXER_VERSION(X: var TSDL_version) = - X.major = SDL_MIXER_MAJOR_VERSION - X.minor = SDL_MIXER_MINOR_VERSION - X.patch = SDL_MIXER_PATCHLEVEL - -proc Mix_LoadWAV(filename: cstring): PMix_Chunk = - result = Mix_LoadWAV_RW(SDL_RWFromFile(filename, "rb"), 1) - -proc Mix_PlayChannel(channel: int, chunk: PMix_Chunk, loops: int): int = - result = Mix_PlayChannelTimed(channel, chunk, loops, - 1) - -proc Mix_FadeInChannel(channel: int, chunk: PMix_Chunk, loops: int, ms: int): int = - result = Mix_FadeInChannelTimed(channel, chunk, loops, ms, - 1) - -proc Mix_SetError(fmt: cstring) = - SDL_SetError(fmt) - -proc Mix_GetError(): cstring = - result = SDL_GetError() diff --git a/lib/oldwrappers/sdl/sdl_net.nim b/lib/oldwrappers/sdl/sdl_net.nim deleted file mode 100755 index f27a674ae..000000000 --- a/lib/oldwrappers/sdl/sdl_net.nim +++ /dev/null @@ -1,431 +0,0 @@ - -#****************************************************************************** -# -# $Id: sdl_net.pas,v 1.7 2005/01/01 02:14:21 savage Exp $ -# -# -# -# Borland Delphi SDL_Net - A x-platform network library for use with SDL. -# Conversion of the Simple DirectMedia Layer Network Headers -# -# Portions created by Sam Lantinga are -# Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -# 5635-34 Springhouse Dr. -# Pleasanton, CA 94588 (USA) -# -# All Rights Reserved. -# -# The original files are : SDL_net.h -# -# The initial developer of this Pascal code was : -# Dominqiue Louis -# -# Portions created by Dominqiue Louis are -# Copyright (C) 2000 - 2001 Dominqiue Louis. -# -# -# Contributor(s) -# -------------- -# Matthias Thoma -# -# Obtained through: -# Joint Endeavour of Delphi Innovators ( Project JEDI ) -# -# You may retrieve the latest version of this file at the Project -# JEDI home page, located at http://delphi-jedi.org -# -# The contents of this file are used with permission, subject to -# the Mozilla Public License Version 1.1 (the "License"); you may -# not use this file except in compliance with the License. You may -# obtain a copy of the License at -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# Software distributed under the License is distributed on an -# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# Description -# ----------- -# -# -# -# -# -# -# -# Requires -# -------- -# SDL.pas somehere in your search path -# -# Programming Notes -# ----------------- -# -# -# -# -# Revision History -# ---------------- -# April 09 2001 - DL : Initial Translation -# -# April 03 2003 - DL : Added jedi-sdl.inc include file to support more -# Pascal compilers. Initial support is now included -# for GnuPascal, VirtualPascal, TMT and obviously -# continue support for Delphi Kylix and FreePascal. -# -# April 24 2003 - DL : under instruction from Alexey Barkovoy, I have added -# better TMT Pascal support and under instruction -# from Prof. Abimbola Olowofoyeku (The African Chief), -# I have added better Gnu Pascal support -# -# April 30 2003 - DL : under instruction from David Mears AKA -# Jason Siletto, I have added FPC Linux support. -# This was compiled with fpc 1.1, so remember to set -# include file path. ie. -Fi/usr/share/fpcsrc/rtl/* -# -# -# $Log: sdl_net.pas,v $ -# Revision 1.7 2005/01/01 02:14:21 savage -# Updated to v1.2.5 -# -# Revision 1.6 2004/08/14 22:54:30 savage -# Updated so that Library name defines are correctly defined for MacOS X. -# -# Revision 1.5 2004/05/10 14:10:04 savage -# Initial MacOS X support. Fixed defines for MACOS ( Classic ) and DARWIN ( MacOS X ). -# -# Revision 1.4 2004/04/13 09:32:08 savage -# Changed Shared object names back to just the .so extension to avoid conflicts on various Linux/Unix distros. Therefore developers will need to create Symbolic links to the actual Share Objects if necessary. -# -# Revision 1.3 2004/04/01 20:53:23 savage -# Changed Linux Shared Object names so they reflect the Symbolic Links that are created when installing the RPMs from the SDL site. -# -# Revision 1.2 2004/03/30 20:23:28 savage -# Tidied up use of UNIX compiler directive. -# -# Revision 1.1 2004/02/16 22:16:40 savage -# v1.0 changes -# -# -# -#****************************************************************************** - -import - sdl - -when defined(windows): - const SDLNetLibName = "SDL_net.dll" -elif defined(macosx): - const SDLNetLibName = "libSDL_net.dylib" -else: - const SDLNetLibName = "libSDL_net.so" - -const #* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL * - SDL_NET_MAJOR_VERSION* = 1'i8 - SDL_NET_MINOR_VERSION* = 2'i8 - SDL_NET_PATCHLEVEL* = 5'i8 # SDL_Net.h constants - #* Resolve a host name and port to an IP address in network form. - # If the function succeeds, it will return 0. - # If the host couldn't be resolved, the host portion of the returned - # address will be INADDR_NONE, and the function will return -1. - # If 'host' is NULL, the resolved host will be set to INADDR_ANY. - # * - INADDR_ANY* = 0x00000000 - INADDR_NONE* = 0xFFFFFFFF #*********************************************************************** - #* UDP network API * - #*********************************************************************** - #* The maximum channels on a a UDP socket * - SDLNET_MAX_UDPCHANNELS* = 32 #* The maximum addresses bound to a single UDP socket channel * - SDLNET_MAX_UDPADDRESSES* = 4 - -type # SDL_net.h types - #*********************************************************************** - #* IPv4 hostname resolution API * - #*********************************************************************** - PIPAddress* = ptr TIPAddress - TIPAddress*{.final.} = object #* TCP network API - host*: Uint32 # 32-bit IPv4 host address */ - port*: Uint16 # 16-bit protocol port */ - - PTCPSocket* = ptr TTCPSocket - TTCPSocket*{.final.} = object #*********************************************************************** - #* UDP network API * - #*********************************************************************** - ready*: int - channel*: int - remoteAddress*: TIPaddress - localAddress*: TIPaddress - sflag*: int - - PUDP_Channel* = ptr TUDP_Channel - TUDP_Channel*{.final.} = object - numbound*: int - address*: array[0..SDLNET_MAX_UDPADDRESSES - 1, TIPAddress] - - PUDPSocket* = ptr TUDPSocket - TUDPSocket*{.final.} = object - ready*: int - channel*: int - address*: TIPAddress - binding*: array[0..SDLNET_MAX_UDPCHANNELS - 1, TUDP_Channel] - - PUDPpacket* = ptr TUDPpacket - PPUDPpacket* = ptr PUDPpacket - TUDPpacket*{.final.} = object #*********************************************************************** - #* Hooks for checking sockets for available data * - #*********************************************************************** - channel*: int #* The src/dst channel of the packet * - data*: PUint8 #* The packet data * - length*: int #* The length of the packet data * - maxlen*: int #* The size of the data buffer * - status*: int #* packet status after sending * - address*: TIPAddress #* The source/dest address of an incoming/outgoing packet * - - PSDLNet_Socket* = ptr TSDLNet_Socket - TSDLNet_Socket*{.final.} = object - ready*: int - channel*: int - - PSDLNet_SocketSet* = ptr TSDLNet_SocketSet - TSDLNet_SocketSet*{.final.} = object #* Any network socket can be safely cast to this socket type * - numsockets*: int - maxsockets*: int - sockets*: PSDLNet_Socket - - PSDLNet_GenericSocket* = ptr TSDLNet_GenericSocket - TSDLNet_GenericSocket*{.final.} = object # This macro can be used to fill a version structure with the compile-time - # version of the SDL_net library. - ready*: int - - -proc SDL_NET_VERSION*(X: var TSDL_version) - #* Initialize/Cleanup the network API - # SDL must be initialized before calls to functions in this library, - # because this library uses utility functions from the SDL library. - #* -proc SDLNet_Init*(): int{.cdecl, importc, dynlib: SDLNetLibName.} -proc SDLNet_Quit*(){.cdecl, importc, dynlib: SDLNetLibName.} - #* Resolve a host name and port to an IP address in network form. - # If the function succeeds, it will return 0. - # If the host couldn't be resolved, the host portion of the returned - # address will be INADDR_NONE, and the function will return -1. - # If 'host' is NULL, the resolved host will be set to INADDR_ANY. - # * -proc SDLNet_ResolveHost*(address: var TIPaddress, host: cstring, port: Uint16): int{. - cdecl, importc, dynlib: SDLNetLibName.} - #* Resolve an ip address to a host name in canonical form. - # If the ip couldn't be resolved, this function returns NULL, - # otherwise a pointer to a static buffer containing the hostname - # is returned. Note that this function is not thread-safe. - #* -proc SDLNet_ResolveIP*(ip: var TIPaddress): cstring{.cdecl, - importc, dynlib: SDLNetLibName.} - #*********************************************************************** - #* TCP network API * - #*********************************************************************** - #* Open a TCP network socket - # If ip.host is INADDR_NONE, this creates a local server socket on the - # given port, otherwise a TCP connection to the remote host and port is - # attempted. The address passed in should already be swapped to network - # byte order (addresses returned from SDLNet_ResolveHost() are already - # in the correct form). - # The newly created socket is returned, or NULL if there was an error. - #* -proc SDLNet_TCP_Open*(ip: var TIPaddress): PTCPSocket{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Accept an incoming connection on the given server socket. - # The newly created socket is returned, or NULL if there was an error. - #* -proc SDLNet_TCP_Accept*(server: PTCPsocket): PTCPSocket{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Get the IP address of the remote system associated with the socket. - # If the socket is a server socket, this function returns NULL. - #* -proc SDLNet_TCP_GetPeerAddress*(sock: PTCPsocket): PIPAddress{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Send 'len' bytes of 'data' over the non-server socket 'sock' - # This function returns the actual amount of data sent. If the return value - # is less than the amount of data sent, then either the remote connection was - # closed, or an unknown socket error occurred. - #* -proc SDLNet_TCP_Send*(sock: PTCPsocket, data: Pointer, length: int): int{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Receive up to 'maxlen' bytes of data over the non-server socket 'sock', - # and store them in the buffer pointed to by 'data'. - # This function returns the actual amount of data received. If the return - # value is less than or equal to zero, then either the remote connection was - # closed, or an unknown socket error occurred. - #* -proc SDLNet_TCP_Recv*(sock: PTCPsocket, data: Pointer, maxlen: int): int{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Close a TCP network socket * -proc SDLNet_TCP_Close*(sock: PTCPsocket){.cdecl, importc, dynlib: SDLNetLibName.} - #*********************************************************************** - #* UDP network API * - #*********************************************************************** - #* Allocate/resize/free a single UDP packet 'size' bytes long. - # The new packet is returned, or NULL if the function ran out of memory. - # * -proc SDLNet_AllocPacket*(size: int): PUDPpacket{.cdecl, importc, dynlib: SDLNetLibName.} -proc SDLNet_ResizePacket*(packet: PUDPpacket, newsize: int): int{.cdecl, - importc, dynlib: SDLNetLibName.} -proc SDLNet_FreePacket*(packet: PUDPpacket){.cdecl, importc, dynlib: SDLNetLibName.} - #* Allocate/Free a UDP packet vector (array of packets) of 'howmany' packets, - # each 'size' bytes long. - # A pointer to the first packet in the array is returned, or NULL if the - # function ran out of memory. - # * -proc SDLNet_AllocPacketV*(howmany: int, size: int): PUDPpacket{.cdecl, - importc, dynlib: SDLNetLibName.} -proc SDLNet_FreePacketV*(packetV: PUDPpacket){.cdecl, importc, dynlib: SDLNetLibName.} - #* Open a UDP network socket - # If 'port' is non-zero, the UDP socket is bound to a local port. - # This allows other systems to send to this socket via a known port. - #* -proc SDLNet_UDP_Open*(port: Uint16): PUDPsocket{.cdecl, importc, dynlib: SDLNetLibName.} - #* Bind the address 'address' to the requested channel on the UDP socket. - # If the channel is -1, then the first unbound channel will be bound with - # the given address as it's primary address. - # If the channel is already bound, this new address will be added to the - # list of valid source addresses for packets arriving on the channel. - # If the channel is not already bound, then the address becomes the primary - # address, to which all outbound packets on the channel are sent. - # This function returns the channel which was bound, or -1 on error. - #* -proc SDLNet_UDP_Bind*(sock: PUDPsocket, channel: int, address: var TIPaddress): int{. - cdecl, importc, dynlib: SDLNetLibName.} - #* Unbind all addresses from the given channel * -proc SDLNet_UDP_Unbind*(sock: PUDPsocket, channel: int){.cdecl, - importc, dynlib: SDLNetLibName.} - #* Get the primary IP address of the remote system associated with the - # socket and channel. If the channel is -1, then the primary IP port - # of the UDP socket is returned -- this is only meaningful for sockets - # opened with a specific port. - # If the channel is not bound and not -1, this function returns NULL. - # * -proc SDLNet_UDP_GetPeerAddress*(sock: PUDPsocket, channel: int): PIPAddress{. - cdecl, importc, dynlib: SDLNetLibName.} - #* Send a vector of packets to the the channels specified within the packet. - # If the channel specified in the packet is -1, the packet will be sent to - # the address in the 'src' member of the packet. - # Each packet will be updated with the status of the packet after it has - # been sent, -1 if the packet send failed. - # This function returns the number of packets sent. - #* -proc SDLNet_UDP_SendV*(sock: PUDPsocket, packets: PPUDPpacket, npackets: int): int{. - cdecl, importc, dynlib: SDLNetLibName.} - #* Send a single packet to the specified channel. - # If the channel specified in the packet is -1, the packet will be sent to - # the address in the 'src' member of the packet. - # The packet will be updated with the status of the packet after it has - # been sent. - # This function returns 1 if the packet was sent, or 0 on error. - #* -proc SDLNet_UDP_Send*(sock: PUDPsocket, channel: int, packet: PUDPpacket): int{. - cdecl, importc, dynlib: SDLNetLibName.} - #* Receive a vector of pending packets from the UDP socket. - # The returned packets contain the source address and the channel they arrived - # on. If they did not arrive on a bound channel, the the channel will be set - # to -1. - # The channels are checked in highest to lowest order, so if an address is - # bound to multiple channels, the highest channel with the source address - # bound will be returned. - # This function returns the number of packets read from the network, or -1 - # on error. This function does not block, so can return 0 packets pending. - #* -proc SDLNet_UDP_RecvV*(sock: PUDPsocket, packets: PPUDPpacket): int{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Receive a single packet from the UDP socket. - # The returned packet contains the source address and the channel it arrived - # on. If it did not arrive on a bound channel, the the channel will be set - # to -1. - # The channels are checked in highest to lowest order, so if an address is - # bound to multiple channels, the highest channel with the source address - # bound will be returned. - # This function returns the number of packets read from the network, or -1 - # on error. This function does not block, so can return 0 packets pending. - #* -proc SDLNet_UDP_Recv*(sock: PUDPsocket, packet: PUDPpacket): int{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Close a UDP network socket * -proc SDLNet_UDP_Close*(sock: PUDPsocket){.cdecl, importc, dynlib: SDLNetLibName.} - #*********************************************************************** - #* Hooks for checking sockets for available data * - #*********************************************************************** - #* Allocate a socket set for use with SDLNet_CheckSockets() - # This returns a socket set for up to 'maxsockets' sockets, or NULL if - # the function ran out of memory. - # * -proc SDLNet_AllocSocketSet*(maxsockets: int): PSDLNet_SocketSet{.cdecl, - importc, dynlib: SDLNetLibName.} - #* Add a socket to a set of sockets to be checked for available data * -proc SDLNet_AddSocket*(theSet: PSDLNet_SocketSet, sock: PSDLNet_GenericSocket): int{. - cdecl, importc, dynlib: SDLNetLibName.} -proc SDLNet_TCP_AddSocket*(theSet: PSDLNet_SocketSet, sock: PTCPSocket): int -proc SDLNet_UDP_AddSocket*(theSet: PSDLNet_SocketSet, sock: PUDPSocket): int - #* Remove a socket from a set of sockets to be checked for available data * -proc SDLNet_DelSocket*(theSet: PSDLNet_SocketSet, sock: PSDLNet_GenericSocket): int{. - cdecl, importc, dynlib: SDLNetLibName.} -proc SDLNet_TCP_DelSocket*(theSet: PSDLNet_SocketSet, sock: PTCPSocket): int - # SDLNet_DelSocket(set, (SDLNet_GenericSocket)sock) -proc SDLNet_UDP_DelSocket*(theSet: PSDLNet_SocketSet, sock: PUDPSocket): int - #SDLNet_DelSocket(set, (SDLNet_GenericSocket)sock) - #* This function checks to see if data is available for reading on the - # given set of sockets. If 'timeout' is 0, it performs a quick poll, - # otherwise the function returns when either data is available for - # reading, or the timeout in milliseconds has elapsed, which ever occurs - # first. This function returns the number of sockets ready for reading, - # or -1 if there was an error with the select() system call. - #* -proc SDLNet_CheckSockets*(theSet: PSDLNet_SocketSet, timeout: Sint32): int{. - cdecl, importc, dynlib: SDLNetLibName.} - #* After calling SDLNet_CheckSockets(), you can use this function on a - # socket that was in the socket set, to find out if data is available - # for reading. - #* -proc SDLNet_SocketReady*(sock: PSDLNet_GenericSocket): bool - #* Free a set of sockets allocated by SDL_NetAllocSocketSet() * -proc SDLNet_FreeSocketSet*(theSet: PSDLNet_SocketSet){.cdecl, - importc, dynlib: SDLNetLibName.} - #*********************************************************************** - #* Platform-independent data conversion functions * - #*********************************************************************** - #* Write a 16/32 bit value to network packet buffer * -proc SDLNet_Write16*(value: Uint16, area: Pointer){.cdecl, importc, dynlib: SDLNetLibName.} -proc SDLNet_Write32*(value: Uint32, area: Pointer){.cdecl, importc, dynlib: SDLNetLibName.} - #* Read a 16/32 bit value from network packet buffer * -proc SDLNet_Read16*(area: Pointer): Uint16{.cdecl, importc, dynlib: SDLNetLibName.} -proc SDLNet_Read32*(area: Pointer): Uint32{.cdecl, importc, dynlib: SDLNetLibName.} - #*********************************************************************** - #* Error reporting functions * - #*********************************************************************** - #* We'll use SDL's functions for error reporting * -proc SDLNet_SetError*(fmt: cstring) -proc SDLNet_GetError*(): cstring -# implementation - -proc SDL_NET_VERSION(X: var TSDL_version) = - X.major = SDL_NET_MAJOR_VERSION - X.minor = SDL_NET_MINOR_VERSION - X.patch = SDL_NET_PATCHLEVEL - -proc SDLNet_TCP_AddSocket(theSet: PSDLNet_SocketSet, sock: PTCPSocket): int = - result = SDLNet_AddSocket(theSet, cast[PSDLNet_GenericSocket](sock)) - -proc SDLNet_UDP_AddSocket(theSet: PSDLNet_SocketSet, sock: PUDPSocket): int = - result = SDLNet_AddSocket(theSet, cast[PSDLNet_GenericSocket](sock)) - -proc SDLNet_TCP_DelSocket(theSet: PSDLNet_SocketSet, sock: PTCPSocket): int = - result = SDLNet_DelSocket(theSet, cast[PSDLNet_GenericSocket](sock)) - -proc SDLNet_UDP_DelSocket(theSet: PSDLNet_SocketSet, sock: PUDPSocket): int = - result = SDLNet_DelSocket(theSet, cast[PSDLNet_GenericSocket](sock)) - -proc SDLNet_SocketReady(sock: PSDLNet_GenericSocket): bool = - result = ((sock != nil) and (sock.ready == 1)) - -proc SDLNet_SetError(fmt: cstring) = - SDL_SetError(fmt) - -proc SDLNet_GetError(): cstring = - result = SDL_GetError() diff --git a/lib/oldwrappers/sdl/sdl_ttf.nim b/lib/oldwrappers/sdl/sdl_ttf.nim deleted file mode 100755 index 724c2f634..000000000 --- a/lib/oldwrappers/sdl/sdl_ttf.nim +++ /dev/null @@ -1,346 +0,0 @@ - -# -# $Id: sdl_ttf.pas,v 1.18 2007/06/01 11:16:33 savage Exp $ -# -# -#****************************************************************************** -# -# JEDI-SDL : Pascal units for SDL - Simple DirectMedia Layer -# Conversion of the Simple DirectMedia Layer Headers -# -# Portions created by Sam Lantinga are -# Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -# 5635-34 Springhouse Dr. -# Pleasanton, CA 94588 (USA) -# -# All Rights Reserved. -# -# The original files are : SDL_ttf.h -# -# The initial developer of this Pascal code was : -# Dominqiue Louis -# -# Portions created by Dominqiue Louis are -# Copyright (C) 2000 - 2001 Dominqiue Louis. -# -# -# Contributor(s) -# -------------- -# Tom Jones His Project inspired this conversion -# -# Obtained through: -# Joint Endeavour of Delphi Innovators ( Project JEDI ) -# -# You may retrieve the latest version of this file at the Project -# JEDI home page, located at http://delphi-jedi.org -# -# The contents of this file are used with permission, subject to -# the Mozilla Public License Version 1.1 (the "License"); you may -# not use this file except in compliance with the License. You may -# obtain a copy of the License at -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# Software distributed under the License is distributed on an -# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# Description -# ----------- -# -# -# -# -# -# -# -# Requires -# -------- -# The SDL Runtime libraris on Win32 : SDL.dll on Linux : libSDL.so -# They are available from... -# http://www.libsdl.org . -# -# Programming Notes -# ----------------- -# -# -# -# -# Revision History -# ---------------- -# December 08 2002 - DL : Fixed definition of TTF_RenderUnicode_Solid -# -# April 03 2003 - DL : Added jedi-sdl.inc include file to support more -# Pascal compilers. Initial support is now included -# for GnuPascal, VirtualPascal, TMT and obviously -# continue support for Delphi Kylix and FreePascal. -# -# April 24 2003 - DL : under instruction from Alexey Barkovoy, I have added -# better TMT Pascal support and under instruction -# from Prof. Abimbola Olowofoyeku (The African Chief), -# I have added better Gnu Pascal support -# -# April 30 2003 - DL : under instruction from David Mears AKA -# Jason Siletto, I have added FPC Linux support. -# This was compiled with fpc 1.1, so remember to set -# include file path. ie. -Fi/usr/share/fpcsrc/rtl/* -# -# -# $Log: sdl_ttf.pas,v $ -# Revision 1.18 2007/06/01 11:16:33 savage -# Added IFDEF UNIX for Workaround. -# -# Revision 1.17 2007/06/01 08:38:21 savage -# Added TTF_RenderText_Solid workaround as suggested by Michalis Kamburelis -# -# Revision 1.16 2007/05/29 21:32:14 savage -# Changes as suggested by Almindor for 64bit compatibility. -# -# Revision 1.15 2007/05/20 20:32:45 savage -# Initial Changes to Handle 64 Bits -# -# Revision 1.14 2006/12/02 00:19:01 savage -# Updated to latest version -# -# Revision 1.13 2005/04/10 11:48:33 savage -# Changes as suggested by Michalis, thanks. -# -# Revision 1.12 2005/01/05 01:47:14 savage -# Changed LibName to reflect what MacOS X should have. ie libSDL*-1.2.0.dylib respectively. -# -# Revision 1.11 2005/01/04 23:14:57 savage -# Changed LibName to reflect what most Linux distros will have. ie libSDL*-1.2.so.0 respectively. -# -# Revision 1.10 2005/01/02 19:07:32 savage -# Slight bug fix to use LongInt instead of Long ( Thanks Michalis Kamburelis ) -# -# Revision 1.9 2005/01/01 02:15:20 savage -# Updated to v2.0.7 -# -# Revision 1.8 2004/10/07 21:02:32 savage -# Fix for FPC -# -# Revision 1.7 2004/09/30 22:39:50 savage -# Added a true type font class which contains a wrap text function. -# Changed the sdl_ttf.pas header to reflect the future of jedi-sdl. -# -# Revision 1.6 2004/08/14 22:54:30 savage -# Updated so that Library name defines are correctly defined for MacOS X. -# -# Revision 1.5 2004/05/10 14:10:04 savage -# Initial MacOS X support. Fixed defines for MACOS ( Classic ) and DARWIN ( MacOS X ). -# -# Revision 1.4 2004/04/13 09:32:08 savage -# Changed Shared object names back to just the .so extension to avoid conflicts on various Linux/Unix distros. Therefore developers will need to create Symbolic links to the actual Share Objects if necessary. -# -# Revision 1.3 2004/04/01 20:53:24 savage -# Changed Linux Shared Object names so they reflect the Symbolic Links that are created when installing the RPMs from the SDL site. -# -# Revision 1.2 2004/03/30 20:23:28 savage -# Tidied up use of UNIX compiler directive. -# -# Revision 1.1 2004/02/16 22:16:40 savage -# v1.0 changes -# -# -# -#****************************************************************************** -# -# Define this to workaround a known bug in some freetype versions. -# The error manifests as TTF_RenderGlyph_Solid returning nil (error) -# and error message (in SDL_Error) is -# "Failed loading DPMSDisable: /usr/lib/libX11.so.6: undefined symbol: DPMSDisable" -# See [http://lists.libsdl.org/pipermail/sdl-libsdl.org/2007-March/060459.html] -# - -import sdl - -when defined(windows): - const SDLttfLibName = "SDL_ttf.dll" -elif defined(macosx): - const SDLttfLibName = "libSDL_ttf-2.0.0.dylib" -else: - const SDLttfLibName = "libSDL_ttf.so" - -const - SDL_TTF_MAJOR_VERSION* = 2'i8 - SDL_TTF_MINOR_VERSION* = 0'i8 - SDL_TTF_PATCHLEVEL* = 8'i8 # Backwards compatibility - TTF_MAJOR_VERSION* = SDL_TTF_MAJOR_VERSION - TTF_MINOR_VERSION* = SDL_TTF_MINOR_VERSION - TTF_PATCHLEVEL* = SDL_TTF_PATCHLEVEL #* - # Set and retrieve the font style - # This font style is implemented by modifying the font glyphs, and - # doesn't reflect any inherent properties of the truetype font file. - #* - TTF_STYLE_NORMAL* = 0x00000000 - TTF_STYLE_BOLD* = 0x00000001 - TTF_STYLE_ITALIC* = 0x00000002 - TTF_STYLE_UNDERLINE* = 0x00000004 # ZERO WIDTH NO-BREAKSPACE (Unicode byte order mark) - UNICODE_BOM_NATIVE* = 0x0000FEFF - UNICODE_BOM_SWAPPED* = 0x0000FFFE - -type - PTTF_Font* = ptr TTTF_font - TTTF_Font*{.final.} = object # This macro can be used to fill a version structure with the compile-time - # version of the SDL_ttf library. - -proc SDL_TTF_VERSION*(X: var TSDL_version) - # This function gets the version of the dynamically linked SDL_ttf library. - # It should NOT be used to fill a version structure, instead you should use the - # SDL_TTF_VERSION() macro. -proc TTF_Linked_Version*(): PSDL_version{.cdecl, importc, dynlib: SDLttfLibName.} - # This function tells the library whether UNICODE text is generally - # byteswapped. A UNICODE BOM character in a string will override - # this setting for the remainder of that string. - # -proc TTF_ByteSwappedUNICODE*(swapped: int){.cdecl, importc, dynlib: SDLttfLibName.} - #returns 0 on succes, -1 if error occurs -proc TTF_Init*(): int{.cdecl, importc, dynlib: SDLttfLibName.} - # - # Open a font file and create a font of the specified point size. - # Some .fon fonts will have several sizes embedded in the file, so the - # point size becomes the index of choosing which size. If the value - # is too high, the last indexed size will be the default. - # -proc TTF_OpenFont*(filename: cstring, ptsize: int): PTTF_Font{.cdecl, - importc, dynlib: SDLttfLibName.} -proc TTF_OpenFontIndex*(filename: cstring, ptsize: int, index: int32): PTTF_Font{. - cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_OpenFontRW*(src: PSDL_RWops, freesrc: int, ptsize: int): PTTF_Font{. - cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_OpenFontIndexRW*(src: PSDL_RWops, freesrc: int, ptsize: int, - index: int32): PTTF_Font{.cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_GetFontStyle*(font: PTTF_Font): int{.cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_SetFontStyle*(font: PTTF_Font, style: int){.cdecl, - importc, dynlib: SDLttfLibName.} - # Get the total height of the font - usually equal to point size -proc TTF_FontHeight*(font: PTTF_Font): int{.cdecl, importc, dynlib: SDLttfLibName.} - # Get the offset from the baseline to the top of the font - # This is a positive value, relative to the baseline. - # -proc TTF_FontAscent*(font: PTTF_Font): int{.cdecl, importc, dynlib: SDLttfLibName.} - # Get the offset from the baseline to the bottom of the font - # This is a negative value, relative to the baseline. - # -proc TTF_FontDescent*(font: PTTF_Font): int{.cdecl, importc, dynlib: SDLttfLibName.} - # Get the recommended spacing between lines of text for this font -proc TTF_FontLineSkip*(font: PTTF_Font): int{.cdecl, importc, dynlib: SDLttfLibName.} - # Get the number of faces of the font -proc TTF_FontFaces*(font: PTTF_Font): int32{.cdecl, importc, dynlib: SDLttfLibName.} - # Get the font face attributes, if any -proc TTF_FontFaceIsFixedWidth*(font: PTTF_Font): int{.cdecl, - importc, dynlib: SDLttfLibName.} -proc TTF_FontFaceFamilyName*(font: PTTF_Font): cstring{.cdecl, - importc, dynlib: SDLttfLibName.} -proc TTF_FontFaceStyleName*(font: PTTF_Font): cstring{.cdecl, - importc, dynlib: SDLttfLibName.} - # Get the metrics (dimensions) of a glyph -proc TTF_GlyphMetrics*(font: PTTF_Font, ch: Uint16, minx: var int, - maxx: var int, miny: var int, maxy: var int, - advance: var int): int{.cdecl, importc, dynlib: SDLttfLibName.} - # Get the dimensions of a rendered string of text -proc TTF_SizeText*(font: PTTF_Font, text: cstring, w: var int, y: var int): int{. - cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_SizeUTF8*(font: PTTF_Font, text: cstring, w: var int, y: var int): int{. - cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_SizeUNICODE*(font: PTTF_Font, text: PUint16, w: var int, y: var int): int{. - cdecl, importc, dynlib: SDLttfLibName.} - # Create an 8-bit palettized surface and render the given text at - # fast quality with the given font and color. The 0 pixel is the - # colorkey, giving a transparent background, and the 1 pixel is set - # to the text color. - # This function returns the new surface, or NULL if there was an error. - # -proc TTF_RenderUTF8_Solid*(font: PTTF_Font, text: cstring, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_RenderUNICODE_Solid*(font: PTTF_Font, text: PUint16, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} - # - #Create an 8-bit palettized surface and render the given glyph at - # fast quality with the given font and color. The 0 pixel is the - # colorkey, giving a transparent background, and the 1 pixel is set - # to the text color. The glyph is rendered without any padding or - # centering in the X direction, and aligned normally in the Y direction. - # This function returns the new surface, or NULL if there was an error. - # -proc TTF_RenderGlyph_Solid*(font: PTTF_Font, ch: Uint16, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} - # Create an 8-bit palettized surface and render the given text at - # high quality with the given font and colors. The 0 pixel is background, - # while other pixels have varying degrees of the foreground color. - # This function returns the new surface, or NULL if there was an error. - # -proc TTF_RenderText_Shaded*(font: PTTF_Font, text: cstring, fg: TSDL_Color, - bg: TSDL_Color): PSDL_Surface{.cdecl, - importc, dynlib: SDLttfLibName.} -proc TTF_RenderUTF8_Shaded*(font: PTTF_Font, text: cstring, fg: TSDL_Color, - bg: TSDL_Color): PSDL_Surface{.cdecl, - importc, dynlib: SDLttfLibName.} -proc TTF_RenderUNICODE_Shaded*(font: PTTF_Font, text: PUint16, fg: TSDL_Color, - bg: TSDL_Color): PSDL_Surface{.cdecl, - importc, dynlib: SDLttfLibName.} - # Create an 8-bit palettized surface and render the given glyph at - # high quality with the given font and colors. The 0 pixel is background, - # while other pixels have varying degrees of the foreground color. - # The glyph is rendered without any padding or centering in the X - # direction, and aligned normally in the Y direction. - # This function returns the new surface, or NULL if there was an error. - # -proc TTF_RenderGlyph_Shaded*(font: PTTF_Font, ch: Uint16, fg: TSDL_Color, - bg: TSDL_Color): PSDL_Surface{.cdecl, - importc, dynlib: SDLttfLibName.} - # Create a 32-bit ARGB surface and render the given text at high quality, - # using alpha blending to dither the font with the given color. - # This function returns the new surface, or NULL if there was an error. - # -proc TTF_RenderText_Blended*(font: PTTF_Font, text: cstring, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_RenderUTF8_Blended*(font: PTTF_Font, text: cstring, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} -proc TTF_RenderUNICODE_Blended*(font: PTTF_Font, text: PUint16, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} - # Create a 32-bit ARGB surface and render the given glyph at high quality, - # using alpha blending to dither the font with the given color. - # The glyph is rendered without any padding or centering in the X - # direction, and aligned normally in the Y direction. - # This function returns the new surface, or NULL if there was an error. - # -proc TTF_RenderGlyph_Blended*(font: PTTF_Font, ch: Uint16, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} - # For compatibility with previous versions, here are the old functions - ##define TTF_RenderText(font, text, fg, bg) - # TTF_RenderText_Shaded(font, text, fg, bg) - ##define TTF_RenderUTF8(font, text, fg, bg) - # TTF_RenderUTF8_Shaded(font, text, fg, bg) - ##define TTF_RenderUNICODE(font, text, fg, bg) - # TTF_RenderUNICODE_Shaded(font, text, fg, bg) - # Close an opened font file -proc TTF_CloseFont*(font: PTTF_Font){.cdecl, importc, dynlib: SDLttfLibName.} - #De-initialize TTF engine -proc TTF_Quit*(){.cdecl, importc, dynlib: SDLttfLibName.} - # Check if the TTF engine is initialized -proc TTF_WasInit*(): int{.cdecl, importc, dynlib: SDLttfLibName.} - # We'll use SDL for reporting errors -proc TTF_SetError*(fmt: cstring) -proc TTF_GetError*(): cstring -# implementation - -proc SDL_TTF_VERSION(X: var TSDL_version) = - X.major = SDL_TTF_MAJOR_VERSION - X.minor = SDL_TTF_MINOR_VERSION - X.patch = SDL_TTF_PATCHLEVEL - -proc TTF_SetError(fmt: cstring) = - SDL_SetError(fmt) - -proc TTF_GetError(): cstring = - result = SDL_GetError() - -when not(defined(Workaround_TTF_RenderText_Solid)): - proc TTF_RenderText_Solid*(font: PTTF_Font, text: cstring, fg: TSDL_Color): PSDL_Surface{. - cdecl, importc, dynlib: SDLttfLibName.} -else: - proc TTF_RenderText_Solid(font: PTTF_Font, text: cstring, fg: TSDL_Color): PSDL_Surface = - var Black: TSDL_Color # initialized to zero - Result = TTF_RenderText_Shaded(font, text, fg, Black) diff --git a/lib/oldwrappers/sdl/smpeg.nim b/lib/oldwrappers/sdl/smpeg.nim deleted file mode 100755 index 733a3fcf9..000000000 --- a/lib/oldwrappers/sdl/smpeg.nim +++ /dev/null @@ -1,319 +0,0 @@ - -#****************************************************************************** -# -# $Id: smpeg.pas,v 1.7 2004/08/14 22:54:30 savage Exp $ -# -# -# -# Borland Delphi SMPEG - SDL MPEG Player Library -# Conversion of the SMPEG - SDL MPEG Player Library -# -# Portions created by Sam Lantinga are -# Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga -# 5635-34 Springhouse Dr. -# Pleasanton, CA 94588 (USA) -# -# All Rights Reserved. -# -# The original files are : smpeg.h -# -# The initial developer of this Pascal code was : -# Matthias Thoma -# -# Portions created by Matthias Thoma are -# Copyright (C) 2000 - 2001 Matthias Thoma. -# -# -# Contributor(s) -# -------------- -# Tom Jones His Project inspired this conversion -# Matthias Thoma -# -# Obtained through: -# Joint Endeavour of Delphi Innovators ( Project JEDI ) -# -# You may retrieve the latest version of this file at the Project -# JEDI home page, located at http://delphi-jedi.org -# -# The contents of this file are used with permission, subject to -# the Mozilla Public License Version 1.1 (the "License"); you may -# not use this file except in compliance with the License. You may -# obtain a copy of the License at -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# Software distributed under the License is distributed on an -# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# Description -# ----------- -# -# -# -# -# -# -# -# Requires -# -------- -# The SDL Runtime libraris on Win32 : SDL.dll on Linux : libSDL-1.2.so.0 -# They are available from... -# http://www.libsdl.org . -# -# Programming Notes -# ----------------- -# -# -# -# -# Revision History -# ---------------- -# May 08 2001 - MT : Initial conversion -# -# October 12 2001 - DA : Various changes as suggested by David Acklam -# -# April 03 2003 - DL : Added jedi-sdl.inc include file to support more -# Pascal compilers. Initial support is now included -# for GnuPascal, VirtualPascal, TMT and obviously -# continue support for Delphi Kylix and FreePascal. -# -# April 08 2003 - MK : Aka Mr Kroket - Added Better FPC support -# Fixed all invalid calls to DLL. -# Changed constant names to: -# const -# STATUS_SMPEG_ERROR = -1; -# STATUS_SMPEG_STOPPED = 0; -# STATUS_SMPEG_PLAYING = 1; -# because SMPEG_ERROR is a function (_SMPEG_error -# isn't correct), and cannot be two elements with the -# same name -# -# April 24 2003 - DL : under instruction from Alexey Barkovoy, I have added -# better TMT Pascal support and under instruction -# from Prof. Abimbola Olowofoyeku (The African Chief), -# I have added better Gnu Pascal support -# -# April 30 2003 - DL : under instruction from David Mears AKA -# Jason Siletto, I have added FPC Linux support. -# This was compiled with fpc 1.1, so remember to set -# include file path. ie. -Fi/usr/share/fpcsrc/rtl/* -# -# -# $Log: smpeg.pas,v $ -# Revision 1.7 2004/08/14 22:54:30 savage -# Updated so that Library name defines are correctly defined for MacOS X. -# -# Revision 1.6 2004/05/10 14:10:04 savage -# Initial MacOS X support. Fixed defines for MACOS ( Classic ) and DARWIN ( MacOS X ). -# -# Revision 1.5 2004/04/13 09:32:08 savage -# Changed Shared object names back to just the .so extension to avoid conflicts on various Linux/Unix distros. Therefore developers will need to create Symbolic links to the actual Share Objects if necessary. -# -# Revision 1.4 2004/04/02 10:40:55 savage -# Changed Linux Shared Object name so they reflect the Symbolic Links that are created when installing the RPMs from the SDL site. -# -# Revision 1.3 2004/03/31 22:20:02 savage -# Windows unit not used in this file, so it was removed to keep the code tidy. -# -# Revision 1.2 2004/03/30 20:23:28 savage -# Tidied up use of UNIX compiler directive. -# -# Revision 1.1 2004/02/14 23:35:42 savage -# version 1 of sdl_image, sdl_mixer and smpeg. -# -# -# -#****************************************************************************** - -import - sdl - -when defined(windows): - const SmpegLibName = "smpeg.dll" -elif defined(macosx): - const SmpegLibName = "libsmpeg.dylib" -else: - const SmpegLibName = "libsmpeg.so" - -const - SMPEG_FILTER_INFO_MB_ERROR* = 1 - SMPEG_FILTER_INFO_PIXEL_ERROR* = 2 # Filter info from SMPEG - -type - SMPEG_FilterInfo*{.final.} = object - yuv_mb_square_error*: PUint16 - yuv_pixel_square_error*: PUint16 - - TSMPEG_FilterInfo* = SMPEG_FilterInfo - PSMPEG_FilterInfo* = ptr SMPEG_FilterInfo # MPEG filter definition - PSMPEG_Filter* = ptr TSMPEG_Filter # Callback functions for the filter - TSMPEG_FilterCallback* = proc (dest, source: PSDL_Overlay, region: PSDL_Rect, - filter_info: PSMPEG_FilterInfo, data: Pointer): Pointer{. - cdecl.} - TSMPEG_FilterDestroy* = proc (Filter: PSMPEG_Filter): Pointer{.cdecl.} # The filter - # definition itself - TSMPEG_Filter*{.final.} = object # The null filter (default). It simply copies the source rectangle to the video overlay. - flags*: Uint32 - data*: Pointer - callback*: TSMPEG_FilterCallback - destroy*: TSMPEG_FilterDestroy - - -proc SMPEGfilter_null*(): PSMPEG_Filter{.cdecl, importc, dynlib: SmpegLibName.} - # The bilinear filter. A basic low-pass filter that will produce a smoother image. -proc SMPEGfilter_bilinear*(): PSMPEG_Filter{.cdecl, importc, dynlib: SmpegLibName.} - # The deblocking filter. It filters block borders and non-intra coded blocks to reduce blockiness -proc SMPEGfilter_deblocking*(): PSMPEG_Filter{.cdecl, importc, dynlib: SmpegLibName.} - #------------------------------------------------------------------------------ - # SMPEG.h - #------------------------------------------------------------------------------ -const - SMPEG_MAJOR_VERSION* = 0'i8 - SMPEG_MINOR_VERSION* = 4'i8 - SMPEG_PATCHLEVEL* = 2'i8 - -type - SMPEG_version*{.final.} = object - major*: UInt8 - minor*: UInt8 - patch*: UInt8 - - TSMPEG_version* = SMPEG_version - PSMPEG_version* = ptr TSMPEG_version # This is the actual SMPEG object - TSMPEG*{.final.} = object - PSMPEG* = ptr TSMPEG # Used to get information about the SMPEG object - TSMPEG_Info*{.final.} = object - has_audio*: int - has_video*: int - width*: int - height*: int - current_frame*: int - current_fps*: float64 - audio_string*: array[0..79, char] - audio_current_frame*: int - current_offset*: UInt32 - total_size*: UInt32 - current_time*: float64 - total_time*: float64 - - PSMPEG_Info* = ptr TSMPEG_Info # Possible MPEG status codes - -const - STATUS_SMPEG_ERROR* = - 1 - STATUS_SMPEG_STOPPED* = 0 - STATUS_SMPEG_PLAYING* = 1 - -type - TSMPEGstatus* = int - PSMPEGstatus* = ptr int # Matches the declaration of SDL_UpdateRect() - TSMPEG_DisplayCallback* = proc (dst: PSDL_Surface, x, y: int, w, h: int): Pointer{. - cdecl.} # Create a new SMPEG object from an MPEG file. - # On return, if 'info' is not NULL, it will be filled with information - # about the MPEG object. - # This function returns a new SMPEG object. Use SMPEG_error() to find out - # whether or not there was a problem building the MPEG stream. - # The sdl_audio parameter indicates if SMPEG should initialize the SDL audio - # subsystem. If not, you will have to use the SMPEG_playaudio() function below - # to extract the decoded data. - -proc SMPEG_new*(theFile: cstring, info: PSMPEG_Info, sdl_audio: int): PSMPEG{. - cdecl, importc, dynlib: SmpegLibName.} - # The same as above for a file descriptor -proc SMPEG_new_descr*(theFile: int, info: PSMPEG_Info, sdl_audio: int): PSMPEG{. - cdecl, importc, dynlib: SmpegLibName.} - # The same as above but for a raw chunk of data. SMPEG makes a copy of the - # data, so the application is free to delete after a successful call to this - # function. -proc SMPEG_new_data*(data: Pointer, size: int, info: PSMPEG_Info, sdl_audio: int): PSMPEG{. - cdecl, importc, dynlib: SmpegLibName.} - # Get current information about an SMPEG object -proc SMPEG_getinfo*(mpeg: PSMPEG, info: PSMPEG_Info){.cdecl, - importc, dynlib: SmpegLibName.} - #procedure SMPEG_getinfo(mpeg: PSMPEG; info: Pointer); - #cdecl; external SmpegLibName; - # Enable or disable audio playback in MPEG stream -proc SMPEG_enableaudio*(mpeg: PSMPEG, enable: int){.cdecl, importc, dynlib: SmpegLibName.} - # Enable or disable video playback in MPEG stream -proc SMPEG_enablevideo*(mpeg: PSMPEG, enable: int){.cdecl, importc, dynlib: SmpegLibName.} - # Delete an SMPEG object -proc SMPEG_delete*(mpeg: PSMPEG){.cdecl, importc, dynlib: SmpegLibName.} - # Get the current status of an SMPEG object -proc SMPEG_status*(mpeg: PSMPEG): TSMPEGstatus{.cdecl, importc, dynlib: SmpegLibName.} - # status - # Set the audio volume of an MPEG stream, in the range 0-100 -proc SMPEG_setvolume*(mpeg: PSMPEG, volume: int){.cdecl, importc, dynlib: SmpegLibName.} - # Set the destination surface for MPEG video playback - # 'surfLock' is a mutex used to synchronize access to 'dst', and can be NULL. - # 'callback' is a function called when an area of 'dst' needs to be updated. - # If 'callback' is NULL, the default function (SDL_UpdateRect) will be used. -proc SMPEG_setdisplay*(mpeg: PSMPEG, dst: PSDL_Surface, surfLock: PSDL_mutex, - callback: TSMPEG_DisplayCallback){.cdecl, - importc, dynlib: SmpegLibName.} - # Set or clear looping play on an SMPEG object -proc SMPEG_loop*(mpeg: PSMPEG, repeat: int){.cdecl, importc, dynlib: SmpegLibName.} - # Scale pixel display on an SMPEG object -proc SMPEG_scaleXY*(mpeg: PSMPEG, width, height: int){.cdecl, - importc, dynlib: SmpegLibName.} -proc SMPEG_scale*(mpeg: PSMPEG, scale: int){.cdecl, importc, dynlib: SmpegLibName.} -proc SMPEG_Double*(mpeg: PSMPEG, doubleit: bool) - # Move the video display area within the destination surface -proc SMPEG_move*(mpeg: PSMPEG, x, y: int){.cdecl, importc, dynlib: SmpegLibName.} - # Set the region of the video to be shown -proc SMPEG_setdisplayregion*(mpeg: PSMPEG, x, y, w, h: int){.cdecl, - importc, dynlib: SmpegLibName.} - # Play an SMPEG object -proc SMPEG_play*(mpeg: PSMPEG){.cdecl, importc, dynlib: SmpegLibName.} - # Pause/Resume playback of an SMPEG object -proc SMPEG_pause*(mpeg: PSMPEG){.cdecl, importc, dynlib: SmpegLibName.} - # Stop playback of an SMPEG object -proc SMPEG_stop*(mpeg: PSMPEG){.cdecl, importc, dynlib: SmpegLibName.} - # Rewind the play position of an SMPEG object to the beginning of the MPEG -proc SMPEG_rewind*(mpeg: PSMPEG){.cdecl, importc, dynlib: SmpegLibName.} - # Seek 'bytes' bytes in the MPEG stream -proc SMPEG_seek*(mpeg: PSMPEG, bytes: int){.cdecl, importc, dynlib: SmpegLibName.} - # Skip 'seconds' seconds in the MPEG stream -proc SMPEG_skip*(mpeg: PSMPEG, seconds: float32){.cdecl, importc, dynlib: SmpegLibName.} - # Render a particular frame in the MPEG video - # API CHANGE: This function no longer takes a target surface and position. - # Use SMPEG_setdisplay() and SMPEG_move() to set this information. -proc SMPEG_renderFrame*(mpeg: PSMPEG, framenum: int){.cdecl, - importc, dynlib: SmpegLibName.} - # Render the last frame of an MPEG video -proc SMPEG_renderFinal*(mpeg: PSMPEG, dst: PSDL_Surface, x, y: int){.cdecl, - importc, dynlib: SmpegLibName.} - # Set video filter -proc SMPEG_filter*(mpeg: PSMPEG, filter: PSMPEG_Filter): PSMPEG_Filter{.cdecl, - importc, dynlib: SmpegLibName.} - # Return NULL if there is no error in the MPEG stream, or an error message - # if there was a fatal error in the MPEG stream for the SMPEG object. -proc SMPEG_error*(mpeg: PSMPEG): cstring{.cdecl, importc, dynlib: SmpegLibName.} - # Exported callback function for audio playback. - # The function takes a buffer and the amount of data to fill, and returns - # the amount of data in bytes that was actually written. This will be the - # amount requested unless the MPEG audio has finished. - # -proc SMPEG_playAudio*(mpeg: PSMPEG, stream: PUInt8, length: int): int{.cdecl, - importc, dynlib: SmpegLibName.} - # Wrapper for SMPEG_playAudio() that can be passed to SDL and SDL_mixer -proc SMPEG_playAudioSDL*(mpeg: Pointer, stream: PUInt8, length: int){.cdecl, - importc, dynlib: SmpegLibName.} - # Get the best SDL audio spec for the audio stream -proc SMPEG_wantedSpec*(mpeg: PSMPEG, wanted: PSDL_AudioSpec): int{.cdecl, - importc, dynlib: SmpegLibName.} - # Inform SMPEG of the actual SDL audio spec used for sound playback -proc SMPEG_actualSpec*(mpeg: PSMPEG, spec: PSDL_AudioSpec){.cdecl, - importc, dynlib: SmpegLibName.} - # This macro can be used to fill a version structure with the compile-time - # version of the SDL library. -proc SMPEG_GETVERSION*(X: var TSMPEG_version) -# implementation - -proc SMPEG_double(mpeg: PSMPEG, doubleit: bool) = - if doubleit: SMPEG_scale(mpeg, 2) - else: SMPEG_scale(mpeg, 1) - -proc SMPEG_GETVERSION(X: var TSMPEG_version) = - X.major = SMPEG_MAJOR_VERSION - X.minor = SMPEG_MINOR_VERSION - X.patch = SMPEG_PATCHLEVEL diff --git a/lib/oldwrappers/sqlite3.nim b/lib/oldwrappers/sqlite3.nim deleted file mode 100755 index 7dd33f296..000000000 --- a/lib/oldwrappers/sqlite3.nim +++ /dev/null @@ -1,376 +0,0 @@ -# -# -# Nimrod's Runtime Library -# (c) Copyright 2010 Andreas Rumpf -# -# See the file "copying.txt", included in this -# distribution, for details about the copyright. -# - -{.deadCodeElim: on.} - -when defined(windows): - const Sqlite3Lib = "sqlite3.dll" -elif defined(macosx): - const Sqlite3Lib = "sqlite-3.6.13.dylib" -else: - const Sqlite3Lib = "libsqlite3.so" - -const - SQLITE_INTEGER* = 1 - SQLITE_FLOAT* = 2 - SQLITE_BLOB* = 4 - SQLITE_NULL* = 5 - SQLITE_TEXT* = 3 - SQLITE3_TEXT* = 3 - SQLITE_UTF8* = 1 - SQLITE_UTF16LE* = 2 - SQLITE_UTF16BE* = 3 # Use native byte order - SQLITE_UTF16* = 4 # sqlite3_create_function only - SQLITE_ANY* = 5 #sqlite_exec return values - SQLITE_OK* = 0 - SQLITE_ERROR* = 1 # SQL error or missing database - SQLITE_INTERNAL* = 2 # An internal logic error in SQLite - SQLITE_PERM* = 3 # Access permission denied - SQLITE_ABORT* = 4 # Callback routine requested an abort - SQLITE_BUSY* = 5 # The database file is locked - SQLITE_LOCKED* = 6 # A table in the database is locked - SQLITE_NOMEM* = 7 # A malloc() failed - SQLITE_READONLY* = 8 # Attempt to write a readonly database - SQLITE_INTERRUPT* = 9 # Operation terminated by sqlite3_interrupt() - SQLITE_IOERR* = 10 # Some kind of disk I/O error occurred - SQLITE_CORRUPT* = 11 # The database disk image is malformed - SQLITE_NOTFOUND* = 12 # (Internal Only) Table or record not found - SQLITE_FULL* = 13 # Insertion failed because database is full - SQLITE_CANTOPEN* = 14 # Unable to open the database file - SQLITE_PROTOCOL* = 15 # Database lock protocol error - SQLITE_EMPTY* = 16 # Database is empty - SQLITE_SCHEMA* = 17 # The database schema changed - SQLITE_TOOBIG* = 18 # Too much data for one row of a table - SQLITE_CONSTRAINT* = 19 # Abort due to contraint violation - SQLITE_MISMATCH* = 20 # Data type mismatch - SQLITE_MISUSE* = 21 # Library used incorrectly - SQLITE_NOLFS* = 22 # Uses OS features not supported on host - SQLITE_AUTH* = 23 # Authorization denied - SQLITE_FORMAT* = 24 # Auxiliary database format error - SQLITE_RANGE* = 25 # 2nd parameter to sqlite3_bind out of range - SQLITE_NOTADB* = 26 # File opened that is not a database file - SQLITE_ROW* = 100 # sqlite3_step() has another row ready - SQLITE_DONE* = 101 # sqlite3_step() has finished executing - SQLITE_COPY* = 0 - SQLITE_CREATE_INDEX* = 1 - SQLITE_CREATE_TABLE* = 2 - SQLITE_CREATE_TEMP_INDEX* = 3 - SQLITE_CREATE_TEMP_TABLE* = 4 - SQLITE_CREATE_TEMP_TRIGGER* = 5 - SQLITE_CREATE_TEMP_VIEW* = 6 - SQLITE_CREATE_TRIGGER* = 7 - SQLITE_CREATE_VIEW* = 8 - SQLITE_DELETE* = 9 - SQLITE_DROP_INDEX* = 10 - SQLITE_DROP_TABLE* = 11 - SQLITE_DROP_TEMP_INDEX* = 12 - SQLITE_DROP_TEMP_TABLE* = 13 - SQLITE_DROP_TEMP_TRIGGER* = 14 - SQLITE_DROP_TEMP_VIEW* = 15 - SQLITE_DROP_TRIGGER* = 16 - SQLITE_DROP_VIEW* = 17 - SQLITE_INSERT* = 18 - SQLITE_PRAGMA* = 19 - SQLITE_READ* = 20 - SQLITE_SELECT* = 21 - SQLITE_TRANSACTION* = 22 - SQLITE_UPDATE* = 23 - SQLITE_ATTACH* = 24 - SQLITE_DETACH* = 25 - SQLITE_ALTER_TABLE* = 26 - SQLITE_REINDEX* = 27 - SQLITE_DENY* = 1 - SQLITE_IGNORE* = 2 # Original from sqlite3.h: - ##define SQLITE_STATIC ((void(*)(void *))0) - ##define SQLITE_TRANSIENT ((void(*)(void *))-1) - -const - SQLITE_STATIC* = nil - SQLITE_TRANSIENT* = cast[pointer](-1) - -type - sqlite_int64* = int64 - PPPChar* = ptr ptr cstring - TSqlite3 {.pure, final.} = object - Psqlite3* = ptr TSqlite3 - PPSqlite3* = ptr PSqlite3 - TSqlLite3Context {.pure, final.} = object - Psqlite3_context* = ptr TSqlLite3Context - Tsqlite3_stmt {.pure, final.} = object - Psqlite3_stmt* = ptr TSqlite3_stmt - PPsqlite3_stmt* = ptr Psqlite3_stmt - Tsqlite3_value {.pure, final.} = object - Psqlite3_value* = ptr Tsqlite3_value - PPsqlite3_value* = ptr Psqlite3_value #Callback function types - #Notice that most functions - #were named using as prefix the - #function name that uses them, - #rather than describing their functions - Tsqlite3_callback* = proc (para1: pointer, para2: int32, para3, - para4: cstringArray): int32{.cdecl.} - Tbind_destructor_func* = proc (para1: pointer){.cdecl.} - Tcreate_function_step_func* = proc (para1: Psqlite3_context, para2: int32, - para3: PPsqlite3_value){.cdecl.} - Tcreate_function_func_func* = proc (para1: Psqlite3_context, para2: int32, - para3: PPsqlite3_value){.cdecl.} - Tcreate_function_final_func* = proc (para1: Psqlite3_context){.cdecl.} - Tsqlite3_result_func* = proc (para1: pointer){.cdecl.} - Tsqlite3_create_collation_func* = proc (para1: pointer, para2: int32, - para3: pointer, para4: int32, para5: pointer): int32{.cdecl.} - Tsqlite3_collation_needed_func* = proc (para1: pointer, para2: Psqlite3, - eTextRep: int32, para4: cstring){.cdecl.} - -proc sqlite3_close*(para1: Psqlite3): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_close".} -proc sqlite3_exec*(para1: Psqlite3, sql: cstring, para3: Tsqlite3_callback, - para4: pointer, errmsg: var cstring): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_exec".} -proc sqlite3_last_insert_rowid*(para1: Psqlite3): sqlite_int64{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_last_insert_rowid".} -proc sqlite3_changes*(para1: Psqlite3): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_changes".} -proc sqlite3_total_changes*(para1: Psqlite3): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_total_changes".} -proc sqlite3_interrupt*(para1: Psqlite3){.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_interrupt".} -proc sqlite3_complete*(sql: cstring): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_complete".} -proc sqlite3_complete16*(sql: pointer): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_complete16".} -proc sqlite3_busy_handler*(para1: Psqlite3, - para2: proc (para1: pointer, para2: int32): int32 {.cdecl.}, - para3: pointer): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_busy_handler".} -proc sqlite3_busy_timeout*(para1: Psqlite3, ms: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_busy_timeout".} -proc sqlite3_get_table*(para1: Psqlite3, sql: cstring, resultp: var cstringArray, - nrow, ncolumn: var cint, errmsg: ptr cstring): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_get_table".} -proc sqlite3_free_table*(result: cstringArray){.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_free_table".} - # Todo: see how translate sqlite3_mprintf, sqlite3_vmprintf, sqlite3_snprintf - # function sqlite3_mprintf(_para1:Pchar; args:array of const):Pchar;cdecl; external Sqlite3Lib name 'sqlite3_mprintf'; -proc sqlite3_mprintf*(para1: cstring): cstring{.cdecl, varargs, dynlib: Sqlite3Lib, - importc: "sqlite3_mprintf".} - #function sqlite3_vmprintf(_para1:Pchar; _para2:va_list):Pchar;cdecl; external Sqlite3Lib name 'sqlite3_vmprintf'; -proc sqlite3_free*(z: cstring){.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_free".} - #function sqlite3_snprintf(_para1:longint; _para2:Pchar; _para3:Pchar; args:array of const):Pchar;cdecl; external Sqlite3Lib name 'sqlite3_snprintf'; -proc sqlite3_snprintf*(para1: int32, para2: cstring, para3: cstring): cstring{. - cdecl, dynlib: Sqlite3Lib, varargs, importc: "sqlite3_snprintf".} -proc sqlite3_set_authorizer*(para1: Psqlite3, - xAuth: proc (para1: pointer, para2: int32, - para3: cstring, para4: cstring, - para5: cstring, - para6: cstring): int32{.cdecl.}, - pUserData: pointer): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_set_authorizer".} -proc sqlite3_trace*(para1: Psqlite3, - xTrace: proc (para1: pointer, para2: cstring){.cdecl.}, - para3: pointer): pointer{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_trace".} -proc sqlite3_progress_handler*(para1: Psqlite3, para2: int32, - para3: proc (para1: pointer): int32 {.cdecl.}, - para4: pointer){.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_progress_handler".} -proc sqlite3_commit_hook*(para1: Psqlite3, - para2: proc (para1: pointer): int32{.cdecl.}, - para3: pointer): pointer{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_commit_hook".} -proc sqlite3_open*(filename: cstring, ppDb: var Psqlite3): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_open".} -proc sqlite3_open16*(filename: pointer, ppDb: var Psqlite3): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_open16".} -proc sqlite3_errcode*(db: Psqlite3): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_errcode".} -proc sqlite3_errmsg*(para1: Psqlite3): cstring{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_errmsg".} -proc sqlite3_errmsg16*(para1: Psqlite3): pointer{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_errmsg16".} -proc sqlite3_prepare*(db: Psqlite3, zSql: cstring, nBytes: int32, - ppStmt: PPsqlite3_stmt, pzTail: ptr cstring): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_prepare".} -proc sqlite3_prepare16*(db: Psqlite3, zSql: pointer, nBytes: int32, - ppStmt: PPsqlite3_stmt, pzTail: var pointer): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_prepare16".} -proc sqlite3_bind_blob*(para1: Psqlite3_stmt, para2: int32, para3: pointer, - n: int32, para5: Tbind_destructor_func): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_bind_blob".} -proc sqlite3_bind_double*(para1: Psqlite3_stmt, para2: int32, para3: float64): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_bind_double".} -proc sqlite3_bind_int*(para1: Psqlite3_stmt, para2: int32, para3: int32): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_bind_int".} -proc sqlite3_bind_int64*(para1: Psqlite3_stmt, para2: int32, para3: sqlite_int64): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_bind_int64".} -proc sqlite3_bind_null*(para1: Psqlite3_stmt, para2: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_bind_null".} -proc sqlite3_bind_text*(para1: Psqlite3_stmt, para2: int32, para3: cstring, - n: int32, para5: Tbind_destructor_func): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_bind_text".} -proc sqlite3_bind_text16*(para1: Psqlite3_stmt, para2: int32, para3: pointer, - para4: int32, para5: Tbind_destructor_func): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_bind_text16".} - #function sqlite3_bind_value(_para1:Psqlite3_stmt; _para2:longint; _para3:Psqlite3_value):longint;cdecl; external Sqlite3Lib name 'sqlite3_bind_value'; - #These overloaded functions were introduced to allow the use of SQLITE_STATIC and SQLITE_TRANSIENT - #It's the c world man ;-) -proc sqlite3_bind_blob*(para1: Psqlite3_stmt, para2: int32, para3: pointer, - n: int32, para5: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_bind_blob".} -proc sqlite3_bind_text*(para1: Psqlite3_stmt, para2: int32, para3: cstring, - n: int32, para5: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_bind_text".} -proc sqlite3_bind_text16*(para1: Psqlite3_stmt, para2: int32, para3: pointer, - para4: int32, para5: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_bind_text16".} -proc sqlite3_bind_parameter_count*(para1: Psqlite3_stmt): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_bind_parameter_count".} -proc sqlite3_bind_parameter_name*(para1: Psqlite3_stmt, para2: int32): cstring{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_bind_parameter_name".} -proc sqlite3_bind_parameter_index*(para1: Psqlite3_stmt, zName: cstring): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_bind_parameter_index".} - #function sqlite3_clear_bindings(_para1:Psqlite3_stmt):longint;cdecl; external Sqlite3Lib name 'sqlite3_clear_bindings'; -proc sqlite3_column_count*(pStmt: Psqlite3_stmt): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_count".} -proc sqlite3_column_name*(para1: Psqlite3_stmt, para2: int32): cstring{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_name".} -proc sqlite3_column_name16*(para1: Psqlite3_stmt, para2: int32): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_name16".} -proc sqlite3_column_decltype*(para1: Psqlite3_stmt, i: int32): cstring{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_decltype".} -proc sqlite3_column_decltype16*(para1: Psqlite3_stmt, para2: int32): pointer{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_column_decltype16".} -proc sqlite3_step*(para1: Psqlite3_stmt): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_step".} -proc sqlite3_data_count*(pStmt: Psqlite3_stmt): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_data_count".} -proc sqlite3_column_blob*(para1: Psqlite3_stmt, iCol: int32): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_blob".} -proc sqlite3_column_bytes*(para1: Psqlite3_stmt, iCol: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_bytes".} -proc sqlite3_column_bytes16*(para1: Psqlite3_stmt, iCol: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_bytes16".} -proc sqlite3_column_double*(para1: Psqlite3_stmt, iCol: int32): float64{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_double".} -proc sqlite3_column_int*(para1: Psqlite3_stmt, iCol: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_int".} -proc sqlite3_column_int64*(para1: Psqlite3_stmt, iCol: int32): sqlite_int64{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_column_int64".} -proc sqlite3_column_text*(para1: Psqlite3_stmt, iCol: int32): cstring{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_text".} -proc sqlite3_column_text16*(para1: Psqlite3_stmt, iCol: int32): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_text16".} -proc sqlite3_column_type*(para1: Psqlite3_stmt, iCol: int32): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_column_type".} -proc sqlite3_finalize*(pStmt: Psqlite3_stmt): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_finalize".} -proc sqlite3_reset*(pStmt: Psqlite3_stmt): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_reset".} -proc sqlite3_create_function*(para1: Psqlite3, zFunctionName: cstring, - nArg: int32, eTextRep: int32, para5: pointer, - xFunc: Tcreate_function_func_func, - xStep: Tcreate_function_step_func, - xFinal: Tcreate_function_final_func): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_create_function".} -proc sqlite3_create_function16*(para1: Psqlite3, zFunctionName: pointer, - nArg: int32, eTextRep: int32, para5: pointer, - xFunc: Tcreate_function_func_func, - xStep: Tcreate_function_step_func, - xFinal: Tcreate_function_final_func): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_create_function16".} -proc sqlite3_aggregate_count*(para1: Psqlite3_context): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_aggregate_count".} -proc sqlite3_value_blob*(para1: Psqlite3_value): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_blob".} -proc sqlite3_value_bytes*(para1: Psqlite3_value): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_bytes".} -proc sqlite3_value_bytes16*(para1: Psqlite3_value): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_bytes16".} -proc sqlite3_value_double*(para1: Psqlite3_value): float64{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_double".} -proc sqlite3_value_int*(para1: Psqlite3_value): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_int".} -proc sqlite3_value_int64*(para1: Psqlite3_value): sqlite_int64{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_int64".} -proc sqlite3_value_text*(para1: Psqlite3_value): cstring{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_text".} -proc sqlite3_value_text16*(para1: Psqlite3_value): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_text16".} -proc sqlite3_value_text16le*(para1: Psqlite3_value): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_text16le".} -proc sqlite3_value_text16be*(para1: Psqlite3_value): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_text16be".} -proc sqlite3_value_type*(para1: Psqlite3_value): int32{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_value_type".} -proc sqlite3_aggregate_context*(para1: Psqlite3_context, nBytes: int32): pointer{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_aggregate_context".} -proc sqlite3_user_data*(para1: Psqlite3_context): pointer{.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_user_data".} -proc sqlite3_get_auxdata*(para1: Psqlite3_context, para2: int32): pointer{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_get_auxdata".} -proc sqlite3_set_auxdata*(para1: Psqlite3_context, para2: int32, para3: pointer, - para4: proc (para1: pointer) {.cdecl.}){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_set_auxdata".} -proc sqlite3_result_blob*(para1: Psqlite3_context, para2: pointer, para3: int32, - para4: Tsqlite3_result_func){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_blob".} -proc sqlite3_result_double*(para1: Psqlite3_context, para2: float64){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_double".} -proc sqlite3_result_error*(para1: Psqlite3_context, para2: cstring, para3: int32){. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_result_error".} -proc sqlite3_result_error16*(para1: Psqlite3_context, para2: pointer, - para3: int32){.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_result_error16".} -proc sqlite3_result_int*(para1: Psqlite3_context, para2: int32){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_int".} -proc sqlite3_result_int64*(para1: Psqlite3_context, para2: sqlite_int64){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_int64".} -proc sqlite3_result_null*(para1: Psqlite3_context){.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_result_null".} -proc sqlite3_result_text*(para1: Psqlite3_context, para2: cstring, para3: int32, - para4: Tsqlite3_result_func){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_text".} -proc sqlite3_result_text16*(para1: Psqlite3_context, para2: pointer, - para3: int32, para4: Tsqlite3_result_func){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_text16".} -proc sqlite3_result_text16le*(para1: Psqlite3_context, para2: pointer, - para3: int32, para4: Tsqlite3_result_func){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_text16le".} -proc sqlite3_result_text16be*(para1: Psqlite3_context, para2: pointer, - para3: int32, para4: Tsqlite3_result_func){.cdecl, - dynlib: Sqlite3Lib, importc: "sqlite3_result_text16be".} -proc sqlite3_result_value*(para1: Psqlite3_context, para2: Psqlite3_value){. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_result_value".} -proc sqlite3_create_collation*(para1: Psqlite3, zName: cstring, eTextRep: int32, - para4: pointer, - xCompare: Tsqlite3_create_collation_func): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_create_collation".} -proc sqlite3_create_collation16*(para1: Psqlite3, zName: cstring, - eTextRep: int32, para4: pointer, - xCompare: Tsqlite3_create_collation_func): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_create_collation16".} -proc sqlite3_collation_needed*(para1: Psqlite3, para2: pointer, - para3: Tsqlite3_collation_needed_func): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_collation_needed".} -proc sqlite3_collation_needed16*(para1: Psqlite3, para2: pointer, - para3: Tsqlite3_collation_needed_func): int32{. - cdecl, dynlib: Sqlite3Lib, importc: "sqlite3_collation_needed16".} -proc sqlite3_libversion*(): cstring{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_libversion".} - #Alias for allowing better code portability (win32 is not working with external variables) -proc sqlite3_version*(): cstring{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_libversion".} - # Not published functions -proc sqlite3_libversion_number*(): int32{.cdecl, dynlib: Sqlite3Lib, - importc: "sqlite3_libversion_number".} - #function sqlite3_key(db:Psqlite3; pKey:pointer; nKey:longint):longint;cdecl; external Sqlite3Lib name 'sqlite3_key'; - #function sqlite3_rekey(db:Psqlite3; pKey:pointer; nKey:longint):longint;cdecl; external Sqlite3Lib name 'sqlite3_rekey'; - #function sqlite3_sleep(_para1:longint):longint;cdecl; external Sqlite3Lib name 'sqlite3_sleep'; - #function sqlite3_expired(_para1:Psqlite3_stmt):longint;cdecl; external Sqlite3Lib name 'sqlite3_expired'; - #function sqlite3_global_recover:longint;cdecl; external Sqlite3Lib name 'sqlite3_global_recover'; -# implementation diff --git a/lib/oldwrappers/tcl.nim b/lib/oldwrappers/tcl.nim deleted file mode 100755 index 5e16b798e..000000000 --- a/lib/oldwrappers/tcl.nim +++ /dev/null @@ -1,857 +0,0 @@ -# -# -# Nimrod's Runtime Library -# (c) Copyright 2009 Andreas Rumpf -# -# See the file "copying.txt", included in this -# distribution, for details about the copyright. -# - -## This module is a wrapper for the TCL programming language. - -# -# tcl.h -- -# -# This header file describes the externally-visible facilities of the Tcl -# interpreter. -# -# Translated to Pascal Copyright (c) 2002 by Max Artemev -# aka Bert Raccoon (bert@furry.ru, bert_raccoon@freemail.ru) -# -# -# Copyright (c) 1998-2000 by Scriptics Corporation. -# Copyright (c) 1994-1998 Sun Microsystems, Inc. -# Copyright (c) 1993-1996 Lucent Technologies. -# Copyright (c) 1987-1994 John Ousterhout, The Regents of the -# University of California, Berkeley. -# -# *********************************************************************** -# 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. -# *********************************************************************** -# - -{.deadCodeElim: on.} - -when defined(WIN32): - const dllName = "tcl(85|84|83|82|81|80).dll" -elif defined(macosx): - const dllName = "libtcl(8.5|8.4|8.3|8.2|8.1).dylib" -else: - const dllName = "libtcl(8.5|8.4|8.3|8.2|8.1).so.(1|0)" - -const - TCL_DESTROYED* = 0xDEADDEAD - TCL_OK* = 0 - TCL_ERROR* = 1 - TCL_RETURN* = 2 - TCL_BREAK* = 3 - TCL_CONTINUE* = 4 - TCL_RESULT_SIZE* = 200 - MAX_ARGV* = 0x00007FFF - TCL_VERSION_MAJOR* = 0 - TCL_VERSION_MINOR* = 0 - TCL_NO_EVAL* = 0x00010000 - TCL_EVAL_GLOBAL* = 0x00020000 # Flag values passed to variable-related procedures. * - TCL_GLOBAL_ONLY* = 1 - TCL_NAMESPACE_ONLY* = 2 - TCL_APPEND_VALUE* = 4 - TCL_LIST_ELEMENT* = 8 - TCL_TRACE_READS* = 0x00000010 - TCL_TRACE_WRITES* = 0x00000020 - TCL_TRACE_UNSETS* = 0x00000040 - TCL_TRACE_DESTROYED* = 0x00000080 - TCL_INTERP_DESTROYED* = 0x00000100 - TCL_LEAVE_ERR_MSG* = 0x00000200 - TCL_PARSE_PART1* = 0x00000400 # Types for linked variables: * - TCL_LINK_INT* = 1 - TCL_LINK_DOUBLE* = 2 - TCL_LINK_BOOLEAN* = 3 - TCL_LINK_STRING* = 4 - TCL_LINK_READ_ONLY* = 0x00000080 - TCL_SMALL_HASH_TABLE* = 4 # Hash Table * - TCL_STRING_KEYS* = 0 - TCL_ONE_WORD_KEYS* = 1 # Const/enums Tcl_QueuePosition * - # typedef enum { - TCL_QUEUE_TAIL* = 0 - TCL_QUEUE_HEAD* = 1 - TCL_QUEUE_MARK* = 2 #} Tcl_QueuePosition; - # Event Flags - TCL_DONT_WAIT* = 1 shl 1 - TCL_WINDOW_EVENTS* = 1 shl 2 - TCL_FILE_EVENTS* = 1 shl 3 - TCL_TIMER_EVENTS* = 1 shl 4 - TCL_IDLE_EVENTS* = 1 shl 5 # WAS 0x10 ???? * - TCL_ALL_EVENTS* = not TCL_DONT_WAIT - - TCL_VOLATILE* = 1 - TCL_STATIC* = 0 - TCL_DYNAMIC* = 3 # Channel - TCL_STDIN* = 1 shl 1 - TCL_STDOUT* = 1 shl 2 - TCL_STDERR* = 1 shl 3 - TCL_ENFORCE_MODE* = 1 shl 4 - TCL_READABLE* = 1 shl 1 - TCL_WRITABLE* = 1 shl 2 - TCL_EXCEPTION* = 1 shl 3 # POSIX * - EPERM* = 1 # Operation not permitted; only the owner of the file (or other - # resource) or processes with special privileges can perform the - # operation. - # - ENOENT* = 2 # No such file or directory. This is a "file doesn't exist" error - # for ordinary files that are referenced in contexts where they are - # expected to already exist. - # - ESRCH* = 3 # No process matches the specified process ID. * - EINTR* = 4 # Interrupted function call; an asynchronous signal occurred and - # prevented completion of the call. When this happens, you should - # try the call again. - # - EIO* = 5 # Input/output error; usually used for physical read or write errors. * - ENXIO* = 6 # No such device or address. The system tried to use the device - # represented by a file you specified, and it couldn't find the - # device. This can mean that the device file was installed - # incorrectly, or that the physical device is missing or not - # correctly attached to the computer. - # - E2BIG* = 7 # Argument list too long; used when the arguments passed to a new - # program being executed with one of the `exec' functions (*note - # Executing a File::.) occupy too much memory space. This condition - # never arises in the GNU system. - # - ENOEXEC* = 8 # Invalid executable file format. This condition is detected by the - # `exec' functions; see *Note Executing a File::. - # - EBADF* = 9 # Bad file descriptor; for example, I/O on a descriptor that has been - # closed or reading from a descriptor open only for writing (or vice - # versa). - # - ECHILD* = 10 # There are no child processes. This error happens on operations - # that are supposed to manipulate child processes, when there aren't - # any processes to manipulate. - # - EDEADLK* = 11 # Deadlock avoided; allocating a system resource would have resulted - # in a deadlock situation. The system does not guarantee that it - # will notice all such situations. This error means you got lucky - # and the system noticed; it might just hang. *Note File Locks::, - # for an example. - # - ENOMEM* = 12 # No memory available. The system cannot allocate more virtual - # memory because its capacity is full. - # - EACCES* = 13 # Permission denied; the file permissions do not allow the attempted - # operation. - # - EFAULT* = 14 # Bad address; an invalid pointer was detected. In the GNU system, - # this error never happens; you get a signal instead. - # - ENOTBLK* = 15 # A file that isn't a block special file was given in a situation - # that requires one. For example, trying to mount an ordinary file - # as a file system in Unix gives this error. - # - EBUSY* = 16 # Resource busy; a system resource that can't be shared is already - # in use. For example, if you try to delete a file that is the root - # of a currently mounted filesystem, you get this error. - # - EEXIST* = 17 # File exists; an existing file was specified in a context where it - # only makes sense to specify a new file. - # - EXDEV* = 18 # An attempt to make an improper link across file systems was - # detected. This happens not only when you use `link' (*note Hard - # Links::.) but also when you rename a file with `rename' (*note - # Renaming Files::.). - # - ENODEV* = 19 # The wrong type of device was given to a function that expects a - # particular sort of device. - # - ENOTDIR* = 20 # A file that isn't a directory was specified when a directory is - # required. - # - EISDIR* = 21 # File is a directory; you cannot open a directory for writing, or - # create or remove hard links to it. - # - EINVAL* = 22 # Invalid argument. This is used to indicate various kinds of - # problems with passing the wrong argument to a library function. - # - EMFILE* = 24 # The current process has too many files open and can't open any - # more. Duplicate descriptors do count toward this limit. - # - # In BSD and GNU, the number of open files is controlled by a - # resource limit that can usually be increased. If you get this - # error, you might want to increase the `RLIMIT_NOFILE' limit or - # make it unlimited; *note Limits on Resources::.. - # - ENFILE* = 23 # There are too many distinct file openings in the entire system. - # Note that any number of linked channels count as just one file - # opening; see *Note Linked Channels::. This error never occurs in - # the GNU system. - # - ENOTTY* = 25 # Inappropriate I/O control operation, such as trying to set terminal - # modes on an ordinary file. - # - ETXTBSY* = 26 # An attempt to execute a file that is currently open for writing, or - # write to a file that is currently being executed. Often using a - # debugger to run a program is considered having it open for writing - # and will cause this error. (The name stands for "text file - # busy".) This is not an error in the GNU system; the text is - # copied as necessary. - # - EFBIG* = 27 # File too big; the size of a file would be larger than allowed by - # the system. - # - ENOSPC* = 28 # No space left on device; write operation on a file failed because - # the disk is full. - # - ESPIPE* = 29 # Invalid seek operation (such as on a pipe). * - EROFS* = 30 # An attempt was made to modify something on a read-only file system. * - EMLINK* = 31 # Too many links; the link count of a single file would become too - # large. `rename' can cause this error if the file being renamed - # already has as many links as it can take (*note Renaming Files::.). - # - EPIPE* = 32 # Broken pipe; there is no process reading from the other end of a - # pipe. Every library function that returns this error code also - # generates a `SIGPIPE' signal; this signal terminates the program - # if not handled or blocked. Thus, your program will never actually - # see `EPIPE' unless it has handled or blocked `SIGPIPE'. - # - EDOM* = 33 # Domain error; used by mathematical functions when an argument - # value does not fall into the domain over which the function is - # defined. - # - ERANGE* = 34 # Range error; used by mathematical functions when the result value - # is not representable because of overflow or underflow. - # - EAGAIN* = 35 # Resource temporarily unavailable; the call might work if you try - # again later. The macro `EWOULDBLOCK' is another name for `EAGAIN'; - # they are always the same in the GNU C library. - # - EWOULDBLOCK* = EAGAIN # In the GNU C library, this is another name for `EAGAIN' (above). - # The values are always the same, on every operating system. - # C libraries in many older Unix systems have `EWOULDBLOCK' as a - # separate error code. - # - EINPROGRESS* = 36 # An operation that cannot complete immediately was initiated on an - # object that has non-blocking mode selected. Some functions that - # must always block (such as `connect'; *note Connecting::.) never - # return `EAGAIN'. Instead, they return `EINPROGRESS' to indicate - # that the operation has begun and will take some time. Attempts to - # manipulate the object before the call completes return `EALREADY'. - # You can use the `select' function to find out when the pending - # operation has completed; *note Waiting for I/O::.. - # - EALREADY* = 37 # An operation is already in progress on an object that has - # non-blocking mode selected. - # - ENOTSOCK* = 38 # A file that isn't a socket was specified when a socket is required. * - EDESTADDRREQ* = 39 # No default destination address was set for the socket. You get - # this error when you try to transmit data over a connectionless - # socket, without first specifying a destination for the data with - # `connect'. - # - EMSGSIZE* = 40 # The size of a message sent on a socket was larger than the - # supported maximum size. - # - EPROTOTYPE* = 41 # The socket type does not support the requested communications - # protocol. - # - ENOPROTOOPT* = 42 # You specified a socket option that doesn't make sense for the - # particular protocol being used by the socket. *Note Socket - # Options::. - # - EPROTONOSUPPORT* = 43 # The socket domain does not support the requested communications - # protocol (perhaps because the requested protocol is completely - # invalid.) *Note Creating a Socket::. - # - ESOCKTNOSUPPORT* = 44 # The socket type is not supported. * - EOPNOTSUPP* = 45 # The operation you requested is not supported. Some socket - # functions don't make sense for all types of sockets, and others - # may not be implemented for all communications protocols. In the - # GNU system, this error can happen for many calls when the object - # does not support the particular operation; it is a generic - # indication that the server knows nothing to do for that call. - # - EPFNOSUPPORT* = 46 # The socket communications protocol family you requested is not - # supported. - # - EAFNOSUPPORT* = 47 # The address family specified for a socket is not supported; it is - # inconsistent with the protocol being used on the socket. *Note - # Sockets::. - # - EADDRINUSE* = 48 # The requested socket address is already in use. *Note Socket - # Addresses::. - # - EADDRNOTAVAIL* = 49 # The requested socket address is not available; for example, you - # tried to give a socket a name that doesn't match the local host - # name. *Note Socket Addresses::. - # - ENETDOWN* = 50 # A socket operation failed because the network was down. * - ENETUNREACH* = 51 # A socket operation failed because the subnet containing the remote - # host was unreachable. - # - ENETRESET* = 52 # A network connection was reset because the remote host crashed. * - ECONNABORTED* = 53 # A network connection was aborted locally. * - ECONNRESET* = 54 # A network connection was closed for reasons outside the control of - # the local host, such as by the remote machine rebooting or an - # unrecoverable protocol violation. - # - ENOBUFS* = 55 # The kernel's buffers for I/O operations are all in use. In GNU, - # this error is always synonymous with `ENOMEM'; you may get one or - # the other from network operations. - # - EISCONN* = 56 # You tried to connect a socket that is already connected. *Note - # Connecting::. - # - ENOTCONN* = 57 # The socket is not connected to anything. You get this error when - # you try to transmit data over a socket, without first specifying a - # destination for the data. For a connectionless socket (for - # datagram protocols, such as UDP), you get `EDESTADDRREQ' instead. - # - ESHUTDOWN* = 58 # The socket has already been shut down. * - ETOOMANYREFS* = 59 # ??? * - ETIMEDOUT* = 60 # A socket operation with a specified timeout received no response - # during the timeout period. - # - ECONNREFUSED* = 61 # A remote host refused to allow the network connection (typically - # because it is not running the requested service). - # - ELOOP* = 62 # Too many levels of symbolic links were encountered in looking up a - # file name. This often indicates a cycle of symbolic links. - # - ENAMETOOLONG* = 63 # Filename too long (longer than `PATH_MAX'; *note Limits for - # Files::.) or host name too long (in `gethostname' or - # `sethostname'; *note Host Identification::.). - # - EHOSTDOWN* = 64 # The remote host for a requested network connection is down. * - EHOSTUNREACH* = 65 # The remote host for a requested network connection is not - # reachable. - # - ENOTEMPTY* = 66 # Directory not empty, where an empty directory was expected. - # Typically, this error occurs when you are trying to delete a - # directory. - # - EPROCLIM* = 67 # This means that the per-user limit on new process would be - # exceeded by an attempted `fork'. *Note Limits on Resources::, for - # details on the `RLIMIT_NPROC' limit. - # - EUSERS* = 68 # The file quota system is confused because there are too many users. * - EDQUOT* = 69 # The user's disk quota was exceeded. * - ESTALE* = 70 # Stale NFS file handle. This indicates an internal confusion in - # the NFS system which is due to file system rearrangements on the - # server host. Repairing this condition usually requires unmounting - # and remounting the NFS file system on the local host. - # - EREMOTE* = 71 # An attempt was made to NFS-mount a remote file system with a file - # name that already specifies an NFS-mounted file. (This is an - # error on some operating systems, but we expect it to work properly - # on the GNU system, making this error code impossible.) - # - EBADRPC* = 72 # ??? * - ERPCMISMATCH* = 73 # ??? * - EPROGUNAVAIL* = 74 # ??? * - EPROGMISMATCH* = 75 # ??? * - EPROCUNAVAIL* = 76 # ??? * - ENOLCK* = 77 # No locks available. This is used by the file locking facilities; - # see *Note File Locks::. This error is never generated by the GNU - # system, but it can result from an operation to an NFS server - # running another operating system. - # - ENOSYS* = 78 # Function not implemented. Some functions have commands or options - # defined that might not be supported in all implementations, and - # this is the kind of error you get if you request them and they are - # not supported. - # - EFTYPE* = 79 # Inappropriate file type or format. The file was the wrong type - # for the operation, or a data file had the wrong format. - # On some systems `chmod' returns this error if you try to set the - # sticky bit on a non-directory file; *note Setting Permissions::.. - # - -type - Tcl_Argv* = cstringArray - Tcl_ClientData* = pointer - Tcl_FreeProc* = proc (theBlock: pointer){.cdecl.} - PTcl_Interp* = ptr Tcl_Interp - Tcl_Interp*{.final.} = object # Event Definitions * - result*: cstring # Do not access this directly. Use - # * Tcl_GetStringResult since result - # * may be pointing to an object - # * - freeProc*: Tcl_FreeProc - errorLine*: int - - TTcl_EventSetupProc* = proc (clientData: Tcl_ClientData, flags: int){.cdecl.} - TTcl_EventCheckProc* = TTcl_EventSetupProc - PTcl_Event* = ptr Tcl_Event - TTcl_EventProc* = proc (evPtr: PTcl_Event, flags: int): int{.cdecl.} - Tcl_Event*{.final.} = object - prc*: TTcl_EventProc - nextPtr*: PTcl_Event - ClientData*: TObject # ClientData is just pointer.* - - PTcl_Time* = ptr Tcl_Time - Tcl_Time*{.final.} = object - sec*: int32 # Seconds. * - usec*: int32 # Microseconds. * - - Tcl_TimerToken* = pointer - PInteger* = ptr int - PTcl_HashTable* = pointer - PTcl_HashEntry* = ptr Tcl_HashEntry - PPTcl_HashEntry* = ptr PTcl_HashEntry - Tcl_HashEntry*{.final.} = object - nextPtr*: PTcl_HashEntry - tablePtr*: PTcl_HashTable - bucketPtr*: PPTcl_HashEntry - clientData*: Tcl_ClientData - key*: cstring - - Tcl_HashFindProc* = proc (tablePtr: PTcl_HashTable, key: cstring): PTcl_HashEntry{. - cdecl.} - Tcl_HashCreateProc* = proc (tablePtr: PTcl_HashTable, key: cstring, - newPtr: PInteger): PTcl_HashEntry{.cdecl.} - PHashTable* = ptr Tcl_HashTable - Tcl_HashTable*{.final.} = object - buckets*: ppTcl_HashEntry - staticBuckets*: array[0..TCL_SMALL_HASH_TABLE - 1, PTcl_HashEntry] - numBuckets*: int - numEntries*: int - rebuildSize*: int - downShift*: int - mask*: int - keyType*: int - findProc*: Tcl_HashFindProc - createProc*: Tcl_HashCreateProc - - PTcl_HashSearch* = ptr Tcl_HashSearch - Tcl_HashSearch*{.final.} = object - tablePtr*: PTcl_HashTable - nextIndex*: int - nextEntryPtr*: PTcl_HashEntry - - TTclAppInitProc* = proc (interp: pTcl_Interp): int{.cdecl.} - TTclPackageInitProc* = proc (interp: pTcl_Interp): int{.cdecl.} - TTclCmdProc* = proc (clientData: Tcl_ClientData, interp: pTcl_Interp, - argc: int, argv: Tcl_Argv): int{.cdecl.} - TTclVarTraceProc* = proc (clientData: Tcl_ClientData, interp: pTcl_Interp, - varName: cstring, elemName: cstring, flags: int): cstring{. - cdecl.} - TTclFreeProc* = proc (theBlock: pointer){.cdecl.} - TTclInterpDeleteProc* = proc (clientData: Tcl_ClientData, interp: pTcl_Interp){. - cdecl.} - TTclCmdDeleteProc* = proc (clientData: Tcl_ClientData){.cdecl.} - TTclNamespaceDeleteProc* = proc (clientData: Tcl_ClientData){.cdecl.} - -const - TCL_DSTRING_STATIC_SIZE* = 200 - -type - PTcl_DString* = ptr Tcl_DString - Tcl_DString*{.final.} = object - str*: cstring - len*: int - spaceAvl*: int - staticSpace*: array[0..TCL_DSTRING_STATIC_SIZE - 1, char] - - PTcl_Channel* = ptr Tcl_Channel - Tcl_Channel*{.final.} = object - TTclDriverBlockModeProc* = proc (instanceData: Tcl_ClientData, mode: int): int{. - cdecl.} - TTclDriverCloseProc* = proc (instanceData: Tcl_ClientData, interp: PTcl_Interp): int{. - cdecl.} - TTclDriverInputProc* = proc (instanceData: Tcl_ClientData, buf: cstring, - toRead: int, errorCodePtr: PInteger): int{.cdecl.} - TTclDriverOutputProc* = proc (instanceData: Tcl_ClientData, buf: cstring, - toWrite: int, errorCodePtr: PInteger): int{. - cdecl.} - TTclDriverSeekProc* = proc (instanceData: Tcl_ClientData, offset: int32, - mode: int, errorCodePtr: PInteger): int{.cdecl.} - TTclDriverSetOptionProc* = proc (instanceData: Tcl_ClientData, - interp: PTcl_Interp, optionName: cstring, - value: cstring): int{.cdecl.} - TTclDriverGetOptionProc* = proc (instanceData: Tcl_ClientData, - interp: pTcl_Interp, optionName: cstring, - dsPtr: PTcl_DString): int{.cdecl.} - TTclDriverWatchProc* = proc (instanceData: Tcl_ClientData, mask: int){.cdecl.} - TTclDriverGetHandleProc* = proc (instanceData: Tcl_ClientData, direction: int, - handlePtr: var Tcl_ClientData): int{.cdecl.} - PTcl_ChannelType* = ptr Tcl_ChannelType - Tcl_ChannelType*{.final.} = object - typeName*: cstring - blockModeProc*: TTclDriverBlockModeProc - closeProc*: TTclDriverCloseProc - inputProc*: TTclDriverInputProc - ouputProc*: TTclDriverOutputProc - seekProc*: TTclDriverSeekProc - setOptionProc*: TTclDriverSetOptionProc - getOptionProc*: TTclDriverGetOptionProc - watchProc*: TTclDriverWatchProc - getHandleProc*: TTclDriverGetHandleProc - - TTclChannelProc* = proc (clientData: Tcl_ClientData, mask: int){.cdecl.} - PTcl_Obj* = ptr Tcl_Obj - PPTcl_Obj* = ptr PTcl_Obj - Tcl_Obj*{.final.} = object - refCount*: int # ... - - TTclObjCmdProc* = proc (clientData: Tcl_ClientData, interp: PTcl_Interp, - objc: int, PPObj: PPTcl_Obj): int{.cdecl.} - PTcl_Namespace* = ptr Tcl_Namespace - Tcl_Namespace*{.final.} = object - name*: cstring - fullName*: cstring - clientData*: Tcl_ClientData - deleteProc*: TTclNamespaceDeleteProc - parentPtr*: PTcl_Namespace - - PTcl_CallFrame* = ptr Tcl_CallFrame - Tcl_CallFrame*{.final.} = object - nsPtr*: PTcl_Namespace - dummy1*: int - dummy2*: int - dummy3*: cstring - dummy4*: cstring - dummy5*: cstring - dummy6*: int - dummy7*: cstring - dummy8*: cstring - dummy9*: int - dummy10*: cstring - - PTcl_CmdInfo* = ptr Tcl_CmdInfo - Tcl_CmdInfo*{.final.} = object - isNativeObjectProc*: int - objProc*: TTclObjCmdProc - objClientData*: Tcl_ClientData - prc*: TTclCmdProc - clientData*: Tcl_ClientData - deleteProc*: TTclCmdDeleteProc - deleteData*: Tcl_ClientData - namespacePtr*: pTcl_Namespace - - pTcl_Command* = ptr Tcl_Command - Tcl_Command*{.final.} = object # hPtr : pTcl_HashEntry; - # nsPtr : pTcl_Namespace; - # refCount : integer; - # isCmdEpoch : integer; - # compileProc : pointer; - # objProc : pointer; - # objClientData : Tcl_ClientData; - # proc : pointer; - # clientData : Tcl_ClientData; - # deleteProc : TTclCmdDeleteProc; - # deleteData : Tcl_ClientData; - # deleted : integer; - # importRefPtr : pointer; - # - -type - TTclPanicProc* = proc (fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8: cstring){. - cdecl.} # 1/15/97 orig. Tcl style - TTclClientDataProc* = proc (clientData: Tcl_ClientData){.cdecl.} - TTclIdleProc* = proc (clientData: Tcl_ClientData){.cdecl.} - TTclTimerProc* = TTclIdleProc - TTclCreateCloseHandler* = proc (channel: pTcl_Channel, - prc: TTclClientDataProc, - clientData: Tcl_ClientData){.cdecl.} - TTclDeleteCloseHandler* = TTclCreateCloseHandler - TTclEventDeleteProc* = proc (evPtr: pTcl_Event, clientData: Tcl_ClientData): int{. - cdecl.} - -proc Tcl_Alloc*(size: int): cstring{.cdecl, dynlib: dllName, importc.} -proc Tcl_CreateInterp*(): pTcl_Interp{.cdecl, dynlib: dllName, importc.} -proc Tcl_DeleteInterp*(interp: pTcl_Interp){.cdecl, dynlib: dllName, importc.} -proc Tcl_ResetResult*(interp: pTcl_Interp){.cdecl, dynlib: dllName, importc.} -proc Tcl_Eval*(interp: pTcl_Interp, script: cstring): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_EvalFile*(interp: pTcl_Interp, filename: cstring): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_AddErrorInfo*(interp: pTcl_Interp, message: cstring){.cdecl, - dynlib: dllName, importc.} -proc Tcl_BackgroundError*(interp: pTcl_Interp){.cdecl, dynlib: dllName, - importc.} -proc Tcl_CreateCommand*(interp: pTcl_Interp, name: cstring, - cmdProc: TTclCmdProc, clientData: Tcl_ClientData, - deleteProc: TTclCmdDeleteProc): pTcl_Command{.cdecl, - dynlib: dllName, importc.} -proc Tcl_DeleteCommand*(interp: pTcl_Interp, name: cstring): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_CallWhenDeleted*(interp: pTcl_Interp, prc: TTclInterpDeleteProc, - clientData: Tcl_ClientData){.cdecl, - dynlib: dllName, importc.} -proc Tcl_DontCallWhenDeleted*(interp: pTcl_Interp, prc: TTclInterpDeleteProc, - clientData: Tcl_ClientData){.cdecl, - dynlib: dllName, importc.} -proc Tcl_CommandComplete*(cmd: cstring): int{.cdecl, dynlib: dllName, - importc.} -proc Tcl_LinkVar*(interp: pTcl_Interp, varName: cstring, varAddr: pointer, - typ: int): int{.cdecl, dynlib: dllName, importc.} -proc Tcl_UnlinkVar*(interp: pTcl_Interp, varName: cstring){.cdecl, - dynlib: dllName, importc.} -proc Tcl_TraceVar*(interp: pTcl_Interp, varName: cstring, flags: int, - prc: TTclVarTraceProc, clientData: Tcl_ClientData): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_TraceVar2*(interp: pTcl_Interp, varName: cstring, elemName: cstring, - flags: int, prc: TTclVarTraceProc, - clientData: Tcl_ClientData): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_UntraceVar*(interp: pTcl_Interp, varName: cstring, flags: int, - prc: TTclVarTraceProc, clientData: Tcl_ClientData){.cdecl, - dynlib: dllName, importc.} -proc Tcl_UntraceVar2*(interp: pTcl_Interp, varName: cstring, elemName: cstring, - flags: int, prc: TTclVarTraceProc, - clientData: Tcl_ClientData){.cdecl, dynlib: dllName, - importc.} -proc Tcl_GetVar*(interp: pTcl_Interp, varName: cstring, flags: int): cstring{. - cdecl, dynlib: dllName, importc.} -proc Tcl_GetVar2*(interp: pTcl_Interp, varName: cstring, elemName: cstring, - flags: int): cstring{.cdecl, dynlib: dllName, importc.} -proc Tcl_SetVar*(interp: pTcl_Interp, varName: cstring, newValue: cstring, - flags: int): cstring{.cdecl, dynlib: dllName, importc.} -proc Tcl_SetVar2*(interp: pTcl_Interp, varName: cstring, elemName: cstring, - newValue: cstring, flags: int): cstring{.cdecl, - dynlib: dllName, importc.} -proc Tcl_UnsetVar*(interp: pTcl_Interp, varName: cstring, flags: int): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_UnsetVar2*(interp: pTcl_Interp, varName: cstring, elemName: cstring, - flags: int): int{.cdecl, dynlib: dllName, importc.} -proc Tcl_SetResult*(interp: pTcl_Interp, newValue: cstring, - freeProc: TTclFreeProc){.cdecl, dynlib: dllName, importc.} -proc Tcl_FirstHashEntry*(hashTbl: pTcl_HashTable, searchInfo: var Tcl_HashSearch): pTcl_HashEntry{. - cdecl, dynlib: dllName, importc.} -proc Tcl_NextHashEntry*(searchInfo: var Tcl_HashSearch): pTcl_HashEntry{.cdecl, - dynlib: dllName, importc.} -proc Tcl_InitHashTable*(hashTbl: pTcl_HashTable, keyType: int){.cdecl, - dynlib: dllName, importc.} -proc Tcl_StringMatch*(str: cstring, pattern: cstring): int{.cdecl, - dynlib: dllName, importc.} - -proc Tcl_GetErrno*(): int{.cdecl, dynlib: dllName, importc.} -proc Tcl_SetErrno*(val: int){.cdecl, dynlib: dllName, importc.} -proc Tcl_SetPanicProc*(prc: TTclPanicProc){.cdecl, dynlib: dllName, importc.} -proc Tcl_PkgProvide*(interp: pTcl_Interp, name: cstring, version: cstring): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_StaticPackage*(interp: pTcl_Interp, pkgName: cstring, - initProc: TTclPackageInitProc, - safeInitProc: TTclPackageInitProc){.cdecl, - dynlib: dllName, importc.} -proc Tcl_CreateEventSource*(setupProc: TTcl_EventSetupProc, - checkProc: TTcl_EventCheckProc, - clientData: Tcl_ClientData){.cdecl, - dynlib: dllName, importc.} -proc Tcl_DeleteEventSource*(setupProc: TTcl_EventSetupProc, - checkProc: TTcl_EventCheckProc, - clientData: Tcl_ClientData){.cdecl, - dynlib: dllName, importc.} -proc Tcl_QueueEvent*(evPtr: pTcl_Event, pos: int){.cdecl, dynlib: dllName, - importc.} -proc Tcl_SetMaxBlockTime*(timePtr: pTcl_Time){.cdecl, dynlib: dllName, - importc.} -proc Tcl_DeleteEvents*(prc: TTclEventDeleteProc, clientData: Tcl_ClientData){. - cdecl, dynlib: dllName, importc.} -proc Tcl_DoOneEvent*(flags: int): int{.cdecl, dynlib: dllName, importc.} -proc Tcl_DoWhenIdle*(prc: TTclIdleProc, clientData: Tcl_ClientData){.cdecl, - dynlib: dllName, importc.} -proc Tcl_CancelIdleCall*(prc: TTclIdleProc, clientData: Tcl_ClientData){.cdecl, - dynlib: dllName, importc.} -proc Tcl_CreateTimerHandler*(milliseconds: int, prc: TTclTimerProc, - clientData: Tcl_ClientData): Tcl_TimerToken{.cdecl, - dynlib: dllName, importc.} -proc Tcl_DeleteTimerHandler*(token: Tcl_TimerToken){.cdecl, dynlib: dllName, - importc.} - # procedure Tcl_CreateModalTimeout(milliseconds: integer; prc: TTclTimerProc; clientData: Tcl_ClientData); cdecl; external dllName; - # procedure Tcl_DeleteModalTimeout(prc: TTclTimerProc; clientData: Tcl_ClientData); cdecl; external dllName; -proc Tcl_SplitList*(interp: pTcl_Interp, list: cstring, argcPtr: var int, - argvPtr: var Tcl_Argv): int{.cdecl, dynlib: dllName, - importc.} -proc Tcl_Merge*(argc: int, argv: Tcl_Argv): cstring{.cdecl, dynlib: dllName, - importc.} -proc Tcl_Free*(p: cstring){.cdecl, dynlib: dllName, importc.} -proc Tcl_Init*(interp: pTcl_Interp): int{.cdecl, dynlib: dllName, importc.} - # procedure Tcl_InterpDeleteProc(clientData: Tcl_ClientData; interp: pTcl_Interp); cdecl; external dllName; -proc Tcl_GetAssocData*(interp: pTcl_Interp, key: cstring, - prc: var TTclInterpDeleteProc): Tcl_ClientData{.cdecl, - dynlib: dllName, importc.} -proc Tcl_DeleteAssocData*(interp: pTcl_Interp, key: cstring){.cdecl, - dynlib: dllName, importc.} -proc Tcl_SetAssocData*(interp: pTcl_Interp, key: cstring, - prc: TTclInterpDeleteProc, clientData: Tcl_ClientData){. - cdecl, dynlib: dllName, importc.} -proc Tcl_IsSafe*(interp: pTcl_Interp): int{.cdecl, dynlib: dllName, importc.} -proc Tcl_MakeSafe*(interp: pTcl_Interp): int{.cdecl, dynlib: dllName, - importc.} -proc Tcl_CreateSlave*(interp: pTcl_Interp, slaveName: cstring, isSafe: int): pTcl_Interp{. - cdecl, dynlib: dllName, importc.} -proc Tcl_GetSlave*(interp: pTcl_Interp, slaveName: cstring): pTcl_Interp{.cdecl, - dynlib: dllName, importc.} -proc Tcl_GetMaster*(interp: pTcl_Interp): pTcl_Interp{.cdecl, - dynlib: dllName, importc.} -proc Tcl_GetInterpPath*(askingInterp: pTcl_Interp, slaveInterp: pTcl_Interp): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_CreateAlias*(slaveInterp: pTcl_Interp, srcCmd: cstring, - targetInterp: pTcl_Interp, targetCmd: cstring, argc: int, - argv: Tcl_Argv): int{.cdecl, dynlib: dllName, importc.} -proc Tcl_GetAlias*(interp: pTcl_Interp, srcCmd: cstring, - targetInterp: var pTcl_Interp, targetCmd: var cstring, - argc: var int, argv: var Tcl_Argv): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_ExposeCommand*(interp: pTcl_Interp, hiddenCmdName: cstring, - cmdName: cstring): int{.cdecl, dynlib: dllName, - importc.} -proc Tcl_HideCommand*(interp: pTcl_Interp, cmdName: cstring, - hiddenCmdName: cstring): int{.cdecl, dynlib: dllName, - importc.} -proc Tcl_EventuallyFree*(clientData: Tcl_ClientData, freeProc: TTclFreeProc){. - cdecl, dynlib: dllName, importc.} -proc Tcl_Preserve*(clientData: Tcl_ClientData){.cdecl, dynlib: dllName, - importc.} -proc Tcl_Release*(clientData: Tcl_ClientData){.cdecl, dynlib: dllName, - importc.} -proc Tcl_InterpDeleted*(interp: pTcl_Interp): int{.cdecl, dynlib: dllName, - importc.} -proc Tcl_GetCommandInfo*(interp: pTcl_Interp, cmdName: cstring, - info: var Tcl_CmdInfo): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_SetCommandInfo*(interp: pTcl_Interp, cmdName: cstring, - info: var Tcl_CmdInfo): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_FindExecutable*(path: cstring){.cdecl, dynlib: dllName, importc.} -proc Tcl_GetStringResult*(interp: pTcl_Interp): cstring{.cdecl, - dynlib: dllName, importc.} - #v1.0 -proc Tcl_FindCommand*(interp: pTcl_Interp, cmdName: cstring, - contextNsPtr: pTcl_Namespace, flags: int): Tcl_Command{. - cdecl, dynlib: dllName, importc.} - #v1.0 -proc Tcl_DeleteCommandFromToken*(interp: pTcl_Interp, cmd: pTcl_Command): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_CreateNamespace*(interp: pTcl_Interp, name: cstring, - clientData: Tcl_ClientData, - deleteProc: TTclNamespaceDeleteProc): pTcl_Namespace{. - cdecl, dynlib: dllName, importc.} - #v1.0 -proc Tcl_DeleteNamespace*(namespacePtr: pTcl_Namespace){.cdecl, - dynlib: dllName, importc.} -proc Tcl_FindNamespace*(interp: pTcl_Interp, name: cstring, - contextNsPtr: pTcl_Namespace, flags: int): pTcl_Namespace{. - cdecl, dynlib: dllName, importc.} -proc Tcl_Export*(interp: pTcl_Interp, namespacePtr: pTcl_Namespace, - pattern: cstring, resetListFirst: int): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_Import*(interp: pTcl_Interp, namespacePtr: pTcl_Namespace, - pattern: cstring, allowOverwrite: int): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_GetCurrentNamespace*(interp: pTcl_Interp): pTcl_Namespace{.cdecl, - dynlib: dllName, importc.} -proc Tcl_GetGlobalNamespace*(interp: pTcl_Interp): pTcl_Namespace{.cdecl, - dynlib: dllName, importc.} -proc Tcl_PushCallFrame*(interp: pTcl_Interp, callFramePtr: var Tcl_CallFrame, - namespacePtr: pTcl_Namespace, isProcCallFrame: int): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_PopCallFrame*(interp: pTcl_Interp){.cdecl, dynlib: dllName, importc.} -proc Tcl_VarEval*(interp: pTcl_Interp): int{.cdecl, varargs, - dynlib: dllName, importc.} - # For TkConsole.c * -proc Tcl_RecordAndEval*(interp: pTcl_Interp, cmd: cstring, flags: int): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_GlobalEval*(interp: pTcl_Interp, command: cstring): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_DStringFree*(dsPtr: pTcl_DString){.cdecl, dynlib: dllName, importc.} -proc Tcl_DStringAppend*(dsPtr: pTcl_DString, str: cstring, length: int): cstring{. - cdecl, dynlib: dllName, importc.} -proc Tcl_DStringAppendElement*(dsPtr: pTcl_DString, str: cstring): cstring{. - cdecl, dynlib: dllName, importc.} -proc Tcl_DStringInit*(dsPtr: pTcl_DString){.cdecl, dynlib: dllName, importc.} -proc Tcl_AppendResult*(interp: pTcl_Interp){.cdecl, varargs, - dynlib: dllName, importc.} - # actually a "C" var array -proc Tcl_SetStdChannel*(channel: pTcl_Channel, typ: int){.cdecl, - dynlib: dllName, importc.} -proc Tcl_SetChannelOption*(interp: pTcl_Interp, chan: pTcl_Channel, - optionName: cstring, newValue: cstring): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_GetChannelOption*(interp: pTcl_Interp, chan: pTcl_Channel, - optionName: cstring, dsPtr: pTcl_DString): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_CreateChannel*(typePtr: pTcl_ChannelType, chanName: cstring, - instanceData: Tcl_ClientData, mask: int): pTcl_Channel{. - cdecl, dynlib: dllName, importc.} -proc Tcl_RegisterChannel*(interp: pTcl_Interp, channel: pTcl_Channel){.cdecl, - dynlib: dllName, importc.} -proc Tcl_UnregisterChannel*(interp: pTcl_Interp, channel: pTcl_Channel): int{. - cdecl, dynlib: dllName, importc.} -proc Tcl_CreateChannelHandler*(chan: pTcl_Channel, mask: int, - prc: TTclChannelProc, clientData: Tcl_ClientData){. - cdecl, dynlib: dllName, importc.} -proc Tcl_GetChannel*(interp: pTcl_Interp, chanName: cstring, modePtr: pInteger): pTcl_Channel{. - cdecl, dynlib: dllName, importc.} -proc Tcl_GetStdChannel*(typ: int): pTcl_Channel{.cdecl, dynlib: dllName, - importc.} -proc Tcl_Gets*(chan: pTcl_Channel, dsPtr: pTcl_DString): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_Write*(chan: pTcl_Channel, s: cstring, slen: int): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_Flush*(chan: pTcl_Channel): int{.cdecl, dynlib: dllName, importc.} - # TclWinLoadLibrary = function(name: PChar): HMODULE; cdecl; external dllName; -proc Tcl_CreateExitHandler*(prc: TTclClientDataProc, clientData: Tcl_ClientData){. - cdecl, dynlib: dllName, importc.} -proc Tcl_DeleteExitHandler*(prc: TTclClientDataProc, clientData: Tcl_ClientData){. - cdecl, dynlib: dllName, importc.} -proc Tcl_GetStringFromObj*(pObj: pTcl_Obj, pLen: pInteger): cstring{.cdecl, - dynlib: dllName, importc.} -proc Tcl_CreateObjCommand*(interp: pTcl_Interp, name: cstring, - cmdProc: TTclObjCmdProc, clientData: Tcl_ClientData, - deleteProc: TTclCmdDeleteProc): pTcl_Command{.cdecl, - dynlib: dllName, importc.} -proc Tcl_NewStringObj*(bytes: cstring, length: int): pTcl_Obj{.cdecl, - dynlib: dllName, importc.} - # procedure TclFreeObj(pObj: pTcl_Obj); cdecl; external dllName; -proc Tcl_EvalObj*(interp: pTcl_Interp, pObj: pTcl_Obj): int{.cdecl, - dynlib: dllName, importc.} -proc Tcl_GlobalEvalObj*(interp: pTcl_Interp, pObj: pTcl_Obj): int{.cdecl, - dynlib: dllName, importc.} -proc TclRegComp*(exp: cstring): pointer{.cdecl, dynlib: dllName, importc.} -proc TclRegExec*(prog: pointer, str: cstring, start: cstring): int{.cdecl, - dynlib: dllName, importc.} -proc TclRegError*(msg: cstring){.cdecl, dynlib: dllName, importc.} -proc TclGetRegError*(): cstring{.cdecl, dynlib: dllName, importc.} -proc Tcl_RegExpRange*(prog: pointer, index: int, head: var cstring, - tail: var cstring){.cdecl, dynlib: dllName, importc.} - -proc Tcl_GetCommandTable*(interp: pTcl_Interp): pHashTable = - if interp != nil: - result = cast[pHashTable](cast[int](interp) + sizeof(Tcl_Interp) + - sizeof(pointer)) - -proc Tcl_CreateHashEntry*(tablePtr: pTcl_HashTable, key: cstring, - newPtr: pInteger): pTcl_HashEntry = - result = cast[pHashTable](tablePtr).createProc(tablePtr, key, newPtr) - -proc Tcl_FindHashEntry*(tablePtr: pTcl_HashTable, - key: cstring): pTcl_HashEntry = - result = cast[pHashTable](tablePtr).findProc(tablePtr, key) - -proc Tcl_SetHashValue*(h: pTcl_HashEntry, clientData: Tcl_ClientData) = - h.clientData = clientData - -proc Tcl_GetHashValue*(h: pTcl_HashEntry): Tcl_ClientData = - result = h.clientData - -proc Tcl_IncrRefCount*(pObj: pTcl_Obj) = - inc(pObj.refCount) - -proc Tcl_DecrRefCount*(pObj: pTcl_Obj) = - dec(pObj.refCount) - if pObj.refCount <= 0: - dealloc(pObj) - -proc Tcl_IsShared*(pObj: pTcl_Obj): bool = - return pObj.refCount > 1 - -proc Tcl_GetHashKey*(hashTbl: pTcl_HashTable, - hashEntry: pTcl_HashEntry): cstring = - if hashTbl == nil or hashEntry == nil: - result = nil - else: - result = hashEntry.key - diff --git a/lib/oldwrappers/x11/cursorfont.nim b/lib/oldwrappers/x11/cursorfont.nim deleted file mode 100755 index b262ad7c1..000000000 --- a/lib/oldwrappers/x11/cursorfont.nim +++ /dev/null @@ -1,110 +0,0 @@ -# $Xorg: cursorfont.h,v 1.4 2001/02/09 02:03:39 xorgcvs Exp $ -# -# -#Copyright 1987, 1998 The Open Group -# -#Permission to use, copy, modify, distribute, and sell this software and its -#documentation for any purpose is hereby granted without fee, provided that -#the above copyright notice appear in all copies and that both that -#copyright notice and this permission notice appear in supporting -#documentation. -# -#The above copyright notice and this permission notice shall be included -#in all copies or substantial portions of the Software. -# -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -#OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -#IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR -#OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -#ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -#OTHER DEALINGS IN THE SOFTWARE. -# -#Except as contained in this notice, the name of The Open Group shall -#not be used in advertising or otherwise to promote the sale, use or -#other dealings in this Software without prior written authorization -#from The Open Group. -# -# - -const - XC_num_glyphs* = 154 - XC_X_cursor* = 0 - XC_arrow* = 2 - XC_based_arrow_down* = 4 - XC_based_arrow_up* = 6 - XC_boat* = 8 - XC_bogosity* = 10 - XC_bottom_left_corner* = 12 - XC_bottom_right_corner* = 14 - XC_bottom_side* = 16 - XC_bottom_tee* = 18 - XC_box_spiral* = 20 - XC_center_ptr* = 22 - XC_circle* = 24 - XC_clock* = 26 - XC_coffee_mug* = 28 - XC_cross* = 30 - XC_cross_reverse* = 32 - XC_crosshair* = 34 - XC_diamond_cross* = 36 - XC_dot* = 38 - XC_dotbox* = 40 - XC_double_arrow* = 42 - XC_draft_large* = 44 - XC_draft_small* = 46 - XC_draped_box* = 48 - XC_exchange* = 50 - XC_fleur* = 52 - XC_gobbler* = 54 - XC_gumby* = 56 - XC_hand1* = 58 - XC_hand2* = 60 - XC_heart* = 62 - XC_icon* = 64 - XC_iron_cross* = 66 - XC_left_ptr* = 68 - XC_left_side* = 70 - XC_left_tee* = 72 - XC_leftbutton* = 74 - XC_ll_angle* = 76 - XC_lr_angle* = 78 - XC_man* = 80 - XC_middlebutton* = 82 - XC_mouse* = 84 - XC_pencil* = 86 - XC_pirate* = 88 - XC_plus* = 90 - XC_question_arrow* = 92 - XC_right_ptr* = 94 - XC_right_side* = 96 - XC_right_tee* = 98 - XC_rightbutton* = 100 - XC_rtl_logo* = 102 - XC_sailboat* = 104 - XC_sb_down_arrow* = 106 - XC_sb_h_double_arrow* = 108 - XC_sb_left_arrow* = 110 - XC_sb_right_arrow* = 112 - XC_sb_up_arrow* = 114 - XC_sb_v_double_arrow* = 116 - XC_shuttle* = 118 - XC_sizing* = 120 - XC_spider* = 122 - XC_spraycan* = 124 - XC_star* = 126 - XC_target* = 128 - XC_tcross* = 130 - XC_top_left_arrow* = 132 - XC_top_left_corner* = 134 - XC_top_right_corner* = 136 - XC_top_side* = 138 - XC_top_tee* = 140 - XC_trek* = 142 - XC_ul_angle* = 144 - XC_umbrella* = 146 - XC_ur_angle* = 148 - XC_watch* = 150 - XC_xterm* = 152 - -# implementation diff --git a/lib/oldwrappers/x11/keysym.nim b/lib/oldwrappers/x11/keysym.nim deleted file mode 100755 index b1fe13b80..000000000 --- a/lib/oldwrappers/x11/keysym.nim +++ /dev/null @@ -1,1925 +0,0 @@ -# -#Converted from X11/keysym.h and X11/keysymdef.h -# -#Capital letter consts renamed from XK_... to XKc_... -# (since Pascal isn't case-sensitive) -# -#i.e. -#C Pascal -#XK_a XK_a -#XK_A XKc_A -# - -#* default keysyms * - -const - XK_VoidSymbol* = 0x00FFFFFF # void symbol - -when defined(XK_MISCELLANY) or true: - const - #* - # * TTY Functions, cleverly chosen to map to ascii, for convenience of - # * programming, but could have been arbitrary (at the cost of lookup - # * tables in client code. - # * - XK_BackSpace* = 0x0000FF08 # back space, back char - XK_Tab* = 0x0000FF09 - XK_Linefeed* = 0x0000FF0A # Linefeed, LF - XK_Clear* = 0x0000FF0B - XK_Return* = 0x0000FF0D # Return, enter - XK_Pause* = 0x0000FF13 # Pause, hold - XK_Scroll_Lock* = 0x0000FF14 - XK_Sys_Req* = 0x0000FF15 - XK_Escape* = 0x0000FF1B - XK_Delete* = 0x0000FFFF # Delete, rubout - # International & multi-key character composition - XK_Multi_key* = 0x0000FF20 # Multi-key character compose - XK_Codeinput* = 0x0000FF37 - XK_SingleCandidate* = 0x0000FF3C - XK_MultipleCandidate* = 0x0000FF3D - XK_PreviousCandidate* = 0x0000FF3E # Japanese keyboard support - XK_Kanji* = 0x0000FF21 # Kanji, Kanji convert - XK_Muhenkan* = 0x0000FF22 # Cancel Conversion - XK_Henkan_Mode* = 0x0000FF23 # Start/Stop Conversion - XK_Henkan* = 0x0000FF23 # Alias for Henkan_Mode - XK_Romaji* = 0x0000FF24 # to Romaji - XK_Hiragana* = 0x0000FF25 # to Hiragana - XK_Katakana* = 0x0000FF26 # to Katakana - XK_Hiragana_Katakana* = 0x0000FF27 # Hiragana/Katakana toggle - XK_Zenkaku* = 0x0000FF28 # to Zenkaku - XK_Hankaku* = 0x0000FF29 # to Hankaku - XK_Zenkaku_Hankaku* = 0x0000FF2A # Zenkaku/Hankaku toggle - XK_Touroku* = 0x0000FF2B # Add to Dictionary - XK_Massyo* = 0x0000FF2C # Delete from Dictionary - XK_Kana_Lock* = 0x0000FF2D # Kana Lock - XK_Kana_Shift* = 0x0000FF2E # Kana Shift - XK_Eisu_Shift* = 0x0000FF2F # Alphanumeric Shift - XK_Eisu_toggle* = 0x0000FF30 # Alphanumeric toggle - XK_Kanji_Bangou* = 0x0000FF37 # Codeinput - XK_Zen_Koho* = 0x0000FF3D # Multiple/All Candidate(s) - XK_Mae_Koho* = 0x0000FF3E # Previous Candidate - # = $FF31 thru = $FF3F are under XK_KOREAN - # Cursor control & motion - XK_Home* = 0x0000FF50 - XK_Left* = 0x0000FF51 # Move left, left arrow - XK_Up* = 0x0000FF52 # Move up, up arrow - XK_Right* = 0x0000FF53 # Move right, right arrow - XK_Down* = 0x0000FF54 # Move down, down arrow - XK_Prior* = 0x0000FF55 # Prior, previous - XK_Page_Up* = 0x0000FF55 - XK_Next* = 0x0000FF56 # Next - XK_Page_Down* = 0x0000FF56 - XK_End* = 0x0000FF57 # EOL - XK_Begin* = 0x0000FF58 # BOL - # Misc Functions - XK_Select* = 0x0000FF60 # Select, mark - XK_Print* = 0x0000FF61 - XK_Execute* = 0x0000FF62 # Execute, run, do - XK_Insert* = 0x0000FF63 # Insert, insert here - XK_Undo* = 0x0000FF65 # Undo, oops - XK_Redo* = 0x0000FF66 # redo, again - XK_Menu* = 0x0000FF67 - XK_Find* = 0x0000FF68 # Find, search - XK_Cancel* = 0x0000FF69 # Cancel, stop, abort, exit - XK_Help* = 0x0000FF6A # Help - XK_Break* = 0x0000FF6B - XK_Mode_switch* = 0x0000FF7E # Character set switch - XK_script_switch* = 0x0000FF7E # Alias for mode_switch - XK_Num_Lock* = 0x0000FF7F # Keypad Functions, keypad numbers cleverly chosen to map to ascii - XK_KP_Space* = 0x0000FF80 # space - XK_KP_Tab* = 0x0000FF89 - XK_KP_Enter* = 0x0000FF8D # enter - XK_KP_F1* = 0x0000FF91 # PF1, KP_A, ... - XK_KP_F2* = 0x0000FF92 - XK_KP_F3* = 0x0000FF93 - XK_KP_F4* = 0x0000FF94 - XK_KP_Home* = 0x0000FF95 - XK_KP_Left* = 0x0000FF96 - XK_KP_Up* = 0x0000FF97 - XK_KP_Right* = 0x0000FF98 - XK_KP_Down* = 0x0000FF99 - XK_KP_Prior* = 0x0000FF9A - XK_KP_Page_Up* = 0x0000FF9A - XK_KP_Next* = 0x0000FF9B - XK_KP_Page_Down* = 0x0000FF9B - XK_KP_End* = 0x0000FF9C - XK_KP_Begin* = 0x0000FF9D - XK_KP_Insert* = 0x0000FF9E - XK_KP_Delete* = 0x0000FF9F - XK_KP_Equal* = 0x0000FFBD # equals - XK_KP_Multiply* = 0x0000FFAA - XK_KP_Add* = 0x0000FFAB - XK_KP_Separator* = 0x0000FFAC # separator, often comma - XK_KP_Subtract* = 0x0000FFAD - XK_KP_Decimal* = 0x0000FFAE - XK_KP_Divide* = 0x0000FFAF - XK_KP_0* = 0x0000FFB0 - XK_KP_1* = 0x0000FFB1 - XK_KP_2* = 0x0000FFB2 - XK_KP_3* = 0x0000FFB3 - XK_KP_4* = 0x0000FFB4 - XK_KP_5* = 0x0000FFB5 - XK_KP_6* = 0x0000FFB6 - XK_KP_7* = 0x0000FFB7 - XK_KP_8* = 0x0000FFB8 - XK_KP_9* = 0x0000FFB9 #* - # * Auxilliary Functions; note the duplicate definitions for left and right - # * function keys; Sun keyboards and a few other manufactures have such - # * function key groups on the left and/or right sides of the keyboard. - # * We've not found a keyboard with more than 35 function keys total. - # * - XK_F1* = 0x0000FFBE - XK_F2* = 0x0000FFBF - XK_F3* = 0x0000FFC0 - XK_F4* = 0x0000FFC1 - XK_F5* = 0x0000FFC2 - XK_F6* = 0x0000FFC3 - XK_F7* = 0x0000FFC4 - XK_F8* = 0x0000FFC5 - XK_F9* = 0x0000FFC6 - XK_F10* = 0x0000FFC7 - XK_F11* = 0x0000FFC8 - XK_L1* = 0x0000FFC8 - XK_F12* = 0x0000FFC9 - XK_L2* = 0x0000FFC9 - XK_F13* = 0x0000FFCA - XK_L3* = 0x0000FFCA - XK_F14* = 0x0000FFCB - XK_L4* = 0x0000FFCB - XK_F15* = 0x0000FFCC - XK_L5* = 0x0000FFCC - XK_F16* = 0x0000FFCD - XK_L6* = 0x0000FFCD - XK_F17* = 0x0000FFCE - XK_L7* = 0x0000FFCE - XK_F18* = 0x0000FFCF - XK_L8* = 0x0000FFCF - XK_F19* = 0x0000FFD0 - XK_L9* = 0x0000FFD0 - XK_F20* = 0x0000FFD1 - XK_L10* = 0x0000FFD1 - XK_F21* = 0x0000FFD2 - XK_R1* = 0x0000FFD2 - XK_F22* = 0x0000FFD3 - XK_R2* = 0x0000FFD3 - XK_F23* = 0x0000FFD4 - XK_R3* = 0x0000FFD4 - XK_F24* = 0x0000FFD5 - XK_R4* = 0x0000FFD5 - XK_F25* = 0x0000FFD6 - XK_R5* = 0x0000FFD6 - XK_F26* = 0x0000FFD7 - XK_R6* = 0x0000FFD7 - XK_F27* = 0x0000FFD8 - XK_R7* = 0x0000FFD8 - XK_F28* = 0x0000FFD9 - XK_R8* = 0x0000FFD9 - XK_F29* = 0x0000FFDA - XK_R9* = 0x0000FFDA - XK_F30* = 0x0000FFDB - XK_R10* = 0x0000FFDB - XK_F31* = 0x0000FFDC - XK_R11* = 0x0000FFDC - XK_F32* = 0x0000FFDD - XK_R12* = 0x0000FFDD - XK_F33* = 0x0000FFDE - XK_R13* = 0x0000FFDE - XK_F34* = 0x0000FFDF - XK_R14* = 0x0000FFDF - XK_F35* = 0x0000FFE0 - XK_R15* = 0x0000FFE0 # Modifiers - XK_Shift_L* = 0x0000FFE1 # Left shift - XK_Shift_R* = 0x0000FFE2 # Right shift - XK_Control_L* = 0x0000FFE3 # Left control - XK_Control_R* = 0x0000FFE4 # Right control - XK_Caps_Lock* = 0x0000FFE5 # Caps lock - XK_Shift_Lock* = 0x0000FFE6 # Shift lock - XK_Meta_L* = 0x0000FFE7 # Left meta - XK_Meta_R* = 0x0000FFE8 # Right meta - XK_Alt_L* = 0x0000FFE9 # Left alt - XK_Alt_R* = 0x0000FFEA # Right alt - XK_Super_L* = 0x0000FFEB # Left super - XK_Super_R* = 0x0000FFEC # Right super - XK_Hyper_L* = 0x0000FFED # Left hyper - XK_Hyper_R* = 0x0000FFEE # Right hyper -# XK_MISCELLANY -#* -# * ISO 9995 Function and Modifier Keys -# * Byte 3 = = $FE -# * - -when defined(XK_XKB_KEYS) or true: - const - XK_ISO_Lock* = 0x0000FE01 - XK_ISO_Level2_Latch* = 0x0000FE02 - XK_ISO_Level3_Shift* = 0x0000FE03 - XK_ISO_Level3_Latch* = 0x0000FE04 - XK_ISO_Level3_Lock* = 0x0000FE05 - XK_ISO_Group_Shift* = 0x0000FF7E # Alias for mode_switch - XK_ISO_Group_Latch* = 0x0000FE06 - XK_ISO_Group_Lock* = 0x0000FE07 - XK_ISO_Next_Group* = 0x0000FE08 - XK_ISO_Next_Group_Lock* = 0x0000FE09 - XK_ISO_Prev_Group* = 0x0000FE0A - XK_ISO_Prev_Group_Lock* = 0x0000FE0B - XK_ISO_First_Group* = 0x0000FE0C - XK_ISO_First_Group_Lock* = 0x0000FE0D - XK_ISO_Last_Group* = 0x0000FE0E - XK_ISO_Last_Group_Lock* = 0x0000FE0F - XK_ISO_Left_Tab* = 0x0000FE20 - XK_ISO_Move_Line_Up* = 0x0000FE21 - XK_ISO_Move_Line_Down* = 0x0000FE22 - XK_ISO_Partial_Line_Up* = 0x0000FE23 - XK_ISO_Partial_Line_Down* = 0x0000FE24 - XK_ISO_Partial_Space_Left* = 0x0000FE25 - XK_ISO_Partial_Space_Right* = 0x0000FE26 - XK_ISO_Set_Margin_Left* = 0x0000FE27 - XK_ISO_Set_Margin_Right* = 0x0000FE28 - XK_ISO_Release_Margin_Left* = 0x0000FE29 - XK_ISO_Release_Margin_Right* = 0x0000FE2A - XK_ISO_Release_Both_Margins* = 0x0000FE2B - XK_ISO_Fast_Cursor_Left* = 0x0000FE2C - XK_ISO_Fast_Cursor_Right* = 0x0000FE2D - XK_ISO_Fast_Cursor_Up* = 0x0000FE2E - XK_ISO_Fast_Cursor_Down* = 0x0000FE2F - XK_ISO_Continuous_Underline* = 0x0000FE30 - XK_ISO_Discontinuous_Underline* = 0x0000FE31 - XK_ISO_Emphasize* = 0x0000FE32 - XK_ISO_Center_Object* = 0x0000FE33 - XK_ISO_Enter* = 0x0000FE34 - XK_dead_grave* = 0x0000FE50 - XK_dead_acute* = 0x0000FE51 - XK_dead_circumflex* = 0x0000FE52 - XK_dead_tilde* = 0x0000FE53 - XK_dead_macron* = 0x0000FE54 - XK_dead_breve* = 0x0000FE55 - XK_dead_abovedot* = 0x0000FE56 - XK_dead_diaeresis* = 0x0000FE57 - XK_dead_abovering* = 0x0000FE58 - XK_dead_doubleacute* = 0x0000FE59 - XK_dead_caron* = 0x0000FE5A - XK_dead_cedilla* = 0x0000FE5B - XK_dead_ogonek* = 0x0000FE5C - XK_dead_iota* = 0x0000FE5D - XK_dead_voiced_sound* = 0x0000FE5E - XK_dead_semivoiced_sound* = 0x0000FE5F - XK_dead_belowdot* = 0x0000FE60 - XK_dead_hook* = 0x0000FE61 - XK_dead_horn* = 0x0000FE62 - XK_First_Virtual_Screen* = 0x0000FED0 - XK_Prev_Virtual_Screen* = 0x0000FED1 - XK_Next_Virtual_Screen* = 0x0000FED2 - XK_Last_Virtual_Screen* = 0x0000FED4 - XK_Terminate_Server* = 0x0000FED5 - XK_AccessX_Enable* = 0x0000FE70 - XK_AccessX_Feedback_Enable* = 0x0000FE71 - XK_RepeatKeys_Enable* = 0x0000FE72 - XK_SlowKeys_Enable* = 0x0000FE73 - XK_BounceKeys_Enable* = 0x0000FE74 - XK_StickyKeys_Enable* = 0x0000FE75 - XK_MouseKeys_Enable* = 0x0000FE76 - XK_MouseKeys_Accel_Enable* = 0x0000FE77 - XK_Overlay1_Enable* = 0x0000FE78 - XK_Overlay2_Enable* = 0x0000FE79 - XK_AudibleBell_Enable* = 0x0000FE7A - XK_Pointer_Left* = 0x0000FEE0 - XK_Pointer_Right* = 0x0000FEE1 - XK_Pointer_Up* = 0x0000FEE2 - XK_Pointer_Down* = 0x0000FEE3 - XK_Pointer_UpLeft* = 0x0000FEE4 - XK_Pointer_UpRight* = 0x0000FEE5 - XK_Pointer_DownLeft* = 0x0000FEE6 - XK_Pointer_DownRight* = 0x0000FEE7 - XK_Pointer_Button_Dflt* = 0x0000FEE8 - XK_Pointer_Button1* = 0x0000FEE9 - XK_Pointer_Button2* = 0x0000FEEA - XK_Pointer_Button3* = 0x0000FEEB - XK_Pointer_Button4* = 0x0000FEEC - XK_Pointer_Button5* = 0x0000FEED - XK_Pointer_DblClick_Dflt* = 0x0000FEEE - XK_Pointer_DblClick1* = 0x0000FEEF - XK_Pointer_DblClick2* = 0x0000FEF0 - XK_Pointer_DblClick3* = 0x0000FEF1 - XK_Pointer_DblClick4* = 0x0000FEF2 - XK_Pointer_DblClick5* = 0x0000FEF3 - XK_Pointer_Drag_Dflt* = 0x0000FEF4 - XK_Pointer_Drag1* = 0x0000FEF5 - XK_Pointer_Drag2* = 0x0000FEF6 - XK_Pointer_Drag3* = 0x0000FEF7 - XK_Pointer_Drag4* = 0x0000FEF8 - XK_Pointer_Drag5* = 0x0000FEFD - XK_Pointer_EnableKeys* = 0x0000FEF9 - XK_Pointer_Accelerate* = 0x0000FEFA - XK_Pointer_DfltBtnNext* = 0x0000FEFB - XK_Pointer_DfltBtnPrev* = 0x0000FEFC - #* - # * 3270 Terminal Keys - # * Byte 3 = = $FD - # * - -when defined(XK_3270) or true: - const - XK_3270_Duplicate* = 0x0000FD01 - XK_3270_FieldMark* = 0x0000FD02 - XK_3270_Right2* = 0x0000FD03 - XK_3270_Left2* = 0x0000FD04 - XK_3270_BackTab* = 0x0000FD05 - XK_3270_EraseEOF* = 0x0000FD06 - XK_3270_EraseInput* = 0x0000FD07 - XK_3270_Reset* = 0x0000FD08 - XK_3270_Quit* = 0x0000FD09 - XK_3270_PA1* = 0x0000FD0A - XK_3270_PA2* = 0x0000FD0B - XK_3270_PA3* = 0x0000FD0C - XK_3270_Test* = 0x0000FD0D - XK_3270_Attn* = 0x0000FD0E - XK_3270_CursorBlink* = 0x0000FD0F - XK_3270_AltCursor* = 0x0000FD10 - XK_3270_KeyClick* = 0x0000FD11 - XK_3270_Jump* = 0x0000FD12 - XK_3270_Ident* = 0x0000FD13 - XK_3270_Rule* = 0x0000FD14 - XK_3270_Copy* = 0x0000FD15 - XK_3270_Play* = 0x0000FD16 - XK_3270_Setup* = 0x0000FD17 - XK_3270_Record* = 0x0000FD18 - XK_3270_ChangeScreen* = 0x0000FD19 - XK_3270_DeleteWord* = 0x0000FD1A - XK_3270_ExSelect* = 0x0000FD1B - XK_3270_CursorSelect* = 0x0000FD1C - XK_3270_PrintScreen* = 0x0000FD1D - XK_3270_Enter* = 0x0000FD1E -#* -# * Latin 1 -# * Byte 3 = 0 -# * - -when defined(XK_LATIN1) or true: - const - XK_space* = 0x00000020 - XK_exclam* = 0x00000021 - XK_quotedbl* = 0x00000022 - XK_numbersign* = 0x00000023 - XK_dollar* = 0x00000024 - XK_percent* = 0x00000025 - XK_ampersand* = 0x00000026 - XK_apostrophe* = 0x00000027 - XK_quoteright* = 0x00000027 # deprecated - XK_parenleft* = 0x00000028 - XK_parenright* = 0x00000029 - XK_asterisk* = 0x0000002A - XK_plus* = 0x0000002B - XK_comma* = 0x0000002C - XK_minus* = 0x0000002D - XK_period* = 0x0000002E - XK_slash* = 0x0000002F - XK_0* = 0x00000030 - XK_1* = 0x00000031 - XK_2* = 0x00000032 - XK_3* = 0x00000033 - XK_4* = 0x00000034 - XK_5* = 0x00000035 - XK_6* = 0x00000036 - XK_7* = 0x00000037 - XK_8* = 0x00000038 - XK_9* = 0x00000039 - XK_colon* = 0x0000003A - XK_semicolon* = 0x0000003B - XK_less* = 0x0000003C - XK_equal* = 0x0000003D - XK_greater* = 0x0000003E - XK_question* = 0x0000003F - XK_at* = 0x00000040 - XKc_A* = 0x00000041 - XKc_B* = 0x00000042 - XKc_C* = 0x00000043 - XKc_D* = 0x00000044 - XKc_E* = 0x00000045 - XKc_F* = 0x00000046 - XKc_G* = 0x00000047 - XKc_H* = 0x00000048 - XKc_I* = 0x00000049 - XKc_J* = 0x0000004A - XKc_K* = 0x0000004B - XKc_L* = 0x0000004C - XKc_M* = 0x0000004D - XKc_N* = 0x0000004E - XKc_O* = 0x0000004F - XKc_P* = 0x00000050 - XKc_Q* = 0x00000051 - XKc_R* = 0x00000052 - XKc_S* = 0x00000053 - XKc_T* = 0x00000054 - XKc_U* = 0x00000055 - XKc_V* = 0x00000056 - XKc_W* = 0x00000057 - XKc_X* = 0x00000058 - XKc_Y* = 0x00000059 - XKc_Z* = 0x0000005A - XK_bracketleft* = 0x0000005B - XK_backslash* = 0x0000005C - XK_bracketright* = 0x0000005D - XK_asciicircum* = 0x0000005E - XK_underscore* = 0x0000005F - XK_grave* = 0x00000060 - XK_quoteleft* = 0x00000060 # deprecated - XK_a* = 0x00000061 - XK_b* = 0x00000062 - XK_c* = 0x00000063 - XK_d* = 0x00000064 - XK_e* = 0x00000065 - XK_f* = 0x00000066 - XK_g* = 0x00000067 - XK_h* = 0x00000068 - XK_i* = 0x00000069 - XK_j* = 0x0000006A - XK_k* = 0x0000006B - XK_l* = 0x0000006C - XK_m* = 0x0000006D - XK_n* = 0x0000006E - XK_o* = 0x0000006F - XK_p* = 0x00000070 - XK_q* = 0x00000071 - XK_r* = 0x00000072 - XK_s* = 0x00000073 - XK_t* = 0x00000074 - XK_u* = 0x00000075 - XK_v* = 0x00000076 - XK_w* = 0x00000077 - XK_x* = 0x00000078 - XK_y* = 0x00000079 - XK_z* = 0x0000007A - XK_braceleft* = 0x0000007B - XK_bar* = 0x0000007C - XK_braceright* = 0x0000007D - XK_asciitilde* = 0x0000007E - XK_nobreakspace* = 0x000000A0 - XK_exclamdown* = 0x000000A1 - XK_cent* = 0x000000A2 - XK_sterling* = 0x000000A3 - XK_currency* = 0x000000A4 - XK_yen* = 0x000000A5 - XK_brokenbar* = 0x000000A6 - XK_section* = 0x000000A7 - XK_diaeresis* = 0x000000A8 - XK_copyright* = 0x000000A9 - XK_ordfeminine* = 0x000000AA - XK_guillemotleft* = 0x000000AB # left angle quotation mark - XK_notsign* = 0x000000AC - XK_hyphen* = 0x000000AD - XK_registered* = 0x000000AE - XK_macron* = 0x000000AF - XK_degree* = 0x000000B0 - XK_plusminus* = 0x000000B1 - XK_twosuperior* = 0x000000B2 - XK_threesuperior* = 0x000000B3 - XK_acute* = 0x000000B4 - XK_mu* = 0x000000B5 - XK_paragraph* = 0x000000B6 - XK_periodcentered* = 0x000000B7 - XK_cedilla* = 0x000000B8 - XK_onesuperior* = 0x000000B9 - XK_masculine* = 0x000000BA - XK_guillemotright* = 0x000000BB # right angle quotation mark - XK_onequarter* = 0x000000BC - XK_onehalf* = 0x000000BD - XK_threequarters* = 0x000000BE - XK_questiondown* = 0x000000BF - XKc_Agrave* = 0x000000C0 - XKc_Aacute* = 0x000000C1 - XKc_Acircumflex* = 0x000000C2 - XKc_Atilde* = 0x000000C3 - XKc_Adiaeresis* = 0x000000C4 - XKc_Aring* = 0x000000C5 - XKc_AE* = 0x000000C6 - XKc_Ccedilla* = 0x000000C7 - XKc_Egrave* = 0x000000C8 - XKc_Eacute* = 0x000000C9 - XKc_Ecircumflex* = 0x000000CA - XKc_Ediaeresis* = 0x000000CB - XKc_Igrave* = 0x000000CC - XKc_Iacute* = 0x000000CD - XKc_Icircumflex* = 0x000000CE - XKc_Idiaeresis* = 0x000000CF - XKc_ETH* = 0x000000D0 - XKc_Ntilde* = 0x000000D1 - XKc_Ograve* = 0x000000D2 - XKc_Oacute* = 0x000000D3 - XKc_Ocircumflex* = 0x000000D4 - XKc_Otilde* = 0x000000D5 - XKc_Odiaeresis* = 0x000000D6 - XK_multiply* = 0x000000D7 - XKc_Ooblique* = 0x000000D8 - XKc_Oslash* = XKc_Ooblique - XKc_Ugrave* = 0x000000D9 - XKc_Uacute* = 0x000000DA - XKc_Ucircumflex* = 0x000000DB - XKc_Udiaeresis* = 0x000000DC - XKc_Yacute* = 0x000000DD - XKc_THORN* = 0x000000DE - XK_ssharp* = 0x000000DF - XK_agrave* = 0x000000E0 - XK_aacute* = 0x000000E1 - XK_acircumflex* = 0x000000E2 - XK_atilde* = 0x000000E3 - XK_adiaeresis* = 0x000000E4 - XK_aring* = 0x000000E5 - XK_ae* = 0x000000E6 - XK_ccedilla* = 0x000000E7 - XK_egrave* = 0x000000E8 - XK_eacute* = 0x000000E9 - XK_ecircumflex* = 0x000000EA - XK_ediaeresis* = 0x000000EB - XK_igrave* = 0x000000EC - XK_iacute* = 0x000000ED - XK_icircumflex* = 0x000000EE - XK_idiaeresis* = 0x000000EF - XK_eth* = 0x000000F0 - XK_ntilde* = 0x000000F1 - XK_ograve* = 0x000000F2 - XK_oacute* = 0x000000F3 - XK_ocircumflex* = 0x000000F4 - XK_otilde* = 0x000000F5 - XK_odiaeresis* = 0x000000F6 - XK_division* = 0x000000F7 - XK_oslash* = 0x000000F8 - XK_ooblique* = XK_oslash - XK_ugrave* = 0x000000F9 - XK_uacute* = 0x000000FA - XK_ucircumflex* = 0x000000FB - XK_udiaeresis* = 0x000000FC - XK_yacute* = 0x000000FD - XK_thorn* = 0x000000FE - XK_ydiaeresis* = 0x000000FF -# XK_LATIN1 -#* -# * Latin 2 -# * Byte 3 = 1 -# * - -when defined(XK_LATIN2) or true: - const - XKc_Aogonek* = 0x000001A1 - XK_breve* = 0x000001A2 - XKc_Lstroke* = 0x000001A3 - XKc_Lcaron* = 0x000001A5 - XKc_Sacute* = 0x000001A6 - XKc_Scaron* = 0x000001A9 - XKc_Scedilla* = 0x000001AA - XKc_Tcaron* = 0x000001AB - XKc_Zacute* = 0x000001AC - XKc_Zcaron* = 0x000001AE - XKc_Zabovedot* = 0x000001AF - XK_aogonek* = 0x000001B1 - XK_ogonek* = 0x000001B2 - XK_lstroke* = 0x000001B3 - XK_lcaron* = 0x000001B5 - XK_sacute* = 0x000001B6 - XK_caron* = 0x000001B7 - XK_scaron* = 0x000001B9 - XK_scedilla* = 0x000001BA - XK_tcaron* = 0x000001BB - XK_zacute* = 0x000001BC - XK_doubleacute* = 0x000001BD - XK_zcaron* = 0x000001BE - XK_zabovedot* = 0x000001BF - XKc_Racute* = 0x000001C0 - XKc_Abreve* = 0x000001C3 - XKc_Lacute* = 0x000001C5 - XKc_Cacute* = 0x000001C6 - XKc_Ccaron* = 0x000001C8 - XKc_Eogonek* = 0x000001CA - XKc_Ecaron* = 0x000001CC - XKc_Dcaron* = 0x000001CF - XKc_Dstroke* = 0x000001D0 - XKc_Nacute* = 0x000001D1 - XKc_Ncaron* = 0x000001D2 - XKc_Odoubleacute* = 0x000001D5 - XKc_Rcaron* = 0x000001D8 - XKc_Uring* = 0x000001D9 - XKc_Udoubleacute* = 0x000001DB - XKc_Tcedilla* = 0x000001DE - XK_racute* = 0x000001E0 - XK_abreve* = 0x000001E3 - XK_lacute* = 0x000001E5 - XK_cacute* = 0x000001E6 - XK_ccaron* = 0x000001E8 - XK_eogonek* = 0x000001EA - XK_ecaron* = 0x000001EC - XK_dcaron* = 0x000001EF - XK_dstroke* = 0x000001F0 - XK_nacute* = 0x000001F1 - XK_ncaron* = 0x000001F2 - XK_odoubleacute* = 0x000001F5 - XK_udoubleacute* = 0x000001FB - XK_rcaron* = 0x000001F8 - XK_uring* = 0x000001F9 - XK_tcedilla* = 0x000001FE - XK_abovedot* = 0x000001FF -# XK_LATIN2 -#* -# * Latin 3 -# * Byte 3 = 2 -# * - -when defined(XK_LATIN3) or true: - const - XKc_Hstroke* = 0x000002A1 - XKc_Hcircumflex* = 0x000002A6 - XKc_Iabovedot* = 0x000002A9 - XKc_Gbreve* = 0x000002AB - XKc_Jcircumflex* = 0x000002AC - XK_hstroke* = 0x000002B1 - XK_hcircumflex* = 0x000002B6 - XK_idotless* = 0x000002B9 - XK_gbreve* = 0x000002BB - XK_jcircumflex* = 0x000002BC - XKc_Cabovedot* = 0x000002C5 - XKc_Ccircumflex* = 0x000002C6 - XKc_Gabovedot* = 0x000002D5 - XKc_Gcircumflex* = 0x000002D8 - XKc_Ubreve* = 0x000002DD - XKc_Scircumflex* = 0x000002DE - XK_cabovedot* = 0x000002E5 - XK_ccircumflex* = 0x000002E6 - XK_gabovedot* = 0x000002F5 - XK_gcircumflex* = 0x000002F8 - XK_ubreve* = 0x000002FD - XK_scircumflex* = 0x000002FE -# XK_LATIN3 -#* -# * Latin 4 -# * Byte 3 = 3 -# * - -when defined(XK_LATIN4) or true: - const - XK_kra* = 0x000003A2 - XK_kappa* = 0x000003A2 # deprecated - XKc_Rcedilla* = 0x000003A3 - XKc_Itilde* = 0x000003A5 - XKc_Lcedilla* = 0x000003A6 - XKc_Emacron* = 0x000003AA - XKc_Gcedilla* = 0x000003AB - XKc_Tslash* = 0x000003AC - XK_rcedilla* = 0x000003B3 - XK_itilde* = 0x000003B5 - XK_lcedilla* = 0x000003B6 - XK_emacron* = 0x000003BA - XK_gcedilla* = 0x000003BB - XK_tslash* = 0x000003BC - XKc_ENG* = 0x000003BD - XK_eng* = 0x000003BF - XKc_Amacron* = 0x000003C0 - XKc_Iogonek* = 0x000003C7 - XKc_Eabovedot* = 0x000003CC - XKc_Imacron* = 0x000003CF - XKc_Ncedilla* = 0x000003D1 - XKc_Omacron* = 0x000003D2 - XKc_Kcedilla* = 0x000003D3 - XKc_Uogonek* = 0x000003D9 - XKc_Utilde* = 0x000003DD - XKc_Umacron* = 0x000003DE - XK_amacron* = 0x000003E0 - XK_iogonek* = 0x000003E7 - XK_eabovedot* = 0x000003EC - XK_imacron* = 0x000003EF - XK_ncedilla* = 0x000003F1 - XK_omacron* = 0x000003F2 - XK_kcedilla* = 0x000003F3 - XK_uogonek* = 0x000003F9 - XK_utilde* = 0x000003FD - XK_umacron* = 0x000003FE -# XK_LATIN4 -#* -# * Latin-8 -# * Byte 3 = 18 -# * - -when defined(XK_LATIN8) or true: - const - XKc_Babovedot* = 0x000012A1 - XK_babovedot* = 0x000012A2 - XKc_Dabovedot* = 0x000012A6 - XKc_Wgrave* = 0x000012A8 - XKc_Wacute* = 0x000012AA - XK_dabovedot* = 0x000012AB - XKc_Ygrave* = 0x000012AC - XKc_Fabovedot* = 0x000012B0 - XK_fabovedot* = 0x000012B1 - XKc_Mabovedot* = 0x000012B4 - XK_mabovedot* = 0x000012B5 - XKc_Pabovedot* = 0x000012B7 - XK_wgrave* = 0x000012B8 - XK_pabovedot* = 0x000012B9 - XK_wacute* = 0x000012BA - XKc_Sabovedot* = 0x000012BB - XK_ygrave* = 0x000012BC - XKc_Wdiaeresis* = 0x000012BD - XK_wdiaeresis* = 0x000012BE - XK_sabovedot* = 0x000012BF - XKc_Wcircumflex* = 0x000012D0 - XKc_Tabovedot* = 0x000012D7 - XKc_Ycircumflex* = 0x000012DE - XK_wcircumflex* = 0x000012F0 - XK_tabovedot* = 0x000012F7 - XK_ycircumflex* = 0x000012FE -# XK_LATIN8 -#* -# * Latin-9 (a.k.a. Latin-0) -# * Byte 3 = 19 -# * - -when defined(XK_LATIN9) or true: - const - XKc_OE* = 0x000013BC - XK_oe* = 0x000013BD - XKc_Ydiaeresis* = 0x000013BE -# XK_LATIN9 -#* -# * Katakana -# * Byte 3 = 4 -# * - -when defined(XK_KATAKANA) or true: - const - XK_overline* = 0x0000047E - XK_kana_fullstop* = 0x000004A1 - XK_kana_openingbracket* = 0x000004A2 - XK_kana_closingbracket* = 0x000004A3 - XK_kana_comma* = 0x000004A4 - XK_kana_conjunctive* = 0x000004A5 - XK_kana_middledot* = 0x000004A5 # deprecated - XKc_kana_WO* = 0x000004A6 - XK_kana_a* = 0x000004A7 - XK_kana_i* = 0x000004A8 - XK_kana_u* = 0x000004A9 - XK_kana_e* = 0x000004AA - XK_kana_o* = 0x000004AB - XK_kana_ya* = 0x000004AC - XK_kana_yu* = 0x000004AD - XK_kana_yo* = 0x000004AE - XK_kana_tsu* = 0x000004AF - XK_kana_tu* = 0x000004AF # deprecated - XK_prolongedsound* = 0x000004B0 - XKc_kana_A* = 0x000004B1 - XKc_kana_I* = 0x000004B2 - XKc_kana_U* = 0x000004B3 - XKc_kana_E* = 0x000004B4 - XKc_kana_O* = 0x000004B5 - XKc_kana_KA* = 0x000004B6 - XKc_kana_KI* = 0x000004B7 - XKc_kana_KU* = 0x000004B8 - XKc_kana_KE* = 0x000004B9 - XKc_kana_KO* = 0x000004BA - XKc_kana_SA* = 0x000004BB - XKc_kana_SHI* = 0x000004BC - XKc_kana_SU* = 0x000004BD - XKc_kana_SE* = 0x000004BE - XKc_kana_SO* = 0x000004BF - XKc_kana_TA* = 0x000004C0 - XKc_kana_CHI* = 0x000004C1 - XKc_kana_TI* = 0x000004C1 # deprecated - XKc_kana_TSU* = 0x000004C2 - XKc_kana_TU* = 0x000004C2 # deprecated - XKc_kana_TE* = 0x000004C3 - XKc_kana_TO* = 0x000004C4 - XKc_kana_NA* = 0x000004C5 - XKc_kana_NI* = 0x000004C6 - XKc_kana_NU* = 0x000004C7 - XKc_kana_NE* = 0x000004C8 - XKc_kana_NO* = 0x000004C9 - XKc_kana_HA* = 0x000004CA - XKc_kana_HI* = 0x000004CB - XKc_kana_FU* = 0x000004CC - XKc_kana_HU* = 0x000004CC # deprecated - XKc_kana_HE* = 0x000004CD - XKc_kana_HO* = 0x000004CE - XKc_kana_MA* = 0x000004CF - XKc_kana_MI* = 0x000004D0 - XKc_kana_MU* = 0x000004D1 - XKc_kana_ME* = 0x000004D2 - XKc_kana_MO* = 0x000004D3 - XKc_kana_YA* = 0x000004D4 - XKc_kana_YU* = 0x000004D5 - XKc_kana_YO* = 0x000004D6 - XKc_kana_RA* = 0x000004D7 - XKc_kana_RI* = 0x000004D8 - XKc_kana_RU* = 0x000004D9 - XKc_kana_RE* = 0x000004DA - XKc_kana_RO* = 0x000004DB - XKc_kana_WA* = 0x000004DC - XKc_kana_N* = 0x000004DD - XK_voicedsound* = 0x000004DE - XK_semivoicedsound* = 0x000004DF - XK_kana_switch* = 0x0000FF7E # Alias for mode_switch -# XK_KATAKANA -#* -# * Arabic -# * Byte 3 = 5 -# * - -when defined(XK_ARABIC) or true: - const - XK_Farsi_0* = 0x00000590 - XK_Farsi_1* = 0x00000591 - XK_Farsi_2* = 0x00000592 - XK_Farsi_3* = 0x00000593 - XK_Farsi_4* = 0x00000594 - XK_Farsi_5* = 0x00000595 - XK_Farsi_6* = 0x00000596 - XK_Farsi_7* = 0x00000597 - XK_Farsi_8* = 0x00000598 - XK_Farsi_9* = 0x00000599 - XK_Arabic_percent* = 0x000005A5 - XK_Arabic_superscript_alef* = 0x000005A6 - XK_Arabic_tteh* = 0x000005A7 - XK_Arabic_peh* = 0x000005A8 - XK_Arabic_tcheh* = 0x000005A9 - XK_Arabic_ddal* = 0x000005AA - XK_Arabic_rreh* = 0x000005AB - XK_Arabic_comma* = 0x000005AC - XK_Arabic_fullstop* = 0x000005AE - XK_Arabic_0* = 0x000005B0 - XK_Arabic_1* = 0x000005B1 - XK_Arabic_2* = 0x000005B2 - XK_Arabic_3* = 0x000005B3 - XK_Arabic_4* = 0x000005B4 - XK_Arabic_5* = 0x000005B5 - XK_Arabic_6* = 0x000005B6 - XK_Arabic_7* = 0x000005B7 - XK_Arabic_8* = 0x000005B8 - XK_Arabic_9* = 0x000005B9 - XK_Arabic_semicolon* = 0x000005BB - XK_Arabic_question_mark* = 0x000005BF - XK_Arabic_hamza* = 0x000005C1 - XK_Arabic_maddaonalef* = 0x000005C2 - XK_Arabic_hamzaonalef* = 0x000005C3 - XK_Arabic_hamzaonwaw* = 0x000005C4 - XK_Arabic_hamzaunderalef* = 0x000005C5 - XK_Arabic_hamzaonyeh* = 0x000005C6 - XK_Arabic_alef* = 0x000005C7 - XK_Arabic_beh* = 0x000005C8 - XK_Arabic_tehmarbuta* = 0x000005C9 - XK_Arabic_teh* = 0x000005CA - XK_Arabic_theh* = 0x000005CB - XK_Arabic_jeem* = 0x000005CC - XK_Arabic_hah* = 0x000005CD - XK_Arabic_khah* = 0x000005CE - XK_Arabic_dal* = 0x000005CF - XK_Arabic_thal* = 0x000005D0 - XK_Arabic_ra* = 0x000005D1 - XK_Arabic_zain* = 0x000005D2 - XK_Arabic_seen* = 0x000005D3 - XK_Arabic_sheen* = 0x000005D4 - XK_Arabic_sad* = 0x000005D5 - XK_Arabic_dad* = 0x000005D6 - XK_Arabic_tah* = 0x000005D7 - XK_Arabic_zah* = 0x000005D8 - XK_Arabic_ain* = 0x000005D9 - XK_Arabic_ghain* = 0x000005DA - XK_Arabic_tatweel* = 0x000005E0 - XK_Arabic_feh* = 0x000005E1 - XK_Arabic_qaf* = 0x000005E2 - XK_Arabic_kaf* = 0x000005E3 - XK_Arabic_lam* = 0x000005E4 - XK_Arabic_meem* = 0x000005E5 - XK_Arabic_noon* = 0x000005E6 - XK_Arabic_ha* = 0x000005E7 - XK_Arabic_heh* = 0x000005E7 # deprecated - XK_Arabic_waw* = 0x000005E8 - XK_Arabic_alefmaksura* = 0x000005E9 - XK_Arabic_yeh* = 0x000005EA - XK_Arabic_fathatan* = 0x000005EB - XK_Arabic_dammatan* = 0x000005EC - XK_Arabic_kasratan* = 0x000005ED - XK_Arabic_fatha* = 0x000005EE - XK_Arabic_damma* = 0x000005EF - XK_Arabic_kasra* = 0x000005F0 - XK_Arabic_shadda* = 0x000005F1 - XK_Arabic_sukun* = 0x000005F2 - XK_Arabic_madda_above* = 0x000005F3 - XK_Arabic_hamza_above* = 0x000005F4 - XK_Arabic_hamza_below* = 0x000005F5 - XK_Arabic_jeh* = 0x000005F6 - XK_Arabic_veh* = 0x000005F7 - XK_Arabic_keheh* = 0x000005F8 - XK_Arabic_gaf* = 0x000005F9 - XK_Arabic_noon_ghunna* = 0x000005FA - XK_Arabic_heh_doachashmee* = 0x000005FB - XK_Farsi_yeh* = 0x000005FC - XK_Arabic_farsi_yeh* = XK_Farsi_yeh - XK_Arabic_yeh_baree* = 0x000005FD - XK_Arabic_heh_goal* = 0x000005FE - XK_Arabic_switch* = 0x0000FF7E # Alias for mode_switch -# XK_ARABIC -#* -# * Cyrillic -# * Byte 3 = 6 -# * - -when defined(XK_CYRILLIC) or true: - const - XKc_Cyrillic_GHE_bar* = 0x00000680 - XK_Cyrillic_ghe_bar* = 0x00000690 - XKc_Cyrillic_ZHE_descender* = 0x00000681 - XK_Cyrillic_zhe_descender* = 0x00000691 - XKc_Cyrillic_KA_descender* = 0x00000682 - XK_Cyrillic_ka_descender* = 0x00000692 - XKc_Cyrillic_KA_vertstroke* = 0x00000683 - XK_Cyrillic_ka_vertstroke* = 0x00000693 - XKc_Cyrillic_EN_descender* = 0x00000684 - XK_Cyrillic_en_descender* = 0x00000694 - XKc_Cyrillic_U_straight* = 0x00000685 - XK_Cyrillic_u_straight* = 0x00000695 - XKc_Cyrillic_U_straight_bar* = 0x00000686 - XK_Cyrillic_u_straight_bar* = 0x00000696 - XKc_Cyrillic_HA_descender* = 0x00000687 - XK_Cyrillic_ha_descender* = 0x00000697 - XKc_Cyrillic_CHE_descender* = 0x00000688 - XK_Cyrillic_che_descender* = 0x00000698 - XKc_Cyrillic_CHE_vertstroke* = 0x00000689 - XK_Cyrillic_che_vertstroke* = 0x00000699 - XKc_Cyrillic_SHHA* = 0x0000068A - XK_Cyrillic_shha* = 0x0000069A - XKc_Cyrillic_SCHWA* = 0x0000068C - XK_Cyrillic_schwa* = 0x0000069C - XKc_Cyrillic_I_macron* = 0x0000068D - XK_Cyrillic_i_macron* = 0x0000069D - XKc_Cyrillic_O_bar* = 0x0000068E - XK_Cyrillic_o_bar* = 0x0000069E - XKc_Cyrillic_U_macron* = 0x0000068F - XK_Cyrillic_u_macron* = 0x0000069F - XK_Serbian_dje* = 0x000006A1 - XK_Macedonia_gje* = 0x000006A2 - XK_Cyrillic_io* = 0x000006A3 - XK_Ukrainian_ie* = 0x000006A4 - XK_Ukranian_je* = 0x000006A4 # deprecated - XK_Macedonia_dse* = 0x000006A5 - XK_Ukrainian_i* = 0x000006A6 - XK_Ukranian_i* = 0x000006A6 # deprecated - XK_Ukrainian_yi* = 0x000006A7 - XK_Ukranian_yi* = 0x000006A7 # deprecated - XK_Cyrillic_je* = 0x000006A8 - XK_Serbian_je* = 0x000006A8 # deprecated - XK_Cyrillic_lje* = 0x000006A9 - XK_Serbian_lje* = 0x000006A9 # deprecated - XK_Cyrillic_nje* = 0x000006AA - XK_Serbian_nje* = 0x000006AA # deprecated - XK_Serbian_tshe* = 0x000006AB - XK_Macedonia_kje* = 0x000006AC - XK_Ukrainian_ghe_with_upturn* = 0x000006AD - XK_Byelorussian_shortu* = 0x000006AE - XK_Cyrillic_dzhe* = 0x000006AF - XK_Serbian_dze* = 0x000006AF # deprecated - XK_numerosign* = 0x000006B0 - XKc_Serbian_DJE* = 0x000006B1 - XKc_Macedonia_GJE* = 0x000006B2 - XKc_Cyrillic_IO* = 0x000006B3 - XKc_Ukrainian_IE* = 0x000006B4 - XKc_Ukranian_JE* = 0x000006B4 # deprecated - XKc_Macedonia_DSE* = 0x000006B5 - XKc_Ukrainian_I* = 0x000006B6 - XKc_Ukranian_I* = 0x000006B6 # deprecated - XKc_Ukrainian_YI* = 0x000006B7 - XKc_Ukranian_YI* = 0x000006B7 # deprecated - XKc_Cyrillic_JE* = 0x000006B8 - XKc_Serbian_JE* = 0x000006B8 # deprecated - XKc_Cyrillic_LJE* = 0x000006B9 - XKc_Serbian_LJE* = 0x000006B9 # deprecated - XKc_Cyrillic_NJE* = 0x000006BA - XKc_Serbian_NJE* = 0x000006BA # deprecated - XKc_Serbian_TSHE* = 0x000006BB - XKc_Macedonia_KJE* = 0x000006BC - XKc_Ukrainian_GHE_WITH_UPTURN* = 0x000006BD - XKc_Byelorussian_SHORTU* = 0x000006BE - XKc_Cyrillic_DZHE* = 0x000006BF - XKc_Serbian_DZE* = 0x000006BF # deprecated - XK_Cyrillic_yu* = 0x000006C0 - XK_Cyrillic_a* = 0x000006C1 - XK_Cyrillic_be* = 0x000006C2 - XK_Cyrillic_tse* = 0x000006C3 - XK_Cyrillic_de* = 0x000006C4 - XK_Cyrillic_ie* = 0x000006C5 - XK_Cyrillic_ef* = 0x000006C6 - XK_Cyrillic_ghe* = 0x000006C7 - XK_Cyrillic_ha* = 0x000006C8 - XK_Cyrillic_i* = 0x000006C9 - XK_Cyrillic_shorti* = 0x000006CA - XK_Cyrillic_ka* = 0x000006CB - XK_Cyrillic_el* = 0x000006CC - XK_Cyrillic_em* = 0x000006CD - XK_Cyrillic_en* = 0x000006CE - XK_Cyrillic_o* = 0x000006CF - XK_Cyrillic_pe* = 0x000006D0 - XK_Cyrillic_ya* = 0x000006D1 - XK_Cyrillic_er* = 0x000006D2 - XK_Cyrillic_es* = 0x000006D3 - XK_Cyrillic_te* = 0x000006D4 - XK_Cyrillic_u* = 0x000006D5 - XK_Cyrillic_zhe* = 0x000006D6 - XK_Cyrillic_ve* = 0x000006D7 - XK_Cyrillic_softsign* = 0x000006D8 - XK_Cyrillic_yeru* = 0x000006D9 - XK_Cyrillic_ze* = 0x000006DA - XK_Cyrillic_sha* = 0x000006DB - XK_Cyrillic_e* = 0x000006DC - XK_Cyrillic_shcha* = 0x000006DD - XK_Cyrillic_che* = 0x000006DE - XK_Cyrillic_hardsign* = 0x000006DF - XKc_Cyrillic_YU* = 0x000006E0 - XKc_Cyrillic_A* = 0x000006E1 - XKc_Cyrillic_BE* = 0x000006E2 - XKc_Cyrillic_TSE* = 0x000006E3 - XKc_Cyrillic_DE* = 0x000006E4 - XKc_Cyrillic_IE* = 0x000006E5 - XKc_Cyrillic_EF* = 0x000006E6 - XKc_Cyrillic_GHE* = 0x000006E7 - XKc_Cyrillic_HA* = 0x000006E8 - XKc_Cyrillic_I* = 0x000006E9 - XKc_Cyrillic_SHORTI* = 0x000006EA - XKc_Cyrillic_KA* = 0x000006EB - XKc_Cyrillic_EL* = 0x000006EC - XKc_Cyrillic_EM* = 0x000006ED - XKc_Cyrillic_EN* = 0x000006EE - XKc_Cyrillic_O* = 0x000006EF - XKc_Cyrillic_PE* = 0x000006F0 - XKc_Cyrillic_YA* = 0x000006F1 - XKc_Cyrillic_ER* = 0x000006F2 - XKc_Cyrillic_ES* = 0x000006F3 - XKc_Cyrillic_TE* = 0x000006F4 - XKc_Cyrillic_U* = 0x000006F5 - XKc_Cyrillic_ZHE* = 0x000006F6 - XKc_Cyrillic_VE* = 0x000006F7 - XKc_Cyrillic_SOFTSIGN* = 0x000006F8 - XKc_Cyrillic_YERU* = 0x000006F9 - XKc_Cyrillic_ZE* = 0x000006FA - XKc_Cyrillic_SHA* = 0x000006FB - XKc_Cyrillic_E* = 0x000006FC - XKc_Cyrillic_SHCHA* = 0x000006FD - XKc_Cyrillic_CHE* = 0x000006FE - XKc_Cyrillic_HARDSIGN* = 0x000006FF -# XK_CYRILLIC -#* -# * Greek -# * Byte 3 = 7 -# * - -when defined(XK_GREEK) or true: - const - XKc_Greek_ALPHAaccent* = 0x000007A1 - XKc_Greek_EPSILONaccent* = 0x000007A2 - XKc_Greek_ETAaccent* = 0x000007A3 - XKc_Greek_IOTAaccent* = 0x000007A4 - XKc_Greek_IOTAdieresis* = 0x000007A5 - XKc_Greek_IOTAdiaeresis* = XKc_Greek_IOTAdieresis # old typo - XKc_Greek_OMICRONaccent* = 0x000007A7 - XKc_Greek_UPSILONaccent* = 0x000007A8 - XKc_Greek_UPSILONdieresis* = 0x000007A9 - XKc_Greek_OMEGAaccent* = 0x000007AB - XK_Greek_accentdieresis* = 0x000007AE - XK_Greek_horizbar* = 0x000007AF - XK_Greek_alphaaccent* = 0x000007B1 - XK_Greek_epsilonaccent* = 0x000007B2 - XK_Greek_etaaccent* = 0x000007B3 - XK_Greek_iotaaccent* = 0x000007B4 - XK_Greek_iotadieresis* = 0x000007B5 - XK_Greek_iotaaccentdieresis* = 0x000007B6 - XK_Greek_omicronaccent* = 0x000007B7 - XK_Greek_upsilonaccent* = 0x000007B8 - XK_Greek_upsilondieresis* = 0x000007B9 - XK_Greek_upsilonaccentdieresis* = 0x000007BA - XK_Greek_omegaaccent* = 0x000007BB - XKc_Greek_ALPHA* = 0x000007C1 - XKc_Greek_BETA* = 0x000007C2 - XKc_Greek_GAMMA* = 0x000007C3 - XKc_Greek_DELTA* = 0x000007C4 - XKc_Greek_EPSILON* = 0x000007C5 - XKc_Greek_ZETA* = 0x000007C6 - XKc_Greek_ETA* = 0x000007C7 - XKc_Greek_THETA* = 0x000007C8 - XKc_Greek_IOTA* = 0x000007C9 - XKc_Greek_KAPPA* = 0x000007CA - XKc_Greek_LAMDA* = 0x000007CB - XKc_Greek_LAMBDA* = 0x000007CB - XKc_Greek_MU* = 0x000007CC - XKc_Greek_NU* = 0x000007CD - XKc_Greek_XI* = 0x000007CE - XKc_Greek_OMICRON* = 0x000007CF - XKc_Greek_PI* = 0x000007D0 - XKc_Greek_RHO* = 0x000007D1 - XKc_Greek_SIGMA* = 0x000007D2 - XKc_Greek_TAU* = 0x000007D4 - XKc_Greek_UPSILON* = 0x000007D5 - XKc_Greek_PHI* = 0x000007D6 - XKc_Greek_CHI* = 0x000007D7 - XKc_Greek_PSI* = 0x000007D8 - XKc_Greek_OMEGA* = 0x000007D9 - XK_Greek_alpha* = 0x000007E1 - XK_Greek_beta* = 0x000007E2 - XK_Greek_gamma* = 0x000007E3 - XK_Greek_delta* = 0x000007E4 - XK_Greek_epsilon* = 0x000007E5 - XK_Greek_zeta* = 0x000007E6 - XK_Greek_eta* = 0x000007E7 - XK_Greek_theta* = 0x000007E8 - XK_Greek_iota* = 0x000007E9 - XK_Greek_kappa* = 0x000007EA - XK_Greek_lamda* = 0x000007EB - XK_Greek_lambda* = 0x000007EB - XK_Greek_mu* = 0x000007EC - XK_Greek_nu* = 0x000007ED - XK_Greek_xi* = 0x000007EE - XK_Greek_omicron* = 0x000007EF - XK_Greek_pi* = 0x000007F0 - XK_Greek_rho* = 0x000007F1 - XK_Greek_sigma* = 0x000007F2 - XK_Greek_finalsmallsigma* = 0x000007F3 - XK_Greek_tau* = 0x000007F4 - XK_Greek_upsilon* = 0x000007F5 - XK_Greek_phi* = 0x000007F6 - XK_Greek_chi* = 0x000007F7 - XK_Greek_psi* = 0x000007F8 - XK_Greek_omega* = 0x000007F9 - XK_Greek_switch* = 0x0000FF7E # Alias for mode_switch -# XK_GREEK -#* -# * Technical -# * Byte 3 = 8 -# * - -when defined(XK_TECHNICAL) or true: - const - XK_leftradical* = 0x000008A1 - XK_topleftradical* = 0x000008A2 - XK_horizconnector* = 0x000008A3 - XK_topintegral* = 0x000008A4 - XK_botintegral* = 0x000008A5 - XK_vertconnector* = 0x000008A6 - XK_topleftsqbracket* = 0x000008A7 - XK_botleftsqbracket* = 0x000008A8 - XK_toprightsqbracket* = 0x000008A9 - XK_botrightsqbracket* = 0x000008AA - XK_topleftparens* = 0x000008AB - XK_botleftparens* = 0x000008AC - XK_toprightparens* = 0x000008AD - XK_botrightparens* = 0x000008AE - XK_leftmiddlecurlybrace* = 0x000008AF - XK_rightmiddlecurlybrace* = 0x000008B0 - XK_topleftsummation* = 0x000008B1 - XK_botleftsummation* = 0x000008B2 - XK_topvertsummationconnector* = 0x000008B3 - XK_botvertsummationconnector* = 0x000008B4 - XK_toprightsummation* = 0x000008B5 - XK_botrightsummation* = 0x000008B6 - XK_rightmiddlesummation* = 0x000008B7 - XK_lessthanequal* = 0x000008BC - XK_notequal* = 0x000008BD - XK_greaterthanequal* = 0x000008BE - XK_integral* = 0x000008BF - XK_therefore* = 0x000008C0 - XK_variation* = 0x000008C1 - XK_infinity* = 0x000008C2 - XK_nabla* = 0x000008C5 - XK_approximate* = 0x000008C8 - XK_similarequal* = 0x000008C9 - XK_ifonlyif* = 0x000008CD - XK_implies* = 0x000008CE - XK_identical* = 0x000008CF - XK_radical* = 0x000008D6 - XK_includedin* = 0x000008DA - XK_includes* = 0x000008DB - XK_intersection* = 0x000008DC - XK_union* = 0x000008DD - XK_logicaland* = 0x000008DE - XK_logicalor* = 0x000008DF - XK_partialderivative* = 0x000008EF - XK_function* = 0x000008F6 - XK_leftarrow* = 0x000008FB - XK_uparrow* = 0x000008FC - XK_rightarrow* = 0x000008FD - XK_downarrow* = 0x000008FE -# XK_TECHNICAL -#* -# * Special -# * Byte 3 = 9 -# * - -when defined(XK_SPECIAL): - const - XK_blank* = 0x000009DF - XK_soliddiamond* = 0x000009E0 - XK_checkerboard* = 0x000009E1 - XK_ht* = 0x000009E2 - XK_ff* = 0x000009E3 - XK_cr* = 0x000009E4 - XK_lf* = 0x000009E5 - XK_nl* = 0x000009E8 - XK_vt* = 0x000009E9 - XK_lowrightcorner* = 0x000009EA - XK_uprightcorner* = 0x000009EB - XK_upleftcorner* = 0x000009EC - XK_lowleftcorner* = 0x000009ED - XK_crossinglines* = 0x000009EE - XK_horizlinescan1* = 0x000009EF - XK_horizlinescan3* = 0x000009F0 - XK_horizlinescan5* = 0x000009F1 - XK_horizlinescan7* = 0x000009F2 - XK_horizlinescan9* = 0x000009F3 - XK_leftt* = 0x000009F4 - XK_rightt* = 0x000009F5 - XK_bott* = 0x000009F6 - XK_topt* = 0x000009F7 - XK_vertbar* = 0x000009F8 -# XK_SPECIAL -#* -# * Publishing -# * Byte 3 = a -# * - -when defined(XK_PUBLISHING) or true: - const - XK_emspace* = 0x00000AA1 - XK_enspace* = 0x00000AA2 - XK_em3space* = 0x00000AA3 - XK_em4space* = 0x00000AA4 - XK_digitspace* = 0x00000AA5 - XK_punctspace* = 0x00000AA6 - XK_thinspace* = 0x00000AA7 - XK_hairspace* = 0x00000AA8 - XK_emdash* = 0x00000AA9 - XK_endash* = 0x00000AAA - XK_signifblank* = 0x00000AAC - XK_ellipsis* = 0x00000AAE - XK_doubbaselinedot* = 0x00000AAF - XK_onethird* = 0x00000AB0 - XK_twothirds* = 0x00000AB1 - XK_onefifth* = 0x00000AB2 - XK_twofifths* = 0x00000AB3 - XK_threefifths* = 0x00000AB4 - XK_fourfifths* = 0x00000AB5 - XK_onesixth* = 0x00000AB6 - XK_fivesixths* = 0x00000AB7 - XK_careof* = 0x00000AB8 - XK_figdash* = 0x00000ABB - XK_leftanglebracket* = 0x00000ABC - XK_decimalpoint* = 0x00000ABD - XK_rightanglebracket* = 0x00000ABE - XK_marker* = 0x00000ABF - XK_oneeighth* = 0x00000AC3 - XK_threeeighths* = 0x00000AC4 - XK_fiveeighths* = 0x00000AC5 - XK_seveneighths* = 0x00000AC6 - XK_trademark* = 0x00000AC9 - XK_signaturemark* = 0x00000ACA - XK_trademarkincircle* = 0x00000ACB - XK_leftopentriangle* = 0x00000ACC - XK_rightopentriangle* = 0x00000ACD - XK_emopencircle* = 0x00000ACE - XK_emopenrectangle* = 0x00000ACF - XK_leftsinglequotemark* = 0x00000AD0 - XK_rightsinglequotemark* = 0x00000AD1 - XK_leftdoublequotemark* = 0x00000AD2 - XK_rightdoublequotemark* = 0x00000AD3 - XK_prescription* = 0x00000AD4 - XK_minutes* = 0x00000AD6 - XK_seconds* = 0x00000AD7 - XK_latincross* = 0x00000AD9 - XK_hexagram* = 0x00000ADA - XK_filledrectbullet* = 0x00000ADB - XK_filledlefttribullet* = 0x00000ADC - XK_filledrighttribullet* = 0x00000ADD - XK_emfilledcircle* = 0x00000ADE - XK_emfilledrect* = 0x00000ADF - XK_enopencircbullet* = 0x00000AE0 - XK_enopensquarebullet* = 0x00000AE1 - XK_openrectbullet* = 0x00000AE2 - XK_opentribulletup* = 0x00000AE3 - XK_opentribulletdown* = 0x00000AE4 - XK_openstar* = 0x00000AE5 - XK_enfilledcircbullet* = 0x00000AE6 - XK_enfilledsqbullet* = 0x00000AE7 - XK_filledtribulletup* = 0x00000AE8 - XK_filledtribulletdown* = 0x00000AE9 - XK_leftpointer* = 0x00000AEA - XK_rightpointer* = 0x00000AEB - XK_club* = 0x00000AEC - XK_diamond* = 0x00000AED - XK_heart* = 0x00000AEE - XK_maltesecross* = 0x00000AF0 - XK_dagger* = 0x00000AF1 - XK_doubledagger* = 0x00000AF2 - XK_checkmark* = 0x00000AF3 - XK_ballotcross* = 0x00000AF4 - XK_musicalsharp* = 0x00000AF5 - XK_musicalflat* = 0x00000AF6 - XK_malesymbol* = 0x00000AF7 - XK_femalesymbol* = 0x00000AF8 - XK_telephone* = 0x00000AF9 - XK_telephonerecorder* = 0x00000AFA - XK_phonographcopyright* = 0x00000AFB - XK_caret* = 0x00000AFC - XK_singlelowquotemark* = 0x00000AFD - XK_doublelowquotemark* = 0x00000AFE - XK_cursor* = 0x00000AFF -# XK_PUBLISHING -#* -# * APL -# * Byte 3 = b -# * - -when defined(XK_APL) or true: - const - XK_leftcaret* = 0x00000BA3 - XK_rightcaret* = 0x00000BA6 - XK_downcaret* = 0x00000BA8 - XK_upcaret* = 0x00000BA9 - XK_overbar* = 0x00000BC0 - XK_downtack* = 0x00000BC2 - XK_upshoe* = 0x00000BC3 - XK_downstile* = 0x00000BC4 - XK_underbar* = 0x00000BC6 - XK_jot* = 0x00000BCA - XK_quad* = 0x00000BCC - XK_uptack* = 0x00000BCE - XK_circle* = 0x00000BCF - XK_upstile* = 0x00000BD3 - XK_downshoe* = 0x00000BD6 - XK_rightshoe* = 0x00000BD8 - XK_leftshoe* = 0x00000BDA - XK_lefttack* = 0x00000BDC - XK_righttack* = 0x00000BFC -# XK_APL -#* -# * Hebrew -# * Byte 3 = c -# * - -when defined(XK_HEBREW) or true: - const - XK_hebrew_doublelowline* = 0x00000CDF - XK_hebrew_aleph* = 0x00000CE0 - XK_hebrew_bet* = 0x00000CE1 - XK_hebrew_beth* = 0x00000CE1 # deprecated - XK_hebrew_gimel* = 0x00000CE2 - XK_hebrew_gimmel* = 0x00000CE2 # deprecated - XK_hebrew_dalet* = 0x00000CE3 - XK_hebrew_daleth* = 0x00000CE3 # deprecated - XK_hebrew_he* = 0x00000CE4 - XK_hebrew_waw* = 0x00000CE5 - XK_hebrew_zain* = 0x00000CE6 - XK_hebrew_zayin* = 0x00000CE6 # deprecated - XK_hebrew_chet* = 0x00000CE7 - XK_hebrew_het* = 0x00000CE7 # deprecated - XK_hebrew_tet* = 0x00000CE8 - XK_hebrew_teth* = 0x00000CE8 # deprecated - XK_hebrew_yod* = 0x00000CE9 - XK_hebrew_finalkaph* = 0x00000CEA - XK_hebrew_kaph* = 0x00000CEB - XK_hebrew_lamed* = 0x00000CEC - XK_hebrew_finalmem* = 0x00000CED - XK_hebrew_mem* = 0x00000CEE - XK_hebrew_finalnun* = 0x00000CEF - XK_hebrew_nun* = 0x00000CF0 - XK_hebrew_samech* = 0x00000CF1 - XK_hebrew_samekh* = 0x00000CF1 # deprecated - XK_hebrew_ayin* = 0x00000CF2 - XK_hebrew_finalpe* = 0x00000CF3 - XK_hebrew_pe* = 0x00000CF4 - XK_hebrew_finalzade* = 0x00000CF5 - XK_hebrew_finalzadi* = 0x00000CF5 # deprecated - XK_hebrew_zade* = 0x00000CF6 - XK_hebrew_zadi* = 0x00000CF6 # deprecated - XK_hebrew_qoph* = 0x00000CF7 - XK_hebrew_kuf* = 0x00000CF7 # deprecated - XK_hebrew_resh* = 0x00000CF8 - XK_hebrew_shin* = 0x00000CF9 - XK_hebrew_taw* = 0x00000CFA - XK_hebrew_taf* = 0x00000CFA # deprecated - XK_Hebrew_switch* = 0x0000FF7E # Alias for mode_switch -# XK_HEBREW -#* -# * Thai -# * Byte 3 = d -# * - -when defined(XK_THAI) or true: - const - XK_Thai_kokai* = 0x00000DA1 - XK_Thai_khokhai* = 0x00000DA2 - XK_Thai_khokhuat* = 0x00000DA3 - XK_Thai_khokhwai* = 0x00000DA4 - XK_Thai_khokhon* = 0x00000DA5 - XK_Thai_khorakhang* = 0x00000DA6 - XK_Thai_ngongu* = 0x00000DA7 - XK_Thai_chochan* = 0x00000DA8 - XK_Thai_choching* = 0x00000DA9 - XK_Thai_chochang* = 0x00000DAA - XK_Thai_soso* = 0x00000DAB - XK_Thai_chochoe* = 0x00000DAC - XK_Thai_yoying* = 0x00000DAD - XK_Thai_dochada* = 0x00000DAE - XK_Thai_topatak* = 0x00000DAF - XK_Thai_thothan* = 0x00000DB0 - XK_Thai_thonangmontho* = 0x00000DB1 - XK_Thai_thophuthao* = 0x00000DB2 - XK_Thai_nonen* = 0x00000DB3 - XK_Thai_dodek* = 0x00000DB4 - XK_Thai_totao* = 0x00000DB5 - XK_Thai_thothung* = 0x00000DB6 - XK_Thai_thothahan* = 0x00000DB7 - XK_Thai_thothong* = 0x00000DB8 - XK_Thai_nonu* = 0x00000DB9 - XK_Thai_bobaimai* = 0x00000DBA - XK_Thai_popla* = 0x00000DBB - XK_Thai_phophung* = 0x00000DBC - XK_Thai_fofa* = 0x00000DBD - XK_Thai_phophan* = 0x00000DBE - XK_Thai_fofan* = 0x00000DBF - XK_Thai_phosamphao* = 0x00000DC0 - XK_Thai_moma* = 0x00000DC1 - XK_Thai_yoyak* = 0x00000DC2 - XK_Thai_rorua* = 0x00000DC3 - XK_Thai_ru* = 0x00000DC4 - XK_Thai_loling* = 0x00000DC5 - XK_Thai_lu* = 0x00000DC6 - XK_Thai_wowaen* = 0x00000DC7 - XK_Thai_sosala* = 0x00000DC8 - XK_Thai_sorusi* = 0x00000DC9 - XK_Thai_sosua* = 0x00000DCA - XK_Thai_hohip* = 0x00000DCB - XK_Thai_lochula* = 0x00000DCC - XK_Thai_oang* = 0x00000DCD - XK_Thai_honokhuk* = 0x00000DCE - XK_Thai_paiyannoi* = 0x00000DCF - XK_Thai_saraa* = 0x00000DD0 - XK_Thai_maihanakat* = 0x00000DD1 - XK_Thai_saraaa* = 0x00000DD2 - XK_Thai_saraam* = 0x00000DD3 - XK_Thai_sarai* = 0x00000DD4 - XK_Thai_saraii* = 0x00000DD5 - XK_Thai_saraue* = 0x00000DD6 - XK_Thai_sarauee* = 0x00000DD7 - XK_Thai_sarau* = 0x00000DD8 - XK_Thai_sarauu* = 0x00000DD9 - XK_Thai_phinthu* = 0x00000DDA - XK_Thai_maihanakat_maitho* = 0x00000DDE - XK_Thai_baht* = 0x00000DDF - XK_Thai_sarae* = 0x00000DE0 - XK_Thai_saraae* = 0x00000DE1 - XK_Thai_sarao* = 0x00000DE2 - XK_Thai_saraaimaimuan* = 0x00000DE3 - XK_Thai_saraaimaimalai* = 0x00000DE4 - XK_Thai_lakkhangyao* = 0x00000DE5 - XK_Thai_maiyamok* = 0x00000DE6 - XK_Thai_maitaikhu* = 0x00000DE7 - XK_Thai_maiek* = 0x00000DE8 - XK_Thai_maitho* = 0x00000DE9 - XK_Thai_maitri* = 0x00000DEA - XK_Thai_maichattawa* = 0x00000DEB - XK_Thai_thanthakhat* = 0x00000DEC - XK_Thai_nikhahit* = 0x00000DED - XK_Thai_leksun* = 0x00000DF0 - XK_Thai_leknung* = 0x00000DF1 - XK_Thai_leksong* = 0x00000DF2 - XK_Thai_leksam* = 0x00000DF3 - XK_Thai_leksi* = 0x00000DF4 - XK_Thai_lekha* = 0x00000DF5 - XK_Thai_lekhok* = 0x00000DF6 - XK_Thai_lekchet* = 0x00000DF7 - XK_Thai_lekpaet* = 0x00000DF8 - XK_Thai_lekkao* = 0x00000DF9 -# XK_THAI -#* -# * Korean -# * Byte 3 = e -# * - -when defined(XK_KOREAN) or true: - const - XK_Hangul* = 0x0000FF31 # Hangul start/stop(toggle) - XK_Hangul_Start* = 0x0000FF32 # Hangul start - XK_Hangul_End* = 0x0000FF33 # Hangul end, English start - XK_Hangul_Hanja* = 0x0000FF34 # Start Hangul->Hanja Conversion - XK_Hangul_Jamo* = 0x0000FF35 # Hangul Jamo mode - XK_Hangul_Romaja* = 0x0000FF36 # Hangul Romaja mode - XK_Hangul_Codeinput* = 0x0000FF37 # Hangul code input mode - XK_Hangul_Jeonja* = 0x0000FF38 # Jeonja mode - XK_Hangul_Banja* = 0x0000FF39 # Banja mode - XK_Hangul_PreHanja* = 0x0000FF3A # Pre Hanja conversion - XK_Hangul_PostHanja* = 0x0000FF3B # Post Hanja conversion - XK_Hangul_SingleCandidate* = 0x0000FF3C # Single candidate - XK_Hangul_MultipleCandidate* = 0x0000FF3D # Multiple candidate - XK_Hangul_PreviousCandidate* = 0x0000FF3E # Previous candidate - XK_Hangul_Special* = 0x0000FF3F # Special symbols - XK_Hangul_switch* = 0x0000FF7E # Alias for mode_switch - # Hangul Consonant Characters - XK_Hangul_Kiyeog* = 0x00000EA1 - XK_Hangul_SsangKiyeog* = 0x00000EA2 - XK_Hangul_KiyeogSios* = 0x00000EA3 - XK_Hangul_Nieun* = 0x00000EA4 - XK_Hangul_NieunJieuj* = 0x00000EA5 - XK_Hangul_NieunHieuh* = 0x00000EA6 - XK_Hangul_Dikeud* = 0x00000EA7 - XK_Hangul_SsangDikeud* = 0x00000EA8 - XK_Hangul_Rieul* = 0x00000EA9 - XK_Hangul_RieulKiyeog* = 0x00000EAA - XK_Hangul_RieulMieum* = 0x00000EAB - XK_Hangul_RieulPieub* = 0x00000EAC - XK_Hangul_RieulSios* = 0x00000EAD - XK_Hangul_RieulTieut* = 0x00000EAE - XK_Hangul_RieulPhieuf* = 0x00000EAF - XK_Hangul_RieulHieuh* = 0x00000EB0 - XK_Hangul_Mieum* = 0x00000EB1 - XK_Hangul_Pieub* = 0x00000EB2 - XK_Hangul_SsangPieub* = 0x00000EB3 - XK_Hangul_PieubSios* = 0x00000EB4 - XK_Hangul_Sios* = 0x00000EB5 - XK_Hangul_SsangSios* = 0x00000EB6 - XK_Hangul_Ieung* = 0x00000EB7 - XK_Hangul_Jieuj* = 0x00000EB8 - XK_Hangul_SsangJieuj* = 0x00000EB9 - XK_Hangul_Cieuc* = 0x00000EBA - XK_Hangul_Khieuq* = 0x00000EBB - XK_Hangul_Tieut* = 0x00000EBC - XK_Hangul_Phieuf* = 0x00000EBD - XK_Hangul_Hieuh* = 0x00000EBE # Hangul Vowel Characters - XK_Hangul_A* = 0x00000EBF - XK_Hangul_AE* = 0x00000EC0 - XK_Hangul_YA* = 0x00000EC1 - XK_Hangul_YAE* = 0x00000EC2 - XK_Hangul_EO* = 0x00000EC3 - XK_Hangul_E* = 0x00000EC4 - XK_Hangul_YEO* = 0x00000EC5 - XK_Hangul_YE* = 0x00000EC6 - XK_Hangul_O* = 0x00000EC7 - XK_Hangul_WA* = 0x00000EC8 - XK_Hangul_WAE* = 0x00000EC9 - XK_Hangul_OE* = 0x00000ECA - XK_Hangul_YO* = 0x00000ECB - XK_Hangul_U* = 0x00000ECC - XK_Hangul_WEO* = 0x00000ECD - XK_Hangul_WE* = 0x00000ECE - XK_Hangul_WI* = 0x00000ECF - XK_Hangul_YU* = 0x00000ED0 - XK_Hangul_EU* = 0x00000ED1 - XK_Hangul_YI* = 0x00000ED2 - XK_Hangul_I* = 0x00000ED3 # Hangul syllable-final (JongSeong) Characters - XK_Hangul_J_Kiyeog* = 0x00000ED4 - XK_Hangul_J_SsangKiyeog* = 0x00000ED5 - XK_Hangul_J_KiyeogSios* = 0x00000ED6 - XK_Hangul_J_Nieun* = 0x00000ED7 - XK_Hangul_J_NieunJieuj* = 0x00000ED8 - XK_Hangul_J_NieunHieuh* = 0x00000ED9 - XK_Hangul_J_Dikeud* = 0x00000EDA - XK_Hangul_J_Rieul* = 0x00000EDB - XK_Hangul_J_RieulKiyeog* = 0x00000EDC - XK_Hangul_J_RieulMieum* = 0x00000EDD - XK_Hangul_J_RieulPieub* = 0x00000EDE - XK_Hangul_J_RieulSios* = 0x00000EDF - XK_Hangul_J_RieulTieut* = 0x00000EE0 - XK_Hangul_J_RieulPhieuf* = 0x00000EE1 - XK_Hangul_J_RieulHieuh* = 0x00000EE2 - XK_Hangul_J_Mieum* = 0x00000EE3 - XK_Hangul_J_Pieub* = 0x00000EE4 - XK_Hangul_J_PieubSios* = 0x00000EE5 - XK_Hangul_J_Sios* = 0x00000EE6 - XK_Hangul_J_SsangSios* = 0x00000EE7 - XK_Hangul_J_Ieung* = 0x00000EE8 - XK_Hangul_J_Jieuj* = 0x00000EE9 - XK_Hangul_J_Cieuc* = 0x00000EEA - XK_Hangul_J_Khieuq* = 0x00000EEB - XK_Hangul_J_Tieut* = 0x00000EEC - XK_Hangul_J_Phieuf* = 0x00000EED - XK_Hangul_J_Hieuh* = 0x00000EEE # Ancient Hangul Consonant Characters - XK_Hangul_RieulYeorinHieuh* = 0x00000EEF - XK_Hangul_SunkyeongeumMieum* = 0x00000EF0 - XK_Hangul_SunkyeongeumPieub* = 0x00000EF1 - XK_Hangul_PanSios* = 0x00000EF2 - XK_Hangul_KkogjiDalrinIeung* = 0x00000EF3 - XK_Hangul_SunkyeongeumPhieuf* = 0x00000EF4 - XK_Hangul_YeorinHieuh* = 0x00000EF5 # Ancient Hangul Vowel Characters - XK_Hangul_AraeA* = 0x00000EF6 - XK_Hangul_AraeAE* = 0x00000EF7 # Ancient Hangul syllable-final (JongSeong) Characters - XK_Hangul_J_PanSios* = 0x00000EF8 - XK_Hangul_J_KkogjiDalrinIeung* = 0x00000EF9 - XK_Hangul_J_YeorinHieuh* = 0x00000EFA # Korean currency symbol - XK_Korean_Won* = 0x00000EFF -# XK_KOREAN -#* -# * Armenian -# * Byte 3 = = $14 -# * - -when defined(XK_ARMENIAN) or true: - const - XK_Armenian_eternity* = 0x000014A1 - XK_Armenian_ligature_ew* = 0x000014A2 - XK_Armenian_full_stop* = 0x000014A3 - XK_Armenian_verjaket* = 0x000014A3 - XK_Armenian_parenright* = 0x000014A4 - XK_Armenian_parenleft* = 0x000014A5 - XK_Armenian_guillemotright* = 0x000014A6 - XK_Armenian_guillemotleft* = 0x000014A7 - XK_Armenian_em_dash* = 0x000014A8 - XK_Armenian_dot* = 0x000014A9 - XK_Armenian_mijaket* = 0x000014A9 - XK_Armenian_separation_mark* = 0x000014AA - XK_Armenian_but* = 0x000014AA - XK_Armenian_comma* = 0x000014AB - XK_Armenian_en_dash* = 0x000014AC - XK_Armenian_hyphen* = 0x000014AD - XK_Armenian_yentamna* = 0x000014AD - XK_Armenian_ellipsis* = 0x000014AE - XK_Armenian_exclam* = 0x000014AF - XK_Armenian_amanak* = 0x000014AF - XK_Armenian_accent* = 0x000014B0 - XK_Armenian_shesht* = 0x000014B0 - XK_Armenian_question* = 0x000014B1 - XK_Armenian_paruyk* = 0x000014B1 - XKc_Armenian_AYB* = 0x000014B2 - XK_Armenian_ayb* = 0x000014B3 - XKc_Armenian_BEN* = 0x000014B4 - XK_Armenian_ben* = 0x000014B5 - XKc_Armenian_GIM* = 0x000014B6 - XK_Armenian_gim* = 0x000014B7 - XKc_Armenian_DA* = 0x000014B8 - XK_Armenian_da* = 0x000014B9 - XKc_Armenian_YECH* = 0x000014BA - XK_Armenian_yech* = 0x000014BB - XKc_Armenian_ZA* = 0x000014BC - XK_Armenian_za* = 0x000014BD - XKc_Armenian_E* = 0x000014BE - XK_Armenian_e* = 0x000014BF - XKc_Armenian_AT* = 0x000014C0 - XK_Armenian_at* = 0x000014C1 - XKc_Armenian_TO* = 0x000014C2 - XK_Armenian_to* = 0x000014C3 - XKc_Armenian_ZHE* = 0x000014C4 - XK_Armenian_zhe* = 0x000014C5 - XKc_Armenian_INI* = 0x000014C6 - XK_Armenian_ini* = 0x000014C7 - XKc_Armenian_LYUN* = 0x000014C8 - XK_Armenian_lyun* = 0x000014C9 - XKc_Armenian_KHE* = 0x000014CA - XK_Armenian_khe* = 0x000014CB - XKc_Armenian_TSA* = 0x000014CC - XK_Armenian_tsa* = 0x000014CD - XKc_Armenian_KEN* = 0x000014CE - XK_Armenian_ken* = 0x000014CF - XKc_Armenian_HO* = 0x000014D0 - XK_Armenian_ho* = 0x000014D1 - XKc_Armenian_DZA* = 0x000014D2 - XK_Armenian_dza* = 0x000014D3 - XKc_Armenian_GHAT* = 0x000014D4 - XK_Armenian_ghat* = 0x000014D5 - XKc_Armenian_TCHE* = 0x000014D6 - XK_Armenian_tche* = 0x000014D7 - XKc_Armenian_MEN* = 0x000014D8 - XK_Armenian_men* = 0x000014D9 - XKc_Armenian_HI* = 0x000014DA - XK_Armenian_hi* = 0x000014DB - XKc_Armenian_NU* = 0x000014DC - XK_Armenian_nu* = 0x000014DD - XKc_Armenian_SHA* = 0x000014DE - XK_Armenian_sha* = 0x000014DF - XKc_Armenian_VO* = 0x000014E0 - XK_Armenian_vo* = 0x000014E1 - XKc_Armenian_CHA* = 0x000014E2 - XK_Armenian_cha* = 0x000014E3 - XKc_Armenian_PE* = 0x000014E4 - XK_Armenian_pe* = 0x000014E5 - XKc_Armenian_JE* = 0x000014E6 - XK_Armenian_je* = 0x000014E7 - XKc_Armenian_RA* = 0x000014E8 - XK_Armenian_ra* = 0x000014E9 - XKc_Armenian_SE* = 0x000014EA - XK_Armenian_se* = 0x000014EB - XKc_Armenian_VEV* = 0x000014EC - XK_Armenian_vev* = 0x000014ED - XKc_Armenian_TYUN* = 0x000014EE - XK_Armenian_tyun* = 0x000014EF - XKc_Armenian_RE* = 0x000014F0 - XK_Armenian_re* = 0x000014F1 - XKc_Armenian_TSO* = 0x000014F2 - XK_Armenian_tso* = 0x000014F3 - XKc_Armenian_VYUN* = 0x000014F4 - XK_Armenian_vyun* = 0x000014F5 - XKc_Armenian_PYUR* = 0x000014F6 - XK_Armenian_pyur* = 0x000014F7 - XKc_Armenian_KE* = 0x000014F8 - XK_Armenian_ke* = 0x000014F9 - XKc_Armenian_O* = 0x000014FA - XK_Armenian_o* = 0x000014FB - XKc_Armenian_FE* = 0x000014FC - XK_Armenian_fe* = 0x000014FD - XK_Armenian_apostrophe* = 0x000014FE - XK_Armenian_section_sign* = 0x000014FF -# XK_ARMENIAN -#* -# * Georgian -# * Byte 3 = = $15 -# * - -when defined(XK_GEORGIAN) or true: - const - XK_Georgian_an* = 0x000015D0 - XK_Georgian_ban* = 0x000015D1 - XK_Georgian_gan* = 0x000015D2 - XK_Georgian_don* = 0x000015D3 - XK_Georgian_en* = 0x000015D4 - XK_Georgian_vin* = 0x000015D5 - XK_Georgian_zen* = 0x000015D6 - XK_Georgian_tan* = 0x000015D7 - XK_Georgian_in* = 0x000015D8 - XK_Georgian_kan* = 0x000015D9 - XK_Georgian_las* = 0x000015DA - XK_Georgian_man* = 0x000015DB - XK_Georgian_nar* = 0x000015DC - XK_Georgian_on* = 0x000015DD - XK_Georgian_par* = 0x000015DE - XK_Georgian_zhar* = 0x000015DF - XK_Georgian_rae* = 0x000015E0 - XK_Georgian_san* = 0x000015E1 - XK_Georgian_tar* = 0x000015E2 - XK_Georgian_un* = 0x000015E3 - XK_Georgian_phar* = 0x000015E4 - XK_Georgian_khar* = 0x000015E5 - XK_Georgian_ghan* = 0x000015E6 - XK_Georgian_qar* = 0x000015E7 - XK_Georgian_shin* = 0x000015E8 - XK_Georgian_chin* = 0x000015E9 - XK_Georgian_can* = 0x000015EA - XK_Georgian_jil* = 0x000015EB - XK_Georgian_cil* = 0x000015EC - XK_Georgian_char* = 0x000015ED - XK_Georgian_xan* = 0x000015EE - XK_Georgian_jhan* = 0x000015EF - XK_Georgian_hae* = 0x000015F0 - XK_Georgian_he* = 0x000015F1 - XK_Georgian_hie* = 0x000015F2 - XK_Georgian_we* = 0x000015F3 - XK_Georgian_har* = 0x000015F4 - XK_Georgian_hoe* = 0x000015F5 - XK_Georgian_fi* = 0x000015F6 -# XK_GEORGIAN -#* -# * Azeri (and other Turkic or Caucasian languages of ex-USSR) -# * Byte 3 = = $16 -# * - -when defined(XK_CAUCASUS) or true: - # latin - const - XKc_Ccedillaabovedot* = 0x000016A2 - XKc_Xabovedot* = 0x000016A3 - XKc_Qabovedot* = 0x000016A5 - XKc_Ibreve* = 0x000016A6 - XKc_IE* = 0x000016A7 - XKc_UO* = 0x000016A8 - XKc_Zstroke* = 0x000016A9 - XKc_Gcaron* = 0x000016AA - XKc_Obarred* = 0x000016AF - XK_ccedillaabovedot* = 0x000016B2 - XK_xabovedot* = 0x000016B3 - XKc_Ocaron* = 0x000016B4 - XK_qabovedot* = 0x000016B5 - XK_ibreve* = 0x000016B6 - XK_ie* = 0x000016B7 - XK_uo* = 0x000016B8 - XK_zstroke* = 0x000016B9 - XK_gcaron* = 0x000016BA - XK_ocaron* = 0x000016BD - XK_obarred* = 0x000016BF - XKc_SCHWA* = 0x000016C6 - XK_schwa* = 0x000016F6 # those are not really Caucasus, but I put them here for now - # For Inupiak - XKc_Lbelowdot* = 0x000016D1 - XKc_Lstrokebelowdot* = 0x000016D2 - XK_lbelowdot* = 0x000016E1 - XK_lstrokebelowdot* = 0x000016E2 # For Guarani - XKc_Gtilde* = 0x000016D3 - XK_gtilde* = 0x000016E3 -# XK_CAUCASUS -#* -# * Vietnamese -# * Byte 3 = = $1e -# * - -when defined(XK_VIETNAMESE) or true: - const - XKc_Abelowdot* = 0x00001EA0 - XK_abelowdot* = 0x00001EA1 - XKc_Ahook* = 0x00001EA2 - XK_ahook* = 0x00001EA3 - XKc_Acircumflexacute* = 0x00001EA4 - XK_acircumflexacute* = 0x00001EA5 - XKc_Acircumflexgrave* = 0x00001EA6 - XK_acircumflexgrave* = 0x00001EA7 - XKc_Acircumflexhook* = 0x00001EA8 - XK_acircumflexhook* = 0x00001EA9 - XKc_Acircumflextilde* = 0x00001EAA - XK_acircumflextilde* = 0x00001EAB - XKc_Acircumflexbelowdot* = 0x00001EAC - XK_acircumflexbelowdot* = 0x00001EAD - XKc_Abreveacute* = 0x00001EAE - XK_abreveacute* = 0x00001EAF - XKc_Abrevegrave* = 0x00001EB0 - XK_abrevegrave* = 0x00001EB1 - XKc_Abrevehook* = 0x00001EB2 - XK_abrevehook* = 0x00001EB3 - XKc_Abrevetilde* = 0x00001EB4 - XK_abrevetilde* = 0x00001EB5 - XKc_Abrevebelowdot* = 0x00001EB6 - XK_abrevebelowdot* = 0x00001EB7 - XKc_Ebelowdot* = 0x00001EB8 - XK_ebelowdot* = 0x00001EB9 - XKc_Ehook* = 0x00001EBA - XK_ehook* = 0x00001EBB - XKc_Etilde* = 0x00001EBC - XK_etilde* = 0x00001EBD - XKc_Ecircumflexacute* = 0x00001EBE - XK_ecircumflexacute* = 0x00001EBF - XKc_Ecircumflexgrave* = 0x00001EC0 - XK_ecircumflexgrave* = 0x00001EC1 - XKc_Ecircumflexhook* = 0x00001EC2 - XK_ecircumflexhook* = 0x00001EC3 - XKc_Ecircumflextilde* = 0x00001EC4 - XK_ecircumflextilde* = 0x00001EC5 - XKc_Ecircumflexbelowdot* = 0x00001EC6 - XK_ecircumflexbelowdot* = 0x00001EC7 - XKc_Ihook* = 0x00001EC8 - XK_ihook* = 0x00001EC9 - XKc_Ibelowdot* = 0x00001ECA - XK_ibelowdot* = 0x00001ECB - XKc_Obelowdot* = 0x00001ECC - XK_obelowdot* = 0x00001ECD - XKc_Ohook* = 0x00001ECE - XK_ohook* = 0x00001ECF - XKc_Ocircumflexacute* = 0x00001ED0 - XK_ocircumflexacute* = 0x00001ED1 - XKc_Ocircumflexgrave* = 0x00001ED2 - XK_ocircumflexgrave* = 0x00001ED3 - XKc_Ocircumflexhook* = 0x00001ED4 - XK_ocircumflexhook* = 0x00001ED5 - XKc_Ocircumflextilde* = 0x00001ED6 - XK_ocircumflextilde* = 0x00001ED7 - XKc_Ocircumflexbelowdot* = 0x00001ED8 - XK_ocircumflexbelowdot* = 0x00001ED9 - XKc_Ohornacute* = 0x00001EDA - XK_ohornacute* = 0x00001EDB - XKc_Ohorngrave* = 0x00001EDC - XK_ohorngrave* = 0x00001EDD - XKc_Ohornhook* = 0x00001EDE - XK_ohornhook* = 0x00001EDF - XKc_Ohorntilde* = 0x00001EE0 - XK_ohorntilde* = 0x00001EE1 - XKc_Ohornbelowdot* = 0x00001EE2 - XK_ohornbelowdot* = 0x00001EE3 - XKc_Ubelowdot* = 0x00001EE4 - XK_ubelowdot* = 0x00001EE5 - XKc_Uhook* = 0x00001EE6 - XK_uhook* = 0x00001EE7 - XKc_Uhornacute* = 0x00001EE8 - XK_uhornacute* = 0x00001EE9 - XKc_Uhorngrave* = 0x00001EEA - XK_uhorngrave* = 0x00001EEB - XKc_Uhornhook* = 0x00001EEC - XK_uhornhook* = 0x00001EED - XKc_Uhorntilde* = 0x00001EEE - XK_uhorntilde* = 0x00001EEF - XKc_Uhornbelowdot* = 0x00001EF0 - XK_uhornbelowdot* = 0x00001EF1 - XKc_Ybelowdot* = 0x00001EF4 - XK_ybelowdot* = 0x00001EF5 - XKc_Yhook* = 0x00001EF6 - XK_yhook* = 0x00001EF7 - XKc_Ytilde* = 0x00001EF8 - XK_ytilde* = 0x00001EF9 - XKc_Ohorn* = 0x00001EFA # U+01a0 - XK_ohorn* = 0x00001EFB # U+01a1 - XKc_Uhorn* = 0x00001EFC # U+01af - XK_uhorn* = 0x00001EFD # U+01b0 - XK_combining_tilde* = 0x00001E9F # U+0303 - XK_combining_grave* = 0x00001EF2 # U+0300 - XK_combining_acute* = 0x00001EF3 # U+0301 - XK_combining_hook* = 0x00001EFE # U+0309 - XK_combining_belowdot* = 0x00001EFF # U+0323 -# XK_VIETNAMESE - -when defined(XK_CURRENCY) or true: - const - XK_EcuSign* = 0x000020A0 - XK_ColonSign* = 0x000020A1 - XK_CruzeiroSign* = 0x000020A2 - XK_FFrancSign* = 0x000020A3 - XK_LiraSign* = 0x000020A4 - XK_MillSign* = 0x000020A5 - XK_NairaSign* = 0x000020A6 - XK_PesetaSign* = 0x000020A7 - XK_RupeeSign* = 0x000020A8 - XK_WonSign* = 0x000020A9 - XK_NewSheqelSign* = 0x000020AA - XK_DongSign* = 0x000020AB - XK_EuroSign* = 0x000020AC -# implementation diff --git a/lib/oldwrappers/x11/x.nim b/lib/oldwrappers/x11/x.nim deleted file mode 100755 index aa6e7f821..000000000 --- a/lib/oldwrappers/x11/x.nim +++ /dev/null @@ -1,399 +0,0 @@ - -# -# Automatically converted by H2Pas 0.99.15 from x.h -# The following command line parameters were used: -# -p -# -T -# -S -# -d -# -c -# x.h -# -# Pointers to basic pascal types, inserted by h2pas conversion program. - -const - X_PROTOCOL* = 11 - X_PROTOCOL_REVISION* = 0 - -type - culong* = int - cuchar* = char - PXID* = ptr TXID - TXID* = culong - PMask* = ptr TMask - TMask* = culong - PPAtom* = ptr PAtom - PAtom* = ptr TAtom - TAtom* = culong - PVisualID* = ptr TVisualID - TVisualID* = culong - PTime* = ptr TTime - TTime* = culong - PPWindow* = ptr PWindow - PWindow* = ptr TWindow - TWindow* = TXID - PDrawable* = ptr TDrawable - TDrawable* = TXID - PFont* = ptr TFont - TFont* = TXID - PPixmap* = ptr TPixmap - TPixmap* = TXID - PCursor* = ptr TCursor - TCursor* = TXID - PColormap* = ptr TColormap - TColormap* = TXID - PGContext* = ptr TGContext - TGContext* = TXID - PKeySym* = ptr TKeySym - TKeySym* = TXID - PKeyCode* = ptr TKeyCode - TKeyCode* = cuchar - -const - None* = 0 - ParentRelative* = 1 - CopyFromParent* = 0 - PointerWindow* = 0 - InputFocus* = 1 - PointerRoot* = 1 - AnyPropertyType* = 0 - AnyKey* = 0 - AnyButton* = 0 - AllTemporary* = 0 - CurrentTime* = 0 - NoSymbol* = 0 - NoEventMask* = 0 - KeyPressMask* = 1 shl 0 - KeyReleaseMask* = 1 shl 1 - ButtonPressMask* = 1 shl 2 - ButtonReleaseMask* = 1 shl 3 - EnterWindowMask* = 1 shl 4 - LeaveWindowMask* = 1 shl 5 - PointerMotionMask* = 1 shl 6 - PointerMotionHintMask* = 1 shl 7 - Button1MotionMask* = 1 shl 8 - Button2MotionMask* = 1 shl 9 - Button3MotionMask* = 1 shl 10 - Button4MotionMask* = 1 shl 11 - Button5MotionMask* = 1 shl 12 - ButtonMotionMask* = 1 shl 13 - KeymapStateMask* = 1 shl 14 - ExposureMask* = 1 shl 15 - VisibilityChangeMask* = 1 shl 16 - StructureNotifyMask* = 1 shl 17 - ResizeRedirectMask* = 1 shl 18 - SubstructureNotifyMask* = 1 shl 19 - SubstructureRedirectMask* = 1 shl 20 - FocusChangeMask* = 1 shl 21 - PropertyChangeMask* = 1 shl 22 - ColormapChangeMask* = 1 shl 23 - OwnerGrabButtonMask* = 1 shl 24 - KeyPress* = 2 - KeyRelease* = 3 - ButtonPress* = 4 - ButtonRelease* = 5 - MotionNotify* = 6 - EnterNotify* = 7 - LeaveNotify* = 8 - FocusIn* = 9 - FocusOut* = 10 - KeymapNotify* = 11 - Expose* = 12 - GraphicsExpose* = 13 - NoExpose* = 14 - VisibilityNotify* = 15 - CreateNotify* = 16 - DestroyNotify* = 17 - UnmapNotify* = 18 - MapNotify* = 19 - MapRequest* = 20 - ReparentNotify* = 21 - ConfigureNotify* = 22 - ConfigureRequest* = 23 - GravityNotify* = 24 - ResizeRequest* = 25 - CirculateNotify* = 26 - CirculateRequest* = 27 - PropertyNotify* = 28 - SelectionClear* = 29 - SelectionRequest* = 30 - SelectionNotify* = 31 - ColormapNotify* = 32 - ClientMessage* = 33 - MappingNotify* = 34 - LASTEvent* = 35 - ShiftMask* = 1 shl 0 - LockMask* = 1 shl 1 - ControlMask* = 1 shl 2 - Mod1Mask* = 1 shl 3 - Mod2Mask* = 1 shl 4 - Mod3Mask* = 1 shl 5 - Mod4Mask* = 1 shl 6 - Mod5Mask* = 1 shl 7 - ShiftMapIndex* = 0 - LockMapIndex* = 1 - ControlMapIndex* = 2 - Mod1MapIndex* = 3 - Mod2MapIndex* = 4 - Mod3MapIndex* = 5 - Mod4MapIndex* = 6 - Mod5MapIndex* = 7 - Button1Mask* = 1 shl 8 - Button2Mask* = 1 shl 9 - Button3Mask* = 1 shl 10 - Button4Mask* = 1 shl 11 - Button5Mask* = 1 shl 12 - AnyModifier* = 1 shl 15 - Button1* = 1 - Button2* = 2 - Button3* = 3 - Button4* = 4 - Button5* = 5 - NotifyNormal* = 0 - NotifyGrab* = 1 - NotifyUngrab* = 2 - NotifyWhileGrabbed* = 3 - NotifyHint* = 1 - NotifyAncestor* = 0 - NotifyVirtual* = 1 - NotifyInferior* = 2 - NotifyNonlinear* = 3 - NotifyNonlinearVirtual* = 4 - NotifyPointer* = 5 - NotifyPointerRoot* = 6 - NotifyDetailNone* = 7 - VisibilityUnobscured* = 0 - VisibilityPartiallyObscured* = 1 - VisibilityFullyObscured* = 2 - PlaceOnTop* = 0 - PlaceOnBottom* = 1 - FamilyInternet* = 0 - FamilyDECnet* = 1 - FamilyChaos* = 2 - FamilyInternet6* = 6 - FamilyServerInterpreted* = 5 - PropertyNewValue* = 0 - PropertyDelete* = 1 - ColormapUninstalled* = 0 - ColormapInstalled* = 1 - GrabModeSync* = 0 - GrabModeAsync* = 1 - GrabSuccess* = 0 - AlreadyGrabbed* = 1 - GrabInvalidTime* = 2 - GrabNotViewable* = 3 - GrabFrozen* = 4 - AsyncPointer* = 0 - SyncPointer* = 1 - ReplayPointer* = 2 - AsyncKeyboard* = 3 - SyncKeyboard* = 4 - ReplayKeyboard* = 5 - AsyncBoth* = 6 - SyncBoth* = 7 - RevertToNone* = None - RevertToPointerRoot* = PointerRoot - RevertToParent* = 2 - Success* = 0 - BadRequest* = 1 - BadValue* = 2 - BadWindow* = 3 - BadPixmap* = 4 - BadAtom* = 5 - BadCursor* = 6 - BadFont* = 7 - BadMatch* = 8 - BadDrawable* = 9 - BadAccess* = 10 - BadAlloc* = 11 - BadColor* = 12 - BadGC* = 13 - BadIDChoice* = 14 - BadName* = 15 - BadLength* = 16 - BadImplementation* = 17 - FirstExtensionError* = 128 - LastExtensionError* = 255 - InputOutput* = 1 - InputOnly* = 2 - CWBackPixmap* = 1 shl 0 - CWBackPixel* = 1 shl 1 - CWBorderPixmap* = 1 shl 2 - CWBorderPixel* = 1 shl 3 - CWBitGravity* = 1 shl 4 - CWWinGravity* = 1 shl 5 - CWBackingStore* = 1 shl 6 - CWBackingPlanes* = 1 shl 7 - CWBackingPixel* = 1 shl 8 - CWOverrideRedirect* = 1 shl 9 - CWSaveUnder* = 1 shl 10 - CWEventMask* = 1 shl 11 - CWDontPropagate* = 1 shl 12 - CWColormap* = 1 shl 13 - CWCursor* = 1 shl 14 - CWX* = 1 shl 0 - CWY* = 1 shl 1 - CWWidth* = 1 shl 2 - CWHeight* = 1 shl 3 - CWBorderWidth* = 1 shl 4 - CWSibling* = 1 shl 5 - CWStackMode* = 1 shl 6 - ForgetGravity* = 0 - NorthWestGravity* = 1 - NorthGravity* = 2 - NorthEastGravity* = 3 - WestGravity* = 4 - CenterGravity* = 5 - EastGravity* = 6 - SouthWestGravity* = 7 - SouthGravity* = 8 - SouthEastGravity* = 9 - StaticGravity* = 10 - UnmapGravity* = 0 - NotUseful* = 0 - WhenMapped* = 1 - Always* = 2 - IsUnmapped* = 0 - IsUnviewable* = 1 - IsViewable* = 2 - SetModeInsert* = 0 - SetModeDelete* = 1 - DestroyAll* = 0 - RetainPermanent* = 1 - RetainTemporary* = 2 - Above* = 0 - Below* = 1 - TopIf* = 2 - BottomIf* = 3 - Opposite* = 4 - RaiseLowest* = 0 - LowerHighest* = 1 - PropModeReplace* = 0 - PropModePrepend* = 1 - PropModeAppend* = 2 - GXclear* = 0x00000000 - GXand* = 0x00000001 - GXandReverse* = 0x00000002 - GXcopy* = 0x00000003 - GXandInverted* = 0x00000004 - GXnoop* = 0x00000005 - GXxor* = 0x00000006 - GXor* = 0x00000007 - GXnor* = 0x00000008 - GXequiv* = 0x00000009 - GXinvert* = 0x0000000A - GXorReverse* = 0x0000000B - GXcopyInverted* = 0x0000000C - GXorInverted* = 0x0000000D - GXnand* = 0x0000000E - GXset* = 0x0000000F - LineSolid* = 0 - LineOnOffDash* = 1 - LineDoubleDash* = 2 - CapNotLast* = 0 - CapButt* = 1 - CapRound* = 2 - CapProjecting* = 3 - JoinMiter* = 0 - JoinRound* = 1 - JoinBevel* = 2 - FillSolid* = 0 - FillTiled* = 1 - FillStippled* = 2 - FillOpaqueStippled* = 3 - EvenOddRule* = 0 - WindingRule* = 1 - ClipByChildren* = 0 - IncludeInferiors* = 1 - Unsorted* = 0 - YSorted* = 1 - YXSorted* = 2 - YXBanded* = 3 - CoordModeOrigin* = 0 - CoordModePrevious* = 1 - Complex* = 0 - Nonconvex* = 1 - Convex* = 2 - ArcChord* = 0 - ArcPieSlice* = 1 - GCFunction* = 1 shl 0 - GCPlaneMask* = 1 shl 1 - GCForeground* = 1 shl 2 - GCBackground* = 1 shl 3 - GCLineWidth* = 1 shl 4 - GCLineStyle* = 1 shl 5 - GCCapStyle* = 1 shl 6 - GCJoinStyle* = 1 shl 7 - GCFillStyle* = 1 shl 8 - GCFillRule* = 1 shl 9 - GCTile* = 1 shl 10 - GCStipple* = 1 shl 11 - GCTileStipXOrigin* = 1 shl 12 - GCTileStipYOrigin* = 1 shl 13 - GCFont* = 1 shl 14 - GCSubwindowMode* = 1 shl 15 - GCGraphicsExposures* = 1 shl 16 - GCClipXOrigin* = 1 shl 17 - GCClipYOrigin* = 1 shl 18 - GCClipMask* = 1 shl 19 - GCDashOffset* = 1 shl 20 - GCDashList* = 1 shl 21 - GCArcMode* = 1 shl 22 - GCLastBit* = 22 - FontLeftToRight* = 0 - FontRightToLeft* = 1 - FontChange* = 255 - XYBitmap* = 0 - XYPixmap* = 1 - ZPixmap* = 2 - AllocNone* = 0 - AllocAll* = 1 - DoRed* = 1 shl 0 - DoGreen* = 1 shl 1 - DoBlue* = 1 shl 2 - CursorShape* = 0 - TileShape* = 1 - StippleShape* = 2 - AutoRepeatModeOff* = 0 - AutoRepeatModeOn* = 1 - AutoRepeatModeDefault* = 2 - LedModeOff* = 0 - LedModeOn* = 1 - KBKeyClickPercent* = 1 shl 0 - KBBellPercent* = 1 shl 1 - KBBellPitch* = 1 shl 2 - KBBellDuration* = 1 shl 3 - KBLed* = 1 shl 4 - KBLedMode* = 1 shl 5 - KBKey* = 1 shl 6 - KBAutoRepeatMode* = 1 shl 7 - MappingSuccess* = 0 - MappingBusy* = 1 - MappingFailed* = 2 - MappingModifier* = 0 - MappingKeyboard* = 1 - MappingPointer* = 2 - DontPreferBlanking* = 0 - PreferBlanking* = 1 - DefaultBlanking* = 2 - DisableScreenSaver* = 0 - DisableScreenInterval* = 0 - DontAllowExposures* = 0 - AllowExposures* = 1 - DefaultExposures* = 2 - ScreenSaverReset* = 0 - ScreenSaverActive* = 1 - HostInsert* = 0 - HostDelete* = 1 - EnableAccess* = 1 - DisableAccess* = 0 - StaticGray* = 0 - GrayScale* = 1 - StaticColor* = 2 - PseudoColor* = 3 - TrueColor* = 4 - DirectColor* = 5 - LSBFirst* = 0 - MSBFirst* = 1 - -# implementation diff --git a/lib/oldwrappers/x11/xatom.nim b/lib/oldwrappers/x11/xatom.nim deleted file mode 100755 index b2e1dca91..000000000 --- a/lib/oldwrappers/x11/xatom.nim +++ /dev/null @@ -1,81 +0,0 @@ -# -# THIS IS A GENERATED FILE -# -# Do not change! Changing this file implies a protocol change! -# - -import - X - -const - XA_PRIMARY* = TAtom(1) - XA_SECONDARY* = TAtom(2) - XA_ARC* = TAtom(3) - XA_ATOM* = TAtom(4) - XA_BITMAP* = TAtom(5) - XA_CARDINAL* = TAtom(6) - XA_COLORMAP* = TAtom(7) - XA_CURSOR* = TAtom(8) - XA_CUT_BUFFER0* = TAtom(9) - XA_CUT_BUFFER1* = TAtom(10) - XA_CUT_BUFFER2* = TAtom(11) - XA_CUT_BUFFER3* = TAtom(12) - XA_CUT_BUFFER4* = TAtom(13) - XA_CUT_BUFFER5* = TAtom(14) - XA_CUT_BUFFER6* = TAtom(15) - XA_CUT_BUFFER7* = TAtom(16) - XA_DRAWABLE* = TAtom(17) - XA_FONT* = TAtom(18) - XA_INTEGER* = TAtom(19) - XA_PIXMAP* = TAtom(20) - XA_POINT* = TAtom(21) - XA_RECTANGLE* = TAtom(22) - XA_RESOURCE_MANAGER* = TAtom(23) - XA_RGB_COLOR_MAP* = TAtom(24) - XA_RGB_BEST_MAP* = TAtom(25) - XA_RGB_BLUE_MAP* = TAtom(26) - XA_RGB_DEFAULT_MAP* = TAtom(27) - XA_RGB_GRAY_MAP* = TAtom(28) - XA_RGB_GREEN_MAP* = TAtom(29) - XA_RGB_RED_MAP* = TAtom(30) - XA_STRING* = TAtom(31) - XA_VISUALID* = TAtom(32) - XA_WINDOW* = TAtom(33) - XA_WM_COMMAND* = TAtom(34) - XA_WM_HINTS* = TAtom(35) - XA_WM_CLIENT_MACHINE* = TAtom(36) - XA_WM_ICON_NAME* = TAtom(37) - XA_WM_ICON_SIZE* = TAtom(38) - XA_WM_NAME* = TAtom(39) - XA_WM_NORMAL_HINTS* = TAtom(40) - XA_WM_SIZE_HINTS* = TAtom(41) - XA_WM_ZOOM_HINTS* = TAtom(42) - XA_MIN_SPACE* = TAtom(43) - XA_NORM_SPACE* = TAtom(44) - XA_MAX_SPACE* = TAtom(45) - XA_END_SPACE* = TAtom(46) - XA_SUPERSCRIPT_X* = TAtom(47) - XA_SUPERSCRIPT_Y* = TAtom(48) - XA_SUBSCRIPT_X* = TAtom(49) - XA_SUBSCRIPT_Y* = TAtom(50) - XA_UNDERLINE_POSITION* = TAtom(51) - XA_UNDERLINE_THICKNESS* = TAtom(52) - XA_STRIKEOUT_ASCENT* = TAtom(53) - XA_STRIKEOUT_DESCENT* = TAtom(54) - XA_ITALIC_ANGLE* = TAtom(55) - XA_X_HEIGHT* = TAtom(56) - XA_QUAD_WIDTH* = TAtom(57) - XA_WEIGHT* = TAtom(58) - XA_POINT_SIZE* = TAtom(59) - XA_RESOLUTION* = TAtom(60) - XA_COPYRIGHT* = TAtom(61) - XA_NOTICE* = TAtom(62) - XA_FONT_NAME* = TAtom(63) - XA_FAMILY_NAME* = TAtom(64) - XA_FULL_NAME* = TAtom(65) - XA_CAP_HEIGHT* = TAtom(66) - XA_WM_CLASS* = TAtom(67) - XA_WM_TRANSIENT_FOR* = TAtom(68) - XA_LAST_PREDEFINED* = TAtom(68) - -# implementation diff --git a/lib/oldwrappers/x11/xcms.nim b/lib/oldwrappers/x11/xcms.nim deleted file mode 100755 index 57aad6ae0..000000000 --- a/lib/oldwrappers/x11/xcms.nim +++ /dev/null @@ -1,396 +0,0 @@ - -import - x, xlib - -#const -# libX11* = "X11" - -# -# Automatically converted by H2Pas 0.99.15 from xcms.h -# The following command line parameters were used: -# -p -# -T -# -S -# -d -# -c -# xcms.h -# - -const - XcmsFailure* = 0 - XcmsSuccess* = 1 - XcmsSuccessWithCompression* = 2 - -type - PXcmsColorFormat* = ptr TXcmsColorFormat - TXcmsColorFormat* = int32 - -proc XcmsUndefinedFormat*(): TXcmsColorFormat -proc XcmsCIEXYZFormat*(): TXcmsColorFormat -proc XcmsCIEuvYFormat*(): TXcmsColorFormat -proc XcmsCIExyYFormat*(): TXcmsColorFormat -proc XcmsCIELabFormat*(): TXcmsColorFormat -proc XcmsCIELuvFormat*(): TXcmsColorFormat -proc XcmsTekHVCFormat*(): TXcmsColorFormat -proc XcmsRGBFormat*(): TXcmsColorFormat -proc XcmsRGBiFormat*(): TXcmsColorFormat -const - XcmsInitNone* = 0x00000000 - XcmsInitSuccess* = 0x00000001 - XcmsInitFailure* = 0x000000FF - -when defined(MACROS): - proc DisplayOfCCC*(ccc: int32): int32 - proc ScreenNumberOfCCC*(ccc: int32): int32 - proc VisualOfCCC*(ccc: int32): int32 - proc ClientWhitePointOfCCC*(ccc: int32): int32 - proc ScreenWhitePointOfCCC*(ccc: int32): int32 - proc FunctionSetOfCCC*(ccc: int32): int32 -type - PXcmsFloat* = ptr TXcmsFloat - TXcmsFloat* = float64 - PXcmsRGB* = ptr TXcmsRGB - TXcmsRGB*{.final.} = object - red*: int16 - green*: int16 - blue*: int16 - - PXcmsRGBi* = ptr TXcmsRGBi - TXcmsRGBi*{.final.} = object - red*: TXcmsFloat - green*: TXcmsFloat - blue*: TXcmsFloat - - PXcmsCIEXYZ* = ptr TXcmsCIEXYZ - TXcmsCIEXYZ*{.final.} = object - X*: TXcmsFloat - Y*: TXcmsFloat - Z*: TXcmsFloat - - PXcmsCIEuvY* = ptr TXcmsCIEuvY - TXcmsCIEuvY*{.final.} = object - u_prime*: TXcmsFloat - v_prime*: TXcmsFloat - Y*: TXcmsFloat - - PXcmsCIExyY* = ptr TXcmsCIExyY - TXcmsCIExyY*{.final.} = object - x*: TXcmsFloat - y*: TXcmsFloat - theY*: TXcmsFloat - - PXcmsCIELab* = ptr TXcmsCIELab - TXcmsCIELab*{.final.} = object - L_star*: TXcmsFloat - a_star*: TXcmsFloat - b_star*: TXcmsFloat - - PXcmsCIELuv* = ptr TXcmsCIELuv - TXcmsCIELuv*{.final.} = object - L_star*: TXcmsFloat - u_star*: TXcmsFloat - v_star*: TXcmsFloat - - PXcmsTekHVC* = ptr TXcmsTekHVC - TXcmsTekHVC*{.final.} = object - H*: TXcmsFloat - V*: TXcmsFloat - C*: TXcmsFloat - - PXcmsPad* = ptr TXcmsPad - TXcmsPad*{.final.} = object - pad0*: TXcmsFloat - pad1*: TXcmsFloat - pad2*: TXcmsFloat - pad3*: TXcmsFloat - - PXcmsColor* = ptr TXcmsColor - TXcmsColor*{.final.} = object # spec : record - # case longint of - # 0 : ( RGB : TXcmsRGB ); - # 1 : ( RGBi : TXcmsRGBi ); - # 2 : ( CIEXYZ : TXcmsCIEXYZ ); - # 3 : ( CIEuvY : TXcmsCIEuvY ); - # 4 : ( CIExyY : TXcmsCIExyY ); - # 5 : ( CIELab : TXcmsCIELab ); - # 6 : ( CIELuv : TXcmsCIELuv ); - # 7 : ( TekHVC : TXcmsTekHVC ); - # 8 : ( Pad : TXcmsPad ); - # end; - pad*: TXcmsPad - pixel*: int32 - format*: TXcmsColorFormat - - PXcmsPerScrnInfo* = ptr TXcmsPerScrnInfo - TXcmsPerScrnInfo*{.final.} = object - screenWhitePt*: TXcmsColor - functionSet*: TXPointer - screenData*: TXPointer - state*: int8 - pad*: array[0..2, char] - - PXcmsCCC* = ptr TXcmsCCC - TXcmsCompressionProc* = proc (para1: PXcmsCCC, para2: PXcmsColor, - para3: int32, para4: int32, para5: PBool): TStatus{. - cdecl.} - TXcmsWhiteAdjustProc* = proc (para1: PXcmsCCC, para2: PXcmsColor, - para3: PXcmsColor, para4: TXcmsColorFormat, - para5: PXcmsColor, para6: int32, para7: PBool): TStatus{. - cdecl.} - TXcmsCCC*{.final.} = object - dpy*: PDisplay - screenNumber*: int32 - visual*: PVisual - clientWhitePt*: TXcmsColor - gamutCompProc*: TXcmsCompressionProc - gamutCompClientData*: TXPointer - whitePtAdjProc*: TXcmsWhiteAdjustProc - whitePtAdjClientData*: TXPointer - pPerScrnInfo*: PXcmsPerScrnInfo - - TXcmsCCCRec* = TXcmsCCC - PXcmsCCCRec* = ptr TXcmsCCCRec - TXcmsScreenInitProc* = proc (para1: PDisplay, para2: int32, - para3: PXcmsPerScrnInfo): TStatus{.cdecl.} - TXcmsScreenFreeProc* = proc (para1: TXPointer){.cdecl.} - TXcmsConversionProc* = proc (){.cdecl.} - PXcmsFuncListPtr* = ptr TXcmsFuncListPtr - TXcmsFuncListPtr* = TXcmsConversionProc - TXcmsParseStringProc* = proc (para1: cstring, para2: PXcmsColor): int32{.cdecl.} - PXcmsColorSpace* = ptr TXcmsColorSpace - TXcmsColorSpace*{.final.} = object - prefix*: cstring - id*: TXcmsColorFormat - parseString*: TXcmsParseStringProc - to_CIEXYZ*: TXcmsFuncListPtr - from_CIEXYZ*: TXcmsFuncListPtr - inverse_flag*: int32 - - PXcmsFunctionSet* = ptr TXcmsFunctionSet - TXcmsFunctionSet*{.final.} = object # error - #extern Status XcmsAddColorSpace ( - #in declaration at line 323 - DDColorSpaces*: ptr PXcmsColorSpace - screenInitProc*: TXcmsScreenInitProc - screenFreeProc*: TXcmsScreenFreeProc - - -proc XcmsAddFunctionSet*(para1: PXcmsFunctionSet): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsAllocColor*(para1: PDisplay, para2: TColormap, para3: PXcmsColor, - para4: TXcmsColorFormat): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsAllocNamedColor*(para1: PDisplay, para2: TColormap, para3: cstring, - para4: PXcmsColor, para5: PXcmsColor, - para6: TXcmsColorFormat): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCCCOfColormap*(para1: PDisplay, para2: TColormap): TXcmsCCC{.cdecl, - dynlib: libX11, importc.} -proc XcmsCIELabClipab*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCIELabClipL*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCIELabClipLab*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCIELabQueryMaxC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsCIELabQueryMaxL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsCIELabQueryMaxLC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsCIELabQueryMinL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsCIELabToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIELabWhiteShiftColors*(para1: TXcmsCCC, para2: PXcmsColor, - para3: PXcmsColor, para4: TXcmsColorFormat, - para5: PXcmsColor, para6: int32, para7: PBool): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsCIELuvClipL*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCIELuvClipLuv*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCIELuvClipuv*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCIELuvQueryMaxC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsCIELuvQueryMaxL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsCIELuvQueryMaxLC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsCIELuvQueryMinL*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsCIELuvToCIEuvY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIELuvWhiteShiftColors*(para1: TXcmsCCC, para2: PXcmsColor, - para3: PXcmsColor, para4: TXcmsColorFormat, - para5: PXcmsColor, para6: int32, para7: PBool): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsCIEXYZToCIELab*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIEXYZToCIEuvY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIEXYZToCIExyY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIEXYZToRGBi*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIEuvYToCIELuv*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIEuvYToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIEuvYToTekHVC*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsCIExyYToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsClientWhitePointOfCCC*(para1: TXcmsCCC): PXcmsColor{.cdecl, - dynlib: libX11, importc.} -proc XcmsConvertColors*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: TXcmsColorFormat, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsCreateCCC*(para1: PDisplay, para2: int32, para3: PVisual, - para4: PXcmsColor, para5: TXcmsCompressionProc, - para6: TXPointer, para7: TXcmsWhiteAdjustProc, - para8: TXPointer): TXcmsCCC{.cdecl, dynlib: libX11, importc.} -proc XcmsDefaultCCC*(para1: PDisplay, para2: int32): TXcmsCCC{.cdecl, - dynlib: libX11, importc.} -proc XcmsDisplayOfCCC*(para1: TXcmsCCC): PDisplay{.cdecl, dynlib: libX11, - importc.} -proc XcmsFormatOfPrefix*(para1: cstring): TXcmsColorFormat{.cdecl, - dynlib: libX11, importc.} -proc XcmsFreeCCC*(para1: TXcmsCCC){.cdecl, dynlib: libX11, importc.} -proc XcmsLookupColor*(para1: PDisplay, para2: TColormap, para3: cstring, - para4: PXcmsColor, para5: PXcmsColor, - para6: TXcmsColorFormat): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsPrefixOfFormat*(para1: TXcmsColorFormat): cstring{.cdecl, - dynlib: libX11, importc.} -proc XcmsQueryBlack*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsQueryBlue*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsQueryColor*(para1: PDisplay, para2: TColormap, para3: PXcmsColor, - para4: TXcmsColorFormat): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsQueryColors*(para1: PDisplay, para2: TColormap, para3: PXcmsColor, - para4: int32, para5: TXcmsColorFormat): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsQueryGreen*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsQueryRed*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsQueryWhite*(para1: TXcmsCCC, para2: TXcmsColorFormat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsRGBiToCIEXYZ*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsRGBiToRGB*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsRGBToRGBi*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: PBool): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsScreenNumberOfCCC*(para1: TXcmsCCC): int32{.cdecl, dynlib: libX11, - importc.} -proc XcmsScreenWhitePointOfCCC*(para1: TXcmsCCC): PXcmsColor{.cdecl, - dynlib: libX11, importc.} -proc XcmsSetCCCOfColormap*(para1: PDisplay, para2: TColormap, para3: TXcmsCCC): TXcmsCCC{. - cdecl, dynlib: libX11, importc.} -proc XcmsSetCompressionProc*(para1: TXcmsCCC, para2: TXcmsCompressionProc, - para3: TXPointer): TXcmsCompressionProc{.cdecl, - dynlib: libX11, importc.} -proc XcmsSetWhiteAdjustProc*(para1: TXcmsCCC, para2: TXcmsWhiteAdjustProc, - para3: TXPointer): TXcmsWhiteAdjustProc{.cdecl, - dynlib: libX11, importc.} -proc XcmsSetWhitePoint*(para1: TXcmsCCC, para2: PXcmsColor): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsStoreColor*(para1: PDisplay, para2: TColormap, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsStoreColors*(para1: PDisplay, para2: TColormap, para3: PXcmsColor, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsTekHVCClipC*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsTekHVCClipV*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsTekHVCClipVC*(para1: TXcmsCCC, para2: PXcmsColor, para3: int32, - para4: int32, para5: PBool): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XcmsTekHVCQueryMaxC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsTekHVCQueryMaxV*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsTekHVCQueryMaxVC*(para1: TXcmsCCC, para2: TXcmsFloat, para3: PXcmsColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsTekHVCQueryMaxVSamples*(para1: TXcmsCCC, para2: TXcmsFloat, - para3: PXcmsColor, para4: int32): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsTekHVCQueryMinV*(para1: TXcmsCCC, para2: TXcmsFloat, para3: TXcmsFloat, - para4: PXcmsColor): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XcmsTekHVCToCIEuvY*(para1: TXcmsCCC, para2: PXcmsColor, para3: PXcmsColor, - para4: int32): TStatus{.cdecl, dynlib: libX11, importc.} -proc XcmsTekHVCWhiteShiftColors*(para1: TXcmsCCC, para2: PXcmsColor, - para3: PXcmsColor, para4: TXcmsColorFormat, - para5: PXcmsColor, para6: int32, para7: PBool): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XcmsVisualOfCCC*(para1: TXcmsCCC): PVisual{.cdecl, dynlib: libX11, importc.} -# implementation - -proc XcmsUndefinedFormat(): TXcmsColorFormat = - result = 0x00000000'i32 - -proc XcmsCIEXYZFormat(): TXcmsColorFormat = - result = 0x00000001'i32 - -proc XcmsCIEuvYFormat(): TXcmsColorFormat = - result = 0x00000002'i32 - -proc XcmsCIExyYFormat(): TXcmsColorFormat = - result = 0x00000003'i32 - -proc XcmsCIELabFormat(): TXcmsColorFormat = - result = 0x00000004'i32 - -proc XcmsCIELuvFormat(): TXcmsColorFormat = - result = 0x00000005'i32 - -proc XcmsTekHVCFormat(): TXcmsColorFormat = - result = 0x00000006'i32 - -proc XcmsRGBFormat(): TXcmsColorFormat = - result = 0x80000000'i32 - -proc XcmsRGBiFormat(): TXcmsColorFormat = - result = 0x80000001'i32 - -when defined(MACROS): - proc DisplayOfCCC(ccc: int32): int32 = - result = ccc.dpy - - proc ScreenNumberOfCCC(ccc: int32): int32 = - result = ccc.screenNumber - - proc VisualOfCCC(ccc: int32): int32 = - result = ccc.visual - - proc ClientWhitePointOfCCC(ccc: int32): int32 = - result = addr(ccc.clientWhitePt) - - proc ScreenWhitePointOfCCC(ccc: int32): int32 = - result = addr(ccc.pPerScrnInfo.screenWhitePt) - - proc FunctionSetOfCCC(ccc: int32): int32 = - result = ccc.pPerScrnInfo.functionSet diff --git a/lib/oldwrappers/x11/xf86dga.nim b/lib/oldwrappers/x11/xf86dga.nim deleted file mode 100755 index 376f11861..000000000 --- a/lib/oldwrappers/x11/xf86dga.nim +++ /dev/null @@ -1,235 +0,0 @@ -# -# Copyright (c) 1999 XFree86 Inc -# -# $XFree86: xc/include/extensions/xf86dga.h,v 3.20 1999/10/13 04:20:48 dawes Exp $ - -import - x, xlib - -const - libXxf86dga* = "libXxf86dga.so" - -#type -# cfloat* = float32 - -# $XFree86: xc/include/extensions/xf86dga1.h,v 1.2 1999/04/17 07:05:41 dawes Exp $ -# -# -#Copyright (c) 1995 Jon Tombs -#Copyright (c) 1995 XFree86 Inc -# -# -#************************************************************************ -# -# THIS IS THE OLD DGA API AND IS OBSOLETE. PLEASE DO NOT USE IT ANYMORE -# -#************************************************************************ - -type - PPcchar* = ptr ptr cstring - -const - X_XF86DGAQueryVersion* = 0 - X_XF86DGAGetVideoLL* = 1 - X_XF86DGADirectVideo* = 2 - X_XF86DGAGetViewPortSize* = 3 - X_XF86DGASetViewPort* = 4 - X_XF86DGAGetVidPage* = 5 - X_XF86DGASetVidPage* = 6 - X_XF86DGAInstallColormap* = 7 - X_XF86DGAQueryDirectVideo* = 8 - X_XF86DGAViewPortChanged* = 9 - XF86DGADirectPresent* = 0x00000001 - XF86DGADirectGraphics* = 0x00000002 - XF86DGADirectMouse* = 0x00000004 - XF86DGADirectKeyb* = 0x00000008 - XF86DGAHasColormap* = 0x00000100 - XF86DGADirectColormap* = 0x00000200 - -proc XF86DGAQueryVersion*(dpy: PDisplay, majorVersion: Pcint, - minorVersion: Pcint): TBool{.CDecl, - dynlib: libXxf86dga, importc.} -proc XF86DGAQueryExtension*(dpy: PDisplay, event_base: Pcint, error_base: Pcint): TBool{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAGetVideoLL*(dpy: PDisplay, screen: cint, base_addr: Pcint, - width: Pcint, bank_size: Pcint, ram_size: Pcint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAGetVideo*(dpy: PDisplay, screen: cint, base_addr: PPcchar, - width: Pcint, bank_size: Pcint, ram_size: Pcint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGADirectVideo*(dpy: PDisplay, screen: cint, enable: cint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGADirectVideoLL*(dpy: PDisplay, screen: cint, enable: cint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAGetViewPortSize*(dpy: PDisplay, screen: cint, width: Pcint, - height: Pcint): TStatus{.CDecl, - dynlib: libXxf86dga, importc.} -proc XF86DGASetViewPort*(dpy: PDisplay, screen: cint, x: cint, y: cint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAGetVidPage*(dpy: PDisplay, screen: cint, vid_page: Pcint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGASetVidPage*(dpy: PDisplay, screen: cint, vid_page: cint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAInstallColormap*(dpy: PDisplay, screen: cint, Colormap: TColormap): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAForkApp*(screen: cint): cint{.CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAQueryDirectVideo*(dpy: PDisplay, screen: cint, flags: Pcint): TStatus{. - CDecl, dynlib: libXxf86dga, importc.} -proc XF86DGAViewPortChanged*(dpy: PDisplay, screen: cint, n: cint): TBool{. - CDecl, dynlib: libXxf86dga, importc.} -const - X_XDGAQueryVersion* = 0 # 1 through 9 are in xf86dga1.pp - # 10 and 11 are reserved to avoid conflicts with rogue DGA extensions - X_XDGAQueryModes* = 12 - X_XDGASetMode* = 13 - X_XDGASetViewport* = 14 - X_XDGAInstallColormap* = 15 - X_XDGASelectInput* = 16 - X_XDGAFillRectangle* = 17 - X_XDGACopyArea* = 18 - X_XDGACopyTransparentArea* = 19 - X_XDGAGetViewportStatus* = 20 - X_XDGASync* = 21 - X_XDGAOpenFramebuffer* = 22 - X_XDGACloseFramebuffer* = 23 - X_XDGASetClientVersion* = 24 - X_XDGAChangePixmapMode* = 25 - X_XDGACreateColormap* = 26 - XDGAConcurrentAccess* = 0x00000001 - XDGASolidFillRect* = 0x00000002 - XDGABlitRect* = 0x00000004 - XDGABlitTransRect* = 0x00000008 - XDGAPixmap* = 0x00000010 - XDGAInterlaced* = 0x00010000 - XDGADoublescan* = 0x00020000 - XDGAFlipImmediate* = 0x00000001 - XDGAFlipRetrace* = 0x00000002 - XDGANeedRoot* = 0x00000001 - XF86DGANumberEvents* = 7 - XDGAPixmapModeLarge* = 0 - XDGAPixmapModeSmall* = 1 - XF86DGAClientNotLocal* = 0 - XF86DGANoDirectVideoMode* = 1 - XF86DGAScreenNotActive* = 2 - XF86DGADirectNotActivated* = 3 - XF86DGAOperationNotSupported* = 4 - XF86DGANumberErrors* = (XF86DGAOperationNotSupported + 1) - -type - PXDGAMode* = ptr TXDGAMode - TXDGAMode*{.final.} = object - num*: cint # A unique identifier for the mode (num > 0) - name*: cstring # name of mode given in the XF86Config - verticalRefresh*: cfloat - flags*: cint # DGA_CONCURRENT_ACCESS, etc... - imageWidth*: cint # linear accessible portion (pixels) - imageHeight*: cint - pixmapWidth*: cint # Xlib accessible portion (pixels) - pixmapHeight*: cint # both fields ignored if no concurrent access - bytesPerScanline*: cint - byteOrder*: cint # MSBFirst, LSBFirst - depth*: cint - bitsPerPixel*: cint - redMask*: culong - greenMask*: culong - blueMask*: culong - visualClass*: cshort - viewportWidth*: cint - viewportHeight*: cint - xViewportStep*: cint # viewport position granularity - yViewportStep*: cint - maxViewportX*: cint # max viewport origin - maxViewportY*: cint - viewportFlags*: cint # types of page flipping possible - reserved1*: cint - reserved2*: cint - - PXDGADevice* = ptr TXDGADevice - TXDGADevice*{.final.} = object - mode*: TXDGAMode - data*: Pcuchar - pixmap*: TPixmap - - PXDGAButtonEvent* = ptr TXDGAButtonEvent - TXDGAButtonEvent*{.final.} = object - theType*: cint - serial*: culong - display*: PDisplay - screen*: cint - time*: TTime - state*: cuint - button*: cuint - - PXDGAKeyEvent* = ptr TXDGAKeyEvent - TXDGAKeyEvent*{.final.} = object - theType*: cint - serial*: culong - display*: PDisplay - screen*: cint - time*: TTime - state*: cuint - keycode*: cuint - - PXDGAMotionEvent* = ptr TXDGAMotionEvent - TXDGAMotionEvent*{.final.} = object - theType*: cint - serial*: culong - display*: PDisplay - screen*: cint - time*: TTime - state*: cuint - dx*: cint - dy*: cint - - PXDGAEvent* = ptr TXDGAEvent - TXDGAEvent*{.final.} = object - pad*: array[0..23, clong] # sorry you have to cast if you want access - #Case LongInt Of - # 0 : (_type : cint); - # 1 : (xbutton : TXDGAButtonEvent); - # 2 : (xkey : TXDGAKeyEvent); - # 3 : (xmotion : TXDGAMotionEvent); - # 4 : (pad : Array[0..23] Of clong); - - -proc XDGAQueryExtension*(dpy: PDisplay, eventBase: Pcint, erroBase: Pcint): TBool{. - CDecl, dynlib: libXxf86dga, importc.} -proc XDGAQueryVersion*(dpy: PDisplay, majorVersion: Pcint, minorVersion: Pcint): TBool{. - CDecl, dynlib: libXxf86dga, importc.} -proc XDGAQueryModes*(dpy: PDisplay, screen: cint, num: Pcint): PXDGAMode{.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGASetMode*(dpy: PDisplay, screen: cint, mode: cint): PXDGADevice{.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGAOpenFramebuffer*(dpy: PDisplay, screen: cint): TBool{.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGACloseFramebuffer*(dpy: PDisplay, screen: cint){.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGASetViewport*(dpy: PDisplay, screen: cint, x: cint, y: cint, flags: cint){. - CDecl, dynlib: libXxf86dga, importc.} -proc XDGAInstallColormap*(dpy: PDisplay, screen: cint, cmap: TColormap){.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGACreateColormap*(dpy: PDisplay, screen: cint, device: PXDGADevice, - alloc: cint): TColormap{.CDecl, dynlib: libXxf86dga, - importc.} -proc XDGASelectInput*(dpy: PDisplay, screen: cint, event_mask: clong){.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGAFillRectangle*(dpy: PDisplay, screen: cint, x: cint, y: cint, - width: cuint, height: cuint, color: culong){.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGACopyArea*(dpy: PDisplay, screen: cint, srcx: cint, srcy: cint, - width: cuint, height: cuint, dstx: cint, dsty: cint){.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGACopyTransparentArea*(dpy: PDisplay, screen: cint, srcx: cint, - srcy: cint, width: cuint, height: cuint, - dstx: cint, dsty: cint, key: culong){.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGAGetViewportStatus*(dpy: PDisplay, screen: cint): cint{.CDecl, - dynlib: libXxf86dga, importc.} -proc XDGASync*(dpy: PDisplay, screen: cint){.CDecl, dynlib: libXxf86dga, importc.} -proc XDGASetClientVersion*(dpy: PDisplay): TBool{.CDecl, dynlib: libXxf86dga, - importc.} -proc XDGAChangePixmapMode*(dpy: PDisplay, screen: cint, x: Pcint, y: Pcint, - mode: cint){.CDecl, dynlib: libXxf86dga, importc.} -proc XDGAKeyEventToXKeyEvent*(dk: PXDGAKeyEvent, xk: PXKeyEvent){.CDecl, - dynlib: libXxf86dga, importc.} -# implementation diff --git a/lib/oldwrappers/x11/xf86vmode.nim b/lib/oldwrappers/x11/xf86vmode.nim deleted file mode 100755 index 18a922cab..000000000 --- a/lib/oldwrappers/x11/xf86vmode.nim +++ /dev/null @@ -1,229 +0,0 @@ -# $XFree86: xc/include/extensions/xf86vmode.h,v 3.30 2001/05/07 20:09:50 mvojkovi Exp $ -# -# -#Copyright 1995 Kaleb S. KEITHLEY -# -#Permission is hereby granted, free of charge, to any person obtaining -#a copy of this software and associated documentation files (the -#"Software"), to deal in the Software without restriction, including -#without limitation the rights to use, copy, modify, merge, publish, -#distribute, sublicense, and/or sell copies of the Software, and to -#permit persons to whom the Software is furnished to do so, subject to -#the following conditions: -# -#The above copyright notice and this permission notice shall be -#included in all copies or substantial portions of the Software. -# -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -#EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -#IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES -#OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -#ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -#OTHER DEALINGS IN THE SOFTWARE. -# -#Except as contained in this notice, the name of Kaleb S. KEITHLEY -#shall not be used in advertising or otherwise to promote the sale, use -#or other dealings in this Software without prior written authorization -#from Kaleb S. KEITHLEY -# -# -# $Xorg: xf86vmode.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $ -# THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION - -import - x, xlib - -const - libXxf86vm* = "libXxf86vm.so" - -type - PINT32* = ptr int32 - -const - X_XF86VidModeQueryVersion* = 0 - X_XF86VidModeGetModeLine* = 1 - X_XF86VidModeModModeLine* = 2 - X_XF86VidModeSwitchMode* = 3 - X_XF86VidModeGetMonitor* = 4 - X_XF86VidModeLockModeSwitch* = 5 - X_XF86VidModeGetAllModeLines* = 6 - X_XF86VidModeAddModeLine* = 7 - X_XF86VidModeDeleteModeLine* = 8 - X_XF86VidModeValidateModeLine* = 9 - X_XF86VidModeSwitchToMode* = 10 - X_XF86VidModeGetViewPort* = 11 - X_XF86VidModeSetViewPort* = 12 # new for version 2.x of this extension - X_XF86VidModeGetDotClocks* = 13 - X_XF86VidModeSetClientVersion* = 14 - X_XF86VidModeSetGamma* = 15 - X_XF86VidModeGetGamma* = 16 - X_XF86VidModeGetGammaRamp* = 17 - X_XF86VidModeSetGammaRamp* = 18 - X_XF86VidModeGetGammaRampSize* = 19 - X_XF86VidModeGetPermissions* = 20 - CLKFLAG_PROGRAMABLE* = 1 - -when defined(XF86VIDMODE_EVENTS): - const - XF86VidModeNotify* = 0 - XF86VidModeNumberEvents* = (XF86VidModeNotify + 1) - XF86VidModeNotifyMask* = 0x00000001 - XF86VidModeNonEvent* = 0 - XF86VidModeModeChange* = 1 -else: - const - XF86VidModeNumberEvents* = 0 -const - XF86VidModeBadClock* = 0 - XF86VidModeBadHTimings* = 1 - XF86VidModeBadVTimings* = 2 - XF86VidModeModeUnsuitable* = 3 - XF86VidModeExtensionDisabled* = 4 - XF86VidModeClientNotLocal* = 5 - XF86VidModeZoomLocked* = 6 - XF86VidModeNumberErrors* = (XF86VidModeZoomLocked + 1) - XF86VM_READ_PERMISSION* = 1 - XF86VM_WRITE_PERMISSION* = 2 - -type - PXF86VidModeModeLine* = ptr TXF86VidModeModeLine - TXF86VidModeModeLine*{.final.} = object - hdisplay*: cushort - hsyncstart*: cushort - hsyncend*: cushort - htotal*: cushort - hskew*: cushort - vdisplay*: cushort - vsyncstart*: cushort - vsyncend*: cushort - vtotal*: cushort - flags*: cuint - privsize*: cint - c_private*: PINT32 - - PPPXF86VidModeModeInfo* = ptr PPXF86VidModeModeInfo - PPXF86VidModeModeInfo* = ptr PXF86VidModeModeInfo - PXF86VidModeModeInfo* = ptr TXF86VidModeModeInfo - TXF86VidModeModeInfo*{.final.} = object - dotclock*: cuint - hdisplay*: cushort - hsyncstart*: cushort - hsyncend*: cushort - htotal*: cushort - hskew*: cushort - vdisplay*: cushort - vsyncstart*: cushort - vsyncend*: cushort - vtotal*: cushort - flags*: cuint - privsize*: cint - c_private*: PINT32 - - PXF86VidModeSyncRange* = ptr TXF86VidModeSyncRange - TXF86VidModeSyncRange*{.final.} = object - hi*: cfloat - lo*: cfloat - - PXF86VidModeMonitor* = ptr TXF86VidModeMonitor - TXF86VidModeMonitor*{.final.} = object - vendor*: cstring - model*: cstring - EMPTY*: cfloat - nhsync*: cuchar - hsync*: PXF86VidModeSyncRange - nvsync*: cuchar - vsync*: PXF86VidModeSyncRange - - PXF86VidModeNotifyEvent* = ptr TXF86VidModeNotifyEvent - TXF86VidModeNotifyEvent*{.final.} = object - theType*: cint # of event - serial*: culong # # of last request processed by server - send_event*: TBool # true if this came from a SendEvent req - display*: PDisplay # Display the event was read from - root*: TWindow # root window of event screen - state*: cint # What happened - kind*: cint # What happened - forced*: TBool # extents of new region - time*: TTime # event timestamp - - PXF86VidModeGamma* = ptr TXF86VidModeGamma - TXF86VidModeGamma*{.final.} = object - red*: cfloat # Red Gamma value - green*: cfloat # Green Gamma value - blue*: cfloat # Blue Gamma value - - -when defined(MACROS): - proc XF86VidModeSelectNextMode*(disp: PDisplay, scr: cint): TBool - proc XF86VidModeSelectPrevMode*(disp: PDisplay, scr: cint): TBool -proc XF86VidModeQueryVersion*(dpy: PDisplay, majorVersion: Pcint, - minorVersion: Pcint): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeQueryExtension*(dpy: PDisplay, event_base: Pcint, - error_base: Pcint): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeSetClientVersion*(dpy: PDisplay): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeGetModeLine*(dpy: PDisplay, screen: cint, dotclock: Pcint, - modeline: PXF86VidModeModeLine): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeGetAllModeLines*(dpy: PDisplay, screen: cint, modecount: Pcint, - modelinesPtr: PPPXF86VidModeModeInfo): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeAddModeLine*(dpy: PDisplay, screen: cint, - new_modeline: PXF86VidModeModeInfo, - after_modeline: PXF86VidModeModeInfo): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeDeleteModeLine*(dpy: PDisplay, screen: cint, - modeline: PXF86VidModeModeInfo): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeModModeLine*(dpy: PDisplay, screen: cint, - modeline: PXF86VidModeModeLine): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeValidateModeLine*(dpy: PDisplay, screen: cint, - modeline: PXF86VidModeModeInfo): TStatus{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeSwitchMode*(dpy: PDisplay, screen: cint, zoom: cint): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeSwitchToMode*(dpy: PDisplay, screen: cint, - modeline: PXF86VidModeModeInfo): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeLockModeSwitch*(dpy: PDisplay, screen: cint, lock: cint): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeGetMonitor*(dpy: PDisplay, screen: cint, - monitor: PXF86VidModeMonitor): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeGetViewPort*(dpy: PDisplay, screen: cint, x_return: Pcint, - y_return: Pcint): TBool{.CDecl, dynlib: libXxf86vm, - importc.} -proc XF86VidModeSetViewPort*(dpy: PDisplay, screen: cint, x: cint, y: cint): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeGetDotClocks*(dpy: PDisplay, screen: cint, flags_return: Pcint, - number_of_clocks_return: Pcint, - max_dot_clock_return: Pcint, clocks_return: PPcint): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeGetGamma*(dpy: PDisplay, screen: cint, Gamma: PXF86VidModeGamma): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeSetGamma*(dpy: PDisplay, screen: cint, Gamma: PXF86VidModeGamma): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeSetGammaRamp*(dpy: PDisplay, screen: cint, size: cint, - red_array: Pcushort, green_array: Pcushort, - blue_array: Pcushort): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeGetGammaRamp*(dpy: PDisplay, screen: cint, size: cint, - red_array: Pcushort, green_array: Pcushort, - blue_array: Pcushort): TBool{.CDecl, - dynlib: libXxf86vm, importc.} -proc XF86VidModeGetGammaRampSize*(dpy: PDisplay, screen: cint, size: Pcint): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -proc XF86VidModeGetPermissions*(dpy: PDisplay, screen: cint, permissions: Pcint): TBool{. - CDecl, dynlib: libXxf86vm, importc.} -# implementation - -when defined(MACROS): - proc XF86VidModeSelectNextMode(disp: PDisplay, scr: cint): TBool = - XF86VidModeSelectNextMode = XF86VidModeSwitchMode(disp, scr, 1) - - proc XF86VidModeSelectPrevMode(disp: PDisplay, scr: cint): TBool = - XF86VidModeSelectPrevMode = XF86VidModeSwitchMode(disp, scr, - 1) diff --git a/lib/oldwrappers/x11/xi.nim b/lib/oldwrappers/x11/xi.nim deleted file mode 100755 index d1b9f7846..000000000 --- a/lib/oldwrappers/x11/xi.nim +++ /dev/null @@ -1,307 +0,0 @@ -# -# $Xorg: XI.h,v 1.4 2001/02/09 02:03:23 xorgcvs Exp $ -# -#************************************************************ -# -#Copyright 1989, 1998 The Open Group -# -#Permission to use, copy, modify, distribute, and sell this software and its -#documentation for any purpose is hereby granted without fee, provided that -#the above copyright notice appear in all copies and that both that -#copyright notice and this permission notice appear in supporting -#documentation. -# -#The above copyright notice and this permission notice shall be included in -#all copies or substantial portions of the Software. -# -#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -#OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -#AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -#CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -#Except as contained in this notice, the name of The Open Group shall not be -#used in advertising or otherwise to promote the sale, use or other dealings -#in this Software without prior written authorization from The Open Group. -# -#Copyright 1989 by Hewlett-Packard Company, Palo Alto, California. -# -# All Rights Reserved -# -#Permission to use, copy, modify, and distribute this software and its -#documentation for any purpose and without fee is hereby granted, -#provided that the above copyright notice appear in all copies and that -#both that copyright notice and this permission notice appear in -#supporting documentation, and that the name of Hewlett-Packard not be -#used in advertising or publicity pertaining to distribution of the -#software without specific, written prior permission. -# -#HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -#ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -#HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -#ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -#ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -#SOFTWARE. -# -#********************************************************/ -# $XFree86: xc/include/extensions/XI.h,v 1.5 2001/12/14 19:53:28 dawes Exp $ -# -# Definitions used by the server, library and client -# -# Pascal Convertion was made by Ido Kannner - kanerido@actcom.net.il -# -#Histroy: -# 2004/10/15 - Fixed a bug of accessing second based records by removing "paced record" and chnaged it to -# "reocrd" only. -# 2004/10/07 - Removed the "uses X;" line. The unit does not need it. -# 2004/10/03 - Conversion from C header to Pascal unit. -# - -const - sz_xGetExtensionVersionReq* = 8 - sz_xGetExtensionVersionReply* = 32 - sz_xListInputDevicesReq* = 4 - sz_xListInputDevicesReply* = 32 - sz_xOpenDeviceReq* = 8 - sz_xOpenDeviceReply* = 32 - sz_xCloseDeviceReq* = 8 - sz_xSetDeviceModeReq* = 8 - sz_xSetDeviceModeReply* = 32 - sz_xSelectExtensionEventReq* = 12 - sz_xGetSelectedExtensionEventsReq* = 8 - sz_xGetSelectedExtensionEventsReply* = 32 - sz_xChangeDeviceDontPropagateListReq* = 12 - sz_xGetDeviceDontPropagateListReq* = 8 - sz_xGetDeviceDontPropagateListReply* = 32 - sz_xGetDeviceMotionEventsReq* = 16 - sz_xGetDeviceMotionEventsReply* = 32 - sz_xChangeKeyboardDeviceReq* = 8 - sz_xChangeKeyboardDeviceReply* = 32 - sz_xChangePointerDeviceReq* = 8 - sz_xChangePointerDeviceReply* = 32 - sz_xGrabDeviceReq* = 20 - sz_xGrabDeviceReply* = 32 - sz_xUngrabDeviceReq* = 12 - sz_xGrabDeviceKeyReq* = 20 - sz_xGrabDeviceKeyReply* = 32 - sz_xUngrabDeviceKeyReq* = 16 - sz_xGrabDeviceButtonReq* = 20 - sz_xGrabDeviceButtonReply* = 32 - sz_xUngrabDeviceButtonReq* = 16 - sz_xAllowDeviceEventsReq* = 12 - sz_xGetDeviceFocusReq* = 8 - sz_xGetDeviceFocusReply* = 32 - sz_xSetDeviceFocusReq* = 16 - sz_xGetFeedbackControlReq* = 8 - sz_xGetFeedbackControlReply* = 32 - sz_xChangeFeedbackControlReq* = 12 - sz_xGetDeviceKeyMappingReq* = 8 - sz_xGetDeviceKeyMappingReply* = 32 - sz_xChangeDeviceKeyMappingReq* = 8 - sz_xGetDeviceModifierMappingReq* = 8 - sz_xSetDeviceModifierMappingReq* = 8 - sz_xSetDeviceModifierMappingReply* = 32 - sz_xGetDeviceButtonMappingReq* = 8 - sz_xGetDeviceButtonMappingReply* = 32 - sz_xSetDeviceButtonMappingReq* = 8 - sz_xSetDeviceButtonMappingReply* = 32 - sz_xQueryDeviceStateReq* = 8 - sz_xQueryDeviceStateReply* = 32 - sz_xSendExtensionEventReq* = 16 - sz_xDeviceBellReq* = 8 - sz_xSetDeviceValuatorsReq* = 8 - sz_xSetDeviceValuatorsReply* = 32 - sz_xGetDeviceControlReq* = 8 - sz_xGetDeviceControlReply* = 32 - sz_xChangeDeviceControlReq* = 8 - sz_xChangeDeviceControlReply* = 32 - -const - INAME* = "XInputExtension" - -const - XI_KEYBOARD* = "KEYBOARD" - XI_MOUSE* = "MOUSE" - XI_TABLET* = "TABLET" - XI_TOUCHSCREEN* = "TOUCHSCREEN" - XI_TOUCHPAD* = "TOUCHPAD" - XI_BARCODE* = "BARCODE" - XI_BUTTONBOX* = "BUTTONBOX" - XI_KNOB_BOX* = "KNOB_BOX" - XI_ONE_KNOB* = "ONE_KNOB" - XI_NINE_KNOB* = "NINE_KNOB" - XI_TRACKBALL* = "TRACKBALL" - XI_QUADRATURE* = "QUADRATURE" - XI_ID_MODULE* = "ID_MODULE" - XI_SPACEBALL* = "SPACEBALL" - XI_DATAGLOVE* = "DATAGLOVE" - XI_EYETRACKER* = "EYETRACKER" - XI_CURSORKEYS* = "CURSORKEYS" - XI_FOOTMOUSE* = "FOOTMOUSE" - -const - Dont_Check* = 0 - XInput_Initial_Release* = 1 - XInput_Add_XDeviceBell* = 2 - XInput_Add_XSetDeviceValuators* = 3 - XInput_Add_XChangeDeviceControl* = 4 - -const - XI_Absent* = 0 - XI_Present* = 1 - -const - XI_Initial_Release_Major* = 1 - XI_Initial_Release_Minor* = 0 - -const - XI_Add_XDeviceBell_Major* = 1 - XI_Add_XDeviceBell_Minor* = 1 - -const - XI_Add_XSetDeviceValuators_Major* = 1 - XI_Add_XSetDeviceValuators_Minor* = 2 - -const - XI_Add_XChangeDeviceControl_Major* = 1 - XI_Add_XChangeDeviceControl_Minor* = 3 - -const - DEVICE_RESOLUTION* = 1 - -const - NoSuchExtension* = 1 - -const - COUNT* = 0 - CREATE* = 1 - -const - NewPointer* = 0 - NewKeyboard* = 1 - -const - XPOINTER* = 0 - XKEYBOARD* = 1 - -const - UseXKeyboard* = 0x000000FF - -const - IsXPointer* = 0 - IsXKeyboard* = 1 - IsXExtensionDevice* = 2 - -const - AsyncThisDevice* = 0 - SyncThisDevice* = 1 - ReplayThisDevice* = 2 - AsyncOtherDevices* = 3 - AsyncAll* = 4 - SyncAll* = 5 - -const - FollowKeyboard* = 3 - RevertToFollowKeyboard* = 3 - -const - DvAccelNum* = int(1) shl 0 - DvAccelDenom* = int(1) shl 1 - DvThreshold* = int(1) shl 2 - -const - DvKeyClickPercent* = int(1) shl 0 - DvPercent* = int(1) shl 1 - DvPitch* = int(1) shl 2 - DvDuration* = int(1) shl 3 - DvLed* = int(1) shl 4 - DvLedMode* = int(1) shl 5 - DvKey* = int(1) shl 6 - DvAutoRepeatMode* = 1 shl 7 - -const - DvString* = int(1) shl 0 - -const - DvInteger* = int(1) shl 0 - -const - DeviceMode* = int(1) shl 0 - Relative* = 0 - Absolute* = 1 # Merged from Metrolink tree for XINPUT stuff - TS_Raw* = 57 - TS_Scaled* = 58 - SendCoreEvents* = 59 - DontSendCoreEvents* = 60 # End of merged section - -const - ProximityState* = int(1) shl 1 - InProximity* = int(0) shl 1 - OutOfProximity* = int(1) shl 1 - -const - AddToList* = 0 - DeleteFromList* = 1 - -const - KeyClass* = 0 - ButtonClass* = 1 - ValuatorClass* = 2 - FeedbackClass* = 3 - ProximityClass* = 4 - FocusClass* = 5 - OtherClass* = 6 - -const - KbdFeedbackClass* = 0 - PtrFeedbackClass* = 1 - StringFeedbackClass* = 2 - IntegerFeedbackClass* = 3 - LedFeedbackClass* = 4 - BellFeedbackClass* = 5 - -const - devicePointerMotionHint* = 0 - deviceButton1Motion* = 1 - deviceButton2Motion* = 2 - deviceButton3Motion* = 3 - deviceButton4Motion* = 4 - deviceButton5Motion* = 5 - deviceButtonMotion* = 6 - deviceButtonGrab* = 7 - deviceOwnerGrabButton* = 8 - noExtensionEvent* = 9 - -const - XI_BadDevice* = 0 - XI_BadEvent* = 1 - XI_BadMode* = 2 - XI_DeviceBusy* = 3 - XI_BadClass* = 4 # Make XEventClass be a CARD32 for 64 bit servers. Don't affect client - # definition of XEventClass since that would be a library interface change. - # See the top of X.h for more _XSERVER64 magic. - # - -when defined(XSERVER64): - type - XEventClass* = CARD32 -else: - type - XEventClass* = int32 -#****************************************************************** -# * -# * Extension version structure. -# * -# - -type - PXExtensionVersion* = ptr TXExtensionVersion - TXExtensionVersion*{.final.} = object - present*: int16 - major_version*: int16 - minor_version*: int16 - - -# implementation diff --git a/lib/oldwrappers/x11/xinerama.nim b/lib/oldwrappers/x11/xinerama.nim deleted file mode 100755 index 96f5d7da3..000000000 --- a/lib/oldwrappers/x11/xinerama.nim +++ /dev/null @@ -1,25 +0,0 @@ -# Converted from X11/Xinerama.h -import - xlib - -const - xineramaLib = "libXinerama.so" - -type - PXineramaScreenInfo* = ptr TXineramaScreenInfo - TXineramaScreenInfo*{.final.} = object - screen_number*: cint - x_org*: int16 - y_org*: int16 - width*: int16 - height*: int16 - - -proc XineramaQueryExtension*(dpy: PDisplay, event_base: Pcint, error_base: Pcint): TBool{. - cdecl, dynlib: xineramaLib, importc.} -proc XineramaQueryVersion*(dpy: PDisplay, major: Pcint, minor: Pcint): TStatus{. - cdecl, dynlib: xineramaLib, importc.} -proc XineramaIsActive*(dpy: PDisplay): TBool{.cdecl, dynlib: xineramaLib, importc.} -proc XineramaQueryScreens*(dpy: PDisplay, number: Pcint): PXineramaScreenInfo{. - cdecl, dynlib: xineramaLib, importc.} - diff --git a/lib/oldwrappers/x11/xkb.nim b/lib/oldwrappers/x11/xkb.nim deleted file mode 100755 index f1b0448a8..000000000 --- a/lib/oldwrappers/x11/xkb.nim +++ /dev/null @@ -1,2409 +0,0 @@ -# -# $Xorg: XKB.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ -#************************************************************ -# $Xorg: XKBstr.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ -#************************************************************ -# $Xorg: XKBgeom.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ -#************************************************************ -# -#Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. -# -#Permission to use, copy, modify, and distribute this -#software and its documentation for any purpose and without -#fee is hereby granted, provided that the above copyright -#notice appear in all copies and that both that copyright -#notice and this permission notice appear in supporting -#documentation, and that the name of Silicon Graphics not be -#used in advertising or publicity pertaining to distribution -#of the software without specific prior written permission. -#Silicon Graphics makes no representation about the suitability -#of this software for any purpose. It is provided "as is" -#without any express or implied warranty. -# -#SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -#SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -#AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON -#GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -#DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -#DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -#OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -#THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -#******************************************************** -# $XFree86: xc/include/extensions/XKB.h,v 1.5 2002/11/20 04:49:01 dawes Exp $ -# $XFree86: xc/include/extensions/XKBgeom.h,v 3.9 2002/09/18 17:11:40 tsi Exp $ -# -# Pascal Convertion was made by Ido Kannner - kanerido@actcom.net.il -# -#Thanks: -# I want to thanks to oliebol for putting up with all of the problems that was found -# while translating this code. ;) -# -# I want to thanks #fpc channel in freenode irc, for helping me, and to put up with my -# wierd questions ;) -# -# Thanks for mmc in #xlib on freenode irc And so for the channel itself for the helping me to -# understanding some of the problems I had converting this headers and pointing me to resources -# that helped translating this headers. -# -# Ido -# -#History: -# 2004/10/15 - Fixed a bug of accessing second based records by removing "paced record" and -# chnaged it to "reocrd" only. -# 2004/10/04 - 06 - Convertion from the c header of XKBgeom.h. -# 2004/10/03 - Removed the XKBstr_UNIT compiler decleration. Afther the joined files, -# There is no need for it anymore. -# - There is a need to define (for now) XKBgeom (compiler define) in order -# to use the code of it. At this moment, I did not yet converted it to Pascal. -# -# 2004/09/17 - 10/04 - Convertion from the c header of XKBstr. -# -# 2004/10/03 - Joined xkbstr.pas into xkb.pas because of the circular calls problems. -# - Added the history of xkbstr.pas above this addition. -# -# 2004/09/17 - Fixed a wrong convertion number of XkbPerKeyBitArraySize, insted -# of float, it's now converted into integer (as it should have been). -# -# 2004/09/15 - 16 - Convertion from the c header of XKB.h. -# - -import - X, Xlib - -proc XkbCharToInt*(v: int8): int16 -proc XkbIntTo2Chars*(i: int16, h, L: var int8) -proc Xkb2CharsToInt*(h, L: int8): int16 - # - # Common data structures and access macros - # -type - PWord* = ptr array[0..64_000, int16] - PByte* = ptr byte - PXkbStatePtr* = ptr TXkbStateRec - TXkbStateRec*{.final.} = object - group*: int8 - locked_group*: int8 - base_group*: int16 - latched_group*: int16 - mods*: int8 - base_mods*: int8 - latched_mods*: int8 - locked_mods*: int8 - compat_state*: int8 - grab_mods*: int8 - compat_grab_mods*: int8 - lookup_mods*: int8 - compat_lookup_mods*: int8 - ptr_buttons*: int16 - - -proc XkbModLocks*(s: PXkbStatePtr): int8 -proc XkbStateMods*(s: PXkbStatePtr): int16 -proc XkbGroupLock*(s: PXkbStatePtr): int8 -proc XkbStateGroup*(s: PXkbStatePtr): int16 -proc XkbStateFieldFromRec*(s: PXkbStatePtr): int -proc XkbGrabStateFromRec*(s: PXkbStatePtr): int -type - PXkbModsPtr* = ptr TXkbModsRec - TXkbModsRec*{.final.} = object - mask*: int8 # effective mods - real_mods*: int8 - vmods*: int16 - - -type - PXkbKTMapEntryPtr* = ptr TXkbKTMapEntryRec - TXkbKTMapEntryRec*{.final.} = object - active*: bool - level*: int8 - mods*: TXkbModsRec - - -type - PXkbKeyTypePtr* = ptr TXkbKeyTypeRec - TXkbKeyTypeRec*{.final.} = object - mods*: TXkbModsRec - num_levels*: int8 - map_count*: int8 - map*: PXkbKTMapEntryPtr - preserve*: PXkbModsPtr - name*: TAtom - level_names*: TAtom - - -proc XkbNumGroups*(g: int16): int16 -proc XkbOutOfRangeGroupInfo*(g: int16): int16 -proc XkbOutOfRangeGroupAction*(g: int16): int16 -proc XkbOutOfRangeGroupNumber*(g: int16): int16 -proc XkbSetGroupInfo*(g, w, n: int16): int16 -proc XkbSetNumGroups*(g, n: int16): int16 - # - # Structures and access macros used primarily by the server - # -type - PXkbBehavior* = ptr TXkbBehavior - TXkbBehavior*{.final.} = object - theType*: int8 - data*: int8 - - -type - PXkbModAction* = ptr TXkbModAction - TXkbModAction*{.final.} = object - theType*: int8 - flags*: int8 - mask*: int8 - real_mods*: int8 - vmods1*: int8 - vmods2*: int8 - - -proc XkbModActionVMods*(a: PXkbModAction): int16 -proc XkbSetModActionVMods*(a: PXkbModAction, v: int8) -type - PXkbGroupAction* = ptr TXkbGroupAction - TXkbGroupAction*{.final.} = object - theType*: int8 - flags*: int8 - group_XXX*: int8 - - -proc XkbSAGroup*(a: PXkbGroupAction): int8 -proc XkbSASetGroupProc*(a: PXkbGroupAction, g: int8) -type - PXkbISOAction* = ptr TXkbISOAction - TXkbISOAction*{.final.} = object - theType*: int8 - flags*: int8 - mask*: int8 - real_mods*: int8 - group_XXX*: int8 - affect*: int8 - vmods1*: int8 - vmods2*: int8 - - -type - PXkbPtrAction* = ptr TXkbPtrAction - TXkbPtrAction*{.final.} = object - theType*: int8 - flags*: int8 - high_XXX*: int8 - low_XXX*: int8 - high_YYY*: int8 - low_YYY*: int8 - - -proc XkbPtrActionX*(a: PXkbPtrAction): int16 -proc XkbPtrActionY*(a: PXkbPtrAction): int16 -proc XkbSetPtrActionX*(a: PXkbPtrAction, x: int8) -proc XkbSetPtrActionY*(a: PXkbPtrAction, y: int8) -type - PXkbPtrBtnAction* = ptr TXkbPtrBtnAction - TXkbPtrBtnAction*{.final.} = object - theType*: int8 - flags*: int8 - count*: int8 - button*: int8 - - -type - PXkbPtrDfltAction* = ptr TXkbPtrDfltAction - TXkbPtrDfltAction*{.final.} = object - theType*: int8 - flags*: int8 - affect*: int8 - valueXXX*: int8 - - -proc XkbSAPtrDfltValue*(a: PXkbPtrDfltAction): int8 -proc XkbSASetPtrDfltValue*(a: PXkbPtrDfltAction, c: pointer) -type - PXkbSwitchScreenAction* = ptr TXkbSwitchScreenAction - TXkbSwitchScreenAction*{.final.} = object - theType*: int8 - flags*: int8 - screenXXX*: int8 - - -proc XkbSAScreen*(a: PXkbSwitchScreenAction): int8 -proc XkbSASetScreen*(a: PXkbSwitchScreenAction, s: pointer) -type - PXkbCtrlsAction* = ptr TXkbCtrlsAction - TXkbCtrlsAction*{.final.} = object - theType*: int8 - flags*: int8 - ctrls3*: int8 - ctrls2*: int8 - ctrls1*: int8 - ctrls0*: int8 - - -proc XkbActionSetCtrls*(a: PXkbCtrlsAction, c: int8) -proc XkbActionCtrls*(a: PXkbCtrlsAction): int16 -type - PXkbMessageAction* = ptr TXkbMessageAction - TXkbMessageAction*{.final.} = object - theType*: int8 - flags*: int8 - message*: array[0..5, char] - - -type - PXkbRedirectKeyAction* = ptr TXkbRedirectKeyAction - TXkbRedirectKeyAction*{.final.} = object - theType*: int8 - new_key*: int8 - mods_mask*: int8 - mods*: int8 - vmods_mask0*: int8 - vmods_mask1*: int8 - vmods0*: int8 - vmods1*: int8 - - -proc XkbSARedirectVMods*(a: PXkbRedirectKeyAction): int16 -proc XkbSARedirectSetVMods*(a: PXkbRedirectKeyAction, m: int8) -proc XkbSARedirectVModsMask*(a: PXkbRedirectKeyAction): int16 -proc XkbSARedirectSetVModsMask*(a: PXkbRedirectKeyAction, m: int8) -type - PXkbDeviceBtnAction* = ptr TXkbDeviceBtnAction - TXkbDeviceBtnAction*{.final.} = object - theType*: int8 - flags*: int8 - count*: int8 - button*: int8 - device*: int8 - - -type - PXkbDeviceValuatorAction* = ptr TXkbDeviceValuatorAction - TXkbDeviceValuatorAction*{.final.} = object # - # Macros to classify key actions - # - theType*: int8 - device*: int8 - v1_what*: int8 - v1_ndx*: int8 - v1_value*: int8 - v2_what*: int8 - v2_ndx*: int8 - v2_value*: int8 - - -const - XkbAnyActionDataSize* = 7 - -type - PXkbAnyAction* = ptr TXkbAnyAction - TXkbAnyAction*{.final.} = object - theType*: int8 - data*: array[0..XkbAnyActionDataSize - 1, int8] - - -proc XkbIsModAction*(a: PXkbAnyAction): bool -proc XkbIsGroupAction*(a: PXkbAnyAction): bool -proc XkbIsPtrAction*(a: PXkbAnyAction): bool -type - PXkbAction* = ptr TXkbAction - TXkbAction*{.final.} = object # - # XKB request codes, used in: - # - xkbReqType field of all requests - # - requestMinor field of some events - # - any*: TXkbAnyAction - mods*: TXkbModAction - group*: TXkbGroupAction - iso*: TXkbISOAction - thePtr*: TXkbPtrAction - btn*: TXkbPtrBtnAction - dflt*: TXkbPtrDfltAction - screen*: TXkbSwitchScreenAction - ctrls*: TXkbCtrlsAction - msg*: TXkbMessageAction - redirect*: TXkbRedirectKeyAction - devbtn*: TXkbDeviceBtnAction - devval*: TXkbDeviceValuatorAction - theType*: int8 - - -const - X_kbUseExtension* = 0 - X_kbSelectEvents* = 1 - X_kbBell* = 3 - X_kbGetState* = 4 - X_kbLatchLockState* = 5 - X_kbGetControls* = 6 - X_kbSetControls* = 7 - X_kbGetMap* = 8 - X_kbSetMap* = 9 - X_kbGetCompatMap* = 10 - X_kbSetCompatMap* = 11 - X_kbGetIndicatorState* = 12 - X_kbGetIndicatorMap* = 13 - X_kbSetIndicatorMap* = 14 - X_kbGetNamedIndicator* = 15 - X_kbSetNamedIndicator* = 16 - X_kbGetNames* = 17 - X_kbSetNames* = 18 - X_kbGetGeometry* = 19 - X_kbSetGeometry* = 20 - X_kbPerClientFlags* = 21 - X_kbListComponents* = 22 - X_kbGetKbdByName* = 23 - X_kbGetDeviceInfo* = 24 - X_kbSetDeviceInfo* = 25 - X_kbSetDebuggingFlags* = 101 # - # In the X sense, XKB reports only one event. - # The type field of all XKB events is XkbEventCode - # - -const - XkbEventCode* = 0 - XkbNumberEvents* = XkbEventCode + 1 # - # XKB has a minor event code so it can use one X event code for - # multiple purposes. - # - reported in the xkbType field of all XKB events. - # - XkbSelectEventDetails: Indicates the event for which event details - # are being changed - # - -const - XkbNewKeyboardNotify* = 0 - XkbMapNotify* = 1 - XkbStateNotify* = 2 - XkbControlsNotify* = 3 - XkbIndicatorStateNotify* = 4 - XkbIndicatorMapNotify* = 5 - XkbNamesNotify* = 6 - XkbCompatMapNotify* = 7 - XkbBellNotify* = 8 - XkbActionMessage* = 9 - XkbAccessXNotify* = 10 - XkbExtensionDeviceNotify* = 11 # - # Event Mask: - # - XkbSelectEvents: Specifies event interest. - # - -const - XkbNewKeyboardNotifyMask* = int(1) shl 0 - XkbMapNotifyMask* = int(1) shl 1 - XkbStateNotifyMask* = int(1) shl 2 - XkbControlsNotifyMask* = int(1) shl 3 - XkbIndicatorStateNotifyMask* = int(1) shl 4 - XkbIndicatorMapNotifyMask* = int(1) shl 5 - XkbNamesNotifyMask* = int(1) shl 6 - XkbCompatMapNotifyMask* = int(1) shl 7 - XkbBellNotifyMask* = int(1) shl 8 - XkbActionMessageMask* = int(1) shl 9 - XkbAccessXNotifyMask* = int(1) shl 10 - XkbExtensionDeviceNotifyMask* = int(1) shl 11 - XkbAllEventsMask* = 0x00000FFF # - # NewKeyboardNotify event details: - # - -const - XkbNKN_KeycodesMask* = int(1) shl 0 - XkbNKN_GeometryMask* = int(1) shl 1 - XkbNKN_DeviceIDMask* = int(1) shl 2 - XkbAllNewKeyboardEventsMask* = 0x00000007 # - # AccessXNotify event types: - # - The 'what' field of AccessXNotify events reports the - # reason that the event was generated. - # - -const - XkbAXN_SKPress* = 0 - XkbAXN_SKAccept* = 1 - XkbAXN_SKReject* = 2 - XkbAXN_SKRelease* = 3 - XkbAXN_BKAccept* = 4 - XkbAXN_BKReject* = 5 - XkbAXN_AXKWarning* = 6 # - # AccessXNotify details: - # - Used as an event detail mask to limit the conditions under which - # AccessXNotify events are reported - # - -const - XkbAXN_SKPressMask* = int(1) shl 0 - XkbAXN_SKAcceptMask* = int(1) shl 1 - XkbAXN_SKRejectMask* = int(1) shl 2 - XkbAXN_SKReleaseMask* = int(1) shl 3 - XkbAXN_BKAcceptMask* = int(1) shl 4 - XkbAXN_BKRejectMask* = int(1) shl 5 - XkbAXN_AXKWarningMask* = int(1) shl 6 - XkbAllAccessXEventsMask* = 0x0000000F # - # State detail mask: - # - The 'changed' field of StateNotify events reports which of - # the keyboard state components have changed. - # - Used as an event detail mask to limit the conditions under - # which StateNotify events are reported. - # - -const - XkbModifierStateMask* = int(1) shl 0 - XkbModifierBaseMask* = int(1) shl 1 - XkbModifierLatchMask* = int(1) shl 2 - XkbModifierLockMask* = int(1) shl 3 - XkbGroupStateMask* = int(1) shl 4 - XkbGroupBaseMask* = int(1) shl 5 - XkbGroupLatchMask* = int(1) shl 6 - XkbGroupLockMask* = int(1) shl 7 - XkbCompatStateMask* = int(1) shl 8 - XkbGrabModsMask* = int(1) shl 9 - XkbCompatGrabModsMask* = int(1) shl 10 - XkbLookupModsMask* = int(1) shl 11 - XkbCompatLookupModsMask* = int(1) shl 12 - XkbPointerButtonMask* = int(1) shl 13 - XkbAllStateComponentsMask* = 0x00003FFF # - # Controls detail masks: - # The controls specified in XkbAllControlsMask: - # - The 'changed' field of ControlsNotify events reports which of - # the keyboard controls have changed. - # - The 'changeControls' field of the SetControls request specifies - # the controls for which values are to be changed. - # - Used as an event detail mask to limit the conditions under - # which ControlsNotify events are reported. - # - # The controls specified in the XkbAllBooleanCtrlsMask: - # - The 'enabledControls' field of ControlsNotify events reports the - # current status of the boolean controls. - # - The 'enabledControlsChanges' field of ControlsNotify events reports - # any boolean controls that have been turned on or off. - # - The 'affectEnabledControls' and 'enabledControls' fields of the - # kbSetControls request change the set of enabled controls. - # - The 'accessXTimeoutMask' and 'accessXTimeoutValues' fields of - # an XkbControlsRec specify the controls to be changed if the keyboard - # times out and the values to which they should be changed. - # - The 'autoCtrls' and 'autoCtrlsValues' fields of the PerClientFlags - # request specifies the specify the controls to be reset when the - # client exits and the values to which they should be reset. - # - The 'ctrls' field of an indicator map specifies the controls - # that drive the indicator. - # - Specifies the boolean controls affected by the SetControls and - # LockControls key actions. - # - -const - XkbRepeatKeysMask* = int(1) shl 0 - XkbSlowKeysMask* = int(1) shl 1 - XkbBounceKeysMask* = int(1) shl 2 - XkbStickyKeysMask* = int(1) shl 3 - XkbMouseKeysMask* = int(1) shl 4 - XkbMouseKeysAccelMask* = int(1) shl 5 - XkbAccessXKeysMask* = int(1) shl 6 - XkbAccessXTimeoutMask* = int(1) shl 7 - XkbAccessXFeedbackMask* = int(1) shl 8 - XkbAudibleBellMask* = int(1) shl 9 - XkbOverlay1Mask* = int(1) shl 10 - XkbOverlay2Mask* = int(1) shl 11 - XkbIgnoreGroupLockMask* = int(1) shl 12 - XkbGroupsWrapMask* = int(1) shl 27 - XkbInternalModsMask* = int(1) shl 28 - XkbIgnoreLockModsMask* = int(1) shl 29 - XkbPerKeyRepeatMask* = int(1) shl 30 - XkbControlsEnabledMask* = int(1) shl 31 - XkbAccessXOptionsMask* = XkbStickyKeysMask or XkbAccessXFeedbackMask - XkbAllBooleanCtrlsMask* = 0x00001FFF - XkbAllControlsMask* = 0xF8001FFF # - # Compatibility Map Compontents: - # - Specifies the components to be allocated in XkbAllocCompatMap. - # - -const - XkbSymInterpMask* = 1 shl 0 - XkbGroupCompatMask* = 1 shl 1 - XkbAllCompatMask* = 0x00000003 # - # Assorted constants and limits. - # - -const - XkbAllIndicatorsMask* = 0xFFFFFFFF # - # Map components masks: - # Those in AllMapComponentsMask: - # - Specifies the individual fields to be loaded or changed for the - # GetMap and SetMap requests. - # Those in ClientInfoMask: - # - Specifies the components to be allocated by XkbAllocClientMap. - # Those in ServerInfoMask: - # - Specifies the components to be allocated by XkbAllocServerMap. - # - -const - XkbKeyTypesMask* = 1 shl 0 - XkbKeySymsMask* = 1 shl 1 - XkbModifierMapMask* = 1 shl 2 - XkbExplicitComponentsMask* = 1 shl 3 - XkbKeyActionsMask* = 1 shl 4 - XkbKeyBehaviorsMask* = 1 shl 5 - XkbVirtualModsMask* = 1 shl 6 - XkbVirtualModMapMask* = 1 shl 7 - XkbAllClientInfoMask* = XkbKeyTypesMask or XkbKeySymsMask or - XkbModifierMapMask - XkbAllServerInfoMask* = XkbExplicitComponentsMask or XkbKeyActionsMask or - XkbKeyBehaviorsMask or XkbVirtualModsMask or XkbVirtualModMapMask - XkbAllMapComponentsMask* = XkbAllClientInfoMask or XkbAllServerInfoMask # - # Names component mask: - # - Specifies the names to be loaded or changed for the GetNames and - # SetNames requests. - # - Specifies the names that have changed in a NamesNotify event. - # - Specifies the names components to be allocated by XkbAllocNames. - # - -const - XkbKeycodesNameMask* = 1 shl 0 - XkbGeometryNameMask* = 1 shl 1 - XkbSymbolsNameMask* = 1 shl 2 - XkbPhysSymbolsNameMask* = 1 shl 3 - XkbTypesNameMask* = 1 shl 4 - XkbCompatNameMask* = 1 shl 5 - XkbKeyTypeNamesMask* = 1 shl 6 - XkbKTLevelNamesMask* = 1 shl 7 - XkbIndicatorNamesMask* = 1 shl 8 - XkbKeyNamesMask* = 1 shl 9 - XkbKeyAliasesMask* = 1 shl 10 - XkbVirtualModNamesMask* = 1 shl 11 - XkbGroupNamesMask* = 1 shl 12 - XkbRGNamesMask* = 1 shl 13 - XkbComponentNamesMask* = 0x0000003F - XkbAllNamesMask* = 0x00003FFF # - # Miscellaneous event details: - # - event detail masks for assorted events that don't reall - # have any details. - # - -const - XkbAllStateEventsMask* = XkbAllStateComponentsMask - XkbAllMapEventsMask* = XkbAllMapComponentsMask - XkbAllControlEventsMask* = XkbAllControlsMask - XkbAllIndicatorEventsMask* = XkbAllIndicatorsMask - XkbAllNameEventsMask* = XkbAllNamesMask - XkbAllCompatMapEventsMask* = XkbAllCompatMask - XkbAllBellEventsMask* = int(1) shl 0 - XkbAllActionMessagesMask* = int(1) shl 0 # - # XKB reports one error: BadKeyboard - # A further reason for the error is encoded into to most significant - # byte of the resourceID for the error: - # XkbErr_BadDevice - the device in question was not found - # XkbErr_BadClass - the device was found but it doesn't belong to - # the appropriate class. - # XkbErr_BadId - the device was found and belongs to the right - # class, but not feedback with a matching id was - # found. - # The low byte of the resourceID for this error contains the device - # id, class specifier or feedback id that failed. - # - -const - XkbKeyboard* = 0 - XkbNumberErrors* = 1 - XkbErr_BadDevice* = 0x000000FF - XkbErr_BadClass* = 0x000000FE - XkbErr_BadId* = 0x000000FD # - # Keyboard Components Mask: - # - Specifies the components that follow a GetKeyboardByNameReply - # - -const - XkbClientMapMask* = int(1) shl 0 - XkbServerMapMask* = int(1) shl 1 - XkbCompatMapMask* = int(1) shl 2 - XkbIndicatorMapMask* = int(1) shl 3 - XkbNamesMask* = int(1) shl 4 - XkbGeometryMask* = int(1) shl 5 - XkbControlsMask* = int(1) shl 6 - XkbAllComponentsMask* = 0x0000007F # - # AccessX Options Mask - # - The 'accessXOptions' field of an XkbControlsRec specifies the - # AccessX options that are currently in effect. - # - The 'accessXTimeoutOptionsMask' and 'accessXTimeoutOptionsValues' - # fields of an XkbControlsRec specify the Access X options to be - # changed if the keyboard times out and the values to which they - # should be changed. - # - -const - XkbAX_SKPressFBMask* = int(1) shl 0 - XkbAX_SKAcceptFBMask* = int(1) shl 1 - XkbAX_FeatureFBMask* = int(1) shl 2 - XkbAX_SlowWarnFBMask* = int(1) shl 3 - XkbAX_IndicatorFBMask* = int(1) shl 4 - XkbAX_StickyKeysFBMask* = int(1) shl 5 - XkbAX_TwoKeysMask* = int(1) shl 6 - XkbAX_LatchToLockMask* = int(1) shl 7 - XkbAX_SKReleaseFBMask* = int(1) shl 8 - XkbAX_SKRejectFBMask* = int(1) shl 9 - XkbAX_BKRejectFBMask* = int(1) shl 10 - XkbAX_DumbBellFBMask* = int(1) shl 11 - XkbAX_FBOptionsMask* = 0x00000F3F - XkbAX_SKOptionsMask* = 0x000000C0 - XkbAX_AllOptionsMask* = 0x00000FFF # - # XkbUseCoreKbd is used to specify the core keyboard without having - # to look up its X input extension identifier. - # XkbUseCorePtr is used to specify the core pointer without having - # to look up its X input extension identifier. - # XkbDfltXIClass is used to specify "don't care" any place that the - # XKB protocol is looking for an X Input Extension - # device class. - # XkbDfltXIId is used to specify "don't care" any place that the - # XKB protocol is looking for an X Input Extension - # feedback identifier. - # XkbAllXIClasses is used to get information about all device indicators, - # whether they're part of the indicator feedback class - # or the keyboard feedback class. - # XkbAllXIIds is used to get information about all device indicator - # feedbacks without having to list them. - # XkbXINone is used to indicate that no class or id has been specified. - # XkbLegalXILedClass(c) True if 'c' specifies a legal class with LEDs - # XkbLegalXIBellClass(c) True if 'c' specifies a legal class with bells - # XkbExplicitXIDevice(d) True if 'd' explicitly specifies a device - # XkbExplicitXIClass(c) True if 'c' explicitly specifies a device class - # XkbExplicitXIId(c) True if 'i' explicitly specifies a device id - # XkbSingleXIClass(c) True if 'c' specifies exactly one device class, - # including the default. - # XkbSingleXIId(i) True if 'i' specifies exactly one device - # identifier, including the default. - # - -const - XkbUseCoreKbd* = 0x00000100 - XkbUseCorePtr* = 0x00000200 - XkbDfltXIClass* = 0x00000300 - XkbDfltXIId* = 0x00000400 - XkbAllXIClasses* = 0x00000500 - XkbAllXIIds* = 0x00000600 - XkbXINone* = 0x0000FF00 - -proc XkbLegalXILedClass*(c: int): bool -proc XkbLegalXIBellClass*(c: int): bool -proc XkbExplicitXIDevice*(c: int): bool -proc XkbExplicitXIClass*(c: int): bool -proc XkbExplicitXIId*(c: int): bool -proc XkbSingleXIClass*(c: int): bool -proc XkbSingleXIId*(c: int): bool -const - XkbNoModifier* = 0x000000FF - XkbNoShiftLevel* = 0x000000FF - XkbNoShape* = 0x000000FF - XkbNoIndicator* = 0x000000FF - XkbNoModifierMask* = 0 - XkbAllModifiersMask* = 0x000000FF - XkbAllVirtualModsMask* = 0x0000FFFF - XkbNumKbdGroups* = 4 - XkbMaxKbdGroup* = XkbNumKbdGroups - 1 - XkbMaxMouseKeysBtn* = 4 # - # Group Index and Mask: - # - Indices into the kt_index array of a key type. - # - Mask specifies types to be changed for XkbChangeTypesOfKey - # - -const - XkbGroup1Index* = 0 - XkbGroup2Index* = 1 - XkbGroup3Index* = 2 - XkbGroup4Index* = 3 - XkbAnyGroup* = 254 - XkbAllGroups* = 255 - XkbGroup1Mask* = 1 shl 0 - XkbGroup2Mask* = 1 shl 1 - XkbGroup3Mask* = 1 shl 2 - XkbGroup4Mask* = 1 shl 3 - XkbAnyGroupMask* = 1 shl 7 - XkbAllGroupsMask* = 0x0000000F # - # BuildCoreState: Given a keyboard group and a modifier state, - # construct the value to be reported an event. - # GroupForCoreState: Given the state reported in an event, - # determine the keyboard group. - # IsLegalGroup: Returns TRUE if 'g' is a valid group index. - # - -proc XkbBuildCoreState*(m, g: int): int -proc XkbGroupForCoreState*(s: int): int -proc XkbIsLegalGroup*(g: int): bool - # - # GroupsWrap values: - # - The 'groupsWrap' field of an XkbControlsRec specifies the - # treatment of out of range groups. - # - Bits 6 and 7 of the group info field of a key symbol map - # specify the interpretation of out of range groups for the - # corresponding key. - # -const - XkbWrapIntoRange* = 0x00000000 - XkbClampIntoRange* = 0x00000040 - XkbRedirectIntoRange* = 0x00000080 # - # Action flags: Reported in the 'flags' field of most key actions. - # Interpretation depends on the type of the action; not all actions - # accept all flags. - # - # Option Used for Actions - # ------ ---------------- - # ClearLocks SetMods, LatchMods, SetGroup, LatchGroup - # LatchToLock SetMods, LatchMods, SetGroup, LatchGroup - # LockNoLock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn - # LockNoUnlock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn - # UseModMapMods SetMods, LatchMods, LockMods, ISOLock - # GroupAbsolute SetGroup, LatchGroup, LockGroup, ISOLock - # UseDfltButton PtrBtn, LockPtrBtn - # NoAcceleration MovePtr - # MoveAbsoluteX MovePtr - # MoveAbsoluteY MovePtr - # ISODfltIsGroup ISOLock - # ISONoAffectMods ISOLock - # ISONoAffectGroup ISOLock - # ISONoAffectPtr ISOLock - # ISONoAffectCtrls ISOLock - # MessageOnPress ActionMessage - # MessageOnRelease ActionMessage - # MessageGenKeyEvent ActionMessage - # AffectDfltBtn SetPtrDflt - # DfltBtnAbsolute SetPtrDflt - # SwitchApplication SwitchScreen - # SwitchAbsolute SwitchScreen - # - -const - XkbSA_ClearLocks* = int(1) shl 0 - XkbSA_LatchToLock* = int(1) shl 1 - XkbSA_LockNoLock* = int(1) shl 0 - XkbSA_LockNoUnlock* = int(1) shl 1 - XkbSA_UseModMapMods* = int(1) shl 2 - XkbSA_GroupAbsolute* = int(1) shl 2 - XkbSA_UseDfltButton* = 0 - XkbSA_NoAcceleration* = int(1) shl 0 - XkbSA_MoveAbsoluteX* = int(1) shl 1 - XkbSA_MoveAbsoluteY* = int(1) shl 2 - XkbSA_ISODfltIsGroup* = int(1) shl 7 - XkbSA_ISONoAffectMods* = int(1) shl 6 - XkbSA_ISONoAffectGroup* = int(1) shl 5 - XkbSA_ISONoAffectPtr* = int(1) shl 4 - XkbSA_ISONoAffectCtrls* = int(1) shl 3 - XkbSA_ISOAffectMask* = 0x00000078 - XkbSA_MessageOnPress* = int(1) shl 0 - XkbSA_MessageOnRelease* = int(1) shl 1 - XkbSA_MessageGenKeyEvent* = int(1) shl 2 - XkbSA_AffectDfltBtn* = 1 - XkbSA_DfltBtnAbsolute* = int(1) shl 2 - XkbSA_SwitchApplication* = int(1) shl 0 - XkbSA_SwitchAbsolute* = int(1) shl 2 # - # The following values apply to the SA_DeviceValuator - # action only. Valuator operations specify the action - # to be taken. Values specified in the action are - # multiplied by 2^scale before they are applied. - # - -const - XkbSA_IgnoreVal* = 0x00000000 - XkbSA_SetValMin* = 0x00000010 - XkbSA_SetValCenter* = 0x00000020 - XkbSA_SetValMax* = 0x00000030 - XkbSA_SetValRelative* = 0x00000040 - XkbSA_SetValAbsolute* = 0x00000050 - XkbSA_ValOpMask* = 0x00000070 - XkbSA_ValScaleMask* = 0x00000007 - -proc XkbSA_ValOp*(a: int): int -proc XkbSA_ValScale*(a: int): int - # - # Action types: specifies the type of a key action. Reported in the - # type field of all key actions. - # -const - XkbSA_NoAction* = 0x00000000 - XkbSA_SetMods* = 0x00000001 - XkbSA_LatchMods* = 0x00000002 - XkbSA_LockMods* = 0x00000003 - XkbSA_SetGroup* = 0x00000004 - XkbSA_LatchGroup* = 0x00000005 - XkbSA_LockGroup* = 0x00000006 - XkbSA_MovePtr* = 0x00000007 - XkbSA_PtrBtn* = 0x00000008 - XkbSA_LockPtrBtn* = 0x00000009 - XkbSA_SetPtrDflt* = 0x0000000A - XkbSA_ISOLock* = 0x0000000B - XkbSA_Terminate* = 0x0000000C - XkbSA_SwitchScreen* = 0x0000000D - XkbSA_SetControls* = 0x0000000E - XkbSA_LockControls* = 0x0000000F - XkbSA_ActionMessage* = 0x00000010 - XkbSA_RedirectKey* = 0x00000011 - XkbSA_DeviceBtn* = 0x00000012 - XkbSA_LockDeviceBtn* = 0x00000013 - XkbSA_DeviceValuator* = 0x00000014 - XkbSA_LastAction* = XkbSA_DeviceValuator - XkbSA_NumActions* = XkbSA_LastAction + 1 - -const - XkbSA_XFree86Private* = 0x00000086 -# -# Specifies the key actions that clear latched groups or modifiers. -# - -const ##define XkbSA_BreakLatch \ - # ((1<>13)&0x3) - Result = (s shr 13) and 0x00000003 - -proc XkbIsLegalGroup(g: int): bool = - ##define XkbIsLegalGroup(g) (((g)>=0)&&((g)= 0) and (g < XkbNumKbdGroups) - -proc XkbSA_ValOp(a: int): int = - ##define XkbSA_ValOp(a) ((a)&XkbSA_ValOpMask) - Result = a and XkbSA_ValOpMask - -proc XkbSA_ValScale(a: int): int = - ##define XkbSA_ValScale(a) ((a)&XkbSA_ValScaleMask) - Result = a and XkbSA_ValScaleMask - -proc XkbIsModAction(a: PXkbAnyAction): bool = - ##define XkbIsModAction(a) (((a)->type>=Xkb_SASetMods)&&((a)->type<=XkbSA_LockMods)) - Result = (ze(a.theType) >= XkbSA_SetMods) and (ze(a.theType) <= XkbSA_LockMods) - -proc XkbIsGroupAction(a: PXkbAnyAction): bool = - ##define XkbIsGroupAction(a) (((a)->type>=XkbSA_SetGroup)&&((a)->type<=XkbSA_LockGroup)) - Result = (ze(a.theType) >= XkbSA_SetGroup) or (ze(a.theType) <= XkbSA_LockGroup) - -proc XkbIsPtrAction(a: PXkbAnyAction): bool = - ##define XkbIsPtrAction(a) (((a)->type>=XkbSA_MovePtr)&&((a)->type<=XkbSA_SetPtrDflt)) - Result = (ze(a.theType) >= XkbSA_MovePtr) and - (ze(a.theType) <= XkbSA_SetPtrDflt) - -proc XkbIsLegalKeycode(k: int): bool = - ##define XkbIsLegalKeycode(k) (((k)>=XkbMinLegalKeyCode)&&((k)<=XkbMaxLegalKeyCode)) - Result = (k >= XkbMinLegalKeyCode) and (k <= XkbMaxLegalKeyCode) - -proc XkbShiftLevel(n: int8): int8 = - ##define XkbShiftLevel(n) ((n)-1) - Result = n - 1'i8 - -proc XkbShiftLevelMask(n: int8): int8 = - ##define XkbShiftLevelMask(n) (1<<((n)-1)) - Result = 1'i8 shl (n - 1'i8) - -proc XkbCharToInt(v: int8): int16 = - ##define XkbCharToInt(v) ((v)&0x80?(int)((v)|(~0xff)):(int)((v)&0x7f)) - if ((v and 0x80'i8) != 0'i8): Result = v or (not 0xFF'i16) - else: Result = int16(v and 0x7F'i8) - -proc XkbIntTo2Chars(i: int16, h, L: var int8) = - ##define XkbIntTo2Chars(i,h,l) (((h)=((i>>8)&0xff)),((l)=((i)&0xff))) - h = toU8((i shr 8'i16) and 0x00FF'i16) - L = toU8(i and 0xFF'i16) - -proc Xkb2CharsToInt(h, L: int8): int16 = - when defined(cpu64): - ##define Xkb2CharsToInt(h,l) ((h)&0x80?(int)(((h)<<8)|(l)|(~0xffff)): (int)(((h)<<8)|(l)&0x7fff)) - if (h and 0x80'i8) != 0'i8: - Result = toU16((ze(h) shl 8) or ze(L) or not 0x0000FFFF) - else: - Result = toU16((ze(h) shl 8) or ze(L) and 0x00007FFF) - else: - ##define Xkb2CharsToInt(h,l) ((short)(((h)<<8)|(l))) - Result = toU16(ze(h) shl 8 or ze(L)) - -proc XkbModLocks(s: PXkbStatePtr): int8 = - ##define XkbModLocks(s) ((s)->locked_mods) - Result = s.locked_mods - -proc XkbStateMods(s: PXkbStatePtr): int16 = - ##define XkbStateMods(s) ((s)->base_mods|(s)->latched_mods|XkbModLocks(s)) - Result = s.base_mods or s.latched_mods or XkbModLocks(s) - -proc XkbGroupLock(s: PXkbStatePtr): int8 = - ##define XkbGroupLock(s) ((s)->locked_group) - Result = s.locked_group - -proc XkbStateGroup(s: PXkbStatePtr): int16 = - ##define XkbStateGroup(s) ((s)->base_group+(s)->latched_group+XkbGroupLock(s)) - Result = S.base_group + (s.latched_group) + XkbGroupLock(s) - -proc XkbStateFieldFromRec(s: PXkbStatePtr): int = - ##define XkbStateFieldFromRec(s) XkbBuildCoreState((s)->lookup_mods,(s)->group) - Result = XkbBuildCoreState(s.lookup_mods, s.group) - -proc XkbGrabStateFromRec(s: PXkbStatePtr): int = - ##define XkbGrabStateFromRec(s) XkbBuildCoreState((s)->grab_mods,(s)->group) - Result = XkbBuildCoreState(s.grab_mods, s.group) - -proc XkbNumGroups(g: int16): int16 = - ##define XkbNumGroups(g) ((g)&0x0f) - Result = g and 0x0000000F'i16 - -proc XkbOutOfRangeGroupInfo(g: int16): int16 = - ##define XkbOutOfRangeGroupInfo(g) ((g)&0xf0) - Result = g and 0x000000F0'i16 - -proc XkbOutOfRangeGroupAction(g: int16): int16 = - ##define XkbOutOfRangeGroupAction(g) ((g)&0xc0) - Result = g and 0x000000C0'i16 - -proc XkbOutOfRangeGroupNumber(g: int16): int16 = - ##define XkbOutOfRangeGroupNumber(g) (((g)&0x30)>>4) - Result = (g and 0x00000030'i16) shr 4'i16 - -proc XkbSetGroupInfo(g, w, n: int16): int16 = - ##define XkbSetGroupInfo(g,w,n) (((w)&0xc0)|(((n)&3)<<4)|((g)&0x0f)) - Result = (w and 0x000000C0'i16) or - ((n and 3'i16) shl 4'i16) or (g and 0x0000000F'i16) - -proc XkbSetNumGroups(g, n: int16): int16 = - ##define XkbSetNumGroups(g,n) (((g)&0xf0)|((n)&0x0f)) - Result = (g and 0x000000F0'i16) or (n and 0x0000000F'i16) - -proc XkbModActionVMods(a: PXkbModAction): int16 = - ##define XkbModActionVMods(a) ((short)(((a)->vmods1<<8)|((a)->vmods2))) - Result = toU16((ze(a.vmods1) shl 8) or ze(a.vmods2)) - -proc XkbSetModActionVMods(a: PXkbModAction, v: int8) = - ##define XkbSetModActionVMods(a,v) (((a)->vmods1=(((v)>>8)&0xff)),(a)->vmods2=((v)&0xff)) - a.vmods1 = toU8((ze(v) shr 8) and 0x000000FF) - a.vmods2 = toU8(ze(v) and 0x000000FF) - -proc XkbSAGroup(a: PXkbGroupAction): int8 = - ##define XkbSAGroup(a) (XkbCharToInt((a)->group_XXX)) - Result = int8(XkbCharToInt(a.group_XXX)) - -proc XkbSASetGroupProc(a: PXkbGroupAction, g: int8) = - ##define XkbSASetGroup(a,g) ((a)->group_XXX=(g)) - a.group_XXX = g - -proc XkbPtrActionX(a: PXkbPtrAction): int16 = - ##define XkbPtrActionX(a) (Xkb2CharsToInt((a)->high_XXX,(a)->low_XXX)) - Result = int16(Xkb2CharsToInt(a.high_XXX, a.low_XXX)) - -proc XkbPtrActionY(a: PXkbPtrAction): int16 = - ##define XkbPtrActionY(a) (Xkb2CharsToInt((a)->high_YYY,(a)->low_YYY)) - Result = int16(Xkb2CharsToInt(a.high_YYY, a.low_YYY)) - -proc XkbSetPtrActionX(a: PXkbPtrAction, x: int8) = - ##define XkbSetPtrActionX(a,x) (XkbIntTo2Chars(x,(a)->high_XXX,(a)->low_XXX)) - XkbIntTo2Chars(x, a.high_XXX, a.low_XXX) - -proc XkbSetPtrActionY(a: PXkbPtrAction, y: int8) = - ##define XkbSetPtrActionY(a,y) (XkbIntTo2Chars(y,(a)->high_YYY,(a)->low_YYY)) - XkbIntTo2Chars(y, a.high_YYY, a.low_YYY) - -proc XkbSAPtrDfltValue(a: PXkbPtrDfltAction): int8 = - ##define XkbSAPtrDfltValue(a) (XkbCharToInt((a)->valueXXX)) - Result = int8(XkbCharToInt(a.valueXXX)) - -proc XkbSASetPtrDfltValue(a: PXkbPtrDfltAction, c: pointer) = - ##define XkbSASetPtrDfltValue(a,c) ((a)->valueXXX= ((c)&0xff)) - a.valueXXX = toU8(cast[int](c)) - -proc XkbSAScreen(a: PXkbSwitchScreenAction): int8 = - ##define XkbSAScreen(a) (XkbCharToInt((a)->screenXXX)) - Result = toU8(XkbCharToInt(a.screenXXX)) - -proc XkbSASetScreen(a: PXkbSwitchScreenAction, s: pointer) = - ##define XkbSASetScreen(a,s) ((a)->screenXXX= ((s)&0xff)) - a.screenXXX = toU8(cast[int](s)) - -proc XkbActionSetCtrls(a: PXkbCtrlsAction, c: int8) = - ##define XkbActionSetCtrls(a,c) (((a)->ctrls3=(((c)>>24)&0xff)),((a)->ctrls2=(((c)>>16)&0xff)), - # ((a)->ctrls1=(((c)>>8)&0xff)),((a)->ctrls0=((c)&0xff))) - a.ctrls3 = toU8((ze(c) shr 24) and 0x000000FF) - a.ctrls2 = toU8((ze(c) shr 16) and 0x000000FF) - a.ctrls1 = toU8((ze(c) shr 8) and 0x000000FF) - a.ctrls0 = toU8(ze(c) and 0x000000FF) - -proc XkbActionCtrls(a: PXkbCtrlsAction): int16 = - ##define XkbActionCtrls(a) ((((unsigned int)(a)->ctrls3)<<24)|(((unsigned int)(a)->ctrls2)<<16)| - # (((unsigned int)(a)->ctrls1)<<8)|((unsigned int)((a)->ctrls0))) - Result = toU16((ze(a.ctrls3) shl 24) or (ze(a.ctrls2) shl 16) or - (ze(a.ctrls1) shl 8) or ze(a.ctrls0)) - -proc XkbSARedirectVMods(a: PXkbRedirectKeyAction): int16 = - ##define XkbSARedirectVMods(a) ((((unsigned int)(a)->vmods1)<<8)|((unsigned int)(a)->vmods0)) - Result = toU16((ze(a.vmods1) shl 8) or ze(a.vmods0)) - -proc XkbSARedirectSetVMods(a: PXkbRedirectKeyAction, m: int8) = - ##define XkbSARedirectSetVMods(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),((a)->vmods_mask0=((m)&0xff))) - a.vmods_mask1 = toU8((ze(m) shr 8) and 0x000000FF) - a.vmods_mask0 = toU8(ze(m) or 0x000000FF) - -proc XkbSARedirectVModsMask(a: PXkbRedirectKeyAction): int16 = - ##define XkbSARedirectVModsMask(a) ((((unsigned int)(a)->vmods_mask1)<<8)| - # ((unsigned int)(a)->vmods_mask0)) - Result = toU16((ze(a.vmods_mask1) shl 8) or ze(a.vmods_mask0)) - -proc XkbSARedirectSetVModsMask(a: PXkbRedirectKeyAction, m: int8) = - ##define XkbSARedirectSetVModsMask(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),((a)->vmods_mask0=((m)&0xff))) - a.vmods_mask1 = toU8(ze(m) shr 8 and 0x000000FF) - a.vmods_mask0 = toU8(ze(m) and 0x000000FF) - -proc XkbAX_AnyFeedback(c: PXkbControlsPtr): int16 = - ##define XkbAX_AnyFeedback(c) ((c)->enabled_ctrls&XkbAccessXFeedbackMask) - Result = toU16(ze(c.enabled_ctrls) and XkbAccessXFeedbackMask) - -proc XkbAX_NeedOption(c: PXkbControlsPtr, w: int16): int16 = - ##define XkbAX_NeedOption(c,w) ((c)->ax_options&(w)) - Result = toU16(ze(c.ax_options) and ze(w)) - -proc XkbAX_NeedFeedback(c: PXkbControlsPtr, w: int16): bool = - ##define XkbAX_NeedFeedback(c,w) (XkbAX_AnyFeedback(c)&&XkbAX_NeedOption(c,w)) - Result = (XkbAX_AnyFeedback(c) > 0'i16) and (XkbAX_NeedOption(c, w) > 0'i16) - -proc XkbSMKeyActionsPtr(m: PXkbServerMapPtr, k: int16): PXkbAction = - ##define XkbSMKeyActionsPtr(m,k) (&(m)->acts[(m)->key_acts[k]]) - Result = addr(m.acts[ze(m.key_acts[ze(k)])]) - -proc XkbCMKeyGroupInfo(m: PXkbClientMapPtr, k: int16): int8 = - ##define XkbCMKeyGroupInfo(m,k) ((m)->key_sym_map[k].group_info) - Result = m.key_sym_map[ze(k)].group_info - -proc XkbCMKeyNumGroups(m: PXkbClientMapPtr, k: int16): int8 = - ##define XkbCMKeyNumGroups(m,k) (XkbNumGroups((m)->key_sym_map[k].group_info)) - Result = toU8(XkbNumGroups(m.key_sym_map[ze(k)].group_info)) - -proc XkbCMKeyGroupWidth(m: PXkbClientMapPtr, k: int16, g: int8): int8 = - ##define XkbCMKeyGroupWidth(m,k,g) (XkbCMKeyType(m,k,g)->num_levels) - Result = XkbCMKeyType(m, k, g).num_levels - -proc XkbCMKeyGroupsWidth(m: PXkbClientMapPtr, K: int16): int8 = - ##define XkbCMKeyGroupsWidth(m,k) ((m)->key_sym_map[k].width) - Result = m.key_sym_map[ze(k)].width - -proc XkbCMKeyTypeIndex(m: PXkbClientMapPtr, k: int16, g: int8): int8 = - ##define XkbCMKeyTypeIndex(m,k,g) ((m)->key_sym_map[k].kt_index[g&0x3]) - Result = m.key_sym_map[ze(k)].kt_index[ze(g) and 0x00000003] - -proc XkbCMKeyType(m: PXkbClientMapPtr, k: int16, g: int8): PXkbKeyTypePtr = - ##define XkbCMKeyType(m,k,g) (&(m)->types[XkbCMKeyTypeIndex(m,k,g)]) - Result = addr(m.types[ze(XkbCMKeyTypeIndex(m, k, g))]) - -proc XkbCMKeyNumSyms(m: PXkbClientMapPtr, k: int16): int16 = - ##define XkbCMKeyNumSyms(m,k) (XkbCMKeyGroupsWidth(m,k)*XkbCMKeyNumGroups(m,k)) - Result = toU16(ze(XkbCMKeyGroupsWidth(m, k)) or ze(XkbCMKeyNumGroups(m, k))) - -proc XkbCMKeySymsOffset(m: PXkbClientMapPtr, k: int16): int8 = - ##define XkbCMKeySymsOffset(m,k) ((m)->key_sym_map[k].offset) - Result = m.key_sym_map[ze(k)].offset - -proc XkbCMKeySymsPtr*(m: PXkbClientMapPtr, k: int16): PKeySym = - ##define XkbCMKeySymsPtr(m,k) (&(m)->syms[XkbCMKeySymsOffset(m,k)]) - Result = addr(m.syms[ze(XkbCMKeySymsOffset(m, k))]) - -proc XkbIM_IsAuto(i: PXkbIndicatorMapPtr): bool = - ##define XkbIM_IsAuto(i) ((((i)->flags&XkbIM_NoAutomatic)==0)&&(((i)->which_groups&&(i)->groups)|| - # ((i)->which_mods&&(i)->mods.mask)|| ((i)->ctrls))) - Result = ((ze(i.flags) and XkbIM_NoAutomatic) == 0) and - (((i.which_groups > 0'i8) and (i.groups > 0'i8)) or - ((i.which_mods > 0'i8) and (i.mods.mask > 0'i8)) or (i.ctrls > 0'i8)) - -proc XkbIM_InUse(i: PXkbIndicatorMapPtr): bool = - ##define XkbIM_InUse(i) (((i)->flags)||((i)->which_groups)||((i)->which_mods)||((i)->ctrls)) - Result = (i.flags > 0'i8) or (i.which_groups > 0'i8) or (i.which_mods > 0'i8) or - (i.ctrls > 0'i8) - -proc XkbKeyKeyTypeIndex(d: PXkbDescPtr, k: int16, g: int8): int8 = - ##define XkbKeyKeyTypeIndex(d,k,g) (XkbCMKeyTypeIndex((d)->map,k,g)) - Result = XkbCMKeyTypeIndex(d.map, k, g) - -proc XkbKeyKeyType(d: PXkbDescPtr, k: int16, g: int8): PXkbKeyTypePtr = - ##define XkbKeyKeyType(d,k,g) (XkbCMKeyType((d)->map,k,g)) - Result = XkbCMKeyType(d.map, k, g) - -proc XkbKeyGroupWidth(d: PXkbDescPtr, k: int16, g: int8): int8 = - ##define XkbKeyGroupWidth(d,k,g) (XkbCMKeyGroupWidth((d)->map,k,g)) - Result = XkbCMKeyGroupWidth(d.map, k, g) - -proc XkbKeyGroupsWidth(d: PXkbDescPtr, k: int16): int8 = - ##define XkbKeyGroupsWidth(d,k) (XkbCMKeyGroupsWidth((d)->map,k)) - Result = XkbCMKeyGroupsWidth(d.map, k) - -proc XkbKeyGroupInfo(d: PXkbDescPtr, k: int16): int8 = - ##define XkbKeyGroupInfo(d,k) (XkbCMKeyGroupInfo((d)->map,(k))) - Result = XkbCMKeyGroupInfo(d.map, k) - -proc XkbKeyNumGroups(d: PXkbDescPtr, k: int16): int8 = - ##define XkbKeyNumGroups(d,k) (XkbCMKeyNumGroups((d)->map,(k))) - Result = XkbCMKeyNumGroups(d.map, k) - -proc XkbKeyNumSyms(d: PXkbDescPtr, k: int16): int16 = - ##define XkbKeyNumSyms(d,k) (XkbCMKeyNumSyms((d)->map,(k))) - Result = XkbCMKeyNumSyms(d.map, k) - -proc XkbKeySymsPtr*(d: PXkbDescPtr, k: int16): PKeySym = - ##define XkbKeySymsPtr(d,k) (XkbCMKeySymsPtr((d)->map,(k))) - Result = XkbCMKeySymsPtr(d.map, k) - -proc XkbKeySym(d: PXkbDescPtr, k: int16, n: int16): TKeySym = - ##define XkbKeySym(d,k,n) (XkbKeySymsPtr(d,k)[n]) - Result = cast[ptr array[0..0xffff, TKeySym]](XkbKeySymsPtr(d, k))[ze(n)] # XXX: this seems strange! - -proc XkbKeySymEntry(d: PXkbDescPtr, k: int16, sl: int16, g: int8): TKeySym = - ##define XkbKeySymEntry(d,k,sl,g) (XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl)))) - Result = XkbKeySym(d, k, toU16(ze(XkbKeyGroupsWidth(d, k)) * ze(g) + ze(sl))) - -proc XkbKeyAction(d: PXkbDescPtr, k: int16, n: int16): PXkbAction = - ##define XkbKeyAction(d,k,n) (XkbKeyHasActions(d,k)?&XkbKeyActionsPtr(d,k)[n]:NULL) - #if (XkbKeyHasActions(d, k)): - # Result = XkbKeyActionsPtr(d, k)[ze(n)] #Buggy !!! - assert(false) - result = nil - -proc XkbKeyActionEntry(d: PXkbDescPtr, k: int16, sl: int16, g: int8): int8 = - ##define XkbKeyActionEntry(d,k,sl,g) (XkbKeyHasActions(d,k) ? - # XkbKeyAction(d, k, ((XkbKeyGroupsWidth(d, k) * (g))+(sl))):NULL) - if XkbKeyHasActions(d, k): - Result = XkbKeyGroupsWidth(d, k) *% g +% toU8(sl) - else: - Result = 0'i8 - -proc XkbKeyHasActions(d: PXkbDescPtr, k: int16): bool = - ##define XkbKeyHasActions(d,k) ((d)->server->key_acts[k]!=0) - Result = d.server.key_acts[ze(k)] != 0'i16 - -proc XkbKeyNumActions(d: PXkbDescPtr, k: int16): int16 = - ##define XkbKeyNumActions(d,k) (XkbKeyHasActions(d,k)?XkbKeyNumSyms(d,k):1) - if (XkbKeyHasActions(d, k)): Result = XkbKeyNumSyms(d, k) - else: Result = 1'i16 - -proc XkbKeyActionsPtr(d: PXkbDescPtr, k: int16): PXkbAction = - ##define XkbKeyActionsPtr(d,k) (XkbSMKeyActionsPtr((d)->server,k)) - Result = XkbSMKeyActionsPtr(d.server, k) - -proc XkbKeycodeInRange(d: PXkbDescPtr, k: int16): bool = - ##define XkbKeycodeInRange(d,k) (((k)>=(d)->min_key_code)&& ((k)<=(d)->max_key_code)) - Result = (char(toU8(k)) >= d.min_key_code) and (char(toU8(k)) <= d.max_key_code) - -proc XkbNumKeys(d: PXkbDescPtr): int8 = - ##define XkbNumKeys(d) ((d)->max_key_code-(d)->min_key_code+1) - Result = toU8(ord(d.max_key_code) - ord(d.min_key_code) + 1) - -proc XkbXI_DevHasBtnActs(d: PXkbDeviceInfoPtr): bool = - ##define XkbXI_DevHasBtnActs(d) (((d)->num_btns>0)&&((d)->btn_acts!=NULL)) - Result = (d.num_btns > 0'i16) and (not (d.btn_acts == nil)) - -proc XkbXI_LegalDevBtn(d: PXkbDeviceInfoPtr, b: int16): bool = - ##define XkbXI_LegalDevBtn(d,b) (XkbXI_DevHasBtnActs(d)&&((b)<(d)->num_btns)) - Result = XkbXI_DevHasBtnActs(d) and (b <% d.num_btns) - -proc XkbXI_DevHasLeds(d: PXkbDeviceInfoPtr): bool = - ##define XkbXI_DevHasLeds(d) (((d)->num_leds>0)&&((d)->leds!=NULL)) - Result = (d.num_leds > 0'i16) and (not (d.leds == nil)) - -proc XkbBoundsWidth(b: PXkbBoundsPtr): int16 = - ##define XkbBoundsWidth(b) (((b)->x2)-((b)->x1)) - Result = (b.x2) - b.x1 - -proc XkbBoundsHeight(b: PXkbBoundsPtr): int16 = - ##define XkbBoundsHeight(b) (((b)->y2)-((b)->y1)) - Result = (b.y2) - b.y1 - -proc XkbOutlineIndex(s: PXkbShapePtr, o: PXkbOutlinePtr): int32 = - ##define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0])) - Result = int32((cast[TAddress](o) - cast[TAddress](addr(s.outlines[0]))) div sizeof(PXkbOutlinePtr)) - -proc XkbShapeDoodadColor(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr): PXkbColorPtr = - ##define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) - Result = addr((g.colors[ze(d.color_ndx)])) - -proc XkbShapeDoodadShape(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr): PXkbShapePtr = - ##define XkbShapeDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) - Result = addr(g.shapes[ze(d.shape_ndx)]) - -proc XkbSetShapeDoodadColor(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr, - c: PXkbColorPtr) = - ##define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) - d.color_ndx = toU16((cast[TAddress](c) - cast[TAddress](addr(g.colors[0]))) div sizeof(TXkbColorRec)) - -proc XkbSetShapeDoodadShape(g: PXkbGeometryPtr, d: PXkbShapeDoodadPtr, - s: PXkbShapePtr) = - ##define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0]) - d.shape_ndx = toU16((cast[TAddress](s) - cast[TAddress](addr(g.shapes[0]))) div sizeof(TXkbShapeRec)) - -proc XkbTextDoodadColor(g: PXkbGeometryPtr, d: PXkbTextDoodadPtr): PXkbColorPtr = - ##define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) - Result = addr(g.colors[ze(d.color_ndx)]) - -proc XkbSetTextDoodadColor(g: PXkbGeometryPtr, d: PXkbTextDoodadPtr, - c: PXkbColorPtr) = - ##define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) - d.color_ndx = toU16((cast[TAddress](c) - cast[TAddress](addr(g.colors[0]))) div sizeof(TXkbColorRec)) - -proc XkbIndicatorDoodadShape(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr): PXkbShapeDoodadPtr = - ##define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) - Result = cast[PXkbShapeDoodadPtr](addr(g.shapes[ze(d.shape_ndx)])) - -proc XkbIndicatorDoodadOnColor(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr): PXkbColorPtr = - ##define XkbIndicatorDoodadOnColor(g,d) (&(g)->colors[(d)->on_color_ndx]) - Result = addr(g.colors[ze(d.on_color_ndx)]) - -proc XkbIndicatorDoodadOffColor(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr): PXkbColorPtr = - ##define XkbIndicatorDoodadOffColor(g,d) (&(g)->colors[(d)->off_color_ndx]) - Result = addr(g.colors[ze(d.off_color_ndx)]) - -proc XkbSetIndicatorDoodadOnColor(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr, - c: PXkbColorPtr) = - ##define XkbSetIndicatorDoodadOnColor(g,d,c) ((d)->on_color_ndx= (c)-&(g)->colors[0]) - d.on_color_ndx = toU16((cast[TAddress](c) - cast[TAddress](addr(g.colors[0]))) div sizeof(TXkbColorRec)) - -proc XkbSetIndicatorDoodadOffColor(g: PXkbGeometryPtr, - d: PXkbIndicatorDoodadPtr, c: PXkbColorPtr) = - ##define XkbSetIndicatorDoodadOffColor(g,d,c) ((d)->off_color_ndx= (c)-&(g)->colors[0]) - d.off_color_ndx = toU16((cast[TAddress](c) - cast[TAddress](addr(g.colors[0]))) div sizeof(TxkbColorRec)) - -proc XkbSetIndicatorDoodadShape(g: PXkbGeometryPtr, d: PXkbIndicatorDoodadPtr, - s: PXkbShapeDoodadPtr) = - ##define XkbSetIndicatorDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0]) - d.shape_ndx = toU16((cast[TAddress](s) - (cast[TAddress](addr(g.shapes[0])))) div sizeof(TXkbShapeRec)) - -proc XkbLogoDoodadColor(g: PXkbGeometryPtr, d: PXkbLogoDoodadPtr): PXkbColorPtr = - ##define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) - Result = addr(g.colors[ze(d.color_ndx)]) - -proc XkbLogoDoodadShape(g: PXkbGeometryPtr, d: PXkbLogoDoodadPtr): PXkbShapeDoodadPtr = - ##define XkbLogoDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) - Result = cast[PXkbShapeDoodadPtr](addr(g.shapes[ze(d.shape_ndx)])) - -proc XkbSetLogoDoodadColor(g: PXkbGeometryPtr, d: PXkbLogoDoodadPtr, - c: PXkbColorPtr) = - ##define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) - d.color_ndx = toU16((cast[TAddress](c) - cast[TAddress](addr(g.colors[0]))) div sizeof(TXkbColorRec)) - -proc XkbSetLogoDoodadShape(g: PXkbGeometryPtr, d: PXkbLogoDoodadPtr, - s: PXkbShapeDoodadPtr) = - ##define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0]) - d.shape_ndx = toU16((cast[TAddress](s) - cast[TAddress](addr(g.shapes[0]))) div sizeof(TXkbShapeRec)) - -proc XkbKeyShape(g: PXkbGeometryPtr, k: PXkbKeyPtr): PXkbShapeDoodadPtr = - ##define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx]) - Result = cast[PXkbShapeDoodadPtr](addr(g.shapes[ze(k.shape_ndx)])) - -proc XkbKeyColor(g: PXkbGeometryPtr, k: PXkbKeyPtr): PXkbColorPtr = - ##define XkbKeyColor(g,k) (&(g)->colors[(k)->color_ndx]) - Result = addr(g.colors[ze(k.color_ndx)]) - -proc XkbSetKeyShape(g: PXkbGeometryPtr, k: PXkbKeyPtr, s: PXkbShapeDoodadPtr) = - ##define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0]) - k.shape_ndx = toU8((cast[TAddress](s) - cast[TAddress](addr(g.shapes[0]))) div sizeof(TXkbShapeRec)) - -proc XkbSetKeyColor(g: PXkbGeometryPtr, k: PXkbKeyPtr, c: PXkbColorPtr) = - ##define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0]) - k.color_ndx = toU8((cast[TAddress](c) - cast[TAddress](addr(g.colors[0]))) div sizeof(TxkbColorRec)) - -proc XkbGeomColorIndex(g: PXkbGeometryPtr, c: PXkbColorPtr): int32 = - ##define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0])) - Result = toU16((cast[TAddress](c) - (cast[TAddress](addr(g.colors[0])))) div sizeof(TxkbColorRec)) diff --git a/lib/oldwrappers/x11/xkblib.nim b/lib/oldwrappers/x11/xkblib.nim deleted file mode 100755 index 92d438a60..000000000 --- a/lib/oldwrappers/x11/xkblib.nim +++ /dev/null @@ -1,699 +0,0 @@ -# $Xorg: XKBlib.h,v 1.6 2000/08/17 19:45:03 cpqbld Exp $ -#************************************************************ -#Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. -# -#Permission to use, copy, modify, and distribute this -#software and its documentation for any purpose and without -#fee is hereby granted, provided that the above copyright -#notice appear in all copies and that both that copyright -#notice and this permission notice appear in supporting -#documentation, and that the name of Silicon Graphics not be -#used in advertising or publicity pertaining to distribution -#of the software without specific prior written permission. -#Silicon Graphics makes no representation about the suitability -#of this software for any purpose. It is provided "as is" -#without any express or implied warranty. -# -#SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -#SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -#AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON -#GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -#DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING `from` LOSS OF USE, -#DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -#OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -#THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -#********************************************************/ -# $XFree86: xc/lib/X11/XKBlib.h,v 3.3 2001/08/01 00:44:38 tsi Exp $ -# -# Pascal Convertion was made by Ido Kannner - kanerido@actcom.net.il -# -#Thanks: -# I want to thanks to oliebol for putting up with all of the problems that was found -# while translating this code. ;) -# -# I want to thanks #fpc channel in freenode irc, for helping me, and to put up with my -# wierd questions ;) -# -# Thanks for mmc in #xlib on freenode irc And so for the channel itself for the helping me to -# understanding some of the problems I had converting this headers and pointing me to resources -# that helped translating this headers. -# -# Ido -# -#History: -# 2004/10/15 - Fixed a bug of accessing second based records by removing "paced record" and -# chnaged it to "reocrd" only. -# 2004/10/10 - Added to TXkbGetAtomNameFunc and TXkbInternAtomFunc the cdecl call. -# 2004/10/06 - 09 - Convertion `from` the c header of XKBlib.h -# -# - -import - X, Xlib, XKB - -type - PXkbAnyEvent* = ptr TXkbAnyEvent - TXkbAnyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds; - xkb_type*: int16 # XKB event minor code - device*: int16 # device ID - - -type - PXkbNewKeyboardNotifyEvent* = ptr TXkbNewKeyboardNotifyEvent - TXkbNewKeyboardNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbNewKeyboardNotify - device*: int16 # device ID - old_device*: int16 # device ID of previous keyboard - min_key_code*: int16 # minimum key code - max_key_code*: int16 # maximum key code - old_min_key_code*: int16 # min key code of previous kbd - old_max_key_code*: int16 # max key code of previous kbd - changed*: int16 # changed aspects of the keyboard - req_major*: int8 # major and minor opcode of req - req_minor*: int8 # that caused change, if applicable - - -type - PXkbMapNotifyEvent* = ptr TXkbMapNotifyEvent - TXkbMapNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbMapNotify - device*: int16 # device ID - changed*: int16 # fields which have been changed - flags*: int16 # reserved - first_type*: int16 # first changed key type - num_types*: int16 # number of changed key types - min_key_code*: TKeyCode - max_key_code*: TKeyCode - first_key_sym*: TKeyCode - first_key_act*: TKeyCode - first_key_behavior*: TKeyCode - first_key_explicit*: TKeyCode - first_modmap_key*: TKeyCode - first_vmodmap_key*: TKeyCode - num_key_syms*: int16 - num_key_acts*: int16 - num_key_behaviors*: int16 - num_key_explicit*: int16 - num_modmap_keys*: int16 - num_vmodmap_keys*: int16 - vmods*: int16 # mask of changed virtual mods - - -type - PXkbStateNotifyEvent* = ptr TXkbStateNotifyEvent - TXkbStateNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbStateNotify - device*: int16 # device ID - changed*: int16 # mask of changed state components - group*: int16 # keyboard group - base_group*: int16 # base keyboard group - latched_group*: int16 # latched keyboard group - locked_group*: int16 # locked keyboard group - mods*: int16 # modifier state - base_mods*: int16 # base modifier state - latched_mods*: int16 # latched modifiers - locked_mods*: int16 # locked modifiers - compat_state*: int16 # compatibility state - grab_mods*: int8 # mods used for grabs - compat_grab_mods*: int8 # grab mods for non-XKB clients - lookup_mods*: int8 # mods sent to clients - compat_lookup_mods*: int8 # mods sent to non-XKB clients - ptr_buttons*: int16 # pointer button state - keycode*: TKeyCode # keycode that caused the change - event_type*: int8 # KeyPress or KeyRelease - req_major*: int8 # Major opcode of request - req_minor*: int8 # Minor opcode of request - - -type - PXkbControlsNotifyEvent* = ptr TXkbControlsNotifyEvent - TXkbControlsNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbControlsNotify - device*: int16 # device ID - changed_ctrls*: int16 # controls with changed sub-values - enabled_ctrls*: int16 # controls currently enabled - enabled_ctrl_changes*: int16 # controls just {en,dis}abled - num_groups*: int16 # total groups on keyboard - keycode*: TKeyCode # key that caused change or 0 - event_type*: int8 # type of event that caused change - req_major*: int8 # if keycode==0, major and minor - req_minor*: int8 # opcode of req that caused change - - -type - PXkbIndicatorNotifyEvent* = ptr TXkbIndicatorNotifyEvent - TXkbIndicatorNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbIndicatorNotify - device*: int16 # device - changed*: int16 # indicators with new state or map - state*: int16 # current state of all indicators - - -type - PXkbNamesNotifyEvent* = ptr TXkbNamesNotifyEvent - TXkbNamesNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbNamesNotify - device*: int16 # device ID - changed*: int32 # names that have changed - first_type*: int16 # first key type with new name - num_types*: int16 # number of key types with new names - first_lvl*: int16 # first key type new new level names - num_lvls*: int16 # # of key types w/new level names - num_aliases*: int16 # total number of key aliases - num_radio_groups*: int16 # total number of radio groups - changed_vmods*: int16 # virtual modifiers with new names - changed_groups*: int16 # groups with new names - changed_indicators*: int16 # indicators with new names - first_key*: int16 # first key with new name - num_keys*: int16 # number of keys with new names - - -type - PXkbCompatMapNotifyEvent* = ptr TXkbCompatMapNotifyEvent - TXkbCompatMapNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbCompatMapNotify - device*: int16 # device ID - changed_groups*: int16 # groups with new compat maps - first_si*: int16 # first new symbol interp - num_si*: int16 # number of new symbol interps - num_total_si*: int16 # total # of symbol interps - - -type - PXkbBellNotifyEvent* = ptr TXkbBellNotifyEvent - TXkbBellNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbBellNotify - device*: int16 # device ID - percent*: int16 # requested volume as a % of maximum - pitch*: int16 # requested pitch in Hz - duration*: int16 # requested duration in useconds - bell_class*: int16 # (input extension) feedback class - bell_id*: int16 # (input extension) ID of feedback - name*: TAtom # "name" of requested bell - window*: TWindow # window associated with event - event_only*: bool # "event only" requested - - -type - PXkbActionMessageEvent* = ptr TXkbActionMessageEvent - TXkbActionMessageEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbActionMessage - device*: int16 # device ID - keycode*: TKeyCode # key that generated the event - press*: bool # true if act caused by key press - key_event_follows*: bool # true if key event also generated - group*: int16 # effective group - mods*: int16 # effective mods - message*: array[0..XkbActionMessageLength, Char] # message -- leave space for NUL - - -type - PXkbAccessXNotifyEvent* = ptr TXkbAccessXNotifyEvent - TXkbAccessXNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbAccessXNotify - device*: int16 # device ID - detail*: int16 # XkbAXN_* - keycode*: int16 # key of event - sk_delay*: int16 # current slow keys delay - debounce_delay*: int16 # current debounce delay - - -type - PXkbExtensionDeviceNotifyEvent* = ptr TXkbExtensionDeviceNotifyEvent - TXkbExtensionDeviceNotifyEvent*{.final.} = object - theType*: int16 # XkbAnyEvent - serial*: int32 # of last req processed by server - send_event*: bool # is this `from` a SendEvent request? - display*: PDisplay # Display the event was read `from` - time*: TTime # milliseconds - xkb_type*: int16 # XkbExtensionDeviceNotify - device*: int16 # device ID - reason*: int16 # reason for the event - supported*: int16 # mask of supported features - unsupported*: int16 # mask of unsupported features - # that some app tried to use - first_btn*: int16 # first button that changed - num_btns*: int16 # range of buttons changed - leds_defined*: int16 # indicators with names or maps - led_state*: int16 # current state of the indicators - led_class*: int16 # feedback class for led changes - led_id*: int16 # feedback id for led changes - - -type - PXkbEvent* = ptr TXkbEvent - TXkbEvent*{.final.} = object - theType*: int16 - any*: TXkbAnyEvent - new_kbd*: TXkbNewKeyboardNotifyEvent - map*: TXkbMapNotifyEvent - state*: TXkbStateNotifyEvent - ctrls*: TXkbControlsNotifyEvent - indicators*: TXkbIndicatorNotifyEvent - names*: TXkbNamesNotifyEvent - compat*: TXkbCompatMapNotifyEvent - bell*: TXkbBellNotifyEvent - message*: TXkbActionMessageEvent - accessx*: TXkbAccessXNotifyEvent - device*: TXkbExtensionDeviceNotifyEvent - core*: TXEvent - - -type - PXkbKbdDpyStatePtr* = ptr TXkbKbdDpyStateRec - TXkbKbdDpyStateRec*{.final.} = object # XkbOpenDisplay error codes - -const - XkbOD_Success* = 0 - XkbOD_BadLibraryVersion* = 1 - XkbOD_ConnectionRefused* = 2 - XkbOD_NonXkbServer* = 3 - XkbOD_BadServerVersion* = 4 # Values for XlibFlags - -const - XkbLC_ForceLatin1Lookup* = 1 shl 0 - XkbLC_ConsumeLookupMods* = 1 shl 1 - XkbLC_AlwaysConsumeShiftAndLock* = 1 shl 2 - XkbLC_IgnoreNewKeyboards* = 1 shl 3 - XkbLC_ControlFallback* = 1 shl 4 - XkbLC_ConsumeKeysOnComposeFail* = 1 shl 29 - XkbLC_ComposeLED* = 1 shl 30 - XkbLC_BeepOnComposeFail* = 1 shl 31 - XkbLC_AllComposeControls* = 0xC0000000 - XkbLC_AllControls* = 0xC000001F - -proc XkbIgnoreExtension*(ignore: bool): bool{.cdecl, dynlib: libX11, - importc: "XkbIgnoreExtension".} -proc XkbOpenDisplay*(name: cstring, ev_rtrn, err_rtrn, major_rtrn, minor_rtrn, - reason: ptr int16): PDisplay{.cdecl, - dynlib: libX11, importc: "XkbOpenDisplay".} -proc XkbQueryExtension*(dpy: PDisplay, opcodeReturn, eventBaseReturn, - errorBaseReturn, majorRtrn, minorRtrn: ptr int16): bool{. - cdecl, dynlib: libX11, importc: "XkbQueryExtension".} -proc XkbUseExtension*(dpy: PDisplay, major_rtrn, minor_rtrn: ptr int16): bool{. - cdecl, dynlib: libX11, importc: "XkbUseExtension".} -proc XkbLibraryVersion*(libMajorRtrn, libMinorRtrn: ptr int16): bool{.cdecl, - dynlib: libX11, importc: "XkbLibraryVersion".} -proc XkbSetXlibControls*(dpy: PDisplay, affect, values: int16): int16{.cdecl, - dynlib: libX11, importc: "XkbSetXlibControls".} -proc XkbGetXlibControls*(dpy: PDisplay): int16{.cdecl, dynlib: libX11, - importc: "XkbGetXlibControls".} -type - TXkbInternAtomFunc* = proc (dpy: PDisplay, name: cstring, only_if_exists: bool): TAtom{. - cdecl.} - -type - TXkbGetAtomNameFunc* = proc (dpy: PDisplay, atom: TAtom): cstring{.cdecl.} - -proc XkbSetAtomFuncs*(getAtom: TXkbInternAtomFunc, getName: TXkbGetAtomNameFunc){. - cdecl, dynlib: libX11, importc: "XkbSetAtomFuncs".} -proc XkbKeycodeToKeysym*(dpy: PDisplay, kc: TKeyCode, group, level: int16): TKeySym{. - cdecl, dynlib: libX11, importc: "XkbKeycodeToKeysym".} -proc XkbKeysymToModifiers*(dpy: PDisplay, ks: TKeySym): int16{.cdecl, - dynlib: libX11, importc: "XkbKeysymToModifiers".} -proc XkbLookupKeySym*(dpy: PDisplay, keycode: TKeyCode, - modifiers, modifiers_return: int16, keysym_return: PKeySym): bool{. - cdecl, dynlib: libX11, importc: "XkbLookupKeySym".} -proc XkbLookupKeyBinding*(dpy: PDisplay, sym_rtrn: TKeySym, mods: int16, - buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{. - cdecl, dynlib: libX11, importc: "XkbLookupKeyBinding".} -proc XkbTranslateKeyCode*(xkb: PXkbDescPtr, keycode: TKeyCode, - modifiers, modifiers_return: int16, - keysym_return: PKeySym): bool{.cdecl, dynlib: libX11, - importc: "XkbTranslateKeyCode".} -proc XkbTranslateKeySym*(dpy: PDisplay, sym_return: TKeySym, modifiers: int16, - buffer: cstring, nbytes: int16, extra_rtrn: ptr int16): int16{. - cdecl, dynlib: libX11, importc: "XkbTranslateKeySym".} -proc XkbSetAutoRepeatRate*(dpy: PDisplay, deviceSpec, delay, interval: int16): bool{. - cdecl, dynlib: libX11, importc: "XkbSetAutoRepeatRate".} -proc XkbGetAutoRepeatRate*(dpy: PDisplay, deviceSpec: int16, - delayRtrn, intervalRtrn: PWord): bool{.cdecl, - dynlib: libX11, importc: "XkbGetAutoRepeatRate".} -proc XkbChangeEnabledControls*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{. - cdecl, dynlib: libX11, importc: "XkbChangeEnabledControls".} -proc XkbDeviceBell*(dpy: PDisplay, win: TWindow, - deviceSpec, bellClass, bellID, percent: int16, name: TAtom): bool{. - cdecl, dynlib: libX11, importc: "XkbDeviceBell".} -proc XkbForceDeviceBell*(dpy: PDisplay, - deviceSpec, bellClass, bellID, percent: int16): bool{. - cdecl, dynlib: libX11, importc: "XkbForceDeviceBell".} -proc XkbDeviceBellEvent*(dpy: PDisplay, win: TWindow, - deviceSpec, bellClass, bellID, percent: int16, - name: TAtom): bool{.cdecl, dynlib: libX11, - importc: "XkbDeviceBellEvent".} -proc XkbBell*(dpy: PDisplay, win: TWindow, percent: int16, name: TAtom): bool{. - cdecl, dynlib: libX11, importc: "XkbBell".} -proc XkbForceBell*(dpy: PDisplay, percent: int16): bool{.cdecl, dynlib: libX11, - importc: "XkbForceBell".} -proc XkbBellEvent*(dpy: PDisplay, win: TWindow, percent: int16, name: TAtom): bool{. - cdecl, dynlib: libX11, importc: "XkbBellEvent".} -proc XkbSelectEvents*(dpy: PDisplay, deviceID, affect, values: int16): bool{. - cdecl, dynlib: libX11, importc: "XkbSelectEvents".} -proc XkbSelectEventDetails*(dpy: PDisplay, deviceID, eventType: int16, - affect, details: int32): bool{.cdecl, - dynlib: libX11, importc: "XkbSelectEventDetails".} -proc XkbNoteMapChanges*(old: PXkbMapChangesPtr, new: PXkbMapNotifyEvent, - wanted: int16){.cdecl, dynlib: libX11, - importc: "XkbNoteMapChanges".} -proc XkbNoteNameChanges*(old: PXkbNameChangesPtr, new: PXkbNamesNotifyEvent, - wanted: int16){.cdecl, dynlib: libX11, - importc: "XkbNoteNameChanges".} -proc XkbGetIndicatorState*(dpy: PDisplay, deviceSpec: int16, pStateRtrn: PWord): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetIndicatorState".} -proc XkbGetDeviceIndicatorState*(dpy: PDisplay, - deviceSpec, ledClass, ledID: int16, - pStateRtrn: PWord): TStatus{.cdecl, - dynlib: libX11, importc: "XkbGetDeviceIndicatorState".} -proc XkbGetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetIndicatorMap".} -proc XkbSetIndicatorMap*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{. - cdecl, dynlib: libX11, importc: "XkbSetIndicatorMap".} -proc XkbNoteIndicatorMapChanges*(o, n: PXkbIndicatorChangesPtr, w: int16) -proc XkbNoteIndicatorStateChanges*(o, n: PXkbIndicatorChangesPtr, w: int16) -proc XkbGetIndicatorMapChanges*(d: PDisplay, x: PXkbDescPtr, - c: PXkbIndicatorChangesPtr): TStatus -proc XkbChangeIndicatorMaps*(d: PDisplay, x: PXkbDescPtr, - c: PXkbIndicatorChangesPtr): bool -proc XkbGetNamedIndicator*(dpy: PDisplay, name: TAtom, pNdxRtrn: ptr int16, - pStateRtrn: ptr bool, pMapRtrn: PXkbIndicatorMapPtr, - pRealRtrn: ptr bool): bool{.cdecl, dynlib: libX11, - importc: "XkbGetNamedIndicator".} -proc XkbGetNamedDeviceIndicator*(dpy: PDisplay, - deviceSpec, ledClass, ledID: int16, - name: TAtom, pNdxRtrn: ptr int16, - pStateRtrn: ptr bool, - pMapRtrn: PXkbIndicatorMapPtr, - pRealRtrn: ptr bool): bool{.cdecl, - dynlib: libX11, importc: "XkbGetNamedDeviceIndicator".} -proc XkbSetNamedIndicator*(dpy: PDisplay, name: TAtom, - changeState, state, createNewMap: bool, - pMap: PXkbIndicatorMapPtr): bool{.cdecl, - dynlib: libX11, importc: "XkbSetNamedIndicator".} -proc XkbSetNamedDeviceIndicator*(dpy: PDisplay, - deviceSpec, ledClass, ledID: int16, - name: TAtom, - changeState, state, createNewMap: bool, - pMap: PXkbIndicatorMapPtr): bool{.cdecl, - dynlib: libX11, importc: "XkbSetNamedDeviceIndicator".} -proc XkbLockModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{. - cdecl, dynlib: libX11, importc: "XkbLockModifiers".} -proc XkbLatchModifiers*(dpy: PDisplay, deviceSpec, affect, values: int16): bool{. - cdecl, dynlib: libX11, importc: "XkbLatchModifiers".} -proc XkbLockGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.cdecl, - dynlib: libX11, importc: "XkbLockGroup".} -proc XkbLatchGroup*(dpy: PDisplay, deviceSpec, group: int16): bool{.cdecl, - dynlib: libX11, importc: "XkbLatchGroup".} -proc XkbSetServerInternalMods*(dpy: PDisplay, deviceSpec, affectReal, - realValues, affectVirtual, virtualValues: int16): bool{.cdecl, - dynlib: libX11, importc: "XkbSetServerInternalMods".} -proc XkbSetIgnoreLockMods*(dpy: PDisplay, deviceSpec, affectReal, realValues, - affectVirtual, virtualValues: int16): bool{.cdecl, dynlib: libX11, - importc: "XkbSetIgnoreLockMods".} -proc XkbVirtualModsToReal*(dpy: PDisplay, virtual_mask: int16, mask_rtrn: PWord): bool{. - cdecl, dynlib: libX11, importc: "XkbVirtualModsToReal".} -proc XkbComputeEffectiveMap*(xkb: PXkbDescPtr, theType: PXkbKeyTypePtr, - map_rtrn: PByte): bool{.cdecl, dynlib: libX11, - importc: "XkbComputeEffectiveMap".} -proc XkbInitCanonicalKeyTypes*(xkb: PXkbDescPtr, which: int16, keypadVMod: int16): TStatus{. - cdecl, dynlib: libX11, importc: "XkbInitCanonicalKeyTypes".} -proc XkbAllocKeyboard*(): PXkbDescPtr{.cdecl, dynlib: libX11, - importc: "XkbAllocKeyboard".} -proc XkbFreeKeyboard*(xkb: PXkbDescPtr, which: int16, freeDesc: bool){.cdecl, - dynlib: libX11, importc: "XkbFreeKeyboard".} -proc XkbAllocClientMap*(xkb: PXkbDescPtr, which, nTypes: int16): TStatus{.cdecl, - dynlib: libX11, importc: "XkbAllocClientMap".} -proc XkbAllocServerMap*(xkb: PXkbDescPtr, which, nActions: int16): TStatus{. - cdecl, dynlib: libX11, importc: "XkbAllocServerMap".} -proc XkbFreeClientMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.cdecl, - dynlib: libX11, importc: "XkbFreeClientMap".} -proc XkbFreeServerMap*(xkb: PXkbDescPtr, what: int16, freeMap: bool){.cdecl, - dynlib: libX11, importc: "XkbFreeServerMap".} -proc XkbAddKeyType*(xkb: PXkbDescPtr, name: TAtom, map_count: int16, - want_preserve: bool, num_lvls: int16): PXkbKeyTypePtr{. - cdecl, dynlib: libX11, importc: "XkbAddKeyType".} -proc XkbAllocIndicatorMaps*(xkb: PXkbDescPtr): TStatus{.cdecl, dynlib: libX11, - importc: "XkbAllocIndicatorMaps".} -proc XkbFreeIndicatorMaps*(xkb: PXkbDescPtr){.cdecl, dynlib: libX11, - importc: "XkbFreeIndicatorMaps".} -proc XkbGetMap*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{.cdecl, - dynlib: libX11, importc: "XkbGetMap".} -proc XkbGetUpdatedMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetUpdatedMap".} -proc XkbGetMapChanges*(dpy: PDisplay, xkb: PXkbDescPtr, - changes: PXkbMapChangesPtr): TStatus{.cdecl, - dynlib: libX11, importc: "XkbGetMapChanges".} -proc XkbRefreshKeyboardMapping*(event: PXkbMapNotifyEvent): TStatus{.cdecl, - dynlib: libX11, importc: "XkbRefreshKeyboardMapping".} -proc XkbGetKeyTypes*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetKeyTypes".} -proc XkbGetKeySyms*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetKeySyms".} -proc XkbGetKeyActions*(dpy: PDisplay, first, num: int16, xkb: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetKeyActions".} -proc XkbGetKeyBehaviors*(dpy: PDisplay, firstKey, nKeys: int16, - desc: PXkbDescPtr): TStatus{.cdecl, dynlib: libX11, - importc: "XkbGetKeyBehaviors".} -proc XkbGetVirtualMods*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetVirtualMods".} -proc XkbGetKeyExplicitComponents*(dpy: PDisplay, firstKey, nKeys: int16, - desc: PXkbDescPtr): TStatus{.cdecl, - dynlib: libX11, importc: "XkbGetKeyExplicitComponents".} -proc XkbGetKeyModifierMap*(dpy: PDisplay, firstKey, nKeys: int16, - desc: PXkbDescPtr): TStatus{.cdecl, dynlib: libX11, - importc: "XkbGetKeyModifierMap".} -proc XkbAllocControls*(xkb: PXkbDescPtr, which: int16): TStatus{.cdecl, - dynlib: libX11, importc: "XkbAllocControls".} -proc XkbFreeControls*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.cdecl, - dynlib: libX11, importc: "XkbFreeControls".} -proc XkbGetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetControls".} -proc XkbSetControls*(dpy: PDisplay, which: int32, desc: PXkbDescPtr): bool{. - cdecl, dynlib: libX11, importc: "XkbSetControls".} -proc XkbNoteControlsChanges*(old: PXkbControlsChangesPtr, - new: PXkbControlsNotifyEvent, wanted: int16){. - cdecl, dynlib: libX11, importc: "XkbNoteControlsChanges".} -proc XkbGetControlsChanges*(d: PDisplay, x: PXkbDescPtr, - c: PXkbControlsChangesPtr): TStatus -proc XkbChangeControls*(d: PDisplay, x: PXkbDescPtr, c: PXkbControlsChangesPtr): bool -proc XkbAllocCompatMap*(xkb: PXkbDescPtr, which, nInterpret: int16): TStatus{. - cdecl, dynlib: libX11, importc: "XkbAllocCompatMap".} -proc XkbFreeCompatMap*(xkib: PXkbDescPtr, which: int16, freeMap: bool){.cdecl, - dynlib: libX11, importc: "XkbFreeCompatMap".} -proc XkbGetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetCompatMap".} -proc XkbSetCompatMap*(dpy: PDisplay, which: int16, xkb: PXkbDescPtr, - updateActions: bool): bool{.cdecl, dynlib: libX11, - importc: "XkbSetCompatMap".} -proc XkbAddSymInterpret*(xkb: PXkbDescPtr, si: PXkbSymInterpretPtr, - updateMap: bool, changes: PXkbChangesPtr): PXkbSymInterpretPtr{. - cdecl, dynlib: libX11, importc: "XkbAddSymInterpret".} -proc XkbAllocNames*(xkb: PXkbDescPtr, which: int16, - nTotalRG, nTotalAliases: int16): TStatus{.cdecl, - dynlib: libX11, importc: "XkbAllocNames".} -proc XkbGetNames*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetNames".} -proc XkbSetNames*(dpy: PDisplay, which, firstType, nTypes: int16, - desc: PXkbDescPtr): bool{.cdecl, dynlib: libX11, - importc: "XkbSetNames".} -proc XkbChangeNames*(dpy: PDisplay, xkb: PXkbDescPtr, - changes: PXkbNameChangesPtr): bool{.cdecl, dynlib: libX11, - importc: "XkbChangeNames".} -proc XkbFreeNames*(xkb: PXkbDescPtr, which: int16, freeMap: bool){.cdecl, - dynlib: libX11, importc: "XkbFreeNames".} -proc XkbGetState*(dpy: PDisplay, deviceSpec: int16, rtrnState: PXkbStatePtr): TStatus{. - cdecl, dynlib: libX11, importc: "XkbGetState".} -proc XkbSetMap*(dpy: PDisplay, which: int16, desc: PXkbDescPtr): bool{.cdecl, - dynlib: libX11, importc: "XkbSetMap".} -proc XkbChangeMap*(dpy: PDisplay, desc: PXkbDescPtr, changes: PXkbMapChangesPtr): bool{. - cdecl, dynlib: libX11, importc: "XkbChangeMap".} -proc XkbSetDetectableAutoRepeat*(dpy: PDisplay, detectable: bool, - supported: ptr bool): bool{.cdecl, - dynlib: libX11, importc: "XkbSetDetectableAutoRepeat".} -proc XkbGetDetectableAutoRepeat*(dpy: PDisplay, supported: ptr bool): bool{. - cdecl, dynlib: libX11, importc: "XkbGetDetectableAutoRepeat".} -proc XkbSetAutoResetControls*(dpy: PDisplay, changes: int16, - auto_ctrls, auto_values: PWord): bool{.cdecl, - dynlib: libX11, importc: "XkbSetAutoResetControls".} -proc XkbGetAutoResetControls*(dpy: PDisplay, auto_ctrls, auto_ctrl_values: PWord): bool{. - cdecl, dynlib: libX11, importc: "XkbGetAutoResetControls".} -proc XkbSetPerClientControls*(dpy: PDisplay, change: int16, values: PWord): bool{. - cdecl, dynlib: libX11, importc: "XkbSetPerClientControls".} -proc XkbGetPerClientControls*(dpy: PDisplay, ctrls: PWord): bool{.cdecl, - dynlib: libX11, importc: "XkbGetPerClientControls".} -proc XkbCopyKeyType*(`from`, into: PXkbKeyTypePtr): TStatus{.cdecl, - dynlib: libX11, importc: "XkbCopyKeyType".} -proc XkbCopyKeyTypes*(`from`, into: PXkbKeyTypePtr, num_types: int16): TStatus{. - cdecl, dynlib: libX11, importc: "XkbCopyKeyTypes".} -proc XkbResizeKeyType*(xkb: PXkbDescPtr, type_ndx, map_count: int16, - want_preserve: bool, new_num_lvls: int16): TStatus{. - cdecl, dynlib: libX11, importc: "XkbResizeKeyType".} -proc XkbResizeKeySyms*(desc: PXkbDescPtr, forKey, symsNeeded: int16): PKeySym{. - cdecl, dynlib: libX11, importc: "XkbResizeKeySyms".} -proc XkbResizeKeyActions*(desc: PXkbDescPtr, forKey, actsNeeded: int16): PXkbAction{. - cdecl, dynlib: libX11, importc: "XkbResizeKeyActions".} -proc XkbChangeTypesOfKey*(xkb: PXkbDescPtr, key, num_groups: int16, - groups: int16, newTypes: ptr int16, - pChanges: PXkbMapChangesPtr): TStatus{.cdecl, - dynlib: libX11, importc: "XkbChangeTypesOfKey".} - -proc XkbListComponents*(dpy: PDisplay, deviceSpec: int16, - ptrns: PXkbComponentNamesPtr, max_inout: ptr int16): PXkbComponentListPtr{. - cdecl, dynlib: libX11, importc: "XkbListComponents".} -proc XkbFreeComponentList*(list: PXkbComponentListPtr){.cdecl, dynlib: libX11, - importc: "XkbFreeComponentList".} -proc XkbGetKeyboard*(dpy: PDisplay, which, deviceSpec: int16): PXkbDescPtr{. - cdecl, dynlib: libX11, importc: "XkbGetKeyboard".} -proc XkbGetKeyboardByName*(dpy: PDisplay, deviceSpec: int16, - names: PXkbComponentNamesPtr, want, need: int16, - load: bool): PXkbDescPtr{.cdecl, dynlib: libX11, - importc: "XkbGetKeyboardByName".} - -proc XkbKeyTypesForCoreSymbols*(xkb: PXkbDescPtr, - map_width: int16, # keyboard device - core_syms: PKeySym, # always mapWidth symbols - protected: int16, # explicit key types - types_inout: ptr int16, # always four type indices - xkb_syms_rtrn: PKeySym): int16{.cdecl, - dynlib: libX11, importc: "XkbKeyTypesForCoreSymbols".} - # must have enough space -proc XkbApplyCompatMapToKey*(xkb: PXkbDescPtr, - key: TKeyCode, # key to be updated - changes: PXkbChangesPtr): bool{.cdecl, - dynlib: libX11, importc: "XkbApplyCompatMapToKey".} - # resulting changes to map -proc XkbUpdateMapFromCore*(xkb: PXkbDescPtr, - first_key: TKeyCode, # first changed key - num_keys, - map_width: int16, - core_keysyms: PKeySym, # symbols `from` core keymap - changes: PXkbChangesPtr): bool{.cdecl, - dynlib: libX11, importc: "XkbUpdateMapFromCore".} - -proc XkbAddDeviceLedInfo*(devi: PXkbDeviceInfoPtr, ledClass, ledId: int16): PXkbDeviceLedInfoPtr{. - cdecl, dynlib: libX11, importc: "XkbAddDeviceLedInfo".} -proc XkbResizeDeviceButtonActions*(devi: PXkbDeviceInfoPtr, newTotal: int16): TStatus{. - cdecl, dynlib: libX11, importc: "XkbResizeDeviceButtonActions".} -proc XkbAllocDeviceInfo*(deviceSpec, nButtons, szLeds: int16): PXkbDeviceInfoPtr{. - cdecl, dynlib: libX11, importc: "XkbAllocDeviceInfo".} -proc XkbFreeDeviceInfo*(devi: PXkbDeviceInfoPtr, which: int16, freeDevI: bool){. - cdecl, dynlib: libX11, importc: "XkbFreeDeviceInfo".} -proc XkbNoteDeviceChanges*(old: PXkbDeviceChangesPtr, - new: PXkbExtensionDeviceNotifyEvent, wanted: int16){. - cdecl, dynlib: libX11, importc: "XkbNoteDeviceChanges".} -proc XkbGetDeviceInfo*(dpy: PDisplay, which, deviceSpec, ledClass, ledID: int16): PXkbDeviceInfoPtr{. - cdecl, dynlib: libX11, importc: "XkbGetDeviceInfo".} -proc XkbGetDeviceInfoChanges*(dpy: PDisplay, devi: PXkbDeviceInfoPtr, - changes: PXkbDeviceChangesPtr): TStatus{.cdecl, - dynlib: libX11, importc: "XkbGetDeviceInfoChanges".} -proc XkbGetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr, - all: bool, first, nBtns: int16): TStatus{.cdecl, - dynlib: libX11, importc: "XkbGetDeviceButtonActions".} -proc XkbGetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr, - ledClass, ledId, which: int16): TStatus{.cdecl, - dynlib: libX11, importc: "XkbGetDeviceLedInfo".} -proc XkbSetDeviceInfo*(dpy: PDisplay, which: int16, devi: PXkbDeviceInfoPtr): bool{. - cdecl, dynlib: libX11, importc: "XkbSetDeviceInfo".} -proc XkbChangeDeviceInfo*(dpy: PDisplay, desc: PXkbDeviceInfoPtr, - changes: PXkbDeviceChangesPtr): bool{.cdecl, - dynlib: libX11, importc: "XkbChangeDeviceInfo".} -proc XkbSetDeviceLedInfo*(dpy: PDisplay, devi: PXkbDeviceInfoPtr, - ledClass, ledID, which: int16): bool{.cdecl, - dynlib: libX11, importc: "XkbSetDeviceLedInfo".} -proc XkbSetDeviceButtonActions*(dpy: PDisplay, devi: PXkbDeviceInfoPtr, - first, nBtns: int16): bool{.cdecl, - dynlib: libX11, importc: "XkbSetDeviceButtonActions".} - -proc XkbToControl*(c: int8): int8{.cdecl, dynlib: libX11, - importc: "XkbToControl".} - -proc XkbSetDebuggingFlags*(dpy: PDisplay, mask, flags: int16, msg: cstring, - ctrls_mask, ctrls, rtrn_flags, rtrn_ctrls: int16): bool{. - cdecl, dynlib: libX11, importc: "XkbSetDebuggingFlags".} -proc XkbApplyVirtualModChanges*(xkb: PXkbDescPtr, changed: int16, - changes: PXkbChangesPtr): bool{.cdecl, - dynlib: libX11, importc: "XkbApplyVirtualModChanges".} - -# implementation - -proc XkbNoteIndicatorMapChanges(o, n: PXkbIndicatorChangesPtr, w: int16) = - ##define XkbNoteIndicatorMapChanges(o,n,w) ((o)->map_changes|=((n)->map_changes&(w))) - o.map_changes = o.map_changes or (n.map_changes and w) - -proc XkbNoteIndicatorStateChanges(o, n: PXkbIndicatorChangesPtr, w: int16) = - ##define XkbNoteIndicatorStateChanges(o,n,w) ((o)->state_changes|=((n)->state_changes&(w))) - o.state_changes = o.state_changes or (n.state_changes and (w)) - -proc XkbGetIndicatorMapChanges(d: PDisplay, x: PXkbDescPtr, - c: PXkbIndicatorChangesPtr): TStatus = - ##define XkbGetIndicatorMapChanges(d,x,c) (XkbGetIndicatorMap((d),(c)->map_changes,x) - Result = XkbGetIndicatorMap(d, c.map_changes, x) - -proc XkbChangeIndicatorMaps(d: PDisplay, x: PXkbDescPtr, - c: PXkbIndicatorChangesPtr): bool = - ##define XkbChangeIndicatorMaps(d,x,c) (XkbSetIndicatorMap((d),(c)->map_changes,x)) - Result = XkbSetIndicatorMap(d, c.map_changes, x) - -proc XkbGetControlsChanges(d: PDisplay, x: PXkbDescPtr, - c: PXkbControlsChangesPtr): TStatus = - ##define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x) - Result = XkbGetControls(d, c.changed_ctrls, x) - -proc XkbChangeControls(d: PDisplay, x: PXkbDescPtr, c: PXkbControlsChangesPtr): bool = - ##define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x) - Result = XkbSetControls(d, c.changed_ctrls, x) diff --git a/lib/oldwrappers/x11/xlib.nim b/lib/oldwrappers/x11/xlib.nim deleted file mode 100755 index 19ebda9e0..000000000 --- a/lib/oldwrappers/x11/xlib.nim +++ /dev/null @@ -1,2218 +0,0 @@ - -import - x - -const - libX11* = "libX11.so" - -type - cuint* = cint - cunsigned* = cint - cushort* = int16 - Pcint* = ptr cint - PPcint* = ptr Pcint - PPcuchar* = ptr ptr cuchar - PWideChar* = ptr int16 - PPChar* = ptr cstring - PPPChar* = ptr ptr cstring - Pculong* = ptr int - Pcuchar* = cstring - Pcuint* = ptr cint - Pcushort* = ptr int16 -# Automatically converted by H2Pas 0.99.15 from xlib.h -# The following command line parameters were used: -# -p -# -T -# -S -# -d -# -c -# xlib.h - -const - XlibSpecificationRelease* = 6 - -type - PXPointer* = ptr TXPointer - TXPointer* = ptr char - PBool* = ptr TBool - TBool* = int #cint? - PStatus* = ptr TStatus - TStatus* = cint - -const - QueuedAlready* = 0 - QueuedAfterReading* = 1 - QueuedAfterFlush* = 2 - -type - PPXExtData* = ptr PXExtData - PXExtData* = ptr TXExtData - TXExtData*{.final.} = object - number*: cint - next*: PXExtData - free_private*: proc (extension: PXExtData): cint{.cdecl.} - private_data*: TXPointer - - PXExtCodes* = ptr TXExtCodes - TXExtCodes*{.final.} = object - extension*: cint - major_opcode*: cint - first_event*: cint - first_error*: cint - - PXPixmapFormatValues* = ptr TXPixmapFormatValues - TXPixmapFormatValues*{.final.} = object - depth*: cint - bits_per_pixel*: cint - scanline_pad*: cint - - PXGCValues* = ptr TXGCValues - TXGCValues*{.final.} = object - function*: cint - plane_mask*: culong - foreground*: culong - background*: culong - line_width*: cint - line_style*: cint - cap_style*: cint - join_style*: cint - fill_style*: cint - fill_rule*: cint - arc_mode*: cint - tile*: TPixmap - stipple*: TPixmap - ts_x_origin*: cint - ts_y_origin*: cint - font*: TFont - subwindow_mode*: cint - graphics_exposures*: TBool - clip_x_origin*: cint - clip_y_origin*: cint - clip_mask*: TPixmap - dash_offset*: cint - dashes*: cchar - - PXGC* = ptr TXGC - TXGC*{.final.} = object - TGC* = PXGC - PGC* = ptr TGC - PVisual* = ptr TVisual - TVisual*{.final.} = object - ext_data*: PXExtData - visualid*: TVisualID - c_class*: cint - red_mask*, green_mask*, blue_mask*: culong - bits_per_rgb*: cint - map_entries*: cint - - PDepth* = ptr TDepth - TDepth*{.final.} = object - depth*: cint - nvisuals*: cint - visuals*: PVisual - - PXDisplay* = ptr TXDisplay - TXDisplay*{.final.} = object - PScreen* = ptr TScreen - TScreen*{.final.} = object - ext_data*: PXExtData - display*: PXDisplay - root*: TWindow - width*, height*: cint - mwidth*, mheight*: cint - ndepths*: cint - depths*: PDepth - root_depth*: cint - root_visual*: PVisual - default_gc*: TGC - cmap*: TColormap - white_pixel*: culong - black_pixel*: culong - max_maps*, min_maps*: cint - backing_store*: cint - save_unders*: TBool - root_input_mask*: clong - - PScreenFormat* = ptr TScreenFormat - TScreenFormat*{.final.} = object - ext_data*: PXExtData - depth*: cint - bits_per_pixel*: cint - scanline_pad*: cint - - PXSetWindowAttributes* = ptr TXSetWindowAttributes - TXSetWindowAttributes*{.final.} = object - background_pixmap*: TPixmap - background_pixel*: culong - border_pixmap*: TPixmap - border_pixel*: culong - bit_gravity*: cint - win_gravity*: cint - backing_store*: cint - backing_planes*: culong - backing_pixel*: culong - save_under*: TBool - event_mask*: clong - do_not_propagate_mask*: clong - override_redirect*: TBool - colormap*: TColormap - cursor*: TCursor - - PXWindowAttributes* = ptr TXWindowAttributes - TXWindowAttributes*{.final.} = object - x*, y*: cint - width*, height*: cint - border_width*: cint - depth*: cint - visual*: PVisual - root*: TWindow - c_class*: cint - bit_gravity*: cint - win_gravity*: cint - backing_store*: cint - backing_planes*: culong - backing_pixel*: culong - save_under*: TBool - colormap*: TColormap - map_installed*: TBool - map_state*: cint - all_event_masks*: clong - your_event_mask*: clong - do_not_propagate_mask*: clong - override_redirect*: TBool - screen*: PScreen - - PXHostAddress* = ptr TXHostAddress - TXHostAddress*{.final.} = object - family*: cint - len*: cint - address*: cstring - - PXServerInterpretedAddress* = ptr TXServerInterpretedAddress - TXServerInterpretedAddress*{.final.} = object - typelength*: cint - valuelength*: cint - theType*: cstring - value*: cstring - - PXImage* = ptr TXImage - TF*{.final.} = object - create_image*: proc (para1: PXDisplay, para2: PVisual, para3: cuint, - para4: cint, para5: cint, para6: cstring, para7: cuint, - para8: cuint, para9: cint, para10: cint): PXImage{. - cdecl.} - destroy_image*: proc (para1: PXImage): cint{.cdecl.} - get_pixel*: proc (para1: PXImage, para2: cint, para3: cint): culong{.cdecl.} - put_pixel*: proc (para1: PXImage, para2: cint, para3: cint, para4: culong): cint{. - cdecl.} - sub_image*: proc (para1: PXImage, para2: cint, para3: cint, para4: cuint, - para5: cuint): PXImage{.cdecl.} - add_pixel*: proc (para1: PXImage, para2: clong): cint{.cdecl.} - - TXImage*{.final.} = object - width*, height*: cint - xoffset*: cint - format*: cint - data*: cstring - byte_order*: cint - bitmap_unit*: cint - bitmap_bit_order*: cint - bitmap_pad*: cint - depth*: cint - bytes_per_line*: cint - bits_per_pixel*: cint - red_mask*: culong - green_mask*: culong - blue_mask*: culong - obdata*: TXPointer - f*: TF - - PXWindowChanges* = ptr TXWindowChanges - TXWindowChanges*{.final.} = object - x*, y*: cint - width*, height*: cint - border_width*: cint - sibling*: TWindow - stack_mode*: cint - - PXColor* = ptr TXColor - TXColor*{.final.} = object - pixel*: culong - red*, green*, blue*: cushort - flags*: cchar - pad*: cchar - - PXSegment* = ptr TXSegment - TXSegment*{.final.} = object - x1*, y1*, x2*, y2*: cshort - - PXPoint* = ptr TXPoint - TXPoint*{.final.} = object - x*, y*: cshort - - PXRectangle* = ptr TXRectangle - TXRectangle*{.final.} = object - x*, y*: cshort - width*, height*: cushort - - PXArc* = ptr TXArc - TXArc*{.final.} = object - x*, y*: cshort - width*, height*: cushort - angle1*, angle2*: cshort - - PXKeyboardControl* = ptr TXKeyboardControl - TXKeyboardControl*{.final.} = object - key_click_percent*: cint - bell_percent*: cint - bell_pitch*: cint - bell_duration*: cint - led*: cint - led_mode*: cint - key*: cint - auto_repeat_mode*: cint - - PXKeyboardState* = ptr TXKeyboardState - TXKeyboardState*{.final.} = object - key_click_percent*: cint - bell_percent*: cint - bell_pitch*, bell_duration*: cuint - led_mask*: culong - global_auto_repeat*: cint - auto_repeats*: array[0..31, cchar] - - PXTimeCoord* = ptr TXTimeCoord - TXTimeCoord*{.final.} = object - time*: TTime - x*, y*: cshort - - PXModifierKeymap* = ptr TXModifierKeymap - TXModifierKeymap*{.final.} = object - max_keypermod*: cint - modifiermap*: PKeyCode - - PDisplay* = ptr TDisplay - TDisplay* = TXDisplay - PXPrivate* = ptr TXPrivate - TXPrivate*{.final.} = object - PXrmHashBucketRec* = ptr TXrmHashBucketRec - TXrmHashBucketRec*{.final.} = object - PXPrivDisplay* = ptr TXPrivDisplay - TXPrivDisplay*{.final.} = object - ext_data*: PXExtData - private1*: PXPrivate - fd*: cint - private2*: cint - proto_major_version*: cint - proto_minor_version*: cint - vendor*: cstring - private3*: TXID - private4*: TXID - private5*: TXID - private6*: cint - resource_alloc*: proc (para1: PXDisplay): TXID{.cdecl.} - byte_order*: cint - bitmap_unit*: cint - bitmap_pad*: cint - bitmap_bit_order*: cint - nformats*: cint - pixmap_format*: PScreenFormat - private8*: cint - release*: cint - private9*, private10*: PXPrivate - qlen*: cint - last_request_read*: culong - request*: culong - private11*: TXPointer - private12*: TXPointer - private13*: TXPointer - private14*: TXPointer - max_request_size*: cunsigned - db*: PXrmHashBucketRec - private15*: proc (para1: PXDisplay): cint{.cdecl.} - display_name*: cstring - default_screen*: cint - nscreens*: cint - screens*: PScreen - motion_buffer*: culong - private16*: culong - min_keycode*: cint - max_keycode*: cint - private17*: TXPointer - private18*: TXPointer - private19*: cint - xdefaults*: cstring - - PXKeyEvent* = ptr TXKeyEvent - TXKeyEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - root*: TWindow - subwindow*: TWindow - time*: TTime - x*, y*: cint - x_root*, y_root*: cint - state*: cuint - keycode*: cuint - same_screen*: TBool - - PXKeyPressedEvent* = ptr TXKeyPressedEvent - TXKeyPressedEvent* = TXKeyEvent - PXKeyReleasedEvent* = ptr TXKeyReleasedEvent - TXKeyReleasedEvent* = TXKeyEvent - PXButtonEvent* = ptr TXButtonEvent - TXButtonEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - root*: TWindow - subwindow*: TWindow - time*: TTime - x*, y*: cint - x_root*, y_root*: cint - state*: cuint - button*: cuint - same_screen*: TBool - - PXButtonPressedEvent* = ptr TXButtonPressedEvent - TXButtonPressedEvent* = TXButtonEvent - PXButtonReleasedEvent* = ptr TXButtonReleasedEvent - TXButtonReleasedEvent* = TXButtonEvent - PXMotionEvent* = ptr TXMotionEvent - TXMotionEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - root*: TWindow - subwindow*: TWindow - time*: TTime - x*, y*: cint - x_root*, y_root*: cint - state*: cuint - is_hint*: cchar - same_screen*: TBool - - PXPointerMovedEvent* = ptr TXPointerMovedEvent - TXPointerMovedEvent* = TXMotionEvent - PXCrossingEvent* = ptr TXCrossingEvent - TXCrossingEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - root*: TWindow - subwindow*: TWindow - time*: TTime - x*, y*: cint - x_root*, y_root*: cint - mode*: cint - detail*: cint - same_screen*: TBool - focus*: TBool - state*: cuint - - PXEnterWindowEvent* = ptr TXEnterWindowEvent - TXEnterWindowEvent* = TXCrossingEvent - PXLeaveWindowEvent* = ptr TXLeaveWindowEvent - TXLeaveWindowEvent* = TXCrossingEvent - PXFocusChangeEvent* = ptr TXFocusChangeEvent - TXFocusChangeEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - mode*: cint - detail*: cint - - PXFocusInEvent* = ptr TXFocusInEvent - TXFocusInEvent* = TXFocusChangeEvent - PXFocusOutEvent* = ptr TXFocusOutEvent - TXFocusOutEvent* = TXFocusChangeEvent - PXKeymapEvent* = ptr TXKeymapEvent - TXKeymapEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - key_vector*: array[0..31, cchar] - - PXExposeEvent* = ptr TXExposeEvent - TXExposeEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - x*, y*: cint - width*, height*: cint - count*: cint - - PXGraphicsExposeEvent* = ptr TXGraphicsExposeEvent - TXGraphicsExposeEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - drawable*: TDrawable - x*, y*: cint - width*, height*: cint - count*: cint - major_code*: cint - minor_code*: cint - - PXNoExposeEvent* = ptr TXNoExposeEvent - TXNoExposeEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - drawable*: TDrawable - major_code*: cint - minor_code*: cint - - PXVisibilityEvent* = ptr TXVisibilityEvent - TXVisibilityEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - state*: cint - - PXCreateWindowEvent* = ptr TXCreateWindowEvent - TXCreateWindowEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - parent*: TWindow - window*: TWindow - x*, y*: cint - width*, height*: cint - border_width*: cint - override_redirect*: TBool - - PXDestroyWindowEvent* = ptr TXDestroyWindowEvent - TXDestroyWindowEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - event*: TWindow - window*: TWindow - - PXUnmapEvent* = ptr TXUnmapEvent - TXUnmapEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - event*: TWindow - window*: TWindow - from_configure*: TBool - - PXMapEvent* = ptr TXMapEvent - TXMapEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - event*: TWindow - window*: TWindow - override_redirect*: TBool - - PXMapRequestEvent* = ptr TXMapRequestEvent - TXMapRequestEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - parent*: TWindow - window*: TWindow - - PXReparentEvent* = ptr TXReparentEvent - TXReparentEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - event*: TWindow - window*: TWindow - parent*: TWindow - x*, y*: cint - override_redirect*: TBool - - PXConfigureEvent* = ptr TXConfigureEvent - TXConfigureEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - event*: TWindow - window*: TWindow - x*, y*: cint - width*, height*: cint - border_width*: cint - above*: TWindow - override_redirect*: TBool - - PXGravityEvent* = ptr TXGravityEvent - TXGravityEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - event*: TWindow - window*: TWindow - x*, y*: cint - - PXResizeRequestEvent* = ptr TXResizeRequestEvent - TXResizeRequestEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - width*, height*: cint - - PXConfigureRequestEvent* = ptr TXConfigureRequestEvent - TXConfigureRequestEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - parent*: TWindow - window*: TWindow - x*, y*: cint - width*, height*: cint - border_width*: cint - above*: TWindow - detail*: cint - value_mask*: culong - - PXCirculateEvent* = ptr TXCirculateEvent - TXCirculateEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - event*: TWindow - window*: TWindow - place*: cint - - PXCirculateRequestEvent* = ptr TXCirculateRequestEvent - TXCirculateRequestEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - parent*: TWindow - window*: TWindow - place*: cint - - PXPropertyEvent* = ptr TXPropertyEvent - TXPropertyEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - atom*: TAtom - time*: TTime - state*: cint - - PXSelectionClearEvent* = ptr TXSelectionClearEvent - TXSelectionClearEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - selection*: TAtom - time*: TTime - - PXSelectionRequestEvent* = ptr TXSelectionRequestEvent - TXSelectionRequestEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - owner*: TWindow - requestor*: TWindow - selection*: TAtom - target*: TAtom - property*: TAtom - time*: TTime - - PXSelectionEvent* = ptr TXSelectionEvent - TXSelectionEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - requestor*: TWindow - selection*: TAtom - target*: TAtom - property*: TAtom - time*: TTime - - PXColormapEvent* = ptr TXColormapEvent - TXColormapEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - colormap*: TColormap - c_new*: TBool - state*: cint - - PXClientMessageEvent* = ptr TXClientMessageEvent - TXClientMessageEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - message_type*: TAtom - format*: cint - data*: array[0..19, char] - - PXMappingEvent* = ptr TXMappingEvent - TXMappingEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - request*: cint - first_keycode*: cint - count*: cint - - PXErrorEvent* = ptr TXErrorEvent - TXErrorEvent*{.final.} = object - theType*: cint - display*: PDisplay - resourceid*: TXID - serial*: culong - error_code*: cuchar - request_code*: cuchar - minor_code*: cuchar - - PXAnyEvent* = ptr TXAnyEvent - TXAnyEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - window*: TWindow - - PXEvent* = ptr TXEvent - TXEvent*{.final.} = object - theType*: cint - pad*: array[0..22, clong] # - # case longint of - # 0 : ( theType : cint ); - # 1 : ( xany : TXAnyEvent ); - # 2 : ( xkey : TXKeyEvent ); - # 3 : ( xbutton : TXButtonEvent ); - # 4 : ( xmotion : TXMotionEvent ); - # 5 : ( xcrossing : TXCrossingEvent ); - # 6 : ( xfocus : TXFocusChangeEvent ); - # 7 : ( xexpose : TXExposeEvent ); - # 8 : ( xgraphicsexpose : TXGraphicsExposeEvent ); - # 9 : ( xnoexpose : TXNoExposeEvent ); - # 10 : ( xvisibility : TXVisibilityEvent ); - # 11 : ( xcreatewindow : TXCreateWindowEvent ); - # 12 : ( xdestroywindow : TXDestroyWindowEvent ); - # 13 : ( xunmap : TXUnmapEvent ); - # 14 : ( xmap : TXMapEvent ); - # 15 : ( xmaprequest : TXMapRequestEvent ); - # 16 : ( xreparent : TXReparentEvent ); - # 17 : ( xconfigure : TXConfigureEvent ); - # 18 : ( xgravity : TXGravityEvent ); - # 19 : ( xresizerequest : TXResizeRequestEvent ); - # 20 : ( xconfigurerequest : TXConfigureRequestEvent ); - # 21 : ( xcirculate : TXCirculateEvent ); - # 22 : ( xcirculaterequest : TXCirculateRequestEvent ); - # 23 : ( xproperty : TXPropertyEvent ); - # 24 : ( xselectionclear : TXSelectionClearEvent ); - # 25 : ( xselectionrequest : TXSelectionRequestEvent ); - # 26 : ( xselection : TXSelectionEvent ); - # 27 : ( xcolormap : TXColormapEvent ); - # 28 : ( xclient : TXClientMessageEvent ); - # 29 : ( xmapping : TXMappingEvent ); - # 30 : ( xerror : TXErrorEvent ); - # 31 : ( xkeymap : TXKeymapEvent ); - # 32 : ( pad : array[0..23] of clong ); - # - - -type - PXCharStruct* = ptr TXCharStruct - TXCharStruct*{.final.} = object - lbearing*: cshort - rbearing*: cshort - width*: cshort - ascent*: cshort - descent*: cshort - attributes*: cushort - - PXFontProp* = ptr TXFontProp - TXFontProp*{.final.} = object - name*: TAtom - card32*: culong - - PPPXFontStruct* = ptr PPXFontStruct - PPXFontStruct* = ptr PXFontStruct - PXFontStruct* = ptr TXFontStruct - TXFontStruct*{.final.} = object - ext_data*: PXExtData - fid*: TFont - direction*: cunsigned - min_char_or_byte2*: cunsigned - max_char_or_byte2*: cunsigned - min_byte1*: cunsigned - max_byte1*: cunsigned - all_chars_exist*: TBool - default_char*: cunsigned - n_properties*: cint - properties*: PXFontProp - min_bounds*: TXCharStruct - max_bounds*: TXCharStruct - per_char*: PXCharStruct - ascent*: cint - descent*: cint - - PXTextItem* = ptr TXTextItem - TXTextItem*{.final.} = object - chars*: cstring - nchars*: cint - delta*: cint - font*: TFont - - PXChar2b* = ptr TXChar2b - TXChar2b*{.final.} = object - byte1*: cuchar - byte2*: cuchar - - PXTextItem16* = ptr TXTextItem16 - TXTextItem16*{.final.} = object - chars*: PXChar2b - nchars*: cint - delta*: cint - font*: TFont - - PXEDataObject* = ptr TXEDataObject - TXEDataObject*{.final.} = object - display*: PDisplay #case longint of - # 0 : ( display : PDisplay ); - # 1 : ( gc : TGC ); - # 2 : ( visual : PVisual ); - # 3 : ( screen : PScreen ); - # 4 : ( pixmap_format : PScreenFormat ); - # 5 : ( font : PXFontStruct ); - - PXFontSetExtents* = ptr TXFontSetExtents - TXFontSetExtents*{.final.} = object - max_ink_extent*: TXRectangle - max_logical_extent*: TXRectangle - - PXOM* = ptr TXOM - TXOM*{.final.} = object - PXOC* = ptr TXOC - TXOC*{.final.} = object - TXFontSet* = PXOC - PXFontSet* = ptr TXFontSet - PXmbTextItem* = ptr TXmbTextItem - TXmbTextItem*{.final.} = object - chars*: cstring - nchars*: cint - delta*: cint - font_set*: TXFontSet - - PXwcTextItem* = ptr TXwcTextItem - TXwcTextItem*{.final.} = object - chars*: PWideChar #wchar_t* - nchars*: cint - delta*: cint - font_set*: TXFontSet - - -const - XNRequiredCharSet* = "requiredCharSet" - XNQueryOrientation* = "queryOrientation" - XNBaseFontName* = "baseFontName" - XNOMAutomatic* = "omAutomatic" - XNMissingCharSet* = "missingCharSet" - XNDefaultString* = "defaultString" - XNOrientation* = "orientation" - XNDirectionalDependentDrawing* = "directionalDependentDrawing" - XNContextualDrawing* = "contextualDrawing" - XNFontInfo* = "fontInfo" - -type - PXOMCharSetList* = ptr TXOMCharSetList - TXOMCharSetList*{.final.} = object - charset_count*: cint - charset_list*: PPChar - - PXOrientation* = ptr TXOrientation - TXOrientation* = enum - XOMOrientation_LTR_TTB, XOMOrientation_RTL_TTB, XOMOrientation_TTB_LTR, - XOMOrientation_TTB_RTL, XOMOrientation_Context - PXOMOrientation* = ptr TXOMOrientation - TXOMOrientation*{.final.} = object - num_orientation*: cint - orientation*: PXOrientation - - PXOMFontInfo* = ptr TXOMFontInfo - TXOMFontInfo*{.final.} = object - num_font*: cint - font_struct_list*: ptr PXFontStruct - font_name_list*: PPChar - - PXIM* = ptr TXIM - TXIM*{.final.} = object - PXIC* = ptr TXIC - TXIC*{.final.} = object - TXIMProc* = proc (para1: TXIM, para2: TXPointer, para3: TXPointer){.cdecl.} - TXICProc* = proc (para1: TXIC, para2: TXPointer, para3: TXPointer): TBool{. - cdecl.} - TXIDProc* = proc (para1: PDisplay, para2: TXPointer, para3: TXPointer){.cdecl.} - PXIMStyle* = ptr TXIMStyle - TXIMStyle* = culong - PXIMStyles* = ptr TXIMStyles - TXIMStyles*{.final.} = object - count_styles*: cushort - supported_styles*: PXIMStyle - - -const - XIMPreeditArea* = 0x00000001 - XIMPreeditCallbacks* = 0x00000002 - XIMPreeditPosition* = 0x00000004 - XIMPreeditNothing* = 0x00000008 - XIMPreeditNone* = 0x00000010 - XIMStatusArea* = 0x00000100 - XIMStatusCallbacks* = 0x00000200 - XIMStatusNothing* = 0x00000400 - XIMStatusNone* = 0x00000800 - XNVaNestedList* = "XNVaNestedList" - XNQueryInputStyle* = "queryInputStyle" - XNClientWindow* = "clientWindow" - XNInputStyle* = "inputStyle" - XNFocusWindow* = "focusWindow" - XNResourceName* = "resourceName" - XNResourceClass* = "resourceClass" - XNGeometryCallback* = "geometryCallback" - XNDestroyCallback* = "destroyCallback" - XNFilterEvents* = "filterEvents" - XNPreeditStartCallback* = "preeditStartCallback" - XNPreeditDoneCallback* = "preeditDoneCallback" - XNPreeditDrawCallback* = "preeditDrawCallback" - XNPreeditCaretCallback* = "preeditCaretCallback" - XNPreeditStateNotifyCallback* = "preeditStateNotifyCallback" - XNPreeditAttributes* = "preeditAttributes" - XNStatusStartCallback* = "statusStartCallback" - XNStatusDoneCallback* = "statusDoneCallback" - XNStatusDrawCallback* = "statusDrawCallback" - XNStatusAttributes* = "statusAttributes" - XNArea* = "area" - XNAreaNeeded* = "areaNeeded" - XNSpotLocation* = "spotLocation" - XNColormap* = "colorMap" - XNStdColormap* = "stdColorMap" - XNForeground* = "foreground" - XNBackground* = "background" - XNBackgroundPixmap* = "backgroundPixmap" - XNFontSet* = "fontSet" - XNLineSpace* = "lineSpace" - XNCursor* = "cursor" - XNQueryIMValuesList* = "queryIMValuesList" - XNQueryICValuesList* = "queryICValuesList" - XNVisiblePosition* = "visiblePosition" - XNR6PreeditCallback* = "r6PreeditCallback" - XNStringConversionCallback* = "stringConversionCallback" - XNStringConversion* = "stringConversion" - XNResetState* = "resetState" - XNHotKey* = "hotKey" - XNHotKeyState* = "hotKeyState" - XNPreeditState* = "preeditState" - XNSeparatorofNestedList* = "separatorofNestedList" - XBufferOverflow* = - (1) - XLookupNone* = 1 - XLookupChars* = 2 - XLookupKeySymVal* = 3 - XLookupBoth* = 4 - -type - PXVaNestedList* = ptr TXVaNestedList - TXVaNestedList* = pointer - PXIMCallback* = ptr TXIMCallback - TXIMCallback*{.final.} = object - client_data*: TXPointer - callback*: TXIMProc - - PXICCallback* = ptr TXICCallback - TXICCallback*{.final.} = object - client_data*: TXPointer - callback*: TXICProc - - PXIMFeedback* = ptr TXIMFeedback - TXIMFeedback* = culong - -const - XIMReverse* = 1 - XIMUnderline* = 1 shl 1 - XIMHighlight* = 1 shl 2 - XIMPrimary* = 1 shl 5 - XIMSecondary* = 1 shl 6 - XIMTertiary* = 1 shl 7 - XIMVisibleToForward* = 1 shl 8 - XIMVisibleToBackword* = 1 shl 9 - XIMVisibleToCenter* = 1 shl 10 - -type - PXIMText* = ptr TXIMText - TXIMText*{.final.} = object - len*: cushort - feedback*: PXIMFeedback - encoding_is_wchar*: TBool - multi_byte*: cstring - - PXIMPreeditState* = ptr TXIMPreeditState - TXIMPreeditState* = culong - -const - XIMPreeditUnKnown* = 0 - XIMPreeditEnable* = 1 - XIMPreeditDisable* = 1 shl 1 - -type - PXIMPreeditStateNotifyCallbackStruct* = ptr TXIMPreeditStateNotifyCallbackStruct - TXIMPreeditStateNotifyCallbackStruct*{.final.} = object - state*: TXIMPreeditState - - PXIMResetState* = ptr TXIMResetState - TXIMResetState* = culong - -const - XIMInitialState* = 1 - XIMPreserveState* = 1 shl 1 - -type - PXIMStringConversionFeedback* = ptr TXIMStringConversionFeedback - TXIMStringConversionFeedback* = culong - -const - XIMStringConversionLeftEdge* = 0x00000001 - XIMStringConversionRightEdge* = 0x00000002 - XIMStringConversionTopEdge* = 0x00000004 - XIMStringConversionBottomEdge* = 0x00000008 - XIMStringConversionConcealed* = 0x00000010 - XIMStringConversionWrapped* = 0x00000020 - -type - PXIMStringConversionText* = ptr TXIMStringConversionText - TXIMStringConversionText*{.final.} = object - len*: cushort - feedback*: PXIMStringConversionFeedback - encoding_is_wchar*: TBool - mbs*: cstring - - PXIMStringConversionPosition* = ptr TXIMStringConversionPosition - TXIMStringConversionPosition* = cushort - PXIMStringConversionType* = ptr TXIMStringConversionType - TXIMStringConversionType* = cushort - -const - XIMStringConversionBuffer* = 0x00000001 - XIMStringConversionLine* = 0x00000002 - XIMStringConversionWord* = 0x00000003 - XIMStringConversionChar* = 0x00000004 - -type - PXIMStringConversionOperation* = ptr TXIMStringConversionOperation - TXIMStringConversionOperation* = cushort - -const - XIMStringConversionSubstitution* = 0x00000001 - XIMStringConversionRetrieval* = 0x00000002 - -type - PXIMCaretDirection* = ptr TXIMCaretDirection - TXIMCaretDirection* = enum - XIMForwardChar, XIMBackwardChar, XIMForwardWord, XIMBackwardWord, - XIMCaretUp, XIMCaretDown, XIMNextLine, XIMPreviousLine, XIMLineStart, - XIMLineEnd, XIMAbsolutePosition, XIMDontChange - PXIMStringConversionCallbackStruct* = ptr TXIMStringConversionCallbackStruct - TXIMStringConversionCallbackStruct*{.final.} = object - position*: TXIMStringConversionPosition - direction*: TXIMCaretDirection - operation*: TXIMStringConversionOperation - factor*: cushort - text*: PXIMStringConversionText - - PXIMPreeditDrawCallbackStruct* = ptr TXIMPreeditDrawCallbackStruct - TXIMPreeditDrawCallbackStruct*{.final.} = object - caret*: cint - chg_first*: cint - chg_length*: cint - text*: PXIMText - - PXIMCaretStyle* = ptr TXIMCaretStyle - TXIMCaretStyle* = enum - XIMIsInvisible, XIMIsPrimary, XIMIsSecondary - PXIMPreeditCaretCallbackStruct* = ptr TXIMPreeditCaretCallbackStruct - TXIMPreeditCaretCallbackStruct*{.final.} = object - position*: cint - direction*: TXIMCaretDirection - style*: TXIMCaretStyle - - PXIMStatusDataType* = ptr TXIMStatusDataType - TXIMStatusDataType* = enum - XIMTextType, XIMBitmapType - PXIMStatusDrawCallbackStruct* = ptr TXIMStatusDrawCallbackStruct - TXIMStatusDrawCallbackStruct*{.final.} = object - theType*: TXIMStatusDataType - bitmap*: TPixmap - - PXIMHotKeyTrigger* = ptr TXIMHotKeyTrigger - TXIMHotKeyTrigger*{.final.} = object - keysym*: TKeySym - modifier*: cint - modifier_mask*: cint - - PXIMHotKeyTriggers* = ptr TXIMHotKeyTriggers - TXIMHotKeyTriggers*{.final.} = object - num_hot_key*: cint - key*: PXIMHotKeyTrigger - - PXIMHotKeyState* = ptr TXIMHotKeyState - TXIMHotKeyState* = culong - -const - XIMHotKeyStateON* = 0x00000001 - XIMHotKeyStateOFF* = 0x00000002 - -type - PXIMValuesList* = ptr TXIMValuesList - TXIMValuesList*{.final.} = object - count_values*: cushort - supported_values*: PPChar - - -type - funcdisp* = proc (display: PDisplay): cint{.cdecl.} - funcifevent* = proc (display: PDisplay, event: PXEvent, p: TXPointer): TBool{. - cdecl.} - chararr32* = array[0..31, char] - -const - AllPlanes*: culong = culong(not 0) - -proc XLoadQueryFont*(para1: PDisplay, para2: cstring): PXFontStruct{.cdecl, - dynlib: libX11, importc.} -proc XQueryFont*(para1: PDisplay, para2: TXID): PXFontStruct{.cdecl, - dynlib: libX11, importc.} -proc XGetMotionEvents*(para1: PDisplay, para2: TWindow, para3: TTime, - para4: TTime, para5: Pcint): PXTimeCoord{.cdecl, - dynlib: libX11, importc.} -proc XDeleteModifiermapEntry*(para1: PXModifierKeymap, para2: TKeyCode, - para3: cint): PXModifierKeymap{.cdecl, - dynlib: libX11, importc.} -proc XGetModifierMapping*(para1: PDisplay): PXModifierKeymap{.cdecl, - dynlib: libX11, importc.} -proc XInsertModifiermapEntry*(para1: PXModifierKeymap, para2: TKeyCode, - para3: cint): PXModifierKeymap{.cdecl, - dynlib: libX11, importc.} -proc XNewModifiermap*(para1: cint): PXModifierKeymap{.cdecl, dynlib: libX11, - importc.} -proc XCreateImage*(para1: PDisplay, para2: PVisual, para3: cuint, para4: cint, - para5: cint, para6: cstring, para7: cuint, para8: cuint, - para9: cint, para10: cint): PXImage{.cdecl, dynlib: libX11, - importc.} -proc XInitImage*(para1: PXImage): TStatus{.cdecl, dynlib: libX11, importc.} -proc XGetImage*(para1: PDisplay, para2: TDrawable, para3: cint, para4: cint, - para5: cuint, para6: cuint, para7: culong, para8: cint): PXImage{. - cdecl, dynlib: libX11, importc.} -proc XGetSubImage*(para1: PDisplay, para2: TDrawable, para3: cint, para4: cint, - para5: cuint, para6: cuint, para7: culong, para8: cint, - para9: PXImage, para10: cint, para11: cint): PXImage{.cdecl, - dynlib: libX11, importc.} -proc XOpenDisplay*(para1: cstring): PDisplay{.cdecl, dynlib: libX11, importc.} -proc XrmInitialize*(){.cdecl, dynlib: libX11, importc.} -proc XFetchBytes*(para1: PDisplay, para2: Pcint): cstring{.cdecl, - dynlib: libX11, importc.} -proc XFetchBuffer*(para1: PDisplay, para2: Pcint, para3: cint): cstring{.cdecl, - dynlib: libX11, importc.} -proc XGetAtomName*(para1: PDisplay, para2: TAtom): cstring{.cdecl, - dynlib: libX11, importc.} -proc XGetAtomNames*(para1: PDisplay, para2: PAtom, para3: cint, para4: PPchar): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetDefault*(para1: PDisplay, para2: cstring, para3: cstring): cstring{. - cdecl, dynlib: libX11, importc.} -proc XDisplayName*(para1: cstring): cstring{.cdecl, dynlib: libX11, importc.} -proc XKeysymToString*(para1: TKeySym): cstring{.cdecl, dynlib: libX11, importc.} -proc XSynchronize*(para1: PDisplay, para2: TBool): funcdisp{.cdecl, - dynlib: libX11, importc.} -proc XSetAfterFunction*(para1: PDisplay, para2: funcdisp): funcdisp{.cdecl, - dynlib: libX11, importc.} -proc XInternAtom*(para1: PDisplay, para2: cstring, para3: TBool): TAtom{.cdecl, - dynlib: libX11, importc.} -proc XInternAtoms*(para1: PDisplay, para2: PPchar, para3: cint, para4: TBool, - para5: PAtom): TStatus{.cdecl, dynlib: libX11, importc.} -proc XCopyColormapAndFree*(para1: PDisplay, para2: TColormap): TColormap{.cdecl, - dynlib: libX11, importc.} -proc XCreateColormap*(para1: PDisplay, para2: TWindow, para3: PVisual, - para4: cint): TColormap{.cdecl, dynlib: libX11, importc.} -proc XCreatePixmapCursor*(para1: PDisplay, para2: TPixmap, para3: TPixmap, - para4: PXColor, para5: PXColor, para6: cuint, - para7: cuint): TCursor{.cdecl, dynlib: libX11, importc.} -proc XCreateGlyphCursor*(para1: PDisplay, para2: TFont, para3: TFont, - para4: cuint, para5: cuint, para6: PXColor, - para7: PXColor): TCursor{.cdecl, dynlib: libX11, - importc.} -proc XCreateFontCursor*(para1: PDisplay, para2: cuint): TCursor{.cdecl, - dynlib: libX11, importc.} -proc XLoadFont*(para1: PDisplay, para2: cstring): TFont{.cdecl, dynlib: libX11, - importc.} -proc XCreateGC*(para1: PDisplay, para2: TDrawable, para3: culong, - para4: PXGCValues): TGC{.cdecl, dynlib: libX11, importc.} -proc XGContextFromGC*(para1: TGC): TGContext{.cdecl, dynlib: libX11, importc.} -proc XFlushGC*(para1: PDisplay, para2: TGC){.cdecl, dynlib: libX11, importc.} -proc XCreatePixmap*(para1: PDisplay, para2: TDrawable, para3: cuint, - para4: cuint, para5: cuint): TPixmap{.cdecl, dynlib: libX11, - importc.} -proc XCreateBitmapFromData*(para1: PDisplay, para2: TDrawable, para3: cstring, - para4: cuint, para5: cuint): TPixmap{.cdecl, - dynlib: libX11, importc.} -proc XCreatePixmapFromBitmapData*(para1: PDisplay, para2: TDrawable, - para3: cstring, para4: cuint, para5: cuint, - para6: culong, para7: culong, para8: cuint): TPixmap{. - cdecl, dynlib: libX11, importc.} -proc XCreateSimpleWindow*(para1: PDisplay, para2: TWindow, para3: cint, - para4: cint, para5: cuint, para6: cuint, para7: cuint, - para8: culong, para9: culong): TWindow{.cdecl, - dynlib: libX11, importc.} -proc XGetSelectionOwner*(para1: PDisplay, para2: TAtom): TWindow{.cdecl, - dynlib: libX11, importc.} -proc XCreateWindow*(para1: PDisplay, para2: TWindow, para3: cint, para4: cint, - para5: cuint, para6: cuint, para7: cuint, para8: cint, - para9: cuint, para10: PVisual, para11: culong, - para12: PXSetWindowAttributes): TWindow{.cdecl, - dynlib: libX11, importc.} -proc XListInstalledColormaps*(para1: PDisplay, para2: TWindow, para3: Pcint): PColormap{. - cdecl, dynlib: libX11, importc.} -proc XListFonts*(para1: PDisplay, para2: cstring, para3: cint, para4: Pcint): PPChar{. - cdecl, dynlib: libX11, importc.} -proc XListFontsWithInfo*(para1: PDisplay, para2: cstring, para3: cint, - para4: Pcint, para5: PPXFontStruct): PPChar{.cdecl, - dynlib: libX11, importc.} -proc XGetFontPath*(para1: PDisplay, para2: Pcint): PPChar{.cdecl, - dynlib: libX11, importc.} -proc XListExtensions*(para1: PDisplay, para2: Pcint): PPChar{.cdecl, - dynlib: libX11, importc.} -proc XListProperties*(para1: PDisplay, para2: TWindow, para3: Pcint): PAtom{. - cdecl, dynlib: libX11, importc.} -proc XListHosts*(para1: PDisplay, para2: Pcint, para3: PBool): PXHostAddress{. - cdecl, dynlib: libX11, importc.} -proc XKeycodeToKeysym*(para1: PDisplay, para2: TKeyCode, para3: cint): TKeySym{. - cdecl, dynlib: libX11, importc.} -proc XLookupKeysym*(para1: PXKeyEvent, para2: cint): TKeySym{.cdecl, - dynlib: libX11, importc.} -proc XGetKeyboardMapping*(para1: PDisplay, para2: TKeyCode, para3: cint, - para4: Pcint): PKeySym{.cdecl, dynlib: libX11, importc.} -proc XStringToKeysym*(para1: cstring): TKeySym{.cdecl, dynlib: libX11, importc.} -proc XMaxRequestSize*(para1: PDisplay): clong{.cdecl, dynlib: libX11, importc.} -proc XExtendedMaxRequestSize*(para1: PDisplay): clong{.cdecl, dynlib: libX11, - importc.} -proc XResourceManagerString*(para1: PDisplay): cstring{.cdecl, dynlib: libX11, - importc.} -proc XScreenResourceString*(para1: PScreen): cstring{.cdecl, dynlib: libX11, - importc.} -proc XDisplayMotionBufferSize*(para1: PDisplay): culong{.cdecl, dynlib: libX11, - importc.} -proc XVisualIDFromVisual*(para1: PVisual): TVisualID{.cdecl, dynlib: libX11, - importc.} -proc XInitThreads*(): TStatus{.cdecl, dynlib: libX11, importc.} -proc XLockDisplay*(para1: PDisplay){.cdecl, dynlib: libX11, importc.} -proc XUnlockDisplay*(para1: PDisplay){.cdecl, dynlib: libX11, importc.} -proc XInitExtension*(para1: PDisplay, para2: cstring): PXExtCodes{.cdecl, - dynlib: libX11, importc.} -proc XAddExtension*(para1: PDisplay): PXExtCodes{.cdecl, dynlib: libX11, importc.} -proc XFindOnExtensionList*(para1: PPXExtData, para2: cint): PXExtData{.cdecl, - dynlib: libX11, importc.} -proc XEHeadOfExtensionList*(para1: TXEDataObject): PPXExtData{.cdecl, - dynlib: libX11, importc.} -proc XRootWindow*(para1: PDisplay, para2: cint): TWindow{.cdecl, dynlib: libX11, - importc.} -proc XDefaultRootWindow*(para1: PDisplay): TWindow{.cdecl, dynlib: libX11, - importc.} -proc XRootWindowOfScreen*(para1: PScreen): TWindow{.cdecl, dynlib: libX11, - importc.} -proc XDefaultVisual*(para1: PDisplay, para2: cint): PVisual{.cdecl, - dynlib: libX11, importc.} -proc XDefaultVisualOfScreen*(para1: PScreen): PVisual{.cdecl, dynlib: libX11, - importc.} -proc XDefaultGC*(para1: PDisplay, para2: cint): TGC{.cdecl, dynlib: libX11, - importc.} -proc XDefaultGCOfScreen*(para1: PScreen): TGC{.cdecl, dynlib: libX11, importc.} -proc XBlackPixel*(para1: PDisplay, para2: cint): culong{.cdecl, dynlib: libX11, - importc.} -proc XWhitePixel*(para1: PDisplay, para2: cint): culong{.cdecl, dynlib: libX11, - importc.} -proc XAllPlanes*(): culong{.cdecl, dynlib: libX11, importc.} -proc XBlackPixelOfScreen*(para1: PScreen): culong{.cdecl, dynlib: libX11, - importc.} -proc XWhitePixelOfScreen*(para1: PScreen): culong{.cdecl, dynlib: libX11, - importc.} -proc XNextRequest*(para1: PDisplay): culong{.cdecl, dynlib: libX11, importc.} -proc XLastKnownRequestProcessed*(para1: PDisplay): culong{.cdecl, - dynlib: libX11, importc.} -proc XServerVendor*(para1: PDisplay): cstring{.cdecl, dynlib: libX11, importc.} -proc XDisplayString*(para1: PDisplay): cstring{.cdecl, dynlib: libX11, importc.} -proc XDefaultColormap*(para1: PDisplay, para2: cint): TColormap{.cdecl, - dynlib: libX11, importc.} -proc XDefaultColormapOfScreen*(para1: PScreen): TColormap{.cdecl, - dynlib: libX11, importc.} -proc XDisplayOfScreen*(para1: PScreen): PDisplay{.cdecl, dynlib: libX11, importc.} -proc XScreenOfDisplay*(para1: PDisplay, para2: cint): PScreen{.cdecl, - dynlib: libX11, importc.} -proc XDefaultScreenOfDisplay*(para1: PDisplay): PScreen{.cdecl, dynlib: libX11, - importc.} -proc XEventMaskOfScreen*(para1: PScreen): clong{.cdecl, dynlib: libX11, importc.} -proc XScreenNumberOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, - importc.} -type - TXErrorHandler* = proc (para1: PDisplay, para2: PXErrorEvent): cint{.cdecl.} - -proc XSetErrorHandler*(para1: TXErrorHandler): TXErrorHandler{.cdecl, - dynlib: libX11, importc.} -type - TXIOErrorHandler* = proc (para1: PDisplay): cint{.cdecl.} - -proc XSetIOErrorHandler*(para1: TXIOErrorHandler): TXIOErrorHandler{.cdecl, - dynlib: libX11, importc.} -proc XListPixmapFormats*(para1: PDisplay, para2: Pcint): PXPixmapFormatValues{. - cdecl, dynlib: libX11, importc.} -proc XListDepths*(para1: PDisplay, para2: cint, para3: Pcint): Pcint{.cdecl, - dynlib: libX11, importc.} -proc XReconfigureWMWindow*(para1: PDisplay, para2: TWindow, para3: cint, - para4: cuint, para5: PXWindowChanges): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetWMProtocols*(para1: PDisplay, para2: TWindow, para3: PPAtom, - para4: Pcint): TStatus{.cdecl, dynlib: libX11, importc.} -proc XSetWMProtocols*(para1: PDisplay, para2: TWindow, para3: PAtom, para4: cint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XIconifyWindow*(para1: PDisplay, para2: TWindow, para3: cint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XWithdrawWindow*(para1: PDisplay, para2: TWindow, para3: cint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetCommand*(para1: PDisplay, para2: TWindow, para3: PPPchar, para4: Pcint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetWMColormapWindows*(para1: PDisplay, para2: TWindow, para3: PPWindow, - para4: Pcint): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XSetWMColormapWindows*(para1: PDisplay, para2: TWindow, para3: PWindow, - para4: cint): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XFreeStringList*(para1: PPchar){.cdecl, dynlib: libX11, importc.} -proc XSetTransientForHint*(para1: PDisplay, para2: TWindow, para3: TWindow): cint{. - cdecl, dynlib: libX11, importc.} -proc XActivateScreenSaver*(para1: PDisplay): cint{.cdecl, dynlib: libX11, - importc.} -proc XAddHost*(para1: PDisplay, para2: PXHostAddress): cint{.cdecl, - dynlib: libX11, importc.} -proc XAddHosts*(para1: PDisplay, para2: PXHostAddress, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XAddToExtensionList*(para1: PPXExtData, para2: PXExtData): cint{.cdecl, - dynlib: libX11, importc.} -proc XAddToSaveSet*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XAllocColor*(para1: PDisplay, para2: TColormap, para3: PXColor): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XAllocColorCells*(para1: PDisplay, para2: TColormap, para3: TBool, - para4: Pculong, para5: cuint, para6: Pculong, - para7: cuint): TStatus{.cdecl, dynlib: libX11, importc.} -proc XAllocColorPlanes*(para1: PDisplay, para2: TColormap, para3: TBool, - para4: Pculong, para5: cint, para6: cint, para7: cint, - para8: cint, para9: Pculong, para10: Pculong, - para11: Pculong): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XAllocNamedColor*(para1: PDisplay, para2: TColormap, para3: cstring, - para4: PXColor, para5: PXColor): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XAllowEvents*(para1: PDisplay, para2: cint, para3: TTime): cint{.cdecl, - dynlib: libX11, importc.} -proc XAutoRepeatOff*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XAutoRepeatOn*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XBell*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XBitmapBitOrder*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XBitmapPad*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XBitmapUnit*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XCellsOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XChangeActivePointerGrab*(para1: PDisplay, para2: cuint, para3: TCursor, - para4: TTime): cint{.cdecl, dynlib: libX11, - importc.} -proc XChangeGC*(para1: PDisplay, para2: TGC, para3: culong, para4: PXGCValues): cint{. - cdecl, dynlib: libX11, importc.} -proc XChangeKeyboardControl*(para1: PDisplay, para2: culong, - para3: PXKeyboardControl): cint{.cdecl, - dynlib: libX11, importc.} -proc XChangeKeyboardMapping*(para1: PDisplay, para2: cint, para3: cint, - para4: PKeySym, para5: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XChangePointerControl*(para1: PDisplay, para2: TBool, para3: TBool, - para4: cint, para5: cint, para6: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XChangeProperty*(para1: PDisplay, para2: TWindow, para3: TAtom, - para4: TAtom, para5: cint, para6: cint, para7: Pcuchar, - para8: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XChangeSaveSet*(para1: PDisplay, para2: TWindow, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XChangeWindowAttributes*(para1: PDisplay, para2: TWindow, para3: culong, - para4: PXSetWindowAttributes): cint{.cdecl, - dynlib: libX11, importc.} -proc XCheckIfEvent*(para1: PDisplay, para2: PXEvent, para3: funcifevent, - para4: TXPointer): TBool{.cdecl, dynlib: libX11, importc.} -proc XCheckMaskEvent*(para1: PDisplay, para2: clong, para3: PXEvent): TBool{. - cdecl, dynlib: libX11, importc.} -proc XCheckTypedEvent*(para1: PDisplay, para2: cint, para3: PXEvent): TBool{. - cdecl, dynlib: libX11, importc.} -proc XCheckTypedWindowEvent*(para1: PDisplay, para2: TWindow, para3: cint, - para4: PXEvent): TBool{.cdecl, dynlib: libX11, - importc.} -proc XCheckWindowEvent*(para1: PDisplay, para2: TWindow, para3: clong, - para4: PXEvent): TBool{.cdecl, dynlib: libX11, importc.} -proc XCirculateSubwindows*(para1: PDisplay, para2: TWindow, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XCirculateSubwindowsDown*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XCirculateSubwindowsUp*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XClearArea*(para1: PDisplay, para2: TWindow, para3: cint, para4: cint, - para5: cuint, para6: cuint, para7: TBool): cint{.cdecl, - dynlib: libX11, importc.} -proc XClearWindow*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XCloseDisplay*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XConfigureWindow*(para1: PDisplay, para2: TWindow, para3: cuint, - para4: PXWindowChanges): cint{.cdecl, dynlib: libX11, - importc.} -proc XConnectionNumber*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XConvertSelection*(para1: PDisplay, para2: TAtom, para3: TAtom, - para4: TAtom, para5: TWindow, para6: TTime): cint{. - cdecl, dynlib: libX11, importc.} -proc XCopyArea*(para1: PDisplay, para2: TDrawable, para3: TDrawable, para4: TGC, - para5: cint, para6: cint, para7: cuint, para8: cuint, - para9: cint, para10: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XCopyGC*(para1: PDisplay, para2: TGC, para3: culong, para4: TGC): cint{. - cdecl, dynlib: libX11, importc.} -proc XCopyPlane*(para1: PDisplay, para2: TDrawable, para3: TDrawable, - para4: TGC, para5: cint, para6: cint, para7: cuint, - para8: cuint, para9: cint, para10: cint, para11: culong): cint{. - cdecl, dynlib: libX11, importc.} -proc XDefaultDepth*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XDefaultDepthOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, - importc.} -proc XDefaultScreen*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XDefineCursor*(para1: PDisplay, para2: TWindow, para3: TCursor): cint{. - cdecl, dynlib: libX11, importc.} -proc XDeleteProperty*(para1: PDisplay, para2: TWindow, para3: TAtom): cint{. - cdecl, dynlib: libX11, importc.} -proc XDestroyWindow*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XDestroySubwindows*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XDoesBackingStore*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XDoesSaveUnders*(para1: PScreen): TBool{.cdecl, dynlib: libX11, importc.} -proc XDisableAccessControl*(para1: PDisplay): cint{.cdecl, dynlib: libX11, - importc.} -proc XDisplayCells*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XDisplayHeight*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XDisplayHeightMM*(para1: PDisplay, para2: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDisplayKeycodes*(para1: PDisplay, para2: Pcint, para3: Pcint): cint{. - cdecl, dynlib: libX11, importc.} -proc XDisplayPlanes*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XDisplayWidth*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XDisplayWidthMM*(para1: PDisplay, para2: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDrawArc*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: cuint, para7: cuint, para8: cint, para9: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XDrawArcs*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: PXArc, - para5: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XDrawImageString*(para1: PDisplay, para2: TDrawable, para3: TGC, - para4: cint, para5: cint, para6: cstring, para7: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XDrawImageString16*(para1: PDisplay, para2: TDrawable, para3: TGC, - para4: cint, para5: cint, para6: PXChar2b, para7: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XDrawLine*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: cint, para7: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDrawLines*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: PXPoint, - para5: cint, para6: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XDrawPoint*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XDrawPoints*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: PXPoint, - para5: cint, para6: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XDrawRectangle*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: cuint, para7: cuint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDrawRectangles*(para1: PDisplay, para2: TDrawable, para3: TGC, - para4: PXRectangle, para5: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDrawSegments*(para1: PDisplay, para2: TDrawable, para3: TGC, - para4: PXSegment, para5: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XDrawString*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: cstring, para7: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDrawString16*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: PXChar2b, para7: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDrawText*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: PXTextItem, para7: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XDrawText16*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: PXTextItem16, para7: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XEnableAccessControl*(para1: PDisplay): cint{.cdecl, dynlib: libX11, - importc.} -proc XEventsQueued*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XFetchName*(para1: PDisplay, para2: TWindow, para3: PPchar): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XFillArc*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: cuint, para7: cuint, para8: cint, para9: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XFillArcs*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: PXArc, - para5: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XFillPolygon*(para1: PDisplay, para2: TDrawable, para3: TGC, - para4: PXPoint, para5: cint, para6: cint, para7: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XFillRectangle*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: cuint, para7: cuint): cint{.cdecl, - dynlib: libX11, importc.} -proc XFillRectangles*(para1: PDisplay, para2: TDrawable, para3: TGC, - para4: PXRectangle, para5: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XFlush*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XForceScreenSaver*(para1: PDisplay, para2: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XFree*(para1: pointer): cint{.cdecl, dynlib: libX11, importc.} -proc XFreeColormap*(para1: PDisplay, para2: TColormap): cint{.cdecl, - dynlib: libX11, importc.} -proc XFreeColors*(para1: PDisplay, para2: TColormap, para3: Pculong, - para4: cint, para5: culong): cint{.cdecl, dynlib: libX11, - importc.} -proc XFreeCursor*(para1: PDisplay, para2: TCursor): cint{.cdecl, dynlib: libX11, - importc.} -proc XFreeExtensionList*(para1: PPchar): cint{.cdecl, dynlib: libX11, importc.} -proc XFreeFont*(para1: PDisplay, para2: PXFontStruct): cint{.cdecl, - dynlib: libX11, importc.} -proc XFreeFontInfo*(para1: PPchar, para2: PXFontStruct, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XFreeFontNames*(para1: PPchar): cint{.cdecl, dynlib: libX11, importc.} -proc XFreeFontPath*(para1: PPchar): cint{.cdecl, dynlib: libX11, importc.} -proc XFreeGC*(para1: PDisplay, para2: TGC): cint{.cdecl, dynlib: libX11, importc.} -proc XFreeModifiermap*(para1: PXModifierKeymap): cint{.cdecl, dynlib: libX11, - importc.} -proc XFreePixmap*(para1: PDisplay, para2: TPixmap): cint{.cdecl, dynlib: libX11, - importc.} -proc XGeometry*(para1: PDisplay, para2: cint, para3: cstring, para4: cstring, - para5: cuint, para6: cuint, para7: cuint, para8: cint, - para9: cint, para10: Pcint, para11: Pcint, para12: Pcint, - para13: Pcint): cint{.cdecl, dynlib: libX11, importc.} -proc XGetErrorDatabaseText*(para1: PDisplay, para2: cstring, para3: cstring, - para4: cstring, para5: cstring, para6: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XGetErrorText*(para1: PDisplay, para2: cint, para3: cstring, para4: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XGetFontProperty*(para1: PXFontStruct, para2: TAtom, para3: Pculong): TBool{. - cdecl, dynlib: libX11, importc.} -proc XGetGCValues*(para1: PDisplay, para2: TGC, para3: culong, para4: PXGCValues): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetGeometry*(para1: PDisplay, para2: TDrawable, para3: PWindow, - para4: Pcint, para5: Pcint, para6: Pcuint, para7: Pcuint, - para8: Pcuint, para9: Pcuint): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XGetIconName*(para1: PDisplay, para2: TWindow, para3: PPchar): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetInputFocus*(para1: PDisplay, para2: PWindow, para3: Pcint): cint{. - cdecl, dynlib: libX11, importc.} -proc XGetKeyboardControl*(para1: PDisplay, para2: PXKeyboardState): cint{.cdecl, - dynlib: libX11, importc.} -proc XGetPointerControl*(para1: PDisplay, para2: Pcint, para3: Pcint, - para4: Pcint): cint{.cdecl, dynlib: libX11, importc.} -proc XGetPointerMapping*(para1: PDisplay, para2: Pcuchar, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XGetScreenSaver*(para1: PDisplay, para2: Pcint, para3: Pcint, para4: Pcint, - para5: Pcint): cint{.cdecl, dynlib: libX11, importc.} -proc XGetTransientForHint*(para1: PDisplay, para2: TWindow, para3: PWindow): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetWindowProperty*(para1: PDisplay, para2: TWindow, para3: TAtom, - para4: clong, para5: clong, para6: TBool, para7: TAtom, - para8: PAtom, para9: Pcint, para10: Pculong, - para11: Pculong, para12: PPcuchar): cint{.cdecl, - dynlib: libX11, importc.} -proc XGetWindowAttributes*(para1: PDisplay, para2: TWindow, - para3: PXWindowAttributes): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XGrabButton*(para1: PDisplay, para2: cuint, para3: cuint, para4: TWindow, - para5: TBool, para6: cuint, para7: cint, para8: cint, - para9: TWindow, para10: TCursor): cint{.cdecl, dynlib: libX11, - importc.} -proc XGrabKey*(para1: PDisplay, para2: cint, para3: cuint, para4: TWindow, - para5: TBool, para6: cint, para7: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XGrabKeyboard*(para1: PDisplay, para2: TWindow, para3: TBool, para4: cint, - para5: cint, para6: TTime): cint{.cdecl, dynlib: libX11, - importc.} -proc XGrabPointer*(para1: PDisplay, para2: TWindow, para3: TBool, para4: cuint, - para5: cint, para6: cint, para7: TWindow, para8: TCursor, - para9: TTime): cint{.cdecl, dynlib: libX11, importc.} -proc XGrabServer*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XHeightMMOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XHeightOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XIfEvent*(para1: PDisplay, para2: PXEvent, para3: funcifevent, - para4: TXPointer): cint{.cdecl, dynlib: libX11, importc.} -proc XImageByteOrder*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XInstallColormap*(para1: PDisplay, para2: TColormap): cint{.cdecl, - dynlib: libX11, importc.} -proc XKeysymToKeycode*(para1: PDisplay, para2: TKeySym): TKeyCode{.cdecl, - dynlib: libX11, importc.} -proc XKillClient*(para1: PDisplay, para2: TXID): cint{.cdecl, dynlib: libX11, - importc.} -proc XLookupColor*(para1: PDisplay, para2: TColormap, para3: cstring, - para4: PXColor, para5: PXColor): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XLowerWindow*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XMapRaised*(para1: PDisplay, para2: TWindow): cint{.cdecl, dynlib: libX11, - importc.} -proc XMapSubwindows*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XMapWindow*(para1: PDisplay, para2: TWindow): cint{.cdecl, dynlib: libX11, - importc.} -proc XMaskEvent*(para1: PDisplay, para2: clong, para3: PXEvent): cint{.cdecl, - dynlib: libX11, importc.} -proc XMaxCmapsOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XMinCmapsOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XMoveResizeWindow*(para1: PDisplay, para2: TWindow, para3: cint, - para4: cint, para5: cuint, para6: cuint): cint{.cdecl, - dynlib: libX11, importc.} -proc XMoveWindow*(para1: PDisplay, para2: TWindow, para3: cint, para4: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XNextEvent*(para1: PDisplay, para2: PXEvent): cint{.cdecl, dynlib: libX11, - importc.} -proc XNoOp*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XParseColor*(para1: PDisplay, para2: TColormap, para3: cstring, - para4: PXColor): TStatus{.cdecl, dynlib: libX11, importc.} -proc XParseGeometry*(para1: cstring, para2: Pcint, para3: Pcint, para4: Pcuint, - para5: Pcuint): cint{.cdecl, dynlib: libX11, importc.} -proc XPeekEvent*(para1: PDisplay, para2: PXEvent): cint{.cdecl, dynlib: libX11, - importc.} -proc XPeekIfEvent*(para1: PDisplay, para2: PXEvent, para3: funcifevent, - para4: TXPointer): cint{.cdecl, dynlib: libX11, importc.} -proc XPending*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XPlanesOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XProtocolRevision*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XProtocolVersion*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XPutBackEvent*(para1: PDisplay, para2: PXEvent): cint{.cdecl, - dynlib: libX11, importc.} -proc XPutImage*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: PXImage, - para5: cint, para6: cint, para7: cint, para8: cint, - para9: cuint, para10: cuint): cint{.cdecl, dynlib: libX11, - importc.} -proc XQLength*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XQueryBestCursor*(para1: PDisplay, para2: TDrawable, para3: cuint, - para4: cuint, para5: Pcuint, para6: Pcuint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XQueryBestSize*(para1: PDisplay, para2: cint, para3: TDrawable, - para4: cuint, para5: cuint, para6: Pcuint, para7: Pcuint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XQueryBestStipple*(para1: PDisplay, para2: TDrawable, para3: cuint, - para4: cuint, para5: Pcuint, para6: Pcuint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XQueryBestTile*(para1: PDisplay, para2: TDrawable, para3: cuint, - para4: cuint, para5: Pcuint, para6: Pcuint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XQueryColor*(para1: PDisplay, para2: TColormap, para3: PXColor): cint{. - cdecl, dynlib: libX11, importc.} -proc XQueryColors*(para1: PDisplay, para2: TColormap, para3: PXColor, - para4: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XQueryExtension*(para1: PDisplay, para2: cstring, para3: Pcint, - para4: Pcint, para5: Pcint): TBool{.cdecl, dynlib: libX11, - importc.} - #? -proc XQueryKeymap*(para1: PDisplay, para2: chararr32): cint{.cdecl, - dynlib: libX11, importc.} -proc XQueryPointer*(para1: PDisplay, para2: TWindow, para3: PWindow, - para4: PWindow, para5: Pcint, para6: Pcint, para7: Pcint, - para8: Pcint, para9: Pcuint): TBool{.cdecl, dynlib: libX11, - importc.} -proc XQueryTextExtents*(para1: PDisplay, para2: TXID, para3: cstring, - para4: cint, para5: Pcint, para6: Pcint, para7: Pcint, - para8: PXCharStruct): cint{.cdecl, dynlib: libX11, - importc.} -proc XQueryTextExtents16*(para1: PDisplay, para2: TXID, para3: PXChar2b, - para4: cint, para5: Pcint, para6: Pcint, para7: Pcint, - para8: PXCharStruct): cint{.cdecl, dynlib: libX11, - importc.} -proc XQueryTree*(para1: PDisplay, para2: TWindow, para3: PWindow, - para4: PWindow, para5: PPWindow, para6: Pcuint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XRaiseWindow*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XReadBitmapFile*(para1: PDisplay, para2: TDrawable, para3: cstring, - para4: Pcuint, para5: Pcuint, para6: PPixmap, - para7: Pcint, para8: Pcint): cint{.cdecl, dynlib: libX11, - importc.} -proc XReadBitmapFileData*(para1: cstring, para2: Pcuint, para3: Pcuint, - para4: PPcuchar, para5: Pcint, para6: Pcint): cint{. - cdecl, dynlib: libX11, importc.} -proc XRebindKeysym*(para1: PDisplay, para2: TKeySym, para3: PKeySym, - para4: cint, para5: Pcuchar, para6: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XRecolorCursor*(para1: PDisplay, para2: TCursor, para3: PXColor, - para4: PXColor): cint{.cdecl, dynlib: libX11, importc.} -proc XRefreshKeyboardMapping*(para1: PXMappingEvent): cint{.cdecl, - dynlib: libX11, importc.} -proc XRemoveFromSaveSet*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XRemoveHost*(para1: PDisplay, para2: PXHostAddress): cint{.cdecl, - dynlib: libX11, importc.} -proc XRemoveHosts*(para1: PDisplay, para2: PXHostAddress, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XReparentWindow*(para1: PDisplay, para2: TWindow, para3: TWindow, - para4: cint, para5: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XResetScreenSaver*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XResizeWindow*(para1: PDisplay, para2: TWindow, para3: cuint, para4: cuint): cint{. - cdecl, dynlib: libX11, importc.} -proc XRestackWindows*(para1: PDisplay, para2: PWindow, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XRotateBuffers*(para1: PDisplay, para2: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XRotateWindowProperties*(para1: PDisplay, para2: TWindow, para3: PAtom, - para4: cint, para5: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XScreenCount*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XSelectInput*(para1: PDisplay, para2: TWindow, para3: clong): cint{.cdecl, - dynlib: libX11, importc.} -proc XSendEvent*(para1: PDisplay, para2: TWindow, para3: TBool, para4: clong, - para5: PXEvent): TStatus{.cdecl, dynlib: libX11, importc.} -proc XSetAccessControl*(para1: PDisplay, para2: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetArcMode*(para1: PDisplay, para2: TGC, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetBackground*(para1: PDisplay, para2: TGC, para3: culong): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetClipMask*(para1: PDisplay, para2: TGC, para3: TPixmap): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetClipOrigin*(para1: PDisplay, para2: TGC, para3: cint, para4: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetClipRectangles*(para1: PDisplay, para2: TGC, para3: cint, para4: cint, - para5: PXRectangle, para6: cint, para7: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetCloseDownMode*(para1: PDisplay, para2: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetCommand*(para1: PDisplay, para2: TWindow, para3: PPchar, para4: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetDashes*(para1: PDisplay, para2: TGC, para3: cint, para4: cstring, - para5: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XSetFillRule*(para1: PDisplay, para2: TGC, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetFillStyle*(para1: PDisplay, para2: TGC, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetFont*(para1: PDisplay, para2: TGC, para3: TFont): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetFontPath*(para1: PDisplay, para2: PPchar, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetForeground*(para1: PDisplay, para2: TGC, para3: culong): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetFunction*(para1: PDisplay, para2: TGC, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetGraphicsExposures*(para1: PDisplay, para2: TGC, para3: TBool): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetIconName*(para1: PDisplay, para2: TWindow, para3: cstring): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetInputFocus*(para1: PDisplay, para2: TWindow, para3: cint, para4: TTime): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetLineAttributes*(para1: PDisplay, para2: TGC, para3: cuint, para4: cint, - para5: cint, para6: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XSetModifierMapping*(para1: PDisplay, para2: PXModifierKeymap): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetPlaneMask*(para1: PDisplay, para2: TGC, para3: culong): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetPointerMapping*(para1: PDisplay, para2: Pcuchar, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetScreenSaver*(para1: PDisplay, para2: cint, para3: cint, para4: cint, - para5: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XSetSelectionOwner*(para1: PDisplay, para2: TAtom, para3: TWindow, - para4: TTime): cint{.cdecl, dynlib: libX11, importc.} -proc XSetState*(para1: PDisplay, para2: TGC, para3: culong, para4: culong, - para5: cint, para6: culong): cint{.cdecl, dynlib: libX11, - importc.} -proc XSetStipple*(para1: PDisplay, para2: TGC, para3: TPixmap): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetSubwindowMode*(para1: PDisplay, para2: TGC, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetTSOrigin*(para1: PDisplay, para2: TGC, para3: cint, para4: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetTile*(para1: PDisplay, para2: TGC, para3: TPixmap): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetWindowBackground*(para1: PDisplay, para2: TWindow, para3: culong): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetWindowBackgroundPixmap*(para1: PDisplay, para2: TWindow, para3: TPixmap): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetWindowBorder*(para1: PDisplay, para2: TWindow, para3: culong): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetWindowBorderPixmap*(para1: PDisplay, para2: TWindow, para3: TPixmap): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetWindowBorderWidth*(para1: PDisplay, para2: TWindow, para3: cuint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetWindowColormap*(para1: PDisplay, para2: TWindow, para3: TColormap): cint{. - cdecl, dynlib: libX11, importc.} -proc XStoreBuffer*(para1: PDisplay, para2: cstring, para3: cint, para4: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XStoreBytes*(para1: PDisplay, para2: cstring, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XStoreColor*(para1: PDisplay, para2: TColormap, para3: PXColor): cint{. - cdecl, dynlib: libX11, importc.} -proc XStoreColors*(para1: PDisplay, para2: TColormap, para3: PXColor, - para4: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XStoreName*(para1: PDisplay, para2: TWindow, para3: cstring): cint{.cdecl, - dynlib: libX11, importc.} -proc XStoreNamedColor*(para1: PDisplay, para2: TColormap, para3: cstring, - para4: culong, para5: cint): cint{.cdecl, dynlib: libX11, - importc.} -proc XSync*(para1: PDisplay, para2: TBool): cint{.cdecl, dynlib: libX11, importc.} -proc XTextExtents*(para1: PXFontStruct, para2: cstring, para3: cint, - para4: Pcint, para5: Pcint, para6: Pcint, para7: PXCharStruct): cint{. - cdecl, dynlib: libX11, importc.} -proc XTextExtents16*(para1: PXFontStruct, para2: PXChar2b, para3: cint, - para4: Pcint, para5: Pcint, para6: Pcint, - para7: PXCharStruct): cint{.cdecl, dynlib: libX11, importc.} -proc XTextWidth*(para1: PXFontStruct, para2: cstring, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XTextWidth16*(para1: PXFontStruct, para2: PXChar2b, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XTranslateCoordinates*(para1: PDisplay, para2: TWindow, para3: TWindow, - para4: cint, para5: cint, para6: Pcint, - para7: Pcint, para8: PWindow): TBool{.cdecl, - dynlib: libX11, importc.} -proc XUndefineCursor*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XUngrabButton*(para1: PDisplay, para2: cuint, para3: cuint, para4: TWindow): cint{. - cdecl, dynlib: libX11, importc.} -proc XUngrabKey*(para1: PDisplay, para2: cint, para3: cuint, para4: TWindow): cint{. - cdecl, dynlib: libX11, importc.} -proc XUngrabKeyboard*(para1: PDisplay, para2: TTime): cint{.cdecl, - dynlib: libX11, importc.} -proc XUngrabPointer*(para1: PDisplay, para2: TTime): cint{.cdecl, - dynlib: libX11, importc.} -proc XUngrabServer*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XUninstallColormap*(para1: PDisplay, para2: TColormap): cint{.cdecl, - dynlib: libX11, importc.} -proc XUnloadFont*(para1: PDisplay, para2: TFont): cint{.cdecl, dynlib: libX11, - importc.} -proc XUnmapSubwindows*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XUnmapWindow*(para1: PDisplay, para2: TWindow): cint{.cdecl, - dynlib: libX11, importc.} -proc XVendorRelease*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XWarpPointer*(para1: PDisplay, para2: TWindow, para3: TWindow, para4: cint, - para5: cint, para6: cuint, para7: cuint, para8: cint, - para9: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XWidthMMOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XWidthOfScreen*(para1: PScreen): cint{.cdecl, dynlib: libX11, importc.} -proc XWindowEvent*(para1: PDisplay, para2: TWindow, para3: clong, para4: PXEvent): cint{. - cdecl, dynlib: libX11, importc.} -proc XWriteBitmapFile*(para1: PDisplay, para2: cstring, para3: TPixmap, - para4: cuint, para5: cuint, para6: cint, para7: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSupportsLocale*(): TBool{.cdecl, dynlib: libX11, importc.} -proc XSetLocaleModifiers*(para1: cstring): cstring{.cdecl, dynlib: libX11, - importc.} -proc XOpenOM*(para1: PDisplay, para2: PXrmHashBucketRec, para3: cstring, - para4: cstring): TXOM{.cdecl, dynlib: libX11, importc.} -proc XCloseOM*(para1: TXOM): TStatus{.cdecl, dynlib: libX11, importc.} -proc XSetOMValues*(para1: TXOM): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XGetOMValues*(para1: TXOM): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XDisplayOfOM*(para1: TXOM): PDisplay{.cdecl, dynlib: libX11, importc.} -proc XLocaleOfOM*(para1: TXOM): cstring{.cdecl, dynlib: libX11, importc.} -proc XCreateOC*(para1: TXOM): TXOC{.varargs, cdecl, dynlib: libX11, importc.} -proc XDestroyOC*(para1: TXOC){.cdecl, dynlib: libX11, importc.} -proc XOMOfOC*(para1: TXOC): TXOM{.cdecl, dynlib: libX11, importc.} -proc XSetOCValues*(para1: TXOC): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XGetOCValues*(para1: TXOC): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XCreateFontSet*(para1: PDisplay, para2: cstring, para3: PPPchar, - para4: Pcint, para5: PPchar): TXFontSet{.cdecl, - dynlib: libX11, importc.} -proc XFreeFontSet*(para1: PDisplay, para2: TXFontSet){.cdecl, dynlib: libX11, - importc.} -proc XFontsOfFontSet*(para1: TXFontSet, para2: PPPXFontStruct, para3: PPPchar): cint{. - cdecl, dynlib: libX11, importc.} -proc XBaseFontNameListOfFontSet*(para1: TXFontSet): cstring{.cdecl, - dynlib: libX11, importc.} -proc XLocaleOfFontSet*(para1: TXFontSet): cstring{.cdecl, dynlib: libX11, - importc.} -proc XContextDependentDrawing*(para1: TXFontSet): TBool{.cdecl, dynlib: libX11, - importc.} -proc XDirectionalDependentDrawing*(para1: TXFontSet): TBool{.cdecl, - dynlib: libX11, importc.} -proc XContextualDrawing*(para1: TXFontSet): TBool{.cdecl, dynlib: libX11, - importc.} -proc XExtentsOfFontSet*(para1: TXFontSet): PXFontSetExtents{.cdecl, - dynlib: libX11, importc.} -proc XmbTextEscapement*(para1: TXFontSet, para2: cstring, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XwcTextEscapement*(para1: TXFontSet, para2: PWideChar, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc Xutf8TextEscapement*(para1: TXFontSet, para2: cstring, para3: cint): cint{. - cdecl, dynlib: libX11, importc.} -proc XmbTextExtents*(para1: TXFontSet, para2: cstring, para3: cint, - para4: PXRectangle, para5: PXRectangle): cint{.cdecl, - dynlib: libX11, importc.} -proc XwcTextExtents*(para1: TXFontSet, para2: PWideChar, para3: cint, - para4: PXRectangle, para5: PXRectangle): cint{.cdecl, - dynlib: libX11, importc.} -proc Xutf8TextExtents*(para1: TXFontSet, para2: cstring, para3: cint, - para4: PXRectangle, para5: PXRectangle): cint{.cdecl, - dynlib: libX11, importc.} -proc XmbTextPerCharExtents*(para1: TXFontSet, para2: cstring, para3: cint, - para4: PXRectangle, para5: PXRectangle, para6: cint, - para7: Pcint, para8: PXRectangle, para9: PXRectangle): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XwcTextPerCharExtents*(para1: TXFontSet, para2: PWideChar, para3: cint, - para4: PXRectangle, para5: PXRectangle, para6: cint, - para7: Pcint, para8: PXRectangle, para9: PXRectangle): TStatus{. - cdecl, dynlib: libX11, importc.} -proc Xutf8TextPerCharExtents*(para1: TXFontSet, para2: cstring, para3: cint, - para4: PXRectangle, para5: PXRectangle, - para6: cint, para7: Pcint, para8: PXRectangle, - para9: PXRectangle): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XmbDrawText*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: PXmbTextItem, para7: cint){.cdecl, - dynlib: libX11, importc.} -proc XwcDrawText*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: PXwcTextItem, para7: cint){.cdecl, - dynlib: libX11, importc.} -proc Xutf8DrawText*(para1: PDisplay, para2: TDrawable, para3: TGC, para4: cint, - para5: cint, para6: PXmbTextItem, para7: cint){.cdecl, - dynlib: libX11, importc.} -proc XmbDrawString*(para1: PDisplay, para2: TDrawable, para3: TXFontSet, - para4: TGC, para5: cint, para6: cint, para7: cstring, - para8: cint){.cdecl, dynlib: libX11, importc.} -proc XwcDrawString*(para1: PDisplay, para2: TDrawable, para3: TXFontSet, - para4: TGC, para5: cint, para6: cint, para7: PWideChar, - para8: cint){.cdecl, dynlib: libX11, importc.} -proc Xutf8DrawString*(para1: PDisplay, para2: TDrawable, para3: TXFontSet, - para4: TGC, para5: cint, para6: cint, para7: cstring, - para8: cint){.cdecl, dynlib: libX11, importc.} -proc XmbDrawImageString*(para1: PDisplay, para2: TDrawable, para3: TXFontSet, - para4: TGC, para5: cint, para6: cint, para7: cstring, - para8: cint){.cdecl, dynlib: libX11, importc.} -proc XwcDrawImageString*(para1: PDisplay, para2: TDrawable, para3: TXFontSet, - para4: TGC, para5: cint, para6: cint, para7: PWideChar, - para8: cint){.cdecl, dynlib: libX11, importc.} -proc Xutf8DrawImageString*(para1: PDisplay, para2: TDrawable, para3: TXFontSet, - para4: TGC, para5: cint, para6: cint, para7: cstring, - para8: cint){.cdecl, dynlib: libX11, importc.} -proc XOpenIM*(para1: PDisplay, para2: PXrmHashBucketRec, para3: cstring, - para4: cstring): TXIM{.cdecl, dynlib: libX11, importc.} -proc XCloseIM*(para1: TXIM): TStatus{.cdecl, dynlib: libX11, importc.} -proc XGetIMValues*(para1: TXIM): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XSetIMValues*(para1: TXIM): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XDisplayOfIM*(para1: TXIM): PDisplay{.cdecl, dynlib: libX11, importc.} -proc XLocaleOfIM*(para1: TXIM): cstring{.cdecl, dynlib: libX11, importc.} -proc XCreateIC*(para1: TXIM): TXIC{.varargs, cdecl, dynlib: libX11, importc.} -proc XDestroyIC*(para1: TXIC){.cdecl, dynlib: libX11, importc.} -proc XSetICFocus*(para1: TXIC){.cdecl, dynlib: libX11, importc.} -proc XUnsetICFocus*(para1: TXIC){.cdecl, dynlib: libX11, importc.} -proc XwcResetIC*(para1: TXIC): PWideChar{.cdecl, dynlib: libX11, importc.} -proc XmbResetIC*(para1: TXIC): cstring{.cdecl, dynlib: libX11, importc.} -proc Xutf8ResetIC*(para1: TXIC): cstring{.cdecl, dynlib: libX11, importc.} -proc XSetICValues*(para1: TXIC): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XGetICValues*(para1: TXIC): cstring{.varargs, cdecl, dynlib: libX11, - importc.} -proc XIMOfIC*(para1: TXIC): TXIM{.cdecl, dynlib: libX11, importc.} -proc XFilterEvent*(para1: PXEvent, para2: TWindow): TBool{.cdecl, - dynlib: libX11, importc.} -proc XmbLookupString*(para1: TXIC, para2: PXKeyPressedEvent, para3: cstring, - para4: cint, para5: PKeySym, para6: PStatus): cint{.cdecl, - dynlib: libX11, importc.} -proc XwcLookupString*(para1: TXIC, para2: PXKeyPressedEvent, para3: PWideChar, - para4: cint, para5: PKeySym, para6: PStatus): cint{.cdecl, - dynlib: libX11, importc.} -proc Xutf8LookupString*(para1: TXIC, para2: PXKeyPressedEvent, para3: cstring, - para4: cint, para5: PKeySym, para6: PStatus): cint{. - cdecl, dynlib: libX11, importc.} -proc XVaCreateNestedList*(unused: cint): TXVaNestedList{.varargs, cdecl, - dynlib: libX11, importc.} -proc XRegisterIMInstantiateCallback*(para1: PDisplay, para2: PXrmHashBucketRec, - para3: cstring, para4: cstring, - para5: TXIDProc, para6: TXPointer): TBool{. - cdecl, dynlib: libX11, importc.} -proc XUnregisterIMInstantiateCallback*(para1: PDisplay, - para2: PXrmHashBucketRec, para3: cstring, - para4: cstring, para5: TXIDProc, - para6: TXPointer): TBool{.cdecl, - dynlib: libX11, importc.} -type - TXConnectionWatchProc* = proc (para1: PDisplay, para2: TXPointer, para3: cint, - para4: TBool, para5: PXPointer){.cdecl.} - -proc XInternalConnectionNumbers*(para1: PDisplay, para2: PPcint, para3: Pcint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XProcessInternalConnection*(para1: PDisplay, para2: cint){.cdecl, - dynlib: libX11, importc.} -proc XAddConnectionWatch*(para1: PDisplay, para2: TXConnectionWatchProc, - para3: TXPointer): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XRemoveConnectionWatch*(para1: PDisplay, para2: TXConnectionWatchProc, - para3: TXPointer){.cdecl, dynlib: libX11, importc.} -proc XSetAuthorization*(para1: cstring, para2: cint, para3: cstring, para4: cint){. - cdecl, dynlib: libX11, importc.} - # - # _Xmbtowc? - # _Xwctomb? - # -when defined(MACROS): - proc ConnectionNumber*(dpy: PDisplay): cint - proc RootWindow*(dpy: PDisplay, scr: cint): TWindow - proc DefaultScreen*(dpy: PDisplay): cint - proc DefaultRootWindow*(dpy: PDisplay): TWindow - proc DefaultVisual*(dpy: PDisplay, scr: cint): PVisual - proc DefaultGC*(dpy: PDisplay, scr: cint): TGC - proc BlackPixel*(dpy: PDisplay, scr: cint): culong - proc WhitePixel*(dpy: PDisplay, scr: cint): culong - proc QLength*(dpy: PDisplay): cint - proc DisplayWidth*(dpy: PDisplay, scr: cint): cint - proc DisplayHeight*(dpy: PDisplay, scr: cint): cint - proc DisplayWidthMM*(dpy: PDisplay, scr: cint): cint - proc DisplayHeightMM*(dpy: PDisplay, scr: cint): cint - proc DisplayPlanes*(dpy: PDisplay, scr: cint): cint - proc DisplayCells*(dpy: PDisplay, scr: cint): cint - proc ScreenCount*(dpy: PDisplay): cint - proc ServerVendor*(dpy: PDisplay): cstring - proc ProtocolVersion*(dpy: PDisplay): cint - proc ProtocolRevision*(dpy: PDisplay): cint - proc VendorRelease*(dpy: PDisplay): cint - proc DisplayString*(dpy: PDisplay): cstring - proc DefaultDepth*(dpy: PDisplay, scr: cint): cint - proc DefaultColormap*(dpy: PDisplay, scr: cint): TColormap - proc BitmapUnit*(dpy: PDisplay): cint - proc BitmapBitOrder*(dpy: PDisplay): cint - proc BitmapPad*(dpy: PDisplay): cint - proc ImageByteOrder*(dpy: PDisplay): cint - proc NextRequest*(dpy: PDisplay): culong - proc LastKnownRequestProcessed*(dpy: PDisplay): culong - proc ScreenOfDisplay*(dpy: PDisplay, scr: cint): PScreen - proc DefaultScreenOfDisplay*(dpy: PDisplay): PScreen - proc DisplayOfScreen*(s: PScreen): PDisplay - proc RootWindowOfScreen*(s: PScreen): TWindow - proc BlackPixelOfScreen*(s: PScreen): culong - proc WhitePixelOfScreen*(s: PScreen): culong - proc DefaultColormapOfScreen*(s: PScreen): TColormap - proc DefaultDepthOfScreen*(s: PScreen): cint - proc DefaultGCOfScreen*(s: PScreen): TGC - proc DefaultVisualOfScreen*(s: PScreen): PVisual - proc WidthOfScreen*(s: PScreen): cint - proc HeightOfScreen*(s: PScreen): cint - proc WidthMMOfScreen*(s: PScreen): cint - proc HeightMMOfScreen*(s: PScreen): cint - proc PlanesOfScreen*(s: PScreen): cint - proc CellsOfScreen*(s: PScreen): cint - proc MinCmapsOfScreen*(s: PScreen): cint - proc MaxCmapsOfScreen*(s: PScreen): cint - proc DoesSaveUnders*(s: PScreen): TBool - proc DoesBackingStore*(s: PScreen): cint - proc EventMaskOfScreen*(s: PScreen): clong - proc XAllocID*(dpy: PDisplay): TXID -# implementation - -when defined(MACROS): - proc ConnectionNumber(dpy: PDisplay): cint = - ConnectionNumber = (PXPrivDisplay(dpy))^ .fd - - proc RootWindow(dpy: PDisplay, scr: cint): TWindow = - RootWindow = (ScreenOfDisplay(dpy, scr))^ .root - - proc DefaultScreen(dpy: PDisplay): cint = - DefaultScreen = (PXPrivDisplay(dpy))^ .default_screen - - proc DefaultRootWindow(dpy: PDisplay): TWindow = - DefaultRootWindow = (ScreenOfDisplay(dpy, DefaultScreen(dpy)))^ .root - - proc DefaultVisual(dpy: PDisplay, scr: cint): PVisual = - DefaultVisual = (ScreenOfDisplay(dpy, scr))^ .root_visual - - proc DefaultGC(dpy: PDisplay, scr: cint): TGC = - DefaultGC = (ScreenOfDisplay(dpy, scr))^ .default_gc - - proc BlackPixel(dpy: PDisplay, scr: cint): culong = - BlackPixel = (ScreenOfDisplay(dpy, scr))^ .black_pixel - - proc WhitePixel(dpy: PDisplay, scr: cint): culong = - WhitePixel = (ScreenOfDisplay(dpy, scr))^ .white_pixel - - proc QLength(dpy: PDisplay): cint = - QLength = (PXPrivDisplay(dpy))^ .qlen - - proc DisplayWidth(dpy: PDisplay, scr: cint): cint = - DisplayWidth = (ScreenOfDisplay(dpy, scr))^ .width - - proc DisplayHeight(dpy: PDisplay, scr: cint): cint = - DisplayHeight = (ScreenOfDisplay(dpy, scr))^ .height - - proc DisplayWidthMM(dpy: PDisplay, scr: cint): cint = - DisplayWidthMM = (ScreenOfDisplay(dpy, scr))^ .mwidth - - proc DisplayHeightMM(dpy: PDisplay, scr: cint): cint = - DisplayHeightMM = (ScreenOfDisplay(dpy, scr))^ .mheight - - proc DisplayPlanes(dpy: PDisplay, scr: cint): cint = - DisplayPlanes = (ScreenOfDisplay(dpy, scr))^ .root_depth - - proc DisplayCells(dpy: PDisplay, scr: cint): cint = - DisplayCells = (DefaultVisual(dpy, scr))^ .map_entries - - proc ScreenCount(dpy: PDisplay): cint = - ScreenCount = (PXPrivDisplay(dpy))^ .nscreens - - proc ServerVendor(dpy: PDisplay): cstring = - ServerVendor = (PXPrivDisplay(dpy))^ .vendor - - proc ProtocolVersion(dpy: PDisplay): cint = - ProtocolVersion = (PXPrivDisplay(dpy))^ .proto_major_version - - proc ProtocolRevision(dpy: PDisplay): cint = - ProtocolRevision = (PXPrivDisplay(dpy))^ .proto_minor_version - - proc VendorRelease(dpy: PDisplay): cint = - VendorRelease = (PXPrivDisplay(dpy))^ .release - - proc DisplayString(dpy: PDisplay): cstring = - DisplayString = (PXPrivDisplay(dpy))^ .display_name - - proc DefaultDepth(dpy: PDisplay, scr: cint): cint = - DefaultDepth = (ScreenOfDisplay(dpy, scr))^ .root_depth - - proc DefaultColormap(dpy: PDisplay, scr: cint): TColormap = - DefaultColormap = (ScreenOfDisplay(dpy, scr))^ .cmap - - proc BitmapUnit(dpy: PDisplay): cint = - BitmapUnit = (PXPrivDisplay(dpy))^ .bitmap_unit - - proc BitmapBitOrder(dpy: PDisplay): cint = - BitmapBitOrder = (PXPrivDisplay(dpy))^ .bitmap_bit_order - - proc BitmapPad(dpy: PDisplay): cint = - BitmapPad = (PXPrivDisplay(dpy))^ .bitmap_pad - - proc ImageByteOrder(dpy: PDisplay): cint = - ImageByteOrder = (PXPrivDisplay(dpy))^ .byte_order - - proc NextRequest(dpy: PDisplay): culong = - NextRequest = ((PXPrivDisplay(dpy))^ .request) + 1 - - proc LastKnownRequestProcessed(dpy: PDisplay): culong = - LastKnownRequestProcessed = (PXPrivDisplay(dpy))^ .last_request_read - - proc ScreenOfDisplay(dpy: PDisplay, scr: cint): PScreen = - ScreenOfDisplay = addr((((PXPrivDisplay(dpy))^ .screens)[scr])) - - proc DefaultScreenOfDisplay(dpy: PDisplay): PScreen = - DefaultScreenOfDisplay = ScreenOfDisplay(dpy, DefaultScreen(dpy)) - - proc DisplayOfScreen(s: PScreen): PDisplay = - DisplayOfScreen = s^ .display - - proc RootWindowOfScreen(s: PScreen): TWindow = - RootWindowOfScreen = s^ .root - - proc BlackPixelOfScreen(s: PScreen): culong = - BlackPixelOfScreen = s^ .black_pixel - - proc WhitePixelOfScreen(s: PScreen): culong = - WhitePixelOfScreen = s^ .white_pixel - - proc DefaultColormapOfScreen(s: PScreen): TColormap = - DefaultColormapOfScreen = s^ .cmap - - proc DefaultDepthOfScreen(s: PScreen): cint = - DefaultDepthOfScreen = s^ .root_depth - - proc DefaultGCOfScreen(s: PScreen): TGC = - DefaultGCOfScreen = s^ .default_gc - - proc DefaultVisualOfScreen(s: PScreen): PVisual = - DefaultVisualOfScreen = s^ .root_visual - - proc WidthOfScreen(s: PScreen): cint = - WidthOfScreen = s^ .width - - proc HeightOfScreen(s: PScreen): cint = - HeightOfScreen = s^ .height - - proc WidthMMOfScreen(s: PScreen): cint = - WidthMMOfScreen = s^ .mwidth - - proc HeightMMOfScreen(s: PScreen): cint = - HeightMMOfScreen = s^ .mheight - - proc PlanesOfScreen(s: PScreen): cint = - PlanesOfScreen = s^ .root_depth - - proc CellsOfScreen(s: PScreen): cint = - CellsOfScreen = (DefaultVisualOfScreen(s))^ .map_entries - - proc MinCmapsOfScreen(s: PScreen): cint = - MinCmapsOfScreen = s^ .min_maps - - proc MaxCmapsOfScreen(s: PScreen): cint = - MaxCmapsOfScreen = s^ .max_maps - - proc DoesSaveUnders(s: PScreen): TBool = - DoesSaveUnders = s^ .save_unders - - proc DoesBackingStore(s: PScreen): cint = - DoesBackingStore = s^ .backing_store - - proc EventMaskOfScreen(s: PScreen): clong = - EventMaskOfScreen = s^ .root_input_mask - - proc XAllocID(dpy: PDisplay): TXID = - XAllocID = (PXPrivDisplay(dpy))^ .resource_alloc(dpy) diff --git a/lib/oldwrappers/x11/xrandr.nim b/lib/oldwrappers/x11/xrandr.nim deleted file mode 100755 index ee6f1705b..000000000 --- a/lib/oldwrappers/x11/xrandr.nim +++ /dev/null @@ -1,194 +0,0 @@ -# -# $XFree86: xc/lib/Xrandr/Xrandr.h,v 1.9 2002/09/29 23:39:44 keithp Exp $ -# -# Copyright (C) 2000 Compaq Computer Corporation, Inc. -# Copyright (C) 2002 Hewlett-Packard Company, Inc. -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of Compaq not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. HP makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ -# BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION -# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Author: Jim Gettys, HP Labs, HP. -# - -import - x, xlib - -const - libXrandr* = "libXrandr.so" - -# * $XFree86: xc/include/extensions/randr.h,v 1.4 2001/11/24 07:24:58 keithp Exp $ -# * -# * Copyright (C) 2000, Compaq Computer Corporation, -# * Copyright (C) 2002, Hewlett Packard, Inc. -# * -# * Permission to use, copy, modify, distribute, and sell this software and its -# * documentation for any purpose is hereby granted without fee, provided that -# * the above copyright notice appear in all copies and that both that -# * copyright notice and this permission notice appear in supporting -# * documentation, and that the name of Compaq or HP not be used in advertising -# * or publicity pertaining to distribution of the software without specific, -# * written prior permission. HP makes no representations about the -# * suitability of this software for any purpose. It is provided "as is" -# * without express or implied warranty. -# * -# * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL -# * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP -# * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION -# * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -# * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# * -# * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc. -# * - -type - PRotation* = ptr TRotation - TRotation* = cushort - PSizeID* = ptr TSizeID - TSizeID* = cushort - PSubpixelOrder* = ptr TSubpixelOrder - TSubpixelOrder* = cushort - -const - RANDR_NAME* = "RANDR" - RANDR_MAJOR* = 1 - RANDR_MINOR* = 1 - RRNumberErrors* = 0 - RRNumberEvents* = 1 - constX_RRQueryVersion* = 0 # we skip 1 to make old clients fail pretty immediately - X_RROldGetScreenInfo* = 1 - X_RR1_0SetScreenConfig* = 2 # V1.0 apps share the same set screen config request id - constX_RRSetScreenConfig* = 2 - X_RROldScreenChangeSelectInput* = 3 # 3 used to be ScreenChangeSelectInput; deprecated - constX_RRSelectInput* = 4 - constX_RRGetScreenInfo* = 5 # used in XRRSelectInput - RRScreenChangeNotifyMask* = 1 shl 0 - RRScreenChangeNotify* = 0 # used in the rotation field; rotation and reflection in 0.1 proto. - RR_Rotate_0* = 1 - RR_Rotate_90* = 2 - RR_Rotate_180* = 4 - RR_Rotate_270* = 8 # new in 1.0 protocol, to allow reflection of screen - RR_Reflect_X* = 16 - RR_Reflect_Y* = 32 - RRSetConfigSuccess* = 0 - RRSetConfigInvalidConfigTime* = 1 - RRSetConfigInvalidTime* = 2 - RRSetConfigFailed* = 3 - -type - PXRRScreenSize* = ptr TXRRScreenSize - TXRRScreenSize*{.final.} = object # - # Events. - # - width*, height*: cint - mwidth*, mheight*: cint - - TXRRScreenChangeNotifyEvent*{.final.} = object # internal representation is private to the library - typ*: cint # event base - serial*: culong # # of last request processed by server - send_event*: TBool # true if this came from a SendEvent request - display*: PDisplay # Display the event was read from - window*: TWindow # window which selected for this event - root*: TWindow # Root window for changed screen - timestamp*: TTime # when the screen change occurred - config_timestamp*: TTime # when the last configuration change - size_index*: TSizeID - subpixel_order*: TSubpixelOrder - rotation*: TRotation - width*: cint - height*: cint - mwidth*: cint - mheight*: cint - - PXRRScreenConfiguration* = ptr TXRRScreenConfiguration - TXRRScreenConfiguration*{.final.} = object - -proc XRRQueryExtension*(dpy: PDisplay, event_basep, error_basep: Pcint): TBool{. - cdecl, dynlib: libXrandr, importc.} -proc XRRQueryVersion*(dpy: PDisplay, major_versionp: Pcint, - minor_versionp: Pcint): TStatus{.cdecl, dynlib: libXrandr, - importc.} -proc XRRGetScreenInfo*(dpy: PDisplay, draw: TDrawable): PXRRScreenConfiguration{. - cdecl, dynlib: libXrandr, importc.} -proc XRRFreeScreenConfigInfo*(config: PXRRScreenConfiguration){.cdecl, - dynlib: libXrandr, importc.} - # - # Note that screen configuration changes are only permitted if the client can - # prove it has up to date configuration information. We are trying to - # insist that it become possible for screens to change dynamically, so - # we want to ensure the client knows what it is talking about when requesting - # changes. - # -proc XRRSetScreenConfig*(dpy: PDisplay, config: PXRRScreenConfiguration, - draw: TDrawable, size_index: cint, rotation: TRotation, - timestamp: TTime): TStatus{.cdecl, dynlib: libXrandr, - importc.} - # added in v1.1, sorry for the lame name -proc XRRSetScreenConfigAndRate*(dpy: PDisplay, config: PXRRScreenConfiguration, - draw: TDrawable, size_index: cint, - rotation: TRotation, rate: cshort, - timestamp: TTime): TStatus{.cdecl, - dynlib: libXrandr, importc.} -proc XRRConfigRotations*(config: PXRRScreenConfiguration, - current_rotation: PRotation): TRotation{.cdecl, - dynlib: libXrandr, importc.} -proc XRRConfigTimes*(config: PXRRScreenConfiguration, config_timestamp: PTime): TTime{. - cdecl, dynlib: libXrandr, importc.} -proc XRRConfigSizes*(config: PXRRScreenConfiguration, nsizes: Pcint): PXRRScreenSize{. - cdecl, dynlib: libXrandr, importc.} -proc XRRConfigRates*(config: PXRRScreenConfiguration, sizeID: cint, - nrates: Pcint): ptr int16{.cdecl, dynlib: libXrandr, importc.} -proc XRRConfigCurrentConfiguration*(config: PXRRScreenConfiguration, - rotation: PRotation): TSizeID{.cdecl, - dynlib: libXrandr, importc.} -proc XRRConfigCurrentRate*(config: PXRRScreenConfiguration): cshort{.cdecl, - dynlib: libXrandr, importc.} -proc XRRRootToScreen*(dpy: PDisplay, root: TWindow): cint{.cdecl, - dynlib: libXrandr, importc.} - # - # returns the screen configuration for the specified screen; does a lazy - # evalution to delay getting the information, and caches the result. - # These routines should be used in preference to XRRGetScreenInfo - # to avoid unneeded round trips to the X server. These are new - # in protocol version 0.1. - # -proc XRRScreenConfig*(dpy: PDisplay, screen: cint): PXRRScreenConfiguration{. - cdecl, dynlib: libXrandr, importc.} -proc XRRConfig*(screen: PScreen): PXRRScreenConfiguration{.cdecl, - dynlib: libXrandr, importc.} -proc XRRSelectInput*(dpy: PDisplay, window: TWindow, mask: cint){.cdecl, - dynlib: libXrandr, importc.} - # - # the following are always safe to call, even if RandR is not implemented - # on a screen - # -proc XRRRotations*(dpy: PDisplay, screen: cint, current_rotation: PRotation): TRotation{. - cdecl, dynlib: libXrandr, importc.} -proc XRRSizes*(dpy: PDisplay, screen: cint, nsizes: Pcint): PXRRScreenSize{. - cdecl, dynlib: libXrandr, importc.} -proc XRRRates*(dpy: PDisplay, screen: cint, sizeID: cint, nrates: Pcint): ptr int16{. - cdecl, dynlib: libXrandr, importc.} -proc XRRTimes*(dpy: PDisplay, screen: cint, config_timestamp: PTime): TTime{. - cdecl, dynlib: libXrandr, importc.} - # - # intended to take RRScreenChangeNotify, or - # ConfigureNotify (on the root window) - # returns 1 if it is an event type it understands, 0 if not - # -proc XRRUpdateConfiguration*(event: PXEvent): cint{.cdecl, dynlib: libXrandr, - importc.} -# implementation diff --git a/lib/oldwrappers/x11/xrender.nim b/lib/oldwrappers/x11/xrender.nim deleted file mode 100755 index 7b85fc9a7..000000000 --- a/lib/oldwrappers/x11/xrender.nim +++ /dev/null @@ -1,231 +0,0 @@ - -import - x, xlib - -#const -# libX11* = "libX11.so" - -# -# Automatically converted by H2Pas 0.99.15 from xrender.h -# The following command line parameters were used: -# -p -# -T -# -S -# -d -# -c -# xrender.h -# - -type - PGlyph* = ptr TGlyph - TGlyph* = int32 - PGlyphSet* = ptr TGlyphSet - TGlyphSet* = int32 - PPicture* = ptr TPicture - TPicture* = int32 - PPictFormat* = ptr TPictFormat - TPictFormat* = int32 - -const - RENDER_NAME* = "RENDER" - RENDER_MAJOR* = 0 - RENDER_MINOR* = 0 - constX_RenderQueryVersion* = 0 - X_RenderQueryPictFormats* = 1 - X_RenderQueryPictIndexValues* = 2 - X_RenderQueryDithers* = 3 - constX_RenderCreatePicture* = 4 - constX_RenderChangePicture* = 5 - X_RenderSetPictureClipRectangles* = 6 - constX_RenderFreePicture* = 7 - constX_RenderComposite* = 8 - X_RenderScale* = 9 - X_RenderTrapezoids* = 10 - X_RenderTriangles* = 11 - X_RenderTriStrip* = 12 - X_RenderTriFan* = 13 - X_RenderColorTrapezoids* = 14 - X_RenderColorTriangles* = 15 - X_RenderTransform* = 16 - constX_RenderCreateGlyphSet* = 17 - constX_RenderReferenceGlyphSet* = 18 - constX_RenderFreeGlyphSet* = 19 - constX_RenderAddGlyphs* = 20 - constX_RenderAddGlyphsFromPicture* = 21 - constX_RenderFreeGlyphs* = 22 - constX_RenderCompositeGlyphs8* = 23 - constX_RenderCompositeGlyphs16* = 24 - constX_RenderCompositeGlyphs32* = 25 - BadPictFormat* = 0 - BadPicture* = 1 - BadPictOp* = 2 - BadGlyphSet* = 3 - BadGlyph* = 4 - RenderNumberErrors* = BadGlyph + 1 - PictTypeIndexed* = 0 - PictTypeDirect* = 1 - PictOpClear* = 0 - PictOpSrc* = 1 - PictOpDst* = 2 - PictOpOver* = 3 - PictOpOverReverse* = 4 - PictOpIn* = 5 - PictOpInReverse* = 6 - PictOpOut* = 7 - PictOpOutReverse* = 8 - PictOpAtop* = 9 - PictOpAtopReverse* = 10 - PictOpXor* = 11 - PictOpAdd* = 12 - PictOpSaturate* = 13 - PictOpMaximum* = 13 - PolyEdgeSharp* = 0 - PolyEdgeSmooth* = 1 - PolyModePrecise* = 0 - PolyModeImprecise* = 1 - CPRepeat* = 1 shl 0 - CPAlphaMap* = 1 shl 1 - CPAlphaXOrigin* = 1 shl 2 - CPAlphaYOrigin* = 1 shl 3 - CPClipXOrigin* = 1 shl 4 - CPClipYOrigin* = 1 shl 5 - CPClipMask* = 1 shl 6 - CPGraphicsExposure* = 1 shl 7 - CPSubwindowMode* = 1 shl 8 - CPPolyEdge* = 1 shl 9 - CPPolyMode* = 1 shl 10 - CPDither* = 1 shl 11 - CPLastBit* = 11 - -type - PXRenderDirectFormat* = ptr TXRenderDirectFormat - TXRenderDirectFormat*{.final.} = object - red*: int16 - redMask*: int16 - green*: int16 - greenMask*: int16 - blue*: int16 - blueMask*: int16 - alpha*: int16 - alphaMask*: int16 - - PXRenderPictFormat* = ptr TXRenderPictFormat - TXRenderPictFormat*{.final.} = object - id*: TPictFormat - thetype*: int32 - depth*: int32 - direct*: TXRenderDirectFormat - colormap*: TColormap - - -const - PictFormatID* = 1 shl 0 - PictFormatType* = 1 shl 1 - PictFormatDepth* = 1 shl 2 - PictFormatRed* = 1 shl 3 - PictFormatRedMask* = 1 shl 4 - PictFormatGreen* = 1 shl 5 - PictFormatGreenMask* = 1 shl 6 - PictFormatBlue* = 1 shl 7 - PictFormatBlueMask* = 1 shl 8 - PictFormatAlpha* = 1 shl 9 - PictFormatAlphaMask* = 1 shl 10 - PictFormatColormap* = 1 shl 11 - -type - PXRenderVisual* = ptr TXRenderVisual - TXRenderVisual*{.final.} = object - visual*: PVisual - format*: PXRenderPictFormat - - PXRenderDepth* = ptr TXRenderDepth - TXRenderDepth*{.final.} = object - depth*: int32 - nvisuals*: int32 - visuals*: PXRenderVisual - - PXRenderScreen* = ptr TXRenderScreen - TXRenderScreen*{.final.} = object - depths*: PXRenderDepth - ndepths*: int32 - fallback*: PXRenderPictFormat - - PXRenderInfo* = ptr TXRenderInfo - TXRenderInfo*{.final.} = object - format*: PXRenderPictFormat - nformat*: int32 - screen*: PXRenderScreen - nscreen*: int32 - depth*: PXRenderDepth - ndepth*: int32 - visual*: PXRenderVisual - nvisual*: int32 - - PXRenderPictureAttributes* = ptr TXRenderPictureAttributes - TXRenderPictureAttributes*{.final.} = object - repeat*: TBool - alpha_map*: TPicture - alpha_x_origin*: int32 - alpha_y_origin*: int32 - clip_x_origin*: int32 - clip_y_origin*: int32 - clip_mask*: TPixmap - graphics_exposures*: TBool - subwindow_mode*: int32 - poly_edge*: int32 - poly_mode*: int32 - dither*: TAtom - - PXGlyphInfo* = ptr TXGlyphInfo - TXGlyphInfo*{.final.} = object - width*: int16 - height*: int16 - x*: int16 - y*: int16 - xOff*: int16 - yOff*: int16 - - -proc XRenderQueryExtension*(dpy: PDisplay, event_basep: ptr int32, - error_basep: ptr int32): TBool{.cdecl, - dynlib: libX11, importc.} -proc XRenderQueryVersion*(dpy: PDisplay, major_versionp: ptr int32, - minor_versionp: ptr int32): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XRenderQueryFormats*(dpy: PDisplay): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XRenderFindVisualFormat*(dpy: PDisplay, visual: PVisual): PXRenderPictFormat{. - cdecl, dynlib: libX11, importc.} -proc XRenderFindFormat*(dpy: PDisplay, mask: int32, - `template`: PXRenderPictFormat, count: int32): PXRenderPictFormat{. - cdecl, dynlib: libX11, importc.} -proc XRenderCreatePicture*(dpy: PDisplay, drawable: TDrawable, - format: PXRenderPictFormat, valuemask: int32, - attributes: PXRenderPictureAttributes): TPicture{. - cdecl, dynlib: libX11, importc.} -proc XRenderChangePicture*(dpy: PDisplay, picture: TPicture, valuemask: int32, - attributes: PXRenderPictureAttributes){.cdecl, - dynlib: libX11, importc.} -proc XRenderFreePicture*(dpy: PDisplay, picture: TPicture){.cdecl, - dynlib: libX11, importc.} -proc XRenderComposite*(dpy: PDisplay, op: int32, src: TPicture, mask: TPicture, - dst: TPicture, src_x: int32, src_y: int32, mask_x: int32, - mask_y: int32, dst_x: int32, dst_y: int32, width: int32, - height: int32){.cdecl, dynlib: libX11, importc.} -proc XRenderCreateGlyphSet*(dpy: PDisplay, format: PXRenderPictFormat): TGlyphSet{. - cdecl, dynlib: libX11, importc.} -proc XRenderReferenceGlyphSet*(dpy: PDisplay, existing: TGlyphSet): TGlyphSet{. - cdecl, dynlib: libX11, importc.} -proc XRenderFreeGlyphSet*(dpy: PDisplay, glyphset: TGlyphSet){.cdecl, - dynlib: libX11, importc.} -proc XRenderAddGlyphs*(dpy: PDisplay, glyphset: TGlyphSet, gids: PGlyph, - glyphs: PXGlyphInfo, nglyphs: int32, images: cstring, - nbyte_images: int32){.cdecl, dynlib: libX11, importc.} -proc XRenderFreeGlyphs*(dpy: PDisplay, glyphset: TGlyphSet, gids: PGlyph, - nglyphs: int32){.cdecl, dynlib: libX11, importc.} -proc XRenderCompositeString8*(dpy: PDisplay, op: int32, src: TPicture, - dst: TPicture, maskFormat: PXRenderPictFormat, - glyphset: TGlyphSet, xSrc: int32, ySrc: int32, - xDst: int32, yDst: int32, str: cstring, - nchar: int32){.cdecl, dynlib: libX11, importc.} -# implementation diff --git a/lib/oldwrappers/x11/xresource.nim b/lib/oldwrappers/x11/xresource.nim deleted file mode 100755 index ddb2a89c2..000000000 --- a/lib/oldwrappers/x11/xresource.nim +++ /dev/null @@ -1,200 +0,0 @@ - -import - x, xlib - -#const -# libX11* = "libX11.so" - -# -# Automatically converted by H2Pas 0.99.15 from xresource.h -# The following command line parameters were used: -# -p -# -T -# -S -# -d -# -c -# xresource.h -# - -proc Xpermalloc*(para1: int32): cstring{.cdecl, dynlib: libX11, importc.} -type - PXrmQuark* = ptr TXrmQuark - TXrmQuark* = int32 - TXrmQuarkList* = PXrmQuark - PXrmQuarkList* = ptr TXrmQuarkList - -proc NULLQUARK*(): TXrmQuark -type - PXrmString* = ptr TXrmString - TXrmString* = ptr char - -proc NULLSTRING*(): TXrmString -proc XrmStringToQuark*(para1: cstring): TXrmQuark{.cdecl, dynlib: libX11, - importc.} -proc XrmPermStringToQuark*(para1: cstring): TXrmQuark{.cdecl, dynlib: libX11, - importc.} -proc XrmQuarkToString*(para1: TXrmQuark): TXrmString{.cdecl, dynlib: libX11, - importc.} -proc XrmUniqueQuark*(): TXrmQuark{.cdecl, dynlib: libX11, importc.} -when defined(MACROS): - proc XrmStringsEqual*(a1, a2: cstring): bool -type - PXrmBinding* = ptr TXrmBinding - TXrmBinding* = enum - XrmBindTightly, XrmBindLoosely - TXrmBindingList* = PXrmBinding - PXrmBindingList* = ptr TXrmBindingList - -proc XrmStringToQuarkList*(para1: cstring, para2: TXrmQuarkList){.cdecl, - dynlib: libX11, importc.} -proc XrmStringToBindingQuarkList*(para1: cstring, para2: TXrmBindingList, - para3: TXrmQuarkList){.cdecl, dynlib: libX11, - importc.} -type - PXrmName* = ptr TXrmName - TXrmName* = TXrmQuark - PXrmNameList* = ptr TXrmNameList - TXrmNameList* = TXrmQuarkList - -when defined(MACROS): - proc XrmNameToString*(name: int32): TXrmString - proc XrmStringToName*(str: cstring): int32 - proc XrmStringToNameList*(str: cstring, name: PXrmQuark) -type - PXrmClass* = ptr TXrmClass - TXrmClass* = TXrmQuark - PXrmClassList* = ptr TXrmClassList - TXrmClassList* = TXrmQuarkList - -when defined(MACROS): - proc XrmClassToString*(c_class: int32): TXrmString - proc XrmStringToClass*(c_class: cstring): int32 - proc XrmStringToClassList*(str: cstring, c_class: PXrmQuark) -type - PXrmRepresentation* = ptr TXrmRepresentation - TXrmRepresentation* = TXrmQuark - -when defined(MACROS): - proc XrmStringToRepresentation*(str: cstring): int32 - proc XrmRepresentationToString*(thetype: int32): TXrmString -type - PXrmValue* = ptr TXrmValue - TXrmValue*{.final.} = object - size*: int32 - address*: TXPointer - - TXrmValuePtr* = PXrmValue - PXrmValuePtr* = ptr TXrmValuePtr - PXrmHashBucketRec* = ptr TXrmHashBucketRec - TXrmHashBucketRec*{.final.} = object - TXrmHashBucket* = PXrmHashBucketRec - PXrmHashBucket* = ptr TXrmHashBucket - PXrmHashTable* = ptr TXrmHashTable - TXrmHashTable* = ptr TXrmHashBucket - TXrmDatabase* = PXrmHashBucketRec - PXrmDatabase* = ptr TXrmDatabase - -proc XrmDestroyDatabase*(para1: TXrmDatabase){.cdecl, dynlib: libX11, importc.} -proc XrmQPutResource*(para1: PXrmDatabase, para2: TXrmBindingList, - para3: TXrmQuarkList, para4: TXrmRepresentation, - para5: PXrmValue){.cdecl, dynlib: libX11, importc.} -proc XrmPutResource*(para1: PXrmDatabase, para2: cstring, para3: cstring, - para4: PXrmValue){.cdecl, dynlib: libX11, importc.} -proc XrmQPutStringResource*(para1: PXrmDatabase, para2: TXrmBindingList, - para3: TXrmQuarkList, para4: cstring){.cdecl, - dynlib: libX11, importc.} -proc XrmPutStringResource*(para1: PXrmDatabase, para2: cstring, para3: cstring){. - cdecl, dynlib: libX11, importc.} -proc XrmPutLineResource*(para1: PXrmDatabase, para2: cstring){.cdecl, - dynlib: libX11, importc.} -proc XrmQGetResource*(para1: TXrmDatabase, para2: TXrmNameList, - para3: TXrmClassList, para4: PXrmRepresentation, - para5: PXrmValue): TBool{.cdecl, dynlib: libX11, importc.} -proc XrmGetResource*(para1: TXrmDatabase, para2: cstring, para3: cstring, - para4: PPchar, para5: PXrmValue): TBool{.cdecl, - dynlib: libX11, importc.} - # There is no definition of TXrmSearchList - #function XrmQGetSearchList(para1:TXrmDatabase; para2:TXrmNameList; para3:TXrmClassList; para4:TXrmSearchList; para5:longint):TBool;cdecl;external libX11; - #function XrmQGetSearchResource(para1:TXrmSearchList; para2:TXrmName; para3:TXrmClass; para4:PXrmRepresentation; para5:PXrmValue):TBool;cdecl;external libX11; -proc XrmSetDatabase*(para1: PDisplay, para2: TXrmDatabase){.cdecl, - dynlib: libX11, importc.} -proc XrmGetDatabase*(para1: PDisplay): TXrmDatabase{.cdecl, dynlib: libX11, - importc.} -proc XrmGetFileDatabase*(para1: cstring): TXrmDatabase{.cdecl, dynlib: libX11, - importc.} -proc XrmCombineFileDatabase*(para1: cstring, para2: PXrmDatabase, para3: TBool): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XrmGetStringDatabase*(para1: cstring): TXrmDatabase{.cdecl, dynlib: libX11, - importc.} -proc XrmPutFileDatabase*(para1: TXrmDatabase, para2: cstring){.cdecl, - dynlib: libX11, importc.} -proc XrmMergeDatabases*(para1: TXrmDatabase, para2: PXrmDatabase){.cdecl, - dynlib: libX11, importc.} -proc XrmCombineDatabase*(para1: TXrmDatabase, para2: PXrmDatabase, para3: TBool){. - cdecl, dynlib: libX11, importc.} -const - XrmEnumAllLevels* = 0 - XrmEnumOneLevel* = 1 - -type - funcbool* = proc (): TBool - -proc XrmEnumerateDatabase*(para1: TXrmDatabase, para2: TXrmNameList, - para3: TXrmClassList, para4: int32, para5: funcbool, - para6: TXPointer): TBool{.cdecl, dynlib: libX11, - importc.} -proc XrmLocaleOfDatabase*(para1: TXrmDatabase): cstring{.cdecl, dynlib: libX11, - importc.} -type - PXrmOptionKind* = ptr TXrmOptionKind - TXrmOptionKind* = enum - XrmoptionNoArg, XrmoptionIsArg, XrmoptionStickyArg, XrmoptionSepArg, - XrmoptionResArg, XrmoptionSkipArg, XrmoptionSkipLine, XrmoptionSkipNArgs - PXrmOptionDescRec* = ptr TXrmOptionDescRec - TXrmOptionDescRec*{.final.} = object - option*: cstring - specifier*: cstring - argKind*: TXrmOptionKind - value*: TXPointer - - TXrmOptionDescList* = PXrmOptionDescRec - PXrmOptionDescList* = ptr TXrmOptionDescList - -proc XrmParseCommand*(para1: PXrmDatabase, para2: TXrmOptionDescList, - para3: int32, para4: cstring, para5: ptr int32, - para6: PPchar){.cdecl, dynlib: libX11, importc.} -# implementation - -proc NULLQUARK(): TXrmQuark = - result = TXrmQuark(0) - -proc NULLSTRING(): TXrmString = - result = nil - -when defined(MACROS): - proc XrmStringsEqual(a1, a2: cstring): bool = - result = (strcomp(a1, a2)) == 0 - - proc XrmNameToString(name: int32): TXrmString = - result = XrmQuarkToString(name) - - proc XrmStringToName(str: cstring): int32 = - result = XrmStringToQuark(str) - - proc XrmStringToNameList(str: cstring, name: PXrmQuark) = - XrmStringToQuarkList(str, name) - - proc XrmClassToString(c_class: int32): TXrmString = - result = XrmQuarkToString(c_class) - - proc XrmStringToClass(c_class: cstring): int32 = - result = XrmStringToQuark(c_class) - - proc XrmStringToClassList(str: cstring, c_class: PXrmQuark) = - XrmStringToQuarkList(str, c_class) - - proc XrmStringToRepresentation(str: cstring): int32 = - result = XrmStringToQuark(str) - - proc XrmRepresentationToString(thetype: int32): TXrmString = - result = XrmQuarkToString(thetype) diff --git a/lib/oldwrappers/x11/xshm.nim b/lib/oldwrappers/x11/xshm.nim deleted file mode 100755 index e56bd87b1..000000000 --- a/lib/oldwrappers/x11/xshm.nim +++ /dev/null @@ -1,77 +0,0 @@ - -import - x, xlib - -#const -# libX11* = "libX11.so" - -# -# Automatically converted by H2Pas 0.99.15 from xshm.h -# The following command line parameters were used: -# -p -# -T -# -S -# -d -# -c -# xshm.h -# - -const - constX_ShmQueryVersion* = 0 - constX_ShmAttach* = 1 - constX_ShmDetach* = 2 - constX_ShmPutImage* = 3 - constX_ShmGetImage* = 4 - constX_ShmCreatePixmap* = 5 - ShmCompletion* = 0 - ShmNumberEvents* = ShmCompletion + 1 - BadShmSeg* = 0 - ShmNumberErrors* = BadShmSeg + 1 - -type - PShmSeg* = ptr TShmSeg - TShmSeg* = culong - PXShmCompletionEvent* = ptr TXShmCompletionEvent - TXShmCompletionEvent*{.final.} = object - theType*: cint - serial*: culong - send_event*: TBool - display*: PDisplay - drawable*: TDrawable - major_code*: cint - minor_code*: cint - shmseg*: TShmSeg - offset*: culong - - PXShmSegmentInfo* = ptr TXShmSegmentInfo - TXShmSegmentInfo*{.final.} = object - shmseg*: TShmSeg - shmid*: cint - shmaddr*: cstring - readOnly*: TBool - - -proc XShmQueryExtension*(para1: PDisplay): TBool{.cdecl, dynlib: libX11, importc.} -proc XShmGetEventBase*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XShmQueryVersion*(para1: PDisplay, para2: Pcint, para3: Pcint, para4: PBool): TBool{. - cdecl, dynlib: libX11, importc.} -proc XShmPixmapFormat*(para1: PDisplay): cint{.cdecl, dynlib: libX11, importc.} -proc XShmAttach*(para1: PDisplay, para2: PXShmSegmentInfo): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XShmDetach*(para1: PDisplay, para2: PXShmSegmentInfo): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XShmPutImage*(para1: PDisplay, para2: TDrawable, para3: TGC, - para4: PXImage, para5: cint, para6: cint, para7: cint, - para8: cint, para9: cuint, para10: cuint, para11: TBool): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XShmGetImage*(para1: PDisplay, para2: TDrawable, para3: PXImage, - para4: cint, para5: cint, para6: culong): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XShmCreateImage*(para1: PDisplay, para2: PVisual, para3: cuint, - para4: cint, para5: cstring, para6: PXShmSegmentInfo, - para7: cuint, para8: cuint): PXImage{.cdecl, - dynlib: libX11, importc.} -proc XShmCreatePixmap*(para1: PDisplay, para2: TDrawable, para3: cstring, - para4: PXShmSegmentInfo, para5: cuint, para6: cuint, - para7: cuint): TPixmap{.cdecl, dynlib: libX11, importc.} -# implementation diff --git a/lib/oldwrappers/x11/xutil.nim b/lib/oldwrappers/x11/xutil.nim deleted file mode 100755 index 563702123..000000000 --- a/lib/oldwrappers/x11/xutil.nim +++ /dev/null @@ -1,412 +0,0 @@ - -import - x, xlib, keysym - -#const -# libX11* = "libX11.so" - -# -# Automatically converted by H2Pas 0.99.15 from xutil.h -# The following command line parameters were used: -# -p -# -T -# -S -# -d -# -c -# xutil.h -# - -const - NoValue* = 0x00000000 - XValue* = 0x00000001 - YValue* = 0x00000002 - WidthValue* = 0x00000004 - HeightValue* = 0x00000008 - AllValues* = 0x0000000F - XNegative* = 0x00000010 - YNegative* = 0x00000020 - -type - TCPoint*{.final.} = object - x*: cint - y*: cint - - PXSizeHints* = ptr TXSizeHints - TXSizeHints*{.final.} = object - flags*: clong - x*, y*: cint - width*, height*: cint - min_width*, min_height*: cint - max_width*, max_height*: cint - width_inc*, height_inc*: cint - min_aspect*, max_aspect*: TCPoint - base_width*, base_height*: cint - win_gravity*: cint - - -const - USPosition* = 1 shl 0 - USSize* = 1 shl 1 - PPosition* = 1 shl 2 - PSize* = 1 shl 3 - PMinSize* = 1 shl 4 - PMaxSize* = 1 shl 5 - PResizeInc* = 1 shl 6 - PAspect* = 1 shl 7 - PBaseSize* = 1 shl 8 - PWinGravity* = 1 shl 9 - PAllHints* = PPosition or PSize or PMinSize or PMaxSize or PResizeInc or - PAspect - -type - PXWMHints* = ptr TXWMHints - TXWMHints*{.final.} = object - flags*: clong - input*: TBool - initial_state*: cint - icon_pixmap*: TPixmap - icon_window*: TWindow - icon_x*, icon_y*: cint - icon_mask*: TPixmap - window_group*: TXID - - -const - InputHint* = 1 shl 0 - StateHint* = 1 shl 1 - IconPixmapHint* = 1 shl 2 - IconWindowHint* = 1 shl 3 - IconPositionHint* = 1 shl 4 - IconMaskHint* = 1 shl 5 - WindowGroupHint* = 1 shl 6 - AllHints* = InputHint or StateHint or IconPixmapHint or IconWindowHint or - IconPositionHint or IconMaskHint or WindowGroupHint - XUrgencyHint* = 1 shl 8 - WithdrawnState* = 0 - NormalState* = 1 - IconicState* = 3 - DontCareState* = 0 - ZoomState* = 2 - InactiveState* = 4 - -type - PXTextProperty* = ptr TXTextProperty - TXTextProperty*{.final.} = object - value*: pcuchar - encoding*: TAtom - format*: cint - nitems*: culong - - -const - XNoMemory* = - 1 - XLocaleNotSupported* = - 2 - XConverterNotFound* = - 3 - -type - PXICCEncodingStyle* = ptr TXICCEncodingStyle - TXICCEncodingStyle* = enum - XStringStyle, XCompoundTextStyle, XTextStyle, XStdICCTextStyle, - XUTF8StringStyle - PPXIconSize* = ptr PXIconSize - PXIconSize* = ptr TXIconSize - TXIconSize*{.final.} = object - min_width*, min_height*: cint - max_width*, max_height*: cint - width_inc*, height_inc*: cint - - PXClassHint* = ptr TXClassHint - TXClassHint*{.final.} = object - res_name*: cstring - res_class*: cstring - - -type - PXComposeStatus* = ptr TXComposeStatus - TXComposeStatus*{.final.} = object - compose_ptr*: TXPointer - chars_matched*: cint - - -type - PXRegion* = ptr TXRegion - TXRegion*{.final.} = object - TRegion* = PXRegion - PRegion* = ptr TRegion - -const - RectangleOut* = 0 - RectangleIn* = 1 - RectanglePart* = 2 - -type - PXVisualInfo* = ptr TXVisualInfo - TXVisualInfo*{.final.} = object - visual*: PVisual - visualid*: TVisualID - screen*: cint - depth*: cint - class*: cint - red_mask*: culong - green_mask*: culong - blue_mask*: culong - colormap_size*: cint - bits_per_rgb*: cint - - -const - VisualNoMask* = 0x00000000 - VisualIDMask* = 0x00000001 - VisualScreenMask* = 0x00000002 - VisualDepthMask* = 0x00000004 - VisualClassMask* = 0x00000008 - VisualRedMaskMask* = 0x00000010 - VisualGreenMaskMask* = 0x00000020 - VisualBlueMaskMask* = 0x00000040 - VisualColormapSizeMask* = 0x00000080 - VisualBitsPerRGBMask* = 0x00000100 - VisualAllMask* = 0x000001FF - -type - PPXStandardColormap* = ptr PXStandardColormap - PXStandardColormap* = ptr TXStandardColormap - TXStandardColormap*{.final.} = object - colormap*: TColormap - red_max*: culong - red_mult*: culong - green_max*: culong - green_mult*: culong - blue_max*: culong - blue_mult*: culong - base_pixel*: culong - visualid*: TVisualID - killid*: TXID - - -const - BitmapSuccess* = 0 - BitmapOpenFailed* = 1 - BitmapFileInvalid* = 2 - BitmapNoMemory* = 3 - XCSUCCESS* = 0 - XCNOMEM* = 1 - XCNOENT* = 2 - ReleaseByFreeingColormap*: TXID = TXID(1) - -type - PXContext* = ptr TXContext - TXContext* = cint - -proc XAllocClassHint*(): PXClassHint{.cdecl, dynlib: libX11, importc.} -proc XAllocIconSize*(): PXIconSize{.cdecl, dynlib: libX11, importc.} -proc XAllocSizeHints*(): PXSizeHints{.cdecl, dynlib: libX11, importc.} -proc XAllocStandardColormap*(): PXStandardColormap{.cdecl, dynlib: libX11, - importc.} -proc XAllocWMHints*(): PXWMHints{.cdecl, dynlib: libX11, importc.} -proc XClipBox*(para1: TRegion, para2: PXRectangle): cint{.cdecl, dynlib: libX11, - importc.} -proc XCreateRegion*(): TRegion{.cdecl, dynlib: libX11, importc.} -proc XDefaultString*(): cstring{.cdecl, dynlib: libX11, importc.} -proc XDeleteContext*(para1: PDisplay, para2: TXID, para3: TXContext): cint{. - cdecl, dynlib: libX11, importc.} -proc XDestroyRegion*(para1: TRegion): cint{.cdecl, dynlib: libX11, importc.} -proc XEmptyRegion*(para1: TRegion): cint{.cdecl, dynlib: libX11, importc.} -proc XEqualRegion*(para1: TRegion, para2: TRegion): cint{.cdecl, dynlib: libX11, - importc.} -proc XFindContext*(para1: PDisplay, para2: TXID, para3: TXContext, - para4: PXPointer): cint{.cdecl, dynlib: libX11, importc.} -proc XGetClassHint*(para1: PDisplay, para2: TWindow, para3: PXClassHint): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetIconSizes*(para1: PDisplay, para2: TWindow, para3: PPXIconSize, - para4: Pcint): TStatus{.cdecl, dynlib: libX11, importc.} -proc XGetNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetRGBColormaps*(para1: PDisplay, para2: TWindow, - para3: PPXStandardColormap, para4: Pcint, para5: TAtom): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints, - para4: TAtom): TStatus{.cdecl, dynlib: libX11, importc.} -proc XGetStandardColormap*(para1: PDisplay, para2: TWindow, - para3: PXStandardColormap, para4: TAtom): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetTextProperty*(para1: PDisplay, para2: TWindow, para3: PXTextProperty, - para4: TAtom): TStatus{.cdecl, dynlib: libX11, importc.} -proc XGetVisualInfo*(para1: PDisplay, para2: clong, para3: PXVisualInfo, - para4: Pcint): PXVisualInfo{.cdecl, dynlib: libX11, importc.} -proc XGetWMClientMachine*(para1: PDisplay, para2: TWindow, para3: PXTextProperty): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetWMHints*(para1: PDisplay, para2: TWindow): PXWMHints{.cdecl, - dynlib: libX11, importc.} -proc XGetWMIconName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetWMName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XGetWMNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints, - para4: ptr int): TStatus{.cdecl, dynlib: libX11, importc.} -proc XGetWMSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints, - para4: ptr int, para5: TAtom): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XGetZoomHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): TStatus{. - cdecl, dynlib: libX11, importc.} -proc XIntersectRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{. - cdecl, dynlib: libX11, importc.} -proc XConvertCase*(para1: TKeySym, para2: PKeySym, para3: PKeySym){.cdecl, - dynlib: libX11, importc.} -proc XLookupString*(para1: PXKeyEvent, para2: cstring, para3: cint, - para4: PKeySym, para5: PXComposeStatus): cint{.cdecl, - dynlib: libX11, importc.} -proc XMatchVisualInfo*(para1: PDisplay, para2: cint, para3: cint, para4: cint, - para5: PXVisualInfo): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XOffsetRegion*(para1: TRegion, para2: cint, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XPointInRegion*(para1: TRegion, para2: cint, para3: cint): TBool{.cdecl, - dynlib: libX11, importc.} -proc XPolygonRegion*(para1: PXPoint, para2: cint, para3: cint): TRegion{.cdecl, - dynlib: libX11, importc.} -proc XRectInRegion*(para1: TRegion, para2: cint, para3: cint, para4: cuint, - para5: cuint): cint{.cdecl, dynlib: libX11, importc.} -proc XSaveContext*(para1: PDisplay, para2: TXID, para3: TXContext, - para4: cstring): cint{.cdecl, dynlib: libX11, importc.} -proc XSetClassHint*(para1: PDisplay, para2: TWindow, para3: PXClassHint): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetIconSizes*(para1: PDisplay, para2: TWindow, para3: PXIconSize, - para4: cint): cint{.cdecl, dynlib: libX11, importc.} -proc XSetNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetRGBColormaps*(para1: PDisplay, para2: TWindow, - para3: PXStandardColormap, para4: cint, para5: TAtom){. - cdecl, dynlib: libX11, importc.} -proc XSetSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints, - para4: TAtom): cint{.cdecl, dynlib: libX11, importc.} -proc XSetStandardProperties*(para1: PDisplay, para2: TWindow, para3: cstring, - para4: cstring, para5: TPixmap, para6: PPchar, - para7: cint, para8: PXSizeHints): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetTextProperty*(para1: PDisplay, para2: TWindow, para3: PXTextProperty, - para4: TAtom){.cdecl, dynlib: libX11, importc.} -proc XSetWMClientMachine*(para1: PDisplay, para2: TWindow, para3: PXTextProperty){. - cdecl, dynlib: libX11, importc.} -proc XSetWMHints*(para1: PDisplay, para2: TWindow, para3: PXWMHints): cint{. - cdecl, dynlib: libX11, importc.} -proc XSetWMIconName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty){. - cdecl, dynlib: libX11, importc.} -proc XSetWMName*(para1: PDisplay, para2: TWindow, para3: PXTextProperty){.cdecl, - dynlib: libX11, importc.} -proc XSetWMNormalHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints){. - cdecl, dynlib: libX11, importc.} -proc XSetWMProperties*(para1: PDisplay, para2: TWindow, para3: PXTextProperty, - para4: PXTextProperty, para5: PPchar, para6: cint, - para7: PXSizeHints, para8: PXWMHints, para9: PXClassHint){. - cdecl, dynlib: libX11, importc.} -proc XmbSetWMProperties*(para1: PDisplay, para2: TWindow, para3: cstring, - para4: cstring, para5: PPchar, para6: cint, - para7: PXSizeHints, para8: PXWMHints, - para9: PXClassHint){.cdecl, dynlib: libX11, importc.} -proc Xutf8SetWMProperties*(para1: PDisplay, para2: TWindow, para3: cstring, - para4: cstring, para5: PPchar, para6: cint, - para7: PXSizeHints, para8: PXWMHints, - para9: PXClassHint){.cdecl, dynlib: libX11, importc.} -proc XSetWMSizeHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints, - para4: TAtom){.cdecl, dynlib: libX11, importc.} -proc XSetRegion*(para1: PDisplay, para2: TGC, para3: TRegion): cint{.cdecl, - dynlib: libX11, importc.} -proc XSetStandardColormap*(para1: PDisplay, para2: TWindow, - para3: PXStandardColormap, para4: TAtom){.cdecl, - dynlib: libX11, importc.} -proc XSetZoomHints*(para1: PDisplay, para2: TWindow, para3: PXSizeHints): cint{. - cdecl, dynlib: libX11, importc.} -proc XShrinkRegion*(para1: TRegion, para2: cint, para3: cint): cint{.cdecl, - dynlib: libX11, importc.} -proc XStringListToTextProperty*(para1: PPchar, para2: cint, - para3: PXTextProperty): TStatus{.cdecl, - dynlib: libX11, importc.} -proc XSubtractRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{. - cdecl, dynlib: libX11, importc.} -proc XmbTextListToTextProperty*(para1: PDisplay, para2: PPchar, para3: cint, - para4: TXICCEncodingStyle, para5: PXTextProperty): cint{. - cdecl, dynlib: libX11, importc.} -proc XwcTextListToTextProperty*(para1: PDisplay, para2: ptr ptr int16, para3: cint, - para4: TXICCEncodingStyle, para5: PXTextProperty): cint{. - cdecl, dynlib: libX11, importc.} -proc Xutf8TextListToTextProperty*(para1: PDisplay, para2: PPchar, para3: cint, - para4: TXICCEncodingStyle, - para5: PXTextProperty): cint{.cdecl, - dynlib: libX11, importc.} -proc XwcFreeStringList*(para1: ptr ptr int16){.cdecl, dynlib: libX11, importc.} -proc XTextPropertyToStringList*(para1: PXTextProperty, para2: PPPchar, - para3: Pcint): TStatus{.cdecl, dynlib: libX11, - importc.} -proc XmbTextPropertyToTextList*(para1: PDisplay, para2: PXTextProperty, - para3: PPPchar, para4: Pcint): cint{.cdecl, - dynlib: libX11, importc.} -proc XwcTextPropertyToTextList*(para1: PDisplay, para2: PXTextProperty, - para3: ptr ptr ptr int16, para4: Pcint): cint{.cdecl, - dynlib: libX11, importc.} -proc Xutf8TextPropertyToTextList*(para1: PDisplay, para2: PXTextProperty, - para3: PPPchar, para4: Pcint): cint{.cdecl, - dynlib: libX11, importc.} -proc XUnionRectWithRegion*(para1: PXRectangle, para2: TRegion, para3: TRegion): cint{. - cdecl, dynlib: libX11, importc.} -proc XUnionRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{.cdecl, - dynlib: libX11, importc.} -proc XWMGeometry*(para1: PDisplay, para2: cint, para3: cstring, para4: cstring, - para5: cuint, para6: PXSizeHints, para7: Pcint, para8: Pcint, - para9: Pcint, para10: Pcint, para11: Pcint): cint{.cdecl, - dynlib: libX11, importc.} -proc XXorRegion*(para1: TRegion, para2: TRegion, para3: TRegion): cint{.cdecl, - dynlib: libX11, importc.} -when defined(MACROS): - proc XDestroyImage*(ximage: PXImage): cint - proc XGetPixel*(ximage: PXImage, x, y: cint): culong - proc XPutPixel*(ximage: PXImage, x, y: cint, pixel: culong): cint - proc XSubImage*(ximage: PXImage, x, y: cint, width, height: cuint): PXImage - proc XAddPixel*(ximage: PXImage, value: clong): cint - proc IsKeypadKey*(keysym: TKeySym): bool - proc IsPrivateKeypadKey*(keysym: TKeySym): bool - proc IsCursorKey*(keysym: TKeySym): bool - proc IsPFKey*(keysym: TKeySym): bool - proc IsFunctionKey*(keysym: TKeySym): bool - proc IsMiscFunctionKey*(keysym: TKeySym): bool - proc IsModifierKey*(keysym: TKeySym): bool - #function XUniqueContext : TXContext; - #function XStringToContext(_string : Pchar) : TXContext; -# implementation - -when defined(MACROS): - proc XDestroyImage(ximage: PXImage): cint = - XDestroyImage = ximage^ .f.destroy_image(ximage) - - proc XGetPixel(ximage: PXImage, x, y: cint): culong = - XGetPixel = ximage^ .f.get_pixel(ximage, x, y) - - proc XPutPixel(ximage: PXImage, x, y: cint, pixel: culong): cint = - XPutPixel = ximage^ .f.put_pixel(ximage, x, y, pixel) - - proc XSubImage(ximage: PXImage, x, y: cint, width, height: cuint): PXImage = - XSubImage = ximage^ .f.sub_image(ximage, x, y, width, height) - - proc XAddPixel(ximage: PXImage, value: clong): cint = - XAddPixel = ximage^ .f.add_pixel(ximage, value) - - proc IsKeypadKey(keysym: TKeySym): bool = - IsKeypadKey = (keysym >= XK_KP_Space) and (keysym <= XK_KP_Equal) - - proc IsPrivateKeypadKey(keysym: TKeySym): bool = - IsPrivateKeypadKey = (keysym >= 0x11000000) and (keysym <= 0x1100FFFF) - - proc IsCursorKey(keysym: TKeySym): bool = - IsCursorKey = (keysym >= XK_Home) and (keysym < XK_Select) - - proc IsPFKey(keysym: TKeySym): bool = - IsPFKey = (keysym >= XK_KP_F1) and (keysym <= XK_KP_F4) - - proc IsFunctionKey(keysym: TKeySym): bool = - IsFunctionKey = (keysym >= XK_F1) and (keysym <= XK_F35) - - proc IsMiscFunctionKey(keysym: TKeySym): bool = - IsMiscFunctionKey = (keysym >= XK_Select) and (keysym <= XK_Break) - - proc IsModifierKey(keysym: TKeySym): bool = - IsModifierKey = ((keysym >= XK_Shift_L) And (keysym <= XK_Hyper_R)) Or - (keysym == XK_Mode_switch) Or (keysym == XK_Num_Lock) diff --git a/lib/oldwrappers/x11/xv.nim b/lib/oldwrappers/x11/xv.nim deleted file mode 100755 index 45ab61418..000000000 --- a/lib/oldwrappers/x11/xv.nim +++ /dev/null @@ -1,84 +0,0 @@ -#*********************************************************** -#Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts, -#and the Massachusetts Institute of Technology, Cambridge, Massachusetts. -# -# All Rights Reserved -# -#Permission to use, copy, modify, and distribute this software and its -#documentation for any purpose and without fee is hereby granted, -#provided that the above copyright notice appear in all copies and that -#both that copyright notice and this permission notice appear in -#supporting documentation, and that the names of Digital or MIT not be -#used in advertising or publicity pertaining to distribution of the -#software without specific, written prior permission. -# -#DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -#ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -#DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -#ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -#ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -#SOFTWARE. -# -#****************************************************************** -# $XFree86: xc/include/extensions/Xv.h,v 1.3 1999/05/23 06:33:22 dawes Exp $ - -import - x - -const - XvName* = "libXVideo.so" - XvVersion* = 2 - XvRevision* = 2 # Symbols - -type - TXvPortID* = TXID - TXvEncodingID* = TXID - -const - XvNone* = 0 - XvInput* = 0 - XvOutput* = 1 - XvInputMask* = 1 shl XvInput - XvOutputMask* = 1 shl XvOutput - XvVideoMask* = 0x00000004 - XvStillMask* = 0x00000008 - XvImageMask* = 0x00000010 # These two are not client viewable - XvPixmapMask* = 0x00010000 - XvWindowMask* = 0x00020000 - XvGettable* = 0x00000001 - XvSettable* = 0x00000002 - XvRGB* = 0 - XvYUV* = 1 - XvPacked* = 0 - XvPlanar* = 1 - XvTopToBottom* = 0 - XvBottomToTop* = 1 # Events - XvVideoNotify* = 0 - XvPortNotify* = 1 - XvNumEvents* = 2 # Video Notify Reasons - XvStarted* = 0 - XvStopped* = 1 - XvBusy* = 2 - XvPreempted* = 3 - XvHardError* = 4 - XvLastReason* = 4 - XvNumReasons* = XvLastReason + 1 - XvStartedMask* = 1 shl XvStarted - XvStoppedMask* = 1 shl XvStopped - XvBusyMask* = 1 shl XvBusy - XvPreemptedMask* = 1 shl XvPreempted - XvHardErrorMask* = 1 shl XvHardError - XvAnyReasonMask* = (1 shl XvNumReasons) - 1 - XvNoReasonMask* = 0 # Errors - XvBadPort* = 0 - XvBadEncoding* = 1 - XvBadControl* = 2 - XvNumErrors* = 3 # Status - XvBadExtension* = 1 - XvAlreadyGrabbed* = 2 - XvInvalidTime* = 3 - XvBadReply* = 4 - XvBadAlloc* = 5 - -# implementation diff --git a/lib/oldwrappers/x11/xvlib.nim b/lib/oldwrappers/x11/xvlib.nim deleted file mode 100755 index 19fd0d000..000000000 --- a/lib/oldwrappers/x11/xvlib.nim +++ /dev/null @@ -1,234 +0,0 @@ -#*********************************************************** -#Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts, -#and the Massachusetts Institute of Technology, Cambridge, Massachusetts. -# -# All Rights Reserved -# -#Permission to use, copy, modify, and distribute this software and its -#documentation for any purpose and without fee is hereby granted, -#provided that the above copyright notice appear in all copies and that -#both that copyright notice and this permission notice appear in -#supporting documentation, and that the names of Digital or MIT not be -#used in advertising or publicity pertaining to distribution of the -#software without specific, written prior permission. -# -#DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -#ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -#DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -#ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -#ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -#SOFTWARE. -# -#****************************************************************** -# $XFree86: xc/include/extensions/Xvlib.h,v 1.3 1999/12/11 19:28:48 mvojkovi Exp $ -#* -#** File: -#** -#** Xvlib.h --- Xv library public header file -#** -#** Author: -#** -#** David Carver (Digital Workstation Engineering/Project Athena) -#** -#** Revisions: -#** -#** 26.06.91 Carver -#** - changed XvFreeAdaptors to XvFreeAdaptorInfo -#** - changed XvFreeEncodings to XvFreeEncodingInfo -#** -#** 11.06.91 Carver -#** - changed SetPortControl to SetPortAttribute -#** - changed GetPortControl to GetPortAttribute -#** - changed QueryBestSize -#** -#** 05.15.91 Carver -#** - version 2.0 upgrade -#** -#** 01.24.91 Carver -#** - version 1.4 upgrade -#** -#* - -import - x, xlib, xshm, xv - -const - libXv* = "libXv.so" - -type - PXvRational* = ptr TXvRational - TXvRational*{.final.} = object - numerator*: cint - denominator*: cint - - PXvAttribute* = ptr TXvAttribute - TXvAttribute*{.final.} = object - flags*: cint # XvGettable, XvSettable - min_value*: cint - max_value*: cint - name*: cstring - - PPXvEncodingInfo* = ptr PXvEncodingInfo - PXvEncodingInfo* = ptr TXvEncodingInfo - TXvEncodingInfo*{.final.} = object - encoding_id*: TXvEncodingID - name*: cstring - width*: culong - height*: culong - rate*: TXvRational - num_encodings*: culong - - PXvFormat* = ptr TXvFormat - TXvFormat*{.final.} = object - depth*: cchar - visual_id*: culong - - PPXvAdaptorInfo* = ptr PXvAdaptorInfo - PXvAdaptorInfo* = ptr TXvAdaptorInfo - TXvAdaptorInfo*{.final.} = object - base_id*: TXvPortID - num_ports*: culong - thetype*: cchar - name*: cstring - num_formats*: culong - formats*: PXvFormat - num_adaptors*: culong - - PXvVideoNotifyEvent* = ptr TXvVideoNotifyEvent - TXvVideoNotifyEvent*{.final.} = object - theType*: cint - serial*: culong # # of last request processed by server - send_event*: TBool # true if this came from a SendEvent request - display*: PDisplay # Display the event was read from - drawable*: TDrawable # drawable - reason*: culong # what generated this event - port_id*: TXvPortID # what port - time*: TTime # milliseconds - - PXvPortNotifyEvent* = ptr TXvPortNotifyEvent - TXvPortNotifyEvent*{.final.} = object - theType*: cint - serial*: culong # # of last request processed by server - send_event*: TBool # true if this came from a SendEvent request - display*: PDisplay # Display the event was read from - port_id*: TXvPortID # what port - time*: TTime # milliseconds - attribute*: TAtom # atom that identifies attribute - value*: clong # value of attribute - - PXvEvent* = ptr TXvEvent - TXvEvent*{.final.} = object - pad*: array[0..23, clong] #case longint of - # 0 : ( - # theType : cint; - # ); - # 1 : ( - # xvvideo : TXvVideoNotifyEvent; - # ); - # 2 : ( - # xvport : TXvPortNotifyEvent; - # ); - # 3 : ( - # - # ); - - PXvImageFormatValues* = ptr TXvImageFormatValues - TXvImageFormatValues*{.final.} = object - id*: cint # Unique descriptor for the format - theType*: cint # XvRGB, XvYUV - byte_order*: cint # LSBFirst, MSBFirst - guid*: array[0..15, cchar] # Globally Unique IDentifier - bits_per_pixel*: cint - format*: cint # XvPacked, XvPlanar - num_planes*: cint # for RGB formats only - depth*: cint - red_mask*: cuint - green_mask*: cuint - blue_mask*: cuint # for YUV formats only - y_sample_bits*: cuint - u_sample_bits*: cuint - v_sample_bits*: cuint - horz_y_period*: cuint - horz_u_period*: cuint - horz_v_period*: cuint - vert_y_period*: cuint - vert_u_period*: cuint - vert_v_period*: cuint - component_order*: array[0..31, char] # eg. UYVY - scanline_order*: cint # XvTopToBottom, XvBottomToTop - - PXvImage* = ptr TXvImage - TXvImage*{.final.} = object - id*: cint - width*, height*: cint - data_size*: cint # bytes - num_planes*: cint - pitches*: pcint # bytes - offsets*: pcint # bytes - data*: pointer - obdata*: TXPointer - - -proc XvQueryExtension*(display: PDisplay, p_version, p_revision, p_requestBase, - p_eventBase, p_errorBase: pcuint): cint{.cdecl, dynlib: libXv, importc.} -proc XvQueryAdaptors*(display: PDisplay, window: TWindow, p_nAdaptors: pcuint, - p_pAdaptors: PPXvAdaptorInfo): cint{.cdecl, dynlib: libXv, - importc.} -proc XvQueryEncodings*(display: PDisplay, port: TXvPortID, p_nEncoding: pcuint, - p_pEncoding: PPXvEncodingInfo): cint{.cdecl, - dynlib: libXv, importc.} -proc XvPutVideo*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC, - vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{. - cdecl, dynlib: libXv, importc.} -proc XvPutStill*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC, - vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{. - cdecl, dynlib: libXv, importc.} -proc XvGetVideo*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC, - vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{. - cdecl, dynlib: libXv, importc.} -proc XvGetStill*(display: PDisplay, port: TXvPortID, d: TDrawable, gc: TGC, - vx, vy: cint, vw, vh: cuint, dx, dy: cint, dw, dh: cuint): cint{. - cdecl, dynlib: libXv, importc.} -proc XvStopVideo*(display: PDisplay, port: TXvPortID, drawable: TDrawable): cint{. - cdecl, dynlib: libXv, importc.} -proc XvGrabPort*(display: PDisplay, port: TXvPortID, time: TTime): cint{.cdecl, - dynlib: libXv, importc.} -proc XvUngrabPort*(display: PDisplay, port: TXvPortID, time: TTime): cint{. - cdecl, dynlib: libXv, importc.} -proc XvSelectVideoNotify*(display: PDisplay, drawable: TDrawable, onoff: TBool): cint{. - cdecl, dynlib: libXv, importc.} -proc XvSelectPortNotify*(display: PDisplay, port: TXvPortID, onoff: TBool): cint{. - cdecl, dynlib: libXv, importc.} -proc XvSetPortAttribute*(display: PDisplay, port: TXvPortID, attribute: TAtom, - value: cint): cint{.cdecl, dynlib: libXv, importc.} -proc XvGetPortAttribute*(display: PDisplay, port: TXvPortID, attribute: TAtom, - p_value: pcint): cint{.cdecl, dynlib: libXv, importc.} -proc XvQueryBestSize*(display: PDisplay, port: TXvPortID, motion: TBool, - vid_w, vid_h, drw_w, drw_h: cuint, - p_actual_width, p_actual_height: pcuint): cint{.cdecl, - dynlib: libXv, importc.} -proc XvQueryPortAttributes*(display: PDisplay, port: TXvPortID, number: pcint): PXvAttribute{. - cdecl, dynlib: libXv, importc.} -proc XvFreeAdaptorInfo*(adaptors: PXvAdaptorInfo){.cdecl, dynlib: libXv, importc.} -proc XvFreeEncodingInfo*(encodings: PXvEncodingInfo){.cdecl, dynlib: libXv, - importc.} -proc XvListImageFormats*(display: PDisplay, port_id: TXvPortID, - count_return: pcint): PXvImageFormatValues{.cdecl, - dynlib: libXv, importc.} -proc XvCreateImage*(display: PDisplay, port: TXvPortID, id: cint, data: pointer, - width, height: cint): PXvImage{.cdecl, dynlib: libXv, - importc.} -proc XvPutImage*(display: PDisplay, id: TXvPortID, d: TDrawable, gc: TGC, - image: PXvImage, src_x, src_y: cint, src_w, src_h: cuint, - dest_x, dest_y: cint, dest_w, dest_h: cuint): cint{.cdecl, - dynlib: libXv, importc.} -proc XvShmPutImage*(display: PDisplay, id: TXvPortID, d: TDrawable, gc: TGC, - image: PXvImage, src_x, src_y: cint, src_w, src_h: cuint, - dest_x, dest_y: cint, dest_w, dest_h: cuint, - send_event: TBool): cint{.cdecl, dynlib: libXv, importc.} -proc XvShmCreateImage*(display: PDisplay, port: TXvPortID, id: cint, - data: pointer, width, height: cint, - shminfo: PXShmSegmentInfo): PXvImage{.cdecl, - dynlib: libXv, importc.} -# implementation diff --git a/lib/oldwrappers/zip/libzip.nim b/lib/oldwrappers/zip/libzip.nim deleted file mode 100755 index 2f8abc46c..000000000 --- a/lib/oldwrappers/zip/libzip.nim +++ /dev/null @@ -1,241 +0,0 @@ -# -# -# Nimrod's Runtime Library -# (c) Copyright 2008 Andreas Rumpf -# -# See the file "copying.txt", included in this -# distribution, for details about the copyright. -# - -## Interface to the `libzip `_ library by -## Dieter Baron and Thomas Klausner. However, this does not need any external -## library (DLL, lib*.so), as the source for this library is included and -## compiled with this interface. - -# -# zip.h -- exported declarations. -# Copyright (C) 1999-2008 Dieter Baron and Thomas Klausner -# -# This file is part of libzip, a library to manipulate ZIP archives. -# The authors can be contacted at -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. The names of the authors may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -import times - -{.compile: "libzip_all.c".} -when defined(unix): - {.passl: "-lz".} - -type - Tzip_source_cmd* = int32 - - Tzip_source_callback* = proc (state: pointer, data: pointer, length: int, - cmd: Tzip_source_cmd): int {.cdecl.} - Pzip_stat* = ptr Tzip_stat - Tzip_stat* {.final, pure.} = object - name*: cstring ## name of the file - index*: int32 ## index within archive - crc*: int32 ## crc of file data - mtime*: TTime ## modification time - size*: int ## size of file (uncompressed) - comp_size*: int ## size of file (compressed) - comp_method*: int16 ## compression method used - encryption_method*: int16 ## encryption method used - - Tzip {.final, pure.} = object - Tzip_source {.final, pure.} = object - Tzip_file {.final, pure.} = object - - Pzip* = ptr Tzip ## represents a zip archive - Pzip_file* = ptr Tzip_file ## represents a file within an archive - Pzip_source* = ptr Tzip_source ## represents a source for an archive - - -# flags for zip_name_locate, zip_fopen, zip_stat, ... -const - ZIP_CREATE* = 1'i32 - ZIP_EXCL* = 2'i32 - ZIP_CHECKCONS* = 4'i32 - ZIP_FL_NOCASE* = 1'i32 ## ignore case on name lookup - ZIP_FL_NODIR* = 2'i32 ## ignore directory component - ZIP_FL_COMPRESSED* = 4'i32 ## read compressed data - ZIP_FL_UNCHANGED* = 8'i32 ## use original data, ignoring changes - ZIP_FL_RECOMPRESS* = 16'i32 ## force recompression of data - -const # archive global flags flags - ZIP_AFL_TORRENT* = 1'i32 ## torrent zipped - -const # libzip error codes - ZIP_ER_OK* = 0'i32 ## N No error - ZIP_ER_MULTIDISK* = 1'i32 ## N Multi-disk zip archives not supported - ZIP_ER_RENAME* = 2'i32 ## S Renaming temporary file failed - ZIP_ER_CLOSE* = 3'i32 ## S Closing zip archive failed - ZIP_ER_SEEK* = 4'i32 ## S Seek error - ZIP_ER_READ* = 5'i32 ## S Read error - ZIP_ER_WRITE* = 6'i32 ## S Write error - ZIP_ER_CRC* = 7'i32 ## N CRC error - ZIP_ER_ZIPCLOSED* = 8'i32 ## N Containing zip archive was closed - ZIP_ER_NOENT* = 9'i32 ## N No such file - ZIP_ER_EXISTS* = 10'i32 ## N File already exists - ZIP_ER_OPEN* = 11'i32 ## S Can't open file - ZIP_ER_TMPOPEN* = 12'i32 ## S Failure to create temporary file - ZIP_ER_ZLIB* = 13'i32 ## Z Zlib error - ZIP_ER_MEMORY* = 14'i32 ## N Malloc failure - ZIP_ER_CHANGED* = 15'i32 ## N Entry has been changed - ZIP_ER_COMPNOTSUPP* = 16'i32 ## N Compression method not supported - ZIP_ER_EOF* = 17'i32 ## N Premature EOF - ZIP_ER_INVAL* = 18'i32 ## N Invalid argument - ZIP_ER_NOZIP* = 19'i32 ## N Not a zip archive - ZIP_ER_INTERNAL* = 20'i32 ## N Internal error - ZIP_ER_INCONS* = 21'i32 ## N Zip archive inconsistent - ZIP_ER_REMOVE* = 22'i32 ## S Can't remove file - ZIP_ER_DELETED* = 23'i32 ## N Entry has been deleted - -const # type of system error value - ZIP_ET_NONE* = 0'i32 ## sys_err unused - ZIP_ET_SYS* = 1'i32 ## sys_err is errno - ZIP_ET_ZLIB* = 2'i32 ## sys_err is zlib error code - -const # compression methods - ZIP_CM_DEFAULT* = -1'i32 ## better of deflate or store - ZIP_CM_STORE* = 0'i32 ## stored (uncompressed) - ZIP_CM_SHRINK* = 1'i32 ## shrunk - ZIP_CM_REDUCE_1* = 2'i32 ## reduced with factor 1 - ZIP_CM_REDUCE_2* = 3'i32 ## reduced with factor 2 - ZIP_CM_REDUCE_3* = 4'i32 ## reduced with factor 3 - ZIP_CM_REDUCE_4* = 5'i32 ## reduced with factor 4 - ZIP_CM_IMPLODE* = 6'i32 ## imploded - ## 7 - Reserved for Tokenizing compression algorithm - ZIP_CM_DEFLATE* = 8'i32 ## deflated - ZIP_CM_DEFLATE64* = 9'i32 ## deflate64 - ZIP_CM_PKWARE_IMPLODE* = 10'i32 ## PKWARE imploding - ## 11 - Reserved by PKWARE - ZIP_CM_BZIP2* = 12'i32 ## compressed using BZIP2 algorithm - ## 13 - Reserved by PKWARE - ZIP_CM_LZMA* = 14'i32 ## LZMA (EFS) - ## 15-17 - Reserved by PKWARE - ZIP_CM_TERSE* = 18'i32 ## compressed using IBM TERSE (new) - ZIP_CM_LZ77* = 19'i32 ## IBM LZ77 z Architecture (PFS) - ZIP_CM_WAVPACK* = 97'i32 ## WavPack compressed data - ZIP_CM_PPMD* = 98'i32 ## PPMd version I, Rev 1 - -const # encryption methods - ZIP_EM_NONE* = 0'i32 ## not encrypted - ZIP_EM_TRAD_PKWARE* = 1'i32 ## traditional PKWARE encryption - -const - ZIP_EM_UNKNOWN* = 0x0000FFFF'i32 ## unknown algorithm - -const - ZIP_SOURCE_OPEN* = 0'i32 ## prepare for reading - ZIP_SOURCE_READ* = 1'i32 ## read data - ZIP_SOURCE_CLOSE* = 2'i32 ## reading is done - ZIP_SOURCE_STAT* = 3'i32 ## get meta information - ZIP_SOURCE_ERROR* = 4'i32 ## get error information - constZIP_SOURCE_FREE* = 5'i32 ## cleanup and free resources - -proc zip_add*(para1: Pzip, para2: cstring, para3: Pzip_source): int32 {.cdecl, - importc: "zip_add".} -proc zip_add_dir*(para1: Pzip, para2: cstring): int32 {.cdecl, - importc: "zip_add_dir".} -proc zip_close*(para1: Pzip) {.cdecl, importc: "zip_close".} -proc zip_delete*(para1: Pzip, para2: int32): int32 {.cdecl, - importc: "zip_delete".} -proc zip_error_clear*(para1: Pzip) {.cdecl, importc: "zip_error_clear".} -proc zip_error_get*(para1: Pzip, para2: ptr int32, para3: ptr int32) {.cdecl, - importc: "zip_error_get".} -proc zip_error_get_sys_type*(para1: int32): int32 {.cdecl, - importc: "zip_error_get_sys_type".} -proc zip_error_to_str*(para1: cstring, para2: int, para3: int32, - para4: int32): int32 {.cdecl, - importc: "zip_error_to_str".} -proc zip_fclose*(para1: Pzip_file) {.cdecl, - importc: "zip_fclose".} -proc zip_file_error_clear*(para1: Pzip_file) {.cdecl, - importc: "zip_file_error_clear".} -proc zip_file_error_get*(para1: Pzip_file, para2: ptr int32, para3: ptr int32) {. - cdecl, importc: "zip_file_error_get".} -proc zip_file_strerror*(para1: Pzip_file): cstring {.cdecl, - importc: "zip_file_strerror".} -proc zip_fopen*(para1: Pzip, para2: cstring, para3: int32): Pzip_file {.cdecl, - importc: "zip_fopen".} -proc zip_fopen_index*(para1: Pzip, para2: int32, para3: int32): Pzip_file {. - cdecl, importc: "zip_fopen_index".} -proc zip_fread*(para1: Pzip_file, para2: pointer, para3: int): int {. - cdecl, importc: "zip_fread".} -proc zip_get_archive_comment*(para1: Pzip, para2: ptr int32, para3: int32): cstring {. - cdecl, importc: "zip_get_archive_comment".} -proc zip_get_archive_flag*(para1: Pzip, para2: int32, para3: int32): int32 {. - cdecl, importc: "zip_get_archive_flag".} -proc zip_get_file_comment*(para1: Pzip, para2: int32, para3: ptr int32, - para4: int32): cstring {.cdecl, - importc: "zip_get_file_comment".} -proc zip_get_name*(para1: Pzip, para2: int32, para3: int32): cstring {.cdecl, - importc: "zip_get_name".} -proc zip_get_num_files*(para1: Pzip): int32 {.cdecl, - importc: "zip_get_num_files".} -proc zip_name_locate*(para1: Pzip, para2: cstring, para3: int32): int32 {.cdecl, - importc: "zip_name_locate".} -proc zip_open*(para1: cstring, para2: int32, para3: ptr int32): Pzip {.cdecl, - importc: "zip_open".} -proc zip_rename*(para1: Pzip, para2: int32, para3: cstring): int32 {.cdecl, - importc: "zip_rename".} -proc zip_replace*(para1: Pzip, para2: int32, para3: Pzip_source): int32 {.cdecl, - importc: "zip_replace".} -proc zip_set_archive_comment*(para1: Pzip, para2: cstring, para3: int32): int32 {. - cdecl, importc: "zip_set_archive_comment".} -proc zip_set_archive_flag*(para1: Pzip, para2: int32, para3: int32): int32 {. - cdecl, importc: "zip_set_archive_flag".} -proc zip_set_file_comment*(para1: Pzip, para2: int32, para3: cstring, - para4: int32): int32 {.cdecl, - importc: "zip_set_file_comment".} -proc zip_source_buffer*(para1: Pzip, para2: pointer, para3: int, para4: int32): Pzip_source {. - cdecl, importc: "zip_source_buffer".} -proc zip_source_file*(para1: Pzip, para2: cstring, para3: int, para4: int): Pzip_source {. - cdecl, importc: "zip_source_file".} -proc zip_source_filep*(para1: Pzip, para2: TFile, para3: int, para4: int): Pzip_source {. - cdecl, importc: "zip_source_filep".} -proc zip_source_free*(para1: Pzip_source) {.cdecl, - importc: "zip_source_free".} -proc zip_source_function*(para1: Pzip, para2: Tzip_source_callback, - para3: pointer): Pzip_source {.cdecl, - importc: "zip_source_function".} -proc zip_source_zip*(para1: Pzip, para2: Pzip, para3: int32, para4: int32, - para5: int, para6: int): Pzip_source {.cdecl, - importc: "zip_source_zip".} -proc zip_stat*(para1: Pzip, para2: cstring, para3: int32, para4: Pzip_stat): int32 {. - cdecl, importc: "zip_stat".} -proc zip_stat_index*(para1: Pzip, para2: int32, para3: int32, para4: Pzip_stat): int32 {. - cdecl, importc: "zip_stat_index".} -proc zip_stat_init*(para1: Pzip_stat) {.cdecl, importc: "zip_stat_init".} -proc zip_strerror*(para1: Pzip): cstring {.cdecl, importc: "zip_strerror".} -proc zip_unchange*(para1: Pzip, para2: int32): int32 {.cdecl, - importc: "zip_unchange".} -proc zip_unchange_all*(para1: Pzip): int32 {.cdecl, importc: "zip_unchange_all".} -proc zip_unchange_archive*(para1: Pzip): int32 {.cdecl, - importc: "zip_unchange_archive".} diff --git a/lib/oldwrappers/zip/libzip_all.c b/lib/oldwrappers/zip/libzip_all.c deleted file mode 100755 index 797374b29..000000000 --- a/lib/oldwrappers/zip/libzip_all.c +++ /dev/null @@ -1,4189 +0,0 @@ -/* - zipint.h -- internal declarations. - Copyright (C) 1999-2008 Dieter Baron and Thomas Klausner - - This file is part of libzip, a library to manipulate ZIP archives. - The authors can be contacted at - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - 3. The names of the authors may not be used to endorse or promote - products derived from this software without specific prior - written permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include - -/* -#ifdef _MSC_VER -#define ZIP_EXTERN __declspec(dllimport) -#endif -*/ - -/* - zip.h -- exported declarations. - Copyright (C) 1999-2008 Dieter Baron and Thomas Klausner - - This file is part of libzip, a library to manipulate ZIP archives. - The authors can be contacted at - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - 3. The names of the authors may not be used to endorse or promote - products derived from this software without specific prior - written permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - - -#ifndef ZIP_EXTERN -#define ZIP_EXTERN -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -/* flags for zip_open */ - -#define ZIP_CREATE 1 -#define ZIP_EXCL 2 -#define ZIP_CHECKCONS 4 - - -/* flags for zip_name_locate, zip_fopen, zip_stat, ... */ - -#define ZIP_FL_NOCASE 1 /* ignore case on name lookup */ -#define ZIP_FL_NODIR 2 /* ignore directory component */ -#define ZIP_FL_COMPRESSED 4 /* read compressed data */ -#define ZIP_FL_UNCHANGED 8 /* use original data, ignoring changes */ -#define ZIP_FL_RECOMPRESS 16 /* force recompression of data */ - -/* archive global flags flags */ - -#define ZIP_AFL_TORRENT 1 /* torrent zipped */ - -/* libzip error codes */ - -#define ZIP_ER_OK 0 /* N No error */ -#define ZIP_ER_MULTIDISK 1 /* N Multi-disk zip archives not supported */ -#define ZIP_ER_RENAME 2 /* S Renaming temporary file failed */ -#define ZIP_ER_CLOSE 3 /* S Closing zip archive failed */ -#define ZIP_ER_SEEK 4 /* S Seek error */ -#define ZIP_ER_READ 5 /* S Read error */ -#define ZIP_ER_WRITE 6 /* S Write error */ -#define ZIP_ER_CRC 7 /* N CRC error */ -#define ZIP_ER_ZIPCLOSED 8 /* N Containing zip archive was closed */ -#define ZIP_ER_NOENT 9 /* N No such file */ -#define ZIP_ER_EXISTS 10 /* N File already exists */ -#define ZIP_ER_OPEN 11 /* S Can't open file */ -#define ZIP_ER_TMPOPEN 12 /* S Failure to create temporary file */ -#define ZIP_ER_ZLIB 13 /* Z Zlib error */ -#define ZIP_ER_MEMORY 14 /* N Malloc failure */ -#define ZIP_ER_CHANGED 15 /* N Entry has been changed */ -#define ZIP_ER_COMPNOTSUPP 16 /* N Compression method not supported */ -#define ZIP_ER_EOF 17 /* N Premature EOF */ -#define ZIP_ER_INVAL 18 /* N Invalid argument */ -#define ZIP_ER_NOZIP 19 /* N Not a zip archive */ -#define ZIP_ER_INTERNAL 20 /* N Internal error */ -#define ZIP_ER_INCONS 21 /* N Zip archive inconsistent */ -#define ZIP_ER_REMOVE 22 /* S Can't remove file */ -#define ZIP_ER_DELETED 23 /* N Entry has been deleted */ - - -/* type of system error value */ - -#define ZIP_ET_NONE 0 /* sys_err unused */ -#define ZIP_ET_SYS 1 /* sys_err is errno */ -#define ZIP_ET_ZLIB 2 /* sys_err is zlib error code */ - -/* compression methods */ - -#define ZIP_CM_DEFAULT -1 /* better of deflate or store */ -#define ZIP_CM_STORE 0 /* stored (uncompressed) */ -#define ZIP_CM_SHRINK 1 /* shrunk */ -#define ZIP_CM_REDUCE_1 2 /* reduced with factor 1 */ -#define ZIP_CM_REDUCE_2 3 /* reduced with factor 2 */ -#define ZIP_CM_REDUCE_3 4 /* reduced with factor 3 */ -#define ZIP_CM_REDUCE_4 5 /* reduced with factor 4 */ -#define ZIP_CM_IMPLODE 6 /* imploded */ -/* 7 - Reserved for Tokenizing compression algorithm */ -#define ZIP_CM_DEFLATE 8 /* deflated */ -#define ZIP_CM_DEFLATE64 9 /* deflate64 */ -#define ZIP_CM_PKWARE_IMPLODE 10 /* PKWARE imploding */ -/* 11 - Reserved by PKWARE */ -#define ZIP_CM_BZIP2 12 /* compressed using BZIP2 algorithm */ -/* 13 - Reserved by PKWARE */ -#define ZIP_CM_LZMA 14 /* LZMA (EFS) */ -/* 15-17 - Reserved by PKWARE */ -#define ZIP_CM_TERSE 18 /* compressed using IBM TERSE (new) */ -#define ZIP_CM_LZ77 19 /* IBM LZ77 z Architecture (PFS) */ -#define ZIP_CM_WAVPACK 97 /* WavPack compressed data */ -#define ZIP_CM_PPMD 98 /* PPMd version I, Rev 1 */ - -/* encryption methods */ - -#define ZIP_EM_NONE 0 /* not encrypted */ -#define ZIP_EM_TRAD_PKWARE 1 /* traditional PKWARE encryption */ -#if 0 /* Strong Encryption Header not parsed yet */ -#define ZIP_EM_DES 0x6601 /* strong encryption: DES */ -#define ZIP_EM_RC2_OLD 0x6602 /* strong encryption: RC2, version < 5.2 */ -#define ZIP_EM_3DES_168 0x6603 -#define ZIP_EM_3DES_112 0x6609 -#define ZIP_EM_AES_128 0x660e -#define ZIP_EM_AES_192 0x660f -#define ZIP_EM_AES_256 0x6610 -#define ZIP_EM_RC2 0x6702 /* strong encryption: RC2, version >= 5.2 */ -#define ZIP_EM_RC4 0x6801 -#endif -#define ZIP_EM_UNKNOWN 0xffff /* unknown algorithm */ - -typedef long myoff_t; /* XXX: 64 bit support */ - -enum zip_source_cmd { - ZIP_SOURCE_OPEN, /* prepare for reading */ - ZIP_SOURCE_READ, /* read data */ - ZIP_SOURCE_CLOSE, /* reading is done */ - ZIP_SOURCE_STAT, /* get meta information */ - ZIP_SOURCE_ERROR, /* get error information */ - ZIP_SOURCE_FREE /* cleanup and free resources */ -}; - -typedef ssize_t (*zip_source_callback)(void *state, void *data, - size_t len, enum zip_source_cmd cmd); - -struct zip_stat { - const char *name; /* name of the file */ - int index; /* index within archive */ - unsigned int crc; /* crc of file data */ - time_t mtime; /* modification time */ - myoff_t size; /* size of file (uncompressed) */ - myoff_t comp_size; /* size of file (compressed) */ - unsigned short comp_method; /* compression method used */ - unsigned short encryption_method; /* encryption method used */ -}; - -struct zip; -struct zip_file; -struct zip_source; - - -ZIP_EXTERN int zip_add(struct zip *, const char *, struct zip_source *); -ZIP_EXTERN int zip_add_dir(struct zip *, const char *); -ZIP_EXTERN int zip_close(struct zip *); -ZIP_EXTERN int zip_delete(struct zip *, int); -ZIP_EXTERN void zip_error_clear(struct zip *); -ZIP_EXTERN void zip_error_get(struct zip *, int *, int *); -ZIP_EXTERN int zip_error_get_sys_type(int); -ZIP_EXTERN int zip_error_to_str(char *, size_t, int, int); -ZIP_EXTERN int zip_fclose(struct zip_file *); -ZIP_EXTERN void zip_file_error_clear(struct zip_file *); -ZIP_EXTERN void zip_file_error_get(struct zip_file *, int *, int *); -ZIP_EXTERN const char *zip_file_strerror(struct zip_file *); -ZIP_EXTERN struct zip_file *zip_fopen(struct zip *, const char *, int); -ZIP_EXTERN struct zip_file *zip_fopen_index(struct zip *, int, int); -ZIP_EXTERN ssize_t zip_fread(struct zip_file *, void *, size_t); -ZIP_EXTERN const char *zip_get_archive_comment(struct zip *, int *, int); -ZIP_EXTERN int zip_get_archive_flag(struct zip *, int, int); -ZIP_EXTERN const char *zip_get_file_comment(struct zip *, int, int *, int); -ZIP_EXTERN const char *zip_get_name(struct zip *, int, int); -ZIP_EXTERN int zip_get_num_files(struct zip *); -ZIP_EXTERN int zip_name_locate(struct zip *, const char *, int); -ZIP_EXTERN struct zip *zip_open(const char *, int, int *); -ZIP_EXTERN int zip_rename(struct zip *, int, const char *); -ZIP_EXTERN int zip_replace(struct zip *, int, struct zip_source *); -ZIP_EXTERN int zip_set_archive_comment(struct zip *, const char *, int); -ZIP_EXTERN int zip_set_archive_flag(struct zip *, int, int); -ZIP_EXTERN int zip_set_file_comment(struct zip *, int, const char *, int); -ZIP_EXTERN struct zip_source *zip_source_buffer(struct zip *, const void *, - myoff_t, int); -ZIP_EXTERN struct zip_source *zip_source_file(struct zip *, const char *, - myoff_t, myoff_t); -ZIP_EXTERN struct zip_source *zip_source_filep(struct zip *, FILE *, - myoff_t, myoff_t); -ZIP_EXTERN void zip_source_free(struct zip_source *); -ZIP_EXTERN struct zip_source *zip_source_function(struct zip *, - zip_source_callback, void *); -ZIP_EXTERN struct zip_source *zip_source_zip(struct zip *, struct zip *, - int, int, myoff_t, myoff_t); -ZIP_EXTERN int zip_stat(struct zip *, const char *, int, struct zip_stat *); -ZIP_EXTERN int zip_stat_index(struct zip *, int, int, struct zip_stat *); -ZIP_EXTERN void zip_stat_init(struct zip_stat *); -ZIP_EXTERN const char *zip_strerror(struct zip *); -ZIP_EXTERN int zip_unchange(struct zip *, int); -ZIP_EXTERN int zip_unchange_all(struct zip *); -ZIP_EXTERN int zip_unchange_archive(struct zip *); - -#ifdef __cplusplus -} -#endif - - -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. - */ -/* #undef HAVE_DECL_TZNAME */ - -#define HAVE_CONFIG_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `fseeko' function. */ -#define HAVE_FSEEKO 1 - -/* Define to 1 if you have the `ftello' function. */ -#define HAVE_FTELLO 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `z' library (-lz). */ -#define HAVE_LIBZ 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `mkstemp' function. */ -#define HAVE_MKSTEMP 1 - -/* Define to 1 if you have the `MoveFileExA' function. */ -/* #undef HAVE_MOVEFILEEXA */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if `tm_zone' is member of `struct tm'. */ -#define HAVE_STRUCT_TM_TM_ZONE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use - `HAVE_STRUCT_TM_TM_ZONE' instead. */ -#define HAVE_TM_ZONE 1 - -/* Define to 1 if you don't have `tm_zone' but do have the external array - `tzname'. */ -/* #undef HAVE_TZNAME */ - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Name of package */ -#define PACKAGE "libzip" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "libzip@nih.at" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "libzip" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libzip 0.9" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "libzip" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "0.9" - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define to 1 if your declares `struct tm'. */ -/* #undef TM_IN_SYS_TIME */ - -/* Version number of package */ -#define VERSION "0.9" - - -#ifndef HAVE_MKSTEMP -int _zip_mkstemp(char *); -#define mkstemp _zip_mkstemp -#endif - -#ifdef HAVE_MOVEFILEEXA -#include -#define _zip_rename(s, t) \ - (!MoveFileExA((s), (t), \ - MOVEFILE_COPY_ALLOWED|MOVEFILE_REPLACE_EXISTING)) -#else -#define _zip_rename rename -#endif - -#ifndef HAVE_FSEEKO -#define fseeko(s, o, w) (fseek((s), (long int)(o), (w))) -#endif -#ifndef HAVE_FTELLO -#define ftello(s) ((long)ftell((s))) -#endif - - -#define CENTRAL_MAGIC "PK\1\2" -#define LOCAL_MAGIC "PK\3\4" -#define EOCD_MAGIC "PK\5\6" -#define DATADES_MAGIC "PK\7\8" -#define TORRENT_SIG "TORRENTZIPPED-" -#define TORRENT_SIG_LEN 14 -#define TORRENT_CRC_LEN 8 -#define TORRENT_MEM_LEVEL 8 -#define CDENTRYSIZE 46u -#define LENTRYSIZE 30 -#define MAXCOMLEN 65536 -#define EOCDLEN 22 -#define CDBUFSIZE (MAXCOMLEN+EOCDLEN) -#define BUFSIZE 8192 - - -/* state of change of a file in zip archive */ - -enum zip_state { ZIP_ST_UNCHANGED, ZIP_ST_DELETED, ZIP_ST_REPLACED, - ZIP_ST_ADDED, ZIP_ST_RENAMED }; - -/* constants for struct zip_file's member flags */ - -#define ZIP_ZF_EOF 1 /* EOF reached */ -#define ZIP_ZF_DECOMP 2 /* decompress data */ -#define ZIP_ZF_CRC 4 /* compute and compare CRC */ - -/* directory entry: general purpose bit flags */ - -#define ZIP_GPBF_ENCRYPTED 0x0001 /* is encrypted */ -#define ZIP_GPBF_DATA_DESCRIPTOR 0x0008 /* crc/size after file data */ -#define ZIP_GPBF_STRONG_ENCRYPTION 0x0040 /* uses strong encryption */ - -/* error information */ - -struct zip_error { - int zip_err; /* libzip error code (ZIP_ER_*) */ - int sys_err; /* copy of errno (E*) or zlib error code */ - char *str; /* string representation or NULL */ -}; - -/* zip archive, part of API */ - -struct zip { - char *zn; /* file name */ - FILE *zp; /* file */ - struct zip_error error; /* error information */ - - unsigned int flags; /* archive global flags */ - unsigned int ch_flags; /* changed archive global flags */ - - struct zip_cdir *cdir; /* central directory */ - char *ch_comment; /* changed archive comment */ - int ch_comment_len; /* length of changed zip archive - * comment, -1 if unchanged */ - int nentry; /* number of entries */ - int nentry_alloc; /* number of entries allocated */ - struct zip_entry *entry; /* entries */ - int nfile; /* number of opened files within archive */ - int nfile_alloc; /* number of files allocated */ - struct zip_file **file; /* opened files within archive */ -}; - -/* file in zip archive, part of API */ - -struct zip_file { - struct zip *za; /* zip archive containing this file */ - struct zip_error error; /* error information */ - int flags; /* -1: eof, >0: error */ - - int method; /* compression method */ - myoff_t fpos; /* position within zip file (fread/fwrite) */ - unsigned long bytes_left; /* number of bytes left to read */ - unsigned long cbytes_left; /* number of bytes of compressed data left */ - - unsigned long crc; /* CRC so far */ - unsigned long crc_orig; /* CRC recorded in archive */ - - char *buffer; - z_stream *zstr; -}; - -/* zip archive directory entry (central or local) */ - -struct zip_dirent { - unsigned short version_madeby; /* (c) version of creator */ - unsigned short version_needed; /* (cl) version needed to extract */ - unsigned short bitflags; /* (cl) general purpose bit flag */ - unsigned short comp_method; /* (cl) compression method used */ - time_t last_mod; /* (cl) time of last modification */ - unsigned int crc; /* (cl) CRC-32 of uncompressed data */ - unsigned int comp_size; /* (cl) size of commpressed data */ - unsigned int uncomp_size; /* (cl) size of uncommpressed data */ - char *filename; /* (cl) file name (NUL-terminated) */ - unsigned short filename_len; /* (cl) length of filename (w/o NUL) */ - char *extrafield; /* (cl) extra field */ - unsigned short extrafield_len; /* (cl) length of extra field */ - char *comment; /* (c) file comment */ - unsigned short comment_len; /* (c) length of file comment */ - unsigned short disk_number; /* (c) disk number start */ - unsigned short int_attrib; /* (c) internal file attributes */ - unsigned int ext_attrib; /* (c) external file attributes */ - unsigned int offset; /* (c) offset of local header */ -}; - -/* zip archive central directory */ - -struct zip_cdir { - struct zip_dirent *entry; /* directory entries */ - int nentry; /* number of entries */ - - unsigned int size; /* size of central direcotry */ - unsigned int offset; /* offset of central directory in file */ - char *comment; /* zip archive comment */ - unsigned short comment_len; /* length of zip archive comment */ -}; - - - -struct zip_source { - zip_source_callback f; - void *ud; -}; - -/* entry in zip archive directory */ - -struct zip_entry { - enum zip_state state; - struct zip_source *source; - char *ch_filename; - char *ch_comment; - int ch_comment_len; -}; - - - -extern const char * const _zip_err_str[]; -extern const int _zip_nerr_str; -extern const int _zip_err_type[]; - - - -#define ZIP_ENTRY_DATA_CHANGED(x) \ - ((x)->state == ZIP_ST_REPLACED \ - || (x)->state == ZIP_ST_ADDED) - - - -int _zip_cdir_compute_crc(struct zip *, uLong *); -void _zip_cdir_free(struct zip_cdir *); -struct zip_cdir *_zip_cdir_new(int, struct zip_error *); -int _zip_cdir_write(struct zip_cdir *, FILE *, struct zip_error *); - -void _zip_dirent_finalize(struct zip_dirent *); -void _zip_dirent_init(struct zip_dirent *); -int _zip_dirent_read(struct zip_dirent *, FILE *, - unsigned char **, unsigned int, int, struct zip_error *); -void _zip_dirent_torrent_normalize(struct zip_dirent *); -int _zip_dirent_write(struct zip_dirent *, FILE *, int, struct zip_error *); - -void _zip_entry_free(struct zip_entry *); -void _zip_entry_init(struct zip *, int); -struct zip_entry *_zip_entry_new(struct zip *); - -void _zip_error_clear(struct zip_error *); -void _zip_error_copy(struct zip_error *, struct zip_error *); -void _zip_error_fini(struct zip_error *); -void _zip_error_get(struct zip_error *, int *, int *); -void _zip_error_init(struct zip_error *); -void _zip_error_set(struct zip_error *, int, int); -const char *_zip_error_strerror(struct zip_error *); - -int _zip_file_fillbuf(void *, size_t, struct zip_file *); -unsigned int _zip_file_get_offset(struct zip *, int); - -int _zip_filerange_crc(FILE *, myoff_t, myoff_t, uLong *, struct zip_error *); - -struct zip_source *_zip_source_file_or_p(struct zip *, const char *, FILE *, - myoff_t, myoff_t); - -void _zip_free(struct zip *); -const char *_zip_get_name(struct zip *, int, int, struct zip_error *); -int _zip_local_header_read(struct zip *, int); -void *_zip_memdup(const void *, size_t, struct zip_error *); -int _zip_name_locate(struct zip *, const char *, int, struct zip_error *); -struct zip *_zip_new(struct zip_error *); -unsigned short _zip_read2(unsigned char **); -unsigned int _zip_read4(unsigned char **); -int _zip_replace(struct zip *, int, const char *, struct zip_source *); -int _zip_set_name(struct zip *, int, const char *); -int _zip_unchange(struct zip *, int, int); -void _zip_unchange_data(struct zip_entry *); - - -#include -#include -#include -#include - -const char * -_zip_error_strerror(struct zip_error *err) -{ - const char *zs, *ss; - char buf[128], *s; - - _zip_error_fini(err); - - if (err->zip_err < 0 || err->zip_err >= _zip_nerr_str) { - sprintf(buf, "Unknown error %d", err->zip_err); - zs = NULL; - ss = buf; - } - else { - zs = _zip_err_str[err->zip_err]; - - switch (_zip_err_type[err->zip_err]) { - case ZIP_ET_SYS: - ss = strerror(err->sys_err); - break; - - case ZIP_ET_ZLIB: - ss = zError(err->sys_err); - break; - - default: - ss = NULL; - } - } - - if (ss == NULL) - return zs; - else { - if ((s=(char *)malloc(strlen(ss) - + (zs ? strlen(zs)+2 : 0) + 1)) == NULL) - return _zip_err_str[ZIP_ER_MEMORY]; - - sprintf(s, "%s%s%s", - (zs ? zs : ""), - (zs ? ": " : ""), - ss); - err->str = s; - - return s; - } -} - -#include - - - -void -_zip_error_clear(struct zip_error *err) -{ - err->zip_err = ZIP_ER_OK; - err->sys_err = 0; -} - - - -void -_zip_error_copy(struct zip_error *dst, struct zip_error *src) -{ - dst->zip_err = src->zip_err; - dst->sys_err = src->sys_err; -} - - - -void -_zip_error_fini(struct zip_error *err) -{ - free(err->str); - err->str = NULL; -} - - - -void -_zip_error_get(struct zip_error *err, int *zep, int *sep) -{ - if (zep) - *zep = err->zip_err; - if (sep) { - if (zip_error_get_sys_type(err->zip_err) != ZIP_ET_NONE) - *sep = err->sys_err; - else - *sep = 0; - } -} - - - -void -_zip_error_init(struct zip_error *err) -{ - err->zip_err = ZIP_ER_OK; - err->sys_err = 0; - err->str = NULL; -} - - - -void -_zip_error_set(struct zip_error *err, int ze, int se) -{ - if (err) { - err->zip_err = ze; - err->sys_err = se; - } -} - - -#include -#include - -#include -#include -#include -#include -#include -#include - -#ifndef O_BINARY -#define O_BINARY 0 -#endif - - - -int -_zip_mkstemp(char *path) -{ - int fd; - char *start, *trv; - struct stat sbuf; - pid_t pid; - - /* To guarantee multiple calls generate unique names even if - the file is not created. 676 different possibilities with 7 - or more X's, 26 with 6 or less. */ - static char xtra[2] = "aa"; - int xcnt = 0; - - pid = getpid(); - - /* Move to end of path and count trailing X's. */ - for (trv = path; *trv; ++trv) - if (*trv == 'X') - xcnt++; - else - xcnt = 0; - - /* Use at least one from xtra. Use 2 if more than 6 X's. */ - if (*(trv - 1) == 'X') - *--trv = xtra[0]; - if (xcnt > 6 && *(trv - 1) == 'X') - *--trv = xtra[1]; - - /* Set remaining X's to pid digits with 0's to the left. */ - while (*--trv == 'X') { - *trv = (pid % 10) + '0'; - pid /= 10; - } - - /* update xtra for next call. */ - if (xtra[0] != 'z') - xtra[0]++; - else { - xtra[0] = 'a'; - if (xtra[1] != 'z') - xtra[1]++; - else - xtra[1] = 'a'; - } - - /* - * check the target directory; if you have six X's and it - * doesn't exist this runs for a *very* long time. - */ - for (start = trv + 1;; --trv) { - if (trv <= path) - break; - if (*trv == '/') { - *trv = '\0'; - if (stat(path, &sbuf)) - return (0); - if (!S_ISDIR(sbuf.st_mode)) { - errno = ENOTDIR; - return (0); - } - *trv = '/'; - break; - } - } - - for (;;) { - if ((fd=open(path, O_CREAT|O_EXCL|O_RDWR|O_BINARY, 0600)) >= 0) - return (fd); - if (errno != EEXIST) - return (0); - - /* tricky little algorithm for backward compatibility */ - for (trv = start;;) { - if (!*trv) - return (0); - if (*trv == 'z') - *trv++ = 'a'; - else { - if (isdigit((unsigned char)*trv)) - *trv = 'a'; - else - ++*trv; - break; - } - } - } - /*NOTREACHED*/ -} - - -#include -#include -#include -#include -#include -#include - -static time_t _zip_d2u_time(int, int); -static char *_zip_readfpstr(FILE *, unsigned int, int, struct zip_error *); -static char *_zip_readstr(unsigned char **, int, int, struct zip_error *); -static void _zip_u2d_time(time_t, unsigned short *, unsigned short *); -static void _zip_write2(unsigned short, FILE *); -static void _zip_write4(unsigned int, FILE *); - - - -void -_zip_cdir_free(struct zip_cdir *cd) -{ - int i; - - if (!cd) - return; - - for (i=0; inentry; i++) - _zip_dirent_finalize(cd->entry+i); - free(cd->comment); - free(cd->entry); - free(cd); -} - - - -struct zip_cdir * -_zip_cdir_new(int nentry, struct zip_error *error) -{ - struct zip_cdir *cd; - - if ((cd=(struct zip_cdir *)malloc(sizeof(*cd))) == NULL) { - _zip_error_set(error, ZIP_ER_MEMORY, 0); - return NULL; - } - - if ((cd->entry=(struct zip_dirent *)malloc(sizeof(*(cd->entry))*nentry)) - == NULL) { - _zip_error_set(error, ZIP_ER_MEMORY, 0); - free(cd); - return NULL; - } - - /* entries must be initialized by caller */ - - cd->nentry = nentry; - cd->size = cd->offset = 0; - cd->comment = NULL; - cd->comment_len = 0; - - return cd; -} - - - -int -_zip_cdir_write(struct zip_cdir *cd, FILE *fp, struct zip_error *error) -{ - int i; - - cd->offset = ftello(fp); - - for (i=0; inentry; i++) { - if (_zip_dirent_write(cd->entry+i, fp, 0, error) != 0) - return -1; - } - - cd->size = ftello(fp) - cd->offset; - - /* clearerr(fp); */ - fwrite(EOCD_MAGIC, 1, 4, fp); - _zip_write4(0, fp); - _zip_write2((unsigned short)cd->nentry, fp); - _zip_write2((unsigned short)cd->nentry, fp); - _zip_write4(cd->size, fp); - _zip_write4(cd->offset, fp); - _zip_write2(cd->comment_len, fp); - fwrite(cd->comment, 1, cd->comment_len, fp); - - if (ferror(fp)) { - _zip_error_set(error, ZIP_ER_WRITE, errno); - return -1; - } - - return 0; -} - - - -void -_zip_dirent_finalize(struct zip_dirent *zde) -{ - free(zde->filename); - zde->filename = NULL; - free(zde->extrafield); - zde->extrafield = NULL; - free(zde->comment); - zde->comment = NULL; -} - - - -void -_zip_dirent_init(struct zip_dirent *de) -{ - de->version_madeby = 0; - de->version_needed = 20; /* 2.0 */ - de->bitflags = 0; - de->comp_method = 0; - de->last_mod = 0; - de->crc = 0; - de->comp_size = 0; - de->uncomp_size = 0; - de->filename = NULL; - de->filename_len = 0; - de->extrafield = NULL; - de->extrafield_len = 0; - de->comment = NULL; - de->comment_len = 0; - de->disk_number = 0; - de->int_attrib = 0; - de->ext_attrib = 0; - de->offset = 0; -} - - - -/* _zip_dirent_read(zde, fp, bufp, left, localp, error): - Fills the zip directory entry zde. - - If bufp is non-NULL, data is taken from there and bufp is advanced - by the amount of data used; no more than left bytes are used. - Otherwise data is read from fp as needed. - - If localp != 0, it reads a local header instead of a central - directory entry. - - Returns 0 if successful. On error, error is filled in and -1 is - returned. -*/ - -int -_zip_dirent_read(struct zip_dirent *zde, FILE *fp, - unsigned char **bufp, unsigned int left, int localp, - struct zip_error *error) -{ - unsigned char buf[CDENTRYSIZE]; - unsigned char *cur; - unsigned short dostime, dosdate; - unsigned int size; - - if (localp) - size = LENTRYSIZE; - else - size = CDENTRYSIZE; - - if (bufp) { - /* use data from buffer */ - cur = *bufp; - if (left < size) { - _zip_error_set(error, ZIP_ER_NOZIP, 0); - return -1; - } - } - else { - /* read entry from disk */ - if ((fread(buf, 1, size, fp)version_madeby = _zip_read2(&cur); - else - zde->version_madeby = 0; - zde->version_needed = _zip_read2(&cur); - zde->bitflags = _zip_read2(&cur); - zde->comp_method = _zip_read2(&cur); - - /* convert to time_t */ - dostime = _zip_read2(&cur); - dosdate = _zip_read2(&cur); - zde->last_mod = _zip_d2u_time(dostime, dosdate); - - zde->crc = _zip_read4(&cur); - zde->comp_size = _zip_read4(&cur); - zde->uncomp_size = _zip_read4(&cur); - - zde->filename_len = _zip_read2(&cur); - zde->extrafield_len = _zip_read2(&cur); - - if (localp) { - zde->comment_len = 0; - zde->disk_number = 0; - zde->int_attrib = 0; - zde->ext_attrib = 0; - zde->offset = 0; - } else { - zde->comment_len = _zip_read2(&cur); - zde->disk_number = _zip_read2(&cur); - zde->int_attrib = _zip_read2(&cur); - zde->ext_attrib = _zip_read4(&cur); - zde->offset = _zip_read4(&cur); - } - - zde->filename = NULL; - zde->extrafield = NULL; - zde->comment = NULL; - - if (bufp) { - if (left < CDENTRYSIZE + (zde->filename_len+zde->extrafield_len - +zde->comment_len)) { - _zip_error_set(error, ZIP_ER_NOZIP, 0); - return -1; - } - - if (zde->filename_len) { - zde->filename = _zip_readstr(&cur, zde->filename_len, 1, error); - if (!zde->filename) - return -1; - } - - if (zde->extrafield_len) { - zde->extrafield = _zip_readstr(&cur, zde->extrafield_len, 0, - error); - if (!zde->extrafield) - return -1; - } - - if (zde->comment_len) { - zde->comment = _zip_readstr(&cur, zde->comment_len, 0, error); - if (!zde->comment) - return -1; - } - } - else { - if (zde->filename_len) { - zde->filename = _zip_readfpstr(fp, zde->filename_len, 1, error); - if (!zde->filename) - return -1; - } - - if (zde->extrafield_len) { - zde->extrafield = _zip_readfpstr(fp, zde->extrafield_len, 0, - error); - if (!zde->extrafield) - return -1; - } - - if (zde->comment_len) { - zde->comment = _zip_readfpstr(fp, zde->comment_len, 0, error); - if (!zde->comment) - return -1; - } - } - - if (bufp) - *bufp = cur; - - return 0; -} - - - -/* _zip_dirent_torrent_normalize(de); - Set values suitable for torrentzip. -*/ - -void -_zip_dirent_torrent_normalize(struct zip_dirent *de) -{ - static struct tm torrenttime; - static time_t last_mod = 0; - - if (last_mod == 0) { -#ifdef HAVE_STRUCT_TM_TM_ZONE - time_t now; - struct tm *l; -#endif - - torrenttime.tm_sec = 0; - torrenttime.tm_min = 32; - torrenttime.tm_hour = 23; - torrenttime.tm_mday = 24; - torrenttime.tm_mon = 11; - torrenttime.tm_year = 96; - torrenttime.tm_wday = 0; - torrenttime.tm_yday = 0; - torrenttime.tm_isdst = 0; - -#ifdef HAVE_STRUCT_TM_TM_ZONE - time(&now); - l = localtime(&now); - torrenttime.tm_gmtoff = l->tm_gmtoff; - torrenttime.tm_zone = l->tm_zone; -#endif - - last_mod = mktime(&torrenttime); - } - - de->version_madeby = 0; - de->version_needed = 20; /* 2.0 */ - de->bitflags = 2; /* maximum compression */ - de->comp_method = ZIP_CM_DEFLATE; - de->last_mod = last_mod; - - de->disk_number = 0; - de->int_attrib = 0; - de->ext_attrib = 0; - de->offset = 0; - - free(de->extrafield); - de->extrafield = NULL; - de->extrafield_len = 0; - free(de->comment); - de->comment = NULL; - de->comment_len = 0; -} - - - -/* _zip_dirent_write(zde, fp, localp, error): - Writes zip directory entry zde to file fp. - - If localp != 0, it writes a local header instead of a central - directory entry. - - Returns 0 if successful. On error, error is filled in and -1 is - returned. -*/ - -int -_zip_dirent_write(struct zip_dirent *zde, FILE *fp, int localp, - struct zip_error *error) -{ - unsigned short dostime, dosdate; - - fwrite(localp ? LOCAL_MAGIC : CENTRAL_MAGIC, 1, 4, fp); - - if (!localp) - _zip_write2(zde->version_madeby, fp); - _zip_write2(zde->version_needed, fp); - _zip_write2(zde->bitflags, fp); - _zip_write2(zde->comp_method, fp); - - _zip_u2d_time(zde->last_mod, &dostime, &dosdate); - _zip_write2(dostime, fp); - _zip_write2(dosdate, fp); - - _zip_write4(zde->crc, fp); - _zip_write4(zde->comp_size, fp); - _zip_write4(zde->uncomp_size, fp); - - _zip_write2(zde->filename_len, fp); - _zip_write2(zde->extrafield_len, fp); - - if (!localp) { - _zip_write2(zde->comment_len, fp); - _zip_write2(zde->disk_number, fp); - _zip_write2(zde->int_attrib, fp); - _zip_write4(zde->ext_attrib, fp); - _zip_write4(zde->offset, fp); - } - - if (zde->filename_len) - fwrite(zde->filename, 1, zde->filename_len, fp); - - if (zde->extrafield_len) - fwrite(zde->extrafield, 1, zde->extrafield_len, fp); - - if (!localp) { - if (zde->comment_len) - fwrite(zde->comment, 1, zde->comment_len, fp); - } - - if (ferror(fp)) { - _zip_error_set(error, ZIP_ER_WRITE, errno); - return -1; - } - - return 0; -} - - - -static time_t -_zip_d2u_time(int dtime, int ddate) -{ - struct tm *tm; - time_t now; - - now = time(NULL); - tm = localtime(&now); - /* let mktime decide if DST is in effect */ - tm->tm_isdst = -1; - - tm->tm_year = ((ddate>>9)&127) + 1980 - 1900; - tm->tm_mon = ((ddate>>5)&15) - 1; - tm->tm_mday = ddate&31; - - tm->tm_hour = (dtime>>11)&31; - tm->tm_min = (dtime>>5)&63; - tm->tm_sec = (dtime<<1)&62; - - return mktime(tm); -} - - - -unsigned short -_zip_read2(unsigned char **a) -{ - unsigned short ret; - - ret = (*a)[0]+((*a)[1]<<8); - *a += 2; - - return ret; -} - - - -unsigned int -_zip_read4(unsigned char **a) -{ - unsigned int ret; - - ret = ((((((*a)[3]<<8)+(*a)[2])<<8)+(*a)[1])<<8)+(*a)[0]; - *a += 4; - - return ret; -} - - - -static char * -_zip_readfpstr(FILE *fp, unsigned int len, int nulp, struct zip_error *error) -{ - char *r, *o; - - r = (char *)malloc(nulp ? len+1 : len); - if (!r) { - _zip_error_set(error, ZIP_ER_MEMORY, 0); - return NULL; - } - - if (fread(r, 1, len, fp)>8)&0xff, fp); - - return; -} - - - -static void -_zip_write4(unsigned int i, FILE *fp) -{ - putc(i&0xff, fp); - putc((i>>8)&0xff, fp); - putc((i>>16)&0xff, fp); - putc((i>>24)&0xff, fp); - - return; -} - - - -static void -_zip_u2d_time(time_t time, unsigned short *dtime, unsigned short *ddate) -{ - struct tm *tm; - - tm = localtime(&time); - *ddate = ((tm->tm_year+1900-1980)<<9) + ((tm->tm_mon+1)<<5) - + tm->tm_mday; - *dtime = ((tm->tm_hour)<<11) + ((tm->tm_min)<<5) - + ((tm->tm_sec)>>1); - - return; -} - - - -ZIP_EXTERN int -zip_delete(struct zip *za, int idx) -{ - if (idx < 0 || idx >= za->nentry) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - /* allow duplicate file names, because the file will - * be removed directly afterwards */ - if (_zip_unchange(za, idx, 1) != 0) - return -1; - - za->entry[idx].state = ZIP_ST_DELETED; - - return 0; -} - - - -ZIP_EXTERN void -zip_error_clear(struct zip *za) -{ - _zip_error_clear(&za->error); -} - - -ZIP_EXTERN int -zip_add(struct zip *za, const char *name, struct zip_source *source) -{ - if (name == NULL || source == NULL) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - return _zip_replace(za, -1, name, source); -} - - -ZIP_EXTERN int -zip_error_get_sys_type(int ze) -{ - if (ze < 0 || ze >= _zip_nerr_str) - return 0; - - return _zip_err_type[ze]; -} - - -ZIP_EXTERN void -zip_error_get(struct zip *za, int *zep, int *sep) -{ - _zip_error_get(&za->error, zep, sep); -} - - -const char * const _zip_err_str[] = { - "No error", - "Multi-disk zip archives not supported", - "Renaming temporary file failed", - "Closing zip archive failed", - "Seek error", - "Read error", - "Write error", - "CRC error", - "Containing zip archive was closed", - "No such file", - "File already exists", - "Can't open file", - "Failure to create temporary file", - "Zlib error", - "Malloc failure", - "Entry has been changed", - "Compression method not supported", - "Premature EOF", - "Invalid argument", - "Not a zip archive", - "Internal error", - "Zip archive inconsistent", - "Can't remove file", - "Entry has been deleted", -}; - -const int _zip_nerr_str = sizeof(_zip_err_str)/sizeof(_zip_err_str[0]); - -#define N ZIP_ET_NONE -#define S ZIP_ET_SYS -#define Z ZIP_ET_ZLIB - -const int _zip_err_type[] = { - N, - N, - S, - S, - S, - S, - S, - N, - N, - N, - N, - S, - S, - Z, - N, - N, - N, - N, - N, - N, - N, - N, - S, - N, -}; - - -struct zip_entry * -_zip_entry_new(struct zip *za) -{ - struct zip_entry *ze; - if (!za) { - ze = (struct zip_entry *)malloc(sizeof(struct zip_entry)); - if (!ze) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - } - else { - if (za->nentry >= za->nentry_alloc-1) { - za->nentry_alloc += 16; - za->entry = (struct zip_entry *)realloc(za->entry, - sizeof(struct zip_entry) - * za->nentry_alloc); - if (!za->entry) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - } - ze = za->entry+za->nentry; - } - - ze->state = ZIP_ST_UNCHANGED; - - ze->ch_filename = NULL; - ze->ch_comment = NULL; - ze->ch_comment_len = -1; - ze->source = NULL; - - if (za) - za->nentry++; - - return ze; -} - - -void -_zip_entry_free(struct zip_entry *ze) -{ - free(ze->ch_filename); - ze->ch_filename = NULL; - free(ze->ch_comment); - ze->ch_comment = NULL; - ze->ch_comment_len = -1; - - _zip_unchange_data(ze); -} - - -static int add_data(struct zip *, struct zip_source *, struct zip_dirent *, - FILE *); -static int add_data_comp(zip_source_callback, void *, struct zip_stat *, - FILE *, struct zip_error *); -static int add_data_uncomp(struct zip *, zip_source_callback, void *, - struct zip_stat *, FILE *); -static void ch_set_error(struct zip_error *, zip_source_callback, void *); -static int copy_data(FILE *, myoff_t, FILE *, struct zip_error *); -static int write_cdir(struct zip *, struct zip_cdir *, FILE *); -static int _zip_cdir_set_comment(struct zip_cdir *, struct zip *); -static int _zip_changed(struct zip *, int *); -static char *_zip_create_temp_output(struct zip *, FILE **); -static int _zip_torrentzip_cmp(const void *, const void *); - - - -struct filelist { - int idx; - const char *name; -}; - - - -ZIP_EXTERN int -zip_close(struct zip *za) -{ - int survivors; - int i, j, error; - char *temp; - FILE *out; - mode_t mask; - struct zip_cdir *cd; - struct zip_dirent de; - struct filelist *filelist; - int reopen_on_error; - int new_torrentzip; - - reopen_on_error = 0; - - if (za == NULL) - return -1; - - if (!_zip_changed(za, &survivors)) { - _zip_free(za); - return 0; - } - - /* don't create zip files with no entries */ - if (survivors == 0) { - if (za->zn && za->zp) { - if (remove(za->zn) != 0) { - _zip_error_set(&za->error, ZIP_ER_REMOVE, errno); - return -1; - } - } - _zip_free(za); - return 0; - } - - if ((filelist=(struct filelist *)malloc(sizeof(filelist[0])*survivors)) - == NULL) - return -1; - - if ((cd=_zip_cdir_new(survivors, &za->error)) == NULL) { - free(filelist); - return -1; - } - - for (i=0; ientry[i]); - - /* archive comment is special for torrentzip */ - if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0)) { - cd->comment = _zip_memdup(TORRENT_SIG "XXXXXXXX", - TORRENT_SIG_LEN + TORRENT_CRC_LEN, - &za->error); - if (cd->comment == NULL) { - _zip_cdir_free(cd); - free(filelist); - return -1; - } - cd->comment_len = TORRENT_SIG_LEN + TORRENT_CRC_LEN; - } - else if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, ZIP_FL_UNCHANGED) == 0) { - if (_zip_cdir_set_comment(cd, za) == -1) { - _zip_cdir_free(cd); - free(filelist); - return -1; - } - } - - if ((temp=_zip_create_temp_output(za, &out)) == NULL) { - _zip_cdir_free(cd); - return -1; - } - - - /* create list of files with index into original archive */ - for (i=j=0; inentry; i++) { - if (za->entry[i].state == ZIP_ST_DELETED) - continue; - - filelist[j].idx = i; - filelist[j].name = zip_get_name(za, i, 0); - j++; - } - if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0)) - qsort(filelist, survivors, sizeof(filelist[0]), - _zip_torrentzip_cmp); - - new_torrentzip = (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0) == 1 - && zip_get_archive_flag(za, ZIP_AFL_TORRENT, - ZIP_FL_UNCHANGED) == 0); - error = 0; - for (j=0; jentry+i) || new_torrentzip) { - _zip_dirent_init(&de); - - if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0)) - _zip_dirent_torrent_normalize(&de); - - /* use it as central directory entry */ - memcpy(cd->entry+j, &de, sizeof(cd->entry[j])); - - /* set/update file name */ - if (za->entry[i].ch_filename == NULL) { - if (za->entry[i].state == ZIP_ST_ADDED) { - de.filename = strdup("-"); - de.filename_len = 1; - cd->entry[j].filename = "-"; - } - else { - de.filename = strdup(za->cdir->entry[i].filename); - de.filename_len = strlen(de.filename); - cd->entry[j].filename = za->cdir->entry[i].filename; - cd->entry[j].filename_len = de.filename_len; - } - } - } - else { - /* copy existing directory entries */ - if (fseeko(za->zp, za->cdir->entry[i].offset, SEEK_SET) != 0) { - _zip_error_set(&za->error, ZIP_ER_SEEK, errno); - error = 1; - break; - } - if (_zip_dirent_read(&de, za->zp, NULL, 0, 1, &za->error) != 0) { - error = 1; - break; - } - if (de.bitflags & ZIP_GPBF_DATA_DESCRIPTOR) { - de.crc = za->cdir->entry[i].crc; - de.comp_size = za->cdir->entry[i].comp_size; - de.uncomp_size = za->cdir->entry[i].uncomp_size; - de.bitflags &= ~ZIP_GPBF_DATA_DESCRIPTOR; - } - memcpy(cd->entry+j, za->cdir->entry+i, sizeof(cd->entry[j])); - } - - if (za->entry[i].ch_filename) { - free(de.filename); - if ((de.filename=strdup(za->entry[i].ch_filename)) == NULL) { - error = 1; - break; - } - de.filename_len = strlen(de.filename); - cd->entry[j].filename = za->entry[i].ch_filename; - cd->entry[j].filename_len = de.filename_len; - } - - if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0) == 0 - && za->entry[i].ch_comment_len != -1) { - /* as the rest of cd entries, its malloc/free is done by za */ - cd->entry[j].comment = za->entry[i].ch_comment; - cd->entry[j].comment_len = za->entry[i].ch_comment_len; - } - - cd->entry[j].offset = ftello(out); - - if (ZIP_ENTRY_DATA_CHANGED(za->entry+i) || new_torrentzip) { - struct zip_source *zs; - - zs = NULL; - if (!ZIP_ENTRY_DATA_CHANGED(za->entry+i)) { - if ((zs=zip_source_zip(za, za, i, ZIP_FL_RECOMPRESS, 0, -1)) - == NULL) { - error = 1; - break; - } - } - - if (add_data(za, zs ? zs : za->entry[i].source, &de, out) < 0) { - error = 1; - break; - } - cd->entry[j].last_mod = de.last_mod; - cd->entry[j].comp_method = de.comp_method; - cd->entry[j].comp_size = de.comp_size; - cd->entry[j].uncomp_size = de.uncomp_size; - cd->entry[j].crc = de.crc; - } - else { - if (_zip_dirent_write(&de, out, 1, &za->error) < 0) { - error = 1; - break; - } - /* we just read the local dirent, file is at correct position */ - if (copy_data(za->zp, cd->entry[j].comp_size, out, - &za->error) < 0) { - error = 1; - break; - } - } - - _zip_dirent_finalize(&de); - } - - if (!error) { - if (write_cdir(za, cd, out) < 0) - error = 1; - } - - /* pointers in cd entries are owned by za */ - cd->nentry = 0; - _zip_cdir_free(cd); - - if (error) { - _zip_dirent_finalize(&de); - fclose(out); - remove(temp); - free(temp); - return -1; - } - - if (fclose(out) != 0) { - _zip_error_set(&za->error, ZIP_ER_CLOSE, errno); - remove(temp); - free(temp); - return -1; - } - - if (za->zp) { - fclose(za->zp); - za->zp = NULL; - reopen_on_error = 1; - } - if (_zip_rename(temp, za->zn) != 0) { - _zip_error_set(&za->error, ZIP_ER_RENAME, errno); - remove(temp); - free(temp); - if (reopen_on_error) { - /* ignore errors, since we're already in an error case */ - za->zp = fopen(za->zn, "rb"); - } - return -1; - } - mask = umask(0); - umask(mask); - chmod(za->zn, 0666&~mask); - - _zip_free(za); - free(temp); - - return 0; -} - - - -static int -add_data(struct zip *za, struct zip_source *zs, struct zip_dirent *de, FILE *ft) -{ - myoff_t offstart, offend; - zip_source_callback cb; - void *ud; - struct zip_stat st; - - cb = zs->f; - ud = zs->ud; - - if (cb(ud, &st, sizeof(st), ZIP_SOURCE_STAT) < (ssize_t)sizeof(st)) { - ch_set_error(&za->error, cb, ud); - return -1; - } - - if (cb(ud, NULL, 0, ZIP_SOURCE_OPEN) < 0) { - ch_set_error(&za->error, cb, ud); - return -1; - } - - offstart = ftello(ft); - - if (_zip_dirent_write(de, ft, 1, &za->error) < 0) - return -1; - - if (st.comp_method != ZIP_CM_STORE) { - if (add_data_comp(cb, ud, &st, ft, &za->error) < 0) - return -1; - } - else { - if (add_data_uncomp(za, cb, ud, &st, ft) < 0) - return -1; - } - - if (cb(ud, NULL, 0, ZIP_SOURCE_CLOSE) < 0) { - ch_set_error(&za->error, cb, ud); - return -1; - } - - offend = ftello(ft); - - if (fseeko(ft, offstart, SEEK_SET) < 0) { - _zip_error_set(&za->error, ZIP_ER_SEEK, errno); - return -1; - } - - - de->last_mod = st.mtime; - de->comp_method = st.comp_method; - de->crc = st.crc; - de->uncomp_size = st.size; - de->comp_size = st.comp_size; - - if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0)) - _zip_dirent_torrent_normalize(de); - - if (_zip_dirent_write(de, ft, 1, &za->error) < 0) - return -1; - - if (fseeko(ft, offend, SEEK_SET) < 0) { - _zip_error_set(&za->error, ZIP_ER_SEEK, errno); - return -1; - } - - return 0; -} - - - -static int -add_data_comp(zip_source_callback cb, void *ud, struct zip_stat *st,FILE *ft, - struct zip_error *error) -{ - char buf[BUFSIZE]; - ssize_t n; - - st->comp_size = 0; - while ((n=cb(ud, buf, sizeof(buf), ZIP_SOURCE_READ)) > 0) { - if (fwrite(buf, 1, n, ft) != (size_t)n) { - _zip_error_set(error, ZIP_ER_WRITE, errno); - return -1; - } - - st->comp_size += n; - } - if (n < 0) { - ch_set_error(error, cb, ud); - return -1; - } - - return 0; -} - - - -static int -add_data_uncomp(struct zip *za, zip_source_callback cb, void *ud, - struct zip_stat *st, FILE *ft) -{ - char b1[BUFSIZE], b2[BUFSIZE]; - int end, flush, ret; - ssize_t n; - size_t n2; - z_stream zstr; - int mem_level; - - st->comp_method = ZIP_CM_DEFLATE; - st->comp_size = st->size = 0; - st->crc = crc32(0, NULL, 0); - - zstr.zalloc = Z_NULL; - zstr.zfree = Z_NULL; - zstr.opaque = NULL; - zstr.avail_in = 0; - zstr.avail_out = 0; - - if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0)) - mem_level = TORRENT_MEM_LEVEL; - else - mem_level = MAX_MEM_LEVEL; - - /* -MAX_WBITS: undocumented feature of zlib to _not_ write a zlib header */ - deflateInit2(&zstr, Z_BEST_COMPRESSION, Z_DEFLATED, -MAX_WBITS, mem_level, - Z_DEFAULT_STRATEGY); - - zstr.next_out = (Bytef *)b2; - zstr.avail_out = sizeof(b2); - zstr.avail_in = 0; - - flush = 0; - end = 0; - while (!end) { - if (zstr.avail_in == 0 && !flush) { - if ((n=cb(ud, b1, sizeof(b1), ZIP_SOURCE_READ)) < 0) { - ch_set_error(&za->error, cb, ud); - deflateEnd(&zstr); - return -1; - } - if (n > 0) { - zstr.avail_in = n; - zstr.next_in = (Bytef *)b1; - st->size += n; - st->crc = crc32(st->crc, (Bytef *)b1, n); - } - else - flush = Z_FINISH; - } - - ret = deflate(&zstr, flush); - if (ret != Z_OK && ret != Z_STREAM_END) { - _zip_error_set(&za->error, ZIP_ER_ZLIB, ret); - return -1; - } - - if (zstr.avail_out != sizeof(b2)) { - n2 = sizeof(b2) - zstr.avail_out; - - if (fwrite(b2, 1, n2, ft) != n2) { - _zip_error_set(&za->error, ZIP_ER_WRITE, errno); - return -1; - } - - zstr.next_out = (Bytef *)b2; - zstr.avail_out = sizeof(b2); - st->comp_size += n2; - } - - if (ret == Z_STREAM_END) { - deflateEnd(&zstr); - end = 1; - } - } - - return 0; -} - - - -static void -ch_set_error(struct zip_error *error, zip_source_callback cb, void *ud) -{ - int e[2]; - - if ((cb(ud, e, sizeof(e), ZIP_SOURCE_ERROR)) < (ssize_t)sizeof(e)) { - error->zip_err = ZIP_ER_INTERNAL; - error->sys_err = 0; - } - else { - error->zip_err = e[0]; - error->sys_err = e[1]; - } -} - - - -static int -copy_data(FILE *fs, myoff_t len, FILE *ft, struct zip_error *error) -{ - char buf[BUFSIZE]; - int n, nn; - - if (len == 0) - return 0; - - while (len > 0) { - nn = len > sizeof(buf) ? sizeof(buf) : len; - if ((n=fread(buf, 1, nn, fs)) < 0) { - _zip_error_set(error, ZIP_ER_READ, errno); - return -1; - } - else if (n == 0) { - _zip_error_set(error, ZIP_ER_EOF, 0); - return -1; - } - - if (fwrite(buf, 1, n, ft) != (size_t)n) { - _zip_error_set(error, ZIP_ER_WRITE, errno); - return -1; - } - - len -= n; - } - - return 0; -} - - - -static int -write_cdir(struct zip *za, struct zip_cdir *cd, FILE *out) -{ - myoff_t offset; - uLong crc; - char buf[TORRENT_CRC_LEN+1]; - - if (_zip_cdir_write(cd, out, &za->error) < 0) - return -1; - - if (zip_get_archive_flag(za, ZIP_AFL_TORRENT, 0) == 0) - return 0; - - - /* fix up torrentzip comment */ - - offset = ftello(out); - - if (_zip_filerange_crc(out, cd->offset, cd->size, &crc, &za->error) < 0) - return -1; - - snprintf(buf, sizeof(buf), "%08lX", (long)crc); - - if (fseeko(out, offset-TORRENT_CRC_LEN, SEEK_SET) < 0) { - _zip_error_set(&za->error, ZIP_ER_SEEK, errno); - return -1; - } - - if (fwrite(buf, TORRENT_CRC_LEN, 1, out) != 1) { - _zip_error_set(&za->error, ZIP_ER_WRITE, errno); - return -1; - } - - return 0; -} - - - -static int -_zip_cdir_set_comment(struct zip_cdir *dest, struct zip *src) -{ - if (src->ch_comment_len != -1) { - dest->comment = _zip_memdup(src->ch_comment, - src->ch_comment_len, &src->error); - if (dest->comment == NULL) - return -1; - dest->comment_len = src->ch_comment_len; - } else { - if (src->cdir && src->cdir->comment) { - dest->comment = _zip_memdup(src->cdir->comment, - src->cdir->comment_len, &src->error); - if (dest->comment == NULL) - return -1; - dest->comment_len = src->cdir->comment_len; - } - } - - return 0; -} - - - -static int -_zip_changed(struct zip *za, int *survivorsp) -{ - int changed, i, survivors; - - changed = survivors = 0; - - if (za->ch_comment_len != -1 - || za->ch_flags != za->flags) - changed = 1; - - for (i=0; inentry; i++) { - if ((za->entry[i].state != ZIP_ST_UNCHANGED) - || (za->entry[i].ch_comment_len != -1)) - changed = 1; - if (za->entry[i].state != ZIP_ST_DELETED) - survivors++; - } - - *survivorsp = survivors; - - return changed; -} - - - -static char * -_zip_create_temp_output(struct zip *za, FILE **outp) -{ - char *temp; - int tfd; - FILE *tfp; - - if ((temp=(char *)malloc(strlen(za->zn)+8)) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - - sprintf(temp, "%s.XXXXXX", za->zn); - - if ((tfd=mkstemp(temp)) == -1) { - _zip_error_set(&za->error, ZIP_ER_TMPOPEN, errno); - free(temp); - return NULL; - } - - if ((tfp=fdopen(tfd, "r+b")) == NULL) { - _zip_error_set(&za->error, ZIP_ER_TMPOPEN, errno); - close(tfd); - remove(temp); - free(temp); - return NULL; - } - - *outp = tfp; - return temp; -} - - - -static int -_zip_torrentzip_cmp(const void *a, const void *b) -{ - return strcasecmp(((const struct filelist *)a)->name, - ((const struct filelist *)b)->name); -} - - - -ZIP_EXTERN int -zip_add_dir(struct zip *za, const char *name) -{ - int len, ret; - char *s; - struct zip_source *source; - - if (name == NULL) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - s = NULL; - len = strlen(name); - - if (name[len-1] != '/') { - if ((s=(char *)malloc(len+2)) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return -1; - } - strcpy(s, name); - s[len] = '/'; - s[len+1] = '\0'; - } - - if ((source=zip_source_buffer(za, NULL, 0, 0)) == NULL) { - free(s); - return -1; - } - - ret = _zip_replace(za, -1, s ? s : name, source); - - free(s); - if (ret < 0) - zip_source_free(source); - - return ret; -} - - -ZIP_EXTERN int -zip_error_to_str(char *buf, size_t len, int ze, int se) -{ - const char *zs, *ss; - - if (ze < 0 || ze >= _zip_nerr_str) - return snprintf(buf, len, "Unknown error %d", ze); - - zs = _zip_err_str[ze]; - - switch (_zip_err_type[ze]) { - case ZIP_ET_SYS: - ss = strerror(se); - break; - - case ZIP_ET_ZLIB: - ss = zError(se); - break; - - default: - ss = NULL; - } - - return snprintf(buf, len, "%s%s%s", - zs, (ss ? ": " : ""), (ss ? ss : "")); -} - - -ZIP_EXTERN void -zip_file_error_clear(struct zip_file *zf) -{ - _zip_error_clear(&zf->error); -} - - -ZIP_EXTERN int -zip_fclose(struct zip_file *zf) -{ - int i, ret; - - if (zf->zstr) - inflateEnd(zf->zstr); - free(zf->buffer); - free(zf->zstr); - - for (i=0; iza->nfile; i++) { - if (zf->za->file[i] == zf) { - zf->za->file[i] = zf->za->file[zf->za->nfile-1]; - zf->za->nfile--; - break; - } - } - - ret = 0; - if (zf->error.zip_err) - ret = zf->error.zip_err; - else if ((zf->flags & ZIP_ZF_CRC) && (zf->flags & ZIP_ZF_EOF)) { - /* if EOF, compare CRC */ - if (zf->crc_orig != zf->crc) - ret = ZIP_ER_CRC; - } - - free(zf); - return ret; -} - - -int -_zip_filerange_crc(FILE *fp, myoff_t start, myoff_t len, uLong *crcp, - struct zip_error *errp) -{ - Bytef buf[BUFSIZE]; - size_t n; - - *crcp = crc32(0L, Z_NULL, 0); - - if (fseeko(fp, start, SEEK_SET) != 0) { - _zip_error_set(errp, ZIP_ER_SEEK, errno); - return -1; - } - - while (len > 0) { - n = len > BUFSIZE ? BUFSIZE : len; - if ((n=fread(buf, 1, n, fp)) <= 0) { - _zip_error_set(errp, ZIP_ER_READ, errno); - return -1; - } - - *crcp = crc32(*crcp, buf, n); - - len-= n; - } - - return 0; -} - - -ZIP_EXTERN const char * -zip_file_strerror(struct zip_file *zf) -{ - return _zip_error_strerror(&zf->error); -} - - -/* _zip_file_get_offset(za, ze): - Returns the offset of the file data for entry ze. - - On error, fills in za->error and returns 0. -*/ - -unsigned int -_zip_file_get_offset(struct zip *za, int idx) -{ - struct zip_dirent de; - unsigned int offset; - - offset = za->cdir->entry[idx].offset; - - if (fseeko(za->zp, offset, SEEK_SET) != 0) { - _zip_error_set(&za->error, ZIP_ER_SEEK, errno); - return 0; - } - - if (_zip_dirent_read(&de, za->zp, NULL, 0, 1, &za->error) != 0) - return 0; - - offset += LENTRYSIZE + de.filename_len + de.extrafield_len; - - _zip_dirent_finalize(&de); - - return offset; -} - - -ZIP_EXTERN void -zip_file_error_get(struct zip_file *zf, int *zep, int *sep) -{ - _zip_error_get(&zf->error, zep, sep); -} - - -static struct zip_file *_zip_file_new(struct zip *za); - - - -ZIP_EXTERN struct zip_file * -zip_fopen_index(struct zip *za, int fileno, int flags) -{ - int len, ret; - int zfflags; - struct zip_file *zf; - - if ((fileno < 0) || (fileno >= za->nentry)) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - if ((flags & ZIP_FL_UNCHANGED) == 0 - && ZIP_ENTRY_DATA_CHANGED(za->entry+fileno)) { - _zip_error_set(&za->error, ZIP_ER_CHANGED, 0); - return NULL; - } - - if (fileno >= za->cdir->nentry) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - zfflags = 0; - switch (za->cdir->entry[fileno].comp_method) { - case ZIP_CM_STORE: - zfflags |= ZIP_ZF_CRC; - break; - - case ZIP_CM_DEFLATE: - if ((flags & ZIP_FL_COMPRESSED) == 0) - zfflags |= ZIP_ZF_CRC | ZIP_ZF_DECOMP; - break; - default: - if ((flags & ZIP_FL_COMPRESSED) == 0) { - _zip_error_set(&za->error, ZIP_ER_COMPNOTSUPP, 0); - return NULL; - } - break; - } - - zf = _zip_file_new(za); - - zf->flags = zfflags; - /* zf->name = za->cdir->entry[fileno].filename; */ - zf->method = za->cdir->entry[fileno].comp_method; - zf->bytes_left = za->cdir->entry[fileno].uncomp_size; - zf->cbytes_left = za->cdir->entry[fileno].comp_size; - zf->crc_orig = za->cdir->entry[fileno].crc; - - if ((zf->fpos=_zip_file_get_offset(za, fileno)) == 0) { - zip_fclose(zf); - return NULL; - } - - if ((zf->flags & ZIP_ZF_DECOMP) == 0) - zf->bytes_left = zf->cbytes_left; - else { - if ((zf->buffer=(char *)malloc(BUFSIZE)) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - zip_fclose(zf); - return NULL; - } - - len = _zip_file_fillbuf(zf->buffer, BUFSIZE, zf); - if (len <= 0) { - _zip_error_copy(&za->error, &zf->error); - zip_fclose(zf); - return NULL; - } - - if ((zf->zstr = (z_stream *)malloc(sizeof(z_stream))) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - zip_fclose(zf); - return NULL; - } - zf->zstr->zalloc = Z_NULL; - zf->zstr->zfree = Z_NULL; - zf->zstr->opaque = NULL; - zf->zstr->next_in = (Bytef *)zf->buffer; - zf->zstr->avail_in = len; - - /* negative value to tell zlib that there is no header */ - if ((ret=inflateInit2(zf->zstr, -MAX_WBITS)) != Z_OK) { - _zip_error_set(&za->error, ZIP_ER_ZLIB, ret); - zip_fclose(zf); - return NULL; - } - } - - return zf; -} - - - -int -_zip_file_fillbuf(void *buf, size_t buflen, struct zip_file *zf) -{ - int i, j; - - if (zf->error.zip_err != ZIP_ER_OK) - return -1; - - if ((zf->flags & ZIP_ZF_EOF) || zf->cbytes_left <= 0 || buflen <= 0) - return 0; - - if (fseeko(zf->za->zp, zf->fpos, SEEK_SET) < 0) { - _zip_error_set(&zf->error, ZIP_ER_SEEK, errno); - return -1; - } - if (buflen < zf->cbytes_left) - i = buflen; - else - i = zf->cbytes_left; - - j = fread(buf, 1, i, zf->za->zp); - if (j == 0) { - _zip_error_set(&zf->error, ZIP_ER_EOF, 0); - j = -1; - } - else if (j < 0) - _zip_error_set(&zf->error, ZIP_ER_READ, errno); - else { - zf->fpos += j; - zf->cbytes_left -= j; - } - - return j; -} - - - -static struct zip_file * -_zip_file_new(struct zip *za) -{ - struct zip_file *zf, **file; - int n; - - if ((zf=(struct zip_file *)malloc(sizeof(struct zip_file))) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - - if (za->nfile >= za->nfile_alloc-1) { - n = za->nfile_alloc + 10; - file = (struct zip_file **)realloc(za->file, - n*sizeof(struct zip_file *)); - if (file == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - free(zf); - return NULL; - } - za->nfile_alloc = n; - za->file = file; - } - - za->file[za->nfile++] = zf; - - zf->za = za; - _zip_error_init(&zf->error); - zf->flags = 0; - zf->crc = crc32(0L, Z_NULL, 0); - zf->crc_orig = 0; - zf->method = -1; - zf->bytes_left = zf->cbytes_left = 0; - zf->fpos = 0; - zf->buffer = NULL; - zf->zstr = NULL; - - return zf; -} - - -ZIP_EXTERN struct zip_file * -zip_fopen(struct zip *za, const char *fname, int flags) -{ - int idx; - - if ((idx=zip_name_locate(za, fname, flags)) < 0) - return NULL; - - return zip_fopen_index(za, idx, flags); -} - - -ZIP_EXTERN int -zip_set_file_comment(struct zip *za, int idx, const char *comment, int len) -{ - char *tmpcom; - - if (idx < 0 || idx >= za->nentry - || len < 0 || len > MAXCOMLEN - || (len > 0 && comment == NULL)) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if (len > 0) { - if ((tmpcom=(char *)_zip_memdup(comment, len, &za->error)) == NULL) - return -1; - } - else - tmpcom = NULL; - - free(za->entry[idx].ch_comment); - za->entry[idx].ch_comment = tmpcom; - za->entry[idx].ch_comment_len = len; - - return 0; -} - - -ZIP_EXTERN struct zip_source * -zip_source_file(struct zip *za, const char *fname, myoff_t start, myoff_t len) -{ - if (za == NULL) - return NULL; - - if (fname == NULL || start < 0 || len < -1) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - return _zip_source_file_or_p(za, fname, NULL, start, len); -} - - -struct read_data { - const char *buf, *data, *end; - time_t mtime; - int freep; -}; - -static ssize_t read_data(void *state, void *data, size_t len, - enum zip_source_cmd cmd); - - - -ZIP_EXTERN struct zip_source * -zip_source_buffer(struct zip *za, const void *data, myoff_t len, int freep) -{ - struct read_data *f; - struct zip_source *zs; - - if (za == NULL) - return NULL; - - if (len < 0 || (data == NULL && len > 0)) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - if ((f=(struct read_data *)malloc(sizeof(*f))) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - - f->data = (const char *)data; - f->end = ((const char *)data)+len; - f->freep = freep; - f->mtime = time(NULL); - - if ((zs=zip_source_function(za, read_data, f)) == NULL) { - free(f); - return NULL; - } - - return zs; -} - - - -static ssize_t -read_data(void *state, void *data, size_t len, enum zip_source_cmd cmd) -{ - struct read_data *z; - char *buf; - size_t n; - - z = (struct read_data *)state; - buf = (char *)data; - - switch (cmd) { - case ZIP_SOURCE_OPEN: - z->buf = z->data; - return 0; - - case ZIP_SOURCE_READ: - n = z->end - z->buf; - if (n > len) - n = len; - - if (n) { - memcpy(buf, z->buf, n); - z->buf += n; - } - - return n; - - case ZIP_SOURCE_CLOSE: - return 0; - - case ZIP_SOURCE_STAT: - { - struct zip_stat *st; - - if (len < sizeof(*st)) - return -1; - - st = (struct zip_stat *)data; - - zip_stat_init(st); - st->mtime = z->mtime; - st->size = z->end - z->data; - - return sizeof(*st); - } - - case ZIP_SOURCE_ERROR: - { - int *e; - - if (len < sizeof(int)*2) - return -1; - - e = (int *)data; - e[0] = e[1] = 0; - } - return sizeof(int)*2; - - case ZIP_SOURCE_FREE: - if (z->freep) { - free((void *)z->data); - z->data = NULL; - } - free(z); - return 0; - - default: - ; - } - - return -1; -} - - -int -_zip_set_name(struct zip *za, int idx, const char *name) -{ - char *s; - int i; - - if (idx < 0 || idx >= za->nentry || name == NULL) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if ((i=_zip_name_locate(za, name, 0, NULL)) != -1 && i != idx) { - _zip_error_set(&za->error, ZIP_ER_EXISTS, 0); - return -1; - } - - /* no effective name change */ - if (i == idx) - return 0; - - if ((s=strdup(name)) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return -1; - } - - if (za->entry[idx].state == ZIP_ST_UNCHANGED) - za->entry[idx].state = ZIP_ST_RENAMED; - - free(za->entry[idx].ch_filename); - za->entry[idx].ch_filename = s; - - return 0; -} - - -ZIP_EXTERN int -zip_set_archive_flag(struct zip *za, int flag, int value) -{ - if (value) - za->ch_flags |= flag; - else - za->ch_flags &= ~flag; - - return 0; -} - - -void -_zip_unchange_data(struct zip_entry *ze) -{ - if (ze->source) { - (void)ze->source->f(ze->source->ud, NULL, 0, ZIP_SOURCE_FREE); - free(ze->source); - ze->source = NULL; - } - - ze->state = ze->ch_filename ? ZIP_ST_RENAMED : ZIP_ST_UNCHANGED; -} - - -ZIP_EXTERN int -zip_unchange_archive(struct zip *za) -{ - free(za->ch_comment); - za->ch_comment = NULL; - za->ch_comment_len = -1; - - za->ch_flags = za->flags; - - return 0; -} - -ZIP_EXTERN int -zip_unchange(struct zip *za, int idx) -{ - return _zip_unchange(za, idx, 0); -} - - - -int -_zip_unchange(struct zip *za, int idx, int allow_duplicates) -{ - int i; - - if (idx < 0 || idx >= za->nentry) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if (za->entry[idx].ch_filename) { - if (!allow_duplicates) { - i = _zip_name_locate(za, - _zip_get_name(za, idx, ZIP_FL_UNCHANGED, NULL), - 0, NULL); - if (i != -1 && i != idx) { - _zip_error_set(&za->error, ZIP_ER_EXISTS, 0); - return -1; - } - } - - free(za->entry[idx].ch_filename); - za->entry[idx].ch_filename = NULL; - } - - free(za->entry[idx].ch_comment); - za->entry[idx].ch_comment = NULL; - za->entry[idx].ch_comment_len = -1; - - _zip_unchange_data(za->entry+idx); - - return 0; -} - -ZIP_EXTERN int -zip_unchange_all(struct zip *za) -{ - int ret, i; - - ret = 0; - for (i=0; inentry; i++) - ret |= _zip_unchange(za, i, 1); - - ret |= zip_unchange_archive(za); - - return ret; -} - - -ZIP_EXTERN int -zip_set_archive_comment(struct zip *za, const char *comment, int len) -{ - char *tmpcom; - - if (len < 0 || len > MAXCOMLEN - || (len > 0 && comment == NULL)) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if (len > 0) { - if ((tmpcom=(char *)_zip_memdup(comment, len, &za->error)) == NULL) - return -1; - } - else - tmpcom = NULL; - - free(za->ch_comment); - za->ch_comment = tmpcom; - za->ch_comment_len = len; - - return 0; -} - - -ZIP_EXTERN int -zip_replace(struct zip *za, int idx, struct zip_source *source) -{ - if (idx < 0 || idx >= za->nentry || source == NULL) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if (_zip_replace(za, idx, NULL, source) == -1) - return -1; - - return 0; -} - - - - -int -_zip_replace(struct zip *za, int idx, const char *name, - struct zip_source *source) -{ - if (idx == -1) { - if (_zip_entry_new(za) == NULL) - return -1; - - idx = za->nentry - 1; - } - - _zip_unchange_data(za->entry+idx); - - if (name && _zip_set_name(za, idx, name) != 0) - return -1; - - za->entry[idx].state = ((za->cdir == NULL || idx >= za->cdir->nentry) - ? ZIP_ST_ADDED : ZIP_ST_REPLACED); - za->entry[idx].source = source; - - return idx; -} - - -ZIP_EXTERN int -zip_rename(struct zip *za, int idx, const char *name) -{ - const char *old_name; - int old_is_dir, new_is_dir; - - if (idx >= za->nentry || idx < 0 || name[0] == '\0') { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if ((old_name=zip_get_name(za, idx, 0)) == NULL) - return -1; - - new_is_dir = (name[strlen(name)-1] == '/'); - old_is_dir = (old_name[strlen(old_name)-1] == '/'); - - if (new_is_dir != old_is_dir) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - return _zip_set_name(za, idx, name); -} - -#include -#include -#include -#include -#include -#include - -static void set_error(int *, struct zip_error *, int); -static struct zip *_zip_allocate_new(const char *, int *); -static int _zip_checkcons(FILE *, struct zip_cdir *, struct zip_error *); -static void _zip_check_torrentzip(struct zip *); -static struct zip_cdir *_zip_find_central_dir(FILE *, int, int *, myoff_t); -static int _zip_file_exists(const char *, int, int *); -static int _zip_headercomp(struct zip_dirent *, int, - struct zip_dirent *, int); -static unsigned char *_zip_memmem(const unsigned char *, int, - const unsigned char *, int); -static struct zip_cdir *_zip_readcdir(FILE *, unsigned char *, unsigned char *, - int, int, struct zip_error *); - - - -ZIP_EXTERN struct zip * -zip_open(const char *fn, int flags, int *zep) -{ - FILE *fp; - struct zip *za; - struct zip_cdir *cdir; - int i; - myoff_t len; - - switch (_zip_file_exists(fn, flags, zep)) { - case -1: - return NULL; - case 0: - return _zip_allocate_new(fn, zep); - default: - break; - } - - if ((fp=fopen(fn, "rb")) == NULL) { - set_error(zep, NULL, ZIP_ER_OPEN); - return NULL; - } - - fseeko(fp, 0, SEEK_END); - len = ftello(fp); - - /* treat empty files as empty archives */ - if (len == 0) { - if ((za=_zip_allocate_new(fn, zep)) == NULL) - fclose(fp); - else - za->zp = fp; - return za; - } - - cdir = _zip_find_central_dir(fp, flags, zep, len); - if (cdir == NULL) { - fclose(fp); - return NULL; - } - - if ((za=_zip_allocate_new(fn, zep)) == NULL) { - _zip_cdir_free(cdir); - fclose(fp); - return NULL; - } - - za->cdir = cdir; - za->zp = fp; - - if ((za->entry=(struct zip_entry *)malloc(sizeof(*(za->entry)) - * cdir->nentry)) == NULL) { - set_error(zep, NULL, ZIP_ER_MEMORY); - _zip_free(za); - return NULL; - } - for (i=0; inentry; i++) - _zip_entry_new(za); - - _zip_check_torrentzip(za); - za->ch_flags = za->flags; - - return za; -} - - - -static void -set_error(int *zep, struct zip_error *err, int ze) -{ - int se; - - if (err) { - _zip_error_get(err, &ze, &se); - if (zip_error_get_sys_type(ze) == ZIP_ET_SYS) - errno = se; - } - - if (zep) - *zep = ze; -} - - - -/* _zip_readcdir: - tries to find a valid end-of-central-directory at the beginning of - buf, and then the corresponding central directory entries. - Returns a struct zip_cdir which contains the central directory - entries, or NULL if unsuccessful. */ - -static struct zip_cdir * -_zip_readcdir(FILE *fp, unsigned char *buf, unsigned char *eocd, int buflen, - int flags, struct zip_error *error) -{ - struct zip_cdir *cd; - unsigned char *cdp, **bufp; - int i, comlen, nentry; - - comlen = buf + buflen - eocd - EOCDLEN; - if (comlen < 0) { - /* not enough bytes left for comment */ - _zip_error_set(error, ZIP_ER_NOZIP, 0); - return NULL; - } - - /* check for end-of-central-dir magic */ - if (memcmp(eocd, EOCD_MAGIC, 4) != 0) { - _zip_error_set(error, ZIP_ER_NOZIP, 0); - return NULL; - } - - if (memcmp(eocd+4, "\0\0\0\0", 4) != 0) { - _zip_error_set(error, ZIP_ER_MULTIDISK, 0); - return NULL; - } - - cdp = eocd + 8; - /* number of cdir-entries on this disk */ - i = _zip_read2(&cdp); - /* number of cdir-entries */ - nentry = _zip_read2(&cdp); - - if ((cd=_zip_cdir_new(nentry, error)) == NULL) - return NULL; - - cd->size = _zip_read4(&cdp); - cd->offset = _zip_read4(&cdp); - cd->comment = NULL; - cd->comment_len = _zip_read2(&cdp); - - if ((comlen < cd->comment_len) || (cd->nentry != i)) { - _zip_error_set(error, ZIP_ER_NOZIP, 0); - free(cd); - return NULL; - } - if ((flags & ZIP_CHECKCONS) && comlen != cd->comment_len) { - _zip_error_set(error, ZIP_ER_INCONS, 0); - free(cd); - return NULL; - } - - if (cd->comment_len) { - if ((cd->comment=(char *)_zip_memdup(eocd+EOCDLEN, - cd->comment_len, error)) - == NULL) { - free(cd); - return NULL; - } - } - - cdp = eocd; - if (cd->size < (unsigned int)(eocd-buf)) { - /* if buffer already read in, use it */ - cdp = eocd - cd->size; - bufp = &cdp; - } - else { - /* go to start of cdir and read it entry by entry */ - bufp = NULL; - clearerr(fp); - fseeko(fp, cd->offset, SEEK_SET); - /* possible consistency check: cd->offset = - len-(cd->size+cd->comment_len+EOCDLEN) ? */ - if (ferror(fp) || ((unsigned long)ftello(fp) != cd->offset)) { - /* seek error or offset of cdir wrong */ - if (ferror(fp)) - _zip_error_set(error, ZIP_ER_SEEK, errno); - else - _zip_error_set(error, ZIP_ER_NOZIP, 0); - free(cd); - return NULL; - } - } - - for (i=0; inentry; i++) { - if ((_zip_dirent_read(cd->entry+i, fp, bufp, eocd-cdp, 0, - error)) < 0) { - cd->nentry = i; - _zip_cdir_free(cd); - return NULL; - } - } - - return cd; -} - - - -/* _zip_checkcons: - Checks the consistency of the central directory by comparing central - directory entries with local headers and checking for plausible - file and header offsets. Returns -1 if not plausible, else the - difference between the lowest and the highest fileposition reached */ - -static int -_zip_checkcons(FILE *fp, struct zip_cdir *cd, struct zip_error *error) -{ - int i; - unsigned int min, max, j; - struct zip_dirent temp; - - if (cd->nentry) { - max = cd->entry[0].offset; - min = cd->entry[0].offset; - } - else - min = max = 0; - - for (i=0; inentry; i++) { - if (cd->entry[i].offset < min) - min = cd->entry[i].offset; - if (min > cd->offset) { - _zip_error_set(error, ZIP_ER_NOZIP, 0); - return -1; - } - - j = cd->entry[i].offset + cd->entry[i].comp_size - + cd->entry[i].filename_len + LENTRYSIZE; - if (j > max) - max = j; - if (max > cd->offset) { - _zip_error_set(error, ZIP_ER_NOZIP, 0); - return -1; - } - - if (fseeko(fp, cd->entry[i].offset, SEEK_SET) != 0) { - _zip_error_set(error, ZIP_ER_SEEK, 0); - return -1; - } - - if (_zip_dirent_read(&temp, fp, NULL, 0, 1, error) == -1) - return -1; - - if (_zip_headercomp(cd->entry+i, 0, &temp, 1) != 0) { - _zip_error_set(error, ZIP_ER_INCONS, 0); - _zip_dirent_finalize(&temp); - return -1; - } - _zip_dirent_finalize(&temp); - } - - return max - min; -} - - - -/* _zip_check_torrentzip: - check wether ZA has a valid TORRENTZIP comment, i.e. is torrentzipped */ - -static void -_zip_check_torrentzip(struct zip *za) -{ - uLong crc_got, crc_should; - char buf[8+1]; - char *end; - - if (za->zp == NULL || za->cdir == NULL) - return; - - if (za->cdir->comment_len != TORRENT_SIG_LEN+8 - || strncmp(za->cdir->comment, TORRENT_SIG, TORRENT_SIG_LEN) != 0) - return; - - memcpy(buf, za->cdir->comment+TORRENT_SIG_LEN, 8); - buf[8] = '\0'; - errno = 0; - crc_should = strtoul(buf, &end, 16); - if ((crc_should == UINT_MAX && errno != 0) || (end && *end)) - return; - - if (_zip_filerange_crc(za->zp, za->cdir->offset, za->cdir->size, - &crc_got, NULL) < 0) - return; - - if (crc_got == crc_should) - za->flags |= ZIP_AFL_TORRENT; -} - - - - -/* _zip_headercomp: - compares two headers h1 and h2; if they are local headers, set - local1p or local2p respectively to 1, else 0. Return 0 if they - are identical, -1 if not. */ - -static int -_zip_headercomp(struct zip_dirent *h1, int local1p, struct zip_dirent *h2, - int local2p) -{ - if ((h1->version_needed != h2->version_needed) -#if 0 - /* some zip-files have different values in local - and global headers for the bitflags */ - || (h1->bitflags != h2->bitflags) -#endif - || (h1->comp_method != h2->comp_method) - || (h1->last_mod != h2->last_mod) - || (h1->filename_len != h2->filename_len) - || !h1->filename || !h2->filename - || strcmp(h1->filename, h2->filename)) - return -1; - - /* check that CRC and sizes are zero if data descriptor is used */ - if ((h1->bitflags & ZIP_GPBF_DATA_DESCRIPTOR) && local1p - && (h1->crc != 0 - || h1->comp_size != 0 - || h1->uncomp_size != 0)) - return -1; - if ((h2->bitflags & ZIP_GPBF_DATA_DESCRIPTOR) && local2p - && (h2->crc != 0 - || h2->comp_size != 0 - || h2->uncomp_size != 0)) - return -1; - - /* check that CRC and sizes are equal if no data descriptor is used */ - if (((h1->bitflags & ZIP_GPBF_DATA_DESCRIPTOR) == 0 || local1p == 0) - && ((h2->bitflags & ZIP_GPBF_DATA_DESCRIPTOR) == 0 || local2p == 0)) { - if ((h1->crc != h2->crc) - || (h1->comp_size != h2->comp_size) - || (h1->uncomp_size != h2->uncomp_size)) - return -1; - } - - if ((local1p == local2p) - && ((h1->extrafield_len != h2->extrafield_len) - || (h1->extrafield_len && h2->extrafield - && memcmp(h1->extrafield, h2->extrafield, - h1->extrafield_len)))) - return -1; - - /* if either is local, nothing more to check */ - if (local1p || local2p) - return 0; - - if ((h1->version_madeby != h2->version_madeby) - || (h1->disk_number != h2->disk_number) - || (h1->int_attrib != h2->int_attrib) - || (h1->ext_attrib != h2->ext_attrib) - || (h1->offset != h2->offset) - || (h1->comment_len != h2->comment_len) - || (h1->comment_len && h2->comment - && memcmp(h1->comment, h2->comment, h1->comment_len))) - return -1; - - return 0; -} - - - -static struct zip * -_zip_allocate_new(const char *fn, int *zep) -{ - struct zip *za; - struct zip_error error; - - if ((za=_zip_new(&error)) == NULL) { - set_error(zep, &error, 0); - return NULL; - } - - za->zn = strdup(fn); - if (!za->zn) { - _zip_free(za); - set_error(zep, NULL, ZIP_ER_MEMORY); - return NULL; - } - return za; -} - - - -static int -_zip_file_exists(const char *fn, int flags, int *zep) -{ - struct stat st; - - if (fn == NULL) { - set_error(zep, NULL, ZIP_ER_INVAL); - return -1; - } - - if (stat(fn, &st) != 0) { - if (flags & ZIP_CREATE) - return 0; - else { - set_error(zep, NULL, ZIP_ER_OPEN); - return -1; - } - } - else if ((flags & ZIP_EXCL)) { - set_error(zep, NULL, ZIP_ER_EXISTS); - return -1; - } - /* ZIP_CREATE gets ignored if file exists and not ZIP_EXCL, - just like open() */ - - return 1; -} - - - -static struct zip_cdir * -_zip_find_central_dir(FILE *fp, int flags, int *zep, myoff_t len) -{ - struct zip_cdir *cdir, *cdirnew; - unsigned char *buf, *match; - int a, best, buflen, i; - struct zip_error zerr; - - i = fseeko(fp, -(len < CDBUFSIZE ? len : CDBUFSIZE), SEEK_END); - if (i == -1 && errno != EFBIG) { - /* seek before start of file on my machine */ - set_error(zep, NULL, ZIP_ER_SEEK); - return NULL; - } - - /* 64k is too much for stack */ - if ((buf=(unsigned char *)malloc(CDBUFSIZE)) == NULL) { - set_error(zep, NULL, ZIP_ER_MEMORY); - return NULL; - } - - clearerr(fp); - buflen = fread(buf, 1, CDBUFSIZE, fp); - - if (ferror(fp)) { - set_error(zep, NULL, ZIP_ER_READ); - free(buf); - return NULL; - } - - best = -1; - cdir = NULL; - match = buf; - _zip_error_set(&zerr, ZIP_ER_NOZIP, 0); - - while ((match=_zip_memmem(match, buflen-(match-buf)-18, - (const unsigned char *)EOCD_MAGIC, 4))!=NULL) { - /* found match -- check, if good */ - /* to avoid finding the same match all over again */ - match++; - if ((cdirnew=_zip_readcdir(fp, buf, match-1, buflen, flags, - &zerr)) == NULL) - continue; - - if (cdir) { - if (best <= 0) - best = _zip_checkcons(fp, cdir, &zerr); - a = _zip_checkcons(fp, cdirnew, &zerr); - if (best < a) { - _zip_cdir_free(cdir); - cdir = cdirnew; - best = a; - } - else - _zip_cdir_free(cdirnew); - } - else { - cdir = cdirnew; - if (flags & ZIP_CHECKCONS) - best = _zip_checkcons(fp, cdir, &zerr); - else - best = 0; - } - cdirnew = NULL; - } - - free(buf); - - if (best < 0) { - set_error(zep, &zerr, 0); - _zip_cdir_free(cdir); - return NULL; - } - - return cdir; -} - - - -static unsigned char * -_zip_memmem(const unsigned char *big, int biglen, const unsigned char *little, - int littlelen) -{ - const unsigned char *p; - - if ((biglen < littlelen) || (littlelen == 0)) - return NULL; - p = big-1; - while ((p=(const unsigned char *) - memchr(p+1, little[0], (size_t)(big-(p+1)+biglen-littlelen+1))) - != NULL) { - if (memcmp(p+1, little+1, littlelen-1)==0) - return (unsigned char *)p; - } - - return NULL; -} - - -/* _zip_new: - creates a new zipfile struct, and sets the contents to zero; returns - the new struct. */ - -struct zip * -_zip_new(struct zip_error *error) -{ - struct zip *za; - - za = (struct zip *)malloc(sizeof(struct zip)); - if (!za) { - _zip_error_set(error, ZIP_ER_MEMORY, 0); - return NULL; - } - - za->zn = NULL; - za->zp = NULL; - _zip_error_init(&za->error); - za->cdir = NULL; - za->ch_comment = NULL; - za->ch_comment_len = -1; - za->nentry = za->nentry_alloc = 0; - za->entry = NULL; - za->nfile = za->nfile_alloc = 0; - za->file = NULL; - za->flags = za->ch_flags = 0; - - return za; -} - - -void * -_zip_memdup(const void *mem, size_t len, struct zip_error *error) -{ - void *ret; - - ret = malloc(len); - if (!ret) { - _zip_error_set(error, ZIP_ER_MEMORY, 0); - return NULL; - } - - memcpy(ret, mem, len); - - return ret; -} - - -ZIP_EXTERN int -zip_get_num_files(struct zip *za) -{ - if (za == NULL) - return -1; - - return za->nentry; -} - -ZIP_EXTERN const char * -zip_get_name(struct zip *za, int idx, int flags) -{ - return _zip_get_name(za, idx, flags, &za->error); -} - - - -const char * -_zip_get_name(struct zip *za, int idx, int flags, struct zip_error *error) -{ - if (idx < 0 || idx >= za->nentry) { - _zip_error_set(error, ZIP_ER_INVAL, 0); - return NULL; - } - - if ((flags & ZIP_FL_UNCHANGED) == 0) { - if (za->entry[idx].state == ZIP_ST_DELETED) { - _zip_error_set(error, ZIP_ER_DELETED, 0); - return NULL; - } - if (za->entry[idx].ch_filename) - return za->entry[idx].ch_filename; - } - - if (za->cdir == NULL || idx >= za->cdir->nentry) { - _zip_error_set(error, ZIP_ER_INVAL, 0); - return NULL; - } - - return za->cdir->entry[idx].filename; -} - - -ZIP_EXTERN const char * -zip_get_file_comment(struct zip *za, int idx, int *lenp, int flags) -{ - if (idx < 0 || idx >= za->nentry) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - if ((flags & ZIP_FL_UNCHANGED) - || (za->entry[idx].ch_comment_len == -1)) { - if (lenp != NULL) - *lenp = za->cdir->entry[idx].comment_len; - return za->cdir->entry[idx].comment; - } - - if (lenp != NULL) - *lenp = za->entry[idx].ch_comment_len; - return za->entry[idx].ch_comment; -} - - -ZIP_EXTERN int -zip_get_archive_flag(struct zip *za, int flag, int flags) -{ - int fl; - - fl = (flags & ZIP_FL_UNCHANGED) ? za->flags : za->ch_flags; - - return (fl & flag) ? 1 : 0; -} - - -ZIP_EXTERN const char * -zip_get_archive_comment(struct zip *za, int *lenp, int flags) -{ - if ((flags & ZIP_FL_UNCHANGED) - || (za->ch_comment_len == -1)) { - if (za->cdir) { - if (lenp != NULL) - *lenp = za->cdir->comment_len; - return za->cdir->comment; - } - else { - if (lenp != NULL) - *lenp = -1; - return NULL; - } - } - - if (lenp != NULL) - *lenp = za->ch_comment_len; - return za->ch_comment; -} - - -/* _zip_free: - frees the space allocated to a zipfile struct, and closes the - corresponding file. */ - -void -_zip_free(struct zip *za) -{ - int i; - - if (za == NULL) - return; - - if (za->zn) - free(za->zn); - - if (za->zp) - fclose(za->zp); - - _zip_cdir_free(za->cdir); - - if (za->entry) { - for (i=0; inentry; i++) { - _zip_entry_free(za->entry+i); - } - free(za->entry); - } - - for (i=0; infile; i++) { - if (za->file[i]->error.zip_err == ZIP_ER_OK) { - _zip_error_set(&za->file[i]->error, ZIP_ER_ZIPCLOSED, 0); - za->file[i]->za = NULL; - } - } - - free(za->file); - - free(za); - - return; -} - - -ZIP_EXTERN ssize_t -zip_fread(struct zip_file *zf, void *outbuf, size_t toread) -{ - int ret; - size_t out_before, len; - int i; - - if (!zf) - return -1; - - if (zf->error.zip_err != 0) - return -1; - - if ((zf->flags & ZIP_ZF_EOF) || (toread == 0)) - return 0; - - if (zf->bytes_left == 0) { - zf->flags |= ZIP_ZF_EOF; - if (zf->flags & ZIP_ZF_CRC) { - if (zf->crc != zf->crc_orig) { - _zip_error_set(&zf->error, ZIP_ER_CRC, 0); - return -1; - } - } - return 0; - } - - if ((zf->flags & ZIP_ZF_DECOMP) == 0) { - ret = _zip_file_fillbuf(outbuf, toread, zf); - if (ret > 0) { - if (zf->flags & ZIP_ZF_CRC) - zf->crc = crc32(zf->crc, (Bytef *)outbuf, ret); - zf->bytes_left -= ret; - } - return ret; - } - - zf->zstr->next_out = (Bytef *)outbuf; - zf->zstr->avail_out = toread; - out_before = zf->zstr->total_out; - - /* endless loop until something has been accomplished */ - for (;;) { - ret = inflate(zf->zstr, Z_SYNC_FLUSH); - - switch (ret) { - case Z_OK: - case Z_STREAM_END: - /* all ok */ - /* Z_STREAM_END probably won't happen, since we didn't - have a header */ - len = zf->zstr->total_out - out_before; - if (len >= zf->bytes_left || len >= toread) { - if (zf->flags & ZIP_ZF_CRC) - zf->crc = crc32(zf->crc, (Bytef *)outbuf, len); - zf->bytes_left -= len; - return len; - } - break; - - case Z_BUF_ERROR: - if (zf->zstr->avail_in == 0) { - i = _zip_file_fillbuf(zf->buffer, BUFSIZE, zf); - if (i == 0) { - _zip_error_set(&zf->error, ZIP_ER_INCONS, 0); - return -1; - } - else if (i < 0) - return -1; - zf->zstr->next_in = (Bytef *)zf->buffer; - zf->zstr->avail_in = i; - continue; - } - /* fallthrough */ - case Z_NEED_DICT: - case Z_DATA_ERROR: - case Z_STREAM_ERROR: - case Z_MEM_ERROR: - _zip_error_set(&zf->error, ZIP_ER_ZLIB, ret); - return -1; - } - } -} - - -ZIP_EXTERN const char * -zip_strerror(struct zip *za) -{ - return _zip_error_strerror(&za->error); -} - - -ZIP_EXTERN void -zip_stat_init(struct zip_stat *st) -{ - st->name = NULL; - st->index = -1; - st->crc = 0; - st->mtime = (time_t)-1; - st->size = -1; - st->comp_size = -1; - st->comp_method = ZIP_CM_STORE; - st->encryption_method = ZIP_EM_NONE; -} - - -ZIP_EXTERN int -zip_stat_index(struct zip *za, int index, int flags, struct zip_stat *st) -{ - const char *name; - - if (index < 0 || index >= za->nentry) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - if ((name=zip_get_name(za, index, flags)) == NULL) - return -1; - - - if ((flags & ZIP_FL_UNCHANGED) == 0 - && ZIP_ENTRY_DATA_CHANGED(za->entry+index)) { - if (za->entry[index].source->f(za->entry[index].source->ud, - st, sizeof(*st), ZIP_SOURCE_STAT) < 0) { - _zip_error_set(&za->error, ZIP_ER_CHANGED, 0); - return -1; - } - } - else { - if (za->cdir == NULL || index >= za->cdir->nentry) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return -1; - } - - st->crc = za->cdir->entry[index].crc; - st->size = za->cdir->entry[index].uncomp_size; - st->mtime = za->cdir->entry[index].last_mod; - st->comp_size = za->cdir->entry[index].comp_size; - st->comp_method = za->cdir->entry[index].comp_method; - if (za->cdir->entry[index].bitflags & ZIP_GPBF_ENCRYPTED) { - if (za->cdir->entry[index].bitflags & ZIP_GPBF_STRONG_ENCRYPTION) { - /* XXX */ - st->encryption_method = ZIP_EM_UNKNOWN; - } - else - st->encryption_method = ZIP_EM_TRAD_PKWARE; - } - else - st->encryption_method = ZIP_EM_NONE; - /* st->bitflags = za->cdir->entry[index].bitflags; */ - } - - st->index = index; - st->name = name; - - return 0; -} - - -ZIP_EXTERN int -zip_stat(struct zip *za, const char *fname, int flags, struct zip_stat *st) -{ - int idx; - - if ((idx=zip_name_locate(za, fname, flags)) < 0) - return -1; - - return zip_stat_index(za, idx, flags, st); -} - - -struct read_zip { - struct zip_file *zf; - struct zip_stat st; - myoff_t off, len; -}; - -static ssize_t read_zip(void *st, void *data, size_t len, - enum zip_source_cmd cmd); - - - -ZIP_EXTERN struct zip_source * -zip_source_zip(struct zip *za, struct zip *srcza, int srcidx, int flags, - myoff_t start, myoff_t len) -{ - struct zip_error error; - struct zip_source *zs; - struct read_zip *p; - - /* XXX: ZIP_FL_RECOMPRESS */ - - if (za == NULL) - return NULL; - - if (srcza == NULL || start < 0 || len < -1 || srcidx < 0 || srcidx >= srcza->nentry) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - if ((flags & ZIP_FL_UNCHANGED) == 0 - && ZIP_ENTRY_DATA_CHANGED(srcza->entry+srcidx)) { - _zip_error_set(&za->error, ZIP_ER_CHANGED, 0); - return NULL; - } - - if (len == 0) - len = -1; - - if (start == 0 && len == -1 && (flags & ZIP_FL_RECOMPRESS) == 0) - flags |= ZIP_FL_COMPRESSED; - else - flags &= ~ZIP_FL_COMPRESSED; - - if ((p=(struct read_zip *)malloc(sizeof(*p))) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - - _zip_error_copy(&error, &srcza->error); - - if (zip_stat_index(srcza, srcidx, flags, &p->st) < 0 - || (p->zf=zip_fopen_index(srcza, srcidx, flags)) == NULL) { - free(p); - _zip_error_copy(&za->error, &srcza->error); - _zip_error_copy(&srcza->error, &error); - - return NULL; - } - p->off = start; - p->len = len; - - if ((flags & ZIP_FL_COMPRESSED) == 0) { - p->st.size = p->st.comp_size = len; - p->st.comp_method = ZIP_CM_STORE; - p->st.crc = 0; - } - - if ((zs=zip_source_function(za, read_zip, p)) == NULL) { - free(p); - return NULL; - } - - return zs; -} - - - -static ssize_t -read_zip(void *state, void *data, size_t len, enum zip_source_cmd cmd) -{ - struct read_zip *z; - char b[8192], *buf; - int i, n; - - z = (struct read_zip *)state; - buf = (char *)data; - - switch (cmd) { - case ZIP_SOURCE_OPEN: - for (n=0; noff; n+= i) { - i = (z->off-n > sizeof(b) ? sizeof(b) : z->off-n); - if ((i=zip_fread(z->zf, b, i)) < 0) { - zip_fclose(z->zf); - z->zf = NULL; - return -1; - } - } - return 0; - - case ZIP_SOURCE_READ: - if (z->len != -1) - n = len > z->len ? z->len : len; - else - n = len; - - - if ((i=zip_fread(z->zf, buf, n)) < 0) - return -1; - - if (z->len != -1) - z->len -= i; - - return i; - - case ZIP_SOURCE_CLOSE: - return 0; - - case ZIP_SOURCE_STAT: - if (len < sizeof(z->st)) - return -1; - len = sizeof(z->st); - - memcpy(data, &z->st, len); - return len; - - case ZIP_SOURCE_ERROR: - { - int *e; - - if (len < sizeof(int)*2) - return -1; - - e = (int *)data; - zip_file_error_get(z->zf, e, e+1); - } - return sizeof(int)*2; - - case ZIP_SOURCE_FREE: - zip_fclose(z->zf); - free(z); - return 0; - - default: - ; - } - - return -1; -} - - -ZIP_EXTERN struct zip_source * -zip_source_function(struct zip *za, zip_source_callback zcb, void *ud) -{ - struct zip_source *zs; - - if (za == NULL) - return NULL; - - if ((zs=(struct zip_source *)malloc(sizeof(*zs))) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - - zs->f = zcb; - zs->ud = ud; - - return zs; -} - - -ZIP_EXTERN void -zip_source_free(struct zip_source *source) -{ - if (source == NULL) - return; - - (void)source->f(source->ud, NULL, 0, ZIP_SOURCE_FREE); - - free(source); -} - - -struct read_file { - char *fname; /* name of file to copy from */ - FILE *f; /* file to copy from */ - myoff_t off; /* start offset of */ - myoff_t len; /* lengt of data to copy */ - myoff_t remain; /* bytes remaining to be copied */ - int e[2]; /* error codes */ -}; - -static ssize_t read_file(void *state, void *data, size_t len, - enum zip_source_cmd cmd); - - - -ZIP_EXTERN struct zip_source * -zip_source_filep(struct zip *za, FILE *file, myoff_t start, myoff_t len) -{ - if (za == NULL) - return NULL; - - if (file == NULL || start < 0 || len < -1) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - return _zip_source_file_or_p(za, NULL, file, start, len); -} - - - -struct zip_source * -_zip_source_file_or_p(struct zip *za, const char *fname, FILE *file, - myoff_t start, myoff_t len) -{ - struct read_file *f; - struct zip_source *zs; - - if (file == NULL && fname == NULL) { - _zip_error_set(&za->error, ZIP_ER_INVAL, 0); - return NULL; - } - - if ((f=(struct read_file *)malloc(sizeof(struct read_file))) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - return NULL; - } - - f->fname = NULL; - if (fname) { - if ((f->fname=strdup(fname)) == NULL) { - _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); - free(f); - return NULL; - } - } - f->f = file; - f->off = start; - f->len = (len ? len : -1); - - if ((zs=zip_source_function(za, read_file, f)) == NULL) { - free(f); - return NULL; - } - - return zs; -} - - - -static ssize_t -read_file(void *state, void *data, size_t len, enum zip_source_cmd cmd) -{ - struct read_file *z; - char *buf; - int i, n; - - z = (struct read_file *)state; - buf = (char *)data; - - switch (cmd) { - case ZIP_SOURCE_OPEN: - if (z->fname) { - if ((z->f=fopen(z->fname, "rb")) == NULL) { - z->e[0] = ZIP_ER_OPEN; - z->e[1] = errno; - return -1; - } - } - - if (fseeko(z->f, z->off, SEEK_SET) < 0) { - z->e[0] = ZIP_ER_SEEK; - z->e[1] = errno; - return -1; - } - z->remain = z->len; - return 0; - - case ZIP_SOURCE_READ: - if (z->remain != -1) - n = len > z->remain ? z->remain : len; - else - n = len; - - if ((i=fread(buf, 1, n, z->f)) < 0) { - z->e[0] = ZIP_ER_READ; - z->e[1] = errno; - return -1; - } - - if (z->remain != -1) - z->remain -= i; - - return i; - - case ZIP_SOURCE_CLOSE: - if (z->fname) { - fclose(z->f); - z->f = NULL; - } - return 0; - - case ZIP_SOURCE_STAT: - { - struct zip_stat *st; - struct stat fst; - int err; - - if (len < sizeof(*st)) - return -1; - - if (z->f) - err = fstat(fileno(z->f), &fst); - else - err = stat(z->fname, &fst); - - if (err != 0) { - z->e[0] = ZIP_ER_READ; /* best match */ - z->e[1] = errno; - return -1; - } - - st = (struct zip_stat *)data; - - zip_stat_init(st); - st->mtime = fst.st_mtime; - if (z->len != -1) - st->size = z->len; - else if ((fst.st_mode&S_IFMT) == S_IFREG) - st->size = fst.st_size; - - return sizeof(*st); - } - - case ZIP_SOURCE_ERROR: - if (len < sizeof(int)*2) - return -1; - - memcpy(data, z->e, sizeof(int)*2); - return sizeof(int)*2; - - case ZIP_SOURCE_FREE: - free(z->fname); - if (z->f) - fclose(z->f); - free(z); - return 0; - - default: - ; - } - - return -1; -} - - -ZIP_EXTERN int -zip_name_locate(struct zip *za, const char *fname, int flags) -{ - return _zip_name_locate(za, fname, flags, &za->error); -} - - - -int -_zip_name_locate(struct zip *za, const char *fname, int flags, - struct zip_error *error) -{ - int (*cmp)(const char *, const char *); - const char *fn, *p; - int i, n; - - if (fname == NULL) { - _zip_error_set(error, ZIP_ER_INVAL, 0); - return -1; - } - - cmp = (flags & ZIP_FL_NOCASE) ? strcasecmp : strcmp; - - n = (flags & ZIP_FL_UNCHANGED) ? za->cdir->nentry : za->nentry; - for (i=0; icdir->entry[i].filename; - else - fn = _zip_get_name(za, i, flags, error); - - /* newly added (partially filled) entry */ - if (fn == NULL) - continue; - - if (flags & ZIP_FL_NODIR) { - p = strrchr(fn, '/'); - if (p) - fn = p+1; - } - - if (cmp(fname, fn) == 0) - return i; - } - - _zip_error_set(error, ZIP_ER_NOENT, 0); - return -1; -} - diff --git a/lib/oldwrappers/zip/zlib.nim b/lib/oldwrappers/zip/zlib.nim deleted file mode 100755 index 9b49b9663..000000000 --- a/lib/oldwrappers/zip/zlib.nim +++ /dev/null @@ -1,181 +0,0 @@ -# Converted from Pascal - -## Interface to the zlib http://www.zlib.net/ compression library. - -when defined(windows): - const libz = "zlib1.dll" -elif defined(macosx): - const libz = "libz.dylib" -else: - const libz = "libz.so" - -type - Uint* = int32 - Ulong* = int - Ulongf* = int - Pulongf* = ptr Ulongf - z_off_t* = int32 - pbyte* = cstring - pbytef* = cstring - TAllocfunc* = proc (p: pointer, items: uInt, size: uInt): pointer{.cdecl.} - TFreeFunc* = proc (p: pointer, address: pointer){.cdecl.} - TInternalState*{.final, pure.} = object - PInternalState* = ptr TInternalstate - TZStream*{.final, pure.} = object - next_in*: pbytef - avail_in*: uInt - total_in*: uLong - next_out*: pbytef - avail_out*: uInt - total_out*: uLong - msg*: pbytef - state*: PInternalState - zalloc*: TAllocFunc - zfree*: TFreeFunc - opaque*: pointer - data_type*: int32 - adler*: uLong - reserved*: uLong - - TZStreamRec* = TZStream - PZstream* = ptr TZStream - gzFile* = pointer - -const - Z_NO_FLUSH* = 0 - Z_PARTIAL_FLUSH* = 1 - Z_SYNC_FLUSH* = 2 - Z_FULL_FLUSH* = 3 - Z_FINISH* = 4 - Z_OK* = 0 - Z_STREAM_END* = 1 - Z_NEED_DICT* = 2 - Z_ERRNO* = -1 - Z_STREAM_ERROR* = -2 - Z_DATA_ERROR* = -3 - Z_MEM_ERROR* = -4 - Z_BUF_ERROR* = -5 - Z_VERSION_ERROR* = -6 - Z_NO_COMPRESSION* = 0 - Z_BEST_SPEED* = 1 - Z_BEST_COMPRESSION* = 9 - Z_DEFAULT_COMPRESSION* = -1 - Z_FILTERED* = 1 - Z_HUFFMAN_ONLY* = 2 - Z_DEFAULT_STRATEGY* = 0 - Z_BINARY* = 0 - Z_ASCII* = 1 - Z_UNKNOWN* = 2 - Z_DEFLATED* = 8 - Z_NULL* = 0 - -proc zlibVersion*(): cstring{.cdecl, dynlib: libz, importc: "zlibVersion".} -proc deflate*(strm: var TZStream, flush: int32): int32{.cdecl, dynlib: libz, - importc: "deflate".} -proc deflateEnd*(strm: var TZStream): int32{.cdecl, dynlib: libz, - importc: "deflateEnd".} -proc inflate*(strm: var TZStream, flush: int32): int32{.cdecl, dynlib: libz, - importc: "inflate".} -proc inflateEnd*(strm: var TZStream): int32{.cdecl, dynlib: libz, - importc: "inflateEnd".} -proc deflateSetDictionary*(strm: var TZStream, dictionary: pbytef, - dictLength: uInt): int32{.cdecl, dynlib: libz, - importc: "deflateSetDictionary".} -proc deflateCopy*(dest, source: var TZstream): int32{.cdecl, dynlib: libz, - importc: "deflateCopy".} -proc deflateReset*(strm: var TZStream): int32{.cdecl, dynlib: libz, - importc: "deflateReset".} -proc deflateParams*(strm: var TZStream, level: int32, strategy: int32): int32{. - cdecl, dynlib: libz, importc: "deflateParams".} -proc inflateSetDictionary*(strm: var TZStream, dictionary: pbytef, - dictLength: uInt): int32{.cdecl, dynlib: libz, - importc: "inflateSetDictionary".} -proc inflateSync*(strm: var TZStream): int32{.cdecl, dynlib: libz, - importc: "inflateSync".} -proc inflateReset*(strm: var TZStream): int32{.cdecl, dynlib: libz, - importc: "inflateReset".} -proc compress*(dest: pbytef, destLen: puLongf, source: pbytef, sourceLen: uLong): cint{. - cdecl, dynlib: libz, importc: "compress".} -proc compress2*(dest: pbytef, destLen: puLongf, source: pbytef, - sourceLen: uLong, level: cint): cint{.cdecl, dynlib: libz, - importc: "compress2".} -proc uncompress*(dest: pbytef, destLen: puLongf, source: pbytef, - sourceLen: uLong): cint{.cdecl, dynlib: libz, - importc: "uncompress".} -proc gzopen*(path: cstring, mode: cstring): gzFile{.cdecl, dynlib: libz, - importc: "gzopen".} -proc gzdopen*(fd: int32, mode: cstring): gzFile{.cdecl, dynlib: libz, - importc: "gzdopen".} -proc gzsetparams*(thefile: gzFile, level: int32, strategy: int32): int32{.cdecl, - dynlib: libz, importc: "gzsetparams".} -proc gzread*(thefile: gzFile, buf: pointer, length: int): int32{.cdecl, - dynlib: libz, importc: "gzread".} -proc gzwrite*(thefile: gzFile, buf: pointer, length: int): int32{.cdecl, - dynlib: libz, importc: "gzwrite".} -proc gzprintf*(thefile: gzFile, format: pbytef): int32{.varargs, cdecl, - dynlib: libz, importc: "gzprintf".} -proc gzputs*(thefile: gzFile, s: pbytef): int32{.cdecl, dynlib: libz, - importc: "gzputs".} -proc gzgets*(thefile: gzFile, buf: pbytef, length: int32): pbytef{.cdecl, - dynlib: libz, importc: "gzgets".} -proc gzputc*(thefile: gzFile, c: char): char{.cdecl, dynlib: libz, - importc: "gzputc".} -proc gzgetc*(thefile: gzFile): char{.cdecl, dynlib: libz, importc: "gzgetc".} -proc gzflush*(thefile: gzFile, flush: int32): int32{.cdecl, dynlib: libz, - importc: "gzflush".} -proc gzseek*(thefile: gzFile, offset: z_off_t, whence: int32): z_off_t{.cdecl, - dynlib: libz, importc: "gzseek".} -proc gzrewind*(thefile: gzFile): int32{.cdecl, dynlib: libz, importc: "gzrewind".} -proc gztell*(thefile: gzFile): z_off_t{.cdecl, dynlib: libz, importc: "gztell".} -proc gzeof*(thefile: gzFile): int {.cdecl, dynlib: libz, importc: "gzeof".} -proc gzclose*(thefile: gzFile): int32{.cdecl, dynlib: libz, importc: "gzclose".} -proc gzerror*(thefile: gzFile, errnum: var int32): pbytef{.cdecl, dynlib: libz, - importc: "gzerror".} -proc adler32*(adler: uLong, buf: pbytef, length: uInt): uLong{.cdecl, - dynlib: libz, importc: "adler32".} -proc crc32*(crc: uLong, buf: pbytef, length: uInt): uLong{.cdecl, dynlib: libz, - importc: "crc32".} -proc deflateInitu*(strm: var TZStream, level: int32, version: cstring, - stream_size: int32): int32{.cdecl, dynlib: libz, - importc: "deflateInit_".} -proc inflateInitu*(strm: var TZStream, version: cstring, - stream_size: int32): int32 {. - cdecl, dynlib: libz, importc: "inflateInit_".} -proc deflateInit*(strm: var TZStream, level: int32): int32 -proc inflateInit*(strm: var TZStream): int32 -proc deflateInit2u*(strm: var TZStream, level: int32, `method`: int32, - windowBits: int32, memLevel: int32, strategy: int32, - version: cstring, stream_size: int32): int32 {.cdecl, - dynlib: libz, importc: "deflateInit2_".} -proc inflateInit2u*(strm: var TZStream, windowBits: int32, version: cstring, - stream_size: int32): int32{.cdecl, dynlib: libz, - importc: "inflateInit2_".} -proc deflateInit2*(strm: var TZStream, - level, `method`, windowBits, memLevel, - strategy: int32): int32 -proc inflateInit2*(strm: var TZStream, windowBits: int32): int32 -proc zError*(err: int32): cstring{.cdecl, dynlib: libz, importc: "zError".} -proc inflateSyncPoint*(z: PZstream): int32{.cdecl, dynlib: libz, - importc: "inflateSyncPoint".} -proc get_crc_table*(): pointer{.cdecl, dynlib: libz, importc: "get_crc_table".} - -proc deflateInit(strm: var TZStream, level: int32): int32 = - result = deflateInitu(strm, level, ZLIB_VERSION(), sizeof(TZStream)) - -proc inflateInit(strm: var TZStream): int32 = - result = inflateInitu(strm, ZLIB_VERSION(), sizeof(TZStream)) - -proc deflateInit2(strm: var TZStream, - level, `method`, windowBits, memLevel, - strategy: int32): int32 = - result = deflateInit2u(strm, level, `method`, windowBits, memLevel, - strategy, ZLIB_VERSION(), sizeof(TZStream)) - -proc inflateInit2(strm: var TZStream, windowBits: int32): int32 = - result = inflateInit2u(strm, windowBits, ZLIB_VERSION(), sizeof(TZStream)) - -proc zlibAllocMem*(AppData: Pointer, Items, Size: int): Pointer {.cdecl.} = - result = Alloc(Items * Size) - -proc zlibFreeMem*(AppData, `Block`: Pointer) {.cdecl.} = - dealloc(`Block`) diff --git a/lib/oldwrappers/zip/zzip.nim b/lib/oldwrappers/zip/zzip.nim deleted file mode 100755 index a656322ee..000000000 --- a/lib/oldwrappers/zip/zzip.nim +++ /dev/null @@ -1,172 +0,0 @@ -# -# -# Nimrod's Runtime Library -# (c) Copyright 2008 Andreas Rumpf -# -# See the file "copying.txt", included in this -# distribution, for details about the copyright. -# - -## This module is an interface to the zzip library. - -# Author: -# Guido Draheim -# Tomi Ollila -# Copyright (c) 1999,2000,2001,2002,2003,2004 Guido Draheim -# All rights reserved, -# usage allowed under the restrictions of the -# Lesser GNU General Public License -# or alternatively the restrictions -# of the Mozilla Public License 1.1 - -when defined(windows): - const - dllname = "zzip.dll" -else: - const - dllname = "libzzip.so" - -type - TZZipError* = int32 -const - ZZIP_ERROR* = -4096'i32 - ZZIP_NO_ERROR* = 0'i32 # no error, may be used if user sets it. - ZZIP_OUTOFMEM* = ZZIP_ERROR - 20'i32 # out of memory - ZZIP_DIR_OPEN* = ZZIP_ERROR - 21'i32 # failed to open zipfile, see errno for details - ZZIP_DIR_STAT* = ZZIP_ERROR - 22'i32 # failed to fstat zipfile, see errno for details - ZZIP_DIR_SEEK* = ZZIP_ERROR - 23'i32 # failed to lseek zipfile, see errno for details - ZZIP_DIR_READ* = ZZIP_ERROR - 24'i32 # failed to read zipfile, see errno for details - ZZIP_DIR_TOO_SHORT* = ZZIP_ERROR - 25'i32 - ZZIP_DIR_EDH_MISSING* = ZZIP_ERROR - 26'i32 - ZZIP_DIRSIZE* = ZZIP_ERROR - 27'i32 - ZZIP_ENOENT* = ZZIP_ERROR - 28'i32 - ZZIP_UNSUPP_COMPR* = ZZIP_ERROR - 29'i32 - ZZIP_CORRUPTED* = ZZIP_ERROR - 31'i32 - ZZIP_UNDEF* = ZZIP_ERROR - 32'i32 - ZZIP_DIR_LARGEFILE* = ZZIP_ERROR - 33'i32 - - ZZIP_CASELESS* = 1'i32 shl 12'i32 - ZZIP_NOPATHS* = 1'i32 shl 13'i32 - ZZIP_PREFERZIP* = 1'i32 shl 14'i32 - ZZIP_ONLYZIP* = 1'i32 shl 16'i32 - ZZIP_FACTORY* = 1'i32 shl 17'i32 - ZZIP_ALLOWREAL* = 1'i32 shl 18'i32 - ZZIP_THREADED* = 1'i32 shl 19'i32 - -type - TZZipDir* {.final, pure.} = object - TZZipFile* {.final, pure.} = object - TZZipPluginIO* {.final, pure.} = object - - TZZipDirent* {.final, pure.} = object - d_compr*: int32 ## compression method - d_csize*: int32 ## compressed size - st_size*: int32 ## file size / decompressed size - d_name*: cstring ## file name / strdupped name - - TZZipStat* = TZZipDirent - -proc zzip_strerror*(errcode: int32): cstring {.cdecl, dynlib: dllname, - importc: "zzip_strerror".} -proc zzip_strerror_of*(dir: ptr TZZipDir): cstring {.cdecl, dynlib: dllname, - importc: "zzip_strerror_of".} -proc zzip_errno*(errcode: int32): int32 {.cdecl, dynlib: dllname, - importc: "zzip_errno".} - -proc zzip_geterror*(dir: ptr TZZipDir): int32 {.cdecl, dynlib: dllname, - importc: "zzip_error".} -proc zzip_seterror*(dir: ptr TZZipDir, errcode: int32) {.cdecl, dynlib: dllname, - importc: "zzip_seterror".} -proc zzip_compr_str*(compr: int32): cstring {.cdecl, dynlib: dllname, - importc: "zzip_compr_str".} -proc zzip_dirhandle*(fp: ptr TZZipFile): ptr TZZipDir {.cdecl, dynlib: dllname, - importc: "zzip_dirhandle".} -proc zzip_dirfd*(dir: ptr TZZipDir): int32 {.cdecl, dynlib: dllname, - importc: "zzip_dirfd".} -proc zzip_dir_real*(dir: ptr TZZipDir): int32 {.cdecl, dynlib: dllname, - importc: "zzip_dir_real".} -proc zzip_file_real*(fp: ptr TZZipFile): int32 {.cdecl, dynlib: dllname, - importc: "zzip_file_real".} -proc zzip_realdir*(dir: ptr TZZipDir): pointer {.cdecl, dynlib: dllname, - importc: "zzip_realdir".} -proc zzip_realfd*(fp: ptr TZZipFile): int32 {.cdecl, dynlib: dllname, - importc: "zzip_realfd".} - -proc zzip_dir_alloc*(fileext: cstringArray): ptr TZZipDir {.cdecl, - dynlib: dllname, importc: "zzip_dir_alloc".} -proc zzip_dir_free*(para1: ptr TZZipDir): int32 {.cdecl, dynlib: dllname, - importc: "zzip_dir_free".} - -proc zzip_dir_fdopen*(fd: int32, errcode_p: ptr TZZipError): ptr TZZipDir {.cdecl, - dynlib: dllname, importc: "zzip_dir_fdopen".} -proc zzip_dir_open*(filename: cstring, errcode_p: ptr TZZipError): ptr TZZipDir {. - cdecl, dynlib: dllname, importc: "zzip_dir_open".} -proc zzip_dir_close*(dir: ptr TZZipDir) {.cdecl, dynlib: dllname, - importc: "zzip_dir_close".} -proc zzip_dir_read*(dir: ptr TZZipDir, dirent: ptr TZZipDirent): int32 {.cdecl, - dynlib: dllname, importc: "zzip_dir_read".} - -proc zzip_opendir*(filename: cstring): ptr TZZipDir {.cdecl, dynlib: dllname, - importc: "zzip_opendir".} -proc zzip_closedir*(dir: ptr TZZipDir) {.cdecl, dynlib: dllname, - importc: "zzip_closedir".} -proc zzip_readdir*(dir: ptr TZZipDir): ptr TZZipDirent {.cdecl, dynlib: dllname, - importc: "zzip_readdir".} -proc zzip_rewinddir*(dir: ptr TZZipDir) {.cdecl, dynlib: dllname, - importc: "zzip_rewinddir".} -proc zzip_telldir*(dir: ptr TZZipDir): int {.cdecl, dynlib: dllname, - importc: "zzip_telldir".} -proc zzip_seekdir*(dir: ptr TZZipDir, offset: int) {.cdecl, dynlib: dllname, - importc: "zzip_seekdir".} - -proc zzip_file_open*(dir: ptr TZZipDir, name: cstring, flags: int32): ptr TZZipFile {. - cdecl, dynlib: dllname, importc: "zzip_file_open".} -proc zzip_file_close*(fp: ptr TZZipFile) {.cdecl, dynlib: dllname, - importc: "zzip_file_close".} -proc zzip_file_read*(fp: ptr TZZipFile, buf: pointer, length: int): int {. - cdecl, dynlib: dllname, importc: "zzip_file_read".} -proc zzip_open*(name: cstring, flags: int32): ptr TZZipFile {.cdecl, - dynlib: dllname, importc: "zzip_open".} -proc zzip_close*(fp: ptr TZZipFile) {.cdecl, dynlib: dllname, - importc: "zzip_close".} -proc zzip_read*(fp: ptr TZZipFile, buf: pointer, length: int): int {. - cdecl, dynlib: dllname, importc: "zzip_read".} - -proc zzip_freopen*(name: cstring, mode: cstring, para3: ptr TZZipFile): ptr TZZipFile {. - cdecl, dynlib: dllname, importc: "zzip_freopen".} -proc zzip_fopen*(name: cstring, mode: cstring): ptr TZZipFile {.cdecl, - dynlib: dllname, importc: "zzip_fopen".} -proc zzip_fread*(p: pointer, size: int, nmemb: int, - file: ptr TZZipFile): int {.cdecl, dynlib: dllname, - importc: "zzip_fread".} -proc zzip_fclose*(fp: ptr TZZipFile) {.cdecl, dynlib: dllname, - importc: "zzip_fclose".} - -proc zzip_rewind*(fp: ptr TZZipFile): int32 {.cdecl, dynlib: dllname, - importc: "zzip_rewind".} -proc zzip_seek*(fp: ptr TZZipFile, offset: int, whence: int32): int {. - cdecl, dynlib: dllname, importc: "zzip_seek".} -proc zzip_tell*(fp: ptr TZZipFile): int {.cdecl, dynlib: dllname, - importc: "zzip_tell".} - -proc zzip_dir_stat*(dir: ptr TZZipDir, name: cstring, zs: ptr TZZipStat, - flags: int32): int32 {.cdecl, dynlib: dllname, - importc: "zzip_dir_stat".} -proc zzip_file_stat*(fp: ptr TZZipFile, zs: ptr TZZipStat): int32 {.cdecl, - dynlib: dllname, importc: "zzip_file_stat".} -proc zzip_fstat*(fp: ptr TZZipFile, zs: ptr TZZipStat): int32 {.cdecl, dynlib: dllname, - importc: "zzip_fstat".} - -proc zzip_open_shared_io*(stream: ptr TZZipFile, name: cstring, - o_flags: int32, o_modes: int32, ext: cstringArray, - io: ptr TZZipPluginIO): ptr TZZipFile {.cdecl, - dynlib: dllname, importc: "zzip_open_shared_io".} -proc zzip_open_ext_io*(name: cstring, o_flags: int32, o_modes: int32, - ext: cstringArray, io: ptr TZZipPluginIO): ptr TZZipFile {. - cdecl, dynlib: dllname, importc: "zzip_open_ext_io".} -proc zzip_opendir_ext_io*(name: cstring, o_modes: int32, - ext: cstringArray, io: ptr TZZipPluginIO): ptr TZZipDir {. - cdecl, dynlib: dllname, importc: "zzip_opendir_ext_io".} -proc zzip_dir_open_ext_io*(filename: cstring, errcode_p: ptr TZZipError, - ext: cstringArray, io: ptr TZZipPluginIO): ptr TZZipDir {. - cdecl, dynlib: dllname, importc: "zzip_dir_open_ext_io".} diff --git a/lib/pure/logging.nim b/lib/pure/logging.nim index cd90188f4..1b14bef5e 100755 --- a/lib/pure/logging.nim +++ b/lib/pure/logging.nim @@ -63,7 +63,7 @@ method log*(L: ref TFileLogger, level: TLevel, proc defaultFilename*(): string = ## returns the default filename for a logger - var (path, name, ext) = splitFile(getApplicationFilename()) + var (path, name, ext) = splitFile(getAppFilename()) result = changeFileExt(path / name & "_" & getDateStr(), "log") proc substituteLog*(frmt: string): string = @@ -97,8 +97,7 @@ proc newFileLogger(filename = defaultFilename(), levelThreshold = lvlNone): ref TFileLogger = new(result) result.levelThreshold = levelThreshold - if not open(result.f, filename, mode): - raiseException(EIO, "cannot open for writing: " & filename) + result.f = open(filename, mode) proc newRollingFileLogger(filename = defaultFilename(), mode: TFileMode = fmAppend, @@ -107,8 +106,7 @@ proc newRollingFileLogger(filename = defaultFilename(), new(result) result.levelThreshold = levelThreshold result.maxLines = maxLines - if not open(result.f, filename, mode): - raiseException(EIO, "cannot open for writing: " & filename) + result.f = open(filename, mode) var level* = lvlNone diff --git a/lib/pure/os.nim b/lib/pure/os.nim index 67435667a..e044fe605 100755 --- a/lib/pure/os.nim +++ b/lib/pure/os.nim @@ -948,7 +948,7 @@ proc parseCmdLine*(c: string): seq[string] {. ## This proc is only occassionally useful, better use the `parseopt` module. ## ## On Windows, it uses the following parsing rules - ## (see http://msdn.microsoft.com/en-us/library/17w5ykft.aspx): + ## (see http://msdn.microsoft.com/en-us/library/17w5ykft.aspx ): ## ## * Arguments are delimited by white space, which is either a space or a tab. ## * The caret character (^) is not recognized as an escape character or diff --git a/lib/pure/redis.nim b/lib/pure/redis.nim index e4a2b04e7..1d25f1a5d 100644 --- a/lib/pure/redis.nim +++ b/lib/pure/redis.nim @@ -7,7 +7,8 @@ # distribution, for details about the copyright. # -## This module implements a redis client. It allows you to connect to a redis-server instance, send commands and receive replies. +## This module implements a redis client. It allows you to connect to a +## redis-server instance, send commands and receive replies. ## ## **Beware**: Most (if not all) functions that return a ``TRedisString`` may ## return ``redisNil``, and functions which return a ``TRedisList`` @@ -559,7 +560,8 @@ proc zincrby*(r: TRedis, key: string, increment: string, proc zinterstore*(r: TRedis, destination: string, numkeys: string, keys: openarray[string], weights: openarray[string] = [], aggregate: string = ""): TRedisInteger = - ## Intersect multiple sorted sets and store the resulting sorted set in a new key + ## Intersect multiple sorted sets and store the resulting sorted set in + ## a new key var args = @[destination, numkeys] for i in items(keys): args.add(i) @@ -844,7 +846,8 @@ proc slaveof*(r: TRedis, host: string, port: string) = r.sendCommand("SLAVEOF", host, port) raiseNoOK(r.parseStatus()) -when isMainModule: +when false: + # sorry, deactivated for the test suite var r = open() r.auth("pass") diff --git a/lib/pure/scgi.nim b/lib/pure/scgi.nim index 48f5438c0..1326d9795 100755 --- a/lib/pure/scgi.nim +++ b/lib/pure/scgi.nim @@ -131,7 +131,7 @@ proc run*(handleRequest: proc (client: TSocket, input: string, s.client.close() s.close() -when isMainModule: +when false: var counter = 0 proc handleRequest(client: TSocket, input: string, headers: PStringTable): bool {.procvar.} = diff --git a/lib/ucmaps/8859-1.txt b/lib/ucmaps/8859-1.txt deleted file mode 100755 index 473ecabc1..000000000 --- a/lib/ucmaps/8859-1.txt +++ /dev/null @@ -1,303 +0,0 @@ -# -# Name: ISO/IEC 8859-1:1998 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-1:1998 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-1 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-1 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x00A1 # INVERTED EXCLAMATION MARK -0xA2 0x00A2 # CENT SIGN -0xA3 0x00A3 # POUND SIGN -0xA4 0x00A4 # CURRENCY SIGN -0xA5 0x00A5 # YEN SIGN -0xA6 0x00A6 # BROKEN BAR -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00A8 # DIAERESIS -0xA9 0x00A9 # COPYRIGHT SIGN -0xAA 0x00AA # FEMININE ORDINAL INDICATOR -0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC # NOT SIGN -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x00AE # REGISTERED SIGN -0xAF 0x00AF # MACRON -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x00B1 # PLUS-MINUS SIGN -0xB2 0x00B2 # SUPERSCRIPT TWO -0xB3 0x00B3 # SUPERSCRIPT THREE -0xB4 0x00B4 # ACUTE ACCENT -0xB5 0x00B5 # MICRO SIGN -0xB6 0x00B6 # PILCROW SIGN -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x00B8 # CEDILLA -0xB9 0x00B9 # SUPERSCRIPT ONE -0xBA 0x00BA # MASCULINE ORDINAL INDICATOR -0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC # VULGAR FRACTION ONE QUARTER -0xBD 0x00BD # VULGAR FRACTION ONE HALF -0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS -0xBF 0x00BF # INVERTED QUESTION MARK -0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 # LATIN CAPITAL LETTER AE -0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x00D0 # LATIN CAPITAL LETTER ETH (Icelandic) -0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 # MULTIPLICATION SIGN -0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE -0xDE 0x00DE # LATIN CAPITAL LETTER THORN (Icelandic) -0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German) -0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 # LATIN SMALL LETTER AE -0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x00F0 # LATIN SMALL LETTER ETH (Icelandic) -0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE -0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 # DIVISION SIGN -0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE -0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE -0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic) -0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/lib/ucmaps/8859-10.txt b/lib/ucmaps/8859-10.txt deleted file mode 100755 index 374a42b1a..000000000 --- a/lib/ucmaps/8859-10.txt +++ /dev/null @@ -1,303 +0,0 @@ -# -# Name: ISO/IEC 8859-10:1998 to Unicode -# Unicode version: 3.0 -# Table version: 1.1 -# Table format: Format A -# Date: 1999 October 11 -# Authors: Ken Whistler -# -# Copyright (c) 1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-10:1998 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-10 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-10 order. -# -# Version history -# 1.0 version new. -# 1.1 corrected mistake in mapping of 0xA4 -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK -0xA2 0x0112 # LATIN CAPITAL LETTER E WITH MACRON -0xA3 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA -0xA4 0x012A # LATIN CAPITAL LETTER I WITH MACRON -0xA5 0x0128 # LATIN CAPITAL LETTER I WITH TILDE -0xA6 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA -0xA7 0x00A7 # SECTION SIGN -0xA8 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA -0xA9 0x0110 # LATIN CAPITAL LETTER D WITH STROKE -0xAA 0x0160 # LATIN CAPITAL LETTER S WITH CARON -0xAB 0x0166 # LATIN CAPITAL LETTER T WITH STROKE -0xAC 0x017D # LATIN CAPITAL LETTER Z WITH CARON -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x016A # LATIN CAPITAL LETTER U WITH MACRON -0xAF 0x014A # LATIN CAPITAL LETTER ENG -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK -0xB2 0x0113 # LATIN SMALL LETTER E WITH MACRON -0xB3 0x0123 # LATIN SMALL LETTER G WITH CEDILLA -0xB4 0x012B # LATIN SMALL LETTER I WITH MACRON -0xB5 0x0129 # LATIN SMALL LETTER I WITH TILDE -0xB6 0x0137 # LATIN SMALL LETTER K WITH CEDILLA -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x013C # LATIN SMALL LETTER L WITH CEDILLA -0xB9 0x0111 # LATIN SMALL LETTER D WITH STROKE -0xBA 0x0161 # LATIN SMALL LETTER S WITH CARON -0xBB 0x0167 # LATIN SMALL LETTER T WITH STROKE -0xBC 0x017E # LATIN SMALL LETTER Z WITH CARON -0xBD 0x2015 # HORIZONTAL BAR -0xBE 0x016B # LATIN SMALL LETTER U WITH MACRON -0xBF 0x014B # LATIN SMALL LETTER ENG -0xC0 0x0100 # LATIN CAPITAL LETTER A WITH MACRON -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 # LATIN CAPITAL LETTER AE -0xC7 0x012E # LATIN CAPITAL LETTER I WITH OGONEK -0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x00D0 # LATIN CAPITAL LETTER ETH (Icelandic) -0xD1 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA -0xD2 0x014C # LATIN CAPITAL LETTER O WITH MACRON -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x0168 # LATIN CAPITAL LETTER U WITH TILDE -0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE -0xDE 0x00DE # LATIN CAPITAL LETTER THORN (Icelandic) -0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German) -0xE0 0x0101 # LATIN SMALL LETTER A WITH MACRON -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 # LATIN SMALL LETTER AE -0xE7 0x012F # LATIN SMALL LETTER I WITH OGONEK -0xE8 0x010D # LATIN SMALL LETTER C WITH CARON -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x00F0 # LATIN SMALL LETTER ETH (Icelandic) -0xF1 0x0146 # LATIN SMALL LETTER N WITH CEDILLA -0xF2 0x014D # LATIN SMALL LETTER O WITH MACRON -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x0169 # LATIN SMALL LETTER U WITH TILDE -0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE -0xF9 0x0173 # LATIN SMALL LETTER U WITH OGONEK -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE -0xFE 0x00FE # LATIN SMALL LETTER THORN (Icelandic) -0xFF 0x0138 # LATIN SMALL LETTER KRA diff --git a/lib/ucmaps/8859-13.txt b/lib/ucmaps/8859-13.txt deleted file mode 100755 index cd11b53fd..000000000 --- a/lib/ucmaps/8859-13.txt +++ /dev/null @@ -1,299 +0,0 @@ -# -# Name: ISO/IEC 8859-13:1998 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-13:1998 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-13 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-13 order. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x201D # RIGHT DOUBLE QUOTATION MARK -0xA2 0x00A2 # CENT SIGN -0xA3 0x00A3 # POUND SIGN -0xA4 0x00A4 # CURRENCY SIGN -0xA5 0x201E # DOUBLE LOW-9 QUOTATION MARK -0xA6 0x00A6 # BROKEN BAR -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE -0xA9 0x00A9 # COPYRIGHT SIGN -0xAA 0x0156 # LATIN CAPITAL LETTER R WITH CEDILLA -0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC # NOT SIGN -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x00AE # REGISTERED SIGN -0xAF 0x00C6 # LATIN CAPITAL LETTER AE -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x00B1 # PLUS-MINUS SIGN -0xB2 0x00B2 # SUPERSCRIPT TWO -0xB3 0x00B3 # SUPERSCRIPT THREE -0xB4 0x201C # LEFT DOUBLE QUOTATION MARK -0xB5 0x00B5 # MICRO SIGN -0xB6 0x00B6 # PILCROW SIGN -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x00F8 # LATIN SMALL LETTER O WITH STROKE -0xB9 0x00B9 # SUPERSCRIPT ONE -0xBA 0x0157 # LATIN SMALL LETTER R WITH CEDILLA -0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC # VULGAR FRACTION ONE QUARTER -0xBD 0x00BD # VULGAR FRACTION ONE HALF -0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS -0xBF 0x00E6 # LATIN SMALL LETTER AE -0xC0 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK -0xC1 0x012E # LATIN CAPITAL LETTER I WITH OGONEK -0xC2 0x0100 # LATIN CAPITAL LETTER A WITH MACRON -0xC3 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK -0xC7 0x0112 # LATIN CAPITAL LETTER E WITH MACRON -0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE -0xCB 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE -0xCC 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA -0xCD 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA -0xCE 0x012A # LATIN CAPITAL LETTER I WITH MACRON -0xCF 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA -0xD0 0x0160 # LATIN CAPITAL LETTER S WITH CARON -0xD1 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE -0xD2 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x014C # LATIN CAPITAL LETTER O WITH MACRON -0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 # MULTIPLICATION SIGN -0xD8 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK -0xD9 0x0141 # LATIN CAPITAL LETTER L WITH STROKE -0xDA 0x015A # LATIN CAPITAL LETTER S WITH ACUTE -0xDB 0x016A # LATIN CAPITAL LETTER U WITH MACRON -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xDE 0x017D # LATIN CAPITAL LETTER Z WITH CARON -0xDF 0x00DF # LATIN SMALL LETTER SHARP S (German) -0xE0 0x0105 # LATIN SMALL LETTER A WITH OGONEK -0xE1 0x012F # LATIN SMALL LETTER I WITH OGONEK -0xE2 0x0101 # LATIN SMALL LETTER A WITH MACRON -0xE3 0x0107 # LATIN SMALL LETTER C WITH ACUTE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x0119 # LATIN SMALL LETTER E WITH OGONEK -0xE7 0x0113 # LATIN SMALL LETTER E WITH MACRON -0xE8 0x010D # LATIN SMALL LETTER C WITH CARON -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x017A # LATIN SMALL LETTER Z WITH ACUTE -0xEB 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE -0xEC 0x0123 # LATIN SMALL LETTER G WITH CEDILLA -0xED 0x0137 # LATIN SMALL LETTER K WITH CEDILLA -0xEE 0x012B # LATIN SMALL LETTER I WITH MACRON -0xEF 0x013C # LATIN SMALL LETTER L WITH CEDILLA -0xF0 0x0161 # LATIN SMALL LETTER S WITH CARON -0xF1 0x0144 # LATIN SMALL LETTER N WITH ACUTE -0xF2 0x0146 # LATIN SMALL LETTER N WITH CEDILLA -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x014D # LATIN SMALL LETTER O WITH MACRON -0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 # DIVISION SIGN -0xF8 0x0173 # LATIN SMALL LETTER U WITH OGONEK -0xF9 0x0142 # LATIN SMALL LETTER L WITH STROKE -0xFA 0x015B # LATIN SMALL LETTER S WITH ACUTE -0xFB 0x016B # LATIN SMALL LETTER U WITH MACRON -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE -0xFE 0x017E # LATIN SMALL LETTER Z WITH CARON -0xFF 0x2019 # RIGHT SINGLE QUOTATION MARK diff --git a/lib/ucmaps/8859-14.txt b/lib/ucmaps/8859-14.txt deleted file mode 100755 index 36038f413..000000000 --- a/lib/ucmaps/8859-14.txt +++ /dev/null @@ -1,301 +0,0 @@ -# -# Name: ISO/IEC 8859-14:1998 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Markus Kuhn -# Ken Whistler -# -# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-14:1998 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-14 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-14 order. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE -0xA2 0x1E03 # LATIN SMALL LETTER B WITH DOT ABOVE -0xA3 0x00A3 # POUND SIGN -0xA4 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE -0xA5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE -0xA6 0x1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE -0xA7 0x00A7 # SECTION SIGN -0xA8 0x1E80 # LATIN CAPITAL LETTER W WITH GRAVE -0xA9 0x00A9 # COPYRIGHT SIGN -0xAA 0x1E82 # LATIN CAPITAL LETTER W WITH ACUTE -0xAB 0x1E0B # LATIN SMALL LETTER D WITH DOT ABOVE -0xAC 0x1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x00AE # REGISTERED SIGN -0xAF 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS -0xB0 0x1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE -0xB1 0x1E1F # LATIN SMALL LETTER F WITH DOT ABOVE -0xB2 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE -0xB3 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE -0xB4 0x1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE -0xB5 0x1E41 # LATIN SMALL LETTER M WITH DOT ABOVE -0xB6 0x00B6 # PILCROW SIGN -0xB7 0x1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE -0xB8 0x1E81 # LATIN SMALL LETTER W WITH GRAVE -0xB9 0x1E57 # LATIN SMALL LETTER P WITH DOT ABOVE -0xBA 0x1E83 # LATIN SMALL LETTER W WITH ACUTE -0xBB 0x1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE -0xBC 0x1EF3 # LATIN SMALL LETTER Y WITH GRAVE -0xBD 0x1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS -0xBE 0x1E85 # LATIN SMALL LETTER W WITH DIAERESIS -0xBF 0x1E61 # LATIN SMALL LETTER S WITH DOT ABOVE -0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 # LATIN CAPITAL LETTER AE -0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX -0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE -0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE -0xDE 0x0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -0xDF 0x00DF # LATIN SMALL LETTER SHARP S -0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 # LATIN SMALL LETTER AE -0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX -0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE -0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x1E6B # LATIN SMALL LETTER T WITH DOT ABOVE -0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE -0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE -0xFE 0x0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX -0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS - diff --git a/lib/ucmaps/8859-15.txt b/lib/ucmaps/8859-15.txt deleted file mode 100755 index 1e319707d..000000000 --- a/lib/ucmaps/8859-15.txt +++ /dev/null @@ -1,303 +0,0 @@ -# -# Name: ISO/IEC 8859-15:1999 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Markus Kuhn -# Ken Whistler -# -# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-15:1999 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-15 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-15 order. -# -# Version history -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x00A1 # INVERTED EXCLAMATION MARK -0xA2 0x00A2 # CENT SIGN -0xA3 0x00A3 # POUND SIGN -0xA4 0x20AC # EURO SIGN -0xA5 0x00A5 # YEN SIGN -0xA6 0x0160 # LATIN CAPITAL LETTER S WITH CARON -0xA7 0x00A7 # SECTION SIGN -0xA8 0x0161 # LATIN SMALL LETTER S WITH CARON -0xA9 0x00A9 # COPYRIGHT SIGN -0xAA 0x00AA # FEMININE ORDINAL INDICATOR -0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC # NOT SIGN -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x00AE # REGISTERED SIGN -0xAF 0x00AF # MACRON -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x00B1 # PLUS-MINUS SIGN -0xB2 0x00B2 # SUPERSCRIPT TWO -0xB3 0x00B3 # SUPERSCRIPT THREE -0xB4 0x017D # LATIN CAPITAL LETTER Z WITH CARON -0xB5 0x00B5 # MICRO SIGN -0xB6 0x00B6 # PILCROW SIGN -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x017E # LATIN SMALL LETTER Z WITH CARON -0xB9 0x00B9 # SUPERSCRIPT ONE -0xBA 0x00BA # MASCULINE ORDINAL INDICATOR -0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x0152 # LATIN CAPITAL LIGATURE OE -0xBD 0x0153 # LATIN SMALL LIGATURE OE -0xBE 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS -0xBF 0x00BF # INVERTED QUESTION MARK -0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 # LATIN CAPITAL LETTER AE -0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x00D0 # LATIN CAPITAL LETTER ETH -0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 # MULTIPLICATION SIGN -0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE -0xDE 0x00DE # LATIN CAPITAL LETTER THORN -0xDF 0x00DF # LATIN SMALL LETTER SHARP S -0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 # LATIN SMALL LETTER AE -0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x00F0 # LATIN SMALL LETTER ETH -0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE -0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 # DIVISION SIGN -0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE -0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE -0xFE 0x00FE # LATIN SMALL LETTER THORN -0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS - diff --git a/lib/ucmaps/8859-2.txt b/lib/ucmaps/8859-2.txt deleted file mode 100755 index e45df25eb..000000000 --- a/lib/ucmaps/8859-2.txt +++ /dev/null @@ -1,303 +0,0 @@ -# -# Name: ISO 8859-2:1999 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-2:1999 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-2 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-2 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK -0xA2 0x02D8 # BREVE -0xA3 0x0141 # LATIN CAPITAL LETTER L WITH STROKE -0xA4 0x00A4 # CURRENCY SIGN -0xA5 0x013D # LATIN CAPITAL LETTER L WITH CARON -0xA6 0x015A # LATIN CAPITAL LETTER S WITH ACUTE -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00A8 # DIAERESIS -0xA9 0x0160 # LATIN CAPITAL LETTER S WITH CARON -0xAA 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA -0xAB 0x0164 # LATIN CAPITAL LETTER T WITH CARON -0xAC 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x017D # LATIN CAPITAL LETTER Z WITH CARON -0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK -0xB2 0x02DB # OGONEK -0xB3 0x0142 # LATIN SMALL LETTER L WITH STROKE -0xB4 0x00B4 # ACUTE ACCENT -0xB5 0x013E # LATIN SMALL LETTER L WITH CARON -0xB6 0x015B # LATIN SMALL LETTER S WITH ACUTE -0xB7 0x02C7 # CARON -0xB8 0x00B8 # CEDILLA -0xB9 0x0161 # LATIN SMALL LETTER S WITH CARON -0xBA 0x015F # LATIN SMALL LETTER S WITH CEDILLA -0xBB 0x0165 # LATIN SMALL LETTER T WITH CARON -0xBC 0x017A # LATIN SMALL LETTER Z WITH ACUTE -0xBD 0x02DD # DOUBLE ACUTE ACCENT -0xBE 0x017E # LATIN SMALL LETTER Z WITH CARON -0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE -0xC0 0x0154 # LATIN CAPITAL LETTER R WITH ACUTE -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x0102 # LATIN CAPITAL LETTER A WITH BREVE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x0139 # LATIN CAPITAL LETTER L WITH ACUTE -0xC6 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE -0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x011A # LATIN CAPITAL LETTER E WITH CARON -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x010E # LATIN CAPITAL LETTER D WITH CARON -0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE -0xD1 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE -0xD2 0x0147 # LATIN CAPITAL LETTER N WITH CARON -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 # MULTIPLICATION SIGN -0xD8 0x0158 # LATIN CAPITAL LETTER R WITH CARON -0xD9 0x016E # LATIN CAPITAL LETTER U WITH RING ABOVE -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE -0xDE 0x0162 # LATIN CAPITAL LETTER T WITH CEDILLA -0xDF 0x00DF # LATIN SMALL LETTER SHARP S -0xE0 0x0155 # LATIN SMALL LETTER R WITH ACUTE -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x0103 # LATIN SMALL LETTER A WITH BREVE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x013A # LATIN SMALL LETTER L WITH ACUTE -0xE6 0x0107 # LATIN SMALL LETTER C WITH ACUTE -0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x010D # LATIN SMALL LETTER C WITH CARON -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x011B # LATIN SMALL LETTER E WITH CARON -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x010F # LATIN SMALL LETTER D WITH CARON -0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE -0xF1 0x0144 # LATIN SMALL LETTER N WITH ACUTE -0xF2 0x0148 # LATIN SMALL LETTER N WITH CARON -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 # DIVISION SIGN -0xF8 0x0159 # LATIN SMALL LETTER R WITH CARON -0xF9 0x016F # LATIN SMALL LETTER U WITH RING ABOVE -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x00FD # LATIN SMALL LETTER Y WITH ACUTE -0xFE 0x0163 # LATIN SMALL LETTER T WITH CEDILLA -0xFF 0x02D9 # DOT ABOVE diff --git a/lib/ucmaps/8859-3.txt b/lib/ucmaps/8859-3.txt deleted file mode 100755 index 9b6ac69dd..000000000 --- a/lib/ucmaps/8859-3.txt +++ /dev/null @@ -1,296 +0,0 @@ -# -# Name: ISO/IEC 8859-3:1999 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-3:1999 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-3 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-3 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x0126 # LATIN CAPITAL LETTER H WITH STROKE -0xA2 0x02D8 # BREVE -0xA3 0x00A3 # POUND SIGN -0xA4 0x00A4 # CURRENCY SIGN -0xA6 0x0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00A8 # DIAERESIS -0xA9 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE -0xAA 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA -0xAB 0x011E # LATIN CAPITAL LETTER G WITH BREVE -0xAC 0x0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX -0xAD 0x00AD # SOFT HYPHEN -0xAF 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x0127 # LATIN SMALL LETTER H WITH STROKE -0xB2 0x00B2 # SUPERSCRIPT TWO -0xB3 0x00B3 # SUPERSCRIPT THREE -0xB4 0x00B4 # ACUTE ACCENT -0xB5 0x00B5 # MICRO SIGN -0xB6 0x0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x00B8 # CEDILLA -0xB9 0x0131 # LATIN SMALL LETTER DOTLESS I -0xBA 0x015F # LATIN SMALL LETTER S WITH CEDILLA -0xBB 0x011F # LATIN SMALL LETTER G WITH BREVE -0xBC 0x0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX -0xBD 0x00BD # VULGAR FRACTION ONE HALF -0xBF 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE -0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE -0xC6 0x0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX -0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS -0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 # MULTIPLICATION SIGN -0xD8 0x011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX -0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x016C # LATIN CAPITAL LETTER U WITH BREVE -0xDE 0x015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX -0xDF 0x00DF # LATIN SMALL LETTER SHARP S -0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE -0xE6 0x0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX -0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS -0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE -0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 # DIVISION SIGN -0xF8 0x011D # LATIN SMALL LETTER G WITH CIRCUMFLEX -0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x016D # LATIN SMALL LETTER U WITH BREVE -0xFE 0x015D # LATIN SMALL LETTER S WITH CIRCUMFLEX -0xFF 0x02D9 # DOT ABOVE diff --git a/lib/ucmaps/8859-4.txt b/lib/ucmaps/8859-4.txt deleted file mode 100755 index 662e698ab..000000000 --- a/lib/ucmaps/8859-4.txt +++ /dev/null @@ -1,303 +0,0 @@ -# -# Name: ISO/IEC 8859-4:1998 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-4:1998 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-4 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-4 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK -0xA2 0x0138 # LATIN SMALL LETTER KRA -0xA3 0x0156 # LATIN CAPITAL LETTER R WITH CEDILLA -0xA4 0x00A4 # CURRENCY SIGN -0xA5 0x0128 # LATIN CAPITAL LETTER I WITH TILDE -0xA6 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00A8 # DIAERESIS -0xA9 0x0160 # LATIN CAPITAL LETTER S WITH CARON -0xAA 0x0112 # LATIN CAPITAL LETTER E WITH MACRON -0xAB 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA -0xAC 0x0166 # LATIN CAPITAL LETTER T WITH STROKE -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x017D # LATIN CAPITAL LETTER Z WITH CARON -0xAF 0x00AF # MACRON -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x0105 # LATIN SMALL LETTER A WITH OGONEK -0xB2 0x02DB # OGONEK -0xB3 0x0157 # LATIN SMALL LETTER R WITH CEDILLA -0xB4 0x00B4 # ACUTE ACCENT -0xB5 0x0129 # LATIN SMALL LETTER I WITH TILDE -0xB6 0x013C # LATIN SMALL LETTER L WITH CEDILLA -0xB7 0x02C7 # CARON -0xB8 0x00B8 # CEDILLA -0xB9 0x0161 # LATIN SMALL LETTER S WITH CARON -0xBA 0x0113 # LATIN SMALL LETTER E WITH MACRON -0xBB 0x0123 # LATIN SMALL LETTER G WITH CEDILLA -0xBC 0x0167 # LATIN SMALL LETTER T WITH STROKE -0xBD 0x014A # LATIN CAPITAL LETTER ENG -0xBE 0x017E # LATIN SMALL LETTER Z WITH CARON -0xBF 0x014B # LATIN SMALL LETTER ENG -0xC0 0x0100 # LATIN CAPITAL LETTER A WITH MACRON -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 # LATIN CAPITAL LETTER AE -0xC7 0x012E # LATIN CAPITAL LETTER I WITH OGONEK -0xC8 0x010C # LATIN CAPITAL LETTER C WITH CARON -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x012A # LATIN CAPITAL LETTER I WITH MACRON -0xD0 0x0110 # LATIN CAPITAL LETTER D WITH STROKE -0xD1 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA -0xD2 0x014C # LATIN CAPITAL LETTER O WITH MACRON -0xD3 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 # MULTIPLICATION SIGN -0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x0168 # LATIN CAPITAL LETTER U WITH TILDE -0xDE 0x016A # LATIN CAPITAL LETTER U WITH MACRON -0xDF 0x00DF # LATIN SMALL LETTER SHARP S -0xE0 0x0101 # LATIN SMALL LETTER A WITH MACRON -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 # LATIN SMALL LETTER AE -0xE7 0x012F # LATIN SMALL LETTER I WITH OGONEK -0xE8 0x010D # LATIN SMALL LETTER C WITH CARON -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x0119 # LATIN SMALL LETTER E WITH OGONEK -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x012B # LATIN SMALL LETTER I WITH MACRON -0xF0 0x0111 # LATIN SMALL LETTER D WITH STROKE -0xF1 0x0146 # LATIN SMALL LETTER N WITH CEDILLA -0xF2 0x014D # LATIN SMALL LETTER O WITH MACRON -0xF3 0x0137 # LATIN SMALL LETTER K WITH CEDILLA -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 # DIVISION SIGN -0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE -0xF9 0x0173 # LATIN SMALL LETTER U WITH OGONEK -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x0169 # LATIN SMALL LETTER U WITH TILDE -0xFE 0x016B # LATIN SMALL LETTER U WITH MACRON -0xFF 0x02D9 # DOT ABOVE diff --git a/lib/ucmaps/8859-5.txt b/lib/ucmaps/8859-5.txt deleted file mode 100755 index a7ed1ce2a..000000000 --- a/lib/ucmaps/8859-5.txt +++ /dev/null @@ -1,303 +0,0 @@ -# -# Name: ISO 8859-5:1999 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-5:1999 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-5 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-5 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x0401 # CYRILLIC CAPITAL LETTER IO -0xA2 0x0402 # CYRILLIC CAPITAL LETTER DJE -0xA3 0x0403 # CYRILLIC CAPITAL LETTER GJE -0xA4 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE -0xA5 0x0405 # CYRILLIC CAPITAL LETTER DZE -0xA6 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -0xA7 0x0407 # CYRILLIC CAPITAL LETTER YI -0xA8 0x0408 # CYRILLIC CAPITAL LETTER JE -0xA9 0x0409 # CYRILLIC CAPITAL LETTER LJE -0xAA 0x040A # CYRILLIC CAPITAL LETTER NJE -0xAB 0x040B # CYRILLIC CAPITAL LETTER TSHE -0xAC 0x040C # CYRILLIC CAPITAL LETTER KJE -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x040E # CYRILLIC CAPITAL LETTER SHORT U -0xAF 0x040F # CYRILLIC CAPITAL LETTER DZHE -0xB0 0x0410 # CYRILLIC CAPITAL LETTER A -0xB1 0x0411 # CYRILLIC CAPITAL LETTER BE -0xB2 0x0412 # CYRILLIC CAPITAL LETTER VE -0xB3 0x0413 # CYRILLIC CAPITAL LETTER GHE -0xB4 0x0414 # CYRILLIC CAPITAL LETTER DE -0xB5 0x0415 # CYRILLIC CAPITAL LETTER IE -0xB6 0x0416 # CYRILLIC CAPITAL LETTER ZHE -0xB7 0x0417 # CYRILLIC CAPITAL LETTER ZE -0xB8 0x0418 # CYRILLIC CAPITAL LETTER I -0xB9 0x0419 # CYRILLIC CAPITAL LETTER SHORT I -0xBA 0x041A # CYRILLIC CAPITAL LETTER KA -0xBB 0x041B # CYRILLIC CAPITAL LETTER EL -0xBC 0x041C # CYRILLIC CAPITAL LETTER EM -0xBD 0x041D # CYRILLIC CAPITAL LETTER EN -0xBE 0x041E # CYRILLIC CAPITAL LETTER O -0xBF 0x041F # CYRILLIC CAPITAL LETTER PE -0xC0 0x0420 # CYRILLIC CAPITAL LETTER ER -0xC1 0x0421 # CYRILLIC CAPITAL LETTER ES -0xC2 0x0422 # CYRILLIC CAPITAL LETTER TE -0xC3 0x0423 # CYRILLIC CAPITAL LETTER U -0xC4 0x0424 # CYRILLIC CAPITAL LETTER EF -0xC5 0x0425 # CYRILLIC CAPITAL LETTER HA -0xC6 0x0426 # CYRILLIC CAPITAL LETTER TSE -0xC7 0x0427 # CYRILLIC CAPITAL LETTER CHE -0xC8 0x0428 # CYRILLIC CAPITAL LETTER SHA -0xC9 0x0429 # CYRILLIC CAPITAL LETTER SHCHA -0xCA 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN -0xCB 0x042B # CYRILLIC CAPITAL LETTER YERU -0xCC 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN -0xCD 0x042D # CYRILLIC CAPITAL LETTER E -0xCE 0x042E # CYRILLIC CAPITAL LETTER YU -0xCF 0x042F # CYRILLIC CAPITAL LETTER YA -0xD0 0x0430 # CYRILLIC SMALL LETTER A -0xD1 0x0431 # CYRILLIC SMALL LETTER BE -0xD2 0x0432 # CYRILLIC SMALL LETTER VE -0xD3 0x0433 # CYRILLIC SMALL LETTER GHE -0xD4 0x0434 # CYRILLIC SMALL LETTER DE -0xD5 0x0435 # CYRILLIC SMALL LETTER IE -0xD6 0x0436 # CYRILLIC SMALL LETTER ZHE -0xD7 0x0437 # CYRILLIC SMALL LETTER ZE -0xD8 0x0438 # CYRILLIC SMALL LETTER I -0xD9 0x0439 # CYRILLIC SMALL LETTER SHORT I -0xDA 0x043A # CYRILLIC SMALL LETTER KA -0xDB 0x043B # CYRILLIC SMALL LETTER EL -0xDC 0x043C # CYRILLIC SMALL LETTER EM -0xDD 0x043D # CYRILLIC SMALL LETTER EN -0xDE 0x043E # CYRILLIC SMALL LETTER O -0xDF 0x043F # CYRILLIC SMALL LETTER PE -0xE0 0x0440 # CYRILLIC SMALL LETTER ER -0xE1 0x0441 # CYRILLIC SMALL LETTER ES -0xE2 0x0442 # CYRILLIC SMALL LETTER TE -0xE3 0x0443 # CYRILLIC SMALL LETTER U -0xE4 0x0444 # CYRILLIC SMALL LETTER EF -0xE5 0x0445 # CYRILLIC SMALL LETTER HA -0xE6 0x0446 # CYRILLIC SMALL LETTER TSE -0xE7 0x0447 # CYRILLIC SMALL LETTER CHE -0xE8 0x0448 # CYRILLIC SMALL LETTER SHA -0xE9 0x0449 # CYRILLIC SMALL LETTER SHCHA -0xEA 0x044A # CYRILLIC SMALL LETTER HARD SIGN -0xEB 0x044B # CYRILLIC SMALL LETTER YERU -0xEC 0x044C # CYRILLIC SMALL LETTER SOFT SIGN -0xED 0x044D # CYRILLIC SMALL LETTER E -0xEE 0x044E # CYRILLIC SMALL LETTER YU -0xEF 0x044F # CYRILLIC SMALL LETTER YA -0xF0 0x2116 # NUMERO SIGN -0xF1 0x0451 # CYRILLIC SMALL LETTER IO -0xF2 0x0452 # CYRILLIC SMALL LETTER DJE -0xF3 0x0453 # CYRILLIC SMALL LETTER GJE -0xF4 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE -0xF5 0x0455 # CYRILLIC SMALL LETTER DZE -0xF6 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -0xF7 0x0457 # CYRILLIC SMALL LETTER YI -0xF8 0x0458 # CYRILLIC SMALL LETTER JE -0xF9 0x0459 # CYRILLIC SMALL LETTER LJE -0xFA 0x045A # CYRILLIC SMALL LETTER NJE -0xFB 0x045B # CYRILLIC SMALL LETTER TSHE -0xFC 0x045C # CYRILLIC SMALL LETTER KJE -0xFD 0x00A7 # SECTION SIGN -0xFE 0x045E # CYRILLIC SMALL LETTER SHORT U -0xFF 0x045F # CYRILLIC SMALL LETTER DZHE diff --git a/lib/ucmaps/8859-6.txt b/lib/ucmaps/8859-6.txt deleted file mode 100755 index 69ac7f589..000000000 --- a/lib/ucmaps/8859-6.txt +++ /dev/null @@ -1,260 +0,0 @@ -# -# Name: ISO 8859-6:1999 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-6:1999 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-6 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-6 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# 0x30..0x39 remapped to the ASCII digits (U+0030..U+0039) instead -# of the Arabic digits (U+0660..U+0669). -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA4 0x00A4 # CURRENCY SIGN -0xAC 0x060C # ARABIC COMMA -0xAD 0x00AD # SOFT HYPHEN -0xBB 0x061B # ARABIC SEMICOLON -0xBF 0x061F # ARABIC QUESTION MARK -0xC1 0x0621 # ARABIC LETTER HAMZA -0xC2 0x0622 # ARABIC LETTER ALEF WITH MADDA ABOVE -0xC3 0x0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE -0xC4 0x0624 # ARABIC LETTER WAW WITH HAMZA ABOVE -0xC5 0x0625 # ARABIC LETTER ALEF WITH HAMZA BELOW -0xC6 0x0626 # ARABIC LETTER YEH WITH HAMZA ABOVE -0xC7 0x0627 # ARABIC LETTER ALEF -0xC8 0x0628 # ARABIC LETTER BEH -0xC9 0x0629 # ARABIC LETTER TEH MARBUTA -0xCA 0x062A # ARABIC LETTER TEH -0xCB 0x062B # ARABIC LETTER THEH -0xCC 0x062C # ARABIC LETTER JEEM -0xCD 0x062D # ARABIC LETTER HAH -0xCE 0x062E # ARABIC LETTER KHAH -0xCF 0x062F # ARABIC LETTER DAL -0xD0 0x0630 # ARABIC LETTER THAL -0xD1 0x0631 # ARABIC LETTER REH -0xD2 0x0632 # ARABIC LETTER ZAIN -0xD3 0x0633 # ARABIC LETTER SEEN -0xD4 0x0634 # ARABIC LETTER SHEEN -0xD5 0x0635 # ARABIC LETTER SAD -0xD6 0x0636 # ARABIC LETTER DAD -0xD7 0x0637 # ARABIC LETTER TAH -0xD8 0x0638 # ARABIC LETTER ZAH -0xD9 0x0639 # ARABIC LETTER AIN -0xDA 0x063A # ARABIC LETTER GHAIN -0xE0 0x0640 # ARABIC TATWEEL -0xE1 0x0641 # ARABIC LETTER FEH -0xE2 0x0642 # ARABIC LETTER QAF -0xE3 0x0643 # ARABIC LETTER KAF -0xE4 0x0644 # ARABIC LETTER LAM -0xE5 0x0645 # ARABIC LETTER MEEM -0xE6 0x0646 # ARABIC LETTER NOON -0xE7 0x0647 # ARABIC LETTER HEH -0xE8 0x0648 # ARABIC LETTER WAW -0xE9 0x0649 # ARABIC LETTER ALEF MAKSURA -0xEA 0x064A # ARABIC LETTER YEH -0xEB 0x064B # ARABIC FATHATAN -0xEC 0x064C # ARABIC DAMMATAN -0xED 0x064D # ARABIC KASRATAN -0xEE 0x064E # ARABIC FATHA -0xEF 0x064F # ARABIC DAMMA -0xF0 0x0650 # ARABIC KASRA -0xF1 0x0651 # ARABIC SHADDA -0xF2 0x0652 # ARABIC SUKUN diff --git a/lib/ucmaps/8859-7.txt b/lib/ucmaps/8859-7.txt deleted file mode 100755 index 52c42d08a..000000000 --- a/lib/ucmaps/8859-7.txt +++ /dev/null @@ -1,302 +0,0 @@ -# -# Name: ISO 8859-7:1987 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO 8859-7:1987 characters map into Unicode. -# -# ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928, -# and ECMA 118. -# -# Format: Three tab-separated columns -# Column #1 is the ISO 8859-7 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO 8859-7 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7 -# Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7 -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x2018 # LEFT SINGLE QUOTATION MARK -0xA2 0x2019 # RIGHT SINGLE QUOTATION MARK -0xA3 0x00A3 # POUND SIGN -0xA6 0x00A6 # BROKEN BAR -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00A8 # DIAERESIS -0xA9 0x00A9 # COPYRIGHT SIGN -0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC # NOT SIGN -0xAD 0x00AD # SOFT HYPHEN -0xAF 0x2015 # HORIZONTAL BAR -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x00B1 # PLUS-MINUS SIGN -0xB2 0x00B2 # SUPERSCRIPT TWO -0xB3 0x00B3 # SUPERSCRIPT THREE -0xB4 0x0384 # GREEK TONOS -0xB5 0x0385 # GREEK DIALYTIKA TONOS -0xB6 0x0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS -0xB9 0x0389 # GREEK CAPITAL LETTER ETA WITH TONOS -0xBA 0x038A # GREEK CAPITAL LETTER IOTA WITH TONOS -0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x038C # GREEK CAPITAL LETTER OMICRON WITH TONOS -0xBD 0x00BD # VULGAR FRACTION ONE HALF -0xBE 0x038E # GREEK CAPITAL LETTER UPSILON WITH TONOS -0xBF 0x038F # GREEK CAPITAL LETTER OMEGA WITH TONOS -0xC0 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -0xC1 0x0391 # GREEK CAPITAL LETTER ALPHA -0xC2 0x0392 # GREEK CAPITAL LETTER BETA -0xC3 0x0393 # GREEK CAPITAL LETTER GAMMA -0xC4 0x0394 # GREEK CAPITAL LETTER DELTA -0xC5 0x0395 # GREEK CAPITAL LETTER EPSILON -0xC6 0x0396 # GREEK CAPITAL LETTER ZETA -0xC7 0x0397 # GREEK CAPITAL LETTER ETA -0xC8 0x0398 # GREEK CAPITAL LETTER THETA -0xC9 0x0399 # GREEK CAPITAL LETTER IOTA -0xCA 0x039A # GREEK CAPITAL LETTER KAPPA -0xCB 0x039B # GREEK CAPITAL LETTER LAMDA -0xCC 0x039C # GREEK CAPITAL LETTER MU -0xCD 0x039D # GREEK CAPITAL LETTER NU -0xCE 0x039E # GREEK CAPITAL LETTER XI -0xCF 0x039F # GREEK CAPITAL LETTER OMICRON -0xD0 0x03A0 # GREEK CAPITAL LETTER PI -0xD1 0x03A1 # GREEK CAPITAL LETTER RHO -0xD3 0x03A3 # GREEK CAPITAL LETTER SIGMA -0xD4 0x03A4 # GREEK CAPITAL LETTER TAU -0xD5 0x03A5 # GREEK CAPITAL LETTER UPSILON -0xD6 0x03A6 # GREEK CAPITAL LETTER PHI -0xD7 0x03A7 # GREEK CAPITAL LETTER CHI -0xD8 0x03A8 # GREEK CAPITAL LETTER PSI -0xD9 0x03A9 # GREEK CAPITAL LETTER OMEGA -0xDA 0x03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -0xDB 0x03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -0xDC 0x03AC # GREEK SMALL LETTER ALPHA WITH TONOS -0xDD 0x03AD # GREEK SMALL LETTER EPSILON WITH TONOS -0xDE 0x03AE # GREEK SMALL LETTER ETA WITH TONOS -0xDF 0x03AF # GREEK SMALL LETTER IOTA WITH TONOS -0xE0 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -0xE1 0x03B1 # GREEK SMALL LETTER ALPHA -0xE2 0x03B2 # GREEK SMALL LETTER BETA -0xE3 0x03B3 # GREEK SMALL LETTER GAMMA -0xE4 0x03B4 # GREEK SMALL LETTER DELTA -0xE5 0x03B5 # GREEK SMALL LETTER EPSILON -0xE6 0x03B6 # GREEK SMALL LETTER ZETA -0xE7 0x03B7 # GREEK SMALL LETTER ETA -0xE8 0x03B8 # GREEK SMALL LETTER THETA -0xE9 0x03B9 # GREEK SMALL LETTER IOTA -0xEA 0x03BA # GREEK SMALL LETTER KAPPA -0xEB 0x03BB # GREEK SMALL LETTER LAMDA -0xEC 0x03BC # GREEK SMALL LETTER MU -0xED 0x03BD # GREEK SMALL LETTER NU -0xEE 0x03BE # GREEK SMALL LETTER XI -0xEF 0x03BF # GREEK SMALL LETTER OMICRON -0xF0 0x03C0 # GREEK SMALL LETTER PI -0xF1 0x03C1 # GREEK SMALL LETTER RHO -0xF2 0x03C2 # GREEK SMALL LETTER FINAL SIGMA -0xF3 0x03C3 # GREEK SMALL LETTER SIGMA -0xF4 0x03C4 # GREEK SMALL LETTER TAU -0xF5 0x03C5 # GREEK SMALL LETTER UPSILON -0xF6 0x03C6 # GREEK SMALL LETTER PHI -0xF7 0x03C7 # GREEK SMALL LETTER CHI -0xF8 0x03C8 # GREEK SMALL LETTER PSI -0xF9 0x03C9 # GREEK SMALL LETTER OMEGA -0xFA 0x03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA -0xFB 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA -0xFC 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS -0xFD 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS -0xFE 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS diff --git a/lib/ucmaps/8859-8.txt b/lib/ucmaps/8859-8.txt deleted file mode 100755 index bc8da4c7f..000000000 --- a/lib/ucmaps/8859-8.txt +++ /dev/null @@ -1,270 +0,0 @@ -# -# Name: ISO/IEC 8859-8:1999 to Unicode -# Unicode version: 3.0 -# Table version: 1.1 -# Table format: Format A -# Date: 2000-Jan-03 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-8:1999 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-8 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-8 order. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# 1.1 version updates to the published 8859-8:1999, correcting -# the mapping of 0xAF and adding mappings for LRM and RLM. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA2 0x00A2 # CENT SIGN -0xA3 0x00A3 # POUND SIGN -0xA4 0x00A4 # CURRENCY SIGN -0xA5 0x00A5 # YEN SIGN -0xA6 0x00A6 # BROKEN BAR -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00A8 # DIAERESIS -0xA9 0x00A9 # COPYRIGHT SIGN -0xAA 0x00D7 # MULTIPLICATION SIGN -0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC # NOT SIGN -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x00AE # REGISTERED SIGN -0xAF 0x00AF # MACRON -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x00B1 # PLUS-MINUS SIGN -0xB2 0x00B2 # SUPERSCRIPT TWO -0xB3 0x00B3 # SUPERSCRIPT THREE -0xB4 0x00B4 # ACUTE ACCENT -0xB5 0x00B5 # MICRO SIGN -0xB6 0x00B6 # PILCROW SIGN -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x00B8 # CEDILLA -0xB9 0x00B9 # SUPERSCRIPT ONE -0xBA 0x00F7 # DIVISION SIGN -0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC # VULGAR FRACTION ONE QUARTER -0xBD 0x00BD # VULGAR FRACTION ONE HALF -0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS -0xDF 0x2017 # DOUBLE LOW LINE -0xE0 0x05D0 # HEBREW LETTER ALEF -0xE1 0x05D1 # HEBREW LETTER BET -0xE2 0x05D2 # HEBREW LETTER GIMEL -0xE3 0x05D3 # HEBREW LETTER DALET -0xE4 0x05D4 # HEBREW LETTER HE -0xE5 0x05D5 # HEBREW LETTER VAV -0xE6 0x05D6 # HEBREW LETTER ZAYIN -0xE7 0x05D7 # HEBREW LETTER HET -0xE8 0x05D8 # HEBREW LETTER TET -0xE9 0x05D9 # HEBREW LETTER YOD -0xEA 0x05DA # HEBREW LETTER FINAL KAF -0xEB 0x05DB # HEBREW LETTER KAF -0xEC 0x05DC # HEBREW LETTER LAMED -0xED 0x05DD # HEBREW LETTER FINAL MEM -0xEE 0x05DE # HEBREW LETTER MEM -0xEF 0x05DF # HEBREW LETTER FINAL NUN -0xF0 0x05E0 # HEBREW LETTER NUN -0xF1 0x05E1 # HEBREW LETTER SAMEKH -0xF2 0x05E2 # HEBREW LETTER AYIN -0xF3 0x05E3 # HEBREW LETTER FINAL PE -0xF4 0x05E4 # HEBREW LETTER PE -0xF5 0x05E5 # HEBREW LETTER FINAL TSADI -0xF6 0x05E6 # HEBREW LETTER TSADI -0xF7 0x05E7 # HEBREW LETTER QOF -0xF8 0x05E8 # HEBREW LETTER RESH -0xF9 0x05E9 # HEBREW LETTER SHIN -0xFA 0x05EA # HEBREW LETTER TAV -0xFD 0x200E # LEFT-TO-RIGHT MARK -0xFE 0x200F # RIGHT-TO-LEFT MARK - diff --git a/lib/ucmaps/8859-9.txt b/lib/ucmaps/8859-9.txt deleted file mode 100755 index 22901f107..000000000 --- a/lib/ucmaps/8859-9.txt +++ /dev/null @@ -1,307 +0,0 @@ -# -# Name: ISO/IEC 8859-9:1999 to Unicode -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler -# -# Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on magnetic media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# ISO/IEC 8859-9:1999 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the ISO/IEC 8859-9 code (in hex as 0xXX) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 the Unicode name (follows a comment sign, '#') -# -# The entries are in ISO/IEC 8859-9 order. -# -# ISO/IEC 8859-9 is also equivalent to ISO-IR-148. -# -# Version history -# 1.0 version updates 0.1 version by adding mappings for all -# control characters. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 # NULL -0x01 0x0001 # START OF HEADING -0x02 0x0002 # START OF TEXT -0x03 0x0003 # END OF TEXT -0x04 0x0004 # END OF TRANSMISSION -0x05 0x0005 # ENQUIRY -0x06 0x0006 # ACKNOWLEDGE -0x07 0x0007 # BELL -0x08 0x0008 # BACKSPACE -0x09 0x0009 # HORIZONTAL TABULATION -0x0A 0x000A # LINE FEED -0x0B 0x000B # VERTICAL TABULATION -0x0C 0x000C # FORM FEED -0x0D 0x000D # CARRIAGE RETURN -0x0E 0x000E # SHIFT OUT -0x0F 0x000F # SHIFT IN -0x10 0x0010 # DATA LINK ESCAPE -0x11 0x0011 # DEVICE CONTROL ONE -0x12 0x0012 # DEVICE CONTROL TWO -0x13 0x0013 # DEVICE CONTROL THREE -0x14 0x0014 # DEVICE CONTROL FOUR -0x15 0x0015 # NEGATIVE ACKNOWLEDGE -0x16 0x0016 # SYNCHRONOUS IDLE -0x17 0x0017 # END OF TRANSMISSION BLOCK -0x18 0x0018 # CANCEL -0x19 0x0019 # END OF MEDIUM -0x1A 0x001A # SUBSTITUTE -0x1B 0x001B # ESCAPE -0x1C 0x001C # FILE SEPARATOR -0x1D 0x001D # GROUP SEPARATOR -0x1E 0x001E # RECORD SEPARATOR -0x1F 0x001F # UNIT SEPARATOR -0x20 0x0020 # SPACE -0x21 0x0021 # EXCLAMATION MARK -0x22 0x0022 # QUOTATION MARK -0x23 0x0023 # NUMBER SIGN -0x24 0x0024 # DOLLAR SIGN -0x25 0x0025 # PERCENT SIGN -0x26 0x0026 # AMPERSAND -0x27 0x0027 # APOSTROPHE -0x28 0x0028 # LEFT PARENTHESIS -0x29 0x0029 # RIGHT PARENTHESIS -0x2A 0x002A # ASTERISK -0x2B 0x002B # PLUS SIGN -0x2C 0x002C # COMMA -0x2D 0x002D # HYPHEN-MINUS -0x2E 0x002E # FULL STOP -0x2F 0x002F # SOLIDUS -0x30 0x0030 # DIGIT ZERO -0x31 0x0031 # DIGIT ONE -0x32 0x0032 # DIGIT TWO -0x33 0x0033 # DIGIT THREE -0x34 0x0034 # DIGIT FOUR -0x35 0x0035 # DIGIT FIVE -0x36 0x0036 # DIGIT SIX -0x37 0x0037 # DIGIT SEVEN -0x38 0x0038 # DIGIT EIGHT -0x39 0x0039 # DIGIT NINE -0x3A 0x003A # COLON -0x3B 0x003B # SEMICOLON -0x3C 0x003C # LESS-THAN SIGN -0x3D 0x003D # EQUALS SIGN -0x3E 0x003E # GREATER-THAN SIGN -0x3F 0x003F # QUESTION MARK -0x40 0x0040 # COMMERCIAL AT -0x41 0x0041 # LATIN CAPITAL LETTER A -0x42 0x0042 # LATIN CAPITAL LETTER B -0x43 0x0043 # LATIN CAPITAL LETTER C -0x44 0x0044 # LATIN CAPITAL LETTER D -0x45 0x0045 # LATIN CAPITAL LETTER E -0x46 0x0046 # LATIN CAPITAL LETTER F -0x47 0x0047 # LATIN CAPITAL LETTER G -0x48 0x0048 # LATIN CAPITAL LETTER H -0x49 0x0049 # LATIN CAPITAL LETTER I -0x4A 0x004A # LATIN CAPITAL LETTER J -0x4B 0x004B # LATIN CAPITAL LETTER K -0x4C 0x004C # LATIN CAPITAL LETTER L -0x4D 0x004D # LATIN CAPITAL LETTER M -0x4E 0x004E # LATIN CAPITAL LETTER N -0x4F 0x004F # LATIN CAPITAL LETTER O -0x50 0x0050 # LATIN CAPITAL LETTER P -0x51 0x0051 # LATIN CAPITAL LETTER Q -0x52 0x0052 # LATIN CAPITAL LETTER R -0x53 0x0053 # LATIN CAPITAL LETTER S -0x54 0x0054 # LATIN CAPITAL LETTER T -0x55 0x0055 # LATIN CAPITAL LETTER U -0x56 0x0056 # LATIN CAPITAL LETTER V -0x57 0x0057 # LATIN CAPITAL LETTER W -0x58 0x0058 # LATIN CAPITAL LETTER X -0x59 0x0059 # LATIN CAPITAL LETTER Y -0x5A 0x005A # LATIN CAPITAL LETTER Z -0x5B 0x005B # LEFT SQUARE BRACKET -0x5C 0x005C # REVERSE SOLIDUS -0x5D 0x005D # RIGHT SQUARE BRACKET -0x5E 0x005E # CIRCUMFLEX ACCENT -0x5F 0x005F # LOW LINE -0x60 0x0060 # GRAVE ACCENT -0x61 0x0061 # LATIN SMALL LETTER A -0x62 0x0062 # LATIN SMALL LETTER B -0x63 0x0063 # LATIN SMALL LETTER C -0x64 0x0064 # LATIN SMALL LETTER D -0x65 0x0065 # LATIN SMALL LETTER E -0x66 0x0066 # LATIN SMALL LETTER F -0x67 0x0067 # LATIN SMALL LETTER G -0x68 0x0068 # LATIN SMALL LETTER H -0x69 0x0069 # LATIN SMALL LETTER I -0x6A 0x006A # LATIN SMALL LETTER J -0x6B 0x006B # LATIN SMALL LETTER K -0x6C 0x006C # LATIN SMALL LETTER L -0x6D 0x006D # LATIN SMALL LETTER M -0x6E 0x006E # LATIN SMALL LETTER N -0x6F 0x006F # LATIN SMALL LETTER O -0x70 0x0070 # LATIN SMALL LETTER P -0x71 0x0071 # LATIN SMALL LETTER Q -0x72 0x0072 # LATIN SMALL LETTER R -0x73 0x0073 # LATIN SMALL LETTER S -0x74 0x0074 # LATIN SMALL LETTER T -0x75 0x0075 # LATIN SMALL LETTER U -0x76 0x0076 # LATIN SMALL LETTER V -0x77 0x0077 # LATIN SMALL LETTER W -0x78 0x0078 # LATIN SMALL LETTER X -0x79 0x0079 # LATIN SMALL LETTER Y -0x7A 0x007A # LATIN SMALL LETTER Z -0x7B 0x007B # LEFT CURLY BRACKET -0x7C 0x007C # VERTICAL LINE -0x7D 0x007D # RIGHT CURLY BRACKET -0x7E 0x007E # TILDE -0x7F 0x007F # DELETE -0x80 0x0080 # -0x81 0x0081 # -0x82 0x0082 # -0x83 0x0083 # -0x84 0x0084 # -0x85 0x0085 # -0x86 0x0086 # -0x87 0x0087 # -0x88 0x0088 # -0x89 0x0089 # -0x8A 0x008A # -0x8B 0x008B # -0x8C 0x008C # -0x8D 0x008D # -0x8E 0x008E # -0x8F 0x008F # -0x90 0x0090 # -0x91 0x0091 # -0x92 0x0092 # -0x93 0x0093 # -0x94 0x0094 # -0x95 0x0095 # -0x96 0x0096 # -0x97 0x0097 # -0x98 0x0098 # -0x99 0x0099 # -0x9A 0x009A # -0x9B 0x009B # -0x9C 0x009C # -0x9D 0x009D # -0x9E 0x009E # -0x9F 0x009F # -0xA0 0x00A0 # NO-BREAK SPACE -0xA1 0x00A1 # INVERTED EXCLAMATION MARK -0xA2 0x00A2 # CENT SIGN -0xA3 0x00A3 # POUND SIGN -0xA4 0x00A4 # CURRENCY SIGN -0xA5 0x00A5 # YEN SIGN -0xA6 0x00A6 # BROKEN BAR -0xA7 0x00A7 # SECTION SIGN -0xA8 0x00A8 # DIAERESIS -0xA9 0x00A9 # COPYRIGHT SIGN -0xAA 0x00AA # FEMININE ORDINAL INDICATOR -0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC # NOT SIGN -0xAD 0x00AD # SOFT HYPHEN -0xAE 0x00AE # REGISTERED SIGN -0xAF 0x00AF # MACRON -0xB0 0x00B0 # DEGREE SIGN -0xB1 0x00B1 # PLUS-MINUS SIGN -0xB2 0x00B2 # SUPERSCRIPT TWO -0xB3 0x00B3 # SUPERSCRIPT THREE -0xB4 0x00B4 # ACUTE ACCENT -0xB5 0x00B5 # MICRO SIGN -0xB6 0x00B6 # PILCROW SIGN -0xB7 0x00B7 # MIDDLE DOT -0xB8 0x00B8 # CEDILLA -0xB9 0x00B9 # SUPERSCRIPT ONE -0xBA 0x00BA # MASCULINE ORDINAL INDICATOR -0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC # VULGAR FRACTION ONE QUARTER -0xBD 0x00BD # VULGAR FRACTION ONE HALF -0xBE 0x00BE # VULGAR FRACTION THREE QUARTERS -0xBF 0x00BF # INVERTED QUESTION MARK -0xC0 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 # LATIN CAPITAL LETTER AE -0xC7 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE -0xCD 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x011E # LATIN CAPITAL LETTER G WITH BREVE -0xD1 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE -0xD3 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 # MULTIPLICATION SIGN -0xD8 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE -0xDE 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA -0xDF 0x00DF # LATIN SMALL LETTER SHARP S -0xE0 0x00E0 # LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 # LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 # LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 # LATIN SMALL LETTER AE -0xE7 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 # LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 # LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x00EC # LATIN SMALL LETTER I WITH GRAVE -0xED 0x00ED # LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x011F # LATIN SMALL LETTER G WITH BREVE -0xF1 0x00F1 # LATIN SMALL LETTER N WITH TILDE -0xF2 0x00F2 # LATIN SMALL LETTER O WITH GRAVE -0xF3 0x00F3 # LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 # LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 # DIVISION SIGN -0xF8 0x00F8 # LATIN SMALL LETTER O WITH STROKE -0xF9 0x00F9 # LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA # LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x0131 # LATIN SMALL LETTER DOTLESS I -0xFE 0x015F # LATIN SMALL LETTER S WITH CEDILLA -0xFF 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS - - diff --git a/lib/ucmaps/cp1250.txt b/lib/ucmaps/cp1250.txt deleted file mode 100755 index 081d7763b..000000000 --- a/lib/ucmaps/cp1250.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1250 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1250 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1250 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 #UNDEFINED -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 #UNDEFINED -0x89 0x2030 #PER MILLE SIGN -0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C 0x015A #LATIN CAPITAL LETTER S WITH ACUTE -0x8D 0x0164 #LATIN CAPITAL LETTER T WITH CARON -0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON -0x8F 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 #UNDEFINED -0x99 0x2122 #TRADE MARK SIGN -0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C 0x015B #LATIN SMALL LETTER S WITH ACUTE -0x9D 0x0165 #LATIN SMALL LETTER T WITH CARON -0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON -0x9F 0x017A #LATIN SMALL LETTER Z WITH ACUTE -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x02C7 #CARON -0xA2 0x02D8 #BREVE -0xA3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE -0xA4 0x00A4 #CURRENCY SIGN -0xA5 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00A8 #DIAERESIS -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x02DB #OGONEK -0xB3 0x0142 #LATIN SMALL LETTER L WITH STROKE -0xB4 0x00B4 #ACUTE ACCENT -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x00B8 #CEDILLA -0xB9 0x0105 #LATIN SMALL LETTER A WITH OGONEK -0xBA 0x015F #LATIN SMALL LETTER S WITH CEDILLA -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x013D #LATIN CAPITAL LETTER L WITH CARON -0xBD 0x02DD #DOUBLE ACUTE ACCENT -0xBE 0x013E #LATIN SMALL LETTER L WITH CARON -0xBF 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE -0xC0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE -0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE -0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE -0xC6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE -0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON -0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK -0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x011A #LATIN CAPITAL LETTER E WITH CARON -0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x010E #LATIN CAPITAL LETTER D WITH CARON -0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE -0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE -0xD2 0x0147 #LATIN CAPITAL LETTER N WITH CARON -0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 #MULTIPLICATION SIGN -0xD8 0x0158 #LATIN CAPITAL LETTER R WITH CARON -0xD9 0x016E #LATIN CAPITAL LETTER U WITH RING ABOVE -0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE -0xDE 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA -0xDF 0x00DF #LATIN SMALL LETTER SHARP S -0xE0 0x0155 #LATIN SMALL LETTER R WITH ACUTE -0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE -0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x013A #LATIN SMALL LETTER L WITH ACUTE -0xE6 0x0107 #LATIN SMALL LETTER C WITH ACUTE -0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x010D #LATIN SMALL LETTER C WITH CARON -0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE -0xEA 0x0119 #LATIN SMALL LETTER E WITH OGONEK -0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x011B #LATIN SMALL LETTER E WITH CARON -0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x010F #LATIN SMALL LETTER D WITH CARON -0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE -0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE -0xF2 0x0148 #LATIN SMALL LETTER N WITH CARON -0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE -0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 #DIVISION SIGN -0xF8 0x0159 #LATIN SMALL LETTER R WITH CARON -0xF9 0x016F #LATIN SMALL LETTER U WITH RING ABOVE -0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE -0xFB 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE -0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE -0xFE 0x0163 #LATIN SMALL LETTER T WITH CEDILLA -0xFF 0x02D9 #DOT ABOVE diff --git a/lib/ucmaps/cp1251.txt b/lib/ucmaps/cp1251.txt deleted file mode 100755 index 37eadbdbc..000000000 --- a/lib/ucmaps/cp1251.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1251 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1251 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1251 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x0402 #CYRILLIC CAPITAL LETTER DJE -0x81 0x0403 #CYRILLIC CAPITAL LETTER GJE -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 0x0453 #CYRILLIC SMALL LETTER GJE -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 0x20AC #EURO SIGN -0x89 0x2030 #PER MILLE SIGN -0x8A 0x0409 #CYRILLIC CAPITAL LETTER LJE -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C 0x040A #CYRILLIC CAPITAL LETTER NJE -0x8D 0x040C #CYRILLIC CAPITAL LETTER KJE -0x8E 0x040B #CYRILLIC CAPITAL LETTER TSHE -0x8F 0x040F #CYRILLIC CAPITAL LETTER DZHE -0x90 0x0452 #CYRILLIC SMALL LETTER DJE -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 #UNDEFINED -0x99 0x2122 #TRADE MARK SIGN -0x9A 0x0459 #CYRILLIC SMALL LETTER LJE -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C 0x045A #CYRILLIC SMALL LETTER NJE -0x9D 0x045C #CYRILLIC SMALL LETTER KJE -0x9E 0x045B #CYRILLIC SMALL LETTER TSHE -0x9F 0x045F #CYRILLIC SMALL LETTER DZHE -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x040E #CYRILLIC CAPITAL LETTER SHORT U -0xA2 0x045E #CYRILLIC SMALL LETTER SHORT U -0xA3 0x0408 #CYRILLIC CAPITAL LETTER JE -0xA4 0x00A4 #CURRENCY SIGN -0xA5 0x0490 #CYRILLIC CAPITAL LETTER GHE WITH UPTURN -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x0401 #CYRILLIC CAPITAL LETTER IO -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x0407 #CYRILLIC CAPITAL LETTER YI -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -0xB3 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -0xB4 0x0491 #CYRILLIC SMALL LETTER GHE WITH UPTURN -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x0451 #CYRILLIC SMALL LETTER IO -0xB9 0x2116 #NUMERO SIGN -0xBA 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x0458 #CYRILLIC SMALL LETTER JE -0xBD 0x0405 #CYRILLIC CAPITAL LETTER DZE -0xBE 0x0455 #CYRILLIC SMALL LETTER DZE -0xBF 0x0457 #CYRILLIC SMALL LETTER YI -0xC0 0x0410 #CYRILLIC CAPITAL LETTER A -0xC1 0x0411 #CYRILLIC CAPITAL LETTER BE -0xC2 0x0412 #CYRILLIC CAPITAL LETTER VE -0xC3 0x0413 #CYRILLIC CAPITAL LETTER GHE -0xC4 0x0414 #CYRILLIC CAPITAL LETTER DE -0xC5 0x0415 #CYRILLIC CAPITAL LETTER IE -0xC6 0x0416 #CYRILLIC CAPITAL LETTER ZHE -0xC7 0x0417 #CYRILLIC CAPITAL LETTER ZE -0xC8 0x0418 #CYRILLIC CAPITAL LETTER I -0xC9 0x0419 #CYRILLIC CAPITAL LETTER SHORT I -0xCA 0x041A #CYRILLIC CAPITAL LETTER KA -0xCB 0x041B #CYRILLIC CAPITAL LETTER EL -0xCC 0x041C #CYRILLIC CAPITAL LETTER EM -0xCD 0x041D #CYRILLIC CAPITAL LETTER EN -0xCE 0x041E #CYRILLIC CAPITAL LETTER O -0xCF 0x041F #CYRILLIC CAPITAL LETTER PE -0xD0 0x0420 #CYRILLIC CAPITAL LETTER ER -0xD1 0x0421 #CYRILLIC CAPITAL LETTER ES -0xD2 0x0422 #CYRILLIC CAPITAL LETTER TE -0xD3 0x0423 #CYRILLIC CAPITAL LETTER U -0xD4 0x0424 #CYRILLIC CAPITAL LETTER EF -0xD5 0x0425 #CYRILLIC CAPITAL LETTER HA -0xD6 0x0426 #CYRILLIC CAPITAL LETTER TSE -0xD7 0x0427 #CYRILLIC CAPITAL LETTER CHE -0xD8 0x0428 #CYRILLIC CAPITAL LETTER SHA -0xD9 0x0429 #CYRILLIC CAPITAL LETTER SHCHA -0xDA 0x042A #CYRILLIC CAPITAL LETTER HARD SIGN -0xDB 0x042B #CYRILLIC CAPITAL LETTER YERU -0xDC 0x042C #CYRILLIC CAPITAL LETTER SOFT SIGN -0xDD 0x042D #CYRILLIC CAPITAL LETTER E -0xDE 0x042E #CYRILLIC CAPITAL LETTER YU -0xDF 0x042F #CYRILLIC CAPITAL LETTER YA -0xE0 0x0430 #CYRILLIC SMALL LETTER A -0xE1 0x0431 #CYRILLIC SMALL LETTER BE -0xE2 0x0432 #CYRILLIC SMALL LETTER VE -0xE3 0x0433 #CYRILLIC SMALL LETTER GHE -0xE4 0x0434 #CYRILLIC SMALL LETTER DE -0xE5 0x0435 #CYRILLIC SMALL LETTER IE -0xE6 0x0436 #CYRILLIC SMALL LETTER ZHE -0xE7 0x0437 #CYRILLIC SMALL LETTER ZE -0xE8 0x0438 #CYRILLIC SMALL LETTER I -0xE9 0x0439 #CYRILLIC SMALL LETTER SHORT I -0xEA 0x043A #CYRILLIC SMALL LETTER KA -0xEB 0x043B #CYRILLIC SMALL LETTER EL -0xEC 0x043C #CYRILLIC SMALL LETTER EM -0xED 0x043D #CYRILLIC SMALL LETTER EN -0xEE 0x043E #CYRILLIC SMALL LETTER O -0xEF 0x043F #CYRILLIC SMALL LETTER PE -0xF0 0x0440 #CYRILLIC SMALL LETTER ER -0xF1 0x0441 #CYRILLIC SMALL LETTER ES -0xF2 0x0442 #CYRILLIC SMALL LETTER TE -0xF3 0x0443 #CYRILLIC SMALL LETTER U -0xF4 0x0444 #CYRILLIC SMALL LETTER EF -0xF5 0x0445 #CYRILLIC SMALL LETTER HA -0xF6 0x0446 #CYRILLIC SMALL LETTER TSE -0xF7 0x0447 #CYRILLIC SMALL LETTER CHE -0xF8 0x0448 #CYRILLIC SMALL LETTER SHA -0xF9 0x0449 #CYRILLIC SMALL LETTER SHCHA -0xFA 0x044A #CYRILLIC SMALL LETTER HARD SIGN -0xFB 0x044B #CYRILLIC SMALL LETTER YERU -0xFC 0x044C #CYRILLIC SMALL LETTER SOFT SIGN -0xFD 0x044D #CYRILLIC SMALL LETTER E -0xFE 0x044E #CYRILLIC SMALL LETTER YU -0xFF 0x044F #CYRILLIC SMALL LETTER YA diff --git a/lib/ucmaps/cp1252.txt b/lib/ucmaps/cp1252.txt deleted file mode 100755 index 2ca4486eb..000000000 --- a/lib/ucmaps/cp1252.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1252 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1252 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1252 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT -0x89 0x2030 #PER MILLE SIGN -0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C 0x0152 #LATIN CAPITAL LIGATURE OE -0x8D #UNDEFINED -0x8E 0x017D #LATIN CAPITAL LETTER Z WITH CARON -0x8F #UNDEFINED -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 0x02DC #SMALL TILDE -0x99 0x2122 #TRADE MARK SIGN -0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C 0x0153 #LATIN SMALL LIGATURE OE -0x9D #UNDEFINED -0x9E 0x017E #LATIN SMALL LETTER Z WITH CARON -0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x00A1 #INVERTED EXCLAMATION MARK -0xA2 0x00A2 #CENT SIGN -0xA3 0x00A3 #POUND SIGN -0xA4 0x00A4 #CURRENCY SIGN -0xA5 0x00A5 #YEN SIGN -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00A8 #DIAERESIS -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x00AA #FEMININE ORDINAL INDICATOR -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x00AF #MACRON -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x00B2 #SUPERSCRIPT TWO -0xB3 0x00B3 #SUPERSCRIPT THREE -0xB4 0x00B4 #ACUTE ACCENT -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x00B8 #CEDILLA -0xB9 0x00B9 #SUPERSCRIPT ONE -0xBA 0x00BA #MASCULINE ORDINAL INDICATOR -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC #VULGAR FRACTION ONE QUARTER -0xBD 0x00BD #VULGAR FRACTION ONE HALF -0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS -0xBF 0x00BF #INVERTED QUESTION MARK -0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 #LATIN CAPITAL LETTER AE -0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE -0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x00D0 #LATIN CAPITAL LETTER ETH -0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE -0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 #MULTIPLICATION SIGN -0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x00DD #LATIN CAPITAL LETTER Y WITH ACUTE -0xDE 0x00DE #LATIN CAPITAL LETTER THORN -0xDF 0x00DF #LATIN SMALL LETTER SHARP S -0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 #LATIN SMALL LETTER AE -0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE -0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x00F0 #LATIN SMALL LETTER ETH -0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE -0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE -0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 #DIVISION SIGN -0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE -0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x00FD #LATIN SMALL LETTER Y WITH ACUTE -0xFE 0x00FE #LATIN SMALL LETTER THORN -0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/lib/ucmaps/cp1253.txt b/lib/ucmaps/cp1253.txt deleted file mode 100755 index 2ba51a0c8..000000000 --- a/lib/ucmaps/cp1253.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1253 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1253 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1253 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 #UNDEFINED -0x89 0x2030 #PER MILLE SIGN -0x8A #UNDEFINED -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C #UNDEFINED -0x8D #UNDEFINED -0x8E #UNDEFINED -0x8F #UNDEFINED -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 #UNDEFINED -0x99 0x2122 #TRADE MARK SIGN -0x9A #UNDEFINED -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C #UNDEFINED -0x9D #UNDEFINED -0x9E #UNDEFINED -0x9F #UNDEFINED -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x0385 #GREEK DIALYTIKA TONOS -0xA2 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS -0xA3 0x00A3 #POUND SIGN -0xA4 0x00A4 #CURRENCY SIGN -0xA5 0x00A5 #YEN SIGN -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00A8 #DIAERESIS -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA #UNDEFINED -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x2015 #HORIZONTAL BAR -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x00B2 #SUPERSCRIPT TWO -0xB3 0x00B3 #SUPERSCRIPT THREE -0xB4 0x0384 #GREEK TONOS -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS -0xB9 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS -0xBA 0x038A #GREEK CAPITAL LETTER IOTA WITH TONOS -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x038C #GREEK CAPITAL LETTER OMICRON WITH TONOS -0xBD 0x00BD #VULGAR FRACTION ONE HALF -0xBE 0x038E #GREEK CAPITAL LETTER UPSILON WITH TONOS -0xBF 0x038F #GREEK CAPITAL LETTER OMEGA WITH TONOS -0xC0 0x0390 #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -0xC1 0x0391 #GREEK CAPITAL LETTER ALPHA -0xC2 0x0392 #GREEK CAPITAL LETTER BETA -0xC3 0x0393 #GREEK CAPITAL LETTER GAMMA -0xC4 0x0394 #GREEK CAPITAL LETTER DELTA -0xC5 0x0395 #GREEK CAPITAL LETTER EPSILON -0xC6 0x0396 #GREEK CAPITAL LETTER ZETA -0xC7 0x0397 #GREEK CAPITAL LETTER ETA -0xC8 0x0398 #GREEK CAPITAL LETTER THETA -0xC9 0x0399 #GREEK CAPITAL LETTER IOTA -0xCA 0x039A #GREEK CAPITAL LETTER KAPPA -0xCB 0x039B #GREEK CAPITAL LETTER LAMDA -0xCC 0x039C #GREEK CAPITAL LETTER MU -0xCD 0x039D #GREEK CAPITAL LETTER NU -0xCE 0x039E #GREEK CAPITAL LETTER XI -0xCF 0x039F #GREEK CAPITAL LETTER OMICRON -0xD0 0x03A0 #GREEK CAPITAL LETTER PI -0xD1 0x03A1 #GREEK CAPITAL LETTER RHO -0xD2 #UNDEFINED -0xD3 0x03A3 #GREEK CAPITAL LETTER SIGMA -0xD4 0x03A4 #GREEK CAPITAL LETTER TAU -0xD5 0x03A5 #GREEK CAPITAL LETTER UPSILON -0xD6 0x03A6 #GREEK CAPITAL LETTER PHI -0xD7 0x03A7 #GREEK CAPITAL LETTER CHI -0xD8 0x03A8 #GREEK CAPITAL LETTER PSI -0xD9 0x03A9 #GREEK CAPITAL LETTER OMEGA -0xDA 0x03AA #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -0xDB 0x03AB #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -0xDC 0x03AC #GREEK SMALL LETTER ALPHA WITH TONOS -0xDD 0x03AD #GREEK SMALL LETTER EPSILON WITH TONOS -0xDE 0x03AE #GREEK SMALL LETTER ETA WITH TONOS -0xDF 0x03AF #GREEK SMALL LETTER IOTA WITH TONOS -0xE0 0x03B0 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -0xE1 0x03B1 #GREEK SMALL LETTER ALPHA -0xE2 0x03B2 #GREEK SMALL LETTER BETA -0xE3 0x03B3 #GREEK SMALL LETTER GAMMA -0xE4 0x03B4 #GREEK SMALL LETTER DELTA -0xE5 0x03B5 #GREEK SMALL LETTER EPSILON -0xE6 0x03B6 #GREEK SMALL LETTER ZETA -0xE7 0x03B7 #GREEK SMALL LETTER ETA -0xE8 0x03B8 #GREEK SMALL LETTER THETA -0xE9 0x03B9 #GREEK SMALL LETTER IOTA -0xEA 0x03BA #GREEK SMALL LETTER KAPPA -0xEB 0x03BB #GREEK SMALL LETTER LAMDA -0xEC 0x03BC #GREEK SMALL LETTER MU -0xED 0x03BD #GREEK SMALL LETTER NU -0xEE 0x03BE #GREEK SMALL LETTER XI -0xEF 0x03BF #GREEK SMALL LETTER OMICRON -0xF0 0x03C0 #GREEK SMALL LETTER PI -0xF1 0x03C1 #GREEK SMALL LETTER RHO -0xF2 0x03C2 #GREEK SMALL LETTER FINAL SIGMA -0xF3 0x03C3 #GREEK SMALL LETTER SIGMA -0xF4 0x03C4 #GREEK SMALL LETTER TAU -0xF5 0x03C5 #GREEK SMALL LETTER UPSILON -0xF6 0x03C6 #GREEK SMALL LETTER PHI -0xF7 0x03C7 #GREEK SMALL LETTER CHI -0xF8 0x03C8 #GREEK SMALL LETTER PSI -0xF9 0x03C9 #GREEK SMALL LETTER OMEGA -0xFA 0x03CA #GREEK SMALL LETTER IOTA WITH DIALYTIKA -0xFB 0x03CB #GREEK SMALL LETTER UPSILON WITH DIALYTIKA -0xFC 0x03CC #GREEK SMALL LETTER OMICRON WITH TONOS -0xFD 0x03CD #GREEK SMALL LETTER UPSILON WITH TONOS -0xFE 0x03CE #GREEK SMALL LETTER OMEGA WITH TONOS -0xFF #UNDEFINED diff --git a/lib/ucmaps/cp1254.txt b/lib/ucmaps/cp1254.txt deleted file mode 100755 index ca1a1ebdb..000000000 --- a/lib/ucmaps/cp1254.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1254 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1254 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1254 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT -0x89 0x2030 #PER MILLE SIGN -0x8A 0x0160 #LATIN CAPITAL LETTER S WITH CARON -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C 0x0152 #LATIN CAPITAL LIGATURE OE -0x8D #UNDEFINED -0x8E #UNDEFINED -0x8F #UNDEFINED -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 0x02DC #SMALL TILDE -0x99 0x2122 #TRADE MARK SIGN -0x9A 0x0161 #LATIN SMALL LETTER S WITH CARON -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C 0x0153 #LATIN SMALL LIGATURE OE -0x9D #UNDEFINED -0x9E #UNDEFINED -0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x00A1 #INVERTED EXCLAMATION MARK -0xA2 0x00A2 #CENT SIGN -0xA3 0x00A3 #POUND SIGN -0xA4 0x00A4 #CURRENCY SIGN -0xA5 0x00A5 #YEN SIGN -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00A8 #DIAERESIS -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x00AA #FEMININE ORDINAL INDICATOR -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x00AF #MACRON -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x00B2 #SUPERSCRIPT TWO -0xB3 0x00B3 #SUPERSCRIPT THREE -0xB4 0x00B4 #ACUTE ACCENT -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x00B8 #CEDILLA -0xB9 0x00B9 #SUPERSCRIPT ONE -0xBA 0x00BA #MASCULINE ORDINAL INDICATOR -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC #VULGAR FRACTION ONE QUARTER -0xBD 0x00BD #VULGAR FRACTION ONE HALF -0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS -0xBF 0x00BF #INVERTED QUESTION MARK -0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x00C3 #LATIN CAPITAL LETTER A WITH TILDE -0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 #LATIN CAPITAL LETTER AE -0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x00CC #LATIN CAPITAL LETTER I WITH GRAVE -0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x011E #LATIN CAPITAL LETTER G WITH BREVE -0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x00D2 #LATIN CAPITAL LETTER O WITH GRAVE -0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 #MULTIPLICATION SIGN -0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE -0xDE 0x015E #LATIN CAPITAL LETTER S WITH CEDILLA -0xDF 0x00DF #LATIN SMALL LETTER SHARP S -0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x00E3 #LATIN SMALL LETTER A WITH TILDE -0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 #LATIN SMALL LETTER AE -0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x00EC #LATIN SMALL LETTER I WITH GRAVE -0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x011F #LATIN SMALL LETTER G WITH BREVE -0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE -0xF2 0x00F2 #LATIN SMALL LETTER O WITH GRAVE -0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 #DIVISION SIGN -0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE -0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x0131 #LATIN SMALL LETTER DOTLESS I -0xFE 0x015F #LATIN SMALL LETTER S WITH CEDILLA -0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/lib/ucmaps/cp1255.txt b/lib/ucmaps/cp1255.txt deleted file mode 100755 index 341517f11..000000000 --- a/lib/ucmaps/cp1255.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1255 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 1/7/2000 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1255 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1255 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT -0x89 0x2030 #PER MILLE SIGN -0x8A #UNDEFINED -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C #UNDEFINED -0x8D #UNDEFINED -0x8E #UNDEFINED -0x8F #UNDEFINED -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 0x02DC #SMALL TILDE -0x99 0x2122 #TRADE MARK SIGN -0x9A #UNDEFINED -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C #UNDEFINED -0x9D #UNDEFINED -0x9E #UNDEFINED -0x9F #UNDEFINED -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x00A1 #INVERTED EXCLAMATION MARK -0xA2 0x00A2 #CENT SIGN -0xA3 0x00A3 #POUND SIGN -0xA4 0x20AA #NEW SHEQEL SIGN -0xA5 0x00A5 #YEN SIGN -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00A8 #DIAERESIS -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x00D7 #MULTIPLICATION SIGN -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x00AF #MACRON -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x00B2 #SUPERSCRIPT TWO -0xB3 0x00B3 #SUPERSCRIPT THREE -0xB4 0x00B4 #ACUTE ACCENT -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x00B8 #CEDILLA -0xB9 0x00B9 #SUPERSCRIPT ONE -0xBA 0x00F7 #DIVISION SIGN -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC #VULGAR FRACTION ONE QUARTER -0xBD 0x00BD #VULGAR FRACTION ONE HALF -0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS -0xBF 0x00BF #INVERTED QUESTION MARK -0xC0 0x05B0 #HEBREW POINT SHEVA -0xC1 0x05B1 #HEBREW POINT HATAF SEGOL -0xC2 0x05B2 #HEBREW POINT HATAF PATAH -0xC3 0x05B3 #HEBREW POINT HATAF QAMATS -0xC4 0x05B4 #HEBREW POINT HIRIQ -0xC5 0x05B5 #HEBREW POINT TSERE -0xC6 0x05B6 #HEBREW POINT SEGOL -0xC7 0x05B7 #HEBREW POINT PATAH -0xC8 0x05B8 #HEBREW POINT QAMATS -0xC9 0x05B9 #HEBREW POINT HOLAM -0xCA #UNDEFINED -0xCB 0x05BB #HEBREW POINT QUBUTS -0xCC 0x05BC #HEBREW POINT DAGESH OR MAPIQ -0xCD 0x05BD #HEBREW POINT METEG -0xCE 0x05BE #HEBREW PUNCTUATION MAQAF -0xCF 0x05BF #HEBREW POINT RAFE -0xD0 0x05C0 #HEBREW PUNCTUATION PASEQ -0xD1 0x05C1 #HEBREW POINT SHIN DOT -0xD2 0x05C2 #HEBREW POINT SIN DOT -0xD3 0x05C3 #HEBREW PUNCTUATION SOF PASUQ -0xD4 0x05F0 #HEBREW LIGATURE YIDDISH DOUBLE VAV -0xD5 0x05F1 #HEBREW LIGATURE YIDDISH VAV YOD -0xD6 0x05F2 #HEBREW LIGATURE YIDDISH DOUBLE YOD -0xD7 0x05F3 #HEBREW PUNCTUATION GERESH -0xD8 0x05F4 #HEBREW PUNCTUATION GERSHAYIM -0xD9 #UNDEFINED -0xDA #UNDEFINED -0xDB #UNDEFINED -0xDC #UNDEFINED -0xDD #UNDEFINED -0xDE #UNDEFINED -0xDF #UNDEFINED -0xE0 0x05D0 #HEBREW LETTER ALEF -0xE1 0x05D1 #HEBREW LETTER BET -0xE2 0x05D2 #HEBREW LETTER GIMEL -0xE3 0x05D3 #HEBREW LETTER DALET -0xE4 0x05D4 #HEBREW LETTER HE -0xE5 0x05D5 #HEBREW LETTER VAV -0xE6 0x05D6 #HEBREW LETTER ZAYIN -0xE7 0x05D7 #HEBREW LETTER HET -0xE8 0x05D8 #HEBREW LETTER TET -0xE9 0x05D9 #HEBREW LETTER YOD -0xEA 0x05DA #HEBREW LETTER FINAL KAF -0xEB 0x05DB #HEBREW LETTER KAF -0xEC 0x05DC #HEBREW LETTER LAMED -0xED 0x05DD #HEBREW LETTER FINAL MEM -0xEE 0x05DE #HEBREW LETTER MEM -0xEF 0x05DF #HEBREW LETTER FINAL NUN -0xF0 0x05E0 #HEBREW LETTER NUN -0xF1 0x05E1 #HEBREW LETTER SAMEKH -0xF2 0x05E2 #HEBREW LETTER AYIN -0xF3 0x05E3 #HEBREW LETTER FINAL PE -0xF4 0x05E4 #HEBREW LETTER PE -0xF5 0x05E5 #HEBREW LETTER FINAL TSADI -0xF6 0x05E6 #HEBREW LETTER TSADI -0xF7 0x05E7 #HEBREW LETTER QOF -0xF8 0x05E8 #HEBREW LETTER RESH -0xF9 0x05E9 #HEBREW LETTER SHIN -0xFA 0x05EA #HEBREW LETTER TAV -0xFB #UNDEFINED -0xFC #UNDEFINED -0xFD 0x200E #LEFT-TO-RIGHT MARK -0xFE 0x200F #RIGHT-TO-LEFT MARK -0xFF #UNDEFINED diff --git a/lib/ucmaps/cp1256.txt b/lib/ucmaps/cp1256.txt deleted file mode 100755 index 0edd081b9..000000000 --- a/lib/ucmaps/cp1256.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1256 to Unicode table -# Unicode version: 2.1 -# Table version: 2.01 -# Table format: Format A -# Date: 01/5/99 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1256 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1256 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 0x067E #ARABIC LETTER PEH -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT -0x89 0x2030 #PER MILLE SIGN -0x8A 0x0679 #ARABIC LETTER TTEH -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C 0x0152 #LATIN CAPITAL LIGATURE OE -0x8D 0x0686 #ARABIC LETTER TCHEH -0x8E 0x0698 #ARABIC LETTER JEH -0x8F 0x0688 #ARABIC LETTER DDAL -0x90 0x06AF #ARABIC LETTER GAF -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 0x06A9 #ARABIC LETTER KEHEH -0x99 0x2122 #TRADE MARK SIGN -0x9A 0x0691 #ARABIC LETTER RREH -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C 0x0153 #LATIN SMALL LIGATURE OE -0x9D 0x200C #ZERO WIDTH NON-JOINER -0x9E 0x200D #ZERO WIDTH JOINER -0x9F 0x06BA #ARABIC LETTER NOON GHUNNA -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x060C #ARABIC COMMA -0xA2 0x00A2 #CENT SIGN -0xA3 0x00A3 #POUND SIGN -0xA4 0x00A4 #CURRENCY SIGN -0xA5 0x00A5 #YEN SIGN -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00A8 #DIAERESIS -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x06BE #ARABIC LETTER HEH DOACHASHMEE -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x00AF #MACRON -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x00B2 #SUPERSCRIPT TWO -0xB3 0x00B3 #SUPERSCRIPT THREE -0xB4 0x00B4 #ACUTE ACCENT -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x00B8 #CEDILLA -0xB9 0x00B9 #SUPERSCRIPT ONE -0xBA 0x061B #ARABIC SEMICOLON -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC #VULGAR FRACTION ONE QUARTER -0xBD 0x00BD #VULGAR FRACTION ONE HALF -0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS -0xBF 0x061F #ARABIC QUESTION MARK -0xC0 0x06C1 #ARABIC LETTER HEH GOAL -0xC1 0x0621 #ARABIC LETTER HAMZA -0xC2 0x0622 #ARABIC LETTER ALEF WITH MADDA ABOVE -0xC3 0x0623 #ARABIC LETTER ALEF WITH HAMZA ABOVE -0xC4 0x0624 #ARABIC LETTER WAW WITH HAMZA ABOVE -0xC5 0x0625 #ARABIC LETTER ALEF WITH HAMZA BELOW -0xC6 0x0626 #ARABIC LETTER YEH WITH HAMZA ABOVE -0xC7 0x0627 #ARABIC LETTER ALEF -0xC8 0x0628 #ARABIC LETTER BEH -0xC9 0x0629 #ARABIC LETTER TEH MARBUTA -0xCA 0x062A #ARABIC LETTER TEH -0xCB 0x062B #ARABIC LETTER THEH -0xCC 0x062C #ARABIC LETTER JEEM -0xCD 0x062D #ARABIC LETTER HAH -0xCE 0x062E #ARABIC LETTER KHAH -0xCF 0x062F #ARABIC LETTER DAL -0xD0 0x0630 #ARABIC LETTER THAL -0xD1 0x0631 #ARABIC LETTER REH -0xD2 0x0632 #ARABIC LETTER ZAIN -0xD3 0x0633 #ARABIC LETTER SEEN -0xD4 0x0634 #ARABIC LETTER SHEEN -0xD5 0x0635 #ARABIC LETTER SAD -0xD6 0x0636 #ARABIC LETTER DAD -0xD7 0x00D7 #MULTIPLICATION SIGN -0xD8 0x0637 #ARABIC LETTER TAH -0xD9 0x0638 #ARABIC LETTER ZAH -0xDA 0x0639 #ARABIC LETTER AIN -0xDB 0x063A #ARABIC LETTER GHAIN -0xDC 0x0640 #ARABIC TATWEEL -0xDD 0x0641 #ARABIC LETTER FEH -0xDE 0x0642 #ARABIC LETTER QAF -0xDF 0x0643 #ARABIC LETTER KAF -0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE -0xE1 0x0644 #ARABIC LETTER LAM -0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x0645 #ARABIC LETTER MEEM -0xE4 0x0646 #ARABIC LETTER NOON -0xE5 0x0647 #ARABIC LETTER HEH -0xE6 0x0648 #ARABIC LETTER WAW -0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x0649 #ARABIC LETTER ALEF MAKSURA -0xED 0x064A #ARABIC LETTER YEH -0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x064B #ARABIC FATHATAN -0xF1 0x064C #ARABIC DAMMATAN -0xF2 0x064D #ARABIC KASRATAN -0xF3 0x064E #ARABIC FATHA -0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x064F #ARABIC DAMMA -0xF6 0x0650 #ARABIC KASRA -0xF7 0x00F7 #DIVISION SIGN -0xF8 0x0651 #ARABIC SHADDA -0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE -0xFA 0x0652 #ARABIC SUKUN -0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x200E #LEFT-TO-RIGHT MARK -0xFE 0x200F #RIGHT-TO-LEFT MARK -0xFF 0x06D2 #ARABIC LETTER YEH BARREE diff --git a/lib/ucmaps/cp1257.txt b/lib/ucmaps/cp1257.txt deleted file mode 100755 index 97979d931..000000000 --- a/lib/ucmaps/cp1257.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1257 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1257 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1257 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 #UNDEFINED -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 #UNDEFINED -0x89 0x2030 #PER MILLE SIGN -0x8A #UNDEFINED -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C #UNDEFINED -0x8D 0x00A8 #DIAERESIS -0x8E 0x02C7 #CARON -0x8F 0x00B8 #CEDILLA -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 #UNDEFINED -0x99 0x2122 #TRADE MARK SIGN -0x9A #UNDEFINED -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C #UNDEFINED -0x9D 0x00AF #MACRON -0x9E 0x02DB #OGONEK -0x9F #UNDEFINED -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 #UNDEFINED -0xA2 0x00A2 #CENT SIGN -0xA3 0x00A3 #POUND SIGN -0xA4 0x00A4 #CURRENCY SIGN -0xA5 #UNDEFINED -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x00C6 #LATIN CAPITAL LETTER AE -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x00B2 #SUPERSCRIPT TWO -0xB3 0x00B3 #SUPERSCRIPT THREE -0xB4 0x00B4 #ACUTE ACCENT -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x00F8 #LATIN SMALL LETTER O WITH STROKE -0xB9 0x00B9 #SUPERSCRIPT ONE -0xBA 0x0157 #LATIN SMALL LETTER R WITH CEDILLA -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC #VULGAR FRACTION ONE QUARTER -0xBD 0x00BD #VULGAR FRACTION ONE HALF -0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS -0xBF 0x00E6 #LATIN SMALL LETTER AE -0xC0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK -0xC1 0x012E #LATIN CAPITAL LETTER I WITH OGONEK -0xC2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON -0xC3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE -0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK -0xC7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON -0xC8 0x010C #LATIN CAPITAL LETTER C WITH CARON -0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE -0xCB 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE -0xCC 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA -0xCD 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA -0xCE 0x012A #LATIN CAPITAL LETTER I WITH MACRON -0xCF 0x013B #LATIN CAPITAL LETTER L WITH CEDILLA -0xD0 0x0160 #LATIN CAPITAL LETTER S WITH CARON -0xD1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE -0xD2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA -0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x014C #LATIN CAPITAL LETTER O WITH MACRON -0xD5 0x00D5 #LATIN CAPITAL LETTER O WITH TILDE -0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 #MULTIPLICATION SIGN -0xD8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK -0xD9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE -0xDA 0x015A #LATIN CAPITAL LETTER S WITH ACUTE -0xDB 0x016A #LATIN CAPITAL LETTER U WITH MACRON -0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x017B #LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xDE 0x017D #LATIN CAPITAL LETTER Z WITH CARON -0xDF 0x00DF #LATIN SMALL LETTER SHARP S -0xE0 0x0105 #LATIN SMALL LETTER A WITH OGONEK -0xE1 0x012F #LATIN SMALL LETTER I WITH OGONEK -0xE2 0x0101 #LATIN SMALL LETTER A WITH MACRON -0xE3 0x0107 #LATIN SMALL LETTER C WITH ACUTE -0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x0119 #LATIN SMALL LETTER E WITH OGONEK -0xE7 0x0113 #LATIN SMALL LETTER E WITH MACRON -0xE8 0x010D #LATIN SMALL LETTER C WITH CARON -0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE -0xEA 0x017A #LATIN SMALL LETTER Z WITH ACUTE -0xEB 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE -0xEC 0x0123 #LATIN SMALL LETTER G WITH CEDILLA -0xED 0x0137 #LATIN SMALL LETTER K WITH CEDILLA -0xEE 0x012B #LATIN SMALL LETTER I WITH MACRON -0xEF 0x013C #LATIN SMALL LETTER L WITH CEDILLA -0xF0 0x0161 #LATIN SMALL LETTER S WITH CARON -0xF1 0x0144 #LATIN SMALL LETTER N WITH ACUTE -0xF2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA -0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE -0xF4 0x014D #LATIN SMALL LETTER O WITH MACRON -0xF5 0x00F5 #LATIN SMALL LETTER O WITH TILDE -0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 #DIVISION SIGN -0xF8 0x0173 #LATIN SMALL LETTER U WITH OGONEK -0xF9 0x0142 #LATIN SMALL LETTER L WITH STROKE -0xFA 0x015B #LATIN SMALL LETTER S WITH ACUTE -0xFB 0x016B #LATIN SMALL LETTER U WITH MACRON -0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x017C #LATIN SMALL LETTER Z WITH DOT ABOVE -0xFE 0x017E #LATIN SMALL LETTER Z WITH CARON -0xFF 0x02D9 #DOT ABOVE diff --git a/lib/ucmaps/cp1258.txt b/lib/ucmaps/cp1258.txt deleted file mode 100755 index 392310a8c..000000000 --- a/lib/ucmaps/cp1258.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp1258 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp1258 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp1258 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 0x201A #SINGLE LOW-9 QUOTATION MARK -0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK -0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 0x2020 #DAGGER -0x87 0x2021 #DOUBLE DAGGER -0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT -0x89 0x2030 #PER MILLE SIGN -0x8A #UNDEFINED -0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK -0x8C 0x0152 #LATIN CAPITAL LIGATURE OE -0x8D #UNDEFINED -0x8E #UNDEFINED -0x8F #UNDEFINED -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 0x02DC #SMALL TILDE -0x99 0x2122 #TRADE MARK SIGN -0x9A #UNDEFINED -0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -0x9C 0x0153 #LATIN SMALL LIGATURE OE -0x9D #UNDEFINED -0x9E #UNDEFINED -0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x00A1 #INVERTED EXCLAMATION MARK -0xA2 0x00A2 #CENT SIGN -0xA3 0x00A3 #POUND SIGN -0xA4 0x00A4 #CURRENCY SIGN -0xA5 0x00A5 #YEN SIGN -0xA6 0x00A6 #BROKEN BAR -0xA7 0x00A7 #SECTION SIGN -0xA8 0x00A8 #DIAERESIS -0xA9 0x00A9 #COPYRIGHT SIGN -0xAA 0x00AA #FEMININE ORDINAL INDICATOR -0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAC 0x00AC #NOT SIGN -0xAD 0x00AD #SOFT HYPHEN -0xAE 0x00AE #REGISTERED SIGN -0xAF 0x00AF #MACRON -0xB0 0x00B0 #DEGREE SIGN -0xB1 0x00B1 #PLUS-MINUS SIGN -0xB2 0x00B2 #SUPERSCRIPT TWO -0xB3 0x00B3 #SUPERSCRIPT THREE -0xB4 0x00B4 #ACUTE ACCENT -0xB5 0x00B5 #MICRO SIGN -0xB6 0x00B6 #PILCROW SIGN -0xB7 0x00B7 #MIDDLE DOT -0xB8 0x00B8 #CEDILLA -0xB9 0x00B9 #SUPERSCRIPT ONE -0xBA 0x00BA #MASCULINE ORDINAL INDICATOR -0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xBC 0x00BC #VULGAR FRACTION ONE QUARTER -0xBD 0x00BD #VULGAR FRACTION ONE HALF -0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS -0xBF 0x00BF #INVERTED QUESTION MARK -0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE -0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE -0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE -0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0xC6 0x00C6 #LATIN CAPITAL LETTER AE -0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA -0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE -0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE -0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS -0xCC 0x0300 #COMBINING GRAVE ACCENT -0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE -0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS -0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE -0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE -0xD2 0x0309 #COMBINING HOOK ABOVE -0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE -0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xD5 0x01A0 #LATIN CAPITAL LETTER O WITH HORN -0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0xD7 0x00D7 #MULTIPLICATION SIGN -0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE -0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE -0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE -0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS -0xDD 0x01AF #LATIN CAPITAL LETTER U WITH HORN -0xDE 0x0303 #COMBINING TILDE -0xDF 0x00DF #LATIN SMALL LETTER SHARP S -0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE -0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE -0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE -0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS -0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE -0xE6 0x00E6 #LATIN SMALL LETTER AE -0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA -0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE -0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE -0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX -0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS -0xEC 0x0301 #COMBINING ACUTE ACCENT -0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE -0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX -0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS -0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE -0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE -0xF2 0x0323 #COMBINING DOT BELOW -0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE -0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0xF5 0x01A1 #LATIN SMALL LETTER O WITH HORN -0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS -0xF7 0x00F7 #DIVISION SIGN -0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE -0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE -0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE -0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX -0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS -0xFD 0x01B0 #LATIN SMALL LETTER U WITH HORN -0xFE 0x20AB #DONG SIGN -0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS diff --git a/lib/ucmaps/cp437.txt b/lib/ucmaps/cp437.txt deleted file mode 100755 index ae38e17ab..000000000 --- a/lib/ucmaps/cp437.txt +++ /dev/null @@ -1,273 +0,0 @@ -# -# Name: cp437_DOSLatinUS to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp437_DOSLatinUS code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp437_DOSLatinUS order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE -0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX -0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE -0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS -0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX -0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE -0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00e6 #LATIN SMALL LIGATURE AE -0x92 0x00c6 #LATIN CAPITAL LIGATURE AE -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE -0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX -0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE -0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS -0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00a2 #CENT SIGN -0x9c 0x00a3 #POUND SIGN -0x9d 0x00a5 #YEN SIGN -0x9e 0x20a7 #PESETA SIGN -0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE -0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE -0xa6 0x00aa #FEMININE ORDINAL INDICATOR -0xa7 0x00ba #MASCULINE ORDINAL INDICATOR -0xa8 0x00bf #INVERTED QUESTION MARK -0xa9 0x2310 #REVERSED NOT SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00a1 #INVERTED EXCLAMATION MARK -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03b1 #GREEK SMALL LETTER ALPHA -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA -0xe3 0x03c0 #GREEK SMALL LETTER PI -0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA -0xe5 0x03c3 #GREEK SMALL LETTER SIGMA -0xe6 0x00b5 #MICRO SIGN -0xe7 0x03c4 #GREEK SMALL LETTER TAU -0xe8 0x03a6 #GREEK CAPITAL LETTER PHI -0xe9 0x0398 #GREEK CAPITAL LETTER THETA -0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA -0xeb 0x03b4 #GREEK SMALL LETTER DELTA -0xec 0x221e #INFINITY -0xed 0x03c6 #GREEK SMALL LETTER PHI -0xee 0x03b5 #GREEK SMALL LETTER EPSILON -0xef 0x2229 #INTERSECTION -0xf0 0x2261 #IDENTICAL TO -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2265 #GREATER-THAN OR EQUAL TO -0xf3 0x2264 #LESS-THAN OR EQUAL TO -0xf4 0x2320 #TOP HALF INTEGRAL -0xf5 0x2321 #BOTTOM HALF INTEGRAL -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x2248 #ALMOST EQUAL TO -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE diff --git a/lib/ucmaps/cp737.txt b/lib/ucmaps/cp737.txt deleted file mode 100755 index 0fc572fc3..000000000 --- a/lib/ucmaps/cp737.txt +++ /dev/null @@ -1,273 +0,0 @@ -# -# Name: cp737_DOSGreek to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp737_DOSGreek code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp737_DOSGreek order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x0391 #GREEK CAPITAL LETTER ALPHA -0x81 0x0392 #GREEK CAPITAL LETTER BETA -0x82 0x0393 #GREEK CAPITAL LETTER GAMMA -0x83 0x0394 #GREEK CAPITAL LETTER DELTA -0x84 0x0395 #GREEK CAPITAL LETTER EPSILON -0x85 0x0396 #GREEK CAPITAL LETTER ZETA -0x86 0x0397 #GREEK CAPITAL LETTER ETA -0x87 0x0398 #GREEK CAPITAL LETTER THETA -0x88 0x0399 #GREEK CAPITAL LETTER IOTA -0x89 0x039a #GREEK CAPITAL LETTER KAPPA -0x8a 0x039b #GREEK CAPITAL LETTER LAMDA -0x8b 0x039c #GREEK CAPITAL LETTER MU -0x8c 0x039d #GREEK CAPITAL LETTER NU -0x8d 0x039e #GREEK CAPITAL LETTER XI -0x8e 0x039f #GREEK CAPITAL LETTER OMICRON -0x8f 0x03a0 #GREEK CAPITAL LETTER PI -0x90 0x03a1 #GREEK CAPITAL LETTER RHO -0x91 0x03a3 #GREEK CAPITAL LETTER SIGMA -0x92 0x03a4 #GREEK CAPITAL LETTER TAU -0x93 0x03a5 #GREEK CAPITAL LETTER UPSILON -0x94 0x03a6 #GREEK CAPITAL LETTER PHI -0x95 0x03a7 #GREEK CAPITAL LETTER CHI -0x96 0x03a8 #GREEK CAPITAL LETTER PSI -0x97 0x03a9 #GREEK CAPITAL LETTER OMEGA -0x98 0x03b1 #GREEK SMALL LETTER ALPHA -0x99 0x03b2 #GREEK SMALL LETTER BETA -0x9a 0x03b3 #GREEK SMALL LETTER GAMMA -0x9b 0x03b4 #GREEK SMALL LETTER DELTA -0x9c 0x03b5 #GREEK SMALL LETTER EPSILON -0x9d 0x03b6 #GREEK SMALL LETTER ZETA -0x9e 0x03b7 #GREEK SMALL LETTER ETA -0x9f 0x03b8 #GREEK SMALL LETTER THETA -0xa0 0x03b9 #GREEK SMALL LETTER IOTA -0xa1 0x03ba #GREEK SMALL LETTER KAPPA -0xa2 0x03bb #GREEK SMALL LETTER LAMDA -0xa3 0x03bc #GREEK SMALL LETTER MU -0xa4 0x03bd #GREEK SMALL LETTER NU -0xa5 0x03be #GREEK SMALL LETTER XI -0xa6 0x03bf #GREEK SMALL LETTER OMICRON -0xa7 0x03c0 #GREEK SMALL LETTER PI -0xa8 0x03c1 #GREEK SMALL LETTER RHO -0xa9 0x03c3 #GREEK SMALL LETTER SIGMA -0xaa 0x03c2 #GREEK SMALL LETTER FINAL SIGMA -0xab 0x03c4 #GREEK SMALL LETTER TAU -0xac 0x03c5 #GREEK SMALL LETTER UPSILON -0xad 0x03c6 #GREEK SMALL LETTER PHI -0xae 0x03c7 #GREEK SMALL LETTER CHI -0xaf 0x03c8 #GREEK SMALL LETTER PSI -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03c9 #GREEK SMALL LETTER OMEGA -0xe1 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS -0xe2 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS -0xe3 0x03ae #GREEK SMALL LETTER ETA WITH TONOS -0xe4 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA -0xe5 0x03af #GREEK SMALL LETTER IOTA WITH TONOS -0xe6 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS -0xe7 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS -0xe8 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA -0xe9 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS -0xea 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS -0xeb 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS -0xec 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS -0xed 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS -0xee 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS -0xef 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS -0xf0 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2265 #GREATER-THAN OR EQUAL TO -0xf3 0x2264 #LESS-THAN OR EQUAL TO -0xf4 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -0xf5 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x2248 #ALMOST EQUAL TO -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE diff --git a/lib/ucmaps/cp775.txt b/lib/ucmaps/cp775.txt deleted file mode 100755 index 1ad4e4e58..000000000 --- a/lib/ucmaps/cp775.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp775_DOSBaltRim to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp775_DOSBaltRim code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp775_DOSBaltRim order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x0101 #LATIN SMALL LETTER A WITH MACRON -0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 0x0123 #LATIN SMALL LETTER G WITH CEDILLA -0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE -0x87 0x0107 #LATIN SMALL LETTER C WITH ACUTE -0x88 0x0142 #LATIN SMALL LETTER L WITH STROKE -0x89 0x0113 #LATIN SMALL LETTER E WITH MACRON -0x8a 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA -0x8b 0x0157 #LATIN SMALL LETTER R WITH CEDILLA -0x8c 0x012b #LATIN SMALL LETTER I WITH MACRON -0x8d 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE -0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00e6 #LATIN SMALL LIGATURE AE -0x92 0x00c6 #LATIN CAPITAL LIGATURE AE -0x93 0x014d #LATIN SMALL LETTER O WITH MACRON -0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA -0x96 0x00a2 #CENT SIGN -0x97 0x015a #LATIN CAPITAL LETTER S WITH ACUTE -0x98 0x015b #LATIN SMALL LETTER S WITH ACUTE -0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE -0x9c 0x00a3 #POUND SIGN -0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE -0x9e 0x00d7 #MULTIPLICATION SIGN -0x9f 0x00a4 #CURRENCY SIGN -0xa0 0x0100 #LATIN CAPITAL LETTER A WITH MACRON -0xa1 0x012a #LATIN CAPITAL LETTER I WITH MACRON -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xa4 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE -0xa5 0x017a #LATIN SMALL LETTER Z WITH ACUTE -0xa6 0x201d #RIGHT DOUBLE QUOTATION MARK -0xa7 0x00a6 #BROKEN BAR -0xa8 0x00a9 #COPYRIGHT SIGN -0xa9 0x00ae #REGISTERED SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x0141 #LATIN CAPITAL LETTER L WITH STROKE -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK -0xb6 0x010c #LATIN CAPITAL LETTER C WITH CARON -0xb7 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK -0xb8 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x012e #LATIN CAPITAL LETTER I WITH OGONEK -0xbe 0x0160 #LATIN CAPITAL LETTER S WITH CARON -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK -0xc7 0x016a #LATIN CAPITAL LETTER U WITH MACRON -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x017d #LATIN CAPITAL LETTER Z WITH CARON -0xd0 0x0105 #LATIN SMALL LETTER A WITH OGONEK -0xd1 0x010d #LATIN SMALL LETTER C WITH CARON -0xd2 0x0119 #LATIN SMALL LETTER E WITH OGONEK -0xd3 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE -0xd4 0x012f #LATIN SMALL LETTER I WITH OGONEK -0xd5 0x0161 #LATIN SMALL LETTER S WITH CARON -0xd6 0x0173 #LATIN SMALL LETTER U WITH OGONEK -0xd7 0x016b #LATIN SMALL LETTER U WITH MACRON -0xd8 0x017e #LATIN SMALL LETTER Z WITH CARON -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE -0xe1 0x00df #LATIN SMALL LETTER SHARP S (GERMAN) -0xe2 0x014c #LATIN CAPITAL LETTER O WITH MACRON -0xe3 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE -0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE -0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE -0xe6 0x00b5 #MICRO SIGN -0xe7 0x0144 #LATIN SMALL LETTER N WITH ACUTE -0xe8 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA -0xe9 0x0137 #LATIN SMALL LETTER K WITH CEDILLA -0xea 0x013b #LATIN CAPITAL LETTER L WITH CEDILLA -0xeb 0x013c #LATIN SMALL LETTER L WITH CEDILLA -0xec 0x0146 #LATIN SMALL LETTER N WITH CEDILLA -0xed 0x0112 #LATIN CAPITAL LETTER E WITH MACRON -0xee 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA -0xef 0x2019 #RIGHT SINGLE QUOTATION MARK -0xf0 0x00ad #SOFT HYPHEN -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x201c #LEFT DOUBLE QUOTATION MARK -0xf3 0x00be #VULGAR FRACTION THREE QUARTERS -0xf4 0x00b6 #PILCROW SIGN -0xf5 0x00a7 #SECTION SIGN -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x201e #DOUBLE LOW-9 QUOTATION MARK -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x00b9 #SUPERSCRIPT ONE -0xfc 0x00b3 #SUPERSCRIPT THREE -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp850.txt b/lib/ucmaps/cp850.txt deleted file mode 100755 index 590b1afe5..000000000 --- a/lib/ucmaps/cp850.txt +++ /dev/null @@ -1,273 +0,0 @@ -# -# Name: cp850_DOSLatin1 to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp850_DOSLatin1 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp850_DOSLatin1 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE -0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX -0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE -0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS -0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX -0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE -0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00e6 #LATIN SMALL LIGATURE AE -0x92 0x00c6 #LATIN CAPITAL LIGATURE AE -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE -0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX -0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE -0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS -0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE -0x9c 0x00a3 #POUND SIGN -0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE -0x9e 0x00d7 #MULTIPLICATION SIGN -0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE -0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE -0xa6 0x00aa #FEMININE ORDINAL INDICATOR -0xa7 0x00ba #MASCULINE ORDINAL INDICATOR -0xa8 0x00bf #INVERTED QUESTION MARK -0xa9 0x00ae #REGISTERED SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00a1 #INVERTED EXCLAMATION MARK -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE -0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xb7 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE -0xb8 0x00a9 #COPYRIGHT SIGN -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x00a2 #CENT SIGN -0xbe 0x00a5 #YEN SIGN -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x00e3 #LATIN SMALL LETTER A WITH TILDE -0xc7 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x00a4 #CURRENCY SIGN -0xd0 0x00f0 #LATIN SMALL LETTER ETH -0xd1 0x00d0 #LATIN CAPITAL LETTER ETH -0xd2 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS -0xd4 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE -0xd5 0x0131 #LATIN SMALL LETTER DOTLESS I -0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE -0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xd8 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x00a6 #BROKEN BAR -0xde 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xe3 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE -0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE -0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE -0xe6 0x00b5 #MICRO SIGN -0xe7 0x00fe #LATIN SMALL LETTER THORN -0xe8 0x00de #LATIN CAPITAL LETTER THORN -0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE -0xea 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xeb 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE -0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE -0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE -0xee 0x00af #MACRON -0xef 0x00b4 #ACUTE ACCENT -0xf0 0x00ad #SOFT HYPHEN -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2017 #DOUBLE LOW LINE -0xf3 0x00be #VULGAR FRACTION THREE QUARTERS -0xf4 0x00b6 #PILCROW SIGN -0xf5 0x00a7 #SECTION SIGN -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x00b8 #CEDILLA -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x00a8 #DIAERESIS -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x00b9 #SUPERSCRIPT ONE -0xfc 0x00b3 #SUPERSCRIPT THREE -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE diff --git a/lib/ucmaps/cp852.txt b/lib/ucmaps/cp852.txt deleted file mode 100755 index 2f2dabaeb..000000000 --- a/lib/ucmaps/cp852.txt +++ /dev/null @@ -1,273 +0,0 @@ -# -# Name: cp852_DOSLatin2 to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp852_DOSLatin2 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp852_DOSLatin2 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 0x016f #LATIN SMALL LETTER U WITH RING ABOVE -0x86 0x0107 #LATIN SMALL LETTER C WITH ACUTE -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x0142 #LATIN SMALL LETTER L WITH STROKE -0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -0x8b 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE -0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX -0x8d 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE -0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE -0x92 0x013a #LATIN SMALL LETTER L WITH ACUTE -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 0x013d #LATIN CAPITAL LETTER L WITH CARON -0x96 0x013e #LATIN SMALL LETTER L WITH CARON -0x97 0x015a #LATIN CAPITAL LETTER S WITH ACUTE -0x98 0x015b #LATIN SMALL LETTER S WITH ACUTE -0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x0164 #LATIN CAPITAL LETTER T WITH CARON -0x9c 0x0165 #LATIN SMALL LETTER T WITH CARON -0x9d 0x0141 #LATIN CAPITAL LETTER L WITH STROKE -0x9e 0x00d7 #MULTIPLICATION SIGN -0x9f 0x010d #LATIN SMALL LETTER C WITH CARON -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK -0xa5 0x0105 #LATIN SMALL LETTER A WITH OGONEK -0xa6 0x017d #LATIN CAPITAL LETTER Z WITH CARON -0xa7 0x017e #LATIN SMALL LETTER Z WITH CARON -0xa8 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK -0xa9 0x0119 #LATIN SMALL LETTER E WITH OGONEK -0xaa 0x00ac #NOT SIGN -0xab 0x017a #LATIN SMALL LETTER Z WITH ACUTE -0xac 0x010c #LATIN CAPITAL LETTER C WITH CARON -0xad 0x015f #LATIN SMALL LETTER S WITH CEDILLA -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE -0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xb7 0x011a #LATIN CAPITAL LETTER E WITH CARON -0xb8 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE -0xbe 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x0102 #LATIN CAPITAL LETTER A WITH BREVE -0xc7 0x0103 #LATIN SMALL LETTER A WITH BREVE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x00a4 #CURRENCY SIGN -0xd0 0x0111 #LATIN SMALL LETTER D WITH STROKE -0xd1 0x0110 #LATIN CAPITAL LETTER D WITH STROKE -0xd2 0x010e #LATIN CAPITAL LETTER D WITH CARON -0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS -0xd4 0x010f #LATIN SMALL LETTER D WITH CARON -0xd5 0x0147 #LATIN CAPITAL LETTER N WITH CARON -0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE -0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xd8 0x011b #LATIN SMALL LETTER E WITH CARON -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA -0xde 0x016e #LATIN CAPITAL LETTER U WITH RING ABOVE -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xe3 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE -0xe4 0x0144 #LATIN SMALL LETTER N WITH ACUTE -0xe5 0x0148 #LATIN SMALL LETTER N WITH CARON -0xe6 0x0160 #LATIN CAPITAL LETTER S WITH CARON -0xe7 0x0161 #LATIN SMALL LETTER S WITH CARON -0xe8 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE -0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE -0xea 0x0155 #LATIN SMALL LETTER R WITH ACUTE -0xeb 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE -0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE -0xee 0x0163 #LATIN SMALL LETTER T WITH CEDILLA -0xef 0x00b4 #ACUTE ACCENT -0xf0 0x00ad #SOFT HYPHEN -0xf1 0x02dd #DOUBLE ACUTE ACCENT -0xf2 0x02db #OGONEK -0xf3 0x02c7 #CARON -0xf4 0x02d8 #BREVE -0xf5 0x00a7 #SECTION SIGN -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x00b8 #CEDILLA -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x00a8 #DIAERESIS -0xfa 0x02d9 #DOT ABOVE -0xfb 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE -0xfc 0x0158 #LATIN CAPITAL LETTER R WITH CARON -0xfd 0x0159 #LATIN SMALL LETTER R WITH CARON -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE diff --git a/lib/ucmaps/cp855.txt b/lib/ucmaps/cp855.txt deleted file mode 100755 index d43daf039..000000000 --- a/lib/ucmaps/cp855.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp855_DOSCyrillic to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp855_DOSCyrillic code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp855_DOSCyrillic order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x0452 #CYRILLIC SMALL LETTER DJE -0x81 0x0402 #CYRILLIC CAPITAL LETTER DJE -0x82 0x0453 #CYRILLIC SMALL LETTER GJE -0x83 0x0403 #CYRILLIC CAPITAL LETTER GJE -0x84 0x0451 #CYRILLIC SMALL LETTER IO -0x85 0x0401 #CYRILLIC CAPITAL LETTER IO -0x86 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE -0x87 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE -0x88 0x0455 #CYRILLIC SMALL LETTER DZE -0x89 0x0405 #CYRILLIC CAPITAL LETTER DZE -0x8a 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -0x8b 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -0x8c 0x0457 #CYRILLIC SMALL LETTER YI -0x8d 0x0407 #CYRILLIC CAPITAL LETTER YI -0x8e 0x0458 #CYRILLIC SMALL LETTER JE -0x8f 0x0408 #CYRILLIC CAPITAL LETTER JE -0x90 0x0459 #CYRILLIC SMALL LETTER LJE -0x91 0x0409 #CYRILLIC CAPITAL LETTER LJE -0x92 0x045a #CYRILLIC SMALL LETTER NJE -0x93 0x040a #CYRILLIC CAPITAL LETTER NJE -0x94 0x045b #CYRILLIC SMALL LETTER TSHE -0x95 0x040b #CYRILLIC CAPITAL LETTER TSHE -0x96 0x045c #CYRILLIC SMALL LETTER KJE -0x97 0x040c #CYRILLIC CAPITAL LETTER KJE -0x98 0x045e #CYRILLIC SMALL LETTER SHORT U -0x99 0x040e #CYRILLIC CAPITAL LETTER SHORT U -0x9a 0x045f #CYRILLIC SMALL LETTER DZHE -0x9b 0x040f #CYRILLIC CAPITAL LETTER DZHE -0x9c 0x044e #CYRILLIC SMALL LETTER YU -0x9d 0x042e #CYRILLIC CAPITAL LETTER YU -0x9e 0x044a #CYRILLIC SMALL LETTER HARD SIGN -0x9f 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN -0xa0 0x0430 #CYRILLIC SMALL LETTER A -0xa1 0x0410 #CYRILLIC CAPITAL LETTER A -0xa2 0x0431 #CYRILLIC SMALL LETTER BE -0xa3 0x0411 #CYRILLIC CAPITAL LETTER BE -0xa4 0x0446 #CYRILLIC SMALL LETTER TSE -0xa5 0x0426 #CYRILLIC CAPITAL LETTER TSE -0xa6 0x0434 #CYRILLIC SMALL LETTER DE -0xa7 0x0414 #CYRILLIC CAPITAL LETTER DE -0xa8 0x0435 #CYRILLIC SMALL LETTER IE -0xa9 0x0415 #CYRILLIC CAPITAL LETTER IE -0xaa 0x0444 #CYRILLIC SMALL LETTER EF -0xab 0x0424 #CYRILLIC CAPITAL LETTER EF -0xac 0x0433 #CYRILLIC SMALL LETTER GHE -0xad 0x0413 #CYRILLIC CAPITAL LETTER GHE -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x0445 #CYRILLIC SMALL LETTER HA -0xb6 0x0425 #CYRILLIC CAPITAL LETTER HA -0xb7 0x0438 #CYRILLIC SMALL LETTER I -0xb8 0x0418 #CYRILLIC CAPITAL LETTER I -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x0439 #CYRILLIC SMALL LETTER SHORT I -0xbe 0x0419 #CYRILLIC CAPITAL LETTER SHORT I -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x043a #CYRILLIC SMALL LETTER KA -0xc7 0x041a #CYRILLIC CAPITAL LETTER KA -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x00a4 #CURRENCY SIGN -0xd0 0x043b #CYRILLIC SMALL LETTER EL -0xd1 0x041b #CYRILLIC CAPITAL LETTER EL -0xd2 0x043c #CYRILLIC SMALL LETTER EM -0xd3 0x041c #CYRILLIC CAPITAL LETTER EM -0xd4 0x043d #CYRILLIC SMALL LETTER EN -0xd5 0x041d #CYRILLIC CAPITAL LETTER EN -0xd6 0x043e #CYRILLIC SMALL LETTER O -0xd7 0x041e #CYRILLIC CAPITAL LETTER O -0xd8 0x043f #CYRILLIC SMALL LETTER PE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x041f #CYRILLIC CAPITAL LETTER PE -0xde 0x044f #CYRILLIC SMALL LETTER YA -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x042f #CYRILLIC CAPITAL LETTER YA -0xe1 0x0440 #CYRILLIC SMALL LETTER ER -0xe2 0x0420 #CYRILLIC CAPITAL LETTER ER -0xe3 0x0441 #CYRILLIC SMALL LETTER ES -0xe4 0x0421 #CYRILLIC CAPITAL LETTER ES -0xe5 0x0442 #CYRILLIC SMALL LETTER TE -0xe6 0x0422 #CYRILLIC CAPITAL LETTER TE -0xe7 0x0443 #CYRILLIC SMALL LETTER U -0xe8 0x0423 #CYRILLIC CAPITAL LETTER U -0xe9 0x0436 #CYRILLIC SMALL LETTER ZHE -0xea 0x0416 #CYRILLIC CAPITAL LETTER ZHE -0xeb 0x0432 #CYRILLIC SMALL LETTER VE -0xec 0x0412 #CYRILLIC CAPITAL LETTER VE -0xed 0x044c #CYRILLIC SMALL LETTER SOFT SIGN -0xee 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN -0xef 0x2116 #NUMERO SIGN -0xf0 0x00ad #SOFT HYPHEN -0xf1 0x044b #CYRILLIC SMALL LETTER YERU -0xf2 0x042b #CYRILLIC CAPITAL LETTER YERU -0xf3 0x0437 #CYRILLIC SMALL LETTER ZE -0xf4 0x0417 #CYRILLIC CAPITAL LETTER ZE -0xf5 0x0448 #CYRILLIC SMALL LETTER SHA -0xf6 0x0428 #CYRILLIC CAPITAL LETTER SHA -0xf7 0x044d #CYRILLIC SMALL LETTER E -0xf8 0x042d #CYRILLIC CAPITAL LETTER E -0xf9 0x0449 #CYRILLIC SMALL LETTER SHCHA -0xfa 0x0429 #CYRILLIC CAPITAL LETTER SHCHA -0xfb 0x0447 #CYRILLIC SMALL LETTER CHE -0xfc 0x0427 #CYRILLIC CAPITAL LETTER CHE -0xfd 0x00a7 #SECTION SIGN -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp856.txt b/lib/ucmaps/cp856.txt deleted file mode 100755 index 3a6000bcb..000000000 --- a/lib/ucmaps/cp856.txt +++ /dev/null @@ -1,303 +0,0 @@ -# -# Name: cp856_Hebrew_PC to Unicode table -# Unicode version: 3.0 -# Table version: 1.0 -# Table format: Format A -# Date: 1999 July 27 -# Authors: Ken Whistler (kenw@sybase.com) -# -# Copyright (c) 1998 - 1999 Unicode, Inc. All Rights reserved. -# -# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). -# No claims are made as to fitness for any particular purpose. No -# warranties of any kind are expressed or implied. The recipient -# agrees to determine applicability of information provided. If this -# file has been provided on optical media by Unicode, Inc., the sole -# remedy for any claim will be exchange of defective media within 90 -# days of receipt. -# -# Unicode, Inc. hereby grants the right to freely use the information -# supplied in this file in the creation of products supporting the -# Unicode Standard, and to make copies of this file in any form for -# internal or external distribution as long as this notice remains -# attached. -# -# General notes: -# -# This table contains the data the Unicode Consortium has on how -# CP424 characters map into Unicode. -# -# Format: Three tab-separated columns -# Column #1 is the cp856_Hebrew_PC code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp856_Hebrew_PC order -# -# Version history -# 1.0 version new. -# -# Updated versions of this file may be found in: -# -# -# Any comments or problems, contact -# Please note that is an archival address; -# notices will be checked, but do not expect an immediate response. -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x05D0 #HEBREW LETTER ALEF -0x81 0x05D1 #HEBREW LETTER BET -0x82 0x05D2 #HEBREW LETTER GIMEL -0x83 0x05D3 #HEBREW LETTER DALET -0x84 0x05D4 #HEBREW LETTER HE -0x85 0x05D5 #HEBREW LETTER VAV -0x86 0x05D6 #HEBREW LETTER ZAYIN -0x87 0x05D7 #HEBREW LETTER HET -0x88 0x05D8 #HEBREW LETTER TET -0x89 0x05D9 #HEBREW LETTER YOD -0x8A 0x05DA #HEBREW LETTER FINAL KAF -0x8B 0x05DB #HEBREW LETTER KAF -0x8C 0x05DC #HEBREW LETTER LAMED -0x8D 0x05DD #HEBREW LETTER FINAL MEM -0x8E 0x05DE #HEBREW LETTER MEM -0x8F 0x05DF #HEBREW LETTER FINAL NUN -0x90 0x05E0 #HEBREW LETTER NUN -0x91 0x05E1 #HEBREW LETTER SAMEKH -0x92 0x05E2 #HEBREW LETTER AYIN -0x93 0x05E3 #HEBREW LETTER FINAL PE -0x94 0x05E4 #HEBREW LETTER PE -0x95 0x05E5 #HEBREW LETTER FINAL TSADI -0x96 0x05E6 #HEBREW LETTER TSADI -0x97 0x05E7 #HEBREW LETTER QOF -0x98 0x05E8 #HEBREW LETTER RESH -0x99 0x05E9 #HEBREW LETTER SHIN -0x9A 0x05EA #HEBREW LETTER TAV -0x9B #UNDEFINED -0x9C 0x00A3 #POUND SIGN -0x9D #UNDEFINED -0x9E 0x00D7 #MULTIPLICATION SIGN -0x9F #UNDEFINED -0xA0 #UNDEFINED -0xA1 #UNDEFINED -0xA2 #UNDEFINED -0xA3 #UNDEFINED -0xA4 #UNDEFINED -0xA5 #UNDEFINED -0xA6 #UNDEFINED -0xA7 #UNDEFINED -0xA8 #UNDEFINED -0xA9 0x00AE #REGISTERED SIGN -0xAA 0x00AC #NOT SIGN -0xAB 0x00BD #VULGAR FRACTION ONE HALF -0xAC 0x00BC #VULGAR FRACTION ONE QUARTER -0xAD #UNDEFINED -0xAE 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xAF 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xB0 0x2591 #LIGHT SHADE -0xB1 0x2592 #MEDIUM SHADE -0xB2 0x2593 #DARK SHADE -0xB3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xB4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xB5 #UNDEFINED -0xB6 #UNDEFINED -0xB7 #UNDEFINED -0xB8 0x00A9 #COPYRIGHT SIGN -0xB9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xBA 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xBB 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xBC 0x255D #BOX DRAWINGS DOUBLE UP AND LEFT -0xBD 0x00A2 #CENT SIGN -0xBE 0x00A5 #YEN SIGN -0xBF 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xC0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xC1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xC2 0x252C #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xC3 0x251C #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xC4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xC5 0x253C #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xC6 #UNDEFINED -0xC7 #UNDEFINED -0xC8 0x255A #BOX DRAWINGS DOUBLE UP AND RIGHT -0xC9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xCA 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xCB 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xCC 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xCD 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xCE 0x256C #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xCF 0x00A4 #CURRENCY SIGN -0xD0 #UNDEFINED -0xD1 #UNDEFINED -0xD2 #UNDEFINED -0xD3 #UNDEFINEDS -0xD4 #UNDEFINED -0xD5 #UNDEFINED -0xD6 #UNDEFINEDE -0xD7 #UNDEFINED -0xD8 #UNDEFINED -0xD9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xDA 0x250C #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xDB 0x2588 #FULL BLOCK -0xDC 0x2584 #LOWER HALF BLOCK -0xDD 0x00A6 #BROKEN BAR -0xDE #UNDEFINED -0xDF 0x2580 #UPPER HALF BLOCK -0xE0 #UNDEFINED -0xE1 #UNDEFINED -0xE2 #UNDEFINED -0xE3 #UNDEFINED -0xE4 #UNDEFINED -0xE5 #UNDEFINED -0xE6 0x00B5 #MICRO SIGN -0xE7 #UNDEFINED -0xE8 #UNDEFINED -0xE9 #UNDEFINED -0xEA #UNDEFINED -0xEB #UNDEFINED -0xEC #UNDEFINED -0xED #UNDEFINED -0xEE 0x00AF #MACRON -0xEF 0x00B4 #ACUTE ACCENT -0xF0 0x00AD #SOFT HYPHEN -0xF1 0x00B1 #PLUS-MINUS SIGN -0xF2 0x2017 #DOUBLE LOW LINE -0xF3 0x00BE #VULGAR FRACTION THREE QUARTERS -0xF4 0x00B6 #PILCROW SIGN -0xF5 0x00A7 #SECTION SIGN -0xF6 0x00F7 #DIVISION SIGN -0xF7 0x00B8 #CEDILLA -0xF8 0x00B0 #DEGREE SIGN -0xF9 0x00A8 #DIAERESIS -0xFA 0x00B7 #MIDDLE DOT -0xFB 0x00B9 #SUPERSCRIPT ONE -0xFC 0x00B3 #SUPERSCRIPT THREE -0xFD 0x00B2 #SUPERSCRIPT TWO -0xFE 0x25A0 #BLACK SQUARE -0xFF 0x00A0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp857.txt b/lib/ucmaps/cp857.txt deleted file mode 100755 index 305938396..000000000 --- a/lib/ucmaps/cp857.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp857_DOSTurkish to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp857_DOSTurkish code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp857_DOSTurkish order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE -0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX -0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE -0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS -0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX -0x8d 0x0131 #LATIN SMALL LETTER DOTLESS I -0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00e6 #LATIN SMALL LIGATURE AE -0x92 0x00c6 #LATIN CAPITAL LIGATURE AE -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE -0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX -0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE -0x98 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE -0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE -0x9c 0x00a3 #POUND SIGN -0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE -0x9e 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA -0x9f 0x015f #LATIN SMALL LETTER S WITH CEDILLA -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE -0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE -0xa6 0x011e #LATIN CAPITAL LETTER G WITH BREVE -0xa7 0x011f #LATIN SMALL LETTER G WITH BREVE -0xa8 0x00bf #INVERTED QUESTION MARK -0xa9 0x00ae #REGISTERED SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00a1 #INVERTED EXCLAMATION MARK -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE -0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0xb7 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE -0xb8 0x00a9 #COPYRIGHT SIGN -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x00a2 #CENT SIGN -0xbe 0x00a5 #YEN SIGN -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x00e3 #LATIN SMALL LETTER A WITH TILDE -0xc7 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x00a4 #CURRENCY SIGN -0xd0 0x00ba #MASCULINE ORDINAL INDICATOR -0xd1 0x00aa #FEMININE ORDINAL INDICATOR -0xd2 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS -0xd4 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE -0xd5 #UNDEFINED -0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE -0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xd8 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x00a6 #BROKEN BAR -0xde 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0xe3 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE -0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE -0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE -0xe6 0x00b5 #MICRO SIGN -0xe7 #UNDEFINED -0xe8 0x00d7 #MULTIPLICATION SIGN -0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE -0xea 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0xeb 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE -0xec 0x00ec #LATIN SMALL LETTER I WITH GRAVE -0xed 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS -0xee 0x00af #MACRON -0xef 0x00b4 #ACUTE ACCENT -0xf0 0x00ad #SOFT HYPHEN -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 #UNDEFINED -0xf3 0x00be #VULGAR FRACTION THREE QUARTERS -0xf4 0x00b6 #PILCROW SIGN -0xf5 0x00a7 #SECTION SIGN -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x00b8 #CEDILLA -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x00a8 #DIAERESIS -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x00b9 #SUPERSCRIPT ONE -0xfc 0x00b3 #SUPERSCRIPT THREE -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp860.txt b/lib/ucmaps/cp860.txt deleted file mode 100755 index d7f2cb737..000000000 --- a/lib/ucmaps/cp860.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp860_DOSPortuguese to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp860_DOSPortuguese code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp860_DOSPortuguese order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00e3 #LATIN SMALL LETTER A WITH TILDE -0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE -0x86 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX -0x89 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE -0x8b 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE -0x8c 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE -0x8e 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE -0x8f 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE -0x92 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00f5 #LATIN SMALL LETTER O WITH TILDE -0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE -0x96 0x00da #LATIN CAPITAL LETTER U WITH ACUTE -0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE -0x98 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE -0x99 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00a2 #CENT SIGN -0x9c 0x00a3 #POUND SIGN -0x9d 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE -0x9e 0x20a7 #PESETA SIGN -0x9f 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE -0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE -0xa6 0x00aa #FEMININE ORDINAL INDICATOR -0xa7 0x00ba #MASCULINE ORDINAL INDICATOR -0xa8 0x00bf #INVERTED QUESTION MARK -0xa9 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00a1 #INVERTED EXCLAMATION MARK -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03b1 #GREEK SMALL LETTER ALPHA -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA -0xe3 0x03c0 #GREEK SMALL LETTER PI -0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA -0xe5 0x03c3 #GREEK SMALL LETTER SIGMA -0xe6 0x00b5 #MICRO SIGN -0xe7 0x03c4 #GREEK SMALL LETTER TAU -0xe8 0x03a6 #GREEK CAPITAL LETTER PHI -0xe9 0x0398 #GREEK CAPITAL LETTER THETA -0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA -0xeb 0x03b4 #GREEK SMALL LETTER DELTA -0xec 0x221e #INFINITY -0xed 0x03c6 #GREEK SMALL LETTER PHI -0xee 0x03b5 #GREEK SMALL LETTER EPSILON -0xef 0x2229 #INTERSECTION -0xf0 0x2261 #IDENTICAL TO -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2265 #GREATER-THAN OR EQUAL TO -0xf3 0x2264 #LESS-THAN OR EQUAL TO -0xf4 0x2320 #TOP HALF INTEGRAL -0xf5 0x2321 #BOTTOM HALF INTEGRAL -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x2248 #ALMOST EQUAL TO -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp861.txt b/lib/ucmaps/cp861.txt deleted file mode 100755 index fe0f02bb5..000000000 --- a/lib/ucmaps/cp861.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp861_DOSIcelandic to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp861_DOSIcelandic code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp861_DOSIcelandic order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE -0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX -0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE -0x8b 0x00d0 #LATIN CAPITAL LETTER ETH -0x8c 0x00f0 #LATIN SMALL LETTER ETH -0x8d 0x00de #LATIN CAPITAL LETTER THORN -0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00e6 #LATIN SMALL LIGATURE AE -0x92 0x00c6 #LATIN CAPITAL LIGATURE AE -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 0x00fe #LATIN SMALL LETTER THORN -0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX -0x97 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE -0x98 0x00fd #LATIN SMALL LETTER Y WITH ACUTE -0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE -0x9c 0x00a3 #POUND SIGN -0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE -0x9e 0x20a7 #PESETA SIGN -0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE -0xa5 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE -0xa6 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE -0xa7 0x00da #LATIN CAPITAL LETTER U WITH ACUTE -0xa8 0x00bf #INVERTED QUESTION MARK -0xa9 0x2310 #REVERSED NOT SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00a1 #INVERTED EXCLAMATION MARK -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03b1 #GREEK SMALL LETTER ALPHA -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA -0xe3 0x03c0 #GREEK SMALL LETTER PI -0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA -0xe5 0x03c3 #GREEK SMALL LETTER SIGMA -0xe6 0x00b5 #MICRO SIGN -0xe7 0x03c4 #GREEK SMALL LETTER TAU -0xe8 0x03a6 #GREEK CAPITAL LETTER PHI -0xe9 0x0398 #GREEK CAPITAL LETTER THETA -0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA -0xeb 0x03b4 #GREEK SMALL LETTER DELTA -0xec 0x221e #INFINITY -0xed 0x03c6 #GREEK SMALL LETTER PHI -0xee 0x03b5 #GREEK SMALL LETTER EPSILON -0xef 0x2229 #INTERSECTION -0xf0 0x2261 #IDENTICAL TO -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2265 #GREATER-THAN OR EQUAL TO -0xf3 0x2264 #LESS-THAN OR EQUAL TO -0xf4 0x2320 #TOP HALF INTEGRAL -0xf5 0x2321 #BOTTOM HALF INTEGRAL -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x2248 #ALMOST EQUAL TO -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp862.txt b/lib/ucmaps/cp862.txt deleted file mode 100755 index 963110518..000000000 --- a/lib/ucmaps/cp862.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp862_DOSHebrew to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp862_DOSHebrew code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp862_DOSHebrew order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x05d0 #HEBREW LETTER ALEF -0x81 0x05d1 #HEBREW LETTER BET -0x82 0x05d2 #HEBREW LETTER GIMEL -0x83 0x05d3 #HEBREW LETTER DALET -0x84 0x05d4 #HEBREW LETTER HE -0x85 0x05d5 #HEBREW LETTER VAV -0x86 0x05d6 #HEBREW LETTER ZAYIN -0x87 0x05d7 #HEBREW LETTER HET -0x88 0x05d8 #HEBREW LETTER TET -0x89 0x05d9 #HEBREW LETTER YOD -0x8a 0x05da #HEBREW LETTER FINAL KAF -0x8b 0x05db #HEBREW LETTER KAF -0x8c 0x05dc #HEBREW LETTER LAMED -0x8d 0x05dd #HEBREW LETTER FINAL MEM -0x8e 0x05de #HEBREW LETTER MEM -0x8f 0x05df #HEBREW LETTER FINAL NUN -0x90 0x05e0 #HEBREW LETTER NUN -0x91 0x05e1 #HEBREW LETTER SAMEKH -0x92 0x05e2 #HEBREW LETTER AYIN -0x93 0x05e3 #HEBREW LETTER FINAL PE -0x94 0x05e4 #HEBREW LETTER PE -0x95 0x05e5 #HEBREW LETTER FINAL TSADI -0x96 0x05e6 #HEBREW LETTER TSADI -0x97 0x05e7 #HEBREW LETTER QOF -0x98 0x05e8 #HEBREW LETTER RESH -0x99 0x05e9 #HEBREW LETTER SHIN -0x9a 0x05ea #HEBREW LETTER TAV -0x9b 0x00a2 #CENT SIGN -0x9c 0x00a3 #POUND SIGN -0x9d 0x00a5 #YEN SIGN -0x9e 0x20a7 #PESETA SIGN -0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE -0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE -0xa6 0x00aa #FEMININE ORDINAL INDICATOR -0xa7 0x00ba #MASCULINE ORDINAL INDICATOR -0xa8 0x00bf #INVERTED QUESTION MARK -0xa9 0x2310 #REVERSED NOT SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00a1 #INVERTED EXCLAMATION MARK -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03b1 #GREEK SMALL LETTER ALPHA -0xe1 0x00df #LATIN SMALL LETTER SHARP S (GERMAN) -0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA -0xe3 0x03c0 #GREEK SMALL LETTER PI -0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA -0xe5 0x03c3 #GREEK SMALL LETTER SIGMA -0xe6 0x00b5 #MICRO SIGN -0xe7 0x03c4 #GREEK SMALL LETTER TAU -0xe8 0x03a6 #GREEK CAPITAL LETTER PHI -0xe9 0x0398 #GREEK CAPITAL LETTER THETA -0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA -0xeb 0x03b4 #GREEK SMALL LETTER DELTA -0xec 0x221e #INFINITY -0xed 0x03c6 #GREEK SMALL LETTER PHI -0xee 0x03b5 #GREEK SMALL LETTER EPSILON -0xef 0x2229 #INTERSECTION -0xf0 0x2261 #IDENTICAL TO -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2265 #GREATER-THAN OR EQUAL TO -0xf3 0x2264 #LESS-THAN OR EQUAL TO -0xf4 0x2320 #TOP HALF INTEGRAL -0xf5 0x2321 #BOTTOM HALF INTEGRAL -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x2248 #ALMOST EQUAL TO -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp863.txt b/lib/ucmaps/cp863.txt deleted file mode 100755 index cc4eae186..000000000 --- a/lib/ucmaps/cp863.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp863_DOSCanadaF to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp863_DOSCanadaF code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp863_DOSCanadaF order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX -0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE -0x86 0x00b6 #PILCROW SIGN -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX -0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE -0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS -0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX -0x8d 0x2017 #DOUBLE LOW LINE -0x8e 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE -0x8f 0x00a7 #SECTION SIGN -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE -0x92 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS -0x95 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS -0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX -0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE -0x98 0x00a4 #CURRENCY SIGN -0x99 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00a2 #CENT SIGN -0x9c 0x00a3 #POUND SIGN -0x9d 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE -0x9e 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX -0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK -0xa0 0x00a6 #BROKEN BAR -0xa1 0x00b4 #ACUTE ACCENT -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00a8 #DIAERESIS -0xa5 0x00b8 #CEDILLA -0xa6 0x00b3 #SUPERSCRIPT THREE -0xa7 0x00af #MACRON -0xa8 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX -0xa9 0x2310 #REVERSED NOT SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00be #VULGAR FRACTION THREE QUARTERS -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03b1 #GREEK SMALL LETTER ALPHA -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA -0xe3 0x03c0 #GREEK SMALL LETTER PI -0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA -0xe5 0x03c3 #GREEK SMALL LETTER SIGMA -0xe6 0x00b5 #MICRO SIGN -0xe7 0x03c4 #GREEK SMALL LETTER TAU -0xe8 0x03a6 #GREEK CAPITAL LETTER PHI -0xe9 0x0398 #GREEK CAPITAL LETTER THETA -0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA -0xeb 0x03b4 #GREEK SMALL LETTER DELTA -0xec 0x221e #INFINITY -0xed 0x03c6 #GREEK SMALL LETTER PHI -0xee 0x03b5 #GREEK SMALL LETTER EPSILON -0xef 0x2229 #INTERSECTION -0xf0 0x2261 #IDENTICAL TO -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2265 #GREATER-THAN OR EQUAL TO -0xf3 0x2264 #LESS-THAN OR EQUAL TO -0xf4 0x2320 #TOP HALF INTEGRAL -0xf5 0x2321 #BOTTOM HALF INTEGRAL -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x2248 #ALMOST EQUAL TO -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp864.txt b/lib/ucmaps/cp864.txt deleted file mode 100755 index 7aa055fba..000000000 --- a/lib/ucmaps/cp864.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp864_DOSArabic to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp864_DOSArabic code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp864_DOSArabic order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x066a #ARABIC PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00b0 #DEGREE SIGN -0x81 0x00b7 #MIDDLE DOT -0x82 0x2219 #BULLET OPERATOR -0x83 0x221a #SQUARE ROOT -0x84 0x2592 #MEDIUM SHADE -0x85 0x2500 #FORMS LIGHT HORIZONTAL -0x86 0x2502 #FORMS LIGHT VERTICAL -0x87 0x253c #FORMS LIGHT VERTICAL AND HORIZONTAL -0x88 0x2524 #FORMS LIGHT VERTICAL AND LEFT -0x89 0x252c #FORMS LIGHT DOWN AND HORIZONTAL -0x8a 0x251c #FORMS LIGHT VERTICAL AND RIGHT -0x8b 0x2534 #FORMS LIGHT UP AND HORIZONTAL -0x8c 0x2510 #FORMS LIGHT DOWN AND LEFT -0x8d 0x250c #FORMS LIGHT DOWN AND RIGHT -0x8e 0x2514 #FORMS LIGHT UP AND RIGHT -0x8f 0x2518 #FORMS LIGHT UP AND LEFT -0x90 0x03b2 #GREEK SMALL BETA -0x91 0x221e #INFINITY -0x92 0x03c6 #GREEK SMALL PHI -0x93 0x00b1 #PLUS-OR-MINUS SIGN -0x94 0x00bd #FRACTION 1/2 -0x95 0x00bc #FRACTION 1/4 -0x96 0x2248 #ALMOST EQUAL TO -0x97 0x00ab #LEFT POINTING GUILLEMET -0x98 0x00bb #RIGHT POINTING GUILLEMET -0x99 0xfef7 #ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM -0x9a 0xfef8 #ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM -0x9b #UNDEFINED -0x9c #UNDEFINED -0x9d 0xfefb #ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM -0x9e 0xfefc #ARABIC LIGATURE LAM WITH ALEF FINAL FORM -0x9f #UNDEFINED -0xa0 0x00a0 #NON-BREAKING SPACE -0xa1 0x00ad #SOFT HYPHEN -0xa2 0xfe82 #ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM -0xa3 0x00a3 #POUND SIGN -0xa4 0x00a4 #CURRENCY SIGN -0xa5 0xfe84 #ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM -0xa6 #UNDEFINED -0xa7 #UNDEFINED -0xa8 0xfe8e #ARABIC LETTER ALEF FINAL FORM -0xa9 0xfe8f #ARABIC LETTER BEH ISOLATED FORM -0xaa 0xfe95 #ARABIC LETTER TEH ISOLATED FORM -0xab 0xfe99 #ARABIC LETTER THEH ISOLATED FORM -0xac 0x060c #ARABIC COMMA -0xad 0xfe9d #ARABIC LETTER JEEM ISOLATED FORM -0xae 0xfea1 #ARABIC LETTER HAH ISOLATED FORM -0xaf 0xfea5 #ARABIC LETTER KHAH ISOLATED FORM -0xb0 0x0660 #ARABIC-INDIC DIGIT ZERO -0xb1 0x0661 #ARABIC-INDIC DIGIT ONE -0xb2 0x0662 #ARABIC-INDIC DIGIT TWO -0xb3 0x0663 #ARABIC-INDIC DIGIT THREE -0xb4 0x0664 #ARABIC-INDIC DIGIT FOUR -0xb5 0x0665 #ARABIC-INDIC DIGIT FIVE -0xb6 0x0666 #ARABIC-INDIC DIGIT SIX -0xb7 0x0667 #ARABIC-INDIC DIGIT SEVEN -0xb8 0x0668 #ARABIC-INDIC DIGIT EIGHT -0xb9 0x0669 #ARABIC-INDIC DIGIT NINE -0xba 0xfed1 #ARABIC LETTER FEH ISOLATED FORM -0xbb 0x061b #ARABIC SEMICOLON -0xbc 0xfeb1 #ARABIC LETTER SEEN ISOLATED FORM -0xbd 0xfeb5 #ARABIC LETTER SHEEN ISOLATED FORM -0xbe 0xfeb9 #ARABIC LETTER SAD ISOLATED FORM -0xbf 0x061f #ARABIC QUESTION MARK -0xc0 0x00a2 #CENT SIGN -0xc1 0xfe80 #ARABIC LETTER HAMZA ISOLATED FORM -0xc2 0xfe81 #ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM -0xc3 0xfe83 #ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM -0xc4 0xfe85 #ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM -0xc5 0xfeca #ARABIC LETTER AIN FINAL FORM -0xc6 0xfe8b #ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM -0xc7 0xfe8d #ARABIC LETTER ALEF ISOLATED FORM -0xc8 0xfe91 #ARABIC LETTER BEH INITIAL FORM -0xc9 0xfe93 #ARABIC LETTER TEH MARBUTA ISOLATED FORM -0xca 0xfe97 #ARABIC LETTER TEH INITIAL FORM -0xcb 0xfe9b #ARABIC LETTER THEH INITIAL FORM -0xcc 0xfe9f #ARABIC LETTER JEEM INITIAL FORM -0xcd 0xfea3 #ARABIC LETTER HAH INITIAL FORM -0xce 0xfea7 #ARABIC LETTER KHAH INITIAL FORM -0xcf 0xfea9 #ARABIC LETTER DAL ISOLATED FORM -0xd0 0xfeab #ARABIC LETTER THAL ISOLATED FORM -0xd1 0xfead #ARABIC LETTER REH ISOLATED FORM -0xd2 0xfeaf #ARABIC LETTER ZAIN ISOLATED FORM -0xd3 0xfeb3 #ARABIC LETTER SEEN INITIAL FORM -0xd4 0xfeb7 #ARABIC LETTER SHEEN INITIAL FORM -0xd5 0xfebb #ARABIC LETTER SAD INITIAL FORM -0xd6 0xfebf #ARABIC LETTER DAD INITIAL FORM -0xd7 0xfec1 #ARABIC LETTER TAH ISOLATED FORM -0xd8 0xfec5 #ARABIC LETTER ZAH ISOLATED FORM -0xd9 0xfecb #ARABIC LETTER AIN INITIAL FORM -0xda 0xfecf #ARABIC LETTER GHAIN INITIAL FORM -0xdb 0x00a6 #BROKEN VERTICAL BAR -0xdc 0x00ac #NOT SIGN -0xdd 0x00f7 #DIVISION SIGN -0xde 0x00d7 #MULTIPLICATION SIGN -0xdf 0xfec9 #ARABIC LETTER AIN ISOLATED FORM -0xe0 0x0640 #ARABIC TATWEEL -0xe1 0xfed3 #ARABIC LETTER FEH INITIAL FORM -0xe2 0xfed7 #ARABIC LETTER QAF INITIAL FORM -0xe3 0xfedb #ARABIC LETTER KAF INITIAL FORM -0xe4 0xfedf #ARABIC LETTER LAM INITIAL FORM -0xe5 0xfee3 #ARABIC LETTER MEEM INITIAL FORM -0xe6 0xfee7 #ARABIC LETTER NOON INITIAL FORM -0xe7 0xfeeb #ARABIC LETTER HEH INITIAL FORM -0xe8 0xfeed #ARABIC LETTER WAW ISOLATED FORM -0xe9 0xfeef #ARABIC LETTER ALEF MAKSURA ISOLATED FORM -0xea 0xfef3 #ARABIC LETTER YEH INITIAL FORM -0xeb 0xfebd #ARABIC LETTER DAD ISOLATED FORM -0xec 0xfecc #ARABIC LETTER AIN MEDIAL FORM -0xed 0xfece #ARABIC LETTER GHAIN FINAL FORM -0xee 0xfecd #ARABIC LETTER GHAIN ISOLATED FORM -0xef 0xfee1 #ARABIC LETTER MEEM ISOLATED FORM -0xf0 0xfe7d #ARABIC SHADDA MEDIAL FORM -0xf1 0x0651 #ARABIC SHADDAH -0xf2 0xfee5 #ARABIC LETTER NOON ISOLATED FORM -0xf3 0xfee9 #ARABIC LETTER HEH ISOLATED FORM -0xf4 0xfeec #ARABIC LETTER HEH MEDIAL FORM -0xf5 0xfef0 #ARABIC LETTER ALEF MAKSURA FINAL FORM -0xf6 0xfef2 #ARABIC LETTER YEH FINAL FORM -0xf7 0xfed0 #ARABIC LETTER GHAIN MEDIAL FORM -0xf8 0xfed5 #ARABIC LETTER QAF ISOLATED FORM -0xf9 0xfef5 #ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM -0xfa 0xfef6 #ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM -0xfb 0xfedd #ARABIC LETTER LAM ISOLATED FORM -0xfc 0xfed9 #ARABIC LETTER KAF ISOLATED FORM -0xfd 0xfef1 #ARABIC LETTER YEH ISOLATED FORM -0xfe 0x25a0 #BLACK SQUARE -0xff #UNDEFINED - diff --git a/lib/ucmaps/cp865.txt b/lib/ucmaps/cp865.txt deleted file mode 100755 index 67705f46a..000000000 --- a/lib/ucmaps/cp865.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp865_DOSNordic to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp865_DOSNordic code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp865_DOSNordic order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA -0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS -0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE -0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX -0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS -0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE -0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE -0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA -0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX -0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS -0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE -0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS -0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX -0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE -0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS -0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE -0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE -0x91 0x00e6 #LATIN SMALL LIGATURE AE -0x92 0x00c6 #LATIN CAPITAL LIGATURE AE -0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX -0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS -0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE -0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX -0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE -0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS -0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS -0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS -0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE -0x9c 0x00a3 #POUND SIGN -0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE -0x9e 0x20a7 #PESETA SIGN -0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK -0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE -0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE -0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE -0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE -0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE -0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE -0xa6 0x00aa #FEMININE ORDINAL INDICATOR -0xa7 0x00ba #MASCULINE ORDINAL INDICATOR -0xa8 0x00bf #INVERTED QUESTION MARK -0xa9 0x2310 #REVERSED NOT SIGN -0xaa 0x00ac #NOT SIGN -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x00bc #VULGAR FRACTION ONE QUARTER -0xad 0x00a1 #INVERTED EXCLAMATION MARK -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00a4 #CURRENCY SIGN -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03b1 #GREEK SMALL LETTER ALPHA -0xe1 0x00df #LATIN SMALL LETTER SHARP S -0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA -0xe3 0x03c0 #GREEK SMALL LETTER PI -0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA -0xe5 0x03c3 #GREEK SMALL LETTER SIGMA -0xe6 0x00b5 #MICRO SIGN -0xe7 0x03c4 #GREEK SMALL LETTER TAU -0xe8 0x03a6 #GREEK CAPITAL LETTER PHI -0xe9 0x0398 #GREEK CAPITAL LETTER THETA -0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA -0xeb 0x03b4 #GREEK SMALL LETTER DELTA -0xec 0x221e #INFINITY -0xed 0x03c6 #GREEK SMALL LETTER PHI -0xee 0x03b5 #GREEK SMALL LETTER EPSILON -0xef 0x2229 #INTERSECTION -0xf0 0x2261 #IDENTICAL TO -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x2265 #GREATER-THAN OR EQUAL TO -0xf3 0x2264 #LESS-THAN OR EQUAL TO -0xf4 0x2320 #TOP HALF INTEGRAL -0xf5 0x2321 #BOTTOM HALF INTEGRAL -0xf6 0x00f7 #DIVISION SIGN -0xf7 0x2248 #ALMOST EQUAL TO -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N -0xfd 0x00b2 #SUPERSCRIPT TWO -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp866.txt b/lib/ucmaps/cp866.txt deleted file mode 100755 index 880fb70e3..000000000 --- a/lib/ucmaps/cp866.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp866_DOSCyrillicRussian to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp866_DOSCyrillicRussian code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp866_DOSCyrillicRussian order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 0x0410 #CYRILLIC CAPITAL LETTER A -0x81 0x0411 #CYRILLIC CAPITAL LETTER BE -0x82 0x0412 #CYRILLIC CAPITAL LETTER VE -0x83 0x0413 #CYRILLIC CAPITAL LETTER GHE -0x84 0x0414 #CYRILLIC CAPITAL LETTER DE -0x85 0x0415 #CYRILLIC CAPITAL LETTER IE -0x86 0x0416 #CYRILLIC CAPITAL LETTER ZHE -0x87 0x0417 #CYRILLIC CAPITAL LETTER ZE -0x88 0x0418 #CYRILLIC CAPITAL LETTER I -0x89 0x0419 #CYRILLIC CAPITAL LETTER SHORT I -0x8a 0x041a #CYRILLIC CAPITAL LETTER KA -0x8b 0x041b #CYRILLIC CAPITAL LETTER EL -0x8c 0x041c #CYRILLIC CAPITAL LETTER EM -0x8d 0x041d #CYRILLIC CAPITAL LETTER EN -0x8e 0x041e #CYRILLIC CAPITAL LETTER O -0x8f 0x041f #CYRILLIC CAPITAL LETTER PE -0x90 0x0420 #CYRILLIC CAPITAL LETTER ER -0x91 0x0421 #CYRILLIC CAPITAL LETTER ES -0x92 0x0422 #CYRILLIC CAPITAL LETTER TE -0x93 0x0423 #CYRILLIC CAPITAL LETTER U -0x94 0x0424 #CYRILLIC CAPITAL LETTER EF -0x95 0x0425 #CYRILLIC CAPITAL LETTER HA -0x96 0x0426 #CYRILLIC CAPITAL LETTER TSE -0x97 0x0427 #CYRILLIC CAPITAL LETTER CHE -0x98 0x0428 #CYRILLIC CAPITAL LETTER SHA -0x99 0x0429 #CYRILLIC CAPITAL LETTER SHCHA -0x9a 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN -0x9b 0x042b #CYRILLIC CAPITAL LETTER YERU -0x9c 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN -0x9d 0x042d #CYRILLIC CAPITAL LETTER E -0x9e 0x042e #CYRILLIC CAPITAL LETTER YU -0x9f 0x042f #CYRILLIC CAPITAL LETTER YA -0xa0 0x0430 #CYRILLIC SMALL LETTER A -0xa1 0x0431 #CYRILLIC SMALL LETTER BE -0xa2 0x0432 #CYRILLIC SMALL LETTER VE -0xa3 0x0433 #CYRILLIC SMALL LETTER GHE -0xa4 0x0434 #CYRILLIC SMALL LETTER DE -0xa5 0x0435 #CYRILLIC SMALL LETTER IE -0xa6 0x0436 #CYRILLIC SMALL LETTER ZHE -0xa7 0x0437 #CYRILLIC SMALL LETTER ZE -0xa8 0x0438 #CYRILLIC SMALL LETTER I -0xa9 0x0439 #CYRILLIC SMALL LETTER SHORT I -0xaa 0x043a #CYRILLIC SMALL LETTER KA -0xab 0x043b #CYRILLIC SMALL LETTER EL -0xac 0x043c #CYRILLIC SMALL LETTER EM -0xad 0x043d #CYRILLIC SMALL LETTER EN -0xae 0x043e #CYRILLIC SMALL LETTER O -0xaf 0x043f #CYRILLIC SMALL LETTER PE -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x258c #LEFT HALF BLOCK -0xde 0x2590 #RIGHT HALF BLOCK -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x0440 #CYRILLIC SMALL LETTER ER -0xe1 0x0441 #CYRILLIC SMALL LETTER ES -0xe2 0x0442 #CYRILLIC SMALL LETTER TE -0xe3 0x0443 #CYRILLIC SMALL LETTER U -0xe4 0x0444 #CYRILLIC SMALL LETTER EF -0xe5 0x0445 #CYRILLIC SMALL LETTER HA -0xe6 0x0446 #CYRILLIC SMALL LETTER TSE -0xe7 0x0447 #CYRILLIC SMALL LETTER CHE -0xe8 0x0448 #CYRILLIC SMALL LETTER SHA -0xe9 0x0449 #CYRILLIC SMALL LETTER SHCHA -0xea 0x044a #CYRILLIC SMALL LETTER HARD SIGN -0xeb 0x044b #CYRILLIC SMALL LETTER YERU -0xec 0x044c #CYRILLIC SMALL LETTER SOFT SIGN -0xed 0x044d #CYRILLIC SMALL LETTER E -0xee 0x044e #CYRILLIC SMALL LETTER YU -0xef 0x044f #CYRILLIC SMALL LETTER YA -0xf0 0x0401 #CYRILLIC CAPITAL LETTER IO -0xf1 0x0451 #CYRILLIC SMALL LETTER IO -0xf2 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE -0xf3 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE -0xf4 0x0407 #CYRILLIC CAPITAL LETTER YI -0xf5 0x0457 #CYRILLIC SMALL LETTER YI -0xf6 0x040e #CYRILLIC CAPITAL LETTER SHORT U -0xf7 0x045e #CYRILLIC SMALL LETTER SHORT U -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x2219 #BULLET OPERATOR -0xfa 0x00b7 #MIDDLE DOT -0xfb 0x221a #SQUARE ROOT -0xfc 0x2116 #NUMERO SIGN -0xfd 0x00a4 #CURRENCY SIGN -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp869.txt b/lib/ucmaps/cp869.txt deleted file mode 100755 index 4c77ffd6c..000000000 --- a/lib/ucmaps/cp869.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp869_DOSGreek2 to Unicode table -# Unicode version: 2.0 -# Table version: 2.00 -# Table format: Format A -# Date: 04/24/96 -# Authors: Lori Brownell -# K.D. Chang -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp869_DOSGreek2 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp869_DOSGreek2 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0a 0x000a #LINE FEED -0x0b 0x000b #VERTICAL TABULATION -0x0c 0x000c #FORM FEED -0x0d 0x000d #CARRIAGE RETURN -0x0e 0x000e #SHIFT OUT -0x0f 0x000f #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1a 0x001a #SUBSTITUTE -0x1b 0x001b #ESCAPE -0x1c 0x001c #FILE SEPARATOR -0x1d 0x001d #GROUP SEPARATOR -0x1e 0x001e #RECORD SEPARATOR -0x1f 0x001f #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2a 0x002a #ASTERISK -0x2b 0x002b #PLUS SIGN -0x2c 0x002c #COMMA -0x2d 0x002d #HYPHEN-MINUS -0x2e 0x002e #FULL STOP -0x2f 0x002f #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3a 0x003a #COLON -0x3b 0x003b #SEMICOLON -0x3c 0x003c #LESS-THAN SIGN -0x3d 0x003d #EQUALS SIGN -0x3e 0x003e #GREATER-THAN SIGN -0x3f 0x003f #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4a 0x004a #LATIN CAPITAL LETTER J -0x4b 0x004b #LATIN CAPITAL LETTER K -0x4c 0x004c #LATIN CAPITAL LETTER L -0x4d 0x004d #LATIN CAPITAL LETTER M -0x4e 0x004e #LATIN CAPITAL LETTER N -0x4f 0x004f #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5a 0x005a #LATIN CAPITAL LETTER Z -0x5b 0x005b #LEFT SQUARE BRACKET -0x5c 0x005c #REVERSE SOLIDUS -0x5d 0x005d #RIGHT SQUARE BRACKET -0x5e 0x005e #CIRCUMFLEX ACCENT -0x5f 0x005f #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6a 0x006a #LATIN SMALL LETTER J -0x6b 0x006b #LATIN SMALL LETTER K -0x6c 0x006c #LATIN SMALL LETTER L -0x6d 0x006d #LATIN SMALL LETTER M -0x6e 0x006e #LATIN SMALL LETTER N -0x6f 0x006f #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7a 0x007a #LATIN SMALL LETTER Z -0x7b 0x007b #LEFT CURLY BRACKET -0x7c 0x007c #VERTICAL LINE -0x7d 0x007d #RIGHT CURLY BRACKET -0x7e 0x007e #TILDE -0x7f 0x007f #DELETE -0x80 #UNDEFINED -0x81 #UNDEFINED -0x82 #UNDEFINED -0x83 #UNDEFINED -0x84 #UNDEFINED -0x85 #UNDEFINED -0x86 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS -0x87 #UNDEFINED -0x88 0x00b7 #MIDDLE DOT -0x89 0x00ac #NOT SIGN -0x8a 0x00a6 #BROKEN BAR -0x8b 0x2018 #LEFT SINGLE QUOTATION MARK -0x8c 0x2019 #RIGHT SINGLE QUOTATION MARK -0x8d 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS -0x8e 0x2015 #HORIZONTAL BAR -0x8f 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS -0x90 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS -0x91 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -0x92 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS -0x93 #UNDEFINED -0x94 #UNDEFINED -0x95 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS -0x96 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -0x97 0x00a9 #COPYRIGHT SIGN -0x98 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS -0x99 0x00b2 #SUPERSCRIPT TWO -0x9a 0x00b3 #SUPERSCRIPT THREE -0x9b 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS -0x9c 0x00a3 #POUND SIGN -0x9d 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS -0x9e 0x03ae #GREEK SMALL LETTER ETA WITH TONOS -0x9f 0x03af #GREEK SMALL LETTER IOTA WITH TONOS -0xa0 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA -0xa1 0x0390 #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -0xa2 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS -0xa3 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS -0xa4 0x0391 #GREEK CAPITAL LETTER ALPHA -0xa5 0x0392 #GREEK CAPITAL LETTER BETA -0xa6 0x0393 #GREEK CAPITAL LETTER GAMMA -0xa7 0x0394 #GREEK CAPITAL LETTER DELTA -0xa8 0x0395 #GREEK CAPITAL LETTER EPSILON -0xa9 0x0396 #GREEK CAPITAL LETTER ZETA -0xaa 0x0397 #GREEK CAPITAL LETTER ETA -0xab 0x00bd #VULGAR FRACTION ONE HALF -0xac 0x0398 #GREEK CAPITAL LETTER THETA -0xad 0x0399 #GREEK CAPITAL LETTER IOTA -0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -0xb0 0x2591 #LIGHT SHADE -0xb1 0x2592 #MEDIUM SHADE -0xb2 0x2593 #DARK SHADE -0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0xb5 0x039a #GREEK CAPITAL LETTER KAPPA -0xb6 0x039b #GREEK CAPITAL LETTER LAMDA -0xb7 0x039c #GREEK CAPITAL LETTER MU -0xb8 0x039d #GREEK CAPITAL LETTER NU -0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT -0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL -0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT -0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT -0xbd 0x039e #GREEK CAPITAL LETTER XI -0xbe 0x039f #GREEK CAPITAL LETTER OMICRON -0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0xc6 0x03a0 #GREEK CAPITAL LETTER PI -0xc7 0x03a1 #GREEK CAPITAL LETTER RHO -0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT -0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT -0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL -0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL -0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -0xcf 0x03a3 #GREEK CAPITAL LETTER SIGMA -0xd0 0x03a4 #GREEK CAPITAL LETTER TAU -0xd1 0x03a5 #GREEK CAPITAL LETTER UPSILON -0xd2 0x03a6 #GREEK CAPITAL LETTER PHI -0xd3 0x03a7 #GREEK CAPITAL LETTER CHI -0xd4 0x03a8 #GREEK CAPITAL LETTER PSI -0xd5 0x03a9 #GREEK CAPITAL LETTER OMEGA -0xd6 0x03b1 #GREEK SMALL LETTER ALPHA -0xd7 0x03b2 #GREEK SMALL LETTER BETA -0xd8 0x03b3 #GREEK SMALL LETTER GAMMA -0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT -0xdb 0x2588 #FULL BLOCK -0xdc 0x2584 #LOWER HALF BLOCK -0xdd 0x03b4 #GREEK SMALL LETTER DELTA -0xde 0x03b5 #GREEK SMALL LETTER EPSILON -0xdf 0x2580 #UPPER HALF BLOCK -0xe0 0x03b6 #GREEK SMALL LETTER ZETA -0xe1 0x03b7 #GREEK SMALL LETTER ETA -0xe2 0x03b8 #GREEK SMALL LETTER THETA -0xe3 0x03b9 #GREEK SMALL LETTER IOTA -0xe4 0x03ba #GREEK SMALL LETTER KAPPA -0xe5 0x03bb #GREEK SMALL LETTER LAMDA -0xe6 0x03bc #GREEK SMALL LETTER MU -0xe7 0x03bd #GREEK SMALL LETTER NU -0xe8 0x03be #GREEK SMALL LETTER XI -0xe9 0x03bf #GREEK SMALL LETTER OMICRON -0xea 0x03c0 #GREEK SMALL LETTER PI -0xeb 0x03c1 #GREEK SMALL LETTER RHO -0xec 0x03c3 #GREEK SMALL LETTER SIGMA -0xed 0x03c2 #GREEK SMALL LETTER FINAL SIGMA -0xee 0x03c4 #GREEK SMALL LETTER TAU -0xef 0x0384 #GREEK TONOS -0xf0 0x00ad #SOFT HYPHEN -0xf1 0x00b1 #PLUS-MINUS SIGN -0xf2 0x03c5 #GREEK SMALL LETTER UPSILON -0xf3 0x03c6 #GREEK SMALL LETTER PHI -0xf4 0x03c7 #GREEK SMALL LETTER CHI -0xf5 0x00a7 #SECTION SIGN -0xf6 0x03c8 #GREEK SMALL LETTER PSI -0xf7 0x0385 #GREEK DIALYTIKA TONOS -0xf8 0x00b0 #DEGREE SIGN -0xf9 0x00a8 #DIAERESIS -0xfa 0x03c9 #GREEK SMALL LETTER OMEGA -0xfb 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA -0xfc 0x03b0 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -0xfd 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS -0xfe 0x25a0 #BLACK SQUARE -0xff 0x00a0 #NO-BREAK SPACE - diff --git a/lib/ucmaps/cp874.txt b/lib/ucmaps/cp874.txt deleted file mode 100755 index 1eb71dfe1..000000000 --- a/lib/ucmaps/cp874.txt +++ /dev/null @@ -1,274 +0,0 @@ -# -# Name: cp874 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 02/28/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp874 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp874 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 0x20AC #EURO SIGN -0x81 #UNDEFINED -0x82 #UNDEFINED -0x83 #UNDEFINED -0x84 #UNDEFINED -0x85 0x2026 #HORIZONTAL ELLIPSIS -0x86 #UNDEFINED -0x87 #UNDEFINED -0x88 #UNDEFINED -0x89 #UNDEFINED -0x8A #UNDEFINED -0x8B #UNDEFINED -0x8C #UNDEFINED -0x8D #UNDEFINED -0x8E #UNDEFINED -0x8F #UNDEFINED -0x90 #UNDEFINED -0x91 0x2018 #LEFT SINGLE QUOTATION MARK -0x92 0x2019 #RIGHT SINGLE QUOTATION MARK -0x93 0x201C #LEFT DOUBLE QUOTATION MARK -0x94 0x201D #RIGHT DOUBLE QUOTATION MARK -0x95 0x2022 #BULLET -0x96 0x2013 #EN DASH -0x97 0x2014 #EM DASH -0x98 #UNDEFINED -0x99 #UNDEFINED -0x9A #UNDEFINED -0x9B #UNDEFINED -0x9C #UNDEFINED -0x9D #UNDEFINED -0x9E #UNDEFINED -0x9F #UNDEFINED -0xA0 0x00A0 #NO-BREAK SPACE -0xA1 0x0E01 #THAI CHARACTER KO KAI -0xA2 0x0E02 #THAI CHARACTER KHO KHAI -0xA3 0x0E03 #THAI CHARACTER KHO KHUAT -0xA4 0x0E04 #THAI CHARACTER KHO KHWAI -0xA5 0x0E05 #THAI CHARACTER KHO KHON -0xA6 0x0E06 #THAI CHARACTER KHO RAKHANG -0xA7 0x0E07 #THAI CHARACTER NGO NGU -0xA8 0x0E08 #THAI CHARACTER CHO CHAN -0xA9 0x0E09 #THAI CHARACTER CHO CHING -0xAA 0x0E0A #THAI CHARACTER CHO CHANG -0xAB 0x0E0B #THAI CHARACTER SO SO -0xAC 0x0E0C #THAI CHARACTER CHO CHOE -0xAD 0x0E0D #THAI CHARACTER YO YING -0xAE 0x0E0E #THAI CHARACTER DO CHADA -0xAF 0x0E0F #THAI CHARACTER TO PATAK -0xB0 0x0E10 #THAI CHARACTER THO THAN -0xB1 0x0E11 #THAI CHARACTER THO NANGMONTHO -0xB2 0x0E12 #THAI CHARACTER THO PHUTHAO -0xB3 0x0E13 #THAI CHARACTER NO NEN -0xB4 0x0E14 #THAI CHARACTER DO DEK -0xB5 0x0E15 #THAI CHARACTER TO TAO -0xB6 0x0E16 #THAI CHARACTER THO THUNG -0xB7 0x0E17 #THAI CHARACTER THO THAHAN -0xB8 0x0E18 #THAI CHARACTER THO THONG -0xB9 0x0E19 #THAI CHARACTER NO NU -0xBA 0x0E1A #THAI CHARACTER BO BAIMAI -0xBB 0x0E1B #THAI CHARACTER PO PLA -0xBC 0x0E1C #THAI CHARACTER PHO PHUNG -0xBD 0x0E1D #THAI CHARACTER FO FA -0xBE 0x0E1E #THAI CHARACTER PHO PHAN -0xBF 0x0E1F #THAI CHARACTER FO FAN -0xC0 0x0E20 #THAI CHARACTER PHO SAMPHAO -0xC1 0x0E21 #THAI CHARACTER MO MA -0xC2 0x0E22 #THAI CHARACTER YO YAK -0xC3 0x0E23 #THAI CHARACTER RO RUA -0xC4 0x0E24 #THAI CHARACTER RU -0xC5 0x0E25 #THAI CHARACTER LO LING -0xC6 0x0E26 #THAI CHARACTER LU -0xC7 0x0E27 #THAI CHARACTER WO WAEN -0xC8 0x0E28 #THAI CHARACTER SO SALA -0xC9 0x0E29 #THAI CHARACTER SO RUSI -0xCA 0x0E2A #THAI CHARACTER SO SUA -0xCB 0x0E2B #THAI CHARACTER HO HIP -0xCC 0x0E2C #THAI CHARACTER LO CHULA -0xCD 0x0E2D #THAI CHARACTER O ANG -0xCE 0x0E2E #THAI CHARACTER HO NOKHUK -0xCF 0x0E2F #THAI CHARACTER PAIYANNOI -0xD0 0x0E30 #THAI CHARACTER SARA A -0xD1 0x0E31 #THAI CHARACTER MAI HAN-AKAT -0xD2 0x0E32 #THAI CHARACTER SARA AA -0xD3 0x0E33 #THAI CHARACTER SARA AM -0xD4 0x0E34 #THAI CHARACTER SARA I -0xD5 0x0E35 #THAI CHARACTER SARA II -0xD6 0x0E36 #THAI CHARACTER SARA UE -0xD7 0x0E37 #THAI CHARACTER SARA UEE -0xD8 0x0E38 #THAI CHARACTER SARA U -0xD9 0x0E39 #THAI CHARACTER SARA UU -0xDA 0x0E3A #THAI CHARACTER PHINTHU -0xDB #UNDEFINED -0xDC #UNDEFINED -0xDD #UNDEFINED -0xDE #UNDEFINED -0xDF 0x0E3F #THAI CURRENCY SYMBOL BAHT -0xE0 0x0E40 #THAI CHARACTER SARA E -0xE1 0x0E41 #THAI CHARACTER SARA AE -0xE2 0x0E42 #THAI CHARACTER SARA O -0xE3 0x0E43 #THAI CHARACTER SARA AI MAIMUAN -0xE4 0x0E44 #THAI CHARACTER SARA AI MAIMALAI -0xE5 0x0E45 #THAI CHARACTER LAKKHANGYAO -0xE6 0x0E46 #THAI CHARACTER MAIYAMOK -0xE7 0x0E47 #THAI CHARACTER MAITAIKHU -0xE8 0x0E48 #THAI CHARACTER MAI EK -0xE9 0x0E49 #THAI CHARACTER MAI THO -0xEA 0x0E4A #THAI CHARACTER MAI TRI -0xEB 0x0E4B #THAI CHARACTER MAI CHATTAWA -0xEC 0x0E4C #THAI CHARACTER THANTHAKHAT -0xED 0x0E4D #THAI CHARACTER NIKHAHIT -0xEE 0x0E4E #THAI CHARACTER YAMAKKAN -0xEF 0x0E4F #THAI CHARACTER FONGMAN -0xF0 0x0E50 #THAI DIGIT ZERO -0xF1 0x0E51 #THAI DIGIT ONE -0xF2 0x0E52 #THAI DIGIT TWO -0xF3 0x0E53 #THAI DIGIT THREE -0xF4 0x0E54 #THAI DIGIT FOUR -0xF5 0x0E55 #THAI DIGIT FIVE -0xF6 0x0E56 #THAI DIGIT SIX -0xF7 0x0E57 #THAI DIGIT SEVEN -0xF8 0x0E58 #THAI DIGIT EIGHT -0xF9 0x0E59 #THAI DIGIT NINE -0xFA 0x0E5A #THAI CHARACTER ANGKHANKHU -0xFB 0x0E5B #THAI CHARACTER KHOMUT -0xFC #UNDEFINED -0xFD #UNDEFINED -0xFE #UNDEFINED -0xFF #UNDEFINED diff --git a/lib/ucmaps/cp932.txt b/lib/ucmaps/cp932.txt deleted file mode 100755 index 36bfdbfab..000000000 --- a/lib/ucmaps/cp932.txt +++ /dev/null @@ -1,7998 +0,0 @@ -# -# Name: cp932 to Unicode table -# Unicode version: 2.0 -# Table version: 2.01 -# Table format: Format A -# Date: 04/15/98 -# -# Contact: cpxlate@microsoft.com -# -# General notes: none -# -# Format: Three tab-separated columns -# Column #1 is the cp932 code (in hex) -# Column #2 is the Unicode (in hex as 0xXXXX) -# Column #3 is the Unicode name (follows a comment sign, '#') -# -# The entries are in cp932 order -# -0x00 0x0000 #NULL -0x01 0x0001 #START OF HEADING -0x02 0x0002 #START OF TEXT -0x03 0x0003 #END OF TEXT -0x04 0x0004 #END OF TRANSMISSION -0x05 0x0005 #ENQUIRY -0x06 0x0006 #ACKNOWLEDGE -0x07 0x0007 #BELL -0x08 0x0008 #BACKSPACE -0x09 0x0009 #HORIZONTAL TABULATION -0x0A 0x000A #LINE FEED -0x0B 0x000B #VERTICAL TABULATION -0x0C 0x000C #FORM FEED -0x0D 0x000D #CARRIAGE RETURN -0x0E 0x000E #SHIFT OUT -0x0F 0x000F #SHIFT IN -0x10 0x0010 #DATA LINK ESCAPE -0x11 0x0011 #DEVICE CONTROL ONE -0x12 0x0012 #DEVICE CONTROL TWO -0x13 0x0013 #DEVICE CONTROL THREE -0x14 0x0014 #DEVICE CONTROL FOUR -0x15 0x0015 #NEGATIVE ACKNOWLEDGE -0x16 0x0016 #SYNCHRONOUS IDLE -0x17 0x0017 #END OF TRANSMISSION BLOCK -0x18 0x0018 #CANCEL -0x19 0x0019 #END OF MEDIUM -0x1A 0x001A #SUBSTITUTE -0x1B 0x001B #ESCAPE -0x1C 0x001C #FILE SEPARATOR -0x1D 0x001D #GROUP SEPARATOR -0x1E 0x001E #RECORD SEPARATOR -0x1F 0x001F #UNIT SEPARATOR -0x20 0x0020 #SPACE -0x21 0x0021 #EXCLAMATION MARK -0x22 0x0022 #QUOTATION MARK -0x23 0x0023 #NUMBER SIGN -0x24 0x0024 #DOLLAR SIGN -0x25 0x0025 #PERCENT SIGN -0x26 0x0026 #AMPERSAND -0x27 0x0027 #APOSTROPHE -0x28 0x0028 #LEFT PARENTHESIS -0x29 0x0029 #RIGHT PARENTHESIS -0x2A 0x002A #ASTERISK -0x2B 0x002B #PLUS SIGN -0x2C 0x002C #COMMA -0x2D 0x002D #HYPHEN-MINUS -0x2E 0x002E #FULL STOP -0x2F 0x002F #SOLIDUS -0x30 0x0030 #DIGIT ZERO -0x31 0x0031 #DIGIT ONE -0x32 0x0032 #DIGIT TWO -0x33 0x0033 #DIGIT THREE -0x34 0x0034 #DIGIT FOUR -0x35 0x0035 #DIGIT FIVE -0x36 0x0036 #DIGIT SIX -0x37 0x0037 #DIGIT SEVEN -0x38 0x0038 #DIGIT EIGHT -0x39 0x0039 #DIGIT NINE -0x3A 0x003A #COLON -0x3B 0x003B #SEMICOLON -0x3C 0x003C #LESS-THAN SIGN -0x3D 0x003D #EQUALS SIGN -0x3E 0x003E #GREATER-THAN SIGN -0x3F 0x003F #QUESTION MARK -0x40 0x0040 #COMMERCIAL AT -0x41 0x0041 #LATIN CAPITAL LETTER A -0x42 0x0042 #LATIN CAPITAL LETTER B -0x43 0x0043 #LATIN CAPITAL LETTER C -0x44 0x0044 #LATIN CAPITAL LETTER D -0x45 0x0045 #LATIN CAPITAL LETTER E -0x46 0x0046 #LATIN CAPITAL LETTER F -0x47 0x0047 #LATIN CAPITAL LETTER G -0x48 0x0048 #LATIN CAPITAL LETTER H -0x49 0x0049 #LATIN CAPITAL LETTER I -0x4A 0x004A #LATIN CAPITAL LETTER J -0x4B 0x004B #LATIN CAPITAL LETTER K -0x4C 0x004C #LATIN CAPITAL LETTER L -0x4D 0x004D #LATIN CAPITAL LETTER M -0x4E 0x004E #LATIN CAPITAL LETTER N -0x4F 0x004F #LATIN CAPITAL LETTER O -0x50 0x0050 #LATIN CAPITAL LETTER P -0x51 0x0051 #LATIN CAPITAL LETTER Q -0x52 0x0052 #LATIN CAPITAL LETTER R -0x53 0x0053 #LATIN CAPITAL LETTER S -0x54 0x0054 #LATIN CAPITAL LETTER T -0x55 0x0055 #LATIN CAPITAL LETTER U -0x56 0x0056 #LATIN CAPITAL LETTER V -0x57 0x0057 #LATIN CAPITAL LETTER W -0x58 0x0058 #LATIN CAPITAL LETTER X -0x59 0x0059 #LATIN CAPITAL LETTER Y -0x5A 0x005A #LATIN CAPITAL LETTER Z -0x5B 0x005B #LEFT SQUARE BRACKET -0x5C 0x005C #REVERSE SOLIDUS -0x5D 0x005D #RIGHT SQUARE BRACKET -0x5E 0x005E #CIRCUMFLEX ACCENT -0x5F 0x005F #LOW LINE -0x60 0x0060 #GRAVE ACCENT -0x61 0x0061 #LATIN SMALL LETTER A -0x62 0x0062 #LATIN SMALL LETTER B -0x63 0x0063 #LATIN SMALL LETTER C -0x64 0x0064 #LATIN SMALL LETTER D -0x65 0x0065 #LATIN SMALL LETTER E -0x66 0x0066 #LATIN SMALL LETTER F -0x67 0x0067 #LATIN SMALL LETTER G -0x68 0x0068 #LATIN SMALL LETTER H -0x69 0x0069 #LATIN SMALL LETTER I -0x6A 0x006A #LATIN SMALL LETTER J -0x6B 0x006B #LATIN SMALL LETTER K -0x6C 0x006C #LATIN SMALL LETTER L -0x6D 0x006D #LATIN SMALL LETTER M -0x6E 0x006E #LATIN SMALL LETTER N -0x6F 0x006F #LATIN SMALL LETTER O -0x70 0x0070 #LATIN SMALL LETTER P -0x71 0x0071 #LATIN SMALL LETTER Q -0x72 0x0072 #LATIN SMALL LETTER R -0x73 0x0073 #LATIN SMALL LETTER S -0x74 0x0074 #LATIN SMALL LETTER T -0x75 0x0075 #LATIN SMALL LETTER U -0x76 0x0076 #LATIN SMALL LETTER V -0x77 0x0077 #LATIN SMALL LETTER W -0x78 0x0078 #LATIN SMALL LETTER X -0x79 0x0079 #LATIN SMALL LETTER Y -0x7A 0x007A #LATIN SMALL LETTER Z -0x7B 0x007B #LEFT CURLY BRACKET -0x7C 0x007C #VERTICAL LINE -0x7D 0x007D #RIGHT CURLY BRACKET -0x7E 0x007E #TILDE -0x7F 0x007F #DELETE -0x80 #UNDEFINED -0x81 #DBCS LEAD BYTE -0x82 #DBCS LEAD BYTE -0x83 #DBCS LEAD BYTE -0x84 #DBCS LEAD BYTE -0x85 #DBCS LEAD BYTE -0x86 #DBCS LEAD BYTE -0x87 #DBCS LEAD BYTE -0x88 #DBCS LEAD BYTE -0x89 #DBCS LEAD BYTE -0x8A #DBCS LEAD BYTE -0x8B #DBCS LEAD BYTE -0x8C #DBCS LEAD BYTE -0x8D #DBCS LEAD BYTE -0x8E #DBCS LEAD BYTE -0x8F #DBCS LEAD BYTE -0x90 #DBCS LEAD BYTE -0x91 #DBCS LEAD BYTE -0x92 #DBCS LEAD BYTE -0x93 #DBCS LEAD BYTE -0x94 #DBCS LEAD BYTE -0x95 #DBCS LEAD BYTE -0x96 #DBCS LEAD BYTE -0x97 #DBCS LEAD BYTE -0x98 #DBCS LEAD BYTE -0x99 #DBCS LEAD BYTE -0x9A #DBCS LEAD BYTE -0x9B #DBCS LEAD BYTE -0x9C #DBCS LEAD BYTE -0x9D #DBCS LEAD BYTE -0x9E #DBCS LEAD BYTE -0x9F #DBCS LEAD BYTE -0xA0 #UNDEFINED -0xA1 0xFF61 #HALFWIDTH IDEOGRAPHIC FULL STOP -0xA2 0xFF62 #HALFWIDTH LEFT CORNER BRACKET -0xA3 0xFF63 #HALFWIDTH RIGHT CORNER BRACKET -0xA4 0xFF64 #HALFWIDTH IDEOGRAPHIC COMMA -0xA5 0xFF65 #HALFWIDTH KATAKANA MIDDLE DOT -0xA6 0xFF66 #HALFWIDTH KATAKANA LETTER WO -0xA7 0xFF67 #HALFWIDTH KATAKANA LETTER SMALL A -0xA8 0xFF68 #HALFWIDTH KATAKANA LETTER SMALL I -0xA9 0xFF69 #HALFWIDTH KATAKANA LETTER SMALL U -0xAA 0xFF6A #HALFWIDTH KATAKANA LETTER SMALL E -0xAB 0xFF6B #HALFWIDTH KATAKANA LETTER SMALL O -0xAC 0xFF6C #HALFWIDTH KATAKANA LETTER SMALL YA -0xAD 0xFF6D #HALFWIDTH KATAKANA LETTER SMALL YU -0xAE 0xFF6E #HALFWIDTH KATAKANA LETTER SMALL YO -0xAF 0xFF6F #HALFWIDTH KATAKANA LETTER SMALL TU -0xB0 0xFF70 #HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK -0xB1 0xFF71 #HALFWIDTH KATAKANA LETTER A -0xB2 0xFF72 #HALFWIDTH KATAKANA LETTER I -0xB3 0xFF73 #HALFWIDTH KATAKANA LETTER U -0xB4 0xFF74 #HALFWIDTH KATAKANA LETTER E -0xB5 0xFF75 #HALFWIDTH KATAKANA LETTER O -0xB6 0xFF76 #HALFWIDTH KATAKANA LETTER KA -0xB7 0xFF77 #HALFWIDTH KATAKANA LETTER KI -0xB8 0xFF78 #HALFWIDTH KATAKANA LETTER KU -0xB9 0xFF79 #HALFWIDTH KATAKANA LETTER KE -0xBA 0xFF7A #HALFWIDTH KATAKANA LETTER KO -0xBB 0xFF7B #HALFWIDTH KATAKANA LETTER SA -0xBC 0xFF7C #HALFWIDTH KATAKANA LETTER SI -0xBD 0xFF7D #HALFWIDTH KATAKANA LETTER SU -0xBE 0xFF7E #HALFWIDTH KATAKANA LETTER SE -0xBF 0xFF7F #HALFWIDTH KATAKANA LETTER SO -0xC0 0xFF80 #HALFWIDTH KATAKANA LETTER TA -0xC1 0xFF81 #HALFWIDTH KATAKANA LETTER TI -0xC2 0xFF82 #HALFWIDTH KATAKANA LETTER TU -0xC3 0xFF83 #HALFWIDTH KATAKANA LETTER TE -0xC4 0xFF84 #HALFWIDTH KATAKANA LETTER TO -0xC5 0xFF85 #HALFWIDTH KATAKANA LETTER NA -0xC6 0xFF86 #HALFWIDTH KATAKANA LETTER NI -0xC7 0xFF87 #HALFWIDTH KATAKANA LETTER NU -0xC8 0xFF88 #HALFWIDTH KATAKANA LETTER NE -0xC9 0xFF89 #HALFWIDTH KATAKANA LETTER NO -0xCA 0xFF8A #HALFWIDTH KATAKANA LETTER HA -0xCB 0xFF8B #HALFWIDTH KATAKANA LETTER HI -0xCC 0xFF8C #HALFWIDTH KATAKANA LETTER HU -0xCD 0xFF8D #HALFWIDTH KATAKANA LETTER HE -0xCE 0xFF8E #HALFWIDTH KATAKANA LETTER HO -0xCF 0xFF8F #HALFWIDTH KATAKANA LETTER MA -0xD0 0xFF90 #HALFWIDTH KATAKANA LETTER MI -0xD1 0xFF91 #HALFWIDTH KATAKANA LETTER MU -0xD2 0xFF92 #HALFWIDTH KATAKANA LETTER ME -0xD3 0xFF93 #HALFWIDTH KATAKANA LETTER MO -0xD4 0xFF94 #HALFWIDTH KATAKANA LETTER YA -0xD5 0xFF95 #HALFWIDTH KATAKANA LETTER YU -0xD6 0xFF96 #HALFWIDTH KATAKANA LETTER YO -0xD7 0xFF97 #HALFWIDTH KATAKANA LETTER RA -0xD8 0xFF98 #HALFWIDTH KATAKANA LETTER RI -0xD9 0xFF99 #HALFWIDTH KATAKANA LETTER RU -0xDA 0xFF9A #HALFWIDTH KATAKANA LETTER RE -0xDB 0xFF9B #HALFWIDTH KATAKANA LETTER RO -0xDC 0xFF9C #HALFWIDTH KATAKANA LETTER WA -0xDD 0xFF9D #HALFWIDTH KATAKANA LETTER N -0xDE 0xFF9E #HALFWIDTH KATAKANA VOICED SOUND MARK -0xDF 0xFF9F #HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK -0xE0 #DBCS LEAD BYTE -0xE1 #DBCS LEAD BYTE -0xE2 #DBCS LEAD BYTE -0xE3 #DBCS LEAD BYTE -0xE4 #DBCS LEAD BYTE -0xE5 #DBCS LEAD BYTE -0xE6 #DBCS LEAD BYTE -0xE7 #DBCS LEAD BYTE -0xE8 #DBCS LEAD BYTE -0xE9 #DBCS LEAD BYTE -0xEA #DBCS LEAD BYTE -0xEB #DBCS LEAD BYTE -0xEC #DBCS LEAD BYTE -0xED #DBCS LEAD BYTE -0xEE #DBCS LEAD BYTE -0xEF #DBCS LEAD BYTE -0xF0 #DBCS LEAD BYTE -0xF1 #DBCS LEAD BYTE -0xF2 #DBCS LEAD BYTE -0xF3 #DBCS LEAD BYTE -0xF4 #DBCS LEAD BYTE -0xF5 #DBCS LEAD BYTE -0xF6 #DBCS LEAD BYTE -0xF7 #DBCS LEAD BYTE -0xF8 #DBCS LEAD BYTE -0xF9 #DBCS LEAD BYTE -0xFA #DBCS LEAD BYTE -0xFB #DBCS LEAD BYTE -0xFC #DBCS LEAD BYTE -0xFD #UNDEFINED -0xFE #UNDEFINED -0xFF #UNDEFINED -0x8140 0x3000 #IDEOGRAPHIC SPACE -0x8141 0x3001 #IDEOGRAPHIC COMMA -0x8142 0x3002 #IDEOGRAPHIC FULL STOP -0x8143 0xFF0C #FULLWIDTH COMMA -0x8144 0xFF0E #FULLWIDTH FULL STOP -0x8145 0x30FB #KATAKANA MIDDLE DOT -0x8146 0xFF1A #FULLWIDTH COLON -0x8147 0xFF1B #FULLWIDTH SEMICOLON -0x8148 0xFF1F #FULLWIDTH QUESTION MARK -0x8149 0xFF01 #FULLWIDTH EXCLAMATION MARK -0x814A 0x309B #KATAKANA-HIRAGANA VOICED SOUND MARK -0x814B 0x309C #KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -0x814C 0x00B4 #ACUTE ACCENT -0x814D 0xFF40 #FULLWIDTH GRAVE ACCENT -0x814E 0x00A8 #DIAERESIS -0x814F 0xFF3E #FULLWIDTH CIRCUMFLEX ACCENT -0x8150 0xFFE3 #FULLWIDTH MACRON -0x8151 0xFF3F #FULLWIDTH LOW LINE -0x8152 0x30FD #KATAKANA ITERATION MARK -0x8153 0x30FE #KATAKANA VOICED ITERATION MARK -0x8154 0x309D #HIRAGANA ITERATION MARK -0x8155 0x309E #HIRAGANA VOICED ITERATION MARK -0x8156 0x3003 #DITTO MARK -0x8157 0x4EDD #CJK UNIFIED IDEOGRAPH -0x8158 0x3005 #IDEOGRAPHIC ITERATION MARK -0x8159 0x3006 #IDEOGRAPHIC CLOSING MARK -0x815A 0x3007 #IDEOGRAPHIC NUMBER ZERO -0x815B 0x30FC #KATAKANA-HIRAGANA PROLONGED SOUND MARK -0x815C 0x2015 #HORIZONTAL BAR -0x815D 0x2010 #HYPHEN -0x815E 0xFF0F #FULLWIDTH SOLIDUS -0x815F 0xFF3C #FULLWIDTH REVERSE SOLIDUS -0x8160 0xFF5E #FULLWIDTH TILDE -0x8161 0x2225 #PARALLEL TO -0x8162 0xFF5C #FULLWIDTH VERTICAL LINE -0x8163 0x2026 #HORIZONTAL ELLIPSIS -0x8164 0x2025 #TWO DOT LEADER -0x8165 0x2018 #LEFT SINGLE QUOTATION MARK -0x8166 0x2019 #RIGHT SINGLE QUOTATION MARK -0x8167 0x201C #LEFT DOUBLE QUOTATION MARK -0x8168 0x201D #RIGHT DOUBLE QUOTATION MARK -0x8169 0xFF08 #FULLWIDTH LEFT PARENTHESIS -0x816A 0xFF09 #FULLWIDTH RIGHT PARENTHESIS -0x816B 0x3014 #LEFT TORTOISE SHELL BRACKET -0x816C 0x3015 #RIGHT TORTOISE SHELL BRACKET -0x816D 0xFF3B #FULLWIDTH LEFT SQUARE BRACKET -0x816E 0xFF3D #FULLWIDTH RIGHT SQUARE BRACKET -0x816F 0xFF5B #FULLWIDTH LEFT CURLY BRACKET -0x8170 0xFF5D #FULLWIDTH RIGHT CURLY BRACKET -0x8171 0x3008 #LEFT ANGLE BRACKET -0x8172 0x3009 #RIGHT ANGLE BRACKET -0x8173 0x300A #LEFT DOUBLE ANGLE BRACKET -0x8174 0x300B #RIGHT DOUBLE ANGLE BRACKET -0x8175 0x300C #LEFT CORNER BRACKET -0x8176 0x300D #RIGHT CORNER BRACKET -0x8177 0x300E #LEFT WHITE CORNER BRACKET -0x8178 0x300F #RIGHT WHITE CORNER BRACKET -0x8179 0x3010 #LEFT BLACK LENTICULAR BRACKET -0x817A 0x3011 #RIGHT BLACK LENTICULAR BRACKET -0x817B 0xFF0B #FULLWIDTH PLUS SIGN -0x817C 0xFF0D #FULLWIDTH HYPHEN-MINUS -0x817D 0x00B1 #PLUS-MINUS SIGN -0x817E 0x00D7 #MULTIPLICATION SIGN -0x8180 0x00F7 #DIVISION SIGN -0x8181 0xFF1D #FULLWIDTH EQUALS SIGN -0x8182 0x2260 #NOT EQUAL TO -0x8183 0xFF1C #FULLWIDTH LESS-THAN SIGN -0x8184 0xFF1E #FULLWIDTH GREATER-THAN SIGN -0x8185 0x2266 #LESS-THAN OVER EQUAL TO -0x8186 0x2267 #GREATER-THAN OVER EQUAL TO -0x8187 0x221E #INFINITY -0x8188 0x2234 #THEREFORE -0x8189 0x2642 #MALE SIGN -0x818A 0x2640 #FEMALE SIGN -0x818B 0x00B0 #DEGREE SIGN -0x818C 0x2032 #PRIME -0x818D 0x2033 #DOUBLE PRIME -0x818E 0x2103 #DEGREE CELSIUS -0x818F 0xFFE5 #FULLWIDTH YEN SIGN -0x8190 0xFF04 #FULLWIDTH DOLLAR SIGN -0x8191 0xFFE0 #FULLWIDTH CENT SIGN -0x8192 0xFFE1 #FULLWIDTH POUND SIGN -0x8193 0xFF05 #FULLWIDTH PERCENT SIGN -0x8194 0xFF03 #FULLWIDTH NUMBER SIGN -0x8195 0xFF06 #FULLWIDTH AMPERSAND -0x8196 0xFF0A #FULLWIDTH ASTERISK -0x8197 0xFF20 #FULLWIDTH COMMERCIAL AT -0x8198 0x00A7 #SECTION SIGN -0x8199 0x2606 #WHITE STAR -0x819A 0x2605 #BLACK STAR -0x819B 0x25CB #WHITE CIRCLE -0x819C 0x25CF #BLACK CIRCLE -0x819D 0x25CE #BULLSEYE -0x819E 0x25C7 #WHITE DIAMOND -0x819F 0x25C6 #BLACK DIAMOND -0x81A0 0x25A1 #WHITE SQUARE -0x81A1 0x25A0 #BLACK SQUARE -0x81A2 0x25B3 #WHITE UP-POINTING TRIANGLE -0x81A3 0x25B2 #BLACK UP-POINTING TRIANGLE -0x81A4 0x25BD #WHITE DOWN-POINTING TRIANGLE -0x81A5 0x25BC #BLACK DOWN-POINTING TRIANGLE -0x81A6 0x203B #REFERENCE MARK -0x81A7 0x3012 #POSTAL MARK -0x81A8 0x2192 #RIGHTWARDS ARROW -0x81A9 0x2190 #LEFTWARDS ARROW -0x81AA 0x2191 #UPWARDS ARROW -0x81AB 0x2193 #DOWNWARDS ARROW -0x81AC 0x3013 #GETA MARK -0x81B8 0x2208 #ELEMENT OF -0x81B9 0x220B #CONTAINS AS MEMBER -0x81BA 0x2286 #SUBSET OF OR EQUAL TO -0x81BB 0x2287 #SUPERSET OF OR EQUAL TO -0x81BC 0x2282 #SUBSET OF -0x81BD 0x2283 #SUPERSET OF -0x81BE 0x222A #UNION -0x81BF 0x2229 #INTERSECTION -0x81C8 0x2227 #LOGICAL AND -0x81C9 0x2228 #LOGICAL OR -0x81CA 0xFFE2 #FULLWIDTH NOT SIGN -0x81CB 0x21D2 #RIGHTWARDS DOUBLE ARROW -0x81CC 0x21D4 #LEFT RIGHT DOUBLE ARROW -0x81CD 0x2200 #FOR ALL -0x81CE 0x2203 #THERE EXISTS -0x81DA 0x2220 #ANGLE -0x81DB 0x22A5 #UP TACK -0x81DC 0x2312 #ARC -0x81DD 0x2202 #PARTIAL DIFFERENTIAL -0x81DE 0x2207 #NABLA -0x81DF 0x2261 #IDENTICAL TO -0x81E0 0x2252 #APPROXIMATELY EQUAL TO OR THE IMAGE OF -0x81E1 0x226A #MUCH LESS-THAN -0x81E2 0x226B #MUCH GREATER-THAN -0x81E3 0x221A #SQUARE ROOT -0x81E4 0x223D #REVERSED TILDE -0x81E5 0x221D #PROPORTIONAL TO -0x81E6 0x2235 #BECAUSE -0x81E7 0x222B #INTEGRAL -0x81E8 0x222C #DOUBLE INTEGRAL -0x81F0 0x212B #ANGSTROM SIGN -0x81F1 0x2030 #PER MILLE SIGN -0x81F2 0x266F #MUSIC SHARP SIGN -0x81F3 0x266D #MUSIC FLAT SIGN -0x81F4 0x266A #EIGHTH NOTE -0x81F5 0x2020 #DAGGER -0x81F6 0x2021 #DOUBLE DAGGER -0x81F7 0x00B6 #PILCROW SIGN -0x81FC 0x25EF #LARGE CIRCLE -0x824F 0xFF10 #FULLWIDTH DIGIT ZERO -0x8250 0xFF11 #FULLWIDTH DIGIT ONE -0x8251 0xFF12 #FULLWIDTH DIGIT TWO -0x8252 0xFF13 #FULLWIDTH DIGIT THREE -0x8253 0xFF14 #FULLWIDTH DIGIT FOUR -0x8254 0xFF15 #FULLWIDTH DIGIT FIVE -0x8255 0xFF16 #FULLWIDTH DIGIT SIX -0x8256 0xFF17 #FULLWIDTH DIGIT SEVEN -0x8257 0xFF18 #FULLWIDTH DIGIT EIGHT -0x8258 0xFF19 #FULLWIDTH DIGIT NINE -0x8260 0xFF21 #FULLWIDTH LATIN CAPITAL LETTER A -0x8261 0xFF22 #FULLWIDTH LATIN CAPITAL LETTER B -0x8262 0xFF23 #FULLWIDTH LATIN CAPITAL LETTER C -0x8263 0xFF24 #FULLWIDTH LATIN CAPITAL LETTER D -0x8264 0xFF25 #FULLWIDTH LATIN CAPITAL LETTER E -0x8265 0xFF26 #FULLWIDTH LATIN CAPITAL LETTER F -0x8266 0xFF27 #FULLWIDTH LATIN CAPITAL LETTER G -0x8267 0xFF28 #FULLWIDTH LATIN CAPITAL LETTER H -0x8268 0xFF29 #FULLWIDTH LATIN CAPITAL LETTER I -0x8269 0xFF2A #FULLWIDTH LATIN CAPITAL LETTER J -0x826A 0xFF2B #FULLWIDTH LATIN CAPITAL LETTER K -0x826B 0xFF2C #FULLWIDTH LATIN CAPITAL LETTER L -0x826C 0xFF2D #FULLWIDTH LATIN CAPITAL LETTER M -0x826D 0xFF2E #FULLWIDTH LATIN CAPITAL LETTER N -0x826E 0xFF2F #FULLWIDTH LATIN CAPITAL LETTER O -0x826F 0xFF30 #FULLWIDTH LATIN CAPITAL LETTER P -0x8270 0xFF31 #FULLWIDTH LATIN CAPITAL LETTER Q -0x8271 0xFF32 #FULLWIDTH LATIN CAPITAL LETTER R -0x8272 0xFF33 #FULLWIDTH LATIN CAPITAL LETTER S -0x8273 0xFF34 #FULLWIDTH LATIN CAPITAL LETTER T -0x8274 0xFF35 #FULLWIDTH LATIN CAPITAL LETTER U -0x8275 0xFF36 #FULLWIDTH LATIN CAPITAL LETTER V -0x8276 0xFF37 #FULLWIDTH LATIN CAPITAL LETTER W -0x8277 0xFF38 #FULLWIDTH LATIN CAPITAL LETTER X -0x8278 0xFF39 #FULLWIDTH LATIN CAPITAL LETTER Y -0x8279 0xFF3A #FULLWIDTH LATIN CAPITAL LETTER Z -0x8281 0xFF41 #FULLWIDTH LATIN SMALL LETTER A -0x8282 0xFF42 #FULLWIDTH LATIN SMALL LETTER B -0x8283 0xFF43 #FULLWIDTH LATIN SMALL LETTER C -0x8284 0xFF44 #FULLWIDTH LATIN SMALL LETTER D -0x8285 0xFF45 #FULLWIDTH LATIN SMALL LETTER E -0x8286 0xFF46 #FULLWIDTH LATIN SMALL LETTER F -0x8287 0xFF47 #FULLWIDTH LATIN SMALL LETTER G -0x8288 0xFF48 #FULLWIDTH LATIN SMALL LETTER H -0x8289 0xFF49 #FULLWIDTH LATIN SMALL LETTER I -0x828A 0xFF4A #FULLWIDTH LATIN SMALL LETTER J -0x828B 0xFF4B #FULLWIDTH LATIN SMALL LETTER K -0x828C 0xFF4C #FULLWIDTH LATIN SMALL LETTER L -0x828D 0xFF4D #FULLWIDTH LATIN SMALL LETTER M -0x828E 0xFF4E #FULLWIDTH LATIN SMALL LETTER N -0x828F 0xFF4F #FULLWIDTH LATIN SMALL LETTER O -0x8290 0xFF50 #FULLWIDTH LATIN SMALL LETTER P -0x8291 0xFF51 #FULLWIDTH LATIN SMALL LETTER Q -0x8292 0xFF52 #FULLWIDTH LATIN SMALL LETTER R -0x8293 0xFF53 #FULLWIDTH LATIN SMALL LETTER S -0x8294 0xFF54 #FULLWIDTH LATIN SMALL LETTER T -0x8295 0xFF55 #FULLWIDTH LATIN SMALL LETTER U -0x8296 0xFF56 #FULLWIDTH LATIN SMALL LETTER V -0x8297 0xFF57 #FULLWIDTH LATIN SMALL LETTER W -0x8298 0xFF58 #FULLWIDTH LATIN SMALL LETTER X -0x8299 0xFF59 #FULLWIDTH LATIN SMALL LETTER Y -0x829A 0xFF5A #FULLWIDTH LATIN SMALL LETTER Z -0x829F 0x3041 #HIRAGANA LETTER SMALL A -0x82A0 0x3042 #HIRAGANA LETTER A -0x82A1 0x3043 #HIRAGANA LETTER SMALL I -0x82A2 0x3044 #HIRAGANA LETTER I -0x82A3 0x3045 #HIRAGANA LETTER SMALL U -0x82A4 0x3046 #HIRAGANA LETTER U -0x82A5 0x3047 #HIRAGANA LETTER SMALL E -0x82A6 0x3048 #HIRAGANA LETTER E -0x82A7 0x3049 #HIRAGANA LETTER SMALL O -0x82A8 0x304A #HIRAGANA LETTER O -0x82A9 0x304B #HIRAGANA LETTER KA -0x82AA 0x304C #HIRAGANA LETTER GA -0x82AB 0x304D #HIRAGANA LETTER KI -0x82AC 0x304E #HIRAGANA LETTER GI -0x82AD 0x304F #HIRAGANA LETTER KU -0x82AE 0x3050 #HIRAGANA LETTER GU -0x82AF 0x3051 #HIRAGANA LETTER KE -0x82B0 0x3052 #HIRAGANA LETTER GE -0x82B1 0x3053 #HIRAGANA LETTER KO -0x82B2 0x3054 #HIRAGANA LETTER GO -0x82B3 0x3055 #HIRAGANA LETTER SA -0x82B4 0x3056 #HIRAGANA LETTER ZA -0x82B5 0x3057 #HIRAGANA LETTER SI -0x82B6 0x3058 #HIRAGANA LETTER ZI -0x82B7 0x3059 #HIRAGANA LETTER SU -0x82B8 0x305A #HIRAGANA LETTER ZU -0x82B9 0x305B #HIRAGANA LETTER SE -0x82BA 0x305C #HIRAGANA LETTER ZE -0x82BB 0x305D #HIRAGANA LETTER SO -0x82BC 0x305E #HIRAGANA LETTER ZO -0x82BD 0x305F #HIRAGANA LETTER TA -0x82BE 0x3060 #HIRAGANA LETTER DA -0x82BF 0x3061 #HIRAGANA LETTER TI -0x82C0 0x3062 #HIRAGANA LETTER DI -0x82C1 0x3063 #HIRAGANA LETTER SMALL TU -0x82C2 0x3064 #HIRAGANA LETTER TU -0x82C3 0x3065 #HIRAGANA LETTER DU -0x82C4 0x3066 #HIRAGANA LETTER TE -0x82C5 0x3067 #HIRAGANA LETTER DE -0x82C6 0x3068 #HIRAGANA LETTER TO -0x82C7 0x3069 #HIRAGANA LETTER DO -0x82C8 0x306A #HIRAGANA LETTER NA -0x82C9 0x306B #HIRAGANA LETTER NI -0x82CA 0x306C #HIRAGANA LETTER NU -0x82CB 0x306D #HIRAGANA LETTER NE -0x82CC 0x306E #HIRAGANA LETTER NO -0x82CD 0x306F #HIRAGANA LETTER HA -0x82CE 0x3070 #HIRAGANA LETTER BA -0x82CF 0x3071 #HIRAGANA LETTER PA -0x82D0 0x3072 #HIRAGANA LETTER HI -0x82D1 0x3073 #HIRAGANA LETTER BI -0x82D2 0x3074 #HIRAGANA LETTER PI -0x82D3 0x3075 #HIRAGANA LETTER HU -0x82D4 0x3076 #HIRAGANA LETTER BU -0x82D5 0x3077 #HIRAGANA LETTER PU -0x82D6 0x3078 #HIRAGANA LETTER HE -0x82D7 0x3079 #HIRAGANA LETTER BE -0x82D8 0x307A #HIRAGANA LETTER PE -0x82D9 0x307B #HIRAGANA LETTER HO -0x82DA 0x307C #HIRAGANA LETTER BO -0x82DB 0x307D #HIRAGANA LETTER PO -0x82DC 0x307E #HIRAGANA LETTER MA -0x82DD 0x307F #HIRAGANA LETTER MI -0x82DE 0x3080 #HIRAGANA LETTER MU -0x82DF 0x3081 #HIRAGANA LETTER ME -0x82E0 0x3082 #HIRAGANA LETTER MO -0x82E1 0x3083 #HIRAGANA LETTER SMALL YA -0x82E2 0x3084 #HIRAGANA LETTER YA -0x82E3 0x3085 #HIRAGANA LETTER SMALL YU -0x82E4 0x3086 #HIRAGANA LETTER YU -0x82E5 0x3087 #HIRAGANA LETTER SMALL YO -0x82E6 0x3088 #HIRAGANA LETTER YO -0x82E7 0x3089 #HIRAGANA LETTER RA -0x82E8 0x308A #HIRAGANA LETTER RI -0x82E9 0x308B #HIRAGANA LETTER RU -0x82EA 0x308C #HIRAGANA LETTER RE -0x82EB 0x308D #HIRAGANA LETTER RO -0x82EC 0x308E #HIRAGANA LETTER SMALL WA -0x82ED 0x308F #HIRAGANA LETTER WA -0x82EE 0x3090 #HIRAGANA LETTER WI -0x82EF 0x3091 #HIRAGANA LETTER WE -0x82F0 0x3092 #HIRAGANA LETTER WO -0x82F1 0x3093 #HIRAGANA LETTER N -0x8340 0x30A1 #KATAKANA LETTER SMALL A -0x8341 0x30A2 #KATAKANA LETTER A -0x8342 0x30A3 #KATAKANA LETTER SMALL I -0x8343 0x30A4 #KATAKANA LETTER I -0x8344 0x30A5 #KATAKANA LETTER SMALL U -0x8345 0x30A6 #KATAKANA LETTER U -0x8346 0x30A7 #KATAKANA LETTER SMALL E -0x8347 0x30A8 #KATAKANA LETTER E -0x8348 0x30A9 #KATAKANA LETTER SMALL O -0x8349 0x30AA #KATAKANA LETTER O -0x834A 0x30AB #KATAKANA LETTER KA -0x834B 0x30AC #KATAKANA LETTER GA -0x834C 0x30AD #KATAKANA LETTER KI -0x834D 0x30AE #KATAKANA LETTER GI -0x834E 0x30AF #KATAKANA LETTER KU -0x834F 0x30B0 #KATAKANA LETTER GU -0x8350 0x30B1 #KATAKANA LETTER KE -0x8351 0x30B2 #KATAKANA LETTER GE -0x8352 0x30B3 #KATAKANA LETTER KO -0x8353 0x30B4 #KATAKANA LETTER GO -0x8354 0x30B5 #KATAKANA LETTER SA -0x8355 0x30B6 #KATAKANA LETTER ZA -0x8356 0x30B7 #KATAKANA LETTER SI -0x8357 0x30B8 #KATAKANA LETTER ZI -0x8358 0x30B9 #KATAKANA LETTER SU -0x8359 0x30BA #KATAKANA LETTER ZU -0x835A 0x30BB #KATAKANA LETTER SE -0x835B 0x30BC #KATAKANA LETTER ZE -0x835C 0x30BD #KATAKANA LETTER SO -0x835D 0x30BE #KATAKANA LETTER ZO -0x835E 0x30BF #KATAKANA LETTER TA -0x835F 0x30C0 #KATAKANA LETTER DA -0x8360 0x30C1 #KATAKANA LETTER TI -0x8361 0x30C2 #KATAKANA LETTER DI -0x8362 0x30C3 #KATAKANA LETTER SMALL TU -0x8363 0x30C4 #KATAKANA LETTER TU -0x8364 0x30C5 #KATAKANA LETTER DU -0x8365 0x30C6 #KATAKANA LETTER TE -0x8366 0x30C7 #KATAKANA LETTER DE -0x8367 0x30C8 #KATAKANA LETTER TO -0x8368 0x30C9 #KATAKANA LETTER DO -0x8369 0x30CA #KATAKANA LETTER NA -0x836A 0x30CB #KATAKANA LETTER NI -0x836B 0x30CC #KATAKANA LETTER NU -0x836C 0x30CD #KATAKANA LETTER NE -0x836D 0x30CE #KATAKANA LETTER NO -0x836E 0x30CF #KATAKANA LETTER HA -0x836F 0x30D0 #KATAKANA LETTER BA -0x8370 0x30D1 #KATAKANA LETTER PA -0x8371 0x30D2 #KATAKANA LETTER HI -0x8372 0x30D3 #KATAKANA LETTER BI -0x8373 0x30D4 #KATAKANA LETTER PI -0x8374 0x30D5 #KATAKANA LETTER HU -0x8375 0x30D6 #KATAKANA LETTER BU -0x8376 0x30D7 #KATAKANA LETTER PU -0x8377 0x30D8 #KATAKANA LETTER HE -0x8378 0x30D9 #KATAKANA LETTER BE -0x8379 0x30DA #KATAKANA LETTER PE -0x837A 0x30DB #KATAKANA LETTER HO -0x837B 0x30DC #KATAKANA LETTER BO -0x837C 0x30DD #KATAKANA LETTER PO -0x837D 0x30DE #KATAKANA LETTER MA -0x837E 0x30DF #KATAKANA LETTER MI -0x8380 0x30E0 #KATAKANA LETTER MU -0x8381 0x30E1 #KATAKANA LETTER ME -0x8382 0x30E2 #KATAKANA LETTER MO -0x8383 0x30E3 #KATAKANA LETTER SMALL YA -0x8384 0x30E4 #KATAKANA LETTER YA -0x8385 0x30E5 #KATAKANA LETTER SMALL YU -0x8386 0x30E6 #KATAKANA LETTER YU -0x8387 0x30E7 #KATAKANA LETTER SMALL YO -0x8388 0x30E8 #KATAKANA LETTER YO -0x8389 0x30E9 #KATAKANA LETTER RA -0x838A 0x30EA #KATAKANA LETTER RI -0x838B 0x30EB #KATAKANA LETTER RU -0x838C 0x30EC #KATAKANA LETTER RE -0x838D 0x30ED #KATAKANA LETTER RO -0x838E 0x30EE #KATAKANA LETTER SMALL WA -0x838F 0x30EF #KATAKANA LETTER WA -0x8390 0x30F0 #KATAKANA LETTER WI -0x8391 0x30F1 #KATAKANA LETTER WE -0x8392 0x30F2 #KATAKANA LETTER WO -0x8393 0x30F3 #KATAKANA LETTER N -0x8394 0x30F4 #KATAKANA LETTER VU -0x8395 0x30F5 #KATAKANA LETTER SMALL KA -0x8396 0x30F6 #KATAKANA LETTER SMALL KE -0x839F 0x0391 #GREEK CAPITAL LETTER ALPHA -0x83A0 0x0392 #GREEK CAPITAL LETTER BETA -0x83A1 0x0393 #GREEK CAPITAL LETTER GAMMA -0x83A2 0x0394 #GREEK CAPITAL LETTER DELTA -0x83A3 0x0395 #GREEK CAPITAL LETTER EPSILON -0x83A4 0x0396 #GREEK CAPITAL LETTER ZETA -0x83A5 0x0397 #GREEK CAPITAL LETTER ETA -0x83A6 0x0398 #GREEK CAPITAL LETTER THETA -0x83A7 0x0399 #GREEK CAPITAL LETTER IOTA -0x83A8 0x039A #GREEK CAPITAL LETTER KAPPA -0x83A9 0x039B #GREEK CAPITAL LETTER LAMDA -0x83AA 0x039C #GREEK CAPITAL LETTER MU -0x83AB 0x039D #GREEK CAPITAL LETTER NU -0x83AC 0x039E #GREEK CAPITAL LETTER XI -0x83AD 0x039F #GREEK CAPITAL LETTER OMICRON -0x83AE 0x03A0 #GREEK CAPITAL LETTER PI -0x83AF 0x03A1 #GREEK CAPITAL LETTER RHO -0x83B0 0x03A3 #GREEK CAPITAL LETTER SIGMA -0x83B1 0x03A4 #GREEK CAPITAL LETTER TAU -0x83B2 0x03A5 #GREEK CAPITAL LETTER UPSILON -0x83B3 0x03A6 #GREEK CAPITAL LETTER PHI -0x83B4 0x03A7 #GREEK CAPITAL LETTER CHI -0x83B5 0x03A8 #GREEK CAPITAL LETTER PSI -0x83B6 0x03A9 #GREEK CAPITAL LETTER OMEGA -0x83BF 0x03B1 #GREEK SMALL LETTER ALPHA -0x83C0 0x03B2 #GREEK SMALL LETTER BETA -0x83C1 0x03B3 #GREEK SMALL LETTER GAMMA -0x83C2 0x03B4 #GREEK SMALL LETTER DELTA -0x83C3 0x03B5 #GREEK SMALL LETTER EPSILON -0x83C4 0x03B6 #GREEK SMALL LETTER ZETA -0x83C5 0x03B7 #GREEK SMALL LETTER ETA -0x83C6 0x03B8 #GREEK SMALL LETTER THETA -0x83C7 0x03B9 #GREEK SMALL LETTER IOTA -0x83C8 0x03BA #GREEK SMALL LETTER KAPPA -0x83C9 0x03BB #GREEK SMALL LETTER LAMDA -0x83CA 0x03BC #GREEK SMALL LETTER MU -0x83CB 0x03BD #GREEK SMALL LETTER NU -0x83CC 0x03BE #GREEK SMALL LETTER XI -0x83CD 0x03BF #GREEK SMALL LETTER OMICRON -0x83CE 0x03C0 #GREEK SMALL LETTER PI -0x83CF 0x03C1 #GREEK SMALL LETTER RHO -0x83D0 0x03C3 #GREEK SMALL LETTER SIGMA -0x83D1 0x03C4 #GREEK SMALL LETTER TAU -0x83D2 0x03C5 #GREEK SMALL LETTER UPSILON -0x83D3 0x03C6 #GREEK SMALL LETTER PHI -0x83D4 0x03C7 #GREEK SMALL LETTER CHI -0x83D5 0x03C8 #GREEK SMALL LETTER PSI -0x83D6 0x03C9 #GREEK SMALL LETTER OMEGA -0x8440 0x0410 #CYRILLIC CAPITAL LETTER A -0x8441 0x0411 #CYRILLIC CAPITAL LETTER BE -0x8442 0x0412 #CYRILLIC CAPITAL LETTER VE -0x8443 0x0413 #CYRILLIC CAPITAL LETTER GHE -0x8444 0x0414 #CYRILLIC CAPITAL LETTER DE -0x8445 0x0415 #CYRILLIC CAPITAL LETTER IE -0x8446 0x0401 #CYRILLIC CAPITAL LETTER IO -0x8447 0x0416 #CYRILLIC CAPITAL LETTER ZHE -0x8448 0x0417 #CYRILLIC CAPITAL LETTER ZE -0x8449 0x0418 #CYRILLIC CAPITAL LETTER I -0x844A 0x0419 #CYRILLIC CAPITAL LETTER SHORT I -0x844B 0x041A #CYRILLIC CAPITAL LETTER KA -0x844C 0x041B #CYRILLIC CAPITAL LETTER EL -0x844D 0x041C #CYRILLIC CAPITAL LETTER EM -0x844E 0x041D #CYRILLIC CAPITAL LETTER EN -0x844F 0x041E #CYRILLIC CAPITAL LETTER O -0x8450 0x041F #CYRILLIC CAPITAL LETTER PE -0x8451 0x0420 #CYRILLIC CAPITAL LETTER ER -0x8452 0x0421 #CYRILLIC CAPITAL LETTER ES -0x8453 0x0422 #CYRILLIC CAPITAL LETTER TE -0x8454 0x0423 #CYRILLIC CAPITAL LETTER U -0x8455 0x0424 #CYRILLIC CAPITAL LETTER EF -0x8456 0x0425 #CYRILLIC CAPITAL LETTER HA -0x8457 0x0426 #CYRILLIC CAPITAL LETTER TSE -0x8458 0x0427 #CYRILLIC CAPITAL LETTER CHE -0x8459 0x0428 #CYRILLIC CAPITAL LETTER SHA -0x845A 0x0429 #CYRILLIC CAPITAL LETTER SHCHA -0x845B 0x042A #CYRILLIC CAPITAL LETTER HARD SIGN -0x845C 0x042B #CYRILLIC CAPITAL LETTER YERU -0x845D 0x042C #CYRILLIC CAPITAL LETTER SOFT SIGN -0x845E 0x042D #CYRILLIC CAPITAL LETTER E -0x845F 0x042E #CYRILLIC CAPITAL LETTER YU -0x8460 0x042F #CYRILLIC CAPITAL LETTER YA -0x8470 0x0430 #CYRILLIC SMALL LETTER A -0x8471 0x0431 #CYRILLIC SMALL LETTER BE -0x8472 0x0432 #CYRILLIC SMALL LETTER VE -0x8473 0x0433 #CYRILLIC SMALL LETTER GHE -0x8474 0x0434 #CYRILLIC SMALL LETTER DE -0x8475 0x0435 #CYRILLIC SMALL LETTER IE -0x8476 0x0451 #CYRILLIC SMALL LETTER IO -0x8477 0x0436 #CYRILLIC SMALL LETTER ZHE -0x8478 0x0437 #CYRILLIC SMALL LETTER ZE -0x8479 0x0438 #CYRILLIC SMALL LETTER I -0x847A 0x0439 #CYRILLIC SMALL LETTER SHORT I -0x847B 0x043A #CYRILLIC SMALL LETTER KA -0x847C 0x043B #CYRILLIC SMALL LETTER EL -0x847D 0x043C #CYRILLIC SMALL LETTER EM -0x847E 0x043D #CYRILLIC SMALL LETTER EN -0x8480 0x043E #CYRILLIC SMALL LETTER O -0x8481 0x043F #CYRILLIC SMALL LETTER PE -0x8482 0x0440 #CYRILLIC SMALL LETTER ER -0x8483 0x0441 #CYRILLIC SMALL LETTER ES -0x8484 0x0442 #CYRILLIC SMALL LETTER TE -0x8485 0x0443 #CYRILLIC SMALL LETTER U -0x8486 0x0444 #CYRILLIC SMALL LETTER EF -0x8487 0x0445 #CYRILLIC SMALL LETTER HA -0x8488 0x0446 #CYRILLIC SMALL LETTER TSE -0x8489 0x0447 #CYRILLIC SMALL LETTER CHE -0x848A 0x0448 #CYRILLIC SMALL LETTER SHA -0x848B 0x0449 #CYRILLIC SMALL LETTER SHCHA -0x848C 0x044A #CYRILLIC SMALL LETTER HARD SIGN -0x848D 0x044B #CYRILLIC SMALL LETTER YERU -0x848E 0x044C #CYRILLIC SMALL LETTER SOFT SIGN -0x848F 0x044D #CYRILLIC SMALL LETTER E -0x8490 0x044E #CYRILLIC SMALL LETTER YU -0x8491 0x044F #CYRILLIC SMALL LETTER YA -0x849F 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL -0x84A0 0x2502 #BOX DRAWINGS LIGHT VERTICAL -0x84A1 0x250C #BOX DRAWINGS LIGHT DOWN AND RIGHT -0x84A2 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT -0x84A3 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT -0x84A4 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT -0x84A5 0x251C #BOX DRAWINGS LIGHT VERTICAL AND RIGHT -0x84A6 0x252C #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -0x84A7 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT -0x84A8 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL -0x84A9 0x253C #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -0x84AA 0x2501 #BOX DRAWINGS HEAVY HORIZONTAL -0x84AB 0x2503 #BOX DRAWINGS HEAVY VERTICAL -0x84AC 0x250F #BOX DRAWINGS HEAVY DOWN AND RIGHT -0x84AD 0x2513 #BOX DRAWINGS HEAVY DOWN AND LEFT -0x84AE 0x251B #BOX DRAWINGS HEAVY UP AND LEFT -0x84AF 0x2517 #BOX DRAWINGS HEAVY UP AND RIGHT -0x84B0 0x2523 #BOX DRAWINGS HEAVY VERTICAL AND RIGHT -0x84B1 0x2533 #BOX DRAWINGS HEAVY DOWN AND HORIZONTAL -0x84B2 0x252B #BOX DRAWINGS HEAVY VERTICAL AND LEFT -0x84B3 0x253B #BOX DRAWINGS HEAVY UP AND HORIZONTAL -0x84B4 0x254B #BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL -0x84B5 0x2520 #BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT -0x84B6 0x252F #BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY -0x84B7 0x2528 #BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT -0x84B8 0x2537 #BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY -0x84B9 0x253F #BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY -0x84BA 0x251D #BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY -0x84BB 0x2530 #BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT -0x84BC 0x2525 #BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY -0x84BD 0x2538 #BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT -0x84BE 0x2542 #BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT -0x8740 0x2460 #CIRCLED DIGIT ONE -0x8741 0x2461 #CIRCLED DIGIT TWO -0x8742 0x2462 #CIRCLED DIGIT THREE -0x8743 0x2463 #CIRCLED DIGIT FOUR -0x8744 0x2464 #CIRCLED DIGIT FIVE -0x8745 0x2465 #CIRCLED DIGIT SIX -0x8746 0x2466 #CIRCLED DIGIT SEVEN -0x8747 0x2467 #CIRCLED DIGIT EIGHT -0x8748 0x2468 #CIRCLED DIGIT NINE -0x8749 0x2469 #CIRCLED NUMBER TEN -0x874A 0x246A #CIRCLED NUMBER ELEVEN -0x874B 0x246B #CIRCLED NUMBER TWELVE -0x874C 0x246C #CIRCLED NUMBER THIRTEEN -0x874D 0x246D #CIRCLED NUMBER FOURTEEN -0x874E 0x246E #CIRCLED NUMBER FIFTEEN -0x874F 0x246F #CIRCLED NUMBER SIXTEEN -0x8750 0x2470 #CIRCLED NUMBER SEVENTEEN -0x8751 0x2471 #CIRCLED NUMBER EIGHTEEN -0x8752 0x2472 #CIRCLED NUMBER NINETEEN -0x8753 0x2473 #CIRCLED NUMBER TWENTY -0x8754 0x2160 #ROMAN NUMERAL ONE -0x8755 0x2161 #ROMAN NUMERAL TWO -0x8756 0x2162 #ROMAN NUMERAL THREE -0x8757 0x2163 #ROMAN NUMERAL FOUR -0x8758 0x2164 #ROMAN NUMERAL FIVE -0x8759 0x2165 #ROMAN NUMERAL SIX -0x875A 0x2166 #ROMAN NUMERAL SEVEN -0x875B 0x2167 #ROMAN NUMERAL EIGHT -0x875C 0x2168 #ROMAN NUMERAL NINE -0x875D 0x2169 #ROMAN NUMERAL TEN -0x875F 0x3349 #SQUARE MIRI -0x8760 0x3314 #SQUARE KIRO -0x8761 0x3322 #SQUARE SENTI -0x8762 0x334D #SQUARE MEETORU -0x8763 0x3318 #SQUARE GURAMU -0x8764 0x3327 #SQUARE TON -0x8765 0x3303 #SQUARE AARU -0x8766 0x3336 #SQUARE HEKUTAARU -0x8767 0x3351 #SQUARE RITTORU -0x8768 0x3357 #SQUARE WATTO -0x8769 0x330D #SQUARE KARORII -0x876A 0x3326 #SQUARE DORU -0x876B 0x3323 #SQUARE SENTO -0x876C 0x332B #SQUARE PAASENTO -0x876D 0x334A #SQUARE MIRIBAARU -0x876E 0x333B #SQUARE PEEZI -0x876F 0x339C #SQUARE MM -0x8770 0x339D #SQUARE CM -0x8771 0x339E #SQUARE KM -0x8772 0x338E #SQUARE MG -0x8773 0x338F #SQUARE KG -0x8774 0x33C4 #SQUARE CC -0x8775 0x33A1 #SQUARE M SQUARED -0x877E 0x337B #SQUARE ERA NAME HEISEI -0x8780 0x301D #REVERSED DOUBLE PRIME QUOTATION MARK -0x8781 0x301F #LOW DOUBLE PRIME QUOTATION MARK -0x8782 0x2116 #NUMERO SIGN -0x8783 0x33CD #SQUARE KK -0x8784 0x2121 #TELEPHONE SIGN -0x8785 0x32A4 #CIRCLED IDEOGRAPH HIGH -0x8786 0x32A5 #CIRCLED IDEOGRAPH CENTRE -0x8787 0x32A6 #CIRCLED IDEOGRAPH LOW -0x8788 0x32A7 #CIRCLED IDEOGRAPH LEFT -0x8789 0x32A8 #CIRCLED IDEOGRAPH RIGHT -0x878A 0x3231 #PARENTHESIZED IDEOGRAPH STOCK -0x878B 0x3232 #PARENTHESIZED IDEOGRAPH HAVE -0x878C 0x3239 #PARENTHESIZED IDEOGRAPH REPRESENT -0x878D 0x337E #SQUARE ERA NAME MEIZI -0x878E 0x337D #SQUARE ERA NAME TAISYOU -0x878F 0x337C #SQUARE ERA NAME SYOUWA -0x8790 0x2252 #APPROXIMATELY EQUAL TO OR THE IMAGE OF -0x8791 0x2261 #IDENTICAL TO -0x8792 0x222B #INTEGRAL -0x8793 0x222E #CONTOUR INTEGRAL -0x8794 0x2211 #N-ARY SUMMATION -0x8795 0x221A #SQUARE ROOT -0x8796 0x22A5 #UP TACK -0x8797 0x2220 #ANGLE -0x8798 0x221F #RIGHT ANGLE -0x8799 0x22BF #RIGHT TRIANGLE -0x879A 0x2235 #BECAUSE -0x879B 0x2229 #INTERSECTION -0x879C 0x222A #UNION -0x889F 0x4E9C #CJK UNIFIED IDEOGRAPH -0x88A0 0x5516 #CJK UNIFIED IDEOGRAPH -0x88A1 0x5A03 #CJK UNIFIED IDEOGRAPH -0x88A2 0x963F #CJK UNIFIED IDEOGRAPH -0x88A3 0x54C0 #CJK UNIFIED IDEOGRAPH -0x88A4 0x611B #CJK UNIFIED IDEOGRAPH -0x88A5 0x6328 #CJK UNIFIED IDEOGRAPH -0x88A6 0x59F6 #CJK UNIFIED IDEOGRAPH -0x88A7 0x9022 #CJK UNIFIED IDEOGRAPH -0x88A8 0x8475 #CJK UNIFIED IDEOGRAPH -0x88A9 0x831C #CJK UNIFIED IDEOGRAPH -0x88AA 0x7A50 #CJK UNIFIED IDEOGRAPH -0x88AB 0x60AA #CJK UNIFIED IDEOGRAPH -0x88AC 0x63E1 #CJK UNIFIED IDEOGRAPH -0x88AD 0x6E25 #CJK UNIFIED IDEOGRAPH -0x88AE 0x65ED #CJK UNIFIED IDEOGRAPH -0x88AF 0x8466 #CJK UNIFIED IDEOGRAPH -0x88B0 0x82A6 #CJK UNIFIED IDEOGRAPH -0x88B1 0x9BF5 #CJK UNIFIED IDEOGRAPH -0x88B2 0x6893 #CJK UNIFIED IDEOGRAPH -0x88B3 0x5727 #CJK UNIFIED IDEOGRAPH -0x88B4 0x65A1 #CJK UNIFIED IDEOGRAPH -0x88B5 0x6271 #CJK UNIFIED IDEOGRAPH -0x88B6 0x5B9B #CJK UNIFIED IDEOGRAPH -0x88B7 0x59D0 #CJK UNIFIED IDEOGRAPH -0x88B8 0x867B #CJK UNIFIED IDEOGRAPH -0x88B9 0x98F4 #CJK UNIFIED IDEOGRAPH -0x88BA 0x7D62 #CJK UNIFIED IDEOGRAPH -0x88BB 0x7DBE #CJK UNIFIED IDEOGRAPH -0x88BC 0x9B8E #CJK UNIFIED IDEOGRAPH -0x88BD 0x6216 #CJK UNIFIED IDEOGRAPH -0x88BE 0x7C9F #CJK UNIFIED IDEOGRAPH -0x88BF 0x88B7 #CJK UNIFIED IDEOGRAPH -0x88C0 0x5B89 #CJK UNIFIED IDEOGRAPH -0x88C1 0x5EB5 #CJK UNIFIED IDEOGRAPH -0x88C2 0x6309 #CJK UNIFIED IDEOGRAPH -0x88C3 0x6697 #CJK UNIFIED IDEOGRAPH -0x88C4 0x6848 #CJK UNIFIED IDEOGRAPH -0x88C5 0x95C7 #CJK UNIFIED IDEOGRAPH -0x88C6 0x978D #CJK UNIFIED IDEOGRAPH -0x88C7 0x674F #CJK UNIFIED IDEOGRAPH -0x88C8 0x4EE5 #CJK UNIFIED IDEOGRAPH -0x88C9 0x4F0A #CJK UNIFIED IDEOGRAPH -0x88CA 0x4F4D #CJK UNIFIED IDEOGRAPH -0x88CB 0x4F9D #CJK UNIFIED IDEOGRAPH -0x88CC 0x5049 #CJK UNIFIED IDEOGRAPH -0x88CD 0x56F2 #CJK UNIFIED IDEOGRAPH -0x88CE 0x5937 #CJK UNIFIED IDEOGRAPH -0x88CF 0x59D4 #CJK UNIFIED IDEOGRAPH -0x88D0 0x5A01 #CJK UNIFIED IDEOGRAPH -0x88D1 0x5C09 #CJK UNIFIED IDEOGRAPH -0x88D2 0x60DF #CJK UNIFIED IDEOGRAPH -0x88D3 0x610F #CJK UNIFIED IDEOGRAPH -0x88D4 0x6170 #CJK UNIFIED IDEOGRAPH -0x88D5 0x6613 #CJK UNIFIED IDEOGRAPH -0x88D6 0x6905 #CJK UNIFIED IDEOGRAPH -0x88D7 0x70BA #CJK UNIFIED IDEOGRAPH -0x88D8 0x754F #CJK UNIFIED IDEOGRAPH -0x88D9 0x7570 #CJK UNIFIED IDEOGRAPH -0x88DA 0x79FB #CJK UNIFIED IDEOGRAPH -0x88DB 0x7DAD #CJK UNIFIED IDEOGRAPH -0x88DC 0x7DEF #CJK UNIFIED IDEOGRAPH -0x88DD 0x80C3 #CJK UNIFIED IDEOGRAPH -0x88DE 0x840E #CJK UNIFIED IDEOGRAPH -0x88DF 0x8863 #CJK UNIFIED IDEOGRAPH -0x88E0 0x8B02 #CJK UNIFIED IDEOGRAPH -0x88E1 0x9055 #CJK UNIFIED IDEOGRAPH -0x88E2 0x907A #CJK UNIFIED IDEOGRAPH -0x88E3 0x533B #CJK UNIFIED IDEOGRAPH -0x88E4 0x4E95 #CJK UNIFIED IDEOGRAPH -0x88E5 0x4EA5 #CJK UNIFIED IDEOGRAPH -0x88E6 0x57DF #CJK UNIFIED IDEOGRAPH -0x88E7 0x80B2 #CJK UNIFIED IDEOGRAPH -0x88E8 0x90C1 #CJK UNIFIED IDEOGRAPH -0x88E9 0x78EF #CJK UNIFIED IDEOGRAPH -0x88EA 0x4E00 #CJK UNIFIED IDEOGRAPH -0x88EB 0x58F1 #CJK UNIFIED IDEOGRAPH -0x88EC 0x6EA2 #CJK UNIFIED IDEOGRAPH -0x88ED 0x9038 #CJK UNIFIED IDEOGRAPH -0x88EE 0x7A32 #CJK UNIFIED IDEOGRAPH -0x88EF 0x8328 #CJK UNIFIED IDEOGRAPH -0x88F0 0x828B #CJK UNIFIED IDEOGRAPH -0x88F1 0x9C2F #CJK UNIFIED IDEOGRAPH -0x88F2 0x5141 #CJK UNIFIED IDEOGRAPH -0x88F3 0x5370 #CJK UNIFIED IDEOGRAPH -0x88F4 0x54BD #CJK UNIFIED IDEOGRAPH -0x88F5 0x54E1 #CJK UNIFIED IDEOGRAPH -0x88F6 0x56E0 #CJK UNIFIED IDEOGRAPH -0x88F7 0x59FB #CJK UNIFIED IDEOGRAPH -0x88F8 0x5F15 #CJK UNIFIED IDEOGRAPH -0x88F9 0x98F2 #CJK UNIFIED IDEOGRAPH -0x88FA 0x6DEB #CJK UNIFIED IDEOGRAPH -0x88FB 0x80E4 #CJK UNIFIED IDEOGRAPH -0x88FC 0x852D #CJK UNIFIED IDEOGRAPH -0x8940 0x9662 #CJK UNIFIED IDEOGRAPH -0x8941 0x9670 #CJK UNIFIED IDEOGRAPH -0x8942 0x96A0 #CJK UNIFIED IDEOGRAPH -0x8943 0x97FB #CJK UNIFIED IDEOGRAPH -0x8944 0x540B #CJK UNIFIED IDEOGRAPH -0x8945 0x53F3 #CJK UNIFIED IDEOGRAPH -0x8946 0x5B87 #CJK UNIFIED IDEOGRAPH -0x8947 0x70CF #CJK UNIFIED IDEOGRAPH -0x8948 0x7FBD #CJK UNIFIED IDEOGRAPH -0x8949 0x8FC2 #CJK UNIFIED IDEOGRAPH -0x894A 0x96E8 #CJK UNIFIED IDEOGRAPH -0x894B 0x536F #CJK UNIFIED IDEOGRAPH -0x894C 0x9D5C #CJK UNIFIED IDEOGRAPH -0x894D 0x7ABA #CJK UNIFIED IDEOGRAPH -0x894E 0x4E11 #CJK UNIFIED IDEOGRAPH -0x894F 0x7893 #CJK UNIFIED IDEOGRAPH -0x8950 0x81FC #CJK UNIFIED IDEOGRAPH -0x8951 0x6E26 #CJK UNIFIED IDEOGRAPH -0x8952 0x5618 #CJK UNIFIED IDEOGRAPH -0x8953 0x5504 #CJK UNIFIED IDEOGRAPH -0x8954 0x6B1D #CJK UNIFIED IDEOGRAPH -0x8955 0x851A #CJK UNIFIED IDEOGRAPH -0x8956 0x9C3B #CJK UNIFIED IDEOGRAPH -0x8957 0x59E5 #CJK UNIFIED IDEOGRAPH -0x8958 0x53A9 #CJK UNIFIED IDEOGRAPH -0x8959 0x6D66 #CJK UNIFIED IDEOGRAPH -0x895A 0x74DC #CJK UNIFIED IDEOGRAPH -0x895B 0x958F #CJK UNIFIED IDEOGRAPH -0x895C 0x5642 #CJK UNIFIED IDEOGRAPH -0x895D 0x4E91 #CJK UNIFIED IDEOGRAPH -0x895E 0x904B #CJK UNIFIED IDEOGRAPH -0x895F 0x96F2 #CJK UNIFIED IDEOGRAPH -0x8960 0x834F #CJK UNIFIED IDEOGRAPH -0x8961 0x990C #CJK UNIFIED IDEOGRAPH -0x8962 0x53E1 #CJK UNIFIED IDEOGRAPH -0x8963 0x55B6 #CJK UNIFIED IDEOGRAPH -0x8964 0x5B30 #CJK UNIFIED IDEOGRAPH -0x8965 0x5F71 #CJK UNIFIED IDEOGRAPH -0x8966 0x6620 #CJK UNIFIED IDEOGRAPH -0x8967 0x66F3 #CJK UNIFIED IDEOGRAPH -0x8968 0x6804 #CJK UNIFIED IDEOGRAPH -0x8969 0x6C38 #CJK UNIFIED IDEOGRAPH -0x896A 0x6CF3 #CJK UNIFIED IDEOGRAPH -0x896B 0x6D29 #CJK UNIFIED IDEOGRAPH -0x896C 0x745B #CJK UNIFIED IDEOGRAPH -0x896D 0x76C8 #CJK UNIFIED IDEOGRAPH -0x896E 0x7A4E #CJK UNIFIED IDEOGRAPH -0x896F 0x9834 #CJK UNIFIED IDEOGRAPH -0x8970 0x82F1 #CJK UNIFIED IDEOGRAPH -0x8971 0x885B #CJK UNIFIED IDEOGRAPH -0x8972 0x8A60 #CJK UNIFIED IDEOGRAPH -0x8973 0x92ED #CJK UNIFIED IDEOGRAPH -0x8974 0x6DB2 #CJK UNIFIED IDEOGRAPH -0x8975 0x75AB #CJK UNIFIED IDEOGRAPH -0x8976 0x76CA #CJK UNIFIED IDEOGRAPH -0x8977 0x99C5 #CJK UNIFIED IDEOGRAPH -0x8978 0x60A6 #CJK UNIFIED IDEOGRAPH -0x8979 0x8B01 #CJK UNIFIED IDEOGRAPH -0x897A 0x8D8A #CJK UNIFIED IDEOGRAPH -0x897B 0x95B2 #CJK UNIFIED IDEOGRAPH -0x897C 0x698E #CJK UNIFIED IDEOGRAPH -0x897D 0x53AD #CJK UNIFIED IDEOGRAPH -0x897E 0x5186 #CJK UNIFIED IDEOGRAPH -0x8980 0x5712 #CJK UNIFIED IDEOGRAPH -0x8981 0x5830 #CJK UNIFIED IDEOGRAPH -0x8982 0x5944 #CJK UNIFIED IDEOGRAPH -0x8983 0x5BB4 #CJK UNIFIED IDEOGRAPH -0x8984 0x5EF6 #CJK UNIFIED IDEOGRAPH -0x8985 0x6028 #CJK UNIFIED IDEOGRAPH -0x8986 0x63A9 #CJK UNIFIED IDEOGRAPH -0x8987 0x63F4 #CJK UNIFIED IDEOGRAPH -0x8988 0x6CBF #CJK UNIFIED IDEOGRAPH -0x8989 0x6F14 #CJK UNIFIED IDEOGRAPH -0x898A 0x708E #CJK UNIFIED IDEOGRAPH -0x898B 0x7114 #CJK UNIFIED IDEOGRAPH -0x898C 0x7159 #CJK UNIFIED IDEOGRAPH -0x898D 0x71D5 #CJK UNIFIED IDEOGRAPH -0x898E 0x733F #CJK UNIFIED IDEOGRAPH -0x898F 0x7E01 #CJK UNIFIED IDEOGRAPH -0x8990 0x8276 #CJK UNIFIED IDEOGRAPH -0x8991 0x82D1 #CJK UNIFIED IDEOGRAPH -0x8992 0x8597 #CJK UNIFIED IDEOGRAPH -0x8993 0x9060 #CJK UNIFIED IDEOGRAPH -0x8994 0x925B #CJK UNIFIED IDEOGRAPH -0x8995 0x9D1B #CJK UNIFIED IDEOGRAPH -0x8996 0x5869 #CJK UNIFIED IDEOGRAPH -0x8997 0x65BC #CJK UNIFIED IDEOGRAPH -0x8998 0x6C5A #CJK UNIFIED IDEOGRAPH -0x8999 0x7525 #CJK UNIFIED IDEOGRAPH -0x899A 0x51F9 #CJK UNIFIED IDEOGRAPH -0x899B 0x592E #CJK UNIFIED IDEOGRAPH -0x899C 0x5965 #CJK UNIFIED IDEOGRAPH -0x899D 0x5F80 #CJK UNIFIED IDEOGRAPH -0x899E 0x5FDC #CJK UNIFIED IDEOGRAPH -0x899F 0x62BC #CJK UNIFIED IDEOGRAPH -0x89A0 0x65FA #CJK UNIFIED IDEOGRAPH -0x89A1 0x6A2A #CJK UNIFIED IDEOGRAPH -0x89A2 0x6B27 #CJK UNIFIED IDEOGRAPH -0x89A3 0x6BB4 #CJK UNIFIED IDEOGRAPH -0x89A4 0x738B #CJK UNIFIED IDEOGRAPH -0x89A5 0x7FC1 #CJK UNIFIED IDEOGRAPH -0x89A6 0x8956 #CJK UNIFIED IDEOGRAPH -0x89A7 0x9D2C #CJK UNIFIED IDEOGRAPH -0x89A8 0x9D0E #CJK UNIFIED IDEOGRAPH -0x89A9 0x9EC4 #CJK UNIFIED IDEOGRAPH -0x89AA 0x5CA1 #CJK UNIFIED IDEOGRAPH -0x89AB 0x6C96 #CJK UNIFIED IDEOGRAPH -0x89AC 0x837B #CJK UNIFIED IDEOGRAPH -0x89AD 0x5104 #CJK UNIFIED IDEOGRAPH -0x89AE 0x5C4B #CJK UNIFIED IDEOGRAPH -0x89AF 0x61B6 #CJK UNIFIED IDEOGRAPH -0x89B0 0x81C6 #CJK UNIFIED IDEOGRAPH -0x89B1 0x6876 #CJK UNIFIED IDEOGRAPH -0x89B2 0x7261 #CJK UNIFIED IDEOGRAPH -0x89B3 0x4E59 #CJK UNIFIED IDEOGRAPH -0x89B4 0x4FFA #CJK UNIFIED IDEOGRAPH -0x89B5 0x5378 #CJK UNIFIED IDEOGRAPH -0x89B6 0x6069 #CJK UNIFIED IDEOGRAPH -0x89B7 0x6E29 #CJK UNIFIED IDEOGRAPH -0x89B8 0x7A4F #CJK UNIFIED IDEOGRAPH -0x89B9 0x97F3 #CJK UNIFIED IDEOGRAPH -0x89BA 0x4E0B #CJK UNIFIED IDEOGRAPH -0x89BB 0x5316 #CJK UNIFIED IDEOGRAPH -0x89BC 0x4EEE #CJK UNIFIED IDEOGRAPH -0x89BD 0x4F55 #CJK UNIFIED IDEOGRAPH -0x89BE 0x4F3D #CJK UNIFIED IDEOGRAPH -0x89BF 0x4FA1 #CJK UNIFIED IDEOGRAPH -0x89C0 0x4F73 #CJK UNIFIED IDEOGRAPH -0x89C1 0x52A0 #CJK UNIFIED IDEOGRAPH -0x89C2 0x53EF #CJK UNIFIED IDEOGRAPH -0x89C3 0x5609 #CJK UNIFIED IDEOGRAPH -0x89C4 0x590F #CJK UNIFIED IDEOGRAPH -0x89C5 0x5AC1 #CJK UNIFIED IDEOGRAPH -0x89C6 0x5BB6 #CJK UNIFIED IDEOGRAPH -0x89C7 0x5BE1 #CJK UNIFIED IDEOGRAPH -0x89C8 0x79D1 #CJK UNIFIED IDEOGRAPH -0x89C9 0x6687 #CJK UNIFIED IDEOGRAPH -0x89CA 0x679C #CJK UNIFIED IDEOGRAPH -0x89CB 0x67B6 #CJK UNIFIED IDEOGRAPH -0x89CC 0x6B4C #CJK UNIFIED IDEOGRAPH -0x89CD 0x6CB3 #CJK UNIFIED IDEOGRAPH -0x89CE 0x706B #CJK UNIFIED IDEOGRAPH -0x89CF 0x73C2 #CJK UNIFIED IDEOGRAPH -0x89D0 0x798D #CJK UNIFIED IDEOGRAPH -0x89D1 0x79BE #CJK UNIFIED IDEOGRAPH -0x89D2 0x7A3C #CJK UNIFIED IDEOGRAPH -0x89D3 0x7B87 #CJK UNIFIED IDEOGRAPH -0x89D4 0x82B1 #CJK UNIFIED IDEOGRAPH -0x89D5 0x82DB #CJK UNIFIED IDEOGRAPH -0x89D6 0x8304 #CJK UNIFIED IDEOGRAPH -0x89D7 0x8377 #CJK UNIFIED IDEOGRAPH -0x89D8 0x83EF #CJK UNIFIED IDEOGRAPH -0x89D9 0x83D3 #CJK UNIFIED IDEOGRAPH -0x89DA 0x8766 #CJK UNIFIED IDEOGRAPH -0x89DB 0x8AB2 #CJK UNIFIED IDEOGRAPH -0x89DC 0x5629 #CJK UNIFIED IDEOGRAPH -0x89DD 0x8CA8 #CJK UNIFIED IDEOGRAPH -0x89DE 0x8FE6 #CJK UNIFIED IDEOGRAPH -0x89DF 0x904E #CJK UNIFIED IDEOGRAPH -0x89E0 0x971E #CJK UNIFIED IDEOGRAPH -0x89E1 0x868A #CJK UNIFIED IDEOGRAPH -0x89E2 0x4FC4 #CJK UNIFIED IDEOGRAPH -0x89E3 0x5CE8 #CJK UNIFIED IDEOGRAPH -0x89E4 0x6211 #CJK UNIFIED IDEOGRAPH -0x89E5 0x7259 #CJK UNIFIED IDEOGRAPH -0x89E6 0x753B #CJK UNIFIED IDEOGRAPH -0x89E7 0x81E5 #CJK UNIFIED IDEOGRAPH -0x89E8 0x82BD #CJK UNIFIED IDEOGRAPH -0x89E9 0x86FE #CJK UNIFIED IDEOGRAPH -0x89EA 0x8CC0 #CJK UNIFIED IDEOGRAPH -0x89EB 0x96C5 #CJK UNIFIED IDEOGRAPH -0x89EC 0x9913 #CJK UNIFIED IDEOGRAPH -0x89ED 0x99D5 #CJK UNIFIED IDEOGRAPH -0x89EE 0x4ECB #CJK UNIFIED IDEOGRAPH -0x89EF 0x4F1A #CJK UNIFIED IDEOGRAPH -0x89F0 0x89E3 #CJK UNIFIED IDEOGRAPH -0x89F1 0x56DE #CJK UNIFIED IDEOGRAPH -0x89F2 0x584A #CJK UNIFIED IDEOGRAPH -0x89F3 0x58CA #CJK UNIFIED IDEOGRAPH -0x89F4 0x5EFB #CJK UNIFIED IDEOGRAPH -0x89F5 0x5FEB #CJK UNIFIED IDEOGRAPH -0x89F6 0x602A #CJK UNIFIED IDEOGRAPH -0x89F7 0x6094 #CJK UNIFIED IDEOGRAPH -0x89F8 0x6062 #CJK UNIFIED IDEOGRAPH -0x89F9 0x61D0 #CJK UNIFIED IDEOGRAPH -0x89FA 0x6212 #CJK UNIFIED IDEOGRAPH -0x89FB 0x62D0 #CJK UNIFIED IDEOGRAPH -0x89FC 0x6539 #CJK UNIFIED IDEOGRAPH -0x8A40 0x9B41 #CJK UNIFIED IDEOGRAPH -0x8A41 0x6666 #CJK UNIFIED IDEOGRAPH -0x8A42 0x68B0 #CJK UNIFIED IDEOGRAPH -0x8A43 0x6D77 #CJK UNIFIED IDEOGRAPH -0x8A44 0x7070 #CJK UNIFIED IDEOGRAPH -0x8A45 0x754C #CJK UNIFIED IDEOGRAPH -0x8A46 0x7686 #CJK UNIFIED IDEOGRAPH -0x8A47 0x7D75 #CJK UNIFIED IDEOGRAPH -0x8A48 0x82A5 #CJK UNIFIED IDEOGRAPH -0x8A49 0x87F9 #CJK UNIFIED IDEOGRAPH -0x8A4A 0x958B #CJK UNIFIED IDEOGRAPH -0x8A4B 0x968E #CJK UNIFIED IDEOGRAPH -0x8A4C 0x8C9D #CJK UNIFIED IDEOGRAPH -0x8A4D 0x51F1 #CJK UNIFIED IDEOGRAPH -0x8A4E 0x52BE #CJK UNIFIED IDEOGRAPH -0x8A4F 0x5916 #CJK UNIFIED IDEOGRAPH -0x8A50 0x54B3 #CJK UNIFIED IDEOGRAPH -0x8A51 0x5BB3 #CJK UNIFIED IDEOGRAPH -0x8A52 0x5D16 #CJK UNIFIED IDEOGRAPH -0x8A53 0x6168 #CJK UNIFIED IDEOGRAPH -0x8A54 0x6982 #CJK UNIFIED IDEOGRAPH -0x8A55 0x6DAF #CJK UNIFIED IDEOGRAPH -0x8A56 0x788D #CJK UNIFIED IDEOGRAPH -0x8A57 0x84CB #CJK UNIFIED IDEOGRAPH -0x8A58 0x8857 #CJK UNIFIED IDEOGRAPH -0x8A59 0x8A72 #CJK UNIFIED IDEOGRAPH -0x8A5A 0x93A7 #CJK UNIFIED IDEOGRAPH -0x8A5B 0x9AB8 #CJK UNIFIED IDEOGRAPH -0x8A5C 0x6D6C #CJK UNIFIED IDEOGRAPH -0x8A5D 0x99A8 #CJK UNIFIED IDEOGRAPH -0x8A5E 0x86D9 #CJK UNIFIED IDEOGRAPH -0x8A5F 0x57A3 #CJK UNIFIED IDEOGRAPH -0x8A60 0x67FF #CJK UNIFIED IDEOGRAPH -0x8A61 0x86CE #CJK UNIFIED IDEOGRAPH -0x8A62 0x920E #CJK UNIFIED IDEOGRAPH -0x8A63 0x5283 #CJK UNIFIED IDEOGRAPH -0x8A64 0x5687 #CJK UNIFIED IDEOGRAPH -0x8A65 0x5404 #CJK UNIFIED IDEOGRAPH -0x8A66 0x5ED3 #CJK UNIFIED IDEOGRAPH -0x8A67 0x62E1 #CJK UNIFIED IDEOGRAPH -0x8A68 0x64B9 #CJK UNIFIED IDEOGRAPH -0x8A69 0x683C #CJK UNIFIED IDEOGRAPH -0x8A6A 0x6838 #CJK UNIFIED IDEOGRAPH -0x8A6B 0x6BBB #CJK UNIFIED IDEOGRAPH -0x8A6C 0x7372 #CJK UNIFIED IDEOGRAPH -0x8A6D 0x78BA #CJK UNIFIED IDEOGRAPH -0x8A6E 0x7A6B #CJK UNIFIED IDEOGRAPH -0x8A6F 0x899A #CJK UNIFIED IDEOGRAPH -0x8A70 0x89D2 #CJK UNIFIED IDEOGRAPH -0x8A71 0x8D6B #CJK UNIFIED IDEOGRAPH -0x8A72 0x8F03 #CJK UNIFIED IDEOGRAPH -0x8A73 0x90ED #CJK UNIFIED IDEOGRAPH -0x8A74 0x95A3 #CJK UNIFIED IDEOGRAPH -0x8A75 0x9694 #CJK UNIFIED IDEOGRAPH -0x8A76 0x9769 #CJK UNIFIED IDEOGRAPH -0x8A77 0x5B66 #CJK UNIFIED IDEOGRAPH -0x8A78 0x5CB3 #CJK UNIFIED IDEOGRAPH -0x8A79 0x697D #CJK UNIFIED IDEOGRAPH -0x8A7A 0x984D #CJK UNIFIED IDEOGRAPH -0x8A7B 0x984E #CJK UNIFIED IDEOGRAPH -0x8A7C 0x639B #CJK UNIFIED IDEOGRAPH -0x8A7D 0x7B20 #CJK UNIFIED IDEOGRAPH -0x8A7E 0x6A2B #CJK UNIFIED IDEOGRAPH -0x8A80 0x6A7F #CJK UNIFIED IDEOGRAPH -0x8A81 0x68B6 #CJK UNIFIED IDEOGRAPH -0x8A82 0x9C0D #CJK UNIFIED IDEOGRAPH -0x8A83 0x6F5F #CJK UNIFIED IDEOGRAPH -0x8A84 0x5272 #CJK UNIFIED IDEOGRAPH -0x8A85 0x559D #CJK UNIFIED IDEOGRAPH -0x8A86 0x6070 #CJK UNIFIED IDEOGRAPH -0x8A87 0x62EC #CJK UNIFIED IDEOGRAPH -0x8A88 0x6D3B #CJK UNIFIED IDEOGRAPH -0x8A89 0x6E07 #CJK UNIFIED IDEOGRAPH -0x8A8A 0x6ED1 #CJK UNIFIED IDEOGRAPH -0x8A8B 0x845B #CJK UNIFIED IDEOGRAPH -0x8A8C 0x8910 #CJK UNIFIED IDEOGRAPH -0x8A8D 0x8F44 #CJK UNIFIED IDEOGRAPH -0x8A8E 0x4E14 #CJK UNIFIED IDEOGRAPH -0x8A8F 0x9C39 #CJK UNIFIED IDEOGRAPH -0x8A90 0x53F6 #CJK UNIFIED IDEOGRAPH -0x8A91 0x691B #CJK UNIFIED IDEOGRAPH -0x8A92 0x6A3A #CJK UNIFIED IDEOGRAPH -0x8A93 0x9784 #CJK UNIFIED IDEOGRAPH -0x8A94 0x682A #CJK UNIFIED IDEOGRAPH -0x8A95 0x515C #CJK UNIFIED IDEOGRAPH -0x8A96 0x7AC3 #CJK UNIFIED IDEOGRAPH -0x8A97 0x84B2 #CJK UNIFIED IDEOGRAPH -0x8A98 0x91DC #CJK UNIFIED IDEOGRAPH -0x8A99 0x938C #CJK UNIFIED IDEOGRAPH -0x8A9A 0x565B #CJK UNIFIED IDEOGRAPH -0x8A9B 0x9D28 #CJK UNIFIED IDEOGRAPH -0x8A9C 0x6822 #CJK UNIFIED IDEOGRAPH -0x8A9D 0x8305 #CJK UNIFIED IDEOGRAPH -0x8A9E 0x8431 #CJK UNIFIED IDEOGRAPH -0x8A9F 0x7CA5 #CJK UNIFIED IDEOGRAPH -0x8AA0 0x5208 #CJK UNIFIED IDEOGRAPH -0x8AA1 0x82C5 #CJK UNIFIED IDEOGRAPH -0x8AA2 0x74E6 #CJK UNIFIED IDEOGRAPH -0x8AA3 0x4E7E #CJK UNIFIED IDEOGRAPH -0x8AA4 0x4F83 #CJK UNIFIED IDEOGRAPH -0x8AA5 0x51A0 #CJK UNIFIED IDEOGRAPH -0x8AA6 0x5BD2 #CJK UNIFIED IDEOGRAPH -0x8AA7 0x520A #CJK UNIFIED IDEOGRAPH -0x8AA8 0x52D8 #CJK UNIFIED IDEOGRAPH -0x8AA9 0x52E7 #CJK UNIFIED IDEOGRAPH -0x8AAA 0x5DFB #CJK UNIFIED IDEOGRAPH -0x8AAB 0x559A #CJK UNIFIED IDEOGRAPH -0x8AAC 0x582A #CJK UNIFIED IDEOGRAPH -0x8AAD 0x59E6 #CJK UNIFIED IDEOGRAPH -0x8AAE 0x5B8C #CJK UNIFIED IDEOGRAPH -0x8AAF 0x5B98 #CJK UNIFIED IDEOGRAPH -0x8AB0 0x5BDB #CJK UNIFIED IDEOGRAPH -0x8AB1 0x5E72 #CJK UNIFIED IDEOGRAPH -0x8AB2 0x5E79 #CJK UNIFIED IDEOGRAPH -0x8AB3 0x60A3 #CJK UNIFIED IDEOGRAPH -0x8AB4 0x611F #CJK UNIFIED IDEOGRAPH -0x8AB5 0x6163 #CJK UNIFIED IDEOGRAPH -0x8AB6 0x61BE #CJK UNIFIED IDEOGRAPH -0x8AB7 0x63DB #CJK UNIFIED IDEOGRAPH -0x8AB8 0x6562 #CJK UNIFIED IDEOGRAPH -0x8AB9 0x67D1 #CJK UNIFIED IDEOGRAPH -0x8ABA 0x6853 #CJK UNIFIED IDEOGRAPH -0x8ABB 0x68FA #CJK UNIFIED IDEOGRAPH -0x8ABC 0x6B3E #CJK UNIFIED IDEOGRAPH -0x8ABD 0x6B53 #CJK UNIFIED IDEOGRAPH -0x8ABE 0x6C57 #CJK UNIFIED IDEOGRAPH -0x8ABF 0x6F22 #CJK UNIFIED IDEOGRAPH -0x8AC0 0x6F97 #CJK UNIFIED IDEOGRAPH -0x8AC1 0x6F45 #CJK UNIFIED IDEOGRAPH -0x8AC2 0x74B0 #CJK UNIFIED IDEOGRAPH -0x8AC3 0x7518 #CJK UNIFIED IDEOGRAPH -0x8AC4 0x76E3 #CJK UNIFIED IDEOGRAPH -0x8AC5 0x770B #CJK UNIFIED IDEOGRAPH -0x8AC6 0x7AFF #CJK UNIFIED IDEOGRAPH -0x8AC7 0x7BA1 #CJK UNIFIED IDEOGRAPH -0x8AC8 0x7C21 #CJK UNIFIED IDEOGRAPH -0x8AC9 0x7DE9 #CJK UNIFIED IDEOGRAPH -0x8ACA 0x7F36 #CJK UNIFIED IDEOGRAPH -0x8ACB 0x7FF0 #CJK UNIFIED IDEOGRAPH -0x8ACC 0x809D #CJK UNIFIED IDEOGRAPH -0x8ACD 0x8266 #CJK UNIFIED IDEOGRAPH -0x8ACE 0x839E #CJK UNIFIED IDEOGRAPH -0x8ACF 0x89B3 #CJK UNIFIED IDEOGRAPH -0x8AD0 0x8ACC #CJK UNIFIED IDEOGRAPH -0x8AD1 0x8CAB #CJK UNIFIED IDEOGRAPH -0x8AD2 0x9084 #CJK UNIFIED IDEOGRAPH -0x8AD3 0x9451 #CJK UNIFIED IDEOGRAPH -0x8AD4 0x9593 #CJK UNIFIED IDEOGRAPH -0x8AD5 0x9591 #CJK UNIFIED IDEOGRAPH -0x8AD6 0x95A2 #CJK UNIFIED IDEOGRAPH -0x8AD7 0x9665 #CJK UNIFIED IDEOGRAPH -0x8AD8 0x97D3 #CJK UNIFIED IDEOGRAPH -0x8AD9 0x9928 #CJK UNIFIED IDEOGRAPH -0x8ADA 0x8218 #CJK UNIFIED IDEOGRAPH -0x8ADB 0x4E38 #CJK UNIFIED IDEOGRAPH -0x8ADC 0x542B #CJK UNIFIED IDEOGRAPH -0x8ADD 0x5CB8 #CJK UNIFIED IDEOGRAPH -0x8ADE 0x5DCC #CJK UNIFIED IDEOGRAPH -0x8ADF 0x73A9 #CJK UNIFIED IDEOGRAPH -0x8AE0 0x764C #CJK UNIFIED IDEOGRAPH -0x8AE1 0x773C #CJK UNIFIED IDEOGRAPH -0x8AE2 0x5CA9 #CJK UNIFIED IDEOGRAPH -0x8AE3 0x7FEB #CJK UNIFIED IDEOGRAPH -0x8AE4 0x8D0B #CJK UNIFIED IDEOGRAPH -0x8AE5 0x96C1 #CJK UNIFIED IDEOGRAPH -0x8AE6 0x9811 #CJK UNIFIED IDEOGRAPH -0x8AE7 0x9854 #CJK UNIFIED IDEOGRAPH -0x8AE8 0x9858 #CJK UNIFIED IDEOGRAPH -0x8AE9 0x4F01 #CJK UNIFIED IDEOGRAPH -0x8AEA 0x4F0E #CJK UNIFIED IDEOGRAPH -0x8AEB 0x5371 #CJK UNIFIED IDEOGRAPH -0x8AEC 0x559C #CJK UNIFIED IDEOGRAPH -0x8AED 0x5668 #CJK UNIFIED IDEOGRAPH -0x8AEE 0x57FA #CJK UNIFIED IDEOGRAPH -0x8AEF 0x5947 #CJK UNIFIED IDEOGRAPH -0x8AF0 0x5B09 #CJK UNIFIED IDEOGRAPH -0x8AF1 0x5BC4 #CJK UNIFIED IDEOGRAPH -0x8AF2 0x5C90 #CJK UNIFIED IDEOGRAPH -0x8AF3 0x5E0C #CJK UNIFIED IDEOGRAPH -0x8AF4 0x5E7E #CJK UNIFIED IDEOGRAPH -0x8AF5 0x5FCC #CJK UNIFIED IDEOGRAPH -0x8AF6 0x63EE #CJK UNIFIED IDEOGRAPH -0x8AF7 0x673A #CJK UNIFIED IDEOGRAPH -0x8AF8 0x65D7 #CJK UNIFIED IDEOGRAPH -0x8AF9 0x65E2 #CJK UNIFIED IDEOGRAPH -0x8AFA 0x671F #CJK UNIFIED IDEOGRAPH -0x8AFB 0x68CB #CJK UNIFIED IDEOGRAPH -0x8AFC 0x68C4 #CJK UNIFIED IDEOGRAPH -0x8B40 0x6A5F #CJK UNIFIED IDEOGRAPH -0x8B41 0x5E30 #CJK UNIFIED IDEOGRAPH -0x8B42 0x6BC5 #CJK UNIFIED IDEOGRAPH -0x8B43 0x6C17 #CJK UNIFIED IDEOGRAPH -0x8B44 0x6C7D #CJK UNIFIED IDEOGRAPH -0x8B45 0x757F #CJK UNIFIED IDEOGRAPH -0x8B46 0x7948 #CJK UNIFIED IDEOGRAPH -0x8B47 0x5B63 #CJK UNIFIED IDEOGRAPH -0x8B48 0x7A00 #CJK UNIFIED IDEOGRAPH -0x8B49 0x7D00 #CJK UNIFIED IDEOGRAPH -0x8B4A 0x5FBD #CJK UNIFIED IDEOGRAPH -0x8B4B 0x898F #CJK UNIFIED IDEOGRAPH -0x8B4C 0x8A18 #CJK UNIFIED IDEOGRAPH -0x8B4D 0x8CB4 #CJK UNIFIED IDEOGRAPH -0x8B4E 0x8D77 #CJK UNIFIED IDEOGRAPH -0x8B4F 0x8ECC #CJK UNIFIED IDEOGRAPH -0x8B50 0x8F1D #CJK UNIFIED IDEOGRAPH -0x8B51 0x98E2 #CJK UNIFIED IDEOGRAPH -0x8B52 0x9A0E #CJK UNIFIED IDEOGRAPH -0x8B53 0x9B3C #CJK UNIFIED IDEOGRAPH -0x8B54 0x4E80 #CJK UNIFIED IDEOGRAPH -0x8B55 0x507D #CJK UNIFIED IDEOGRAPH -0x8B56 0x5100 #CJK UNIFIED IDEOGRAPH -0x8B57 0x5993 #CJK UNIFIED IDEOGRAPH -0x8B58 0x5B9C #CJK UNIFIED IDEOGRAPH -0x8B59 0x622F #CJK UNIFIED IDEOGRAPH -0x8B5A 0x6280 #CJK UNIFIED IDEOGRAPH -0x8B5B 0x64EC #CJK UNIFIED IDEOGRAPH -0x8B5C 0x6B3A #CJK UNIFIED IDEOGRAPH -0x8B5D 0x72A0 #CJK UNIFIED IDEOGRAPH -0x8B5E 0x7591 #CJK UNIFIED IDEOGRAPH -0x8B5F 0x7947 #CJK UNIFIED IDEOGRAPH -0x8B60 0x7FA9 #CJK UNIFIED IDEOGRAPH -0x8B61 0x87FB #CJK UNIFIED IDEOGRAPH -0x8B62 0x8ABC #CJK UNIFIED IDEOGRAPH -0x8B63 0x8B70 #CJK UNIFIED IDEOGRAPH -0x8B64 0x63AC #CJK UNIFIED IDEOGRAPH -0x8B65 0x83CA #CJK UNIFIED IDEOGRAPH -0x8B66 0x97A0 #CJK UNIFIED IDEOGRAPH -0x8B67 0x5409 #CJK UNIFIED IDEOGRAPH -0x8B68 0x5403 #CJK UNIFIED IDEOGRAPH -0x8B69 0x55AB #CJK UNIFIED IDEOGRAPH -0x8B6A 0x6854 #CJK UNIFIED IDEOGRAPH -0x8B6B 0x6A58 #CJK UNIFIED IDEOGRAPH -0x8B6C 0x8A70 #CJK UNIFIED IDEOGRAPH -0x8B6D 0x7827 #CJK UNIFIED IDEOGRAPH -0x8B6E 0x6775 #CJK UNIFIED IDEOGRAPH -0x8B6F 0x9ECD #CJK UNIFIED IDEOGRAPH -0x8B70 0x5374 #CJK UNIFIED IDEOGRAPH -0x8B71 0x5BA2 #CJK UNIFIED IDEOGRAPH -0x8B72 0x811A #CJK UNIFIED IDEOGRAPH -0x8B73 0x8650 #CJK UNIFIED IDEOGRAPH -0x8B74 0x9006 #CJK UNIFIED IDEOGRAPH -0x8B75 0x4E18 #CJK UNIFIED IDEOGRAPH -0x8B76 0x4E45 #CJK UNIFIED IDEOGRAPH -0x8B77 0x4EC7 #CJK UNIFIED IDEOGRAPH -0x8B78 0x4F11 #CJK UNIFIED IDEOGRAPH -0x8B79 0x53CA #CJK UNIFIED IDEOGRAPH -0x8B7A 0x5438 #CJK UNIFIED IDEOGRAPH -0x8B7B 0x5BAE #CJK UNIFIED IDEOGRAPH -0x8B7C 0x5F13 #CJK UNIFIED IDEOGRAPH -0x8B7D 0x6025 #CJK UNIFIED IDEOGRAPH -0x8B7E 0x6551 #CJK UNIFIED IDEOGRAPH -0x8B80 0x673D #CJK UNIFIED IDEOGRAPH -0x8B81 0x6C42 #CJK UNIFIED IDEOGRAPH -0x8B82 0x6C72 #CJK UNIFIED IDEOGRAPH -0x8B83 0x6CE3 #CJK UNIFIED IDEOGRAPH -0x8B84 0x7078 #CJK UNIFIED IDEOGRAPH -0x8B85 0x7403 #CJK UNIFIED IDEOGRAPH -0x8B86 0x7A76 #CJK UNIFIED IDEOGRAPH -0x8B87 0x7AAE #CJK UNIFIED IDEOGRAPH -0x8B88 0x7B08 #CJK UNIFIED IDEOGRAPH -0x8B89 0x7D1A #CJK UNIFIED IDEOGRAPH -0x8B8A 0x7CFE #CJK UNIFIED IDEOGRAPH -0x8B8B 0x7D66 #CJK UNIFIED IDEOGRAPH -0x8B8C 0x65E7 #CJK UNIFIED IDEOGRAPH -0x8B8D 0x725B #CJK UNIFIED IDEOGRAPH -0x8B8E 0x53BB #CJK UNIFIED IDEOGRAPH -0x8B8F 0x5C45 #CJK UNIFIED IDEOGRAPH -0x8B90 0x5DE8 #CJK UNIFIED IDEOGRAPH -0x8B91 0x62D2 #CJK UNIFIED IDEOGRAPH -0x8B92 0x62E0 #CJK UNIFIED IDEOGRAPH -0x8B93 0x6319 #CJK UNIFIED IDEOGRAPH -0x8B94 0x6E20 #CJK UNIFIED IDEOGRAPH -0x8B95 0x865A #CJK UNIFIED IDEOGRAPH -0x8B96 0x8A31 #CJK UNIFIED IDEOGRAPH -0x8B97 0x8DDD #CJK UNIFIED IDEOGRAPH -0x8B98 0x92F8 #CJK UNIFIED IDEOGRAPH -0x8B99 0x6F01 #CJK UNIFIED IDEOGRAPH -0x8B9A 0x79A6 #CJK UNIFIED IDEOGRAPH -0x8B9B 0x9B5A #CJK UNIFIED IDEOGRAPH -0x8B9C 0x4EA8 #CJK UNIFIED IDEOGRAPH -0x8B9D 0x4EAB #CJK UNIFIED IDEOGRAPH -0x8B9E 0x4EAC #CJK UNIFIED IDEOGRAPH -0x8B9F 0x4F9B #CJK UNIFIED IDEOGRAPH -0x8BA0 0x4FA0 #CJK UNIFIED IDEOGRAPH -0x8BA1 0x50D1 #CJK UNIFIED IDEOGRAPH -0x8BA2 0x5147 #CJK UNIFIED IDEOGRAPH -0x8BA3 0x7AF6 #CJK UNIFIED IDEOGRAPH -0x8BA4 0x5171 #CJK UNIFIED IDEOGRAPH -0x8BA5 0x51F6 #CJK UNIFIED IDEOGRAPH -0x8BA6 0x5354 #CJK UNIFIED IDEOGRAPH -0x8BA7 0x5321 #CJK UNIFIED IDEOGRAPH -0x8BA8 0x537F #CJK UNIFIED IDEOGRAPH -0x8BA9 0x53EB #CJK UNIFIED IDEOGRAPH -0x8BAA 0x55AC #CJK UNIFIED IDEOGRAPH -0x8BAB 0x5883 #CJK UNIFIED IDEOGRAPH -0x8BAC 0x5CE1 #CJK UNIFIED IDEOGRAPH -0x8BAD 0x5F37 #CJK UNIFIED IDEOGRAPH -0x8BAE 0x5F4A #CJK UNIFIED IDEOGRAPH -0x8BAF 0x602F #CJK UNIFIED IDEOGRAPH -0x8BB0 0x6050 #CJK UNIFIED IDEOGRAPH -0x8BB1 0x606D #CJK UNIFIED IDEOGRAPH -0x8BB2 0x631F #CJK UNIFIED IDEOGRAPH -0x8BB3 0x6559 #CJK UNIFIED IDEOGRAPH -0x8BB4 0x6A4B #CJK UNIFIED IDEOGRAPH -0x8BB5 0x6CC1 #CJK UNIFIED IDEOGRAPH -0x8BB6 0x72C2 #CJK UNIFIED IDEOGRAPH -0x8BB7 0x72ED #CJK UNIFIED IDEOGRAPH -0x8BB8 0x77EF #CJK UNIFIED IDEOGRAPH -0x8BB9 0x80F8 #CJK UNIFIED IDEOGRAPH -0x8BBA 0x8105 #CJK UNIFIED IDEOGRAPH -0x8BBB 0x8208 #CJK UNIFIED IDEOGRAPH -0x8BBC 0x854E #CJK UNIFIED IDEOGRAPH -0x8BBD 0x90F7 #CJK UNIFIED IDEOGRAPH -0x8BBE 0x93E1 #CJK UNIFIED IDEOGRAPH -0x8BBF 0x97FF #CJK UNIFIED IDEOGRAPH -0x8BC0 0x9957 #CJK UNIFIED IDEOGRAPH -0x8BC1 0x9A5A #CJK UNIFIED IDEOGRAPH -0x8BC2 0x4EF0 #CJK UNIFIED IDEOGRAPH -0x8BC3 0x51DD #CJK UNIFIED IDEOGRAPH -0x8BC4 0x5C2D #CJK UNIFIED IDEOGRAPH -0x8BC5 0x6681 #CJK UNIFIED IDEOGRAPH -0x8BC6 0x696D #CJK UNIFIED IDEOGRAPH -0x8BC7 0x5C40 #CJK UNIFIED IDEOGRAPH -0x8BC8 0x66F2 #CJK UNIFIED IDEOGRAPH -0x8BC9 0x6975 #CJK UNIFIED IDEOGRAPH -0x8BCA 0x7389 #CJK UNIFIED IDEOGRAPH -0x8BCB 0x6850 #CJK UNIFIED IDEOGRAPH -0x8BCC 0x7C81 #CJK UNIFIED IDEOGRAPH -0x8BCD 0x50C5 #CJK UNIFIED IDEOGRAPH -0x8BCE 0x52E4 #CJK UNIFIED IDEOGRAPH -0x8BCF 0x5747 #CJK UNIFIED IDEOGRAPH -0x8BD0 0x5DFE #CJK UNIFIED IDEOGRAPH -0x8BD1 0x9326 #CJK UNIFIED IDEOGRAPH -0x8BD2 0x65A4 #CJK UNIFIED IDEOGRAPH -0x8BD3 0x6B23 #CJK UNIFIED IDEOGRAPH -0x8BD4 0x6B3D #CJK UNIFIED IDEOGRAPH -0x8BD5 0x7434 #CJK UNIFIED IDEOGRAPH -0x8BD6 0x7981 #CJK UNIFIED IDEOGRAPH -0x8BD7 0x79BD #CJK UNIFIED IDEOGRAPH -0x8BD8 0x7B4B #CJK UNIFIED IDEOGRAPH -0x8BD9 0x7DCA #CJK UNIFIED IDEOGRAPH -0x8BDA 0x82B9 #CJK UNIFIED IDEOGRAPH -0x8BDB 0x83CC #CJK UNIFIED IDEOGRAPH -0x8BDC 0x887F #CJK UNIFIED IDEOGRAPH -0x8BDD 0x895F #CJK UNIFIED IDEOGRAPH -0x8BDE 0x8B39 #CJK UNIFIED IDEOGRAPH -0x8BDF 0x8FD1 #CJK UNIFIED IDEOGRAPH -0x8BE0 0x91D1 #CJK UNIFIED IDEOGRAPH -0x8BE1 0x541F #CJK UNIFIED IDEOGRAPH -0x8BE2 0x9280 #CJK UNIFIED IDEOGRAPH -0x8BE3 0x4E5D #CJK UNIFIED IDEOGRAPH -0x8BE4 0x5036 #CJK UNIFIED IDEOGRAPH -0x8BE5 0x53E5 #CJK UNIFIED IDEOGRAPH -0x8BE6 0x533A #CJK UNIFIED IDEOGRAPH -0x8BE7 0x72D7 #CJK UNIFIED IDEOGRAPH -0x8BE8 0x7396 #CJK UNIFIED IDEOGRAPH -0x8BE9 0x77E9 #CJK UNIFIED IDEOGRAPH -0x8BEA 0x82E6 #CJK UNIFIED IDEOGRAPH -0x8BEB 0x8EAF #CJK UNIFIED IDEOGRAPH -0x8BEC 0x99C6 #CJK UNIFIED IDEOGRAPH -0x8BED 0x99C8 #CJK UNIFIED IDEOGRAPH -0x8BEE 0x99D2 #CJK UNIFIED IDEOGRAPH -0x8BEF 0x5177 #CJK UNIFIED IDEOGRAPH -0x8BF0 0x611A #CJK UNIFIED IDEOGRAPH -0x8BF1 0x865E #CJK UNIFIED IDEOGRAPH -0x8BF2 0x55B0 #CJK UNIFIED IDEOGRAPH -0x8BF3 0x7A7A #CJK UNIFIED IDEOGRAPH -0x8BF4 0x5076 #CJK UNIFIED IDEOGRAPH -0x8BF5 0x5BD3 #CJK UNIFIED IDEOGRAPH -0x8BF6 0x9047 #CJK UNIFIED IDEOGRAPH -0x8BF7 0x9685 #CJK UNIFIED IDEOGRAPH -0x8BF8 0x4E32 #CJK UNIFIED IDEOGRAPH -0x8BF9 0x6ADB #CJK UNIFIED IDEOGRAPH -0x8BFA 0x91E7 #CJK UNIFIED IDEOGRAPH -0x8BFB 0x5C51 #CJK UNIFIED IDEOGRAPH -0x8BFC 0x5C48 #CJK UNIFIED IDEOGRAPH -0x8C40 0x6398 #CJK UNIFIED IDEOGRAPH -0x8C41 0x7A9F #CJK UNIFIED IDEOGRAPH -0x8C42 0x6C93 #CJK UNIFIED IDEOGRAPH -0x8C43 0x9774 #CJK UNIFIED IDEOGRAPH -0x8C44 0x8F61 #CJK UNIFIED IDEOGRAPH -0x8C45 0x7AAA #CJK UNIFIED IDEOGRAPH -0x8C46 0x718A #CJK UNIFIED IDEOGRAPH -0x8C47 0x9688 #CJK UNIFIED IDEOGRAPH -0x8C48 0x7C82 #CJK UNIFIED IDEOGRAPH -0x8C49 0x6817 #CJK UNIFIED IDEOGRAPH -0x8C4A 0x7E70 #CJK UNIFIED IDEOGRAPH -0x8C4B 0x6851 #CJK UNIFIED IDEOGRAPH -0x8C4C 0x936C #CJK UNIFIED IDEOGRAPH -0x8C4D 0x52F2 #CJK UNIFIED IDEOGRAPH -0x8C4E 0x541B #CJK UNIFIED IDEOGRAPH -0x8C4F 0x85AB #CJK UNIFIED IDEOGRAPH -0x8C50 0x8A13 #CJK UNIFIED IDEOGRAPH -0x8C51 0x7FA4 #CJK UNIFIED IDEOGRAPH -0x8C52 0x8ECD #CJK UNIFIED IDEOGRAPH -0x8C53 0x90E1 #CJK UNIFIED IDEOGRAPH -0x8C54 0x5366 #CJK UNIFIED IDEOGRAPH -0x8C55 0x8888 #CJK UNIFIED IDEOGRAPH -0x8C56 0x7941 #CJK UNIFIED IDEOGRAPH -0x8C57 0x4FC2 #CJK UNIFIED IDEOGRAPH -0x8C58 0x50BE #CJK UNIFIED IDEOGRAPH -0x8C59 0x5211 #CJK UNIFIED IDEOGRAPH -0x8C5A 0x5144 #CJK UNIFIED IDEOGRAPH -0x8C5B 0x5553 #CJK UNIFIED IDEOGRAPH -0x8C5C 0x572D #CJK UNIFIED IDEOGRAPH -0x8C5D 0x73EA #CJK UNIFIED IDEOGRAPH -0x8C5E 0x578B #CJK UNIFIED IDEOGRAPH -0x8C5F 0x5951 #CJK UNIFIED IDEOGRAPH -0x8C60 0x5F62 #CJK UNIFIED IDEOGRAPH -0x8C61 0x5F84 #CJK UNIFIED IDEOGRAPH -0x8C62 0x6075 #CJK UNIFIED IDEOGRAPH -0x8C63 0x6176 #CJK UNIFIED IDEOGRAPH -0x8C64 0x6167 #CJK UNIFIED IDEOGRAPH -0x8C65 0x61A9 #CJK UNIFIED IDEOGRAPH -0x8C66 0x63B2 #CJK UNIFIED IDEOGRAPH -0x8C67 0x643A #CJK UNIFIED IDEOGRAPH -0x8C68 0x656C #CJK UNIFIED IDEOGRAPH -0x8C69 0x666F #CJK UNIFIED IDEOGRAPH -0x8C6A 0x6842 #CJK UNIFIED IDEOGRAPH -0x8C6B 0x6E13 #CJK UNIFIED IDEOGRAPH -0x8C6C 0x7566 #CJK UNIFIED IDEOGRAPH -0x8C6D 0x7A3D #CJK UNIFIED IDEOGRAPH -0x8C6E 0x7CFB #CJK UNIFIED IDEOGRAPH -0x8C6F 0x7D4C #CJK UNIFIED IDEOGRAPH -0x8C70 0x7D99 #CJK UNIFIED IDEOGRAPH -0x8C71 0x7E4B #CJK UNIFIED IDEOGRAPH -0x8C72 0x7F6B #CJK UNIFIED IDEOGRAPH -0x8C73 0x830E #CJK UNIFIED IDEOGRAPH -0x8C74 0x834A #CJK UNIFIED IDEOGRAPH -0x8C75 0x86CD #CJK UNIFIED IDEOGRAPH -0x8C76 0x8A08 #CJK UNIFIED IDEOGRAPH -0x8C77 0x8A63 #CJK UNIFIED IDEOGRAPH -0x8C78 0x8B66 #CJK UNIFIED IDEOGRAPH -0x8C79 0x8EFD #CJK UNIFIED IDEOGRAPH -0x8C7A 0x981A #CJK UNIFIED IDEOGRAPH -0x8C7B 0x9D8F #CJK UNIFIED IDEOGRAPH -0x8C7C 0x82B8 #CJK UNIFIED IDEOGRAPH -0x8C7D 0x8FCE #CJK UNIFIED IDEOGRAPH -0x8C7E 0x9BE8 #CJK UNIFIED IDEOGRAPH -0x8C80 0x5287 #CJK UNIFIED IDEOGRAPH -0x8C81 0x621F #CJK UNIFIED IDEOGRAPH -0x8C82 0x6483 #CJK UNIFIED IDEOGRAPH -0x8C83 0x6FC0 #CJK UNIFIED IDEOGRAPH -0x8C84 0x9699 #CJK UNIFIED IDEOGRAPH -0x8C85 0x6841 #CJK UNIFIED IDEOGRAPH -0x8C86 0x5091 #CJK UNIFIED IDEOGRAPH -0x8C87 0x6B20 #CJK UNIFIED IDEOGRAPH -0x8C88 0x6C7A #CJK UNIFIED IDEOGRAPH -0x8C89 0x6F54 #CJK UNIFIED IDEOGRAPH -0x8C8A 0x7A74 #CJK UNIFIED IDEOGRAPH -0x8C8B 0x7D50 #CJK UNIFIED IDEOGRAPH -0x8C8C 0x8840 #CJK UNIFIED IDEOGRAPH -0x8C8D 0x8A23 #CJK UNIFIED IDEOGRAPH -0x8C8E 0x6708 #CJK UNIFIED IDEOGRAPH -0x8C8F 0x4EF6 #CJK UNIFIED IDEOGRAPH -0x8C90 0x5039 #CJK UNIFIED IDEOGRAPH -0x8C91 0x5026 #CJK UNIFIED IDEOGRAPH -0x8C92 0x5065 #CJK UNIFIED IDEOGRAPH -0x8C93 0x517C #CJK UNIFIED IDEOGRAPH -0x8C94 0x5238 #CJK UNIFIED IDEOGRAPH -0x8C95 0x5263 #CJK UNIFIED IDEOGRAPH -0x8C96 0x55A7 #CJK UNIFIED IDEOGRAPH -0x8C97 0x570F #CJK UNIFIED IDEOGRAPH -0x8C98 0x5805 #CJK UNIFIED IDEOGRAPH -0x8C99 0x5ACC #CJK UNIFIED IDEOGRAPH -0x8C9A 0x5EFA #CJK UNIFIED IDEOGRAPH -0x8C9B 0x61B2 #CJK UNIFIED IDEOGRAPH -0x8C9C 0x61F8 #CJK UNIFIED IDEOGRAPH -0x8C9D 0x62F3 #CJK UNIFIED IDEOGRAPH -0x8C9E 0x6372 #CJK UNIFIED IDEOGRAPH -0x8C9F 0x691C #CJK UNIFIED IDEOGRAPH -0x8CA0 0x6A29 #CJK UNIFIED IDEOGRAPH -0x8CA1 0x727D #CJK UNIFIED IDEOGRAPH -0x8CA2 0x72AC #CJK UNIFIED IDEOGRAPH -0x8CA3 0x732E #CJK UNIFIED IDEOGRAPH -0x8CA4 0x7814 #CJK UNIFIED IDEOGRAPH -0x8CA5 0x786F #CJK UNIFIED IDEOGRAPH -0x8CA6 0x7D79 #CJK UNIFIED IDEOGRAPH -0x8CA7 0x770C #CJK UNIFIED IDEOGRAPH -0x8CA8 0x80A9 #CJK UNIFIED IDEOGRAPH -0x8CA9 0x898B #CJK UNIFIED IDEOGRAPH -0x8CAA 0x8B19 #CJK UNIFIED IDEOGRAPH -0x8CAB 0x8CE2 #CJK UNIFIED IDEOGRAPH -0x8CAC 0x8ED2 #CJK UNIFIED IDEOGRAPH -0x8CAD 0x9063 #CJK UNIFIED IDEOGRAPH -0x8CAE 0x9375 #CJK UNIFIED IDEOGRAPH -0x8CAF 0x967A #CJK UNIFIED IDEOGRAPH -0x8CB0 0x9855 #CJK UNIFIED IDEOGRAPH -0x8CB1 0x9A13 #CJK UNIFIED IDEOGRAPH -0x8CB2 0x9E78 #CJK UNIFIED IDEOGRAPH -0x8CB3 0x5143 #CJK UNIFIED IDEOGRAPH -0x8CB4 0x539F #CJK UNIFIED IDEOGRAPH -0x8CB5 0x53B3 #CJK UNIFIED IDEOGRAPH -0x8CB6 0x5E7B #CJK UNIFIED IDEOGRAPH -0x8CB7 0x5F26 #CJK UNIFIED IDEOGRAPH -0x8CB8 0x6E1B #CJK UNIFIED IDEOGRAPH -0x8CB9 0x6E90 #CJK UNIFIED IDEOGRAPH -0x8CBA 0x7384 #CJK UNIFIED IDEOGRAPH -0x8CBB 0x73FE #CJK UNIFIED IDEOGRAPH -0x8CBC 0x7D43 #CJK UNIFIED IDEOGRAPH -0x8CBD 0x8237 #CJK UNIFIED IDEOGRAPH -0x8CBE 0x8A00 #CJK UNIFIED IDEOGRAPH -0x8CBF 0x8AFA #CJK UNIFIED IDEOGRAPH -0x8CC0 0x9650 #CJK UNIFIED IDEOGRAPH -0x8CC1 0x4E4E #CJK UNIFIED IDEOGRAPH -0x8CC2 0x500B #CJK UNIFIED IDEOGRAPH -0x8CC3 0x53E4 #CJK UNIFIED IDEOGRAPH -0x8CC4 0x547C #CJK UNIFIED IDEOGRAPH -0x8CC5 0x56FA #CJK UNIFIED IDEOGRAPH -0x8CC6 0x59D1 #CJK UNIFIED IDEOGRAPH -0x8CC7 0x5B64 #CJK UNIFIED IDEOGRAPH -0x8CC8 0x5DF1 #CJK UNIFIED IDEOGRAPH -0x8CC9 0x5EAB #CJK UNIFIED IDEOGRAPH -0x8CCA 0x5F27 #CJK UNIFIED IDEOGRAPH -0x8CCB 0x6238 #CJK UNIFIED IDEOGRAPH -0x8CCC 0x6545 #CJK UNIFIED IDEOGRAPH -0x8CCD 0x67AF #CJK UNIFIED IDEOGRAPH -0x8CCE 0x6E56 #CJK UNIFIED IDEOGRAPH -0x8CCF 0x72D0 #CJK UNIFIED IDEOGRAPH -0x8CD0 0x7CCA #CJK UNIFIED IDEOGRAPH -0x8CD1 0x88B4 #CJK UNIFIED IDEOGRAPH -0x8CD2 0x80A1 #CJK UNIFIED IDEOGRAPH -0x8CD3 0x80E1 #CJK UNIFIED IDEOGRAPH -0x8CD4 0x83F0 #CJK UNIFIED IDEOGRAPH -0x8CD5 0x864E #CJK UNIFIED IDEOGRAPH -0x8CD6 0x8A87 #CJK UNIFIED IDEOGRAPH -0x8CD7 0x8DE8 #CJK UNIFIED IDEOGRAPH -0x8CD8 0x9237 #CJK UNIFIED IDEOGRAPH -0x8CD9 0x96C7 #CJK UNIFIED IDEOGRAPH -0x8CDA 0x9867 #CJK UNIFIED IDEOGRAPH -0x8CDB 0x9F13 #CJK UNIFIED IDEOGRAPH -0x8CDC 0x4E94 #CJK UNIFIED IDEOGRAPH -0x8CDD 0x4E92 #CJK UNIFIED IDEOGRAPH -0x8CDE 0x4F0D #CJK UNIFIED IDEOGRAPH -0x8CDF 0x5348 #CJK UNIFIED IDEOGRAPH -0x8CE0 0x5449 #CJK UNIFIED IDEOGRAPH -0x8CE1 0x543E #CJK UNIFIED IDEOGRAPH -0x8CE2 0x5A2F #CJK UNIFIED IDEOGRAPH -0x8CE3 0x5F8C #CJK UNIFIED IDEOGRAPH -0x8CE4 0x5FA1 #CJK UNIFIED IDEOGRAPH -0x8CE5 0x609F #CJK UNIFIED IDEOGRAPH -0x8CE6 0x68A7 #CJK UNIFIED IDEOGRAPH -0x8CE7 0x6A8E #CJK UNIFIED IDEOGRAPH -0x8CE8 0x745A #CJK UNIFIED IDEOGRAPH -0x8CE9 0x7881 #CJK UNIFIED IDEOGRAPH -0x8CEA 0x8A9E #CJK UNIFIED IDEOGRAPH -0x8CEB 0x8AA4 #CJK UNIFIED IDEOGRAPH -0x8CEC 0x8B77 #CJK UNIFIED IDEOGRAPH -0x8CED 0x9190 #CJK UNIFIED IDEOGRAPH -0x8CEE 0x4E5E #CJK UNIFIED IDEOGRAPH -0x8CEF 0x9BC9 #CJK UNIFIED IDEOGRAPH -0x8CF0 0x4EA4 #CJK UNIFIED IDEOGRAPH -0x8CF1 0x4F7C #CJK UNIFIED IDEOGRAPH -0x8CF2 0x4FAF #CJK UNIFIED IDEOGRAPH -0x8CF3 0x5019 #CJK UNIFIED IDEOGRAPH -0x8CF4 0x5016 #CJK UNIFIED IDEOGRAPH -0x8CF5 0x5149 #CJK UNIFIED IDEOGRAPH -0x8CF6 0x516C #CJK UNIFIED IDEOGRAPH -0x8CF7 0x529F #CJK UNIFIED IDEOGRAPH -0x8CF8 0x52B9 #CJK UNIFIED IDEOGRAPH -0x8CF9 0x52FE #CJK UNIFIED IDEOGRAPH -0x8CFA 0x539A #CJK UNIFIED IDEOGRAPH -0x8CFB 0x53E3 #CJK UNIFIED IDEOGRAPH -0x8CFC 0x5411 #CJK UNIFIED IDEOGRAPH -0x8D40 0x540E #CJK UNIFIED IDEOGRAPH -0x8D41 0x5589 #CJK UNIFIED IDEOGRAPH -0x8D42 0x5751 #CJK UNIFIED IDEOGRAPH -0x8D43 0x57A2 #CJK UNIFIED IDEOGRAPH -0x8D44 0x597D #CJK UNIFIED IDEOGRAPH -0x8D45 0x5B54 #CJK UNIFIED IDEOGRAPH -0x8D46 0x5B5D #CJK UNIFIED IDEOGRAPH -0x8D47 0x5B8F #CJK UNIFIED IDEOGRAPH -0x8D48 0x5DE5 #CJK UNIFIED IDEOGRAPH -0x8D49 0x5DE7 #CJK UNIFIED IDEOGRAPH -0x8D4A 0x5DF7 #CJK UNIFIED IDEOGRAPH -0x8D4B 0x5E78 #CJK UNIFIED IDEOGRAPH -0x8D4C 0x5E83 #CJK UNIFIED IDEOGRAPH -0x8D4D 0x5E9A #CJK UNIFIED IDEOGRAPH -0x8D4E 0x5EB7 #CJK UNIFIED IDEOGRAPH -0x8D4F 0x5F18 #CJK UNIFIED IDEOGRAPH -0x8D50 0x6052 #CJK UNIFIED IDEOGRAPH -0x8D51 0x614C #CJK UNIFIED IDEOGRAPH -0x8D52 0x6297 #CJK UNIFIED IDEOGRAPH -0x8D53 0x62D8 #CJK UNIFIED IDEOGRAPH -0x8D54 0x63A7 #CJK UNIFIED IDEOGRAPH -0x8D55 0x653B #CJK UNIFIED IDEOGRAPH -0x8D56 0x6602 #CJK UNIFIED IDEOGRAPH -0x8D57 0x6643 #CJK UNIFIED IDEOGRAPH -0x8D58 0x66F4 #CJK UNIFIED IDEOGRAPH -0x8D59 0x676D #CJK UNIFIED IDEOGRAPH -0x8D5A 0x6821 #CJK UNIFIED IDEOGRAPH -0x8D5B 0x6897 #CJK UNIFIED IDEOGRAPH -0x8D5C 0x69CB #CJK UNIFIED IDEOGRAPH -0x8D5D 0x6C5F #CJK UNIFIED IDEOGRAPH -0x8D5E 0x6D2A #CJK UNIFIED IDEOGRAPH -0x8D5F 0x6D69 #CJK UNIFIED IDEOGRAPH -0x8D60 0x6E2F #CJK UNIFIED IDEOGRAPH -0x8D61 0x6E9D #CJK UNIFIED IDEOGRAPH -0x8D62 0x7532 #CJK UNIFIED IDEOGRAPH -0x8D63 0x7687 #CJK UNIFIED IDEOGRAPH -0x8D64 0x786C #CJK UNIFIED IDEOGRAPH -0x8D65 0x7A3F #CJK UNIFIED IDEOGRAPH -0x8D66 0x7CE0 #CJK UNIFIED IDEOGRAPH -0x8D67 0x7D05 #CJK UNIFIED IDEOGRAPH -0x8D68 0x7D18 #CJK UNIFIED IDEOGRAPH -0x8D69 0x7D5E #CJK UNIFIED IDEOGRAPH -0x8D6A 0x7DB1 #CJK UNIFIED IDEOGRAPH -0x8D6B 0x8015 #CJK UNIFIED IDEOGRAPH -0x8D6C 0x8003 #CJK UNIFIED IDEOGRAPH -0x8D6D 0x80AF #CJK UNIFIED IDEOGRAPH -0x8D6E 0x80B1 #CJK UNIFIED IDEOGRAPH -0x8D6F 0x8154 #CJK UNIFIED IDEOGRAPH -0x8D70 0x818F #CJK UNIFIED IDEOGRAPH -0x8D71 0x822A #CJK UNIFIED IDEOGRAPH -0x8D72 0x8352 #CJK UNIFIED IDEOGRAPH -0x8D73 0x884C #CJK UNIFIED IDEOGRAPH -0x8D74 0x8861 #CJK UNIFIED IDEOGRAPH -0x8D75 0x8B1B #CJK UNIFIED IDEOGRAPH -0x8D76 0x8CA2 #CJK UNIFIED IDEOGRAPH -0x8D77 0x8CFC #CJK UNIFIED IDEOGRAPH -0x8D78 0x90CA #CJK UNIFIED IDEOGRAPH -0x8D79 0x9175 #CJK UNIFIED IDEOGRAPH -0x8D7A 0x9271 #CJK UNIFIED IDEOGRAPH -0x8D7B 0x783F #CJK UNIFIED IDEOGRAPH -0x8D7C 0x92FC #CJK UNIFIED IDEOGRAPH -0x8D7D 0x95A4 #CJK UNIFIED IDEOGRAPH -0x8D7E 0x964D #CJK UNIFIED IDEOGRAPH -0x8D80 0x9805 #CJK UNIFIED IDEOGRAPH -0x8D81 0x9999 #CJK UNIFIED IDEOGRAPH -0x8D82 0x9AD8 #CJK UNIFIED IDEOGRAPH -0x8D83 0x9D3B #CJK UNIFIED IDEOGRAPH -0x8D84 0x525B #CJK UNIFIED IDEOGRAPH -0x8D85 0x52AB #CJK UNIFIED IDEOGRAPH -0x8D86 0x53F7 #CJK UNIFIED IDEOGRAPH -0x8D87 0x5408 #CJK UNIFIED IDEOGRAPH -0x8D88 0x58D5 #CJK UNIFIED IDEOGRAPH -0x8D89 0x62F7 #CJK UNIFIED IDEOGRAPH -0x8D8A 0x6FE0 #CJK UNIFIED IDEOGRAPH -0x8D8B 0x8C6A #CJK UNIFIED IDEOGRAPH -0x8D8C 0x8F5F #CJK UNIFIED IDEOGRAPH -0x8D8D 0x9EB9 #CJK UNIFIED IDEOGRAPH -0x8D8E 0x514B #CJK UNIFIED IDEOGRAPH -0x8D8F 0x523B #CJK UNIFIED IDEOGRAPH -0x8D90 0x544A #CJK UNIFIED IDEOGRAPH -0x8D91 0x56FD #CJK UNIFIED IDEOGRAPH -0x8D92 0x7A40 #CJK UNIFIED IDEOGRAPH -0x8D93 0x9177 #CJK UNIFIED IDEOGRAPH -0x8D94 0x9D60 #CJK UNIFIED IDEOGRAPH -0x8D95 0x9ED2 #CJK UNIFIED IDEOGRAPH -0x8D96 0x7344 #CJK UNIFIED IDEOGRAPH -0x8D97 0x6F09 #CJK UNIFIED IDEOGRAPH -0x8D98 0x8170 #CJK UNIFIED IDEOGRAPH -0x8D99 0x7511 #CJK UNIFIED IDEOGRAPH -0x8D9A 0x5FFD #CJK UNIFIED IDEOGRAPH -0x8D9B 0x60DA #CJK UNIFIED IDEOGRAPH -0x8D9C 0x9AA8 #CJK UNIFIED IDEOGRAPH -0x8D9D 0x72DB #CJK UNIFIED IDEOGRAPH -0x8D9E 0x8FBC #CJK UNIFIED IDEOGRAPH -0x8D9F 0x6B64 #CJK UNIFIED IDEOGRAPH -0x8DA0 0x9803 #CJK UNIFIED IDEOGRAPH -0x8DA1 0x4ECA #CJK UNIFIED IDEOGRAPH -0x8DA2 0x56F0 #CJK UNIFIED IDEOGRAPH -0x8DA3 0x5764 #CJK UNIFIED IDEOGRAPH -0x8DA4 0x58BE #CJK UNIFIED IDEOGRAPH -0x8DA5 0x5A5A #CJK UNIFIED IDEOGRAPH -0x8DA6 0x6068 #CJK UNIFIED IDEOGRAPH -0x8DA7 0x61C7 #CJK UNIFIED IDEOGRAPH -0x8DA8 0x660F #CJK UNIFIED IDEOGRAPH -0x8DA9 0x6606 #CJK UNIFIED IDEOGRAPH -0x8DAA 0x6839 #CJK UNIFIED IDEOGRAPH -0x8DAB 0x68B1 #CJK UNIFIED IDEOGRAPH -0x8DAC 0x6DF7 #CJK UNIFIED IDEOGRAPH -0x8DAD 0x75D5 #CJK UNIFIED IDEOGRAPH -0x8DAE 0x7D3A #CJK UNIFIED IDEOGRAPH -0x8DAF 0x826E #CJK UNIFIED IDEOGRAPH -0x8DB0 0x9B42 #CJK UNIFIED IDEOGRAPH -0x8DB1 0x4E9B #CJK UNIFIED IDEOGRAPH -0x8DB2 0x4F50 #CJK UNIFIED IDEOGRAPH -0x8DB3 0x53C9 #CJK UNIFIED IDEOGRAPH -0x8DB4 0x5506 #CJK UNIFIED IDEOGRAPH -0x8DB5 0x5D6F #CJK UNIFIED IDEOGRAPH -0x8DB6 0x5DE6 #CJK UNIFIED IDEOGRAPH -0x8DB7 0x5DEE #CJK UNIFIED IDEOGRAPH -0x8DB8 0x67FB #CJK UNIFIED IDEOGRAPH -0x8DB9 0x6C99 #CJK UNIFIED IDEOGRAPH -0x8DBA 0x7473 #CJK UNIFIED IDEOGRAPH -0x8DBB 0x7802 #CJK UNIFIED IDEOGRAPH -0x8DBC 0x8A50 #CJK UNIFIED IDEOGRAPH -0x8DBD 0x9396 #CJK UNIFIED IDEOGRAPH -0x8DBE 0x88DF #CJK UNIFIED IDEOGRAPH -0x8DBF 0x5750 #CJK UNIFIED IDEOGRAPH -0x8DC0 0x5EA7 #CJK UNIFIED IDEOGRAPH -0x8DC1 0x632B #CJK UNIFIED IDEOGRAPH -0x8DC2 0x50B5 #CJK UNIFIED IDEOGRAPH -0x8DC3 0x50AC #CJK UNIFIED IDEOGRAPH -0x8DC4 0x518D #CJK UNIFIED IDEOGRAPH -0x8DC5 0x6700 #CJK UNIFIED IDEOGRAPH -0x8DC6 0x54C9 #CJK UNIFIED IDEOGRAPH -0x8DC7 0x585E #CJK UNIFIED IDEOGRAPH -0x8DC8 0x59BB #CJK UNIFIED IDEOGRAPH -0x8DC9 0x5BB0 #CJK UNIFIED IDEOGRAPH -0x8DCA 0x5F69 #CJK UNIFIED IDEOGRAPH -0x8DCB 0x624D #CJK UNIFIED IDEOGRAPH -0x8DCC 0x63A1 #CJK UNIFIED IDEOGRAPH -0x8DCD 0x683D #CJK UNIFIED IDEOGRAPH -0x8DCE 0x6B73 #CJK UNIFIED IDEOGRAPH -0x8DCF 0x6E08 #CJK UNIFIED IDEOGRAPH -0x8DD0 0x707D #CJK UNIFIED IDEOGRAPH -0x8DD1 0x91C7 #CJK UNIFIED IDEOGRAPH -0x8DD2 0x7280 #CJK UNIFIED IDEOGRAPH -0x8DD3 0x7815 #CJK UNIFIED IDEOGRAPH -0x8DD4 0x7826 #CJK UNIFIED IDEOGRAPH -0x8DD5 0x796D #CJK UNIFIED IDEOGRAPH -0x8DD6 0x658E #CJK UNIFIED IDEOGRAPH -0x8DD7 0x7D30 #CJK UNIFIED IDEOGRAPH -0x8DD8 0x83DC #CJK UNIFIED IDEOGRAPH -0x8DD9 0x88C1 #CJK UNIFIED IDEOGRAPH -0x8DDA 0x8F09 #CJK UNIFIED IDEOGRAPH -0x8DDB 0x969B #CJK UNIFIED IDEOGRAPH -0x8DDC 0x5264 #CJK UNIFIED IDEOGRAPH -0x8DDD 0x5728 #CJK UNIFIED IDEOGRAPH -0x8DDE 0x6750 #CJK UNIFIED IDEOGRAPH -0x8DDF 0x7F6A #CJK UNIFIED IDEOGRAPH -0x8DE0 0x8CA1 #CJK UNIFIED IDEOGRAPH -0x8DE1 0x51B4 #CJK UNIFIED IDEOGRAPH -0x8DE2 0x5742 #CJK UNIFIED IDEOGRAPH -0x8DE3 0x962A #CJK UNIFIED IDEOGRAPH -0x8DE4 0x583A #CJK UNIFIED IDEOGRAPH -0x8DE5 0x698A #CJK UNIFIED IDEOGRAPH -0x8DE6 0x80B4 #CJK UNIFIED IDEOGRAPH -0x8DE7 0x54B2 #CJK UNIFIED IDEOGRAPH -0x8DE8 0x5D0E #CJK UNIFIED IDEOGRAPH -0x8DE9 0x57FC #CJK UNIFIED IDEOGRAPH -0x8DEA 0x7895 #CJK UNIFIED IDEOGRAPH -0x8DEB 0x9DFA #CJK UNIFIED IDEOGRAPH -0x8DEC 0x4F5C #CJK UNIFIED IDEOGRAPH -0x8DED 0x524A #CJK UNIFIED IDEOGRAPH -0x8DEE 0x548B #CJK UNIFIED IDEOGRAPH -0x8DEF 0x643E #CJK UNIFIED IDEOGRAPH -0x8DF0 0x6628 #CJK UNIFIED IDEOGRAPH -0x8DF1 0x6714 #CJK UNIFIED IDEOGRAPH -0x8DF2 0x67F5 #CJK UNIFIED IDEOGRAPH -0x8DF3 0x7A84 #CJK UNIFIED IDEOGRAPH -0x8DF4 0x7B56 #CJK UNIFIED IDEOGRAPH -0x8DF5 0x7D22 #CJK UNIFIED IDEOGRAPH -0x8DF6 0x932F #CJK UNIFIED IDEOGRAPH -0x8DF7 0x685C #CJK UNIFIED IDEOGRAPH -0x8DF8 0x9BAD #CJK UNIFIED IDEOGRAPH -0x8DF9 0x7B39 #CJK UNIFIED IDEOGRAPH -0x8DFA 0x5319 #CJK UNIFIED IDEOGRAPH -0x8DFB 0x518A #CJK UNIFIED IDEOGRAPH -0x8DFC 0x5237 #CJK UNIFIED IDEOGRAPH -0x8E40 0x5BDF #CJK UNIFIED IDEOGRAPH -0x8E41 0x62F6 #CJK UNIFIED IDEOGRAPH -0x8E42 0x64AE #CJK UNIFIED IDEOGRAPH -0x8E43 0x64E6 #CJK UNIFIED IDEOGRAPH -0x8E44 0x672D #CJK UNIFIED IDEOGRAPH -0x8E45 0x6BBA #CJK UNIFIED IDEOGRAPH -0x8E46 0x85A9 #CJK UNIFIED IDEOGRAPH -0x8E47 0x96D1 #CJK UNIFIED IDEOGRAPH -0x8E48 0x7690 #CJK UNIFIED IDEOGRAPH -0x8E49 0x9BD6 #CJK UNIFIED IDEOGRAPH -0x8E4A 0x634C #CJK UNIFIED IDEOGRAPH -0x8E4B 0x9306 #CJK UNIFIED IDEOGRAPH -0x8E4C 0x9BAB #CJK UNIFIED IDEOGRAPH -0x8E4D 0x76BF #CJK UNIFIED IDEOGRAPH -0x8E4E 0x6652 #CJK UNIFIED IDEOGRAPH -0x8E4F 0x4E09 #CJK UNIFIED IDEOGRAPH -0x8E50 0x5098 #CJK UNIFIED IDEOGRAPH -0x8E51 0x53C2 #CJK UNIFIED IDEOGRAPH -0x8E52 0x5C71 #CJK UNIFIED IDEOGRAPH -0x8E53 0x60E8 #CJK UNIFIED IDEOGRAPH -0x8E54 0x6492 #CJK UNIFIED IDEOGRAPH -0x8E55 0x6563 #CJK UNIFIED IDEOGRAPH -0x8E56 0x685F #CJK UNIFIED IDEOGRAPH -0x8E57 0x71E6 #CJK UNIFIED IDEOGRAPH -0x8E58 0x73CA #CJK UNIFIED IDEOGRAPH -0x8E59 0x7523 #CJK UNIFIED IDEOGRAPH -0x8E5A 0x7B97 #CJK UNIFIED IDEOGRAPH -0x8E5B 0x7E82 #CJK UNIFIED IDEOGRAPH -0x8E5C 0x8695 #CJK UNIFIED IDEOGRAPH -0x8E5D 0x8B83 #CJK UNIFIED IDEOGRAPH -0x8E5E 0x8CDB #CJK UNIFIED IDEOGRAPH -0x8E5F 0x9178 #CJK UNIFIED IDEOGRAPH -0x8E60 0x9910 #CJK UNIFIED IDEOGRAPH -0x8E61 0x65AC #CJK UNIFIED IDEOGRAPH -0x8E62 0x66AB #CJK UNIFIED IDEOGRAPH -0x8E63 0x6B8B #CJK UNIFIED IDEOGRAPH -0x8E64 0x4ED5 #CJK UNIFIED IDEOGRAPH -0x8E65 0x4ED4 #CJK UNIFIED IDEOGRAPH -0x8E66 0x4F3A #CJK UNIFIED IDEOGRAPH -0x8E67 0x4F7F #CJK UNIFIED IDEOGRAPH -0x8E68 0x523A #CJK UNIFIED IDEOGRAPH -0x8E69 0x53F8 #CJK UNIFIED IDEOGRAPH -0x8E6A 0x53F2 #CJK UNIFIED IDEOGRAPH -0x8E6B 0x55E3 #CJK UNIFIED IDEOGRAPH -0x8E6C 0x56DB #CJK UNIFIED IDEOGRAPH -0x8E6D 0x58EB #CJK UNIFIED IDEOGRAPH -0x8E6E 0x59CB #CJK UNIFIED IDEOGRAPH -0x8E6F 0x59C9 #CJK UNIFIED IDEOGRAPH -0x8E70 0x59FF #CJK UNIFIED IDEOGRAPH -0x8E71 0x5B50 #CJK UNIFIED IDEOGRAPH -0x8E72 0x5C4D #CJK UNIFIED IDEOGRAPH -0x8E73 0x5E02 #CJK UNIFIED IDEOGRAPH -0x8E74 0x5E2B #CJK UNIFIED IDEOGRAPH -0x8E75 0x5FD7 #CJK UNIFIED IDEOGRAPH -0x8E76 0x601D #CJK UNIFIED IDEOGRAPH -0x8E77 0x6307 #CJK UNIFIED IDEOGRAPH -0x8E78 0x652F #CJK UNIFIED IDEOGRAPH -0x8E79 0x5B5C #CJK UNIFIED IDEOGRAPH -0x8E7A 0x65AF #CJK UNIFIED IDEOGRAPH -0x8E7B 0x65BD #CJK UNIFIED IDEOGRAPH -0x8E7C 0x65E8 #CJK UNIFIED IDEOGRAPH -0x8E7D 0x679D #CJK UNIFIED IDEOGRAPH -0x8E7E 0x6B62 #CJK UNIFIED IDEOGRAPH -0x8E80 0x6B7B #CJK UNIFIED IDEOGRAPH -0x8E81 0x6C0F #CJK UNIFIED IDEOGRAPH -0x8E82 0x7345 #CJK UNIFIED IDEOGRAPH -0x8E83 0x7949 #CJK UNIFIED IDEOGRAPH -0x8E84 0x79C1 #CJK UNIFIED IDEOGRAPH -0x8E85 0x7CF8 #CJK UNIFIED IDEOGRAPH -0x8E86 0x7D19 #CJK UNIFIED IDEOGRAPH -0x8E87 0x7D2B #CJK UNIFIED IDEOGRAPH -0x8E88 0x80A2 #CJK UNIFIED IDEOGRAPH -0x8E89 0x8102 #CJK UNIFIED IDEOGRAPH -0x8E8A 0x81F3 #CJK UNIFIED IDEOGRAPH -0x8E8B 0x8996 #CJK UNIFIED IDEOGRAPH -0x8E8C 0x8A5E #CJK UNIFIED IDEOGRAPH -0x8E8D 0x8A69 #CJK UNIFIED IDEOGRAPH -0x8E8E 0x8A66 #CJK UNIFIED IDEOGRAPH -0x8E8F 0x8A8C #CJK UNIFIED IDEOGRAPH -0x8E90 0x8AEE #CJK UNIFIED IDEOGRAPH -0x8E91 0x8CC7 #CJK UNIFIED IDEOGRAPH -0x8E92 0x8CDC #CJK UNIFIED IDEOGRAPH -0x8E93 0x96CC #CJK UNIFIED IDEOGRAPH -0x8E94 0x98FC #CJK UNIFIED IDEOGRAPH -0x8E95 0x6B6F #CJK UNIFIED IDEOGRAPH -0x8E96 0x4E8B #CJK UNIFIED IDEOGRAPH -0x8E97 0x4F3C #CJK UNIFIED IDEOGRAPH -0x8E98 0x4F8D #CJK UNIFIED IDEOGRAPH -0x8E99 0x5150 #CJK UNIFIED IDEOGRAPH -0x8E9A 0x5B57 #CJK UNIFIED IDEOGRAPH -0x8E9B 0x5BFA #CJK UNIFIED IDEOGRAPH -0x8E9C 0x6148 #CJK UNIFIED IDEOGRAPH -0x8E9D 0x6301 #CJK UNIFIED IDEOGRAPH -0x8E9E 0x6642 #CJK UNIFIED IDEOGRAPH -0x8E9F 0x6B21 #CJK UNIFIED IDEOGRAPH -0x8EA0 0x6ECB #CJK UNIFIED IDEOGRAPH -0x8EA1 0x6CBB #CJK UNIFIED IDEOGRAPH -0x8EA2 0x723E #CJK UNIFIED IDEOGRAPH -0x8EA3 0x74BD #CJK UNIFIED IDEOGRAPH -0x8EA4 0x75D4 #CJK UNIFIED IDEOGRAPH -0x8EA5 0x78C1 #CJK UNIFIED IDEOGRAPH -0x8EA6 0x793A #CJK UNIFIED IDEOGRAPH -0x8EA7 0x800C #CJK UNIFIED IDEOGRAPH -0x8EA8 0x8033 #CJK UNIFIED IDEOGRAPH -0x8EA9 0x81EA #CJK UNIFIED IDEOGRAPH -0x8EAA 0x8494 #CJK UNIFIED IDEOGRAPH -0x8EAB 0x8F9E #CJK UNIFIED IDEOGRAPH -0x8EAC 0x6C50 #CJK UNIFIED IDEOGRAPH -0x8EAD 0x9E7F #CJK UNIFIED IDEOGRAPH -0x8EAE 0x5F0F #CJK UNIFIED IDEOGRAPH -0x8EAF 0x8B58 #CJK UNIFIED IDEOGRAPH -0x8EB0 0x9D2B #CJK UNIFIED IDEOGRAPH -0x8EB1 0x7AFA #CJK UNIFIED IDEOGRAPH -0x8EB2 0x8EF8 #CJK UNIFIED IDEOGRAPH -0x8EB3 0x5B8D #CJK UNIFIED IDEOGRAPH -0x8EB4 0x96EB #CJK UNIFIED IDEOGRAPH -0x8EB5 0x4E03 #CJK UNIFIED IDEOGRAPH -0x8EB6 0x53F1 #CJK UNIFIED IDEOGRAPH -0x8EB7 0x57F7 #CJK UNIFIED IDEOGRAPH -0x8EB8 0x5931 #CJK UNIFIED IDEOGRAPH -0x8EB9 0x5AC9 #CJK UNIFIED IDEOGRAPH -0x8EBA 0x5BA4 #CJK UNIFIED IDEOGRAPH -0x8EBB 0x6089 #CJK UNIFIED IDEOGRAPH -0x8EBC 0x6E7F #CJK UNIFIED IDEOGRAPH -0x8EBD 0x6F06 #CJK UNIFIED IDEOGRAPH -0x8EBE 0x75BE #CJK UNIFIED IDEOGRAPH -0x8EBF 0x8CEA #CJK UNIFIED IDEOGRAPH -0x8EC0 0x5B9F #CJK UNIFIED IDEOGRAPH -0x8EC1 0x8500 #CJK UNIFIED IDEOGRAPH -0x8EC2 0x7BE0 #CJK UNIFIED IDEOGRAPH -0x8EC3 0x5072 #CJK UNIFIED IDEOGRAPH -0x8EC4 0x67F4 #CJK UNIFIED IDEOGRAPH -0x8EC5 0x829D #CJK UNIFIED IDEOGRAPH -0x8EC6 0x5C61 #CJK UNIFIED IDEOGRAPH -0x8EC7 0x854A #CJK UNIFIED IDEOGRAPH -0x8EC8 0x7E1E #CJK UNIFIED IDEOGRAPH -0x8EC9 0x820E #CJK UNIFIED IDEOGRAPH -0x8ECA 0x5199 #CJK UNIFIED IDEOGRAPH -0x8ECB 0x5C04 #CJK UNIFIED IDEOGRAPH -0x8ECC 0x6368 #CJK UNIFIED IDEOGRAPH -0x8ECD 0x8D66 #CJK UNIFIED IDEOGRAPH -0x8ECE 0x659C #CJK UNIFIED IDEOGRAPH -0x8ECF 0x716E #CJK UNIFIED IDEOGRAPH -0x8ED0 0x793E #CJK UNIFIED IDEOGRAPH -0x8ED1 0x7D17 #CJK UNIFIED IDEOGRAPH -0x8ED2 0x8005 #CJK UNIFIED IDEOGRAPH -0x8ED3 0x8B1D #CJK UNIFIED IDEOGRAPH -0x8ED4 0x8ECA #CJK UNIFIED IDEOGRAPH -0x8ED5 0x906E #CJK UNIFIED IDEOGRAPH -0x8ED6 0x86C7 #CJK UNIFIED IDEOGRAPH -0x8ED7 0x90AA #CJK UNIFIED IDEOGRAPH -0x8ED8 0x501F #CJK UNIFIED IDEOGRAPH -0x8ED9 0x52FA #CJK UNIFIED IDEOGRAPH -0x8EDA 0x5C3A #CJK UNIFIED IDEOGRAPH -0x8EDB 0x6753 #CJK UNIFIED IDEOGRAPH -0x8EDC 0x707C #CJK UNIFIED IDEOGRAPH -0x8EDD 0x7235 #CJK UNIFIED IDEOGRAPH -0x8EDE 0x914C #CJK UNIFIED IDEOGRAPH -0x8EDF 0x91C8 #CJK UNIFIED IDEOGRAPH -0x8EE0 0x932B #CJK UNIFIED IDEOGRAPH -0x8EE1 0x82E5 #CJK UNIFIED IDEOGRAPH -0x8EE2 0x5BC2 #CJK UNIFIED IDEOGRAPH -0x8EE3 0x5F31 #CJK UNIFIED IDEOGRAPH -0x8EE4 0x60F9 #CJK UNIFIED IDEOGRAPH -0x8EE5 0x4E3B #CJK UNIFIED IDEOGRAPH -0x8EE6 0x53D6 #CJK UNIFIED IDEOGRAPH -0x8EE7 0x5B88 #CJK UNIFIED IDEOGRAPH -0x8EE8 0x624B #CJK UNIFIED IDEOGRAPH -0x8EE9 0x6731 #CJK UNIFIED IDEOGRAPH -0x8EEA 0x6B8A #CJK UNIFIED IDEOGRAPH -0x8EEB 0x72E9 #CJK UNIFIED IDEOGRAPH -0x8EEC 0x73E0 #CJK UNIFIED IDEOGRAPH -0x8EED 0x7A2E #CJK UNIFIED IDEOGRAPH -0x8EEE 0x816B #CJK UNIFIED IDEOGRAPH -0x8EEF 0x8DA3 #CJK UNIFIED IDEOGRAPH -0x8EF0 0x9152 #CJK UNIFIED IDEOGRAPH -0x8EF1 0x9996 #CJK UNIFIED IDEOGRAPH -0x8EF2 0x5112 #CJK UNIFIED IDEOGRAPH -0x8EF3 0x53D7 #CJK UNIFIED IDEOGRAPH -0x8EF4 0x546A #CJK UNIFIED IDEOGRAPH -0x8EF5 0x5BFF #CJK UNIFIED IDEOGRAPH -0x8EF6 0x6388 #CJK UNIFIED IDEOGRAPH -0x8EF7 0x6A39 #CJK UNIFIED IDEOGRAPH -0x8EF8 0x7DAC #CJK UNIFIED IDEOGRAPH -0x8EF9 0x9700 #CJK UNIFIED IDEOGRAPH -0x8EFA 0x56DA #CJK UNIFIED IDEOGRAPH -0x8EFB 0x53CE #CJK UNIFIED IDEOGRAPH -0x8EFC 0x5468 #CJK UNIFIED IDEOGRAPH -0x8F40 0x5B97 #CJK UNIFIED IDEOGRAPH -0x8F41 0x5C31 #CJK UNIFIED IDEOGRAPH -0x8F42 0x5DDE #CJK UNIFIED IDEOGRAPH -0x8F43 0x4FEE #CJK UNIFIED IDEOGRAPH -0x8F44 0x6101 #CJK UNIFIED IDEOGRAPH -0x8F45 0x62FE #CJK UNIFIED IDEOGRAPH -0x8F46 0x6D32 #CJK UNIFIED IDEOGRAPH -0x8F47 0x79C0 #CJK UNIFIED IDEOGRAPH -0x8F48 0x79CB #CJK UNIFIED IDEOGRAPH -0x8F49 0x7D42 #CJK UNIFIED IDEOGRAPH -0x8F4A 0x7E4D #CJK UNIFIED IDEOGRAPH -0x8F4B 0x7FD2 #CJK UNIFIED IDEOGRAPH -0x8F4C 0x81ED #CJK UNIFIED IDEOGRAPH -0x8F4D 0x821F #CJK UNIFIED IDEOGRAPH -0x8F4E 0x8490 #CJK UNIFIED IDEOGRAPH -0x8F4F 0x8846 #CJK UNIFIED IDEOGRAPH -0x8F50 0x8972 #CJK UNIFIED IDEOGRAPH -0x8F51 0x8B90 #CJK UNIFIED IDEOGRAPH -0x8F52 0x8E74 #CJK UNIFIED IDEOGRAPH -0x8F53 0x8F2F #CJK UNIFIED IDEOGRAPH -0x8F54 0x9031 #CJK UNIFIED IDEOGRAPH -0x8F55 0x914B #CJK UNIFIED IDEOGRAPH -0x8F56 0x916C #CJK UNIFIED IDEOGRAPH -0x8F57 0x96C6 #CJK UNIFIED IDEOGRAPH -0x8F58 0x919C #CJK UNIFIED IDEOGRAPH -0x8F59 0x4EC0 #CJK UNIFIED IDEOGRAPH -0x8F5A 0x4F4F #CJK UNIFIED IDEOGRAPH -0x8F5B 0x5145 #CJK UNIFIED IDEOGRAPH -0x8F5C 0x5341 #CJK UNIFIED IDEOGRAPH -0x8F5D 0x5F93 #CJK UNIFIED IDEOGRAPH -0x8F5E 0x620E #CJK UNIFIED IDEOGRAPH -0x8F5F 0x67D4 #CJK UNIFIED IDEOGRAPH -0x8F60 0x6C41 #CJK UNIFIED IDEOGRAPH -0x8F61 0x6E0B #CJK UNIFIED IDEOGRAPH -0x8F62 0x7363 #CJK UNIFIED IDEOGRAPH -0x8F63 0x7E26 #CJK UNIFIED IDEOGRAPH -0x8F64 0x91CD #CJK UNIFIED IDEOGRAPH -0x8F65 0x9283 #CJK UNIFIED IDEOGRAPH -0x8F66 0x53D4 #CJK UNIFIED IDEOGRAPH -0x8F67 0x5919 #CJK UNIFIED IDEOGRAPH -0x8F68 0x5BBF #CJK UNIFIED IDEOGRAPH -0x8F69 0x6DD1 #CJK UNIFIED IDEOGRAPH -0x8F6A 0x795D #CJK UNIFIED IDEOGRAPH -0x8F6B 0x7E2E #CJK UNIFIED IDEOGRAPH -0x8F6C 0x7C9B #CJK UNIFIED IDEOGRAPH -0x8F6D 0x587E #CJK UNIFIED IDEOGRAPH -0x8F6E 0x719F #CJK UNIFIED IDEOGRAPH -0x8F6F 0x51FA #CJK UNIFIED IDEOGRAPH -0x8F70 0x8853 #CJK UNIFIED IDEOGRAPH -0x8F71 0x8FF0 #CJK UNIFIED IDEOGRAPH -0x8F72 0x4FCA #CJK UNIFIED IDEOGRAPH -0x8F73 0x5CFB #CJK UNIFIED IDEOGRAPH -0x8F74 0x6625 #CJK UNIFIED IDEOGRAPH -0x8F75 0x77AC #CJK UNIFIED IDEOGRAPH -0x8F76 0x7AE3 #CJK UNIFIED IDEOGRAPH -0x8F77 0x821C #CJK UNIFIED IDEOGRAPH -0x8F78 0x99FF #CJK UNIFIED IDEOGRAPH -0x8F79 0x51C6 #CJK UNIFIED IDEOGRAPH -0x8F7A 0x5FAA #CJK UNIFIED IDEOGRAPH -0x8F7B 0x65EC #CJK UNIFIED IDEOGRAPH -0x8F7C 0x696F #CJK UNIFIED IDEOGRAPH -0x8F7D 0x6B89 #CJK UNIFIED IDEOGRAPH -0x8F7E 0x6DF3 #CJK UNIFIED IDEOGRAPH -0x8F80 0x6E96 #CJK UNIFIED IDEOGRAPH -0x8F81 0x6F64 #CJK UNIFIED IDEOGRAPH -0x8F82 0x76FE #CJK UNIFIED IDEOGRAPH -0x8F83 0x7D14 #CJK UNIFIED IDEOGRAPH -0x8F84 0x5DE1 #CJK UNIFIED IDEOGRAPH -0x8F85 0x9075 #CJK UNIFIED IDEOGRAPH -0x8F86 0x9187 #CJK UNIFIED IDEOGRAPH -0x8F87 0x9806 #CJK UNIFIED IDEOGRAPH -0x8F88 0x51E6 #CJK UNIFIED IDEOGRAPH -0x8F89 0x521D #CJK UNIFIED IDEOGRAPH -0x8F8A 0x6240 #CJK UNIFIED IDEOGRAPH -0x8F8B 0x6691 #CJK UNIFIED IDEOGRAPH -0x8F8C 0x66D9 #CJK UNIFIED IDEOGRAPH -0x8F8D 0x6E1A #CJK UNIFIED IDEOGRAPH -0x8F8E 0x5EB6 #CJK UNIFIED IDEOGRAPH -0x8F8F 0x7DD2 #CJK UNIFIED IDEOGRAPH -0x8F90 0x7F72 #CJK UNIFIED IDEOGRAPH -0x8F91 0x66F8 #CJK UNIFIED IDEOGRAPH -0x8F92 0x85AF #CJK UNIFIED IDEOGRAPH -0x8F93 0x85F7 #CJK UNIFIED IDEOGRAPH -0x8F94 0x8AF8 #CJK UNIFIED IDEOGRAPH -0x8F95 0x52A9 #CJK UNIFIED IDEOGRAPH -0x8F96 0x53D9 #CJK UNIFIED IDEOGRAPH -0x8F97 0x5973 #CJK UNIFIED IDEOGRAPH -0x8F98 0x5E8F #CJK UNIFIED IDEOGRAPH -0x8F99 0x5F90 #CJK UNIFIED IDEOGRAPH -0x8F9A 0x6055 #CJK UNIFIED IDEOGRAPH -0x8F9B 0x92E4 #CJK UNIFIED IDEOGRAPH -0x8F9C 0x9664 #CJK UNIFIED IDEOGRAPH -0x8F9D 0x50B7 #CJK UNIFIED IDEOGRAPH -0x8F9E 0x511F #CJK UNIFIED IDEOGRAPH -0x8F9F 0x52DD #CJK UNIFIED IDEOGRAPH -0x8FA0 0x5320 #CJK UNIFIED IDEOGRAPH -0x8FA1 0x5347 #CJK UNIFIED IDEOGRAPH -0x8FA2 0x53EC #CJK UNIFIED IDEOGRAPH -0x8FA3 0x54E8 #CJK UNIFIED IDEOGRAPH -0x8FA4 0x5546 #CJK UNIFIED IDEOGRAPH -0x8FA5 0x5531 #CJK UNIFIED IDEOGRAPH -0x8FA6 0x5617 #CJK UNIFIED IDEOGRAPH -0x8FA7 0x5968 #CJK UNIFIED IDEOGRAPH -0x8FA8 0x59BE #CJK UNIFIED IDEOGRAPH -0x8FA9 0x5A3C #CJK UNIFIED IDEOGRAPH -0x8FAA 0x5BB5 #CJK UNIFIED IDEOGRAPH -0x8FAB 0x5C06 #CJK UNIFIED IDEOGRAPH -0x8FAC 0x5C0F #CJK UNIFIED IDEOGRAPH -0x8FAD 0x5C11 #CJK UNIFIED IDEOGRAPH -0x8FAE 0x5C1A #CJK UNIFIED IDEOGRAPH -0x8FAF 0x5E84 #CJK UNIFIED IDEOGRAPH -0x8FB0 0x5E8A #CJK UNIFIED IDEOGRAPH -0x8FB1 0x5EE0 #CJK UNIFIED IDEOGRAPH -0x8FB2 0x5F70 #CJK UNIFIED IDEOGRAPH -0x8FB3 0x627F #CJK UNIFIED IDEOGRAPH -0x8FB4 0x6284 #CJK UNIFIED IDEOGRAPH -0x8FB5 0x62DB #CJK UNIFIED IDEOGRAPH -0x8FB6 0x638C #CJK UNIFIED IDEOGRAPH -0x8FB7 0x6377 #CJK UNIFIED IDEOGRAPH -0x8FB8 0x6607 #CJK UNIFIED IDEOGRAPH -0x8FB9 0x660C #CJK UNIFIED IDEOGRAPH -0x8FBA 0x662D #CJK UNIFIED IDEOGRAPH -0x8FBB 0x6676 #CJK UNIFIED IDEOGRAPH -0x8FBC 0x677E #CJK UNIFIED IDEOGRAPH -0x8FBD 0x68A2 #CJK UNIFIED IDEOGRAPH -0x8FBE 0x6A1F #CJK UNIFIED IDEOGRAPH -0x8FBF 0x6A35 #CJK UNIFIED IDEOGRAPH -0x8FC0 0x6CBC #CJK UNIFIED IDEOGRAPH -0x8FC1 0x6D88 #CJK UNIFIED IDEOGRAPH -0x8FC2 0x6E09 #CJK UNIFIED IDEOGRAPH -0x8FC3 0x6E58 #CJK UNIFIED IDEOGRAPH -0x8FC4 0x713C #CJK UNIFIED IDEOGRAPH -0x8FC5 0x7126 #CJK UNIFIED IDEOGRAPH -0x8FC6 0x7167 #CJK UNIFIED IDEOGRAPH -0x8FC7 0x75C7 #CJK UNIFIED IDEOGRAPH -0x8FC8 0x7701 #CJK UNIFIED IDEOGRAPH -0x8FC9 0x785D #CJK UNIFIED IDEOGRAPH -0x8FCA 0x7901 #CJK UNIFIED IDEOGRAPH -0x8FCB 0x7965 #CJK UNIFIED IDEOGRAPH -0x8FCC 0x79F0 #CJK UNIFIED IDEOGRAPH -0x8FCD 0x7AE0 #CJK UNIFIED IDEOGRAPH -0x8FCE 0x7B11 #CJK UNIFIED IDEOGRAPH -0x8FCF 0x7CA7 #CJK UNIFIED IDEOGRAPH -0x8FD0 0x7D39 #CJK UNIFIED IDEOGRAPH -0x8FD1 0x8096 #CJK UNIFIED IDEOGRAPH -0x8FD2 0x83D6 #CJK UNIFIED IDEOGRAPH -0x8FD3 0x848B #CJK UNIFIED IDEOGRAPH -0x8FD4 0x8549 #CJK UNIFIED IDEOGRAPH -0x8FD5 0x885D #CJK UNIFIED IDEOGRAPH -0x8FD6 0x88F3 #CJK UNIFIED IDEOGRAPH -0x8FD7 0x8A1F #CJK UNIFIED IDEOGRAPH -0x8FD8 0x8A3C #CJK UNIFIED IDEOGRAPH -0x8FD9 0x8A54 #CJK UNIFIED IDEOGRAPH -0x8FDA 0x8A73 #CJK UNIFIED IDEOGRAPH -0x8FDB 0x8C61 #CJK UNIFIED IDEOGRAPH -0x8FDC 0x8CDE #CJK UNIFIED IDEOGRAPH -0x8FDD 0x91A4 #CJK UNIFIED IDEOGRAPH -0x8FDE 0x9266 #CJK UNIFIED IDEOGRAPH -0x8FDF 0x937E #CJK UNIFIED IDEOGRAPH -0x8FE0 0x9418 #CJK UNIFIED IDEOGRAPH -0x8FE1 0x969C #CJK UNIFIED IDEOGRAPH -0x8FE2 0x9798 #CJK UNIFIED IDEOGRAPH -0x8FE3 0x4E0A #CJK UNIFIED IDEOGRAPH -0x8FE4 0x4E08 #CJK UNIFIED IDEOGRAPH -0x8FE5 0x4E1E #CJK UNIFIED IDEOGRAPH -0x8FE6 0x4E57 #CJK UNIFIED IDEOGRAPH -0x8FE7 0x5197 #CJK UNIFIED IDEOGRAPH -0x8FE8 0x5270 #CJK UNIFIED IDEOGRAPH -0x8FE9 0x57CE #CJK UNIFIED IDEOGRAPH -0x8FEA 0x5834 #CJK UNIFIED IDEOGRAPH -0x8FEB 0x58CC #CJK UNIFIED IDEOGRAPH -0x8FEC 0x5B22 #CJK UNIFIED IDEOGRAPH -0x8FED 0x5E38 #CJK UNIFIED IDEOGRAPH -0x8FEE 0x60C5 #CJK UNIFIED IDEOGRAPH -0x8FEF 0x64FE #CJK UNIFIED IDEOGRAPH -0x8FF0 0x6761 #CJK UNIFIED IDEOGRAPH -0x8FF1 0x6756 #CJK UNIFIED IDEOGRAPH -0x8FF2 0x6D44 #CJK UNIFIED IDEOGRAPH -0x8FF3 0x72B6 #CJK UNIFIED IDEOGRAPH -0x8FF4 0x7573 #CJK UNIFIED IDEOGRAPH -0x8FF5 0x7A63 #CJK UNIFIED IDEOGRAPH -0x8FF6 0x84B8 #CJK UNIFIED IDEOGRAPH -0x8FF7 0x8B72 #CJK UNIFIED IDEOGRAPH -0x8FF8 0x91B8 #CJK UNIFIED IDEOGRAPH -0x8FF9 0x9320 #CJK UNIFIED IDEOGRAPH -0x8FFA 0x5631 #CJK UNIFIED IDEOGRAPH -0x8FFB 0x57F4 #CJK UNIFIED IDEOGRAPH -0x8FFC 0x98FE #CJK UNIFIED IDEOGRAPH -0x9040 0x62ED #CJK UNIFIED IDEOGRAPH -0x9041 0x690D #CJK UNIFIED IDEOGRAPH -0x9042 0x6B96 #CJK UNIFIED IDEOGRAPH -0x9043 0x71ED #CJK UNIFIED IDEOGRAPH -0x9044 0x7E54 #CJK UNIFIED IDEOGRAPH -0x9045 0x8077 #CJK UNIFIED IDEOGRAPH -0x9046 0x8272 #CJK UNIFIED IDEOGRAPH -0x9047 0x89E6 #CJK UNIFIED IDEOGRAPH -0x9048 0x98DF #CJK UNIFIED IDEOGRAPH -0x9049 0x8755 #CJK UNIFIED IDEOGRAPH -0x904A 0x8FB1 #CJK UNIFIED IDEOGRAPH -0x904B 0x5C3B #CJK UNIFIED IDEOGRAPH -0x904C 0x4F38 #CJK UNIFIED IDEOGRAPH -0x904D 0x4FE1 #CJK UNIFIED IDEOGRAPH -0x904E 0x4FB5 #CJK UNIFIED IDEOGRAPH -0x904F 0x5507 #CJK UNIFIED IDEOGRAPH -0x9050 0x5A20 #CJK UNIFIED IDEOGRAPH -0x9051 0x5BDD #CJK UNIFIED IDEOGRAPH -0x9052 0x5BE9 #CJK UNIFIED IDEOGRAPH -0x9053 0x5FC3 #CJK UNIFIED IDEOGRAPH -0x9054 0x614E #CJK UNIFIED IDEOGRAPH -0x9055 0x632F #CJK UNIFIED IDEOGRAPH -0x9056 0x65B0 #CJK UNIFIED IDEOGRAPH -0x9057 0x664B #CJK UNIFIED IDEOGRAPH -0x9058 0x68EE #CJK UNIFIED IDEOGRAPH -0x9059 0x699B #CJK UNIFIED IDEOGRAPH -0x905A 0x6D78 #CJK UNIFIED IDEOGRAPH -0x905B 0x6DF1 #CJK UNIFIED IDEOGRAPH -0x905C 0x7533 #CJK UNIFIED IDEOGRAPH -0x905D 0x75B9 #CJK UNIFIED IDEOGRAPH -0x905E 0x771F #CJK UNIFIED IDEOGRAPH -0x905F 0x795E #CJK UNIFIED IDEOGRAPH -0x9060 0x79E6 #CJK UNIFIED IDEOGRAPH -0x9061 0x7D33 #CJK UNIFIED IDEOGRAPH -0x9062 0x81E3 #CJK UNIFIED IDEOGRAPH -0x9063 0x82AF #CJK UNIFIED IDEOGRAPH -0x9064 0x85AA #CJK UNIFIED IDEOGRAPH -0x9065 0x89AA #CJK UNIFIED IDEOGRAPH -0x9066 0x8A3A #CJK UNIFIED IDEOGRAPH -0x9067 0x8EAB #CJK UNIFIED IDEOGRAPH -0x9068 0x8F9B #CJK UNIFIED IDEOGRAPH -0x9069 0x9032 #CJK UNIFIED IDEOGRAPH -0x906A 0x91DD #CJK UNIFIED IDEOGRAPH -0x906B 0x9707 #CJK UNIFIED IDEOGRAPH -0x906C 0x4EBA #CJK UNIFIED IDEOGRAPH -0x906D 0x4EC1 #CJK UNIFIED IDEOGRAPH -0x906E 0x5203 #CJK UNIFIED IDEOGRAPH -0x906F 0x5875 #CJK UNIFIED IDEOGRAPH -0x9070 0x58EC #CJK UNIFIED IDEOGRAPH -0x9071 0x5C0B #CJK UNIFIED IDEOGRAPH -0x9072 0x751A #CJK UNIFIED IDEOGRAPH -0x9073 0x5C3D #CJK UNIFIED IDEOGRAPH -0x9074 0x814E #CJK UNIFIED IDEOGRAPH -0x9075 0x8A0A #CJK UNIFIED IDEOGRAPH -0x9076 0x8FC5 #CJK UNIFIED IDEOGRAPH -0x9077 0x9663 #CJK UNIFIED IDEOGRAPH -0x9078 0x976D #CJK UNIFIED IDEOGRAPH -0x9079 0x7B25 #CJK UNIFIED IDEOGRAPH -0x907A 0x8ACF #CJK UNIFIED IDEOGRAPH -0x907B 0x9808 #CJK UNIFIED IDEOGRAPH -0x907C 0x9162 #CJK UNIFIED IDEOGRAPH -0x907D 0x56F3 #CJK UNIFIED IDEOGRAPH -0x907E 0x53A8 #CJK UNIFIED IDEOGRAPH -0x9080 0x9017 #CJK UNIFIED IDEOGRAPH -0x9081 0x5439 #CJK UNIFIED IDEOGRAPH -0x9082 0x5782 #CJK UNIFIED IDEOGRAPH -0x9083 0x5E25 #CJK UNIFIED IDEOGRAPH -0x9084 0x63A8 #CJK UNIFIED IDEOGRAPH -0x9085 0x6C34 #CJK UNIFIED IDEOGRAPH -0x9086 0x708A #CJK UNIFIED IDEOGRAPH -0x9087 0x7761 #CJK UNIFIED IDEOGRAPH -0x9088 0x7C8B #CJK UNIFIED IDEOGRAPH -0x9089 0x7FE0 #CJK UNIFIED IDEOGRAPH -0x908A 0x8870 #CJK UNIFIED IDEOGRAPH -0x908B 0x9042 #CJK UNIFIED IDEOGRAPH -0x908C 0x9154 #CJK UNIFIED IDEOGRAPH -0x908D 0x9310 #CJK UNIFIED IDEOGRAPH -0x908E 0x9318 #CJK UNIFIED IDEOGRAPH -0x908F 0x968F #CJK UNIFIED IDEOGRAPH -0x9090 0x745E #CJK UNIFIED IDEOGRAPH -0x9091 0x9AC4 #CJK UNIFIED IDEOGRAPH -0x9092 0x5D07 #CJK UNIFIED IDEOGRAPH -0x9093 0x5D69 #CJK UNIFIED IDEOGRAPH -0x9094 0x6570 #CJK UNIFIED IDEOGRAPH -0x9095 0x67A2 #CJK UNIFIED IDEOGRAPH -0x9096 0x8DA8 #CJK UNIFIED IDEOGRAPH -0x9097 0x96DB #CJK UNIFIED IDEOGRAPH -0x9098 0x636E #CJK UNIFIED IDEOGRAPH -0x9099 0x6749 #CJK UNIFIED IDEOGRAPH -0x909A 0x6919 #CJK UNIFIED IDEOGRAPH -0x909B 0x83C5 #CJK UNIFIED IDEOGRAPH -0x909C 0x9817 #CJK UNIFIED IDEOGRAPH -0x909D 0x96C0 #CJK UNIFIED IDEOGRAPH -0x909E 0x88FE #CJK UNIFIED IDEOGRAPH -0x909F 0x6F84 #CJK UNIFIED IDEOGRAPH -0x90A0 0x647A #CJK UNIFIED IDEOGRAPH -0x90A1 0x5BF8 #CJK UNIFIED IDEOGRAPH -0x90A2 0x4E16 #CJK UNIFIED IDEOGRAPH -0x90A3 0x702C #CJK UNIFIED IDEOGRAPH -0x90A4 0x755D #CJK UNIFIED IDEOGRAPH -0x90A5 0x662F #CJK UNIFIED IDEOGRAPH -0x90A6 0x51C4 #CJK UNIFIED IDEOGRAPH -0x90A7 0x5236 #CJK UNIFIED IDEOGRAPH -0x90A8 0x52E2 #CJK UNIFIED IDEOGRAPH -0x90A9 0x59D3 #CJK UNIFIED IDEOGRAPH -0x90AA 0x5F81 #CJK UNIFIED IDEOGRAPH -0x90AB 0x6027 #CJK UNIFIED IDEOGRAPH -0x90AC 0x6210 #CJK UNIFIED IDEOGRAPH -0x90AD 0x653F #CJK UNIFIED IDEOGRAPH -0x90AE 0x6574 #CJK UNIFIED IDEOGRAPH -0x90AF 0x661F #CJK UNIFIED IDEOGRAPH -0x90B0 0x6674 #CJK UNIFIED IDEOGRAPH -0x90B1 0x68F2 #CJK UNIFIED IDEOGRAPH -0x90B2 0x6816 #CJK UNIFIED IDEOGRAPH -0x90B3 0x6B63 #CJK UNIFIED IDEOGRAPH -0x90B4 0x6E05 #CJK UNIFIED IDEOGRAPH -0x90B5 0x7272 #CJK UNIFIED IDEOGRAPH -0x90B6 0x751F #CJK UNIFIED IDEOGRAPH -0x90B7 0x76DB #CJK UNIFIED IDEOGRAPH -0x90B8 0x7CBE #CJK UNIFIED IDEOGRAPH -0x90B9 0x8056 #CJK UNIFIED IDEOGRAPH -0x90BA 0x58F0 #CJK UNIFIED IDEOGRAPH -0x90BB 0x88FD #CJK UNIFIED IDEOGRAPH -0x90BC 0x897F #CJK UNIFIED IDEOGRAPH -0x90BD 0x8AA0 #CJK UNIFIED IDEOGRAPH -0x90BE 0x8A93 #CJK UNIFIED IDEOGRAPH -0x90BF 0x8ACB #CJK UNIFIED IDEOGRAPH -0x90C0 0x901D #CJK UNIFIED IDEOGRAPH -0x90C1 0x9192 #CJK UNIFIED IDEOGRAPH -0x90C2 0x9752 #CJK UNIFIED IDEOGRAPH -0x90C3 0x9759 #CJK UNIFIED IDEOGRAPH -0x90C4 0x6589 #CJK UNIFIED IDEOGRAPH -0x90C5 0x7A0E #CJK UNIFIED IDEOGRAPH -0x90C6 0x8106 #CJK UNIFIED IDEOGRAPH -0x90C7 0x96BB #CJK UNIFIED IDEOGRAPH -0x90C8 0x5E2D #CJK UNIFIED IDEOGRAPH -0x90C9 0x60DC #CJK UNIFIED IDEOGRAPH -0x90CA 0x621A #CJK UNIFIED IDEOGRAPH -0x90CB 0x65A5 #CJK UNIFIED IDEOGRAPH -0x90CC 0x6614 #CJK UNIFIED IDEOGRAPH -0x90CD 0x6790 #CJK UNIFIED IDEOGRAPH -0x90CE 0x77F3 #CJK UNIFIED IDEOGRAPH -0x90CF 0x7A4D #CJK UNIFIED IDEOGRAPH -0x90D0 0x7C4D #CJK UNIFIED IDEOGRAPH -0x90D1 0x7E3E #CJK UNIFIED IDEOGRAPH -0x90D2 0x810A #CJK UNIFIED IDEOGRAPH -0x90D3 0x8CAC #CJK UNIFIED IDEOGRAPH -0x90D4 0x8D64 #CJK UNIFIED IDEOGRAPH -0x90D5 0x8DE1 #CJK UNIFIED IDEOGRAPH -0x90D6 0x8E5F #CJK UNIFIED IDEOGRAPH -0x90D7 0x78A9 #CJK UNIFIED IDEOGRAPH -0x90D8 0x5207 #CJK UNIFIED IDEOGRAPH -0x90D9 0x62D9 #CJK UNIFIED IDEOGRAPH -0x90DA 0x63A5 #CJK UNIFIED IDEOGRAPH -0x90DB 0x6442 #CJK UNIFIED IDEOGRAPH -0x90DC 0x6298 #CJK UNIFIED IDEOGRAPH -0x90DD 0x8A2D #CJK UNIFIED IDEOGRAPH -0x90DE 0x7A83 #CJK UNIFIED IDEOGRAPH -0x90DF 0x7BC0 #CJK UNIFIED IDEOGRAPH -0x90E0 0x8AAC #CJK UNIFIED IDEOGRAPH -0x90E1 0x96EA #CJK UNIFIED IDEOGRAPH -0x90E2 0x7D76 #CJK UNIFIED IDEOGRAPH -0x90E3 0x820C #CJK UNIFIED IDEOGRAPH -0x90E4 0x8749 #CJK UNIFIED IDEOGRAPH -0x90E5 0x4ED9 #CJK UNIFIED IDEOGRAPH -0x90E6 0x5148 #CJK UNIFIED IDEOGRAPH -0x90E7 0x5343 #CJK UNIFIED IDEOGRAPH -0x90E8 0x5360 #CJK UNIFIED IDEOGRAPH -0x90E9 0x5BA3 #CJK UNIFIED IDEOGRAPH -0x90EA 0x5C02 #CJK UNIFIED IDEOGRAPH -0x90EB 0x5C16 #CJK UNIFIED IDEOGRAPH -0x90EC 0x5DDD #CJK UNIFIED IDEOGRAPH -0x90ED 0x6226 #CJK UNIFIED IDEOGRAPH -0x90EE 0x6247 #CJK UNIFIED IDEOGRAPH -0x90EF 0x64B0 #CJK UNIFIED IDEOGRAPH -0x90F0 0x6813 #CJK UNIFIED IDEOGRAPH -0x90F1 0x6834 #CJK UNIFIED IDEOGRAPH -0x90F2 0x6CC9 #CJK UNIFIED IDEOGRAPH -0x90F3 0x6D45 #CJK UNIFIED IDEOGRAPH -0x90F4 0x6D17 #CJK UNIFIED IDEOGRAPH -0x90F5 0x67D3 #CJK UNIFIED IDEOGRAPH -0x90F6 0x6F5C #CJK UNIFIED IDEOGRAPH -0x90F7 0x714E #CJK UNIFIED IDEOGRAPH -0x90F8 0x717D #CJK UNIFIED IDEOGRAPH -0x90F9 0x65CB #CJK UNIFIED IDEOGRAPH -0x90FA 0x7A7F #CJK UNIFIED IDEOGRAPH -0x90FB 0x7BAD #CJK UNIFIED IDEOGRAPH -0x90FC 0x7DDA #CJK UNIFIED IDEOGRAPH -0x9140 0x7E4A #CJK UNIFIED IDEOGRAPH -0x9141 0x7FA8 #CJK UNIFIED IDEOGRAPH -0x9142 0x817A #CJK UNIFIED IDEOGRAPH -0x9143 0x821B #CJK UNIFIED IDEOGRAPH -0x9144 0x8239 #CJK UNIFIED IDEOGRAPH -0x9145 0x85A6 #CJK UNIFIED IDEOGRAPH -0x9146 0x8A6E #CJK UNIFIED IDEOGRAPH -0x9147 0x8CCE #CJK UNIFIED IDEOGRAPH -0x9148 0x8DF5 #CJK UNIFIED IDEOGRAPH -0x9149 0x9078 #CJK UNIFIED IDEOGRAPH -0x914A 0x9077 #CJK UNIFIED IDEOGRAPH -0x914B 0x92AD #CJK UNIFIED IDEOGRAPH -0x914C 0x9291 #CJK UNIFIED IDEOGRAPH -0x914D 0x9583 #CJK UNIFIED IDEOGRAPH -0x914E 0x9BAE #CJK UNIFIED IDEOGRAPH -0x914F 0x524D #CJK UNIFIED IDEOGRAPH -0x9150 0x5584 #CJK UNIFIED IDEOGRAPH -0x9151 0x6F38 #CJK UNIFIED IDEOGRAPH -0x9152 0x7136 #CJK UNIFIED IDEOGRAPH -0x9153 0x5168 #CJK UNIFIED IDEOGRAPH -0x9154 0x7985 #CJK UNIFIED IDEOGRAPH -0x9155 0x7E55 #CJK UNIFIED IDEOGRAPH -0x9156 0x81B3 #CJK UNIFIED IDEOGRAPH -0x9157 0x7CCE #CJK UNIFIED IDEOGRAPH -0x9158 0x564C #CJK UNIFIED IDEOGRAPH -0x9159 0x5851 #CJK UNIFIED IDEOGRAPH -0x915A 0x5CA8 #CJK UNIFIED IDEOGRAPH -0x915B 0x63AA #CJK UNIFIED IDEOGRAPH -0x915C 0x66FE #CJK UNIFIED IDEOGRAPH -0x915D 0x66FD #CJK UNIFIED IDEOGRAPH -0x915E 0x695A #CJK UNIFIED IDEOGRAPH -0x915F 0x72D9 #CJK UNIFIED IDEOGRAPH -0x9160 0x758F #CJK UNIFIED IDEOGRAPH -0x9161 0x758E #CJK UNIFIED IDEOGRAPH -0x9162 0x790E #CJK UNIFIED IDEOGRAPH -0x9163 0x7956 #CJK UNIFIED IDEOGRAPH -0x9164 0x79DF #CJK UNIFIED IDEOGRAPH -0x9165 0x7C97 #CJK UNIFIED IDEOGRAPH -0x9166 0x7D20 #CJK UNIFIED IDEOGRAPH -0x9167 0x7D44 #CJK UNIFIED IDEOGRAPH -0x9168 0x8607 #CJK UNIFIED IDEOGRAPH -0x9169 0x8A34 #CJK UNIFIED IDEOGRAPH -0x916A 0x963B #CJK UNIFIED IDEOGRAPH -0x916B 0x9061 #CJK UNIFIED IDEOGRAPH -0x916C 0x9F20 #CJK UNIFIED IDEOGRAPH -0x916D 0x50E7 #CJK UNIFIED IDEOGRAPH -0x916E 0x5275 #CJK UNIFIED IDEOGRAPH -0x916F 0x53CC #CJK UNIFIED IDEOGRAPH -0x9170 0x53E2 #CJK UNIFIED IDEOGRAPH -0x9171 0x5009 #CJK UNIFIED IDEOGRAPH -0x9172 0x55AA #CJK UNIFIED IDEOGRAPH -0x9173 0x58EE #CJK UNIFIED IDEOGRAPH -0x9174 0x594F #CJK UNIFIED IDEOGRAPH -0x9175 0x723D #CJK UNIFIED IDEOGRAPH -0x9176 0x5B8B #CJK UNIFIED IDEOGRAPH -0x9177 0x5C64 #CJK UNIFIED IDEOGRAPH -0x9178 0x531D #CJK UNIFIED IDEOGRAPH -0x9179 0x60E3 #CJK UNIFIED IDEOGRAPH -0x917A 0x60F3 #CJK UNIFIED IDEOGRAPH -0x917B 0x635C #CJK UNIFIED IDEOGRAPH -0x917C 0x6383 #CJK UNIFIED IDEOGRAPH -0x917D 0x633F #CJK UNIFIED IDEOGRAPH -0x917E 0x63BB #CJK UNIFIED IDEOGRAPH -0x9180 0x64CD #CJK UNIFIED IDEOGRAPH -0x9181 0x65E9 #CJK UNIFIED IDEOGRAPH -0x9182 0x66F9 #CJK UNIFIED IDEOGRAPH -0x9183 0x5DE3 #CJK UNIFIED IDEOGRAPH -0x9184 0x69CD #CJK UNIFIED IDEOGRAPH -0x9185 0x69FD #CJK UNIFIED IDEOGRAPH -0x9186 0x6F15 #CJK UNIFIED IDEOGRAPH -0x9187 0x71E5 #CJK UNIFIED IDEOGRAPH -0x9188 0x4E89 #CJK UNIFIED IDEOGRAPH -0x9189 0x75E9 #CJK UNIFIED IDEOGRAPH -0x918A 0x76F8 #CJK UNIFIED IDEOGRAPH -0x918B 0x7A93 #CJK UNIFIED IDEOGRAPH -0x918C 0x7CDF #CJK UNIFIED IDEOGRAPH -0x918D 0x7DCF #CJK UNIFIED IDEOGRAPH -0x918E 0x7D9C #CJK UNIFIED IDEOGRAPH -0x918F 0x8061 #CJK UNIFIED IDEOGRAPH -0x9190 0x8349 #CJK UNIFIED IDEOGRAPH -0x9191 0x8358 #CJK UNIFIED IDEOGRAPH -0x9192 0x846C #CJK UNIFIED IDEOGRAPH -0x9193 0x84BC #CJK UNIFIED IDEOGRAPH -0x9194 0x85FB #CJK UNIFIED IDEOGRAPH -0x9195 0x88C5 #CJK UNIFIED IDEOGRAPH -0x9196 0x8D70 #CJK UNIFIED IDEOGRAPH -0x9197 0x9001 #CJK UNIFIED IDEOGRAPH -0x9198 0x906D #CJK UNIFIED IDEOGRAPH -0x9199 0x9397 #CJK UNIFIED IDEOGRAPH -0x919A 0x971C #CJK UNIFIED IDEOGRAPH -0x919B 0x9A12 #CJK UNIFIED IDEOGRAPH -0x919C 0x50CF #CJK UNIFIED IDEOGRAPH -0x919D 0x5897 #CJK UNIFIED IDEOGRAPH -0x919E 0x618E #CJK UNIFIED IDEOGRAPH -0x919F 0x81D3 #CJK UNIFIED IDEOGRAPH -0x91A0 0x8535 #CJK UNIFIED IDEOGRAPH -0x91A1 0x8D08 #CJK UNIFIED IDEOGRAPH -0x91A2 0x9020 #CJK UNIFIED IDEOGRAPH -0x91A3 0x4FC3 #CJK UNIFIED IDEOGRAPH -0x91A4 0x5074 #CJK UNIFIED IDEOGRAPH -0x91A5 0x5247 #CJK UNIFIED IDEOGRAPH -0x91A6 0x5373 #CJK UNIFIED IDEOGRAPH -0x91A7 0x606F #CJK UNIFIED IDEOGRAPH -0x91A8 0x6349 #CJK UNIFIED IDEOGRAPH -0x91A9 0x675F #CJK UNIFIED IDEOGRAPH -0x91AA 0x6E2C #CJK UNIFIED IDEOGRAPH -0x91AB 0x8DB3 #CJK UNIFIED IDEOGRAPH -0x91AC 0x901F #CJK UNIFIED IDEOGRAPH -0x91AD 0x4FD7 #CJK UNIFIED IDEOGRAPH -0x91AE 0x5C5E #CJK UNIFIED IDEOGRAPH -0x91AF 0x8CCA #CJK UNIFIED IDEOGRAPH -0x91B0 0x65CF #CJK UNIFIED IDEOGRAPH -0x91B1 0x7D9A #CJK UNIFIED IDEOGRAPH -0x91B2 0x5352 #CJK UNIFIED IDEOGRAPH -0x91B3 0x8896 #CJK UNIFIED IDEOGRAPH -0x91B4 0x5176 #CJK UNIFIED IDEOGRAPH -0x91B5 0x63C3 #CJK UNIFIED IDEOGRAPH -0x91B6 0x5B58 #CJK UNIFIED IDEOGRAPH -0x91B7 0x5B6B #CJK UNIFIED IDEOGRAPH -0x91B8 0x5C0A #CJK UNIFIED IDEOGRAPH -0x91B9 0x640D #CJK UNIFIED IDEOGRAPH -0x91BA 0x6751 #CJK UNIFIED IDEOGRAPH -0x91BB 0x905C #CJK UNIFIED IDEOGRAPH -0x91BC 0x4ED6 #CJK UNIFIED IDEOGRAPH -0x91BD 0x591A #CJK UNIFIED IDEOGRAPH -0x91BE 0x592A #CJK UNIFIED IDEOGRAPH -0x91BF 0x6C70 #CJK UNIFIED IDEOGRAPH -0x91C0 0x8A51 #CJK UNIFIED IDEOGRAPH -0x91C1 0x553E #CJK UNIFIED IDEOGRAPH -0x91C2 0x5815 #CJK UNIFIED IDEOGRAPH -0x91C3 0x59A5 #CJK UNIFIED IDEOGRAPH -0x91C4 0x60F0 #CJK UNIFIED IDEOGRAPH -0x91C5 0x6253 #CJK UNIFIED IDEOGRAPH -0x91C6 0x67C1 #CJK UNIFIED IDEOGRAPH -0x91C7 0x8235 #CJK UNIFIED IDEOGRAPH -0x91C8 0x6955 #CJK UNIFIED IDEOGRAPH -0x91C9 0x9640 #CJK UNIFIED IDEOGRAPH -0x91CA 0x99C4 #CJK UNIFIED IDEOGRAPH -0x91CB 0x9A28 #CJK UNIFIED IDEOGRAPH -0x91CC 0x4F53 #CJK UNIFIED IDEOGRAPH -0x91CD 0x5806 #CJK UNIFIED IDEOGRAPH -0x91CE 0x5BFE #CJK UNIFIED IDEOGRAPH -0x91CF 0x8010 #CJK UNIFIED IDEOGRAPH -0x91D0 0x5CB1 #CJK UNIFIED IDEOGRAPH -0x91D1 0x5E2F #CJK UNIFIED IDEOGRAPH -0x91D2 0x5F85 #CJK UNIFIED IDEOGRAPH -0x91D3 0x6020 #CJK UNIFIED IDEOGRAPH -0x91D4 0x614B #CJK UNIFIED IDEOGRAPH -0x91D5 0x6234 #CJK UNIFIED IDEOGRAPH -0x91D6 0x66FF #CJK UNIFIED IDEOGRAPH -0x91D7 0x6CF0 #CJK UNIFIED IDEOGRAPH -0x91D8 0x6EDE #CJK UNIFIED IDEOGRAPH -0x91D9 0x80CE #CJK UNIFIED IDEOGRAPH -0x91DA 0x817F #CJK UNIFIED IDEOGRAPH -0x91DB 0x82D4 #CJK UNIFIED IDEOGRAPH -0x91DC 0x888B #CJK UNIFIED IDEOGRAPH -0x91DD 0x8CB8 #CJK UNIFIED IDEOGRAPH -0x91DE 0x9000 #CJK UNIFIED IDEOGRAPH -0x91DF 0x902E #CJK UNIFIED IDEOGRAPH -0x91E0 0x968A #CJK UNIFIED IDEOGRAPH -0x91E1 0x9EDB #CJK UNIFIED IDEOGRAPH -0x91E2 0x9BDB #CJK UNIFIED IDEOGRAPH -0x91E3 0x4EE3 #CJK UNIFIED IDEOGRAPH -0x91E4 0x53F0 #CJK UNIFIED IDEOGRAPH -0x91E5 0x5927 #CJK UNIFIED IDEOGRAPH -0x91E6 0x7B2C #CJK UNIFIED IDEOGRAPH -0x91E7 0x918D #CJK UNIFIED IDEOGRAPH -0x91E8 0x984C #CJK UNIFIED IDEOGRAPH -0x91E9 0x9DF9 #CJK UNIFIED IDEOGRAPH -0x91EA 0x6EDD #CJK UNIFIED IDEOGRAPH -0x91EB 0x7027 #CJK UNIFIED IDEOGRAPH -0x91EC 0x5353 #CJK UNIFIED IDEOGRAPH -0x91ED 0x5544 #CJK UNIFIED IDEOGRAPH -0x91EE 0x5B85 #CJK UNIFIED IDEOGRAPH -0x91EF 0x6258 #CJK UNIFIED IDEOGRAPH -0x91F0 0x629E #CJK UNIFIED IDEOGRAPH -0x91F1 0x62D3 #CJK UNIFIED IDEOGRAPH -0x91F2 0x6CA2 #CJK UNIFIED IDEOGRAPH -0x91F3 0x6FEF #CJK UNIFIED IDEOGRAPH -0x91F4 0x7422 #CJK UNIFIED IDEOGRAPH -0x91F5 0x8A17 #CJK UNIFIED IDEOGRAPH -0x91F6 0x9438 #CJK UNIFIED IDEOGRAPH -0x91F7 0x6FC1 #CJK UNIFIED IDEOGRAPH -0x91F8 0x8AFE #CJK UNIFIED IDEOGRAPH -0x91F9 0x8338 #CJK UNIFIED IDEOGRAPH -0x91FA 0x51E7 #CJK UNIFIED IDEOGRAPH -0x91FB 0x86F8 #CJK UNIFIED IDEOGRAPH -0x91FC 0x53EA #CJK UNIFIED IDEOGRAPH -0x9240 0x53E9 #CJK UNIFIED IDEOGRAPH -0x9241 0x4F46 #CJK UNIFIED IDEOGRAPH -0x9242 0x9054 #CJK UNIFIED IDEOGRAPH -0x9243 0x8FB0 #CJK UNIFIED IDEOGRAPH -0x9244 0x596A #CJK UNIFIED IDEOGRAPH -0x9245 0x8131 #CJK UNIFIED IDEOGRAPH -0x9246 0x5DFD #CJK UNIFIED IDEOGRAPH -0x9247 0x7AEA #CJK UNIFIED IDEOGRAPH -0x9248 0x8FBF #CJK UNIFIED IDEOGRAPH -0x9249 0x68DA #CJK UNIFIED IDEOGRAPH -0x924A 0x8C37 #CJK UNIFIED IDEOGRAPH -0x924B 0x72F8 #CJK UNIFIED IDEOGRAPH -0x924C 0x9C48 #CJK UNIFIED IDEOGRAPH -0x924D 0x6A3D #CJK UNIFIED IDEOGRAPH -0x924E 0x8AB0 #CJK UNIFIED IDEOGRAPH -0x924F 0x4E39 #CJK UNIFIED IDEOGRAPH -0x9250 0x5358 #CJK UNIFIED IDEOGRAPH -0x9251 0x5606 #CJK UNIFIED IDEOGRAPH -0x9252 0x5766 #CJK UNIFIED IDEOGRAPH -0x9253 0x62C5 #CJK UNIFIED IDEOGRAPH -0x9254 0x63A2 #CJK UNIFIED IDEOGRAPH -0x9255 0x65E6 #CJK UNIFIED IDEOGRAPH -0x9256 0x6B4E #CJK UNIFIED IDEOGRAPH -0x9257 0x6DE1 #CJK UNIFIED IDEOGRAPH -0x9258 0x6E5B #CJK UNIFIED IDEOGRAPH -0x9259 0x70AD #CJK UNIFIED IDEOGRAPH -0x925A 0x77ED #CJK UNIFIED IDEOGRAPH -0x925B 0x7AEF #CJK UNIFIED IDEOGRAPH -0x925C 0x7BAA #CJK UNIFIED IDEOGRAPH -0x925D 0x7DBB #CJK UNIFIED IDEOGRAPH -0x925E 0x803D #CJK UNIFIED IDEOGRAPH -0x925F 0x80C6 #CJK UNIFIED IDEOGRAPH -0x9260 0x86CB #CJK UNIFIED IDEOGRAPH -0x9261 0x8A95 #CJK UNIFIED IDEOGRAPH -0x9262 0x935B #CJK UNIFIED IDEOGRAPH -0x9263 0x56E3 #CJK UNIFIED IDEOGRAPH -0x9264 0x58C7 #CJK UNIFIED IDEOGRAPH -0x9265 0x5F3E #CJK UNIFIED IDEOGRAPH -0x9266 0x65AD #CJK UNIFIED IDEOGRAPH -0x9267 0x6696 #CJK UNIFIED IDEOGRAPH -0x9268 0x6A80 #CJK UNIFIED IDEOGRAPH -0x9269 0x6BB5 #CJK UNIFIED IDEOGRAPH -0x926A 0x7537 #CJK UNIFIED IDEOGRAPH -0x926B 0x8AC7 #CJK UNIFIED IDEOGRAPH -0x926C 0x5024 #CJK UNIFIED IDEOGRAPH -0x926D 0x77E5 #CJK UNIFIED IDEOGRAPH -0x926E 0x5730 #CJK UNIFIED IDEOGRAPH -0x926F 0x5F1B #CJK UNIFIED IDEOGRAPH -0x9270 0x6065 #CJK UNIFIED IDEOGRAPH -0x9271 0x667A #CJK UNIFIED IDEOGRAPH -0x9272 0x6C60 #CJK UNIFIED IDEOGRAPH -0x9273 0x75F4 #CJK UNIFIED IDEOGRAPH -0x9274 0x7A1A #CJK UNIFIED IDEOGRAPH -0x9275 0x7F6E #CJK UNIFIED IDEOGRAPH -0x9276 0x81F4 #CJK UNIFIED IDEOGRAPH -0x9277 0x8718 #CJK UNIFIED IDEOGRAPH -0x9278 0x9045 #CJK UNIFIED IDEOGRAPH -0x9279 0x99B3 #CJK UNIFIED IDEOGRAPH -0x927A 0x7BC9 #CJK UNIFIED IDEOGRAPH -0x927B 0x755C #CJK UNIFIED IDEOGRAPH -0x927C 0x7AF9 #CJK UNIFIED IDEOGRAPH -0x927D 0x7B51 #CJK UNIFIED IDEOGRAPH -0x927E 0x84C4 #CJK UNIFIED IDEOGRAPH -0x9280 0x9010 #CJK UNIFIED IDEOGRAPH -0x9281 0x79E9 #CJK UNIFIED IDEOGRAPH -0x9282 0x7A92 #CJK UNIFIED IDEOGRAPH -0x9283 0x8336 #CJK UNIFIED IDEOGRAPH -0x9284 0x5AE1 #CJK UNIFIED IDEOGRAPH -0x9285 0x7740 #CJK UNIFIED IDEOGRAPH -0x9286 0x4E2D #CJK UNIFIED IDEOGRAPH -0x9287 0x4EF2 #CJK UNIFIED IDEOGRAPH -0x9288 0x5B99 #CJK UNIFIED IDEOGRAPH -0x9289 0x5FE0 #CJK UNIFIED IDEOGRAPH -0x928A 0x62BD #CJK UNIFIED IDEOGRAPH -0x928B 0x663C #CJK UNIFIED IDEOGRAPH -0x928C 0x67F1 #CJK UNIFIED IDEOGRAPH -0x928D 0x6CE8 #CJK UNIFIED IDEOGRAPH -0x928E 0x866B #CJK UNIFIED IDEOGRAPH -0x928F 0x8877 #CJK UNIFIED IDEOGRAPH -0x9290 0x8A3B #CJK UNIFIED IDEOGRAPH -0x9291 0x914E #CJK UNIFIED IDEOGRAPH -0x9292 0x92F3 #CJK UNIFIED IDEOGRAPH -0x9293 0x99D0 #CJK UNIFIED IDEOGRAPH -0x9294 0x6A17 #CJK UNIFIED IDEOGRAPH -0x9295 0x7026 #CJK UNIFIED IDEOGRAPH -0x9296 0x732A #CJK UNIFIED IDEOGRAPH -0x9297 0x82E7 #CJK UNIFIED IDEOGRAPH -0x9298 0x8457 #CJK UNIFIED IDEOGRAPH -0x9299 0x8CAF #CJK UNIFIED IDEOGRAPH -0x929A 0x4E01 #CJK UNIFIED IDEOGRAPH -0x929B 0x5146 #CJK UNIFIED IDEOGRAPH -0x929C 0x51CB #CJK UNIFIED IDEOGRAPH -0x929D 0x558B #CJK UNIFIED IDEOGRAPH -0x929E 0x5BF5 #CJK UNIFIED IDEOGRAPH -0x929F 0x5E16 #CJK UNIFIED IDEOGRAPH -0x92A0 0x5E33 #CJK UNIFIED IDEOGRAPH -0x92A1 0x5E81 #CJK UNIFIED IDEOGRAPH -0x92A2 0x5F14 #CJK UNIFIED IDEOGRAPH -0x92A3 0x5F35 #CJK UNIFIED IDEOGRAPH -0x92A4 0x5F6B #CJK UNIFIED IDEOGRAPH -0x92A5 0x5FB4 #CJK UNIFIED IDEOGRAPH -0x92A6 0x61F2 #CJK UNIFIED IDEOGRAPH -0x92A7 0x6311 #CJK UNIFIED IDEOGRAPH -0x92A8 0x66A2 #CJK UNIFIED IDEOGRAPH -0x92A9 0x671D #CJK UNIFIED IDEOGRAPH -0x92AA 0x6F6E #CJK UNIFIED IDEOGRAPH -0x92AB 0x7252 #CJK UNIFIED IDEOGRAPH -0x92AC 0x753A #CJK UNIFIED IDEOGRAPH -0x92AD 0x773A #CJK UNIFIED IDEOGRAPH -0x92AE 0x8074 #CJK UNIFIED IDEOGRAPH -0x92AF 0x8139 #CJK UNIFIED IDEOGRAPH -0x92B0 0x8178 #CJK UNIFIED IDEOGRAPH -0x92B1 0x8776 #CJK UNIFIED IDEOGRAPH -0x92B2 0x8ABF #CJK UNIFIED IDEOGRAPH -0x92B3 0x8ADC #CJK UNIFIED IDEOGRAPH -0x92B4 0x8D85 #CJK UNIFIED IDEOGRAPH -0x92B5 0x8DF3 #CJK UNIFIED IDEOGRAPH -0x92B6 0x929A #CJK UNIFIED IDEOGRAPH -0x92B7 0x9577 #CJK UNIFIED IDEOGRAPH -0x92B8 0x9802 #CJK UNIFIED IDEOGRAPH -0x92B9 0x9CE5 #CJK UNIFIED IDEOGRAPH -0x92BA 0x52C5 #CJK UNIFIED IDEOGRAPH -0x92BB 0x6357 #CJK UNIFIED IDEOGRAPH -0x92BC 0x76F4 #CJK UNIFIED IDEOGRAPH -0x92BD 0x6715 #CJK UNIFIED IDEOGRAPH -0x92BE 0x6C88 #CJK UNIFIED IDEOGRAPH -0x92BF 0x73CD #CJK UNIFIED IDEOGRAPH -0x92C0 0x8CC3 #CJK UNIFIED IDEOGRAPH -0x92C1 0x93AE #CJK UNIFIED IDEOGRAPH -0x92C2 0x9673 #CJK UNIFIED IDEOGRAPH -0x92C3 0x6D25 #CJK UNIFIED IDEOGRAPH -0x92C4 0x589C #CJK UNIFIED IDEOGRAPH -0x92C5 0x690E #CJK UNIFIED IDEOGRAPH -0x92C6 0x69CC #CJK UNIFIED IDEOGRAPH -0x92C7 0x8FFD #CJK UNIFIED IDEOGRAPH -0x92C8 0x939A #CJK UNIFIED IDEOGRAPH -0x92C9 0x75DB #CJK UNIFIED IDEOGRAPH -0x92CA 0x901A #CJK UNIFIED IDEOGRAPH -0x92CB 0x585A #CJK UNIFIED IDEOGRAPH -0x92CC 0x6802 #CJK UNIFIED IDEOGRAPH -0x92CD 0x63B4 #CJK UNIFIED IDEOGRAPH -0x92CE 0x69FB #CJK UNIFIED IDEOGRAPH -0x92CF 0x4F43 #CJK UNIFIED IDEOGRAPH -0x92D0 0x6F2C #CJK UNIFIED IDEOGRAPH -0x92D1 0x67D8 #CJK UNIFIED IDEOGRAPH -0x92D2 0x8FBB #CJK UNIFIED IDEOGRAPH -0x92D3 0x8526 #CJK UNIFIED IDEOGRAPH -0x92D4 0x7DB4 #CJK UNIFIED IDEOGRAPH -0x92D5 0x9354 #CJK UNIFIED IDEOGRAPH -0x92D6 0x693F #CJK UNIFIED IDEOGRAPH -0x92D7 0x6F70 #CJK UNIFIED IDEOGRAPH -0x92D8 0x576A #CJK UNIFIED IDEOGRAPH -0x92D9 0x58F7 #CJK UNIFIED IDEOGRAPH -0x92DA 0x5B2C #CJK UNIFIED IDEOGRAPH -0x92DB 0x7D2C #CJK UNIFIED IDEOGRAPH -0x92DC 0x722A #CJK UNIFIED IDEOGRAPH -0x92DD 0x540A #CJK UNIFIED IDEOGRAPH -0x92DE 0x91E3 #CJK UNIFIED IDEOGRAPH -0x92DF 0x9DB4 #CJK UNIFIED IDEOGRAPH -0x92E0 0x4EAD #CJK UNIFIED IDEOGRAPH -0x92E1 0x4F4E #CJK UNIFIED IDEOGRAPH -0x92E2 0x505C #CJK UNIFIED IDEOGRAPH -0x92E3 0x5075 #CJK UNIFIED IDEOGRAPH -0x92E4 0x5243 #CJK UNIFIED IDEOGRAPH -0x92E5 0x8C9E #CJK UNIFIED IDEOGRAPH -0x92E6 0x5448 #CJK UNIFIED IDEOGRAPH -0x92E7 0x5824 #CJK UNIFIED IDEOGRAPH -0x92E8 0x5B9A #CJK UNIFIED IDEOGRAPH -0x92E9 0x5E1D #CJK UNIFIED IDEOGRAPH -0x92EA 0x5E95 #CJK UNIFIED IDEOGRAPH -0x92EB 0x5EAD #CJK UNIFIED IDEOGRAPH -0x92EC 0x5EF7 #CJK UNIFIED IDEOGRAPH -0x92ED 0x5F1F #CJK UNIFIED IDEOGRAPH -0x92EE 0x608C #CJK UNIFIED IDEOGRAPH -0x92EF 0x62B5 #CJK UNIFIED IDEOGRAPH -0x92F0 0x633A #CJK UNIFIED IDEOGRAPH -0x92F1 0x63D0 #CJK UNIFIED IDEOGRAPH -0x92F2 0x68AF #CJK UNIFIED IDEOGRAPH -0x92F3 0x6C40 #CJK UNIFIED IDEOGRAPH -0x92F4 0x7887 #CJK UNIFIED IDEOGRAPH -0x92F5 0x798E #CJK UNIFIED IDEOGRAPH -0x92F6 0x7A0B #CJK UNIFIED IDEOGRAPH -0x92F7 0x7DE0 #CJK UNIFIED IDEOGRAPH -0x92F8 0x8247 #CJK UNIFIED IDEOGRAPH -0x92F9 0x8A02 #CJK UNIFIED IDEOGRAPH -0x92FA 0x8AE6 #CJK UNIFIED IDEOGRAPH -0x92FB 0x8E44 #CJK UNIFIED IDEOGRAPH -0x92FC 0x9013 #CJK UNIFIED IDEOGRAPH -0x9340 0x90B8 #CJK UNIFIED IDEOGRAPH -0x9341 0x912D #CJK UNIFIED IDEOGRAPH -0x9342 0x91D8 #CJK UNIFIED IDEOGRAPH -0x9343 0x9F0E #CJK UNIFIED IDEOGRAPH -0x9344 0x6CE5 #CJK UNIFIED IDEOGRAPH -0x9345 0x6458 #CJK UNIFIED IDEOGRAPH -0x9346 0x64E2 #CJK UNIFIED IDEOGRAPH -0x9347 0x6575 #CJK UNIFIED IDEOGRAPH -0x9348 0x6EF4 #CJK UNIFIED IDEOGRAPH -0x9349 0x7684 #CJK UNIFIED IDEOGRAPH -0x934A 0x7B1B #CJK UNIFIED IDEOGRAPH -0x934B 0x9069 #CJK UNIFIED IDEOGRAPH -0x934C 0x93D1 #CJK UNIFIED IDEOGRAPH -0x934D 0x6EBA #CJK UNIFIED IDEOGRAPH -0x934E 0x54F2 #CJK UNIFIED IDEOGRAPH -0x934F 0x5FB9 #CJK UNIFIED IDEOGRAPH -0x9350 0x64A4 #CJK UNIFIED IDEOGRAPH -0x9351 0x8F4D #CJK UNIFIED IDEOGRAPH -0x9352 0x8FED #CJK UNIFIED IDEOGRAPH -0x9353 0x9244 #CJK UNIFIED IDEOGRAPH -0x9354 0x5178 #CJK UNIFIED IDEOGRAPH -0x9355 0x586B #CJK UNIFIED IDEOGRAPH -0x9356 0x5929 #CJK UNIFIED IDEOGRAPH -0x9357 0x5C55 #CJK UNIFIED IDEOGRAPH -0x9358 0x5E97 #CJK UNIFIED IDEOGRAPH -0x9359 0x6DFB #CJK UNIFIED IDEOGRAPH -0x935A 0x7E8F #CJK UNIFIED IDEOGRAPH -0x935B 0x751C #CJK UNIFIED IDEOGRAPH -0x935C 0x8CBC #CJK UNIFIED IDEOGRAPH -0x935D 0x8EE2 #CJK UNIFIED IDEOGRAPH -0x935E 0x985B #CJK UNIFIED IDEOGRAPH -0x935F 0x70B9 #CJK UNIFIED IDEOGRAPH -0x9360 0x4F1D #CJK UNIFIED IDEOGRAPH -0x9361 0x6BBF #CJK UNIFIED IDEOGRAPH -0x9362 0x6FB1 #CJK UNIFIED IDEOGRAPH -0x9363 0x7530 #CJK UNIFIED IDEOGRAPH -0x9364 0x96FB #CJK UNIFIED IDEOGRAPH -0x9365 0x514E #CJK UNIFIED IDEOGRAPH -0x9366 0x5410 #CJK UNIFIED IDEOGRAPH -0x9367 0x5835 #CJK UNIFIED IDEOGRAPH -0x9368 0x5857 #CJK UNIFIED IDEOGRAPH -0x9369 0x59AC #CJK UNIFIED IDEOGRAPH -0x936A 0x5C60 #CJK UNIFIED IDEOGRAPH -0x936B 0x5F92 #CJK UNIFIED IDEOGRAPH -0x936C 0x6597 #CJK UNIFIED IDEOGRAPH -0x936D 0x675C #CJK UNIFIED IDEOGRAPH -0x936E 0x6E21 #CJK UNIFIED IDEOGRAPH -0x936F 0x767B #CJK UNIFIED IDEOGRAPH -0x9370 0x83DF #CJK UNIFIED IDEOGRAPH -0x9371 0x8CED #CJK UNIFIED IDEOGRAPH -0x9372 0x9014 #CJK UNIFIED IDEOGRAPH -0x9373 0x90FD #CJK UNIFIED IDEOGRAPH -0x9374 0x934D #CJK UNIFIED IDEOGRAPH -0x9375 0x7825 #CJK UNIFIED IDEOGRAPH -0x9376 0x783A #CJK UNIFIED IDEOGRAPH -0x9377 0x52AA #CJK UNIFIED IDEOGRAPH -0x9378 0x5EA6 #CJK UNIFIED IDEOGRAPH -0x9379 0x571F #CJK UNIFIED IDEOGRAPH -0x937A 0x5974 #CJK UNIFIED IDEOGRAPH -0x937B 0x6012 #CJK UNIFIED IDEOGRAPH -0x937C 0x5012 #CJK UNIFIED IDEOGRAPH -0x937D 0x515A #CJK UNIFIED IDEOGRAPH -0x937E 0x51AC #CJK UNIFIED IDEOGRAPH -0x9380 0x51CD #CJK UNIFIED IDEOGRAPH -0x9381 0x5200 #CJK UNIFIED IDEOGRAPH -0x9382 0x5510 #CJK UNIFIED IDEOGRAPH -0x9383 0x5854 #CJK UNIFIED IDEOGRAPH -0x9384 0x5858 #CJK UNIFIED IDEOGRAPH -0x9385 0x5957 #CJK UNIFIED IDEOGRAPH -0x9386 0x5B95 #CJK UNIFIED IDEOGRAPH -0x9387 0x5CF6 #CJK UNIFIED IDEOGRAPH -0x9388 0x5D8B #CJK UNIFIED IDEOGRAPH -0x9389 0x60BC #CJK UNIFIED IDEOGRAPH -0x938A 0x6295 #CJK UNIFIED IDEOGRAPH -0x938B 0x642D #CJK UNIFIED IDEOGRAPH -0x938C 0x6771 #CJK UNIFIED IDEOGRAPH -0x938D 0x6843 #CJK UNIFIED IDEOGRAPH -0x938E 0x68BC #CJK UNIFIED IDEOGRAPH -0x938F 0x68DF #CJK UNIFIED IDEOGRAPH -0x9390 0x76D7 #CJK UNIFIED IDEOGRAPH -0x9391 0x6DD8 #CJK UNIFIED IDEOGRAPH -0x9392 0x6E6F #CJK UNIFIED IDEOGRAPH -0x9393 0x6D9B #CJK UNIFIED IDEOGRAPH -0x9394 0x706F #CJK UNIFIED IDEOGRAPH -0x9395 0x71C8 #CJK UNIFIED IDEOGRAPH -0x9396 0x5F53 #CJK UNIFIED IDEOGRAPH -0x9397 0x75D8 #CJK UNIFIED IDEOGRAPH -0x9398 0x7977 #CJK UNIFIED IDEOGRAPH -0x9399 0x7B49 #CJK UNIFIED IDEOGRAPH -0x939A 0x7B54 #CJK UNIFIED IDEOGRAPH -0x939B 0x7B52 #CJK UNIFIED IDEOGRAPH -0x939C 0x7CD6 #CJK UNIFIED IDEOGRAPH -0x939D 0x7D71 #CJK UNIFIED IDEOGRAPH -0x939E 0x5230 #CJK UNIFIED IDEOGRAPH -0x939F 0x8463 #CJK UNIFIED IDEOGRAPH -0x93A0 0x8569 #CJK UNIFIED IDEOGRAPH -0x93A1 0x85E4 #CJK UNIFIED IDEOGRAPH -0x93A2 0x8A0E #CJK UNIFIED IDEOGRAPH -0x93A3 0x8B04 #CJK UNIFIED IDEOGRAPH -0x93A4 0x8C46 #CJK UNIFIED IDEOGRAPH -0x93A5 0x8E0F #CJK UNIFIED IDEOGRAPH -0x93A6 0x9003 #CJK UNIFIED IDEOGRAPH -0x93A7 0x900F #CJK UNIFIED IDEOGRAPH -0x93A8 0x9419 #CJK UNIFIED IDEOGRAPH -0x93A9 0x9676 #CJK UNIFIED IDEOGRAPH -0x93AA 0x982D #CJK UNIFIED IDEOGRAPH -0x93AB 0x9A30 #CJK UNIFIED IDEOGRAPH -0x93AC 0x95D8 #CJK UNIFIED IDEOGRAPH -0x93AD 0x50CD #CJK UNIFIED IDEOGRAPH -0x93AE 0x52D5 #CJK UNIFIED IDEOGRAPH -0x93AF 0x540C #CJK UNIFIED IDEOGRAPH -0x93B0 0x5802 #CJK UNIFIED IDEOGRAPH -0x93B1 0x5C0E #CJK UNIFIED IDEOGRAPH -0x93B2 0x61A7 #CJK UNIFIED IDEOGRAPH -0x93B3 0x649E #CJK UNIFIED IDEOGRAPH -0x93B4 0x6D1E #CJK UNIFIED IDEOGRAPH -0x93B5 0x77B3 #CJK UNIFIED IDEOGRAPH -0x93B6 0x7AE5 #CJK UNIFIED IDEOGRAPH -0x93B7 0x80F4 #CJK UNIFIED IDEOGRAPH -0x93B8 0x8404 #CJK UNIFIED IDEOGRAPH -0x93B9 0x9053 #CJK UNIFIED IDEOGRAPH -0x93BA 0x9285 #CJK UNIFIED IDEOGRAPH -0x93BB 0x5CE0 #CJK UNIFIED IDEOGRAPH -0x93BC 0x9D07 #CJK UNIFIED IDEOGRAPH -0x93BD 0x533F #CJK UNIFIED IDEOGRAPH -0x93BE 0x5F97 #CJK UNIFIED IDEOGRAPH -0x93BF 0x5FB3 #CJK UNIFIED IDEOGRAPH -0x93C0 0x6D9C #CJK UNIFIED IDEOGRAPH -0x93C1 0x7279 #CJK UNIFIED IDEOGRAPH -0x93C2 0x7763 #CJK UNIFIED IDEOGRAPH -0x93C3 0x79BF #CJK UNIFIED IDEOGRAPH -0x93C4 0x7BE4 #CJK UNIFIED IDEOGRAPH -0x93C5 0x6BD2 #CJK UNIFIED IDEOGRAPH -0x93C6 0x72EC #CJK UNIFIED IDEOGRAPH -0x93C7 0x8AAD #CJK UNIFIED IDEOGRAPH -0x93C8 0x6803 #CJK UNIFIED IDEOGRAPH -0x93C9 0x6A61 #CJK UNIFIED IDEOGRAPH -0x93CA 0x51F8 #CJK UNIFIED IDEOGRAPH -0x93CB 0x7A81 #CJK UNIFIED IDEOGRAPH -0x93CC 0x6934 #CJK UNIFIED IDEOGRAPH -0x93CD 0x5C4A #CJK UNIFIED IDEOGRAPH -0x93CE 0x9CF6 #CJK UNIFIED IDEOGRAPH -0x93CF 0x82EB #CJK UNIFIED IDEOGRAPH -0x93D0 0x5BC5 #CJK UNIFIED IDEOGRAPH -0x93D1 0x9149 #CJK UNIFIED IDEOGRAPH -0x93D2 0x701E #CJK UNIFIED IDEOGRAPH -0x93D3 0x5678 #CJK UNIFIED IDEOGRAPH -0x93D4 0x5C6F #CJK UNIFIED IDEOGRAPH -0x93D5 0x60C7 #CJK UNIFIED IDEOGRAPH -0x93D6 0x6566 #CJK UNIFIED IDEOGRAPH -0x93D7 0x6C8C #CJK UNIFIED IDEOGRAPH -0x93D8 0x8C5A #CJK UNIFIED IDEOGRAPH -0x93D9 0x9041 #CJK UNIFIED IDEOGRAPH -0x93DA 0x9813 #CJK UNIFIED IDEOGRAPH -0x93DB 0x5451 #CJK UNIFIED IDEOGRAPH -0x93DC 0x66C7 #CJK UNIFIED IDEOGRAPH -0x93DD 0x920D #CJK UNIFIED IDEOGRAPH -0x93DE 0x5948 #CJK UNIFIED IDEOGRAPH -0x93DF 0x90A3 #CJK UNIFIED IDEOGRAPH -0x93E0 0x5185 #CJK UNIFIED IDEOGRAPH -0x93E1 0x4E4D #CJK UNIFIED IDEOGRAPH -0x93E2 0x51EA #CJK UNIFIED IDEOGRAPH -0x93E3 0x8599 #CJK UNIFIED IDEOGRAPH -0x93E4 0x8B0E #CJK UNIFIED IDEOGRAPH -0x93E5 0x7058 #CJK UNIFIED IDEOGRAPH -0x93E6 0x637A #CJK UNIFIED IDEOGRAPH -0x93E7 0x934B #CJK UNIFIED IDEOGRAPH -0x93E8 0x6962 #CJK UNIFIED IDEOGRAPH -0x93E9 0x99B4 #CJK UNIFIED IDEOGRAPH -0x93EA 0x7E04 #CJK UNIFIED IDEOGRAPH -0x93EB 0x7577 #CJK UNIFIED IDEOGRAPH -0x93EC 0x5357 #CJK UNIFIED IDEOGRAPH -0x93ED 0x6960 #CJK UNIFIED IDEOGRAPH -0x93EE 0x8EDF #CJK UNIFIED IDEOGRAPH -0x93EF 0x96E3 #CJK UNIFIED IDEOGRAPH -0x93F0 0x6C5D #CJK UNIFIED IDEOGRAPH -0x93F1 0x4E8C #CJK UNIFIED IDEOGRAPH -0x93F2 0x5C3C #CJK UNIFIED IDEOGRAPH -0x93F3 0x5F10 #CJK UNIFIED IDEOGRAPH -0x93F4 0x8FE9 #CJK UNIFIED IDEOGRAPH -0x93F5 0x5302 #CJK UNIFIED IDEOGRAPH -0x93F6 0x8CD1 #CJK UNIFIED IDEOGRAPH -0x93F7 0x8089 #CJK UNIFIED IDEOGRAPH -0x93F8 0x8679 #CJK UNIFIED IDEOGRAPH -0x93F9 0x5EFF #CJK UNIFIED IDEOGRAPH -0x93FA 0x65E5 #CJK UNIFIED IDEOGRAPH -0x93FB 0x4E73 #CJK UNIFIED IDEOGRAPH -0x93FC 0x5165 #CJK UNIFIED IDEOGRAPH -0x9440 0x5982 #CJK UNIFIED IDEOGRAPH -0x9441 0x5C3F #CJK UNIFIED IDEOGRAPH -0x9442 0x97EE #CJK UNIFIED IDEOGRAPH -0x9443 0x4EFB #CJK UNIFIED IDEOGRAPH -0x9444 0x598A #CJK UNIFIED IDEOGRAPH -0x9445 0x5FCD #CJK UNIFIED IDEOGRAPH -0x9446 0x8A8D #CJK UNIFIED IDEOGRAPH -0x9447 0x6FE1 #CJK UNIFIED IDEOGRAPH -0x9448 0x79B0 #CJK UNIFIED IDEOGRAPH -0x9449 0x7962 #CJK UNIFIED IDEOGRAPH -0x944A 0x5BE7 #CJK UNIFIED IDEOGRAPH -0x944B 0x8471 #CJK UNIFIED IDEOGRAPH -0x944C 0x732B #CJK UNIFIED IDEOGRAPH -0x944D 0x71B1 #CJK UNIFIED IDEOGRAPH -0x944E 0x5E74 #CJK UNIFIED IDEOGRAPH -0x944F 0x5FF5 #CJK UNIFIED IDEOGRAPH -0x9450 0x637B #CJK UNIFIED IDEOGRAPH -0x9451 0x649A #CJK UNIFIED IDEOGRAPH -0x9452 0x71C3 #CJK UNIFIED IDEOGRAPH -0x9453 0x7C98 #CJK UNIFIED IDEOGRAPH -0x9454 0x4E43 #CJK UNIFIED IDEOGRAPH -0x9455 0x5EFC #CJK UNIFIED IDEOGRAPH -0x9456 0x4E4B #CJK UNIFIED IDEOGRAPH -0x9457 0x57DC #CJK UNIFIED IDEOGRAPH -0x9458 0x56A2 #CJK UNIFIED IDEOGRAPH -0x9459 0x60A9 #CJK UNIFIED IDEOGRAPH -0x945A 0x6FC3 #CJK UNIFIED IDEOGRAPH -0x945B 0x7D0D #CJK UNIFIED IDEOGRAPH -0x945C 0x80FD #CJK UNIFIED IDEOGRAPH -0x945D 0x8133 #CJK UNIFIED IDEOGRAPH -0x945E 0x81BF #CJK UNIFIED IDEOGRAPH -0x945F 0x8FB2 #CJK UNIFIED IDEOGRAPH -0x9460 0x8997 #CJK UNIFIED IDEOGRAPH -0x9461 0x86A4 #CJK UNIFIED IDEOGRAPH -0x9462 0x5DF4 #CJK UNIFIED IDEOGRAPH -0x9463 0x628A #CJK UNIFIED IDEOGRAPH -0x9464 0x64AD #CJK UNIFIED IDEOGRAPH -0x9465 0x8987 #CJK UNIFIED IDEOGRAPH -0x9466 0x6777 #CJK UNIFIED IDEOGRAPH -0x9467 0x6CE2 #CJK UNIFIED IDEOGRAPH -0x9468 0x6D3E #CJK UNIFIED IDEOGRAPH -0x9469 0x7436 #CJK UNIFIED IDEOGRAPH -0x946A 0x7834 #CJK UNIFIED IDEOGRAPH -0x946B 0x5A46 #CJK UNIFIED IDEOGRAPH -0x946C 0x7F75 #CJK UNIFIED IDEOGRAPH -0x946D 0x82AD #CJK UNIFIED IDEOGRAPH -0x946E 0x99AC #CJK UNIFIED IDEOGRAPH -0x946F 0x4FF3 #CJK UNIFIED IDEOGRAPH -0x9470 0x5EC3 #CJK UNIFIED IDEOGRAPH -0x9471 0x62DD #CJK UNIFIED IDEOGRAPH -0x9472 0x6392 #CJK UNIFIED IDEOGRAPH -0x9473 0x6557 #CJK UNIFIED IDEOGRAPH -0x9474 0x676F #CJK UNIFIED IDEOGRAPH -0x9475 0x76C3 #CJK UNIFIED IDEOGRAPH -0x9476 0x724C #CJK UNIFIED IDEOGRAPH -0x9477 0x80CC #CJK UNIFIED IDEOGRAPH -0x9478 0x80BA #CJK UNIFIED IDEOGRAPH -0x9479 0x8F29 #CJK UNIFIED IDEOGRAPH -0x947A 0x914D #CJK UNIFIED IDEOGRAPH -0x947B 0x500D #CJK UNIFIED IDEOGRAPH -0x947C 0x57F9 #CJK UNIFIED IDEOGRAPH -0x947D 0x5A92 #CJK UNIFIED IDEOGRAPH -0x947E 0x6885 #CJK UNIFIED IDEOGRAPH -0x9480 0x6973 #CJK UNIFIED IDEOGRAPH -0x9481 0x7164 #CJK UNIFIED IDEOGRAPH -0x9482 0x72FD #CJK UNIFIED IDEOGRAPH -0x9483 0x8CB7 #CJK UNIFIED IDEOGRAPH -0x9484 0x58F2 #CJK UNIFIED IDEOGRAPH -0x9485 0x8CE0 #CJK UNIFIED IDEOGRAPH -0x9486 0x966A #CJK UNIFIED IDEOGRAPH -0x9487 0x9019 #CJK UNIFIED IDEOGRAPH -0x9488 0x877F #CJK UNIFIED IDEOGRAPH -0x9489 0x79E4 #CJK UNIFIED IDEOGRAPH -0x948A 0x77E7 #CJK UNIFIED IDEOGRAPH -0x948B 0x8429 #CJK UNIFIED IDEOGRAPH -0x948C 0x4F2F #CJK UNIFIED IDEOGRAPH -0x948D 0x5265 #CJK UNIFIED IDEOGRAPH -0x948E 0x535A #CJK UNIFIED IDEOGRAPH -0x948F 0x62CD #CJK UNIFIED IDEOGRAPH -0x9490 0x67CF #CJK UNIFIED IDEOGRAPH -0x9491 0x6CCA #CJK UNIFIED IDEOGRAPH -0x9492 0x767D #CJK UNIFIED IDEOGRAPH -0x9493 0x7B94 #CJK UNIFIED IDEOGRAPH -0x9494 0x7C95 #CJK UNIFIED IDEOGRAPH -0x9495 0x8236 #CJK UNIFIED IDEOGRAPH -0x9496 0x8584 #CJK UNIFIED IDEOGRAPH -0x9497 0x8FEB #CJK UNIFIED IDEOGRAPH -0x9498 0x66DD #CJK UNIFIED IDEOGRAPH -0x9499 0x6F20 #CJK UNIFIED IDEOGRAPH -0x949A 0x7206 #CJK UNIFIED IDEOGRAPH -0x949B 0x7E1B #CJK UNIFIED IDEOGRAPH -0x949C 0x83AB #CJK UNIFIED IDEOGRAPH -0x949D 0x99C1 #CJK UNIFIED IDEOGRAPH -0x949E 0x9EA6 #CJK UNIFIED IDEOGRAPH -0x949F 0x51FD #CJK UNIFIED IDEOGRAPH -0x94A0 0x7BB1 #CJK UNIFIED IDEOGRAPH -0x94A1 0x7872 #CJK UNIFIED IDEOGRAPH -0x94A2 0x7BB8 #CJK UNIFIED IDEOGRAPH -0x94A3 0x8087 #CJK UNIFIED IDEOGRAPH -0x94A4 0x7B48 #CJK UNIFIED IDEOGRAPH -0x94A5 0x6AE8 #CJK UNIFIED IDEOGRAPH -0x94A6 0x5E61 #CJK UNIFIED IDEOGRAPH -0x94A7 0x808C #CJK UNIFIED IDEOGRAPH -0x94A8 0x7551 #CJK UNIFIED IDEOGRAPH -0x94A9 0x7560 #CJK UNIFIED IDEOGRAPH -0x94AA 0x516B #CJK UNIFIED IDEOGRAPH -0x94AB 0x9262 #CJK UNIFIED IDEOGRAPH -0x94AC 0x6E8C #CJK UNIFIED IDEOGRAPH -0x94AD 0x767A #CJK UNIFIED IDEOGRAPH -0x94AE 0x9197 #CJK UNIFIED IDEOGRAPH -0x94AF 0x9AEA #CJK UNIFIED IDEOGRAPH -0x94B0 0x4F10 #CJK UNIFIED IDEOGRAPH -0x94B1 0x7F70 #CJK UNIFIED IDEOGRAPH -0x94B2 0x629C #CJK UNIFIED IDEOGRAPH -0x94B3 0x7B4F #CJK UNIFIED IDEOGRAPH -0x94B4 0x95A5 #CJK UNIFIED IDEOGRAPH -0x94B5 0x9CE9 #CJK UNIFIED IDEOGRAPH -0x94B6 0x567A #CJK UNIFIED IDEOGRAPH -0x94B7 0x5859 #CJK UNIFIED IDEOGRAPH -0x94B8 0x86E4 #CJK UNIFIED IDEOGRAPH -0x94B9 0x96BC #CJK UNIFIED IDEOGRAPH -0x94BA 0x4F34 #CJK UNIFIED IDEOGRAPH -0x94BB 0x5224 #CJK UNIFIED IDEOGRAPH -0x94BC 0x534A #CJK UNIFIED IDEOGRAPH -0x94BD 0x53CD #CJK UNIFIED IDEOGRAPH -0x94BE 0x53DB #CJK UNIFIED IDEOGRAPH -0x94BF 0x5E06 #CJK UNIFIED IDEOGRAPH -0x94C0 0x642C #CJK UNIFIED IDEOGRAPH -0x94C1 0x6591 #CJK UNIFIED IDEOGRAPH -0x94C2 0x677F #CJK UNIFIED IDEOGRAPH -0x94C3 0x6C3E #CJK UNIFIED IDEOGRAPH -0x94C4 0x6C4E #CJK UNIFIED IDEOGRAPH -0x94C5 0x7248 #CJK UNIFIED IDEOGRAPH -0x94C6 0x72AF #CJK UNIFIED IDEOGRAPH -0x94C7 0x73ED #CJK UNIFIED IDEOGRAPH -0x94C8 0x7554 #CJK UNIFIED IDEOGRAPH -0x94C9 0x7E41 #CJK UNIFIED IDEOGRAPH -0x94CA 0x822C #CJK UNIFIED IDEOGRAPH -0x94CB 0x85E9 #CJK UNIFIED IDEOGRAPH -0x94CC 0x8CA9 #CJK UNIFIED IDEOGRAPH -0x94CD 0x7BC4 #CJK UNIFIED IDEOGRAPH -0x94CE 0x91C6 #CJK UNIFIED IDEOGRAPH -0x94CF 0x7169 #CJK UNIFIED IDEOGRAPH -0x94D0 0x9812 #CJK UNIFIED IDEOGRAPH -0x94D1 0x98EF #CJK UNIFIED IDEOGRAPH -0x94D2 0x633D #CJK UNIFIED IDEOGRAPH -0x94D3 0x6669 #CJK UNIFIED IDEOGRAPH -0x94D4 0x756A #CJK UNIFIED IDEOGRAPH -0x94D5 0x76E4 #CJK UNIFIED IDEOGRAPH -0x94D6 0x78D0 #CJK UNIFIED IDEOGRAPH -0x94D7 0x8543 #CJK UNIFIED IDEOGRAPH -0x94D8 0x86EE #CJK UNIFIED IDEOGRAPH -0x94D9 0x532A #CJK UNIFIED IDEOGRAPH -0x94DA 0x5351 #CJK UNIFIED IDEOGRAPH -0x94DB 0x5426 #CJK UNIFIED IDEOGRAPH -0x94DC 0x5983 #CJK UNIFIED IDEOGRAPH -0x94DD 0x5E87 #CJK UNIFIED IDEOGRAPH -0x94DE 0x5F7C #CJK UNIFIED IDEOGRAPH -0x94DF 0x60B2 #CJK UNIFIED IDEOGRAPH -0x94E0 0x6249 #CJK UNIFIED IDEOGRAPH -0x94E1 0x6279 #CJK UNIFIED IDEOGRAPH -0x94E2 0x62AB #CJK UNIFIED IDEOGRAPH -0x94E3 0x6590 #CJK UNIFIED IDEOGRAPH -0x94E4 0x6BD4 #CJK UNIFIED IDEOGRAPH -0x94E5 0x6CCC #CJK UNIFIED IDEOGRAPH -0x94E6 0x75B2 #CJK UNIFIED IDEOGRAPH -0x94E7 0x76AE #CJK UNIFIED IDEOGRAPH -0x94E8 0x7891 #CJK UNIFIED IDEOGRAPH -0x94E9 0x79D8 #CJK UNIFIED IDEOGRAPH -0x94EA 0x7DCB #CJK UNIFIED IDEOGRAPH -0x94EB 0x7F77 #CJK UNIFIED IDEOGRAPH -0x94EC 0x80A5 #CJK UNIFIED IDEOGRAPH -0x94ED 0x88AB #CJK UNIFIED IDEOGRAPH -0x94EE 0x8AB9 #CJK UNIFIED IDEOGRAPH -0x94EF 0x8CBB #CJK UNIFIED IDEOGRAPH -0x94F0 0x907F #CJK UNIFIED IDEOGRAPH -0x94F1 0x975E #CJK UNIFIED IDEOGRAPH -0x94F2 0x98DB #CJK UNIFIED IDEOGRAPH -0x94F3 0x6A0B #CJK UNIFIED IDEOGRAPH -0x94F4 0x7C38 #CJK UNIFIED IDEOGRAPH -0x94F5 0x5099 #CJK UNIFIED IDEOGRAPH -0x94F6 0x5C3E #CJK UNIFIED IDEOGRAPH -0x94F7 0x5FAE #CJK UNIFIED IDEOGRAPH -0x94F8 0x6787 #CJK UNIFIED IDEOGRAPH -0x94F9 0x6BD8 #CJK UNIFIED IDEOGRAPH -0x94FA 0x7435 #CJK UNIFIED IDEOGRAPH -0x94FB 0x7709 #CJK UNIFIED IDEOGRAPH -0x94FC 0x7F8E #CJK UNIFIED IDEOGRAPH -0x9540 0x9F3B #CJK UNIFIED IDEOGRAPH -0x9541 0x67CA #CJK UNIFIED IDEOGRAPH -0x9542 0x7A17 #CJK UNIFIED IDEOGRAPH -0x9543 0x5339 #CJK UNIFIED IDEOGRAPH -0x9544 0x758B #CJK UNIFIED IDEOGRAPH -0x9545 0x9AED #CJK UNIFIED IDEOGRAPH -0x9546 0x5F66 #CJK UNIFIED IDEOGRAPH -0x9547 0x819D #CJK UNIFIED IDEOGRAPH -0x9548 0x83F1 #CJK UNIFIED IDEOGRAPH -0x9549 0x8098 #CJK UNIFIED IDEOGRAPH -0x954A 0x5F3C #CJK UNIFIED IDEOGRAPH -0x954B 0x5FC5 #CJK UNIFIED IDEOGRAPH -0x954C 0x7562 #CJK UNIFIED IDEOGRAPH -0x954D 0x7B46 #CJK UNIFIED IDEOGRAPH -0x954E 0x903C #CJK UNIFIED IDEOGRAPH -0x954F 0x6867 #CJK UNIFIED IDEOGRAPH -0x9550 0x59EB #CJK UNIFIED IDEOGRAPH -0x9551 0x5A9B #CJK UNIFIED IDEOGRAPH -0x9552 0x7D10 #CJK UNIFIED IDEOGRAPH -0x9553 0x767E #CJK UNIFIED IDEOGRAPH -0x9554 0x8B2C #CJK UNIFIED IDEOGRAPH -0x9555 0x4FF5 #CJK UNIFIED IDEOGRAPH -0x9556 0x5F6A #CJK UNIFIED IDEOGRAPH -0x9557 0x6A19 #CJK UNIFIED IDEOGRAPH -0x9558 0x6C37 #CJK UNIFIED IDEOGRAPH -0x9559 0x6F02 #CJK UNIFIED IDEOGRAPH -0x955A 0x74E2 #CJK UNIFIED IDEOGRAPH -0x955B 0x7968 #CJK UNIFIED IDEOGRAPH -0x955C 0x8868 #CJK UNIFIED IDEOGRAPH -0x955D 0x8A55 #CJK UNIFIED IDEOGRAPH -0x955E 0x8C79 #CJK UNIFIED IDEOGRAPH -0x955F 0x5EDF #CJK UNIFIED IDEOGRAPH -0x9560 0x63CF #CJK UNIFIED IDEOGRAPH -0x9561 0x75C5 #CJK UNIFIED IDEOGRAPH -0x9562 0x79D2 #CJK UNIFIED IDEOGRAPH -0x9563 0x82D7 #CJK UNIFIED IDEOGRAPH -0x9564 0x9328 #CJK UNIFIED IDEOGRAPH -0x9565 0x92F2 #CJK UNIFIED IDEOGRAPH -0x9566 0x849C #CJK UNIFIED IDEOGRAPH -0x9567 0x86ED #CJK UNIFIED IDEOGRAPH -0x9568 0x9C2D #CJK UNIFIED IDEOGRAPH -0x9569 0x54C1 #CJK UNIFIED IDEOGRAPH -0x956A 0x5F6C #CJK UNIFIED IDEOGRAPH -0x956B 0x658C #CJK UNIFIED IDEOGRAPH -0x956C 0x6D5C #CJK UNIFIED IDEOGRAPH -0x956D 0x7015 #CJK UNIFIED IDEOGRAPH -0x956E 0x8CA7 #CJK UNIFIED IDEOGRAPH -0x956F 0x8CD3 #CJK UNIFIED IDEOGRAPH -0x9570 0x983B #CJK UNIFIED IDEOGRAPH -0x9571 0x654F #CJK UNIFIED IDEOGRAPH -0x9572 0x74F6 #CJK UNIFIED IDEOGRAPH -0x9573 0x4E0D #CJK UNIFIED IDEOGRAPH -0x9574 0x4ED8 #CJK UNIFIED IDEOGRAPH -0x9575 0x57E0 #CJK UNIFIED IDEOGRAPH -0x9576 0x592B #CJK UNIFIED IDEOGRAPH -0x9577 0x5A66 #CJK UNIFIED IDEOGRAPH -0x9578 0x5BCC #CJK UNIFIED IDEOGRAPH -0x9579 0x51A8 #CJK UNIFIED IDEOGRAPH -0x957A 0x5E03 #CJK UNIFIED IDEOGRAPH -0x957B 0x5E9C #CJK UNIFIED IDEOGRAPH -0x957C 0x6016 #CJK UNIFIED IDEOGRAPH -0x957D 0x6276 #CJK UNIFIED IDEOGRAPH -0x957E 0x6577 #CJK UNIFIED IDEOGRAPH -0x9580 0x65A7 #CJK UNIFIED IDEOGRAPH -0x9581 0x666E #CJK UNIFIED IDEOGRAPH -0x9582 0x6D6E #CJK UNIFIED IDEOGRAPH -0x9583 0x7236 #CJK UNIFIED IDEOGRAPH -0x9584 0x7B26 #CJK UNIFIED IDEOGRAPH -0x9585 0x8150 #CJK UNIFIED IDEOGRAPH -0x9586 0x819A #CJK UNIFIED IDEOGRAPH -0x9587 0x8299 #CJK UNIFIED IDEOGRAPH -0x9588 0x8B5C #CJK UNIFIED IDEOGRAPH -0x9589 0x8CA0 #CJK UNIFIED IDEOGRAPH -0x958A 0x8CE6 #CJK UNIFIED IDEOGRAPH -0x958B 0x8D74 #CJK UNIFIED IDEOGRAPH -0x958C 0x961C #CJK UNIFIED IDEOGRAPH -0x958D 0x9644 #CJK UNIFIED IDEOGRAPH -0x958E 0x4FAE #CJK UNIFIED IDEOGRAPH -0x958F 0x64AB #CJK UNIFIED IDEOGRAPH -0x9590 0x6B66 #CJK UNIFIED IDEOGRAPH -0x9591 0x821E #CJK UNIFIED IDEOGRAPH -0x9592 0x8461 #CJK UNIFIED IDEOGRAPH -0x9593 0x856A #CJK UNIFIED IDEOGRAPH -0x9594 0x90E8 #CJK UNIFIED IDEOGRAPH -0x9595 0x5C01 #CJK UNIFIED IDEOGRAPH -0x9596 0x6953 #CJK UNIFIED IDEOGRAPH -0x9597 0x98A8 #CJK UNIFIED IDEOGRAPH -0x9598 0x847A #CJK UNIFIED IDEOGRAPH -0x9599 0x8557 #CJK UNIFIED IDEOGRAPH -0x959A 0x4F0F #CJK UNIFIED IDEOGRAPH -0x959B 0x526F #CJK UNIFIED IDEOGRAPH -0x959C 0x5FA9 #CJK UNIFIED IDEOGRAPH -0x959D 0x5E45 #CJK UNIFIED IDEOGRAPH -0x959E 0x670D #CJK UNIFIED IDEOGRAPH -0x959F 0x798F #CJK UNIFIED IDEOGRAPH -0x95A0 0x8179 #CJK UNIFIED IDEOGRAPH -0x95A1 0x8907 #CJK UNIFIED IDEOGRAPH -0x95A2 0x8986 #CJK UNIFIED IDEOGRAPH -0x95A3 0x6DF5 #CJK UNIFIED IDEOGRAPH -0x95A4 0x5F17 #CJK UNIFIED IDEOGRAPH -0x95A5 0x6255 #CJK UNIFIED IDEOGRAPH -0x95A6 0x6CB8 #CJK UNIFIED IDEOGRAPH -0x95A7 0x4ECF #CJK UNIFIED IDEOGRAPH -0x95A8 0x7269 #CJK UNIFIED IDEOGRAPH -0x95A9 0x9B92 #CJK UNIFIED IDEOGRAPH -0x95AA 0x5206 #CJK UNIFIED IDEOGRAPH -0x95AB 0x543B #CJK UNIFIED IDEOGRAPH -0x95AC 0x5674 #CJK UNIFIED IDEOGRAPH -0x95AD 0x58B3 #CJK UNIFIED IDEOGRAPH -0x95AE 0x61A4 #CJK UNIFIED IDEOGRAPH -0x95AF 0x626E #CJK UNIFIED IDEOGRAPH -0x95B0 0x711A #CJK UNIFIED IDEOGRAPH -0x95B1 0x596E #CJK UNIFIED IDEOGRAPH -0x95B2 0x7C89 #CJK UNIFIED IDEOGRAPH -0x95B3 0x7CDE #CJK UNIFIED IDEOGRAPH -0x95B4 0x7D1B #CJK UNIFIED IDEOGRAPH -0x95B5 0x96F0 #CJK UNIFIED IDEOGRAPH -0x95B6 0x6587 #CJK UNIFIED IDEOGRAPH -0x95B7 0x805E #CJK UNIFIED IDEOGRAPH -0x95B8 0x4E19 #CJK UNIFIED IDEOGRAPH -0x95B9 0x4F75 #CJK UNIFIED IDEOGRAPH -0x95BA 0x5175 #CJK UNIFIED IDEOGRAPH -0x95BB 0x5840 #CJK UNIFIED IDEOGRAPH -0x95BC 0x5E63 #CJK UNIFIED IDEOGRAPH -0x95BD 0x5E73 #CJK UNIFIED IDEOGRAPH -0x95BE 0x5F0A #CJK UNIFIED IDEOGRAPH -0x95BF 0x67C4 #CJK UNIFIED IDEOGRAPH -0x95C0 0x4E26 #CJK UNIFIED IDEOGRAPH -0x95C1 0x853D #CJK UNIFIED IDEOGRAPH -0x95C2 0x9589 #CJK UNIFIED IDEOGRAPH -0x95C3 0x965B #CJK UNIFIED IDEOGRAPH -0x95C4 0x7C73 #CJK UNIFIED IDEOGRAPH -0x95C5 0x9801 #CJK UNIFIED IDEOGRAPH -0x95C6 0x50FB #CJK UNIFIED IDEOGRAPH -0x95C7 0x58C1 #CJK UNIFIED IDEOGRAPH -0x95C8 0x7656 #CJK UNIFIED IDEOGRAPH -0x95C9 0x78A7 #CJK UNIFIED IDEOGRAPH -0x95CA 0x5225 #CJK UNIFIED IDEOGRAPH -0x95CB 0x77A5 #CJK UNIFIED IDEOGRAPH -0x95CC 0x8511 #CJK UNIFIED IDEOGRAPH -0x95CD 0x7B86 #CJK UNIFIED IDEOGRAPH -0x95CE 0x504F #CJK UNIFIED IDEOGRAPH -0x95CF 0x5909 #CJK UNIFIED IDEOGRAPH -0x95D0 0x7247 #CJK UNIFIED IDEOGRAPH -0x95D1 0x7BC7 #CJK UNIFIED IDEOGRAPH -0x95D2 0x7DE8 #CJK UNIFIED IDEOGRAPH -0x95D3 0x8FBA #CJK UNIFIED IDEOGRAPH -0x95D4 0x8FD4 #CJK UNIFIED IDEOGRAPH -0x95D5 0x904D #CJK UNIFIED IDEOGRAPH -0x95D6 0x4FBF #CJK UNIFIED IDEOGRAPH -0x95D7 0x52C9 #CJK UNIFIED IDEOGRAPH -0x95D8 0x5A29 #CJK UNIFIED IDEOGRAPH -0x95D9 0x5F01 #CJK UNIFIED IDEOGRAPH -0x95DA 0x97AD #CJK UNIFIED IDEOGRAPH -0x95DB 0x4FDD #CJK UNIFIED IDEOGRAPH -0x95DC 0x8217 #CJK UNIFIED IDEOGRAPH -0x95DD 0x92EA #CJK UNIFIED IDEOGRAPH -0x95DE 0x5703 #CJK UNIFIED IDEOGRAPH -0x95DF 0x6355 #CJK UNIFIED IDEOGRAPH -0x95E0 0x6B69 #CJK UNIFIED IDEOGRAPH -0x95E1 0x752B #CJK UNIFIED IDEOGRAPH -0x95E2 0x88DC #CJK UNIFIED IDEOGRAPH -0x95E3 0x8F14 #CJK UNIFIED IDEOGRAPH -0x95E4 0x7A42 #CJK UNIFIED IDEOGRAPH -0x95E5 0x52DF #CJK UNIFIED IDEOGRAPH -0x95E6 0x5893 #CJK UNIFIED IDEOGRAPH -0x95E7 0x6155 #CJK UNIFIED IDEOGRAPH -0x95E8 0x620A #CJK UNIFIED IDEOGRAPH -0x95E9 0x66AE #CJK UNIFIED IDEOGRAPH -0x95EA 0x6BCD #CJK UNIFIED IDEOGRAPH -0x95EB 0x7C3F #CJK UNIFIED IDEOGRAPH -0x95EC 0x83E9 #CJK UNIFIED IDEOGRAPH -0x95ED 0x5023 #CJK UNIFIED IDEOGRAPH -0x95EE 0x4FF8 #CJK UNIFIED IDEOGRAPH -0x95EF 0x5305 #CJK UNIFIED IDEOGRAPH -0x95F0 0x5446 #CJK UNIFIED IDEOGRAPH -0x95F1 0x5831 #CJK UNIFIED IDEOGRAPH -0x95F2 0x5949 #CJK UNIFIED IDEOGRAPH -0x95F3 0x5B9D #CJK UNIFIED IDEOGRAPH -0x95F4 0x5CF0 #CJK UNIFIED IDEOGRAPH -0x95F5 0x5CEF #CJK UNIFIED IDEOGRAPH -0x95F6 0x5D29 #CJK UNIFIED IDEOGRAPH -0x95F7 0x5E96 #CJK UNIFIED IDEOGRAPH -0x95F8 0x62B1 #CJK UNIFIED IDEOGRAPH -0x95F9 0x6367 #CJK UNIFIED IDEOGRAPH -0x95FA 0x653E #CJK UNIFIED IDEOGRAPH -0x95FB 0x65B9 #CJK UNIFIED IDEOGRAPH -0x95FC 0x670B #CJK UNIFIED IDEOGRAPH -0x9640 0x6CD5 #CJK UNIFIED IDEOGRAPH -0x9641 0x6CE1 #CJK UNIFIED IDEOGRAPH -0x9642 0x70F9 #CJK UNIFIED IDEOGRAPH -0x9643 0x7832 #CJK UNIFIED IDEOGRAPH -0x9644 0x7E2B #CJK UNIFIED IDEOGRAPH -0x9645 0x80DE #CJK UNIFIED IDEOGRAPH -0x9646 0x82B3 #CJK UNIFIED IDEOGRAPH -0x9647 0x840C #CJK UNIFIED IDEOGRAPH -0x9648 0x84EC #CJK UNIFIED IDEOGRAPH -0x9649 0x8702 #CJK UNIFIED IDEOGRAPH -0x964A 0x8912 #CJK UNIFIED IDEOGRAPH -0x964B 0x8A2A #CJK UNIFIED IDEOGRAPH -0x964C 0x8C4A #CJK UNIFIED IDEOGRAPH -0x964D 0x90A6 #CJK UNIFIED IDEOGRAPH -0x964E 0x92D2 #CJK UNIFIED IDEOGRAPH -0x964F 0x98FD #CJK UNIFIED IDEOGRAPH -0x9650 0x9CF3 #CJK UNIFIED IDEOGRAPH -0x9651 0x9D6C #CJK UNIFIED IDEOGRAPH -0x9652 0x4E4F #CJK UNIFIED IDEOGRAPH -0x9653 0x4EA1 #CJK UNIFIED IDEOGRAPH -0x9654 0x508D #CJK UNIFIED IDEOGRAPH -0x9655 0x5256 #CJK UNIFIED IDEOGRAPH -0x9656 0x574A #CJK UNIFIED IDEOGRAPH -0x9657 0x59A8 #CJK UNIFIED IDEOGRAPH -0x9658 0x5E3D #CJK UNIFIED IDEOGRAPH -0x9659 0x5FD8 #CJK UNIFIED IDEOGRAPH -0x965A 0x5FD9 #CJK UNIFIED IDEOGRAPH -0x965B 0x623F #CJK UNIFIED IDEOGRAPH -0x965C 0x66B4 #CJK UNIFIED IDEOGRAPH -0x965D 0x671B #CJK UNIFIED IDEOGRAPH -0x965E 0x67D0 #CJK UNIFIED IDEOGRAPH -0x965F 0x68D2 #CJK UNIFIED IDEOGRAPH -0x9660 0x5192 #CJK UNIFIED IDEOGRAPH -0x9661 0x7D21 #CJK UNIFIED IDEOGRAPH -0x9662 0x80AA #CJK UNIFIED IDEOGRAPH -0x9663 0x81A8 #CJK UNIFIED IDEOGRAPH -0x9664 0x8B00 #CJK UNIFIED IDEOGRAPH -0x9665 0x8C8C #CJK UNIFIED IDEOGRAPH -0x9666 0x8CBF #CJK UNIFIED IDEOGRAPH -0x9667 0x927E #CJK UNIFIED IDEOGRAPH -0x9668 0x9632 #CJK UNIFIED IDEOGRAPH -0x9669 0x5420 #CJK UNIFIED IDEOGRAPH -0x966A 0x982C #CJK UNIFIED IDEOGRAPH -0x966B 0x5317 #CJK UNIFIED IDEOGRAPH -0x966C 0x50D5 #CJK UNIFIED IDEOGRAPH -0x966D 0x535C #CJK UNIFIED IDEOGRAPH -0x966E 0x58A8 #CJK UNIFIED IDEOGRAPH -0x966F 0x64B2 #CJK UNIFIED IDEOGRAPH -0x9670 0x6734 #CJK UNIFIED IDEOGRAPH -0x9671 0x7267 #CJK UNIFIED IDEOGRAPH -0x9672 0x7766 #CJK UNIFIED IDEOGRAPH -0x9673 0x7A46 #CJK UNIFIED IDEOGRAPH -0x9674 0x91E6 #CJK UNIFIED IDEOGRAPH -0x9675 0x52C3 #CJK UNIFIED IDEOGRAPH -0x9676 0x6CA1 #CJK UNIFIED IDEOGRAPH -0x9677 0x6B86 #CJK UNIFIED IDEOGRAPH -0x9678 0x5800 #CJK UNIFIED IDEOGRAPH -0x9679 0x5E4C #CJK UNIFIED IDEOGRAPH -0x967A 0x5954 #CJK UNIFIED IDEOGRAPH -0x967B 0x672C #CJK UNIFIED IDEOGRAPH -0x967C 0x7FFB #CJK UNIFIED IDEOGRAPH -0x967D 0x51E1 #CJK UNIFIED IDEOGRAPH -0x967E 0x76C6 #CJK UNIFIED IDEOGRAPH -0x9680 0x6469 #CJK UNIFIED IDEOGRAPH -0x9681 0x78E8 #CJK UNIFIED IDEOGRAPH -0x9682 0x9B54 #CJK UNIFIED IDEOGRAPH -0x9683 0x9EBB #CJK UNIFIED IDEOGRAPH -0x9684 0x57CB #CJK UNIFIED IDEOGRAPH -0x9685 0x59B9 #CJK UNIFIED IDEOGRAPH -0x9686 0x6627 #CJK UNIFIED IDEOGRAPH -0x9687 0x679A #CJK UNIFIED IDEOGRAPH -0x9688 0x6BCE #CJK UNIFIED IDEOGRAPH -0x9689 0x54E9 #CJK UNIFIED IDEOGRAPH -0x968A 0x69D9 #CJK UNIFIED IDEOGRAPH -0x968B 0x5E55 #CJK UNIFIED IDEOGRAPH -0x968C 0x819C #CJK UNIFIED IDEOGRAPH -0x968D 0x6795 #CJK UNIFIED IDEOGRAPH -0x968E 0x9BAA #CJK UNIFIED IDEOGRAPH -0x968F 0x67FE #CJK UNIFIED IDEOGRAPH -0x9690 0x9C52 #CJK UNIFIED IDEOGRAPH -0x9691 0x685D #CJK UNIFIED IDEOGRAPH -0x9692 0x4EA6 #CJK UNIFIED IDEOGRAPH -0x9693 0x4FE3 #CJK UNIFIED IDEOGRAPH -0x9694 0x53C8 #CJK UNIFIED IDEOGRAPH -0x9695 0x62B9 #CJK UNIFIED IDEOGRAPH -0x9696 0x672B #CJK UNIFIED IDEOGRAPH -0x9697 0x6CAB #CJK UNIFIED IDEOGRAPH -0x9698 0x8FC4 #CJK UNIFIED IDEOGRAPH -0x9699 0x4FAD #CJK UNIFIED IDEOGRAPH -0x969A 0x7E6D #CJK UNIFIED IDEOGRAPH -0x969B 0x9EBF #CJK UNIFIED IDEOGRAPH -0x969C 0x4E07 #CJK UNIFIED IDEOGRAPH -0x969D 0x6162 #CJK UNIFIED IDEOGRAPH -0x969E 0x6E80 #CJK UNIFIED IDEOGRAPH -0x969F 0x6F2B #CJK UNIFIED IDEOGRAPH -0x96A0 0x8513 #CJK UNIFIED IDEOGRAPH -0x96A1 0x5473 #CJK UNIFIED IDEOGRAPH -0x96A2 0x672A #CJK UNIFIED IDEOGRAPH -0x96A3 0x9B45 #CJK UNIFIED IDEOGRAPH -0x96A4 0x5DF3 #CJK UNIFIED IDEOGRAPH -0x96A5 0x7B95 #CJK UNIFIED IDEOGRAPH -0x96A6 0x5CAC #CJK UNIFIED IDEOGRAPH -0x96A7 0x5BC6 #CJK UNIFIED IDEOGRAPH -0x96A8 0x871C #CJK UNIFIED IDEOGRAPH -0x96A9 0x6E4A #CJK UNIFIED IDEOGRAPH -0x96AA 0x84D1 #CJK UNIFIED IDEOGRAPH -0x96AB 0x7A14 #CJK UNIFIED IDEOGRAPH -0x96AC 0x8108 #CJK UNIFIED IDEOGRAPH -0x96AD 0x5999 #CJK UNIFIED IDEOGRAPH -0x96AE 0x7C8D #CJK UNIFIED IDEOGRAPH -0x96AF 0x6C11 #CJK UNIFIED IDEOGRAPH -0x96B0 0x7720 #CJK UNIFIED IDEOGRAPH -0x96B1 0x52D9 #CJK UNIFIED IDEOGRAPH -0x96B2 0x5922 #CJK UNIFIED IDEOGRAPH -0x96B3 0x7121 #CJK UNIFIED IDEOGRAPH -0x96B4 0x725F #CJK UNIFIED IDEOGRAPH -0x96B5 0x77DB #CJK UNIFIED IDEOGRAPH -0x96B6 0x9727 #CJK UNIFIED IDEOGRAPH -0x96B7 0x9D61 #CJK UNIFIED IDEOGRAPH -0x96B8 0x690B #CJK UNIFIED IDEOGRAPH -0x96B9 0x5A7F #CJK UNIFIED IDEOGRAPH -0x96BA 0x5A18 #CJK UNIFIED IDEOGRAPH -0x96BB 0x51A5 #CJK UNIFIED IDEOGRAPH -0x96BC 0x540D #CJK UNIFIED IDEOGRAPH -0x96BD 0x547D #CJK UNIFIED IDEOGRAPH -0x96BE 0x660E #CJK UNIFIED IDEOGRAPH -0x96BF 0x76DF #CJK UNIFIED IDEOGRAPH -0x96C0 0x8FF7 #CJK UNIFIED IDEOGRAPH -0x96C1 0x9298 #CJK UNIFIED IDEOGRAPH -0x96C2 0x9CF4 #CJK UNIFIED IDEOGRAPH -0x96C3 0x59EA #CJK UNIFIED IDEOGRAPH -0x96C4 0x725D #CJK UNIFIED IDEOGRAPH -0x96C5 0x6EC5 #CJK UNIFIED IDEOGRAPH -0x96C6 0x514D #CJK UNIFIED IDEOGRAPH -0x96C7 0x68C9 #CJK UNIFIED IDEOGRAPH -0x96C8 0x7DBF #CJK UNIFIED IDEOGRAPH -0x96C9 0x7DEC #CJK UNIFIED IDEOGRAPH -0x96CA 0x9762 #CJK UNIFIED IDEOGRAPH -0x96CB 0x9EBA #CJK UNIFIED IDEOGRAPH -0x96CC 0x6478 #CJK UNIFIED IDEOGRAPH -0x96CD 0x6A21 #CJK UNIFIED IDEOGRAPH -0x96CE 0x8302 #CJK UNIFIED IDEOGRAPH -0x96CF 0x5984 #CJK UNIFIED IDEOGRAPH -0x96D0 0x5B5F #CJK UNIFIED IDEOGRAPH -0x96D1 0x6BDB #CJK UNIFIED IDEOGRAPH -0x96D2 0x731B #CJK UNIFIED IDEOGRAPH -0x96D3 0x76F2 #CJK UNIFIED IDEOGRAPH -0x96D4 0x7DB2 #CJK UNIFIED IDEOGRAPH -0x96D5 0x8017 #CJK UNIFIED IDEOGRAPH -0x96D6 0x8499 #CJK UNIFIED IDEOGRAPH -0x96D7 0x5132 #CJK UNIFIED IDEOGRAPH -0x96D8 0x6728 #CJK UNIFIED IDEOGRAPH -0x96D9 0x9ED9 #CJK UNIFIED IDEOGRAPH -0x96DA 0x76EE #CJK UNIFIED IDEOGRAPH -0x96DB 0x6762 #CJK UNIFIED IDEOGRAPH -0x96DC 0x52FF #CJK UNIFIED IDEOGRAPH -0x96DD 0x9905 #CJK UNIFIED IDEOGRAPH -0x96DE 0x5C24 #CJK UNIFIED IDEOGRAPH -0x96DF 0x623B #CJK UNIFIED IDEOGRAPH -0x96E0 0x7C7E #CJK UNIFIED IDEOGRAPH -0x96E1 0x8CB0 #CJK UNIFIED IDEOGRAPH -0x96E2 0x554F #CJK UNIFIED IDEOGRAPH -0x96E3 0x60B6 #CJK UNIFIED IDEOGRAPH -0x96E4 0x7D0B #CJK UNIFIED IDEOGRAPH -0x96E5 0x9580 #CJK UNIFIED IDEOGRAPH -0x96E6 0x5301 #CJK UNIFIED IDEOGRAPH -0x96E7 0x4E5F #CJK UNIFIED IDEOGRAPH -0x96E8 0x51B6 #CJK UNIFIED IDEOGRAPH -0x96E9 0x591C #CJK UNIFIED IDEOGRAPH -0x96EA 0x723A #CJK UNIFIED IDEOGRAPH -0x96EB 0x8036 #CJK UNIFIED IDEOGRAPH -0x96EC 0x91CE #CJK UNIFIED IDEOGRAPH -0x96ED 0x5F25 #CJK UNIFIED IDEOGRAPH -0x96EE 0x77E2 #CJK UNIFIED IDEOGRAPH -0x96EF 0x5384 #CJK UNIFIED IDEOGRAPH -0x96F0 0x5F79 #CJK UNIFIED IDEOGRAPH -0x96F1 0x7D04 #CJK UNIFIED IDEOGRAPH -0x96F2 0x85AC #CJK UNIFIED IDEOGRAPH -0x96F3 0x8A33 #CJK UNIFIED IDEOGRAPH -0x96F4 0x8E8D #CJK UNIFIED IDEOGRAPH -0x96F5 0x9756 #CJK UNIFIED IDEOGRAPH -0x96F6 0x67F3 #CJK UNIFIED IDEOGRAPH -0x96F7 0x85AE #CJK UNIFIED IDEOGRAPH -0x96F8 0x9453 #CJK UNIFIED IDEOGRAPH -0x96F9 0x6109 #CJK UNIFIED IDEOGRAPH -0x96FA 0x6108 #CJK UNIFIED IDEOGRAPH -0x96FB 0x6CB9 #CJK UNIFIED IDEOGRAPH -0x96FC 0x7652 #CJK UNIFIED IDEOGRAPH -0x9740 0x8AED #CJK UNIFIED IDEOGRAPH -0x9741 0x8F38 #CJK UNIFIED IDEOGRAPH -0x9742 0x552F #CJK UNIFIED IDEOGRAPH -0x9743 0x4F51 #CJK UNIFIED IDEOGRAPH -0x9744 0x512A #CJK UNIFIED IDEOGRAPH -0x9745 0x52C7 #CJK UNIFIED IDEOGRAPH -0x9746 0x53CB #CJK UNIFIED IDEOGRAPH -0x9747 0x5BA5 #CJK UNIFIED IDEOGRAPH -0x9748 0x5E7D #CJK UNIFIED IDEOGRAPH -0x9749 0x60A0 #CJK UNIFIED IDEOGRAPH -0x974A 0x6182 #CJK UNIFIED IDEOGRAPH -0x974B 0x63D6 #CJK UNIFIED IDEOGRAPH -0x974C 0x6709 #CJK UNIFIED IDEOGRAPH -0x974D 0x67DA #CJK UNIFIED IDEOGRAPH -0x974E 0x6E67 #CJK UNIFIED IDEOGRAPH -0x974F 0x6D8C #CJK UNIFIED IDEOGRAPH -0x9750 0x7336 #CJK UNIFIED IDEOGRAPH -0x9751 0x7337 #CJK UNIFIED IDEOGRAPH -0x9752 0x7531 #CJK UNIFIED IDEOGRAPH -0x9753 0x7950 #CJK UNIFIED IDEOGRAPH -0x9754 0x88D5 #CJK UNIFIED IDEOGRAPH -0x9755 0x8A98 #CJK UNIFIED IDEOGRAPH -0x9756 0x904A #CJK UNIFIED IDEOGRAPH -0x9757 0x9091 #CJK UNIFIED IDEOGRAPH -0x9758 0x90F5 #CJK UNIFIED IDEOGRAPH -0x9759 0x96C4 #CJK UNIFIED IDEOGRAPH -0x975A 0x878D #CJK UNIFIED IDEOGRAPH -0x975B 0x5915 #CJK UNIFIED IDEOGRAPH -0x975C 0x4E88 #CJK UNIFIED IDEOGRAPH -0x975D 0x4F59 #CJK UNIFIED IDEOGRAPH -0x975E 0x4E0E #CJK UNIFIED IDEOGRAPH -0x975F 0x8A89 #CJK UNIFIED IDEOGRAPH -0x9760 0x8F3F #CJK UNIFIED IDEOGRAPH -0x9761 0x9810 #CJK UNIFIED IDEOGRAPH -0x9762 0x50AD #CJK UNIFIED IDEOGRAPH -0x9763 0x5E7C #CJK UNIFIED IDEOGRAPH -0x9764 0x5996 #CJK UNIFIED IDEOGRAPH -0x9765 0x5BB9 #CJK UNIFIED IDEOGRAPH -0x9766 0x5EB8 #CJK UNIFIED IDEOGRAPH -0x9767 0x63DA #CJK UNIFIED IDEOGRAPH -0x9768 0x63FA #CJK UNIFIED IDEOGRAPH -0x9769 0x64C1 #CJK UNIFIED IDEOGRAPH -0x976A 0x66DC #CJK UNIFIED IDEOGRAPH -0x976B 0x694A #CJK UNIFIED IDEOGRAPH -0x976C 0x69D8 #CJK UNIFIED IDEOGRAPH -0x976D 0x6D0B #CJK UNIFIED IDEOGRAPH -0x976E 0x6EB6 #CJK UNIFIED IDEOGRAPH -0x976F 0x7194 #CJK UNIFIED IDEOGRAPH -0x9770 0x7528 #CJK UNIFIED IDEOGRAPH -0x9771 0x7AAF #CJK UNIFIED IDEOGRAPH -0x9772 0x7F8A #CJK UNIFIED IDEOGRAPH -0x9773 0x8000 #CJK UNIFIED IDEOGRAPH -0x9774 0x8449 #CJK UNIFIED IDEOGRAPH -0x9775 0x84C9 #CJK UNIFIED IDEOGRAPH -0x9776 0x8981 #CJK UNIFIED IDEOGRAPH -0x9777 0x8B21 #CJK UNIFIED IDEOGRAPH -0x9778 0x8E0A #CJK UNIFIED IDEOGRAPH -0x9779 0x9065 #CJK UNIFIED IDEOGRAPH -0x977A 0x967D #CJK UNIFIED IDEOGRAPH -0x977B 0x990A #CJK UNIFIED IDEOGRAPH -0x977C 0x617E #CJK UNIFIED IDEOGRAPH -0x977D 0x6291 #CJK UNIFIED IDEOGRAPH -0x977E 0x6B32 #CJK UNIFIED IDEOGRAPH -0x9780 0x6C83 #CJK UNIFIED IDEOGRAPH -0x9781 0x6D74 #CJK UNIFIED IDEOGRAPH -0x9782 0x7FCC #CJK UNIFIED IDEOGRAPH -0x9783 0x7FFC #CJK UNIFIED IDEOGRAPH -0x9784 0x6DC0 #CJK UNIFIED IDEOGRAPH -0x9785 0x7F85 #CJK UNIFIED IDEOGRAPH -0x9786 0x87BA #CJK UNIFIED IDEOGRAPH -0x9787 0x88F8 #CJK UNIFIED IDEOGRAPH -0x9788 0x6765 #CJK UNIFIED IDEOGRAPH -0x9789 0x83B1 #CJK UNIFIED IDEOGRAPH -0x978A 0x983C #CJK UNIFIED IDEOGRAPH -0x978B 0x96F7 #CJK UNIFIED IDEOGRAPH -0x978C 0x6D1B #CJK UNIFIED IDEOGRAPH -0x978D 0x7D61 #CJK UNIFIED IDEOGRAPH -0x978E 0x843D #CJK UNIFIED IDEOGRAPH -0x978F 0x916A #CJK UNIFIED IDEOGRAPH -0x9790 0x4E71 #CJK UNIFIED IDEOGRAPH -0x9791 0x5375 #CJK UNIFIED IDEOGRAPH -0x9792 0x5D50 #CJK UNIFIED IDEOGRAPH -0x9793 0x6B04 #CJK UNIFIED IDEOGRAPH -0x9794 0x6FEB #CJK UNIFIED IDEOGRAPH -0x9795 0x85CD #CJK UNIFIED IDEOGRAPH -0x9796 0x862D #CJK UNIFIED IDEOGRAPH -0x9797 0x89A7 #CJK UNIFIED IDEOGRAPH -0x9798 0x5229 #CJK UNIFIED IDEOGRAPH -0x9799 0x540F #CJK UNIFIED IDEOGRAPH -0x979A 0x5C65 #CJK UNIFIED IDEOGRAPH -0x979B 0x674E #CJK UNIFIED IDEOGRAPH -0x979C 0x68A8 #CJK UNIFIED IDEOGRAPH -0x979D 0x7406 #CJK UNIFIED IDEOGRAPH -0x979E 0x7483 #CJK UNIFIED IDEOGRAPH -0x979F 0x75E2 #CJK UNIFIED IDEOGRAPH -0x97A0 0x88CF #CJK UNIFIED IDEOGRAPH -0x97A1 0x88E1 #CJK UNIFIED IDEOGRAPH -0x97A2 0x91CC #CJK UNIFIED IDEOGRAPH -0x97A3 0x96E2 #CJK UNIFIED IDEOGRAPH -0x97A4 0x9678 #CJK UNIFIED IDEOGRAPH -0x97A5 0x5F8B #CJK UNIFIED IDEOGRAPH -0x97A6 0x7387 #CJK UNIFIED IDEOGRAPH -0x97A7 0x7ACB #CJK UNIFIED IDEOGRAPH -0x97A8 0x844E #CJK UNIFIED IDEOGRAPH -0x97A9 0x63A0 #CJK UNIFIED IDEOGRAPH -0x97AA 0x7565 #CJK UNIFIED IDEOGRAPH -0x97AB 0x5289 #CJK UNIFIED IDEOGRAPH -0x97AC 0x6D41 #CJK UNIFIED IDEOGRAPH -0x97AD 0x6E9C #CJK UNIFIED IDEOGRAPH -0x97AE 0x7409 #CJK UNIFIED IDEOGRAPH -0x97AF 0x7559 #CJK UNIFIED IDEOGRAPH -0x97B0 0x786B #CJK UNIFIED IDEOGRAPH -0x97B1 0x7C92 #CJK UNIFIED IDEOGRAPH -0x97B2 0x9686 #CJK UNIFIED IDEOGRAPH -0x97B3 0x7ADC #CJK UNIFIED IDEOGRAPH -0x97B4 0x9F8D #CJK UNIFIED IDEOGRAPH -0x97B5 0x4FB6 #CJK UNIFIED IDEOGRAPH -0x97B6 0x616E #CJK UNIFIED IDEOGRAPH -0x97B7 0x65C5 #CJK UNIFIED IDEOGRAPH -0x97B8 0x865C #CJK UNIFIED IDEOGRAPH -0x97B9 0x4E86 #CJK UNIFIED IDEOGRAPH -0x97BA 0x4EAE #CJK UNIFIED IDEOGRAPH -0x97BB 0x50DA #CJK UNIFIED IDEOGRAPH -0x97BC 0x4E21 #CJK UNIFIED IDEOGRAPH -0x97BD 0x51CC #CJK UNIFIED IDEOGRAPH -0x97BE 0x5BEE #CJK UNIFIED IDEOGRAPH -0x97BF 0x6599 #CJK UNIFIED IDEOGRAPH -0x97C0 0x6881 #CJK UNIFIED IDEOGRAPH -0x97C1 0x6DBC #CJK UNIFIED IDEOGRAPH -0x97C2 0x731F #CJK UNIFIED IDEOGRAPH -0x97C3 0x7642 #CJK UNIFIED IDEOGRAPH -0x97C4 0x77AD #CJK UNIFIED IDEOGRAPH -0x97C5 0x7A1C #CJK UNIFIED IDEOGRAPH -0x97C6 0x7CE7 #CJK UNIFIED IDEOGRAPH -0x97C7 0x826F #CJK UNIFIED IDEOGRAPH -0x97C8 0x8AD2 #CJK UNIFIED IDEOGRAPH -0x97C9 0x907C #CJK UNIFIED IDEOGRAPH -0x97CA 0x91CF #CJK UNIFIED IDEOGRAPH -0x97CB 0x9675 #CJK UNIFIED IDEOGRAPH -0x97CC 0x9818 #CJK UNIFIED IDEOGRAPH -0x97CD 0x529B #CJK UNIFIED IDEOGRAPH -0x97CE 0x7DD1 #CJK UNIFIED IDEOGRAPH -0x97CF 0x502B #CJK UNIFIED IDEOGRAPH -0x97D0 0x5398 #CJK UNIFIED IDEOGRAPH -0x97D1 0x6797 #CJK UNIFIED IDEOGRAPH -0x97D2 0x6DCB #CJK UNIFIED IDEOGRAPH -0x97D3 0x71D0 #CJK UNIFIED IDEOGRAPH -0x97D4 0x7433 #CJK UNIFIED IDEOGRAPH -0x97D5 0x81E8 #CJK UNIFIED IDEOGRAPH -0x97D6 0x8F2A #CJK UNIFIED IDEOGRAPH -0x97D7 0x96A3 #CJK UNIFIED IDEOGRAPH -0x97D8 0x9C57 #CJK UNIFIED IDEOGRAPH -0x97D9 0x9E9F #CJK UNIFIED IDEOGRAPH -0x97DA 0x7460 #CJK UNIFIED IDEOGRAPH -0x97DB 0x5841 #CJK UNIFIED IDEOGRAPH -0x97DC 0x6D99 #CJK UNIFIED IDEOGRAPH -0x97DD 0x7D2F #CJK UNIFIED IDEOGRAPH -0x97DE 0x985E #CJK UNIFIED IDEOGRAPH -0x97DF 0x4EE4 #CJK UNIFIED IDEOGRAPH -0x97E0 0x4F36 #CJK UNIFIED IDEOGRAPH -0x97E1 0x4F8B #CJK UNIFIED IDEOGRAPH -0x97E2 0x51B7 #CJK UNIFIED IDEOGRAPH -0x97E3 0x52B1 #CJK UNIFIED IDEOGRAPH -0x97E4 0x5DBA #CJK UNIFIED IDEOGRAPH -0x97E5 0x601C #CJK UNIFIED IDEOGRAPH -0x97E6 0x73B2 #CJK UNIFIED IDEOGRAPH -0x97E7 0x793C #CJK UNIFIED IDEOGRAPH -0x97E8 0x82D3 #CJK UNIFIED IDEOGRAPH -0x97E9 0x9234 #CJK UNIFIED IDEOGRAPH -0x97EA 0x96B7 #CJK UNIFIED IDEOGRAPH -0x97EB 0x96F6 #CJK UNIFIED IDEOGRAPH -0x97EC 0x970A #CJK UNIFIED IDEOGRAPH -0x97ED 0x9E97 #CJK UNIFIED IDEOGRAPH -0x97EE 0x9F62 #CJK UNIFIED IDEOGRAPH -0x97EF 0x66A6 #CJK UNIFIED IDEOGRAPH -0x97F0 0x6B74 #CJK UNIFIED IDEOGRAPH -0x97F1 0x5217 #CJK UNIFIED IDEOGRAPH -0x97F2 0x52A3 #CJK UNIFIED IDEOGRAPH -0x97F3 0x70C8 #CJK UNIFIED IDEOGRAPH -0x97F4 0x88C2 #CJK UNIFIED IDEOGRAPH -0x97F5 0x5EC9 #CJK UNIFIED IDEOGRAPH -0x97F6 0x604B #CJK UNIFIED IDEOGRAPH -0x97F7 0x6190 #CJK UNIFIED IDEOGRAPH -0x97F8 0x6F23 #CJK UNIFIED IDEOGRAPH -0x97F9 0x7149 #CJK UNIFIED IDEOGRAPH -0x97FA 0x7C3E #CJK UNIFIED IDEOGRAPH -0x97FB 0x7DF4 #CJK UNIFIED IDEOGRAPH -0x97FC 0x806F #CJK UNIFIED IDEOGRAPH -0x9840 0x84EE #CJK UNIFIED IDEOGRAPH -0x9841 0x9023 #CJK UNIFIED IDEOGRAPH -0x9842 0x932C #CJK UNIFIED IDEOGRAPH -0x9843 0x5442 #CJK UNIFIED IDEOGRAPH -0x9844 0x9B6F #CJK UNIFIED IDEOGRAPH -0x9845 0x6AD3 #CJK UNIFIED IDEOGRAPH -0x9846 0x7089 #CJK UNIFIED IDEOGRAPH -0x9847 0x8CC2 #CJK UNIFIED IDEOGRAPH -0x9848 0x8DEF #CJK UNIFIED IDEOGRAPH -0x9849 0x9732 #CJK UNIFIED IDEOGRAPH -0x984A 0x52B4 #CJK UNIFIED IDEOGRAPH -0x984B 0x5A41 #CJK UNIFIED IDEOGRAPH -0x984C 0x5ECA #CJK UNIFIED IDEOGRAPH -0x984D 0x5F04 #CJK UNIFIED IDEOGRAPH -0x984E 0x6717 #CJK UNIFIED IDEOGRAPH -0x984F 0x697C #CJK UNIFIED IDEOGRAPH -0x9850 0x6994 #CJK UNIFIED IDEOGRAPH -0x9851 0x6D6A #CJK UNIFIED IDEOGRAPH -0x9852 0x6F0F #CJK UNIFIED IDEOGRAPH -0x9853 0x7262 #CJK UNIFIED IDEOGRAPH -0x9854 0x72FC #CJK UNIFIED IDEOGRAPH -0x9855 0x7BED #CJK UNIFIED IDEOGRAPH -0x9856 0x8001 #CJK UNIFIED IDEOGRAPH -0x9857 0x807E #CJK UNIFIED IDEOGRAPH -0x9858 0x874B #CJK UNIFIED IDEOGRAPH -0x9859 0x90CE #CJK UNIFIED IDEOGRAPH -0x985A 0x516D #CJK UNIFIED IDEOGRAPH -0x985B 0x9E93 #CJK UNIFIED IDEOGRAPH -0x985C 0x7984 #CJK UNIFIED IDEOGRAPH -0x985D 0x808B #CJK UNIFIED IDEOGRAPH -0x985E 0x9332 #CJK UNIFIED IDEOGRAPH -0x985F 0x8AD6 #CJK UNIFIED IDEOGRAPH -0x9860 0x502D #CJK UNIFIED IDEOGRAPH -0x9861 0x548C #CJK UNIFIED IDEOGRAPH -0x9862 0x8A71 #CJK UNIFIED IDEOGRAPH -0x9863 0x6B6A #CJK UNIFIED IDEOGRAPH -0x9864 0x8CC4 #CJK UNIFIED IDEOGRAPH -0x9865 0x8107 #CJK UNIFIED IDEOGRAPH -0x9866 0x60D1 #CJK UNIFIED IDEOGRAPH -0x9867 0x67A0 #CJK UNIFIED IDEOGRAPH -0x9868 0x9DF2 #CJK UNIFIED IDEOGRAPH -0x9869 0x4E99 #CJK UNIFIED IDEOGRAPH -0x986A 0x4E98 #CJK UNIFIED IDEOGRAPH -0x986B 0x9C10 #CJK UNIFIED IDEOGRAPH -0x986C 0x8A6B #CJK UNIFIED IDEOGRAPH -0x986D 0x85C1 #CJK UNIFIED IDEOGRAPH -0x986E 0x8568 #CJK UNIFIED IDEOGRAPH -0x986F 0x6900 #CJK UNIFIED IDEOGRAPH -0x9870 0x6E7E #CJK UNIFIED IDEOGRAPH -0x9871 0x7897 #CJK UNIFIED IDEOGRAPH -0x9872 0x8155 #CJK UNIFIED IDEOGRAPH -0x989F 0x5F0C #CJK UNIFIED IDEOGRAPH -0x98A0 0x4E10 #CJK UNIFIED IDEOGRAPH -0x98A1 0x4E15 #CJK UNIFIED IDEOGRAPH -0x98A2 0x4E2A #CJK UNIFIED IDEOGRAPH -0x98A3 0x4E31 #CJK UNIFIED IDEOGRAPH -0x98A4 0x4E36 #CJK UNIFIED IDEOGRAPH -0x98A5 0x4E3C #CJK UNIFIED IDEOGRAPH -0x98A6 0x4E3F #CJK UNIFIED IDEOGRAPH -0x98A7 0x4E42 #CJK UNIFIED IDEOGRAPH -0x98A8 0x4E56 #CJK UNIFIED IDEOGRAPH -0x98A9 0x4E58 #CJK UNIFIED IDEOGRAPH -0x98AA 0x4E82 #CJK UNIFIED IDEOGRAPH -0x98AB 0x4E85 #CJK UNIFIED IDEOGRAPH -0x98AC 0x8C6B #CJK UNIFIED IDEOGRAPH -0x98AD 0x4E8A #CJK UNIFIED IDEOGRAPH -0x98AE 0x8212 #CJK UNIFIED IDEOGRAPH -0x98AF 0x5F0D #CJK UNIFIED IDEOGRAPH -0x98B0 0x4E8E #CJK UNIFIED IDEOGRAPH -0x98B1 0x4E9E #CJK UNIFIED IDEOGRAPH -0x98B2 0x4E9F #CJK UNIFIED IDEOGRAPH -0x98B3 0x4EA0 #CJK UNIFIED IDEOGRAPH -0x98B4 0x4EA2 #CJK UNIFIED IDEOGRAPH -0x98B5 0x4EB0 #CJK UNIFIED IDEOGRAPH -0x98B6 0x4EB3 #CJK UNIFIED IDEOGRAPH -0x98B7 0x4EB6 #CJK UNIFIED IDEOGRAPH -0x98B8 0x4ECE #CJK UNIFIED IDEOGRAPH -0x98B9 0x4ECD #CJK UNIFIED IDEOGRAPH -0x98BA 0x4EC4 #CJK UNIFIED IDEOGRAPH -0x98BB 0x4EC6 #CJK UNIFIED IDEOGRAPH -0x98BC 0x4EC2 #CJK UNIFIED IDEOGRAPH -0x98BD 0x4ED7 #CJK UNIFIED IDEOGRAPH -0x98BE 0x4EDE #CJK UNIFIED IDEOGRAPH -0x98BF 0x4EED #CJK UNIFIED IDEOGRAPH -0x98C0 0x4EDF #CJK UNIFIED IDEOGRAPH -0x98C1 0x4EF7 #CJK UNIFIED IDEOGRAPH -0x98C2 0x4F09 #CJK UNIFIED IDEOGRAPH -0x98C3 0x4F5A #CJK UNIFIED IDEOGRAPH -0x98C4 0x4F30 #CJK UNIFIED IDEOGRAPH -0x98C5 0x4F5B #CJK UNIFIED IDEOGRAPH -0x98C6 0x4F5D #CJK UNIFIED IDEOGRAPH -0x98C7 0x4F57 #CJK UNIFIED IDEOGRAPH -0x98C8 0x4F47 #CJK UNIFIED IDEOGRAPH -0x98C9 0x4F76 #CJK UNIFIED IDEOGRAPH -0x98CA 0x4F88 #CJK UNIFIED IDEOGRAPH -0x98CB 0x4F8F #CJK UNIFIED IDEOGRAPH -0x98CC 0x4F98 #CJK UNIFIED IDEOGRAPH -0x98CD 0x4F7B #CJK UNIFIED IDEOGRAPH -0x98CE 0x4F69 #CJK UNIFIED IDEOGRAPH -0x98CF 0x4F70 #CJK UNIFIED IDEOGRAPH -0x98D0 0x4F91 #CJK UNIFIED IDEOGRAPH -0x98D1 0x4F6F #CJK UNIFIED IDEOGRAPH -0x98D2 0x4F86 #CJK UNIFIED IDEOGRAPH -0x98D3 0x4F96 #CJK UNIFIED IDEOGRAPH -0x98D4 0x5118 #CJK UNIFIED IDEOGRAPH -0x98D5 0x4FD4 #CJK UNIFIED IDEOGRAPH -0x98D6 0x4FDF #CJK UNIFIED IDEOGRAPH -0x98D7 0x4FCE #CJK UNIFIED IDEOGRAPH -0x98D8 0x4FD8 #CJK UNIFIED IDEOGRAPH -0x98D9 0x4FDB #CJK UNIFIED IDEOGRAPH -0x98DA 0x4FD1 #CJK UNIFIED IDEOGRAPH -0x98DB 0x4FDA #CJK UNIFIED IDEOGRAPH -0x98DC 0x4FD0 #CJK UNIFIED IDEOGRAPH -0x98DD 0x4FE4 #CJK UNIFIED IDEOGRAPH -0x98DE 0x4FE5 #CJK UNIFIED IDEOGRAPH -0x98DF 0x501A #CJK UNIFIED IDEOGRAPH -0x98E0 0x5028 #CJK UNIFIED IDEOGRAPH -0x98E1 0x5014 #CJK UNIFIED IDEOGRAPH -0x98E2 0x502A #CJK UNIFIED IDEOGRAPH -0x98E3 0x5025 #CJK UNIFIED IDEOGRAPH -0x98E4 0x5005 #CJK UNIFIED IDEOGRAPH -0x98E5 0x4F1C #CJK UNIFIED IDEOGRAPH -0x98E6 0x4FF6 #CJK UNIFIED IDEOGRAPH -0x98E7 0x5021 #CJK UNIFIED IDEOGRAPH -0x98E8 0x5029 #CJK UNIFIED IDEOGRAPH -0x98E9 0x502C #CJK UNIFIED IDEOGRAPH -0x98EA 0x4FFE #CJK UNIFIED IDEOGRAPH -0x98EB 0x4FEF #CJK UNIFIED IDEOGRAPH -0x98EC 0x5011 #CJK UNIFIED IDEOGRAPH -0x98ED 0x5006 #CJK UNIFIED IDEOGRAPH -0x98EE 0x5043 #CJK UNIFIED IDEOGRAPH -0x98EF 0x5047 #CJK UNIFIED IDEOGRAPH -0x98F0 0x6703 #CJK UNIFIED IDEOGRAPH -0x98F1 0x5055 #CJK UNIFIED IDEOGRAPH -0x98F2 0x5050 #CJK UNIFIED IDEOGRAPH -0x98F3 0x5048 #CJK UNIFIED IDEOGRAPH -0x98F4 0x505A #CJK UNIFIED IDEOGRAPH -0x98F5 0x5056 #CJK UNIFIED IDEOGRAPH -0x98F6 0x506C #CJK UNIFIED IDEOGRAPH -0x98F7 0x5078 #CJK UNIFIED IDEOGRAPH -0x98F8 0x5080 #CJK UNIFIED IDEOGRAPH -0x98F9 0x509A #CJK UNIFIED IDEOGRAPH -0x98FA 0x5085 #CJK UNIFIED IDEOGRAPH -0x98FB 0x50B4 #CJK UNIFIED IDEOGRAPH -0x98FC 0x50B2 #CJK UNIFIED IDEOGRAPH -0x9940 0x50C9 #CJK UNIFIED IDEOGRAPH -0x9941 0x50CA #CJK UNIFIED IDEOGRAPH -0x9942 0x50B3 #CJK UNIFIED IDEOGRAPH -0x9943 0x50C2 #CJK UNIFIED IDEOGRAPH -0x9944 0x50D6 #CJK UNIFIED IDEOGRAPH -0x9945 0x50DE #CJK UNIFIED IDEOGRAPH -0x9946 0x50E5 #CJK UNIFIED IDEOGRAPH -0x9947 0x50ED #CJK UNIFIED IDEOGRAPH -0x9948 0x50E3 #CJK UNIFIED IDEOGRAPH -0x9949 0x50EE #CJK UNIFIED IDEOGRAPH -0x994A 0x50F9 #CJK UNIFIED IDEOGRAPH -0x994B 0x50F5 #CJK UNIFIED IDEOGRAPH -0x994C 0x5109 #CJK UNIFIED IDEOGRAPH -0x994D 0x5101 #CJK UNIFIED IDEOGRAPH -0x994E 0x5102 #CJK UNIFIED IDEOGRAPH -0x994F 0x5116 #CJK UNIFIED IDEOGRAPH -0x9950 0x5115 #CJK UNIFIED IDEOGRAPH -0x9951 0x5114 #CJK UNIFIED IDEOGRAPH -0x9952 0x511A #CJK UNIFIED IDEOGRAPH -0x9953 0x5121 #CJK UNIFIED IDEOGRAPH -0x9954 0x513A #CJK UNIFIED IDEOGRAPH -0x9955 0x5137 #CJK UNIFIED IDEOGRAPH -0x9956 0x513C #CJK UNIFIED IDEOGRAPH -0x9957 0x513B #CJK UNIFIED IDEOGRAPH -0x9958 0x513F #CJK UNIFIED IDEOGRAPH -0x9959 0x5140 #CJK UNIFIED IDEOGRAPH -0x995A 0x5152 #CJK UNIFIED IDEOGRAPH -0x995B 0x514C #CJK UNIFIED IDEOGRAPH -0x995C 0x5154 #CJK UNIFIED IDEOGRAPH -0x995D 0x5162 #CJK UNIFIED IDEOGRAPH -0x995E 0x7AF8 #CJK UNIFIED IDEOGRAPH -0x995F 0x5169 #CJK UNIFIED IDEOGRAPH -0x9960 0x516A #CJK UNIFIED IDEOGRAPH -0x9961 0x516E #CJK UNIFIED IDEOGRAPH -0x9962 0x5180 #CJK UNIFIED IDEOGRAPH -0x9963 0x5182 #CJK UNIFIED IDEOGRAPH -0x9964 0x56D8 #CJK UNIFIED IDEOGRAPH -0x9965 0x518C #CJK UNIFIED IDEOGRAPH -0x9966 0x5189 #CJK UNIFIED IDEOGRAPH -0x9967 0x518F #CJK UNIFIED IDEOGRAPH -0x9968 0x5191 #CJK UNIFIED IDEOGRAPH -0x9969 0x5193 #CJK UNIFIED IDEOGRAPH -0x996A 0x5195 #CJK UNIFIED IDEOGRAPH -0x996B 0x5196 #CJK UNIFIED IDEOGRAPH -0x996C 0x51A4 #CJK UNIFIED IDEOGRAPH -0x996D 0x51A6 #CJK UNIFIED IDEOGRAPH -0x996E 0x51A2 #CJK UNIFIED IDEOGRAPH -0x996F 0x51A9 #CJK UNIFIED IDEOGRAPH -0x9970 0x51AA #CJK UNIFIED IDEOGRAPH -0x9971 0x51AB #CJK UNIFIED IDEOGRAPH -0x9972 0x51B3 #CJK UNIFIED IDEOGRAPH -0x9973 0x51B1 #CJK UNIFIED IDEOGRAPH -0x9974 0x51B2 #CJK UNIFIED IDEOGRAPH -0x9975 0x51B0 #CJK UNIFIED IDEOGRAPH -0x9976 0x51B5 #CJK UNIFIED IDEOGRAPH -0x9977 0x51BD #CJK UNIFIED IDEOGRAPH -0x9978 0x51C5 #CJK UNIFIED IDEOGRAPH -0x9979 0x51C9 #CJK UNIFIED IDEOGRAPH -0x997A 0x51DB #CJK UNIFIED IDEOGRAPH -0x997B 0x51E0 #CJK UNIFIED IDEOGRAPH -0x997C 0x8655 #CJK UNIFIED IDEOGRAPH -0x997D 0x51E9 #CJK UNIFIED IDEOGRAPH -0x997E 0x51ED #CJK UNIFIED IDEOGRAPH -0x9980 0x51F0 #CJK UNIFIED IDEOGRAPH -0x9981 0x51F5 #CJK UNIFIED IDEOGRAPH -0x9982 0x51FE #CJK UNIFIED IDEOGRAPH -0x9983 0x5204 #CJK UNIFIED IDEOGRAPH -0x9984 0x520B #CJK UNIFIED IDEOGRAPH -0x9985 0x5214 #CJK UNIFIED IDEOGRAPH -0x9986 0x520E #CJK UNIFIED IDEOGRAPH -0x9987 0x5227 #CJK UNIFIED IDEOGRAPH -0x9988 0x522A #CJK UNIFIED IDEOGRAPH -0x9989 0x522E #CJK UNIFIED IDEOGRAPH -0x998A 0x5233 #CJK UNIFIED IDEOGRAPH -0x998B 0x5239 #CJK UNIFIED IDEOGRAPH -0x998C 0x524F #CJK UNIFIED IDEOGRAPH -0x998D 0x5244 #CJK UNIFIED IDEOGRAPH -0x998E 0x524B #CJK UNIFIED IDEOGRAPH -0x998F 0x524C #CJK UNIFIED IDEOGRAPH -0x9990 0x525E #CJK UNIFIED IDEOGRAPH -0x9991 0x5254 #CJK UNIFIED IDEOGRAPH -0x9992 0x526A #CJK UNIFIED IDEOGRAPH -0x9993 0x5274 #CJK UNIFIED IDEOGRAPH -0x9994 0x5269 #CJK UNIFIED IDEOGRAPH -0x9995 0x5273 #CJK UNIFIED IDEOGRAPH -0x9996 0x527F #CJK UNIFIED IDEOGRAPH -0x9997 0x527D #CJK UNIFIED IDEOGRAPH -0x9998 0x528D #CJK UNIFIED IDEOGRAPH -0x9999 0x5294 #CJK UNIFIED IDEOGRAPH -0x999A 0x5292 #CJK UNIFIED IDEOGRAPH -0x999B 0x5271 #CJK UNIFIED IDEOGRAPH -0x999C 0x5288 #CJK UNIFIED IDEOGRAPH -0x999D 0x5291 #CJK UNIFIED IDEOGRAPH -0x999E 0x8FA8 #CJK UNIFIED IDEOGRAPH -0x999F 0x8FA7 #CJK UNIFIED IDEOGRAPH -0x99A0 0x52AC #CJK UNIFIED IDEOGRAPH -0x99A1 0x52AD #CJK UNIFIED IDEOGRAPH -0x99A2 0x52BC #CJK UNIFIED IDEOGRAPH -0x99A3 0x52B5 #CJK UNIFIED IDEOGRAPH -0x99A4 0x52C1 #CJK UNIFIED IDEOGRAPH -0x99A5 0x52CD #CJK UNIFIED IDEOGRAPH -0x99A6 0x52D7 #CJK UNIFIED IDEOGRAPH -0x99A7 0x52DE #CJK UNIFIED IDEOGRAPH -0x99A8 0x52E3 #CJK UNIFIED IDEOGRAPH -0x99A9 0x52E6 #CJK UNIFIED IDEOGRAPH -0x99AA 0x98ED #CJK UNIFIED IDEOGRAPH -0x99AB 0x52E0 #CJK UNIFIED IDEOGRAPH -0x99AC 0x52F3 #CJK UNIFIED IDEOGRAPH -0x99AD 0x52F5 #CJK UNIFIED IDEOGRAPH -0x99AE 0x52F8 #CJK UNIFIED IDEOGRAPH -0x99AF 0x52F9 #CJK UNIFIED IDEOGRAPH -0x99B0 0x5306 #CJK UNIFIED IDEOGRAPH -0x99B1 0x5308 #CJK UNIFIED IDEOGRAPH -0x99B2 0x7538 #CJK UNIFIED IDEOGRAPH -0x99B3 0x530D #CJK UNIFIED IDEOGRAPH -0x99B4 0x5310 #CJK UNIFIED IDEOGRAPH -0x99B5 0x530F #CJK UNIFIED IDEOGRAPH -0x99B6 0x5315 #CJK UNIFIED IDEOGRAPH -0x99B7 0x531A #CJK UNIFIED IDEOGRAPH -0x99B8 0x5323 #CJK UNIFIED IDEOGRAPH -0x99B9 0x532F #CJK UNIFIED IDEOGRAPH -0x99BA 0x5331 #CJK UNIFIED IDEOGRAPH -0x99BB 0x5333 #CJK UNIFIED IDEOGRAPH -0x99BC 0x5338 #CJK UNIFIED IDEOGRAPH -0x99BD 0x5340 #CJK UNIFIED IDEOGRAPH -0x99BE 0x5346 #CJK UNIFIED IDEOGRAPH -0x99BF 0x5345 #CJK UNIFIED IDEOGRAPH -0x99C0 0x4E17 #CJK UNIFIED IDEOGRAPH -0x99C1 0x5349 #CJK UNIFIED IDEOGRAPH -0x99C2 0x534D #CJK UNIFIED IDEOGRAPH -0x99C3 0x51D6 #CJK UNIFIED IDEOGRAPH -0x99C4 0x535E #CJK UNIFIED IDEOGRAPH -0x99C5 0x5369 #CJK UNIFIED IDEOGRAPH -0x99C6 0x536E #CJK UNIFIED IDEOGRAPH -0x99C7 0x5918 #CJK UNIFIED IDEOGRAPH -0x99C8 0x537B #CJK UNIFIED IDEOGRAPH -0x99C9 0x5377 #CJK UNIFIED IDEOGRAPH -0x99CA 0x5382 #CJK UNIFIED IDEOGRAPH -0x99CB 0x5396 #CJK UNIFIED IDEOGRAPH -0x99CC 0x53A0 #CJK UNIFIED IDEOGRAPH -0x99CD 0x53A6 #CJK UNIFIED IDEOGRAPH -0x99CE 0x53A5 #CJK UNIFIED IDEOGRAPH -0x99CF 0x53AE #CJK UNIFIED IDEOGRAPH -0x99D0 0x53B0 #CJK UNIFIED IDEOGRAPH -0x99D1 0x53B6 #CJK UNIFIED IDEOGRAPH -0x99D2 0x53C3 #CJK UNIFIED IDEOGRAPH -0x99D3 0x7C12 #CJK UNIFIED IDEOGRAPH -0x99D4 0x96D9 #CJK UNIFIED IDEOGRAPH -0x99D5 0x53DF #CJK UNIFIED IDEOGRAPH -0x99D6 0x66FC #CJK UNIFIED IDEOGRAPH -0x99D7 0x71EE #CJK UNIFIED IDEOGRAPH -0x99D8 0x53EE #CJK UNIFIED IDEOGRAPH -0x99D9 0x53E8 #CJK UNIFIED IDEOGRAPH -0x99DA 0x53ED #CJK UNIFIED IDEOGRAPH -0x99DB 0x53FA #CJK UNIFIED IDEOGRAPH -0x99DC 0x5401 #CJK UNIFIED IDEOGRAPH -0x99DD 0x543D #CJK UNIFIED IDEOGRAPH -0x99DE 0x5440 #CJK UNIFIED IDEOGRAPH -0x99DF 0x542C #CJK UNIFIED IDEOGRAPH -0x99E0 0x542D #CJK UNIFIED IDEOGRAPH -0x99E1 0x543C #CJK UNIFIED IDEOGRAPH -0x99E2 0x542E #CJK UNIFIED IDEOGRAPH -0x99E3 0x5436 #CJK UNIFIED IDEOGRAPH -0x99E4 0x5429 #CJK UNIFIED IDEOGRAPH -0x99E5 0x541D #CJK UNIFIED IDEOGRAPH -0x99E6 0x544E #CJK UNIFIED IDEOGRAPH -0x99E7 0x548F #CJK UNIFIED IDEOGRAPH -0x99E8 0x5475 #CJK UNIFIED IDEOGRAPH -0x99E9 0x548E #CJK UNIFIED IDEOGRAPH -0x99EA 0x545F #CJK UNIFIED IDEOGRAPH -0x99EB 0x5471 #CJK UNIFIED IDEOGRAPH -0x99EC 0x5477 #CJK UNIFIED IDEOGRAPH -0x99ED 0x5470 #CJK UNIFIED IDEOGRAPH -0x99EE 0x5492 #CJK UNIFIED IDEOGRAPH -0x99EF 0x547B #CJK UNIFIED IDEOGRAPH -0x99F0 0x5480 #CJK UNIFIED IDEOGRAPH -0x99F1 0x5476 #CJK UNIFIED IDEOGRAPH -0x99F2 0x5484 #CJK UNIFIED IDEOGRAPH -0x99F3 0x5490 #CJK UNIFIED IDEOGRAPH -0x99F4 0x5486 #CJK UNIFIED IDEOGRAPH -0x99F5 0x54C7 #CJK UNIFIED IDEOGRAPH -0x99F6 0x54A2 #CJK UNIFIED IDEOGRAPH -0x99F7 0x54B8 #CJK UNIFIED IDEOGRAPH -0x99F8 0x54A5 #CJK UNIFIED IDEOGRAPH -0x99F9 0x54AC #CJK UNIFIED IDEOGRAPH -0x99FA 0x54C4 #CJK UNIFIED IDEOGRAPH -0x99FB 0x54C8 #CJK UNIFIED IDEOGRAPH -0x99FC 0x54A8 #CJK UNIFIED IDEOGRAPH -0x9A40 0x54AB #CJK UNIFIED IDEOGRAPH -0x9A41 0x54C2 #CJK UNIFIED IDEOGRAPH -0x9A42 0x54A4 #CJK UNIFIED IDEOGRAPH -0x9A43 0x54BE #CJK UNIFIED IDEOGRAPH -0x9A44 0x54BC #CJK UNIFIED IDEOGRAPH -0x9A45 0x54D8 #CJK UNIFIED IDEOGRAPH -0x9A46 0x54E5 #CJK UNIFIED IDEOGRAPH -0x9A47 0x54E6 #CJK UNIFIED IDEOGRAPH -0x9A48 0x550F #CJK UNIFIED IDEOGRAPH -0x9A49 0x5514 #CJK UNIFIED IDEOGRAPH -0x9A4A 0x54FD #CJK UNIFIED IDEOGRAPH -0x9A4B 0x54EE #CJK UNIFIED IDEOGRAPH -0x9A4C 0x54ED #CJK UNIFIED IDEOGRAPH -0x9A4D 0x54FA #CJK UNIFIED IDEOGRAPH -0x9A4E 0x54E2 #CJK UNIFIED IDEOGRAPH -0x9A4F 0x5539 #CJK UNIFIED IDEOGRAPH -0x9A50 0x5540 #CJK UNIFIED IDEOGRAPH -0x9A51 0x5563 #CJK UNIFIED IDEOGRAPH -0x9A52 0x554C #CJK UNIFIED IDEOGRAPH -0x9A53 0x552E #CJK UNIFIED IDEOGRAPH -0x9A54 0x555C #CJK UNIFIED IDEOGRAPH -0x9A55 0x5545 #CJK UNIFIED IDEOGRAPH -0x9A56 0x5556 #CJK UNIFIED IDEOGRAPH -0x9A57 0x5557 #CJK UNIFIED IDEOGRAPH -0x9A58 0x5538 #CJK UNIFIED IDEOGRAPH -0x9A59 0x5533 #CJK UNIFIED IDEOGRAPH -0x9A5A 0x555D #CJK UNIFIED IDEOGRAPH -0x9A5B 0x5599 #CJK UNIFIED IDEOGRAPH -0x9A5C 0x5580 #CJK UNIFIED IDEOGRAPH -0x9A5D 0x54AF #CJK UNIFIED IDEOGRAPH -0x9A5E 0x558A #CJK UNIFIED IDEOGRAPH -0x9A5F 0x559F #CJK UNIFIED IDEOGRAPH -0x9A60 0x557B #CJK UNIFIED IDEOGRAPH -0x9A61 0x557E #CJK UNIFIED IDEOGRAPH -0x9A62 0x5598 #CJK UNIFIED IDEOGRAPH -0x9A63 0x559E #CJK UNIFIED IDEOGRAPH -0x9A64 0x55AE #CJK UNIFIED IDEOGRAPH -0x9A65 0x557C #CJK UNIFIED IDEOGRAPH -0x9A66 0x5583 #CJK UNIFIED IDEOGRAPH -0x9A67 0x55A9 #CJK UNIFIED IDEOGRAPH -0x9A68 0x5587 #CJK UNIFIED IDEOGRAPH -0x9A69 0x55A8 #CJK UNIFIED IDEOGRAPH -0x9A6A 0x55DA #CJK UNIFIED IDEOGRAPH -0x9A6B 0x55C5 #CJK UNIFIED IDEOGRAPH -0x9A6C 0x55DF #CJK UNIFIED IDEOGRAPH -0x9A6D 0x55C4 #CJK UNIFIED IDEOGRAPH -0x9A6E 0x55DC #CJK UNIFIED IDEOGRAPH -0x9A6F 0x55E4 #CJK UNIFIED IDEOGRAPH -0x9A70 0x55D4 #CJK UNIFIED IDEOGRAPH -0x9A71 0x5614 #CJK UNIFIED IDEOGRAPH -0x9A72 0x55F7 #CJK UNIFIED IDEOGRAPH -0x9A73 0x5616 #CJK UNIFIED IDEOGRAPH -0x9A74 0x55FE #CJK UNIFIED IDEOGRAPH -0x9A75 0x55FD #CJK UNIFIED IDEOGRAPH -0x9A76 0x561B #CJK UNIFIED IDEOGRAPH -0x9A77 0x55F9 #CJK UNIFIED IDEOGRAPH -0x9A78 0x564E #CJK UNIFIED IDEOGRAPH -0x9A79 0x5650 #CJK UNIFIED IDEOGRAPH -0x9A7A 0x71DF #CJK UNIFIED IDEOGRAPH -0x9A7B 0x5634 #CJK UNIFIED IDEOGRAPH -0x9A7C 0x5636 #CJK UNIFIED IDEOGRAPH -0x9A7D 0x5632 #CJK UNIFIED IDEOGRAPH -0x9A7E 0x5638 #CJK UNIFIED IDEOGRAPH -0x9A80 0x566B #CJK UNIFIED IDEOGRAPH -0x9A81 0x5664 #CJK UNIFIED IDEOGRAPH -0x9A82 0x562F #CJK UNIFIED IDEOGRAPH -0x9A83 0x566C #CJK UNIFIED IDEOGRAPH -0x9A84 0x566A #CJK UNIFIED IDEOGRAPH -0x9A85 0x5686 #CJK UNIFIED IDEOGRAPH -0x9A86 0x5680 #CJK UNIFIED IDEOGRAPH -0x9A87 0x568A #CJK UNIFIED IDEOGRAPH -0x9A88 0x56A0 #CJK UNIFIED IDEOGRAPH -0x9A89 0x5694 #CJK UNIFIED IDEOGRAPH -0x9A8A 0x568F #CJK UNIFIED IDEOGRAPH -0x9A8B 0x56A5 #CJK UNIFIED IDEOGRAPH -0x9A8C 0x56AE #CJK UNIFIED IDEOGRAPH -0x9A8D 0x56B6 #CJK UNIFIED IDEOGRAPH -0x9A8E 0x56B4 #CJK UNIFIED IDEOGRAPH -0x9A8F 0x56C2 #CJK UNIFIED IDEOGRAPH -0x9A90 0x56BC #CJK UNIFIED IDEOGRAPH -0x9A91 0x56C1 #CJK UNIFIED IDEOGRAPH -0x9A92 0x56C3 #CJK UNIFIED IDEOGRAPH -0x9A93 0x56C0 #CJK UNIFIED IDEOGRAPH -0x9A94 0x56C8 #CJK UNIFIED IDEOGRAPH -0x9A95 0x56CE #CJK UNIFIED IDEOGRAPH -0x9A96 0x56D1 #CJK UNIFIED IDEOGRAPH -0x9A97 0x56D3 #CJK UNIFIED IDEOGRAPH -0x9A98 0x56D7 #CJK UNIFIED IDEOGRAPH -0x9A99 0x56EE #CJK UNIFIED IDEOGRAPH -0x9A9A 0x56F9 #CJK UNIFIED IDEOGRAPH -0x9A9B 0x5700 #CJK UNIFIED IDEOGRAPH -0x9A9C 0x56FF #CJK UNIFIED IDEOGRAPH -0x9A9D 0x5704 #CJK UNIFIED IDEOGRAPH -0x9A9E 0x5709 #CJK UNIFIED IDEOGRAPH -0x9A9F 0x5708 #CJK UNIFIED IDEOGRAPH -0x9AA0 0x570B #CJK UNIFIED IDEOGRAPH -0x9AA1 0x570D #CJK UNIFIED IDEOGRAPH -0x9AA2 0x5713 #CJK UNIFIED IDEOGRAPH -0x9AA3 0x5718 #CJK UNIFIED IDEOGRAPH -0x9AA4 0x5716 #CJK UNIFIED IDEOGRAPH -0x9AA5 0x55C7 #CJK UNIFIED IDEOGRAPH -0x9AA6 0x571C #CJK UNIFIED IDEOGRAPH -0x9AA7 0x5726 #CJK UNIFIED IDEOGRAPH -0x9AA8 0x5737 #CJK UNIFIED IDEOGRAPH -0x9AA9 0x5738 #CJK UNIFIED IDEOGRAPH -0x9AAA 0x574E #CJK UNIFIED IDEOGRAPH -0x9AAB 0x573B #CJK UNIFIED IDEOGRAPH -0x9AAC 0x5740 #CJK UNIFIED IDEOGRAPH -0x9AAD 0x574F #CJK UNIFIED IDEOGRAPH -0x9AAE 0x5769 #CJK UNIFIED IDEOGRAPH -0x9AAF 0x57C0 #CJK UNIFIED IDEOGRAPH -0x9AB0 0x5788 #CJK UNIFIED IDEOGRAPH -0x9AB1 0x5761 #CJK UNIFIED IDEOGRAPH -0x9AB2 0x577F #CJK UNIFIED IDEOGRAPH -0x9AB3 0x5789 #CJK UNIFIED IDEOGRAPH -0x9AB4 0x5793 #CJK UNIFIED IDEOGRAPH -0x9AB5 0x57A0 #CJK UNIFIED IDEOGRAPH -0x9AB6 0x57B3 #CJK UNIFIED IDEOGRAPH -0x9AB7 0x57A4 #CJK UNIFIED IDEOGRAPH -0x9AB8 0x57AA #CJK UNIFIED IDEOGRAPH -0x9AB9 0x57B0 #CJK UNIFIED IDEOGRAPH -0x9ABA 0x57C3 #CJK UNIFIED IDEOGRAPH -0x9ABB 0x57C6 #CJK UNIFIED IDEOGRAPH -0x9ABC 0x57D4 #CJK UNIFIED IDEOGRAPH -0x9ABD 0x57D2 #CJK UNIFIED IDEOGRAPH -0x9ABE 0x57D3 #CJK UNIFIED IDEOGRAPH -0x9ABF 0x580A #CJK UNIFIED IDEOGRAPH -0x9AC0 0x57D6 #CJK UNIFIED IDEOGRAPH -0x9AC1 0x57E3 #CJK UNIFIED IDEOGRAPH -0x9AC2 0x580B #CJK UNIFIED IDEOGRAPH -0x9AC3 0x5819 #CJK UNIFIED IDEOGRAPH -0x9AC4 0x581D #CJK UNIFIED IDEOGRAPH -0x9AC5 0x5872 #CJK UNIFIED IDEOGRAPH -0x9AC6 0x5821 #CJK UNIFIED IDEOGRAPH -0x9AC7 0x5862 #CJK UNIFIED IDEOGRAPH -0x9AC8 0x584B #CJK UNIFIED IDEOGRAPH -0x9AC9 0x5870 #CJK UNIFIED IDEOGRAPH -0x9ACA 0x6BC0 #CJK UNIFIED IDEOGRAPH -0x9ACB 0x5852 #CJK UNIFIED IDEOGRAPH -0x9ACC 0x583D #CJK UNIFIED IDEOGRAPH -0x9ACD 0x5879 #CJK UNIFIED IDEOGRAPH -0x9ACE 0x5885 #CJK UNIFIED IDEOGRAPH -0x9ACF 0x58B9 #CJK UNIFIED IDEOGRAPH -0x9AD0 0x589F #CJK UNIFIED IDEOGRAPH -0x9AD1 0x58AB #CJK UNIFIED IDEOGRAPH -0x9AD2 0x58BA #CJK UNIFIED IDEOGRAPH -0x9AD3 0x58DE #CJK UNIFIED IDEOGRAPH -0x9AD4 0x58BB #CJK UNIFIED IDEOGRAPH -0x9AD5 0x58B8 #CJK UNIFIED IDEOGRAPH -0x9AD6 0x58AE #CJK UNIFIED IDEOGRAPH -0x9AD7 0x58C5 #CJK UNIFIED IDEOGRAPH -0x9AD8 0x58D3 #CJK UNIFIED IDEOGRAPH -0x9AD9 0x58D1 #CJK UNIFIED IDEOGRAPH -0x9ADA 0x58D7 #CJK UNIFIED IDEOGRAPH -0x9ADB 0x58D9 #CJK UNIFIED IDEOGRAPH -0x9ADC 0x58D8 #CJK UNIFIED IDEOGRAPH -0x9ADD 0x58E5 #CJK UNIFIED IDEOGRAPH -0x9ADE 0x58DC #CJK UNIFIED IDEOGRAPH -0x9ADF 0x58E4 #CJK UNIFIED IDEOGRAPH -0x9AE0 0x58DF #CJK UNIFIED IDEOGRAPH -0x9AE1 0x58EF #CJK UNIFIED IDEOGRAPH -0x9AE2 0x58FA #CJK UNIFIED IDEOGRAPH -0x9AE3 0x58F9 #CJK UNIFIED IDEOGRAPH -0x9AE4 0x58FB #CJK UNIFIED IDEOGRAPH -0x9AE5 0x58FC #CJK UNIFIED IDEOGRAPH -0x9AE6 0x58FD #CJK UNIFIED IDEOGRAPH -0x9AE7 0x5902 #CJK UNIFIED IDEOGRAPH -0x9AE8 0x590A #CJK UNIFIED IDEOGRAPH -0x9AE9 0x5910 #CJK UNIFIED IDEOGRAPH -0x9AEA 0x591B #CJK UNIFIED IDEOGRAPH -0x9AEB 0x68A6 #CJK UNIFIED IDEOGRAPH -0x9AEC 0x5925 #CJK UNIFIED IDEOGRAPH -0x9AED 0x592C #CJK UNIFIED IDEOGRAPH -0x9AEE 0x592D #CJK UNIFIED IDEOGRAPH -0x9AEF 0x5932 #CJK UNIFIED IDEOGRAPH -0x9AF0 0x5938 #CJK UNIFIED IDEOGRAPH -0x9AF1 0x593E #CJK UNIFIED IDEOGRAPH -0x9AF2 0x7AD2 #CJK UNIFIED IDEOGRAPH -0x9AF3 0x5955 #CJK UNIFIED IDEOGRAPH -0x9AF4 0x5950 #CJK UNIFIED IDEOGRAPH -0x9AF5 0x594E #CJK UNIFIED IDEOGRAPH -0x9AF6 0x595A #CJK UNIFIED IDEOGRAPH -0x9AF7 0x5958 #CJK UNIFIED IDEOGRAPH -0x9AF8 0x5962 #CJK UNIFIED IDEOGRAPH -0x9AF9 0x5960 #CJK UNIFIED IDEOGRAPH -0x9AFA 0x5967 #CJK UNIFIED IDEOGRAPH -0x9AFB 0x596C #CJK UNIFIED IDEOGRAPH -0x9AFC 0x5969 #CJK UNIFIED IDEOGRAPH -0x9B40 0x5978 #CJK UNIFIED IDEOGRAPH -0x9B41 0x5981 #CJK UNIFIED IDEOGRAPH -0x9B42 0x599D #CJK UNIFIED IDEOGRAPH -0x9B43 0x4F5E #CJK UNIFIED IDEOGRAPH -0x9B44 0x4FAB #CJK UNIFIED IDEOGRAPH -0x9B45 0x59A3 #CJK UNIFIED IDEOGRAPH -0x9B46 0x59B2 #CJK UNIFIED IDEOGRAPH -0x9B47 0x59C6 #CJK UNIFIED IDEOGRAPH -0x9B48 0x59E8 #CJK UNIFIED IDEOGRAPH -0x9B49 0x59DC #CJK UNIFIED IDEOGRAPH -0x9B4A 0x598D #CJK UNIFIED IDEOGRAPH -0x9B4B 0x59D9 #CJK UNIFIED IDEOGRAPH -0x9B4C 0x59DA #CJK UNIFIED IDEOGRAPH -0x9B4D 0x5A25 #CJK UNIFIED IDEOGRAPH -0x9B4E 0x5A1F #CJK UNIFIED IDEOGRAPH -0x9B4F 0x5A11 #CJK UNIFIED IDEOGRAPH -0x9B50 0x5A1C #CJK UNIFIED IDEOGRAPH -0x9B51 0x5A09 #CJK UNIFIED IDEOGRAPH -0x9B52 0x5A1A #CJK UNIFIED IDEOGRAPH -0x9B53 0x5A40 #CJK UNIFIED IDEOGRAPH -0x9B54 0x5A6C #CJK UNIFIED IDEOGRAPH -0x9B55 0x5A49 #CJK UNIFIED IDEOGRAPH -0x9B56 0x5A35 #CJK UNIFIED IDEOGRAPH -0x9B57 0x5A36 #CJK UNIFIED IDEOGRAPH -0x9B58 0x5A62 #CJK UNIFIED IDEOGRAPH -0x9B59 0x5A6A #CJK UNIFIED IDEOGRAPH -0x9B5A 0x5A9A #CJK UNIFIED IDEOGRAPH -0x9B5B 0x5ABC #CJK UNIFIED IDEOGRAPH -0x9B5C 0x5ABE #CJK UNIFIED IDEOGRAPH -0x9B5D 0x5ACB #CJK UNIFIED IDEOGRAPH -0x9B5E 0x5AC2 #CJK UNIFIED IDEOGRAPH -0x9B5F 0x5ABD #CJK UNIFIED IDEOGRAPH -0x9B60 0x5AE3 #CJK UNIFIED IDEOGRAPH -0x9B61 0x5AD7 #CJK UNIFIED IDEOGRAPH -0x9B62 0x5AE6 #CJK UNIFIED IDEOGRAPH -0x9B63 0x5AE9 #CJK UNIFIED IDEOGRAPH -0x9B64 0x5AD6 #CJK UNIFIED IDEOGRAPH -0x9B65 0x5AFA #CJK UNIFIED IDEOGRAPH -0x9B66 0x5AFB #CJK UNIFIED IDEOGRAPH -0x9B67 0x5B0C #CJK UNIFIED IDEOGRAPH -0x9B68 0x5B0B #CJK UNIFIED IDEOGRAPH -0x9B69 0x5B16 #CJK UNIFIED IDEOGRAPH -0x9B6A 0x5B32 #CJK UNIFIED IDEOGRAPH -0x9B6B 0x5AD0 #CJK UNIFIED IDEOGRAPH -0x9B6C 0x5B2A #CJK UNIFIED IDEOGRAPH -0x9B6D 0x5B36 #CJK UNIFIED IDEOGRAPH -0x9B6E 0x5B3E #CJK UNIFIED IDEOGRAPH -0x9B6F 0x5B43 #CJK UNIFIED IDEOGRAPH -0x9B70 0x5B45 #CJK UNIFIED IDEOGRAPH -0x9B71 0x5B40 #CJK UNIFIED IDEOGRAPH -0x9B72 0x5B51 #CJK UNIFIED IDEOGRAPH -0x9B73 0x5B55 #CJK UNIFIED IDEOGRAPH -0x9B74 0x5B5A #CJK UNIFIED IDEOGRAPH -0x9B75 0x5B5B #CJK UNIFIED IDEOGRAPH -0x9B76 0x5B65 #CJK UNIFIED IDEOGRAPH -0x9B77 0x5B69 #CJK UNIFIED IDEOGRAPH -0x9B78 0x5B70 #CJK UNIFIED IDEOGRAPH -0x9B79 0x5B73 #CJK UNIFIED IDEOGRAPH -0x9B7A 0x5B75 #CJK UNIFIED IDEOGRAPH -0x9B7B 0x5B78 #CJK UNIFIED IDEOGRAPH -0x9B7C 0x6588 #CJK UNIFIED IDEOGRAPH -0x9B7D 0x5B7A #CJK UNIFIED IDEOGRAPH -0x9B7E 0x5B80 #CJK UNIFIED IDEOGRAPH -0x9B80 0x5B83 #CJK UNIFIED IDEOGRAPH -0x9B81 0x5BA6 #CJK UNIFIED IDEOGRAPH -0x9B82 0x5BB8 #CJK UNIFIED IDEOGRAPH -0x9B83 0x5BC3 #CJK UNIFIED IDEOGRAPH -0x9B84 0x5BC7 #CJK UNIFIED IDEOGRAPH -0x9B85 0x5BC9 #CJK UNIFIED IDEOGRAPH -0x9B86 0x5BD4 #CJK UNIFIED IDEOGRAPH -0x9B87 0x5BD0 #CJK UNIFIED IDEOGRAPH -0x9B88 0x5BE4 #CJK UNIFIED IDEOGRAPH -0x9B89 0x5BE6 #CJK UNIFIED IDEOGRAPH -0x9B8A 0x5BE2 #CJK UNIFIED IDEOGRAPH -0x9B8B 0x5BDE #CJK UNIFIED IDEOGRAPH -0x9B8C 0x5BE5 #CJK UNIFIED IDEOGRAPH -0x9B8D 0x5BEB #CJK UNIFIED IDEOGRAPH -0x9B8E 0x5BF0 #CJK UNIFIED IDEOGRAPH -0x9B8F 0x5BF6 #CJK UNIFIED IDEOGRAPH -0x9B90 0x5BF3 #CJK UNIFIED IDEOGRAPH -0x9B91 0x5C05 #CJK UNIFIED IDEOGRAPH -0x9B92 0x5C07 #CJK UNIFIED IDEOGRAPH -0x9B93 0x5C08 #CJK UNIFIED IDEOGRAPH -0x9B94 0x5C0D #CJK UNIFIED IDEOGRAPH -0x9B95 0x5C13 #CJK UNIFIED IDEOGRAPH -0x9B96 0x5C20 #CJK UNIFIED IDEOGRAPH -0x9B97 0x5C22 #CJK UNIFIED IDEOGRAPH -0x9B98 0x5C28 #CJK UNIFIED IDEOGRAPH -0x9B99 0x5C38 #CJK UNIFIED IDEOGRAPH -0x9B9A 0x5C39 #CJK UNIFIED IDEOGRAPH -0x9B9B 0x5C41 #CJK UNIFIED IDEOGRAPH -0x9B9C 0x5C46 #CJK UNIFIED IDEOGRAPH -0x9B9D 0x5C4E #CJK UNIFIED IDEOGRAPH -0x9B9E 0x5C53 #CJK UNIFIED IDEOGRAPH -0x9B9F 0x5C50 #CJK UNIFIED IDEOGRAPH -0x9BA0 0x5C4F #CJK UNIFIED IDEOGRAPH -0x9BA1 0x5B71 #CJK UNIFIED IDEOGRAPH -0x9BA2 0x5C6C #CJK UNIFIED IDEOGRAPH -0x9BA3 0x5C6E #CJK UNIFIED IDEOGRAPH -0x9BA4 0x4E62 #CJK UNIFIED IDEOGRAPH -0x9BA5 0x5C76 #CJK UNIFIED IDEOGRAPH -0x9BA6 0x5C79 #CJK UNIFIED IDEOGRAPH -0x9BA7 0x5C8C #CJK UNIFIED IDEOGRAPH -0x9BA8 0x5C91 #CJK UNIFIED IDEOGRAPH -0x9BA9 0x5C94 #CJK UNIFIED IDEOGRAPH -0x9BAA 0x599B #CJK UNIFIED IDEOGRAPH -0x9BAB 0x5CAB #CJK UNIFIED IDEOGRAPH -0x9BAC 0x5CBB #CJK UNIFIED IDEOGRAPH -0x9BAD 0x5CB6 #CJK UNIFIED IDEOGRAPH -0x9BAE 0x5CBC #CJK UNIFIED IDEOGRAPH -0x9BAF 0x5CB7 #CJK UNIFIED IDEOGRAPH -0x9BB0 0x5CC5 #CJK UNIFIED IDEOGRAPH -0x9BB1 0x5CBE #CJK UNIFIED IDEOGRAPH -0x9BB2 0x5CC7 #CJK UNIFIED IDEOGRAPH -0x9BB3 0x5CD9 #CJK UNIFIED IDEOGRAPH -0x9BB4 0x5CE9 #CJK UNIFIED IDEOGRAPH -0x9BB5 0x5CFD #CJK UNIFIED IDEOGRAPH -0x9BB6 0x5CFA #CJK UNIFIED IDEOGRAPH -0x9BB7 0x5CED #CJK UNIFIED IDEOGRAPH -0x9BB8 0x5D8C #CJK UNIFIED IDEOGRAPH -0x9BB9 0x5CEA #CJK UNIFIED IDEOGRAPH -0x9BBA 0x5D0B #CJK UNIFIED IDEOGRAPH -0x9BBB 0x5D15 #CJK UNIFIED IDEOGRAPH -0x9BBC 0x5D17 #CJK UNIFIED IDEOGRAPH -0x9BBD 0x5D5C #CJK UNIFIED IDEOGRAPH -0x9BBE 0x5D1F #CJK UNIFIED IDEOGRAPH -0x9BBF 0x5D1B #CJK UNIFIED IDEOGRAPH -0x9BC0 0x5D11 #CJK UNIFIED IDEOGRAPH -0x9BC1 0x5D14 #CJK UNIFIED IDEOGRAPH -0x9BC2 0x5D22 #CJK UNIFIED IDEOGRAPH -0x9BC3 0x5D1A #CJK UNIFIED IDEOGRAPH -0x9BC4 0x5D19 #CJK UNIFIED IDEOGRAPH -0x9BC5 0x5D18 #CJK UNIFIED IDEOGRAPH -0x9BC6 0x5D4C #CJK UNIFIED IDEOGRAPH -0x9BC7 0x5D52 #CJK UNIFIED IDEOGRAPH -0x9BC8 0x5D4E #CJK UNIFIED IDEOGRAPH -0x9BC9 0x5D4B #CJK UNIFIED IDEOGRAPH -0x9BCA 0x5D6C #CJK UNIFIED IDEOGRAPH -0x9BCB 0x5D73 #CJK UNIFIED IDEOGRAPH -0x9BCC 0x5D76 #CJK UNIFIED IDEOGRAPH -0x9BCD 0x5D87 #CJK UNIFIED IDEOGRAPH -0x9BCE 0x5D84 #CJK UNIFIED IDEOGRAPH -0x9BCF 0x5D82 #CJK UNIFIED IDEOGRAPH -0x9BD0 0x5DA2 #CJK UNIFIED IDEOGRAPH -0x9BD1 0x5D9D #CJK UNIFIED IDEOGRAPH -0x9BD2 0x5DAC #CJK UNIFIED IDEOGRAPH -0x9BD3 0x5DAE #CJK UNIFIED IDEOGRAPH -0x9BD4 0x5DBD #CJK UNIFIED IDEOGRAPH -0x9BD5 0x5D90 #CJK UNIFIED IDEOGRAPH -0x9BD6 0x5DB7 #CJK UNIFIED IDEOGRAPH -0x9BD7 0x5DBC #CJK UNIFIED IDEOGRAPH -0x9BD8 0x5DC9 #CJK UNIFIED IDEOGRAPH -0x9BD9 0x5DCD #CJK UNIFIED IDEOGRAPH -0x9BDA 0x5DD3 #CJK UNIFIED IDEOGRAPH -0x9BDB 0x5DD2 #CJK UNIFIED IDEOGRAPH -0x9BDC 0x5DD6 #CJK UNIFIED IDEOGRAPH -0x9BDD 0x5DDB #CJK UNIFIED IDEOGRAPH -0x9BDE 0x5DEB #CJK UNIFIED IDEOGRAPH -0x9BDF 0x5DF2 #CJK UNIFIED IDEOGRAPH -0x9BE0 0x5DF5 #CJK UNIFIED IDEOGRAPH -0x9BE1 0x5E0B #CJK UNIFIED IDEOGRAPH -0x9BE2 0x5E1A #CJK UNIFIED IDEOGRAPH -0x9BE3 0x5E19 #CJK UNIFIED IDEOGRAPH -0x9BE4 0x5E11 #CJK UNIFIED IDEOGRAPH -0x9BE5 0x5E1B #CJK UNIFIED IDEOGRAPH -0x9BE6 0x5E36 #CJK UNIFIED IDEOGRAPH -0x9BE7 0x5E37 #CJK UNIFIED IDEOGRAPH -0x9BE8 0x5E44 #CJK UNIFIED IDEOGRAPH -0x9BE9 0x5E43 #CJK UNIFIED IDEOGRAPH -0x9BEA 0x5E40 #CJK UNIFIED IDEOGRAPH -0x9BEB 0x5E4E #CJK UNIFIED IDEOGRAPH -0x9BEC 0x5E57 #CJK UNIFIED IDEOGRAPH -0x9BED 0x5E54 #CJK UNIFIED IDEOGRAPH -0x9BEE 0x5E5F #CJK UNIFIED IDEOGRAPH -0x9BEF 0x5E62 #CJK UNIFIED IDEOGRAPH -0x9BF0 0x5E64 #CJK UNIFIED IDEOGRAPH -0x9BF1 0x5E47 #CJK UNIFIED IDEOGRAPH -0x9BF2 0x5E75 #CJK UNIFIED IDEOGRAPH -0x9BF3 0x5E76 #CJK UNIFIED IDEOGRAPH -0x9BF4 0x5E7A #CJK UNIFIED IDEOGRAPH -0x9BF5 0x9EBC #CJK UNIFIED IDEOGRAPH -0x9BF6 0x5E7F #CJK UNIFIED IDEOGRAPH -0x9BF7 0x5EA0 #CJK UNIFIED IDEOGRAPH -0x9BF8 0x5EC1 #CJK UNIFIED IDEOGRAPH -0x9BF9 0x5EC2 #CJK UNIFIED IDEOGRAPH -0x9BFA 0x5EC8 #CJK UNIFIED IDEOGRAPH -0x9BFB 0x5ED0 #CJK UNIFIED IDEOGRAPH -0x9BFC 0x5ECF #CJK UNIFIED IDEOGRAPH -0x9C40 0x5ED6 #CJK UNIFIED IDEOGRAPH -0x9C41 0x5EE3 #CJK UNIFIED IDEOGRAPH -0x9C42 0x5EDD #CJK UNIFIED IDEOGRAPH -0x9C43 0x5EDA #CJK UNIFIED IDEOGRAPH -0x9C44 0x5EDB #CJK UNIFIED IDEOGRAPH -0x9C45 0x5EE2 #CJK UNIFIED IDEOGRAPH -0x9C46 0x5EE1 #CJK UNIFIED IDEOGRAPH -0x9C47 0x5EE8 #CJK UNIFIED IDEOGRAPH -0x9C48 0x5EE9 #CJK UNIFIED IDEOGRAPH -0x9C49 0x5EEC #CJK UNIFIED IDEOGRAPH -0x9C4A 0x5EF1 #CJK UNIFIED IDEOGRAPH -0x9C4B 0x5EF3 #CJK UNIFIED IDEOGRAPH -0x9C4C 0x5EF0 #CJK UNIFIED IDEOGRAPH -0x9C4D 0x5EF4 #CJK UNIFIED IDEOGRAPH -0x9C4E 0x5EF8 #CJK UNIFIED IDEOGRAPH -0x9C4F 0x5EFE #CJK UNIFIED IDEOGRAPH -0x9C50 0x5F03 #CJK UNIFIED IDEOGRAPH -0x9C51 0x5F09 #CJK UNIFIED IDEOGRAPH -0x9C52 0x5F5D #CJK UNIFIED IDEOGRAPH -0x9C53 0x5F5C #CJK UNIFIED IDEOGRAPH -0x9C54 0x5F0B #CJK UNIFIED IDEOGRAPH -0x9C55 0x5F11 #CJK UNIFIED IDEOGRAPH -0x9C56 0x5F16 #CJK UNIFIED IDEOGRAPH -0x9C57 0x5F29 #CJK UNIFIED IDEOGRAPH -0x9C58 0x5F2D #CJK UNIFIED IDEOGRAPH -0x9C59 0x5F38 #CJK UNIFIED IDEOGRAPH -0x9C5A 0x5F41 #CJK UNIFIED IDEOGRAPH -0x9C5B 0x5F48 #CJK UNIFIED IDEOGRAPH -0x9C5C 0x5F4C #CJK UNIFIED IDEOGRAPH -0x9C5D 0x5F4E #CJK UNIFIED IDEOGRAPH -0x9C5E 0x5F2F #CJK UNIFIED IDEOGRAPH -0x9C5F 0x5F51 #CJK UNIFIED IDEOGRAPH -0x9C60 0x5F56 #CJK UNIFIED IDEOGRAPH -0x9C61 0x5F57 #CJK UNIFIED IDEOGRAPH -0x9C62 0x5F59 #CJK UNIFIED IDEOGRAPH -0x9C63 0x5F61 #CJK UNIFIED IDEOGRAPH -0x9C64 0x5F6D #CJK UNIFIED IDEOGRAPH -0x9C65 0x5F73 #CJK UNIFIED IDEOGRAPH -0x9C66 0x5F77 #CJK UNIFIED IDEOGRAPH -0x9C67 0x5F83 #CJK UNIFIED IDEOGRAPH -0x9C68 0x5F82 #CJK UNIFIED IDEOGRAPH -0x9C69 0x5F7F #CJK UNIFIED IDEOGRAPH -0x9C6A 0x5F8A #CJK UNIFIED IDEOGRAPH -0x9C6B 0x5F88 #CJK UNIFIED IDEOGRAPH -0x9C6C 0x5F91 #CJK UNIFIED IDEOGRAPH -0x9C6D 0x5F87 #CJK UNIFIED IDEOGRAPH -0x9C6E 0x5F9E #CJK UNIFIED IDEOGRAPH -0x9C6F 0x5F99 #CJK UNIFIED IDEOGRAPH -0x9C70 0x5F98 #CJK UNIFIED IDEOGRAPH -0x9C71 0x5FA0 #CJK UNIFIED IDEOGRAPH -0x9C72 0x5FA8 #CJK UNIFIED IDEOGRAPH -0x9C73 0x5FAD #CJK UNIFIED IDEOGRAPH -0x9C74 0x5FBC #CJK UNIFIED IDEOGRAPH -0x9C75 0x5FD6 #CJK UNIFIED IDEOGRAPH -0x9C76 0x5FFB #CJK UNIFIED IDEOGRAPH -0x9C77 0x5FE4 #CJK UNIFIED IDEOGRAPH -0x9C78 0x5FF8 #CJK UNIFIED IDEOGRAPH -0x9C79 0x5FF1 #CJK UNIFIED IDEOGRAPH -0x9C7A 0x5FDD #CJK UNIFIED IDEOGRAPH -0x9C7B 0x60B3 #CJK UNIFIED IDEOGRAPH -0x9C7C 0x5FFF #CJK UNIFIED IDEOGRAPH -0x9C7D 0x6021 #CJK UNIFIED IDEOGRAPH -0x9C7E 0x6060 #CJK UNIFIED IDEOGRAPH -0x9C80 0x6019 #CJK UNIFIED IDEOGRAPH -0x9C81 0x6010 #CJK UNIFIED IDEOGRAPH -0x9C82 0x6029 #CJK UNIFIED IDEOGRAPH -0x9C83 0x600E #CJK UNIFIED IDEOGRAPH -0x9C84 0x6031 #CJK UNIFIED IDEOGRAPH -0x9C85 0x601B #CJK UNIFIED IDEOGRAPH -0x9C86 0x6015 #CJK UNIFIED IDEOGRAPH -0x9C87 0x602B #CJK UNIFIED IDEOGRAPH -0x9C88 0x6026 #CJK UNIFIED IDEOGRAPH -0x9C89 0x600F #CJK UNIFIED IDEOGRAPH -0x9C8A 0x603A #CJK UNIFIED IDEOGRAPH -0x9C8B 0x605A #CJK UNIFIED IDEOGRAPH -0x9C8C 0x6041 #CJK UNIFIED IDEOGRAPH -0x9C8D 0x606A #CJK UNIFIED IDEOGRAPH -0x9C8E 0x6077 #CJK UNIFIED IDEOGRAPH -0x9C8F 0x605F #CJK UNIFIED IDEOGRAPH -0x9C90 0x604A #CJK UNIFIED IDEOGRAPH -0x9C91 0x6046 #CJK UNIFIED IDEOGRAPH -0x9C92 0x604D #CJK UNIFIED IDEOGRAPH -0x9C93 0x6063 #CJK UNIFIED IDEOGRAPH -0x9C94 0x6043 #CJK UNIFIED IDEOGRAPH -0x9C95 0x6064 #CJK UNIFIED IDEOGRAPH -0x9C96 0x6042 #CJK UNIFIED IDEOGRAPH -0x9C97 0x606C #CJK UNIFIED IDEOGRAPH -0x9C98 0x606B #CJK UNIFIED IDEOGRAPH -0x9C99 0x6059 #CJK UNIFIED IDEOGRAPH -0x9C9A 0x6081 #CJK UNIFIED IDEOGRAPH -0x9C9B 0x608D #CJK UNIFIED IDEOGRAPH -0x9C9C 0x60E7 #CJK UNIFIED IDEOGRAPH -0x9C9D 0x6083 #CJK UNIFIED IDEOGRAPH -0x9C9E 0x609A #CJK UNIFIED IDEOGRAPH -0x9C9F 0x6084 #CJK UNIFIED IDEOGRAPH -0x9CA0 0x609B #CJK UNIFIED IDEOGRAPH -0x9CA1 0x6096 #CJK UNIFIED IDEOGRAPH -0x9CA2 0x6097 #CJK UNIFIED IDEOGRAPH -0x9CA3 0x6092 #CJK UNIFIED IDEOGRAPH -0x9CA4 0x60A7 #CJK UNIFIED IDEOGRAPH -0x9CA5 0x608B #CJK UNIFIED IDEOGRAPH -0x9CA6 0x60E1 #CJK UNIFIED IDEOGRAPH -0x9CA7 0x60B8 #CJK UNIFIED IDEOGRAPH -0x9CA8 0x60E0 #CJK UNIFIED IDEOGRAPH -0x9CA9 0x60D3 #CJK UNIFIED IDEOGRAPH -0x9CAA 0x60B4 #CJK UNIFIED IDEOGRAPH -0x9CAB 0x5FF0 #CJK UNIFIED IDEOGRAPH -0x9CAC 0x60BD #CJK UNIFIED IDEOGRAPH -0x9CAD 0x60C6 #CJK UNIFIED IDEOGRAPH -0x9CAE 0x60B5 #CJK UNIFIED IDEOGRAPH -0x9CAF 0x60D8 #CJK UNIFIED IDEOGRAPH -0x9CB0 0x614D #CJK UNIFIED IDEOGRAPH -0x9CB1 0x6115 #CJK UNIFIED IDEOGRAPH -0x9CB2 0x6106 #CJK UNIFIED IDEOGRAPH -0x9CB3 0x60F6 #CJK UNIFIED IDEOGRAPH -0x9CB4 0x60F7 #CJK UNIFIED IDEOGRAPH -0x9CB5 0x6100 #CJK UNIFIED IDEOGRAPH -0x9CB6 0x60F4 #CJK UNIFIED IDEOGRAPH -0x9CB7 0x60FA #CJK UNIFIED IDEOGRAPH -0x9CB8 0x6103 #CJK UNIFIED IDEOGRAPH -0x9CB9 0x6121 #CJK UNIFIED IDEOGRAPH -0x9CBA 0x60FB #CJK UNIFIED IDEOGRAPH -0x9CBB 0x60F1 #CJK UNIFIED IDEOGRAPH -0x9CBC 0x610D #CJK UNIFIED IDEOGRAPH -0x9CBD 0x610E #CJK UNIFIED IDEOGRAPH -0x9CBE 0x6147 #CJK UNIFIED IDEOGRAPH -0x9CBF 0x613E #CJK UNIFIED IDEOGRAPH -0x9CC0 0x6128 #CJK UNIFIED IDEOGRAPH -0x9CC1 0x6127 #CJK UNIFIED IDEOGRAPH -0x9CC2 0x614A #CJK UNIFIED IDEOGRAPH -0x9CC3 0x613F #CJK UNIFIED IDEOGRAPH -0x9CC4 0x613C #CJK UNIFIED IDEOGRAPH -0x9CC5 0x612C #CJK UNIFIED IDEOGRAPH -0x9CC6 0x6134 #CJK UNIFIED IDEOGRAPH -0x9CC7 0x613D #CJK UNIFIED IDEOGRAPH -0x9CC8 0x6142 #CJK UNIFIED IDEOGRAPH -0x9CC9 0x6144 #CJK UNIFIED IDEOGRAPH -0x9CCA 0x6173 #CJK UNIFIED IDEOGRAPH -0x9CCB 0x6177 #CJK UNIFIED IDEOGRAPH -0x9CCC 0x6158 #CJK UNIFIED IDEOGRAPH -0x9CCD 0x6159 #CJK UNIFIED IDEOGRAPH -0x9CCE 0x615A #CJK UNIFIED IDEOGRAPH -0x9CCF 0x616B #CJK UNIFIED IDEOGRAPH -0x9CD0 0x6174 #CJK UNIFIED IDEOGRAPH -0x9CD1 0x616F #CJK UNIFIED IDEOGRAPH -0x9CD2 0x6165 #CJK UNIFIED IDEOGRAPH -0x9CD3 0x6171 #CJK UNIFIED IDEOGRAPH -0x9CD4 0x615F #CJK UNIFIED IDEOGRAPH -0x9CD5 0x615D #CJK UNIFIED IDEOGRAPH -0x9CD6 0x6153 #CJK UNIFIED IDEOGRAPH -0x9CD7 0x6175 #CJK UNIFIED IDEOGRAPH -0x9CD8 0x6199 #CJK UNIFIED IDEOGRAPH -0x9CD9 0x6196 #CJK UNIFIED IDEOGRAPH -0x9CDA 0x6187 #CJK UNIFIED IDEOGRAPH -0x9CDB 0x61AC #CJK UNIFIED IDEOGRAPH -0x9CDC 0x6194 #CJK UNIFIED IDEOGRAPH -0x9CDD 0x619A #CJK UNIFIED IDEOGRAPH -0x9CDE 0x618A #CJK UNIFIED IDEOGRAPH -0x9CDF 0x6191 #CJK UNIFIED IDEOGRAPH -0x9CE0 0x61AB #CJK UNIFIED IDEOGRAPH -0x9CE1 0x61AE #CJK UNIFIED IDEOGRAPH -0x9CE2 0x61CC #CJK UNIFIED IDEOGRAPH -0x9CE3 0x61CA #CJK UNIFIED IDEOGRAPH -0x9CE4 0x61C9 #CJK UNIFIED IDEOGRAPH -0x9CE5 0x61F7 #CJK UNIFIED IDEOGRAPH -0x9CE6 0x61C8 #CJK UNIFIED IDEOGRAPH -0x9CE7 0x61C3 #CJK UNIFIED IDEOGRAPH -0x9CE8 0x61C6 #CJK UNIFIED IDEOGRAPH -0x9CE9 0x61BA #CJK UNIFIED IDEOGRAPH -0x9CEA 0x61CB #CJK UNIFIED IDEOGRAPH -0x9CEB 0x7F79 #CJK UNIFIED IDEOGRAPH -0x9CEC 0x61CD #CJK UNIFIED IDEOGRAPH -0x9CED 0x61E6 #CJK UNIFIED IDEOGRAPH -0x9CEE 0x61E3 #CJK UNIFIED IDEOGRAPH -0x9CEF 0x61F6 #CJK UNIFIED IDEOGRAPH -0x9CF0 0x61FA #CJK UNIFIED IDEOGRAPH -0x9CF1 0x61F4 #CJK UNIFIED IDEOGRAPH -0x9CF2 0x61FF #CJK UNIFIED IDEOGRAPH -0x9CF3 0x61FD #CJK UNIFIED IDEOGRAPH -0x9CF4 0x61FC #CJK UNIFIED IDEOGRAPH -0x9CF5 0x61FE #CJK UNIFIED IDEOGRAPH -0x9CF6 0x6200 #CJK UNIFIED IDEOGRAPH -0x9CF7 0x6208 #CJK UNIFIED IDEOGRAPH -0x9CF8 0x6209 #CJK UNIFIED IDEOGRAPH -0x9CF9 0x620D #CJK UNIFIED IDEOGRAPH -0x9CFA 0x620C #CJK UNIFIED IDEOGRAPH -0x9CFB 0x6214 #CJK UNIFIED IDEOGRAPH -0x9CFC 0x621B #CJK UNIFIED IDEOGRAPH -0x9D40 0x621E #CJK UNIFIED IDEOGRAPH -0x9D41 0x6221 #CJK UNIFIED IDEOGRAPH -0x9D42 0x622A #CJK UNIFIED IDEOGRAPH -0x9D43 0x622E #CJK UNIFIED IDEOGRAPH -0x9D44 0x6230 #CJK UNIFIED IDEOGRAPH -0x9D45 0x6232 #CJK UNIFIED IDEOGRAPH -0x9D46 0x6233 #CJK UNIFIED IDEOGRAPH -0x9D47 0x6241 #CJK UNIFIED IDEOGRAPH -0x9D48 0x624E #CJK UNIFIED IDEOGRAPH -0x9D49 0x625E #CJK UNIFIED IDEOGRAPH -0x9D4A 0x6263 #CJK UNIFIED IDEOGRAPH -0x9D4B 0x625B #CJK UNIFIED IDEOGRAPH -0x9D4C 0x6260 #CJK UNIFIED IDEOGRAPH -0x9D4D 0x6268 #CJK UNIFIED IDEOGRAPH -0x9D4E 0x627C #CJK UNIFIED IDEOGRAPH -0x9D4F 0x6282 #CJK UNIFIED IDEOGRAPH -0x9D50 0x6289 #CJK UNIFIED IDEOGRAPH -0x9D51 0x627E #CJK UNIFIED IDEOGRAPH -0x9D52 0x6292 #CJK UNIFIED IDEOGRAPH -0x9D53 0x6293 #CJK UNIFIED IDEOGRAPH -0x9D54 0x6296 #CJK UNIFIED IDEOGRAPH -0x9D55 0x62D4 #CJK UNIFIED IDEOGRAPH -0x9D56 0x6283 #CJK UNIFIED IDEOGRAPH -0x9D57 0x6294 #CJK UNIFIED IDEOGRAPH -0x9D58 0x62D7 #CJK UNIFIED IDEOGRAPH -0x9D59 0x62D1 #CJK UNIFIED IDEOGRAPH -0x9D5A 0x62BB #CJK UNIFIED IDEOGRAPH -0x9D5B 0x62CF #CJK UNIFIED IDEOGRAPH -0x9D5C 0x62FF #CJK UNIFIED IDEOGRAPH -0x9D5D 0x62C6 #CJK UNIFIED IDEOGRAPH -0x9D5E 0x64D4 #CJK UNIFIED IDEOGRAPH -0x9D5F 0x62C8 #CJK UNIFIED IDEOGRAPH -0x9D60 0x62DC #CJK UNIFIED IDEOGRAPH -0x9D61 0x62CC #CJK UNIFIED IDEOGRAPH -0x9D62 0x62CA #CJK UNIFIED IDEOGRAPH -0x9D63 0x62C2 #CJK UNIFIED IDEOGRAPH -0x9D64 0x62C7 #CJK UNIFIED IDEOGRAPH -0x9D65 0x629B #CJK UNIFIED IDEOGRAPH -0x9D66 0x62C9 #CJK UNIFIED IDEOGRAPH -0x9D67 0x630C #CJK UNIFIED IDEOGRAPH -0x9D68 0x62EE #CJK UNIFIED IDEOGRAPH -0x9D69 0x62F1 #CJK UNIFIED IDEOGRAPH -0x9D6A 0x6327 #CJK UNIFIED IDEOGRAPH -0x9D6B 0x6302 #CJK UNIFIED IDEOGRAPH -0x9D6C 0x6308 #CJK UNIFIED IDEOGRAPH -0x9D6D 0x62EF #CJK UNIFIED IDEOGRAPH -0x9D6E 0x62F5 #CJK UNIFIED IDEOGRAPH -0x9D6F 0x6350 #CJK UNIFIED IDEOGRAPH -0x9D70 0x633E #CJK UNIFIED IDEOGRAPH -0x9D71 0x634D #CJK UNIFIED IDEOGRAPH -0x9D72 0x641C #CJK UNIFIED IDEOGRAPH -0x9D73 0x634F #CJK UNIFIED IDEOGRAPH -0x9D74 0x6396 #CJK UNIFIED IDEOGRAPH -0x9D75 0x638E #CJK UNIFIED IDEOGRAPH -0x9D76 0x6380 #CJK UNIFIED IDEOGRAPH -0x9D77 0x63AB #CJK UNIFIED IDEOGRAPH -0x9D78 0x6376 #CJK UNIFIED IDEOGRAPH -0x9D79 0x63A3 #CJK UNIFIED IDEOGRAPH -0x9D7A 0x638F #CJK UNIFIED IDEOGRAPH -0x9D7B 0x6389 #CJK UNIFIED IDEOGRAPH -0x9D7C 0x639F #CJK UNIFIED IDEOGRAPH -0x9D7D 0x63B5 #CJK UNIFIED IDEOGRAPH -0x9D7E 0x636B #CJK UNIFIED IDEOGRAPH -0x9D80 0x6369 #CJK UNIFIED IDEOGRAPH -0x9D81 0x63BE #CJK UNIFIED IDEOGRAPH -0x9D82 0x63E9 #CJK UNIFIED IDEOGRAPH -0x9D83 0x63C0 #CJK UNIFIED IDEOGRAPH -0x9D84 0x63C6 #CJK UNIFIED IDEOGRAPH -0x9D85 0x63E3 #CJK UNIFIED IDEOGRAPH -0x9D86 0x63C9 #CJK UNIFIED IDEOGRAPH -0x9D87 0x63D2 #CJK UNIFIED IDEOGRAPH -0x9D88 0x63F6 #CJK UNIFIED IDEOGRAPH -0x9D89 0x63C4 #CJK UNIFIED IDEOGRAPH -0x9D8A 0x6416 #CJK UNIFIED IDEOGRAPH -0x9D8B 0x6434 #CJK UNIFIED IDEOGRAPH -0x9D8C 0x6406 #CJK UNIFIED IDEOGRAPH -0x9D8D 0x6413 #CJK UNIFIED IDEOGRAPH -0x9D8E 0x6426 #CJK UNIFIED IDEOGRAPH -0x9D8F 0x6436 #CJK UNIFIED IDEOGRAPH -0x9D90 0x651D #CJK UNIFIED IDEOGRAPH -0x9D91 0x6417 #CJK UNIFIED IDEOGRAPH -0x9D92 0x6428 #CJK UNIFIED IDEOGRAPH -0x9D93 0x640F #CJK UNIFIED IDEOGRAPH -0x9D94 0x6467 #CJK UNIFIED IDEOGRAPH -0x9D95 0x646F #CJK UNIFIED IDEOGRAPH -0x9D96 0x6476 #CJK UNIFIED IDEOGRAPH -0x9D97 0x644E #CJK UNIFIED IDEOGRAPH -0x9D98 0x652A #CJK UNIFIED IDEOGRAPH -0x9D99 0x6495 #CJK UNIFIED IDEOGRAPH -0x9D9A 0x6493 #CJK UNIFIED IDEOGRAPH -0x9D9B 0x64A5 #CJK UNIFIED IDEOGRAPH -0x9D9C 0x64A9 #CJK UNIFIED IDEOGRAPH -0x9D9D 0x6488 #CJK UNIFIED IDEOGRAPH -0x9D9E 0x64BC #CJK UNIFIED IDEOGRAPH -0x9D9F 0x64DA #CJK UNIFIED IDEOGRAPH -0x9DA0 0x64D2 #CJK UNIFIED IDEOGRAPH -0x9DA1 0x64C5 #CJK UNIFIED IDEOGRAPH -0x9DA2 0x64C7 #CJK UNIFIED IDEOGRAPH -0x9DA3 0x64BB #CJK UNIFIED IDEOGRAPH -0x9DA4 0x64D8 #CJK UNIFIED IDEOGRAPH -0x9DA5 0x64C2 #CJK UNIFIED IDEOGRAPH -0x9DA6 0x64F1 #CJK UNIFIED IDEOGRAPH -0x9DA7 0x64E7 #CJK UNIFIED IDEOGRAPH -0x9DA8 0x8209 #CJK UNIFIED IDEOGRAPH -0x9DA9 0x64E0 #CJK UNIFIED IDEOGRAPH -0x9DAA 0x64E1 #CJK UNIFIED IDEOGRAPH -0x9DAB 0x62AC #CJK UNIFIED IDEOGRAPH -0x9DAC 0x64E3 #CJK UNIFIED IDEOGRAPH -0x9DAD 0x64EF #CJK UNIFIED IDEOGRAPH -0x9DAE 0x652C #CJK UNIFIED IDEOGRAPH -0x9DAF 0x64F6 #CJK UNIFIED IDEOGRAPH -0x9DB0 0x64F4 #CJK UNIFIED IDEOGRAPH -0x9DB1 0x64F2 #CJK UNIFIED IDEOGRAPH -0x9DB2 0x64FA #CJK UNIFIED IDEOGRAPH -0x9DB3 0x6500 #CJK UNIFIED IDEOGRAPH -0x9DB4 0x64FD #CJK UNIFIED IDEOGRAPH -0x9DB5 0x6518 #CJK UNIFIED IDEOGRAPH -0x9DB6 0x651C #CJK UNIFIED IDEOGRAPH -0x9DB7 0x6505 #CJK UNIFIED IDEOGRAPH -0x9DB8 0x6524 #CJK UNIFIED IDEOGRAPH -0x9DB9 0x6523 #CJK UNIFIED IDEOGRAPH -0x9DBA 0x652B #CJK UNIFIED IDEOGRAPH -0x9DBB 0x6534 #CJK UNIFIED IDEOGRAPH -0x9DBC 0x6535 #CJK UNIFIED IDEOGRAPH -0x9DBD 0x6537 #CJK UNIFIED IDEOGRAPH -0x9DBE 0x6536 #CJK UNIFIED IDEOGRAPH -0x9DBF 0x6538 #CJK UNIFIED IDEOGRAPH -0x9DC0 0x754B #CJK UNIFIED IDEOGRAPH -0x9DC1 0x6548 #CJK UNIFIED IDEOGRAPH -0x9DC2 0x6556 #CJK UNIFIED IDEOGRAPH -0x9DC3 0x6555 #CJK UNIFIED IDEOGRAPH -0x9DC4 0x654D #CJK UNIFIED IDEOGRAPH -0x9DC5 0x6558 #CJK UNIFIED IDEOGRAPH -0x9DC6 0x655E #CJK UNIFIED IDEOGRAPH -0x9DC7 0x655D #CJK UNIFIED IDEOGRAPH -0x9DC8 0x6572 #CJK UNIFIED IDEOGRAPH -0x9DC9 0x6578 #CJK UNIFIED IDEOGRAPH -0x9DCA 0x6582 #CJK UNIFIED IDEOGRAPH -0x9DCB 0x6583 #CJK UNIFIED IDEOGRAPH -0x9DCC 0x8B8A #CJK UNIFIED IDEOGRAPH -0x9DCD 0x659B #CJK UNIFIED IDEOGRAPH -0x9DCE 0x659F #CJK UNIFIED IDEOGRAPH -0x9DCF 0x65AB #CJK UNIFIED IDEOGRAPH -0x9DD0 0x65B7 #CJK UNIFIED IDEOGRAPH -0x9DD1 0x65C3 #CJK UNIFIED IDEOGRAPH -0x9DD2 0x65C6 #CJK UNIFIED IDEOGRAPH -0x9DD3 0x65C1 #CJK UNIFIED IDEOGRAPH -0x9DD4 0x65C4 #CJK UNIFIED IDEOGRAPH -0x9DD5 0x65CC #CJK UNIFIED IDEOGRAPH -0x9DD6 0x65D2 #CJK UNIFIED IDEOGRAPH -0x9DD7 0x65DB #CJK UNIFIED IDEOGRAPH -0x9DD8 0x65D9 #CJK UNIFIED IDEOGRAPH -0x9DD9 0x65E0 #CJK UNIFIED IDEOGRAPH -0x9DDA 0x65E1 #CJK UNIFIED IDEOGRAPH -0x9DDB 0x65F1 #CJK UNIFIED IDEOGRAPH -0x9DDC 0x6772 #CJK UNIFIED IDEOGRAPH -0x9DDD 0x660A #CJK UNIFIED IDEOGRAPH -0x9DDE 0x6603 #CJK UNIFIED IDEOGRAPH -0x9DDF 0x65FB #CJK UNIFIED IDEOGRAPH -0x9DE0 0x6773 #CJK UNIFIED IDEOGRAPH -0x9DE1 0x6635 #CJK UNIFIED IDEOGRAPH -0x9DE2 0x6636 #CJK UNIFIED IDEOGRAPH -0x9DE3 0x6634 #CJK UNIFIED IDEOGRAPH -0x9DE4 0x661C #CJK UNIFIED IDEOGRAPH -0x9DE5 0x664F #CJK UNIFIED IDEOGRAPH -0x9DE6 0x6644 #CJK UNIFIED IDEOGRAPH -0x9DE7 0x6649 #CJK UNIFIED IDEOGRAPH -0x9DE8 0x6641 #CJK UNIFIED IDEOGRAPH -0x9DE9 0x665E #CJK UNIFIED IDEOGRAPH -0x9DEA 0x665D #CJK UNIFIED IDEOGRAPH -0x9DEB 0x6664 #CJK UNIFIED IDEOGRAPH -0x9DEC 0x6667 #CJK UNIFIED IDEOGRAPH -0x9DED 0x6668 #CJK UNIFIED IDEOGRAPH -0x9DEE 0x665F #CJK UNIFIED IDEOGRAPH -0x9DEF 0x6662 #CJK UNIFIED IDEOGRAPH -0x9DF0 0x6670 #CJK UNIFIED IDEOGRAPH -0x9DF1 0x6683 #CJK UNIFIED IDEOGRAPH -0x9DF2 0x6688 #CJK UNIFIED IDEOGRAPH -0x9DF3 0x668E #CJK UNIFIED IDEOGRAPH -0x9DF4 0x6689 #CJK UNIFIED IDEOGRAPH -0x9DF5 0x6684 #CJK UNIFIED IDEOGRAPH -0x9DF6 0x6698 #CJK UNIFIED IDEOGRAPH -0x9DF7 0x669D #CJK UNIFIED IDEOGRAPH -0x9DF8 0x66C1 #CJK UNIFIED IDEOGRAPH -0x9DF9 0x66B9 #CJK UNIFIED IDEOGRAPH -0x9DFA 0x66C9 #CJK UNIFIED IDEOGRAPH -0x9DFB 0x66BE #CJK UNIFIED IDEOGRAPH -0x9DFC 0x66BC #CJK UNIFIED IDEOGRAPH -0x9E40 0x66C4 #CJK UNIFIED IDEOGRAPH -0x9E41 0x66B8 #CJK UNIFIED IDEOGRAPH -0x9E42 0x66D6 #CJK UNIFIED IDEOGRAPH -0x9E43 0x66DA #CJK UNIFIED IDEOGRAPH -0x9E44 0x66E0 #CJK UNIFIED IDEOGRAPH -0x9E45 0x663F #CJK UNIFIED IDEOGRAPH -0x9E46 0x66E6 #CJK UNIFIED IDEOGRAPH -0x9E47 0x66E9 #CJK UNIFIED IDEOGRAPH -0x9E48 0x66F0 #CJK UNIFIED IDEOGRAPH -0x9E49 0x66F5 #CJK UNIFIED IDEOGRAPH -0x9E4A 0x66F7 #CJK UNIFIED IDEOGRAPH -0x9E4B 0x670F #CJK UNIFIED IDEOGRAPH -0x9E4C 0x6716 #CJK UNIFIED IDEOGRAPH -0x9E4D 0x671E #CJK UNIFIED IDEOGRAPH -0x9E4E 0x6726 #CJK UNIFIED IDEOGRAPH -0x9E4F 0x6727 #CJK UNIFIED IDEOGRAPH -0x9E50 0x9738 #CJK UNIFIED IDEOGRAPH -0x9E51 0x672E #CJK UNIFIED IDEOGRAPH -0x9E52 0x673F #CJK UNIFIED IDEOGRAPH -0x9E53 0x6736 #CJK UNIFIED IDEOGRAPH -0x9E54 0x6741 #CJK UNIFIED IDEOGRAPH -0x9E55 0x6738 #CJK UNIFIED IDEOGRAPH -0x9E56 0x6737 #CJK UNIFIED IDEOGRAPH -0x9E57 0x6746 #CJK UNIFIED IDEOGRAPH -0x9E58 0x675E #CJK UNIFIED IDEOGRAPH -0x9E59 0x6760 #CJK UNIFIED IDEOGRAPH -0x9E5A 0x6759 #CJK UNIFIED IDEOGRAPH -0x9E5B 0x6763 #CJK UNIFIED IDEOGRAPH -0x9E5C 0x6764 #CJK UNIFIED IDEOGRAPH -0x9E5D 0x6789 #CJK UNIFIED IDEOGRAPH -0x9E5E 0x6770 #CJK UNIFIED IDEOGRAPH -0x9E5F 0x67A9 #CJK UNIFIED IDEOGRAPH -0x9E60 0x677C #CJK UNIFIED IDEOGRAPH -0x9E61 0x676A #CJK UNIFIED IDEOGRAPH -0x9E62 0x678C #CJK UNIFIED IDEOGRAPH -0x9E63 0x678B #CJK UNIFIED IDEOGRAPH -0x9E64 0x67A6 #CJK UNIFIED IDEOGRAPH -0x9E65 0x67A1 #CJK UNIFIED IDEOGRAPH -0x9E66 0x6785 #CJK UNIFIED IDEOGRAPH -0x9E67 0x67B7 #CJK UNIFIED IDEOGRAPH -0x9E68 0x67EF #CJK UNIFIED IDEOGRAPH -0x9E69 0x67B4 #CJK UNIFIED IDEOGRAPH -0x9E6A 0x67EC #CJK UNIFIED IDEOGRAPH -0x9E6B 0x67B3 #CJK UNIFIED IDEOGRAPH -0x9E6C 0x67E9 #CJK UNIFIED IDEOGRAPH -0x9E6D 0x67B8 #CJK UNIFIED IDEOGRAPH -0x9E6E 0x67E4 #CJK UNIFIED IDEOGRAPH -0x9E6F 0x67DE #CJK UNIFIED IDEOGRAPH -0x9E70 0x67DD #CJK UNIFIED IDEOGRAPH -0x9E71 0x67E2 #CJK UNIFIED IDEOGRAPH -0x9E72 0x67EE #CJK UNIFIED IDEOGRAPH -0x9E73 0x67B9 #CJK UNIFIED IDEOGRAPH -0x9E74 0x67CE #CJK UNIFIED IDEOGRAPH -0x9E75 0x67C6 #CJK UNIFIED IDEOGRAPH -0x9E76 0x67E7 #CJK UNIFIED IDEOGRAPH -0x9E77 0x6A9C #CJK UNIFIED IDEOGRAPH -0x9E78 0x681E #CJK UNIFIED IDEOGRAPH -0x9E79 0x6846 #CJK UNIFIED IDEOGRAPH -0x9E7A 0x6829 #CJK UNIFIED IDEOGRAPH -0x9E7B 0x6840 #CJK UNIFIED IDEOGRAPH -0x9E7C 0x684D #CJK UNIFIED IDEOGRAPH -0x9E7D 0x6832 #CJK UNIFIED IDEOGRAPH -0x9E7E 0x684E #CJK UNIFIED IDEOGRAPH -0x9E80 0x68B3 #CJK UNIFIED IDEOGRAPH -0x9E81 0x682B #CJK UNIFIED IDEOGRAPH -0x9E82 0x6859 #CJK UNIFIED IDEOGRAPH -0x9E83 0x6863 #CJK UNIFIED IDEOGRAPH -0x9E84 0x6877 #CJK UNIFIED IDEOGRAPH -0x9E85 0x687F #CJK UNIFIED IDEOGRAPH -0x9E86 0x689F #CJK UNIFIED IDEOGRAPH -0x9E87 0x688F #CJK UNIFIED IDEOGRAPH -0x9E88 0x68AD #CJK UNIFIED IDEOGRAPH -0x9E89 0x6894 #CJK UNIFIED IDEOGRAPH -0x9E8A 0x689D #CJK UNIFIED IDEOGRAPH -0x9E8B 0x689B #CJK UNIFIED IDEOGRAPH -0x9E8C 0x6883 #CJK UNIFIED IDEOGRAPH -0x9E8D 0x6AAE #CJK UNIFIED IDEOGRAPH -0x9E8E 0x68B9 #CJK UNIFIED IDEOGRAPH -0x9E8F 0x6874 #CJK UNIFIED IDEOGRAPH -0x9E90 0x68B5 #CJK UNIFIED IDEOGRAPH -0x9E91 0x68A0 #CJK UNIFIED IDEOGRAPH -0x9E92 0x68BA #CJK UNIFIED IDEOGRAPH -0x9E93 0x690F #CJK UNIFIED IDEOGRAPH -0x9E94 0x688D #CJK UNIFIED IDEOGRAPH -0x9E95 0x687E #CJK UNIFIED IDEOGRAPH -0x9E96 0x6901 #CJK UNIFIED IDEOGRAPH -0x9E97 0x68CA #CJK UNIFIED IDEOGRAPH -0x9E98 0x6908 #CJK UNIFIED IDEOGRAPH -0x9E99 0x68D8 #CJK UNIFIED IDEOGRAPH -0x9E9A 0x6922 #CJK UNIFIED IDEOGRAPH -0x9E9B 0x6926 #CJK UNIFIED IDEOGRAPH -0x9E9C 0x68E1 #CJK UNIFIED IDEOGRAPH -0x9E9D 0x690C #CJK UNIFIED IDEOGRAPH -0x9E9E 0x68CD #CJK UNIFIED IDEOGRAPH -0x9E9F 0x68D4 #CJK UNIFIED IDEOGRAPH -0x9EA0 0x68E7 #CJK UNIFIED IDEOGRAPH -0x9EA1 0x68D5 #CJK UNIFIED IDEOGRAPH -0x9EA2 0x6936 #CJK UNIFIED IDEOGRAPH -0x9EA3 0x6912 #CJK UNIFIED IDEOGRAPH -0x9EA4 0x6904 #CJK UNIFIED IDEOGRAPH -0x9EA5 0x68D7 #CJK UNIFIED IDEOGRAPH -0x9EA6 0x68E3 #CJK UNIFIED IDEOGRAPH -0x9EA7 0x6925 #CJK UNIFIED IDEOGRAPH -0x9EA8 0x68F9 #CJK UNIFIED IDEOGRAPH -0x9EA9 0x68E0 #CJK UNIFIED IDEOGRAPH -0x9EAA 0x68EF #CJK UNIFIED IDEOGRAPH -0x9EAB 0x6928 #CJK UNIFIED IDEOGRAPH -0x9EAC 0x692A #CJK UNIFIED IDEOGRAPH -0x9EAD 0x691A #CJK UNIFIED IDEOGRAPH -0x9EAE 0x6923 #CJK UNIFIED IDEOGRAPH -0x9EAF 0x6921 #CJK UNIFIED IDEOGRAPH -0x9EB0 0x68C6 #CJK UNIFIED IDEOGRAPH -0x9EB1 0x6979 #CJK UNIFIED IDEOGRAPH -0x9EB2 0x6977 #CJK UNIFIED IDEOGRAPH -0x9EB3 0x695C #CJK UNIFIED IDEOGRAPH -0x9EB4 0x6978 #CJK UNIFIED IDEOGRAPH -0x9EB5 0x696B #CJK UNIFIED IDEOGRAPH -0x9EB6 0x6954 #CJK UNIFIED IDEOGRAPH -0x9EB7 0x697E #CJK UNIFIED IDEOGRAPH -0x9EB8 0x696E #CJK UNIFIED IDEOGRAPH -0x9EB9 0x6939 #CJK UNIFIED IDEOGRAPH -0x9EBA 0x6974 #CJK UNIFIED IDEOGRAPH -0x9EBB 0x693D #CJK UNIFIED IDEOGRAPH -0x9EBC 0x6959 #CJK UNIFIED IDEOGRAPH -0x9EBD 0x6930 #CJK UNIFIED IDEOGRAPH -0x9EBE 0x6961 #CJK UNIFIED IDEOGRAPH -0x9EBF 0x695E #CJK UNIFIED IDEOGRAPH -0x9EC0 0x695D #CJK UNIFIED IDEOGRAPH -0x9EC1 0x6981 #CJK UNIFIED IDEOGRAPH -0x9EC2 0x696A #CJK UNIFIED IDEOGRAPH -0x9EC3 0x69B2 #CJK UNIFIED IDEOGRAPH -0x9EC4 0x69AE #CJK UNIFIED IDEOGRAPH -0x9EC5 0x69D0 #CJK UNIFIED IDEOGRAPH -0x9EC6 0x69BF #CJK UNIFIED IDEOGRAPH -0x9EC7 0x69C1 #CJK UNIFIED IDEOGRAPH -0x9EC8 0x69D3 #CJK UNIFIED IDEOGRAPH -0x9EC9 0x69BE #CJK UNIFIED IDEOGRAPH -0x9ECA 0x69CE #CJK UNIFIED IDEOGRAPH -0x9ECB 0x5BE8 #CJK UNIFIED IDEOGRAPH -0x9ECC 0x69CA #CJK UNIFIED IDEOGRAPH -0x9ECD 0x69DD #CJK UNIFIED IDEOGRAPH -0x9ECE 0x69BB #CJK UNIFIED IDEOGRAPH -0x9ECF 0x69C3 #CJK UNIFIED IDEOGRAPH -0x9ED0 0x69A7 #CJK UNIFIED IDEOGRAPH -0x9ED1 0x6A2E #CJK UNIFIED IDEOGRAPH -0x9ED2 0x6991 #CJK UNIFIED IDEOGRAPH -0x9ED3 0x69A0 #CJK UNIFIED IDEOGRAPH -0x9ED4 0x699C #CJK UNIFIED IDEOGRAPH -0x9ED5 0x6995 #CJK UNIFIED IDEOGRAPH -0x9ED6 0x69B4 #CJK UNIFIED IDEOGRAPH -0x9ED7 0x69DE #CJK UNIFIED IDEOGRAPH -0x9ED8 0x69E8 #CJK UNIFIED IDEOGRAPH -0x9ED9 0x6A02 #CJK UNIFIED IDEOGRAPH -0x9EDA 0x6A1B #CJK UNIFIED IDEOGRAPH -0x9EDB 0x69FF #CJK UNIFIED IDEOGRAPH -0x9EDC 0x6B0A #CJK UNIFIED IDEOGRAPH -0x9EDD 0x69F9 #CJK UNIFIED IDEOGRAPH -0x9EDE 0x69F2 #CJK UNIFIED IDEOGRAPH -0x9EDF 0x69E7 #CJK UNIFIED IDEOGRAPH -0x9EE0 0x6A05 #CJK UNIFIED IDEOGRAPH -0x9EE1 0x69B1 #CJK UNIFIED IDEOGRAPH -0x9EE2 0x6A1E #CJK UNIFIED IDEOGRAPH -0x9EE3 0x69ED #CJK UNIFIED IDEOGRAPH -0x9EE4 0x6A14 #CJK UNIFIED IDEOGRAPH -0x9EE5 0x69EB #CJK UNIFIED IDEOGRAPH -0x9EE6 0x6A0A #CJK UNIFIED IDEOGRAPH -0x9EE7 0x6A12 #CJK UNIFIED IDEOGRAPH -0x9EE8 0x6AC1 #CJK UNIFIED IDEOGRAPH -0x9EE9 0x6A23 #CJK UNIFIED IDEOGRAPH -0x9EEA 0x6A13 #CJK UNIFIED IDEOGRAPH -0x9EEB 0x6A44 #CJK UNIFIED IDEOGRAPH -0x9EEC 0x6A0C #CJK UNIFIED IDEOGRAPH -0x9EED 0x6A72 #CJK UNIFIED IDEOGRAPH -0x9EEE 0x6A36 #CJK UNIFIED IDEOGRAPH -0x9EEF 0x6A78 #CJK UNIFIED IDEOGRAPH -0x9EF0 0x6A47 #CJK UNIFIED IDEOGRAPH -0x9EF1 0x6A62 #CJK UNIFIED IDEOGRAPH -0x9EF2 0x6A59 #CJK UNIFIED IDEOGRAPH -0x9EF3 0x6A66 #CJK UNIFIED IDEOGRAPH -0x9EF4 0x6A48 #CJK UNIFIED IDEOGRAPH -0x9EF5 0x6A38 #CJK UNIFIED IDEOGRAPH -0x9EF6 0x6A22 #CJK UNIFIED IDEOGRAPH -0x9EF7 0x6A90 #CJK UNIFIED IDEOGRAPH -0x9EF8 0x6A8D #CJK UNIFIED IDEOGRAPH -0x9EF9 0x6AA0 #CJK UNIFIED IDEOGRAPH -0x9EFA 0x6A84 #CJK UNIFIED IDEOGRAPH -0x9EFB 0x6AA2 #CJK UNIFIED IDEOGRAPH -0x9EFC 0x6AA3 #CJK UNIFIED IDEOGRAPH -0x9F40 0x6A97 #CJK UNIFIED IDEOGRAPH -0x9F41 0x8617 #CJK UNIFIED IDEOGRAPH -0x9F42 0x6ABB #CJK UNIFIED IDEOGRAPH -0x9F43 0x6AC3 #CJK UNIFIED IDEOGRAPH -0x9F44 0x6AC2 #CJK UNIFIED IDEOGRAPH -0x9F45 0x6AB8 #CJK UNIFIED IDEOGRAPH -0x9F46 0x6AB3 #CJK UNIFIED IDEOGRAPH -0x9F47 0x6AAC #CJK UNIFIED IDEOGRAPH -0x9F48 0x6ADE #CJK UNIFIED IDEOGRAPH -0x9F49 0x6AD1 #CJK UNIFIED IDEOGRAPH -0x9F4A 0x6ADF #CJK UNIFIED IDEOGRAPH -0x9F4B 0x6AAA #CJK UNIFIED IDEOGRAPH -0x9F4C 0x6ADA #CJK UNIFIED IDEOGRAPH -0x9F4D 0x6AEA #CJK UNIFIED IDEOGRAPH -0x9F4E 0x6AFB #CJK UNIFIED IDEOGRAPH -0x9F4F 0x6B05 #CJK UNIFIED IDEOGRAPH -0x9F50 0x8616 #CJK UNIFIED IDEOGRAPH -0x9F51 0x6AFA #CJK UNIFIED IDEOGRAPH -0x9F52 0x6B12 #CJK UNIFIED IDEOGRAPH -0x9F53 0x6B16 #CJK UNIFIED IDEOGRAPH -0x9F54 0x9B31 #CJK UNIFIED IDEOGRAPH -0x9F55 0x6B1F #CJK UNIFIED IDEOGRAPH -0x9F56 0x6B38 #CJK UNIFIED IDEOGRAPH -0x9F57 0x6B37 #CJK UNIFIED IDEOGRAPH -0x9F58 0x76DC #CJK UNIFIED IDEOGRAPH -0x9F59 0x6B39 #CJK UNIFIED IDEOGRAPH -0x9F5A 0x98EE #CJK UNIFIED IDEOGRAPH -0x9F5B 0x6B47 #CJK UNIFIED IDEOGRAPH -0x9F5C 0x6B43 #CJK UNIFIED IDEOGRAPH -0x9F5D 0x6B49 #CJK UNIFIED IDEOGRAPH -0x9F5E 0x6B50 #CJK UNIFIED IDEOGRAPH -0x9F5F 0x6B59 #CJK UNIFIED IDEOGRAPH -0x9F60 0x6B54 #CJK UNIFIED IDEOGRAPH -0x9F61 0x6B5B #CJK UNIFIED IDEOGRAPH -0x9F62 0x6B5F #CJK UNIFIED IDEOGRAPH -0x9F63 0x6B61 #CJK UNIFIED IDEOGRAPH -0x9F64 0x6B78 #CJK UNIFIED IDEOGRAPH -0x9F65 0x6B79 #CJK UNIFIED IDEOGRAPH -0x9F66 0x6B7F #CJK UNIFIED IDEOGRAPH -0x9F67 0x6B80 #CJK UNIFIED IDEOGRAPH -0x9F68 0x6B84 #CJK UNIFIED IDEOGRAPH -0x9F69 0x6B83 #CJK UNIFIED IDEOGRAPH -0x9F6A 0x6B8D #CJK UNIFIED IDEOGRAPH -0x9F6B 0x6B98 #CJK UNIFIED IDEOGRAPH -0x9F6C 0x6B95 #CJK UNIFIED IDEOGRAPH -0x9F6D 0x6B9E #CJK UNIFIED IDEOGRAPH -0x9F6E 0x6BA4 #CJK UNIFIED IDEOGRAPH -0x9F6F 0x6BAA #CJK UNIFIED IDEOGRAPH -0x9F70 0x6BAB #CJK UNIFIED IDEOGRAPH -0x9F71 0x6BAF #CJK UNIFIED IDEOGRAPH -0x9F72 0x6BB2 #CJK UNIFIED IDEOGRAPH -0x9F73 0x6BB1 #CJK UNIFIED IDEOGRAPH -0x9F74 0x6BB3 #CJK UNIFIED IDEOGRAPH -0x9F75 0x6BB7 #CJK UNIFIED IDEOGRAPH -0x9F76 0x6BBC #CJK UNIFIED IDEOGRAPH -0x9F77 0x6BC6 #CJK UNIFIED IDEOGRAPH -0x9F78 0x6BCB #CJK UNIFIED IDEOGRAPH -0x9F79 0x6BD3 #CJK UNIFIED IDEOGRAPH -0x9F7A 0x6BDF #CJK UNIFIED IDEOGRAPH -0x9F7B 0x6BEC #CJK UNIFIED IDEOGRAPH -0x9F7C 0x6BEB #CJK UNIFIED IDEOGRAPH -0x9F7D 0x6BF3 #CJK UNIFIED IDEOGRAPH -0x9F7E 0x6BEF #CJK UNIFIED IDEOGRAPH -0x9F80 0x9EBE #CJK UNIFIED IDEOGRAPH -0x9F81 0x6C08 #CJK UNIFIED IDEOGRAPH -0x9F82 0x6C13 #CJK UNIFIED IDEOGRAPH -0x9F83 0x6C14 #CJK UNIFIED IDEOGRAPH -0x9F84 0x6C1B #CJK UNIFIED IDEOGRAPH -0x9F85 0x6C24 #CJK UNIFIED IDEOGRAPH -0x9F86 0x6C23 #CJK UNIFIED IDEOGRAPH -0x9F87 0x6C5E #CJK UNIFIED IDEOGRAPH -0x9F88 0x6C55 #CJK UNIFIED IDEOGRAPH -0x9F89 0x6C62 #CJK UNIFIED IDEOGRAPH -0x9F8A 0x6C6A #CJK UNIFIED IDEOGRAPH -0x9F8B 0x6C82 #CJK UNIFIED IDEOGRAPH -0x9F8C 0x6C8D #CJK UNIFIED IDEOGRAPH -0x9F8D 0x6C9A #CJK UNIFIED IDEOGRAPH -0x9F8E 0x6C81 #CJK UNIFIED IDEOGRAPH -0x9F8F 0x6C9B #CJK UNIFIED IDEOGRAPH -0x9F90 0x6C7E #CJK UNIFIED IDEOGRAPH -0x9F91 0x6C68 #CJK UNIFIED IDEOGRAPH -0x9F92 0x6C73 #CJK UNIFIED IDEOGRAPH -0x9F93 0x6C92 #CJK UNIFIED IDEOGRAPH -0x9F94 0x6C90 #CJK UNIFIED IDEOGRAPH -0x9F95 0x6CC4 #CJK UNIFIED IDEOGRAPH -0x9F96 0x6CF1 #CJK UNIFIED IDEOGRAPH -0x9F97 0x6CD3 #CJK UNIFIED IDEOGRAPH -0x9F98 0x6CBD #CJK UNIFIED IDEOGRAPH -0x9F99 0x6CD7 #CJK UNIFIED IDEOGRAPH -0x9F9A 0x6CC5 #CJK UNIFIED IDEOGRAPH -0x9F9B 0x6CDD #CJK UNIFIED IDEOGRAPH -0x9F9C 0x6CAE #CJK UNIFIED IDEOGRAPH -0x9F9D 0x6CB1 #CJK UNIFIED IDEOGRAPH -0x9F9E 0x6CBE #CJK UNIFIED IDEOGRAPH -0x9F9F 0x6CBA #CJK UNIFIED IDEOGRAPH -0x9FA0 0x6CDB #CJK UNIFIED IDEOGRAPH -0x9FA1 0x6CEF #CJK UNIFIED IDEOGRAPH -0x9FA2 0x6CD9 #CJK UNIFIED IDEOGRAPH -0x9FA3 0x6CEA #CJK UNIFIED IDEOGRAPH -0x9FA4 0x6D1F #CJK UNIFIED IDEOGRAPH -0x9FA5 0x884D #CJK UNIFIED IDEOGRAPH -0x9FA6 0x6D36 #CJK UNIFIED IDEOGRAPH -0x9FA7 0x6D2B #CJK UNIFIED IDEOGRAPH -0x9FA8 0x6D3D #CJK UNIFIED IDEOGRAPH -0x9FA9 0x6D38 #CJK UNIFIED IDEOGRAPH -0x9FAA 0x6D19 #CJK UNIFIED IDEOGRAPH -0x9FAB 0x6D35 #CJK UNIFIED IDEOGRAPH -0x9FAC 0x6D33 #CJK UNIFIED IDEOGRAPH -0x9FAD 0x6D12 #CJK UNIFIED IDEOGRAPH -0x9FAE 0x6D0C #CJK UNIFIED IDEOGRAPH -0x9FAF 0x6D63 #CJK UNIFIED IDEOGRAPH -0x9FB0 0x6D93 #CJK UNIFIED IDEOGRAPH -0x9FB1 0x6D64 #CJK UNIFIED IDEOGRAPH -0x9FB2 0x6D5A #CJK UNIFIED IDEOGRAPH -0x9FB3 0x6D79 #CJK UNIFIED IDEOGRAPH -0x9FB4 0x6D59 #CJK UNIFIED IDEOGRAPH -0x9FB5 0x6D8E #CJK UNIFIED IDEOGRAPH -0x9FB6 0x6D95 #CJK UNIFIED IDEOGRAPH -0x9FB7 0x6FE4 #CJK UNIFIED IDEOGRAPH -0x9FB8 0x6D85 #CJK UNIFIED IDEOGRAPH -0x9FB9 0x6DF9 #CJK UNIFIED IDEOGRAPH -0x9FBA 0x6E15 #CJK UNIFIED IDEOGRAPH -0x9FBB 0x6E0A #CJK UNIFIED IDEOGRAPH -0x9FBC 0x6DB5 #CJK UNIFIED IDEOGRAPH -0x9FBD 0x6DC7 #CJK UNIFIED IDEOGRAPH -0x9FBE 0x6DE6 #CJK UNIFIED IDEOGRAPH -0x9FBF 0x6DB8 #CJK UNIFIED IDEOGRAPH -0x9FC0 0x6DC6 #CJK UNIFIED IDEOGRAPH -0x9FC1 0x6DEC #CJK UNIFIED IDEOGRAPH -0x9FC2 0x6DDE #CJK UNIFIED IDEOGRAPH -0x9FC3 0x6DCC #CJK UNIFIED IDEOGRAPH -0x9FC4 0x6DE8 #CJK UNIFIED IDEOGRAPH -0x9FC5 0x6DD2 #CJK UNIFIED IDEOGRAPH -0x9FC6 0x6DC5 #CJK UNIFIED IDEOGRAPH -0x9FC7 0x6DFA #CJK UNIFIED IDEOGRAPH -0x9FC8 0x6DD9 #CJK UNIFIED IDEOGRAPH -0x9FC9 0x6DE4 #CJK UNIFIED IDEOGRAPH -0x9FCA 0x6DD5 #CJK UNIFIED IDEOGRAPH -0x9FCB 0x6DEA #CJK UNIFIED IDEOGRAPH -0x9FCC 0x6DEE #CJK UNIFIED IDEOGRAPH -0x9FCD 0x6E2D #CJK UNIFIED IDEOGRAPH -0x9FCE 0x6E6E #CJK UNIFIED IDEOGRAPH -0x9FCF 0x6E2E #CJK UNIFIED IDEOGRAPH -0x9FD0 0x6E19 #CJK UNIFIED IDEOGRAPH -0x9FD1 0x6E72 #CJK UNIFIED IDEOGRAPH -0x9FD2 0x6E5F #CJK UNIFIED IDEOGRAPH -0x9FD3 0x6E3E #CJK UNIFIED IDEOGRAPH -0x9FD4 0x6E23 #CJK UNIFIED IDEOGRAPH -0x9FD5 0x6E6B #CJK UNIFIED IDEOGRAPH -0x9FD6 0x6E2B #CJK UNIFIED IDEOGRAPH -0x9FD7 0x6E76 #CJK UNIFIED IDEOGRAPH -0x9FD8 0x6E4D #CJK UNIFIED IDEOGRAPH -0x9FD9 0x6E1F #CJK UNIFIED IDEOGRAPH -0x9FDA 0x6E43 #CJK UNIFIED IDEOGRAPH -0x9FDB 0x6E3A #CJK UNIFIED IDEOGRAPH -0x9FDC 0x6E4E #CJK UNIFIED IDEOGRAPH -0x9FDD 0x6E24 #CJK UNIFIED IDEOGRAPH -0x9FDE 0x6EFF #CJK UNIFIED IDEOGRAPH -0x9FDF 0x6E1D #CJK UNIFIED IDEOGRAPH -0x9FE0 0x6E38 #CJK UNIFIED IDEOGRAPH -0x9FE1 0x6E82 #CJK UNIFIED IDEOGRAPH -0x9FE2 0x6EAA #CJK UNIFIED IDEOGRAPH -0x9FE3 0x6E98 #CJK UNIFIED IDEOGRAPH -0x9FE4 0x6EC9 #CJK UNIFIED IDEOGRAPH -0x9FE5 0x6EB7 #CJK UNIFIED IDEOGRAPH -0x9FE6 0x6ED3 #CJK UNIFIED IDEOGRAPH -0x9FE7 0x6EBD #CJK UNIFIED IDEOGRAPH -0x9FE8 0x6EAF #CJK UNIFIED IDEOGRAPH -0x9FE9 0x6EC4 #CJK UNIFIED IDEOGRAPH -0x9FEA 0x6EB2 #CJK UNIFIED IDEOGRAPH -0x9FEB 0x6ED4 #CJK UNIFIED IDEOGRAPH -0x9FEC 0x6ED5 #CJK UNIFIED IDEOGRAPH -0x9FED 0x6E8F #CJK UNIFIED IDEOGRAPH -0x9FEE 0x6EA5 #CJK UNIFIED IDEOGRAPH -0x9FEF 0x6EC2 #CJK UNIFIED IDEOGRAPH -0x9FF0 0x6E9F #CJK UNIFIED IDEOGRAPH -0x9FF1 0x6F41 #CJK UNIFIED IDEOGRAPH -0x9FF2 0x6F11 #CJK UNIFIED IDEOGRAPH -0x9FF3 0x704C #CJK UNIFIED IDEOGRAPH -0x9FF4 0x6EEC #CJK UNIFIED IDEOGRAPH -0x9FF5 0x6EF8 #CJK UNIFIED IDEOGRAPH -0x9FF6 0x6EFE #CJK UNIFIED IDEOGRAPH -0x9FF7 0x6F3F #CJK UNIFIED IDEOGRAPH -0x9FF8 0x6EF2 #CJK UNIFIED IDEOGRAPH -0x9FF9 0x6F31 #CJK UNIFIED IDEOGRAPH -0x9FFA 0x6EEF #CJK UNIFIED IDEOGRAPH -0x9FFB 0x6F32 #CJK UNIFIED IDEOGRAPH -0x9FFC 0x6ECC #CJK UNIFIED IDEOGRAPH -0xE040 0x6F3E #CJK UNIFIED IDEOGRAPH -0xE041 0x6F13 #CJK UNIFIED IDEOGRAPH -0xE042 0x6EF7 #CJK UNIFIED IDEOGRAPH -0xE043 0x6F86 #CJK UNIFIED IDEOGRAPH -0xE044 0x6F7A #CJK UNIFIED IDEOGRAPH -0xE045 0x6F78 #CJK UNIFIED IDEOGRAPH -0xE046 0x6F81 #CJK UNIFIED IDEOGRAPH -0xE047 0x6F80 #CJK UNIFIED IDEOGRAPH -0xE048 0x6F6F #CJK UNIFIED IDEOGRAPH -0xE049 0x6F5B #CJK UNIFIED IDEOGRAPH -0xE04A 0x6FF3 #CJK UNIFIED IDEOGRAPH -0xE04B 0x6F6D #CJK UNIFIED IDEOGRAPH -0xE04C 0x6F82 #CJK UNIFIED IDEOGRAPH -0xE04D 0x6F7C #CJK UNIFIED IDEOGRAPH -0xE04E 0x6F58 #CJK UNIFIED IDEOGRAPH -0xE04F 0x6F8E #CJK UNIFIED IDEOGRAPH -0xE050 0x6F91 #CJK UNIFIED IDEOGRAPH -0xE051 0x6FC2 #CJK UNIFIED IDEOGRAPH -0xE052 0x6F66 #CJK UNIFIED IDEOGRAPH -0xE053 0x6FB3 #CJK UNIFIED IDEOGRAPH -0xE054 0x6FA3 #CJK UNIFIED IDEOGRAPH -0xE055 0x6FA1 #CJK UNIFIED IDEOGRAPH -0xE056 0x6FA4 #CJK UNIFIED IDEOGRAPH -0xE057 0x6FB9 #CJK UNIFIED IDEOGRAPH -0xE058 0x6FC6 #CJK UNIFIED IDEOGRAPH -0xE059 0x6FAA #CJK UNIFIED IDEOGRAPH -0xE05A 0x6FDF #CJK UNIFIED IDEOGRAPH -0xE05B 0x6FD5 #CJK UNIFIED IDEOGRAPH -0xE05C 0x6FEC #CJK UNIFIED IDEOGRAPH -0xE05D 0x6FD4 #CJK UNIFIED IDEOGRAPH -0xE05E 0x6FD8 #CJK UNIFIED IDEOGRAPH -0xE05F 0x6FF1 #CJK UNIFIED IDEOGRAPH -0xE060 0x6FEE #CJK UNIFIED IDEOGRAPH -0xE061 0x6FDB #CJK UNIFIED IDEOGRAPH -0xE062 0x7009 #CJK UNIFIED IDEOGRAPH -0xE063 0x700B #CJK UNIFIED IDEOGRAPH -0xE064 0x6FFA #CJK UNIFIED IDEOGRAPH -0xE065 0x7011 #CJK UNIFIED IDEOGRAPH -0xE066 0x7001 #CJK UNIFIED IDEOGRAPH -0xE067 0x700F #CJK UNIFIED IDEOGRAPH -0xE068 0x6FFE #CJK UNIFIED IDEOGRAPH -0xE069 0x701B #CJK UNIFIED IDEOGRAPH -0xE06A 0x701A #CJK UNIFIED IDEOGRAPH -0xE06B 0x6F74 #CJK UNIFIED IDEOGRAPH -0xE06C 0x701D #CJK UNIFIED IDEOGRAPH -0xE06D 0x7018 #CJK UNIFIED IDEOGRAPH -0xE06E 0x701F #CJK UNIFIED IDEOGRAPH -0xE06F 0x7030 #CJK UNIFIED IDEOGRAPH -0xE070 0x703E #CJK UNIFIED IDEOGRAPH -0xE071 0x7032 #CJK UNIFIED IDEOGRAPH -0xE072 0x7051 #CJK UNIFIED IDEOGRAPH -0xE073 0x7063 #CJK UNIFIED IDEOGRAPH -0xE074 0x7099 #CJK UNIFIED IDEOGRAPH -0xE075 0x7092 #CJK UNIFIED IDEOGRAPH -0xE076 0x70AF #CJK UNIFIED IDEOGRAPH -0xE077 0x70F1 #CJK UNIFIED IDEOGRAPH -0xE078 0x70AC #CJK UNIFIED IDEOGRAPH -0xE079 0x70B8 #CJK UNIFIED IDEOGRAPH -0xE07A 0x70B3 #CJK UNIFIED IDEOGRAPH -0xE07B 0x70AE #CJK UNIFIED IDEOGRAPH -0xE07C 0x70DF #CJK UNIFIED IDEOGRAPH -0xE07D 0x70CB #CJK UNIFIED IDEOGRAPH -0xE07E 0x70DD #CJK UNIFIED IDEOGRAPH -0xE080 0x70D9 #CJK UNIFIED IDEOGRAPH -0xE081 0x7109 #CJK UNIFIED IDEOGRAPH -0xE082 0x70FD #CJK UNIFIED IDEOGRAPH -0xE083 0x711C #CJK UNIFIED IDEOGRAPH -0xE084 0x7119 #CJK UNIFIED IDEOGRAPH -0xE085 0x7165 #CJK UNIFIED IDEOGRAPH -0xE086 0x7155 #CJK UNIFIED IDEOGRAPH -0xE087 0x7188 #CJK UNIFIED IDEOGRAPH -0xE088 0x7166 #CJK UNIFIED IDEOGRAPH -0xE089 0x7162 #CJK UNIFIED IDEOGRAPH -0xE08A 0x714C #CJK UNIFIED IDEOGRAPH -0xE08B 0x7156 #CJK UNIFIED IDEOGRAPH -0xE08C 0x716C #CJK UNIFIED IDEOGRAPH -0xE08D 0x718F #CJK UNIFIED IDEOGRAPH -0xE08E 0x71FB #CJK UNIFIED IDEOGRAPH -0xE08F 0x7184 #CJK UNIFIED IDEOGRAPH -0xE090 0x7195 #CJK UNIFIED IDEOGRAPH -0xE091 0x71A8 #CJK UNIFIED IDEOGRAPH -0xE092 0x71AC #CJK UNIFIED IDEOGRAPH -0xE093 0x71D7 #CJK UNIFIED IDEOGRAPH -0xE094 0x71B9 #CJK UNIFIED IDEOGRAPH -0xE095 0x71BE #CJK UNIFIED IDEOGRAPH -0xE096 0x71D2 #CJK UNIFIED IDEOGRAPH -0xE097 0x71C9 #CJK UNIFIED IDEOGRAPH -0xE098 0x71D4 #CJK UNIFIED IDEOGRAPH -0xE099 0x71CE #CJK UNIFIED IDEOGRAPH -0xE09A 0x71E0 #CJK UNIFIED IDEOGRAPH -0xE09B 0x71EC #CJK UNIFIED IDEOGRAPH -0xE09C 0x71E7 #CJK UNIFIED IDEOGRAPH -0xE09D 0x71F5 #CJK UNIFIED IDEOGRAPH -0xE09E 0x71FC #CJK UNIFIED IDEOGRAPH -0xE09F 0x71F9 #CJK UNIFIED IDEOGRAPH -0xE0A0 0x71FF #CJK UNIFIED IDEOGRAPH -0xE0A1 0x720D #CJK UNIFIED IDEOGRAPH -0xE0A2 0x7210 #CJK UNIFIED IDEOGRAPH -0xE0A3 0x721B #CJK UNIFIED IDEOGRAPH -0xE0A4 0x7228 #CJK UNIFIED IDEOGRAPH -0xE0A5 0x722D #CJK UNIFIED IDEOGRAPH -0xE0A6 0x722C #CJK UNIFIED IDEOGRAPH -0xE0A7 0x7230 #CJK UNIFIED IDEOGRAPH -0xE0A8 0x7232 #CJK UNIFIED IDEOGRAPH -0xE0A9 0x723B #CJK UNIFIED IDEOGRAPH -0xE0AA 0x723C #CJK UNIFIED IDEOGRAPH -0xE0AB 0x723F #CJK UNIFIED IDEOGRAPH -0xE0AC 0x7240 #CJK UNIFIED IDEOGRAPH -0xE0AD 0x7246 #CJK UNIFIED IDEOGRAPH -0xE0AE 0x724B #CJK UNIFIED IDEOGRAPH -0xE0AF 0x7258 #CJK UNIFIED IDEOGRAPH -0xE0B0 0x7274 #CJK UNIFIED IDEOGRAPH -0xE0B1 0x727E #CJK UNIFIED IDEOGRAPH -0xE0B2 0x7282 #CJK UNIFIED IDEOGRAPH -0xE0B3 0x7281 #CJK UNIFIED IDEOGRAPH -0xE0B4 0x7287 #CJK UNIFIED IDEOGRAPH -0xE0B5 0x7292 #CJK UNIFIED IDEOGRAPH -0xE0B6 0x7296 #CJK UNIFIED IDEOGRAPH -0xE0B7 0x72A2 #CJK UNIFIED IDEOGRAPH -0xE0B8 0x72A7 #CJK UNIFIED IDEOGRAPH -0xE0B9 0x72B9 #CJK UNIFIED IDEOGRAPH -0xE0BA 0x72B2 #CJK UNIFIED IDEOGRAPH -0xE0BB 0x72C3 #CJK UNIFIED IDEOGRAPH -0xE0BC 0x72C6 #CJK UNIFIED IDEOGRAPH -0xE0BD 0x72C4 #CJK UNIFIED IDEOGRAPH -0xE0BE 0x72CE #CJK UNIFIED IDEOGRAPH -0xE0BF 0x72D2 #CJK UNIFIED IDEOGRAPH -0xE0C0 0x72E2 #CJK UNIFIED IDEOGRAPH -0xE0C1 0x72E0 #CJK UNIFIED IDEOGRAPH -0xE0C2 0x72E1 #CJK UNIFIED IDEOGRAPH -0xE0C3 0x72F9 #CJK UNIFIED IDEOGRAPH -0xE0C4 0x72F7 #CJK UNIFIED IDEOGRAPH -0xE0C5 0x500F #CJK UNIFIED IDEOGRAPH -0xE0C6 0x7317 #CJK UNIFIED IDEOGRAPH -0xE0C7 0x730A #CJK UNIFIED IDEOGRAPH -0xE0C8 0x731C #CJK UNIFIED IDEOGRAPH -0xE0C9 0x7316 #CJK UNIFIED IDEOGRAPH -0xE0CA 0x731D #CJK UNIFIED IDEOGRAPH -0xE0CB 0x7334 #CJK UNIFIED IDEOGRAPH -0xE0CC 0x732F #CJK UNIFIED IDEOGRAPH -0xE0CD 0x7329 #CJK UNIFIED IDEOGRAPH -0xE0CE 0x7325 #CJK UNIFIED IDEOGRAPH -0xE0CF 0x733E #CJK UNIFIED IDEOGRAPH -0xE0D0 0x734E #CJK UNIFIED IDEOGRAPH -0xE0D1 0x734F #CJK UNIFIED IDEOGRAPH -0xE0D2 0x9ED8 #CJK UNIFIED IDEOGRAPH -0xE0D3 0x7357 #CJK UNIFIED IDEOGRAPH -0xE0D4 0x736A #CJK UNIFIED IDEOGRAPH -0xE0D5 0x7368 #CJK UNIFIED IDEOGRAPH -0xE0D6 0x7370 #CJK UNIFIED IDEOGRAPH -0xE0D7 0x7378 #CJK UNIFIED IDEOGRAPH -0xE0D8 0x7375 #CJK UNIFIED IDEOGRAPH -0xE0D9 0x737B #CJK UNIFIED IDEOGRAPH -0xE0DA 0x737A #CJK UNIFIED IDEOGRAPH -0xE0DB 0x73C8 #CJK UNIFIED IDEOGRAPH -0xE0DC 0x73B3 #CJK UNIFIED IDEOGRAPH -0xE0DD 0x73CE #CJK UNIFIED IDEOGRAPH -0xE0DE 0x73BB #CJK UNIFIED IDEOGRAPH -0xE0DF 0x73C0 #CJK UNIFIED IDEOGRAPH -0xE0E0 0x73E5 #CJK UNIFIED IDEOGRAPH -0xE0E1 0x73EE #CJK UNIFIED IDEOGRAPH -0xE0E2 0x73DE #CJK UNIFIED IDEOGRAPH -0xE0E3 0x74A2 #CJK UNIFIED IDEOGRAPH -0xE0E4 0x7405 #CJK UNIFIED IDEOGRAPH -0xE0E5 0x746F #CJK UNIFIED IDEOGRAPH -0xE0E6 0x7425 #CJK UNIFIED IDEOGRAPH -0xE0E7 0x73F8 #CJK UNIFIED IDEOGRAPH -0xE0E8 0x7432 #CJK UNIFIED IDEOGRAPH -0xE0E9 0x743A #CJK UNIFIED IDEOGRAPH -0xE0EA 0x7455 #CJK UNIFIED IDEOGRAPH -0xE0EB 0x743F #CJK UNIFIED IDEOGRAPH -0xE0EC 0x745F #CJK UNIFIED IDEOGRAPH -0xE0ED 0x7459 #CJK UNIFIED IDEOGRAPH -0xE0EE 0x7441 #CJK UNIFIED IDEOGRAPH -0xE0EF 0x745C #CJK UNIFIED IDEOGRAPH -0xE0F0 0x7469 #CJK UNIFIED IDEOGRAPH -0xE0F1 0x7470 #CJK UNIFIED IDEOGRAPH -0xE0F2 0x7463 #CJK UNIFIED IDEOGRAPH -0xE0F3 0x746A #CJK UNIFIED IDEOGRAPH -0xE0F4 0x7476 #CJK UNIFIED IDEOGRAPH -0xE0F5 0x747E #CJK UNIFIED IDEOGRAPH -0xE0F6 0x748B #CJK UNIFIED IDEOGRAPH -0xE0F7 0x749E #CJK UNIFIED IDEOGRAPH -0xE0F8 0x74A7 #CJK UNIFIED IDEOGRAPH -0xE0F9 0x74CA #CJK UNIFIED IDEOGRAPH -0xE0FA 0x74CF #CJK UNIFIED IDEOGRAPH -0xE0FB 0x74D4 #CJK UNIFIED IDEOGRAPH -0xE0FC 0x73F1 #CJK UNIFIED IDEOGRAPH -0xE140 0x74E0 #CJK UNIFIED IDEOGRAPH -0xE141 0x74E3 #CJK UNIFIED IDEOGRAPH -0xE142 0x74E7 #CJK UNIFIED IDEOGRAPH -0xE143 0x74E9 #CJK UNIFIED IDEOGRAPH -0xE144 0x74EE #CJK UNIFIED IDEOGRAPH -0xE145 0x74F2 #CJK UNIFIED IDEOGRAPH -0xE146 0x74F0 #CJK UNIFIED IDEOGRAPH -0xE147 0x74F1 #CJK UNIFIED IDEOGRAPH -0xE148 0x74F8 #CJK UNIFIED IDEOGRAPH -0xE149 0x74F7 #CJK UNIFIED IDEOGRAPH -0xE14A 0x7504 #CJK UNIFIED IDEOGRAPH -0xE14B 0x7503 #CJK UNIFIED IDEOGRAPH -0xE14C 0x7505 #CJK UNIFIED IDEOGRAPH -0xE14D 0x750C #CJK UNIFIED IDEOGRAPH -0xE14E 0x750E #CJK UNIFIED IDEOGRAPH -0xE14F 0x750D #CJK UNIFIED IDEOGRAPH -0xE150 0x7515 #CJK UNIFIED IDEOGRAPH -0xE151 0x7513 #CJK UNIFIED IDEOGRAPH -0xE152 0x751E #CJK UNIFIED IDEOGRAPH -0xE153 0x7526 #CJK UNIFIED IDEOGRAPH -0xE154 0x752C #CJK UNIFIED IDEOGRAPH -0xE155 0x753C #CJK UNIFIED IDEOGRAPH -0xE156 0x7544 #CJK UNIFIED IDEOGRAPH -0xE157 0x754D #CJK UNIFIED IDEOGRAPH -0xE158 0x754A #CJK UNIFIED IDEOGRAPH -0xE159 0x7549 #CJK UNIFIED IDEOGRAPH -0xE15A 0x755B #CJK UNIFIED IDEOGRAPH -0xE15B 0x7546 #CJK UNIFIED IDEOGRAPH -0xE15C 0x755A #CJK UNIFIED IDEOGRAPH -0xE15D 0x7569 #CJK UNIFIED IDEOGRAPH -0xE15E 0x7564 #CJK UNIFIED IDEOGRAPH -0xE15F 0x7567 #CJK UNIFIED IDEOGRAPH -0xE160 0x756B #CJK UNIFIED IDEOGRAPH -0xE161 0x756D #CJK UNIFIED IDEOGRAPH -0xE162 0x7578 #CJK UNIFIED IDEOGRAPH -0xE163 0x7576 #CJK UNIFIED IDEOGRAPH -0xE164 0x7586 #CJK UNIFIED IDEOGRAPH -0xE165 0x7587 #CJK UNIFIED IDEOGRAPH -0xE166 0x7574 #CJK UNIFIED IDEOGRAPH -0xE167 0x758A #CJK UNIFIED IDEOGRAPH -0xE168 0x7589 #CJK UNIFIED IDEOGRAPH -0xE169 0x7582 #CJK UNIFIED IDEOGRAPH -0xE16A 0x7594 #CJK UNIFIED IDEOGRAPH -0xE16B 0x759A #CJK UNIFIED IDEOGRAPH -0xE16C 0x759D #CJK UNIFIED IDEOGRAPH -0xE16D 0x75A5 #CJK UNIFIED IDEOGRAPH -0xE16E 0x75A3 #CJK UNIFIED IDEOGRAPH -0xE16F 0x75C2 #CJK UNIFIED IDEOGRAPH -0xE170 0x75B3 #CJK UNIFIED IDEOGRAPH -0xE171 0x75C3 #CJK UNIFIED IDEOGRAPH -0xE172 0x75B5 #CJK UNIFIED IDEOGRAPH -0xE173 0x75BD #CJK UNIFIED IDEOGRAPH -0xE174 0x75B8 #CJK UNIFIED IDEOGRAPH -0xE175 0x75BC #CJK UNIFIED IDEOGRAPH -0xE176 0x75B1 #CJK UNIFIED IDEOGRAPH -0xE177 0x75CD #CJK UNIFIED IDEOGRAPH -0xE178 0x75CA #CJK UNIFIED IDEOGRAPH -0xE179 0x75D2 #CJK UNIFIED IDEOGRAPH -0xE17A 0x75D9 #CJK UNIFIED IDEOGRAPH -0xE17B 0x75E3 #CJK UNIFIED IDEOGRAPH -0xE17C 0x75DE #CJK UNIFIED IDEOGRAPH -0xE17D 0x75FE #CJK UNIFIED IDEOGRAPH -0xE17E 0x75FF #CJK UNIFIED IDEOGRAPH -0xE180 0x75FC #CJK UNIFIED IDEOGRAPH -0xE181 0x7601 #CJK UNIFIED IDEOGRAPH -0xE182 0x75F0 #CJK UNIFIED IDEOGRAPH -0xE183 0x75FA #CJK UNIFIED IDEOGRAPH -0xE184 0x75F2 #CJK UNIFIED IDEOGRAPH -0xE185 0x75F3 #CJK UNIFIED IDEOGRAPH -0xE186 0x760B #CJK UNIFIED IDEOGRAPH -0xE187 0x760D #CJK UNIFIED IDEOGRAPH -0xE188 0x7609 #CJK UNIFIED IDEOGRAPH -0xE189 0x761F #CJK UNIFIED IDEOGRAPH -0xE18A 0x7627 #CJK UNIFIED IDEOGRAPH -0xE18B 0x7620 #CJK UNIFIED IDEOGRAPH -0xE18C 0x7621 #CJK UNIFIED IDEOGRAPH -0xE18D 0x7622 #CJK UNIFIED IDEOGRAPH -0xE18E 0x7624 #CJK UNIFIED IDEOGRAPH -0xE18F 0x7634 #CJK UNIFIED IDEOGRAPH -0xE190 0x7630 #CJK UNIFIED IDEOGRAPH -0xE191 0x763B #CJK UNIFIED IDEOGRAPH -0xE192 0x7647 #CJK UNIFIED IDEOGRAPH -0xE193 0x7648 #CJK UNIFIED IDEOGRAPH -0xE194 0x7646 #CJK UNIFIED IDEOGRAPH -0xE195 0x765C #CJK UNIFIED IDEOGRAPH -0xE196 0x7658 #CJK UNIFIED IDEOGRAPH -0xE197 0x7661 #CJK UNIFIED IDEOGRAPH -0xE198 0x7662 #CJK UNIFIED IDEOGRAPH -0xE199 0x7668 #CJK UNIFIED IDEOGRAPH -0xE19A 0x7669 #CJK UNIFIED IDEOGRAPH -0xE19B 0x766A #CJK UNIFIED IDEOGRAPH -0xE19C 0x7667 #CJK UNIFIED IDEOGRAPH -0xE19D 0x766C #CJK UNIFIED IDEOGRAPH -0xE19E 0x7670 #CJK UNIFIED IDEOGRAPH -0xE19F 0x7672 #CJK UNIFIED IDEOGRAPH -0xE1A0 0x7676 #CJK UNIFIED IDEOGRAPH -0xE1A1 0x7678 #CJK UNIFIED IDEOGRAPH -0xE1A2 0x767C #CJK UNIFIED IDEOGRAPH -0xE1A3 0x7680 #CJK UNIFIED IDEOGRAPH -0xE1A4 0x7683 #CJK UNIFIED IDEOGRAPH -0xE1A5 0x7688 #CJK UNIFIED IDEOGRAPH -0xE1A6 0x768B #CJK UNIFIED IDEOGRAPH -0xE1A7 0x768E #CJK UNIFIED IDEOGRAPH -0xE1A8 0x7696 #CJK UNIFIED IDEOGRAPH -0xE1A9 0x7693 #CJK UNIFIED IDEOGRAPH -0xE1AA 0x7699 #CJK UNIFIED IDEOGRAPH -0xE1AB 0x769A #CJK UNIFIED IDEOGRAPH -0xE1AC 0x76B0 #CJK UNIFIED IDEOGRAPH -0xE1AD 0x76B4 #CJK UNIFIED IDEOGRAPH -0xE1AE 0x76B8 #CJK UNIFIED IDEOGRAPH -0xE1AF 0x76B9 #CJK UNIFIED IDEOGRAPH -0xE1B0 0x76BA #CJK UNIFIED IDEOGRAPH -0xE1B1 0x76C2 #CJK UNIFIED IDEOGRAPH -0xE1B2 0x76CD #CJK UNIFIED IDEOGRAPH -0xE1B3 0x76D6 #CJK UNIFIED IDEOGRAPH -0xE1B4 0x76D2 #CJK UNIFIED IDEOGRAPH -0xE1B5 0x76DE #CJK UNIFIED IDEOGRAPH -0xE1B6 0x76E1 #CJK UNIFIED IDEOGRAPH -0xE1B7 0x76E5 #CJK UNIFIED IDEOGRAPH -0xE1B8 0x76E7 #CJK UNIFIED IDEOGRAPH -0xE1B9 0x76EA #CJK UNIFIED IDEOGRAPH -0xE1BA 0x862F #CJK UNIFIED IDEOGRAPH -0xE1BB 0x76FB #CJK UNIFIED IDEOGRAPH -0xE1BC 0x7708 #CJK UNIFIED IDEOGRAPH -0xE1BD 0x7707 #CJK UNIFIED IDEOGRAPH -0xE1BE 0x7704 #CJK UNIFIED IDEOGRAPH -0xE1BF 0x7729 #CJK UNIFIED IDEOGRAPH -0xE1C0 0x7724 #CJK UNIFIED IDEOGRAPH -0xE1C1 0x771E #CJK UNIFIED IDEOGRAPH -0xE1C2 0x7725 #CJK UNIFIED IDEOGRAPH -0xE1C3 0x7726 #CJK UNIFIED IDEOGRAPH -0xE1C4 0x771B #CJK UNIFIED IDEOGRAPH -0xE1C5 0x7737 #CJK UNIFIED IDEOGRAPH -0xE1C6 0x7738 #CJK UNIFIED IDEOGRAPH -0xE1C7 0x7747 #CJK UNIFIED IDEOGRAPH -0xE1C8 0x775A #CJK UNIFIED IDEOGRAPH -0xE1C9 0x7768 #CJK UNIFIED IDEOGRAPH -0xE1CA 0x776B #CJK UNIFIED IDEOGRAPH -0xE1CB 0x775B #CJK UNIFIED IDEOGRAPH -0xE1CC 0x7765 #CJK UNIFIED IDEOGRAPH -0xE1CD 0x777F #CJK UNIFIED IDEOGRAPH -0xE1CE 0x777E #CJK UNIFIED IDEOGRAPH -0xE1CF 0x7779 #CJK UNIFIED IDEOGRAPH -0xE1D0 0x778E #CJK UNIFIED IDEOGRAPH -0xE1D1 0x778B #CJK UNIFIED IDEOGRAPH -0xE1D2 0x7791 #CJK UNIFIED IDEOGRAPH -0xE1D3 0x77A0 #CJK UNIFIED IDEOGRAPH -0xE1D4 0x779E #CJK UNIFIED IDEOGRAPH -0xE1D5 0x77B0 #CJK UNIFIED IDEOGRAPH -0xE1D6 0x77B6 #CJK UNIFIED IDEOGRAPH -0xE1D7 0x77B9 #CJK UNIFIED IDEOGRAPH -0xE1D8 0x77BF #CJK UNIFIED IDEOGRAPH -0xE1D9 0x77BC #CJK UNIFIED IDEOGRAPH -0xE1DA 0x77BD #CJK UNIFIED IDEOGRAPH -0xE1DB 0x77BB #CJK UNIFIED IDEOGRAPH -0xE1DC 0x77C7 #CJK UNIFIED IDEOGRAPH -0xE1DD 0x77CD #CJK UNIFIED IDEOGRAPH -0xE1DE 0x77D7 #CJK UNIFIED IDEOGRAPH -0xE1DF 0x77DA #CJK UNIFIED IDEOGRAPH -0xE1E0 0x77DC #CJK UNIFIED IDEOGRAPH -0xE1E1 0x77E3 #CJK UNIFIED IDEOGRAPH -0xE1E2 0x77EE #CJK UNIFIED IDEOGRAPH -0xE1E3 0x77FC #CJK UNIFIED IDEOGRAPH -0xE1E4 0x780C #CJK UNIFIED IDEOGRAPH -0xE1E5 0x7812 #CJK UNIFIED IDEOGRAPH -0xE1E6 0x7926 #CJK UNIFIED IDEOGRAPH -0xE1E7 0x7820 #CJK UNIFIED IDEOGRAPH -0xE1E8 0x792A #CJK UNIFIED IDEOGRAPH -0xE1E9 0x7845 #CJK UNIFIED IDEOGRAPH -0xE1EA 0x788E #CJK UNIFIED IDEOGRAPH -0xE1EB 0x7874 #CJK UNIFIED IDEOGRAPH -0xE1EC 0x7886 #CJK UNIFIED IDEOGRAPH -0xE1ED 0x787C #CJK UNIFIED IDEOGRAPH -0xE1EE 0x789A #CJK UNIFIED IDEOGRAPH -0xE1EF 0x788C #CJK UNIFIED IDEOGRAPH -0xE1F0 0x78A3 #CJK UNIFIED IDEOGRAPH -0xE1F1 0x78B5 #CJK UNIFIED IDEOGRAPH -0xE1F2 0x78AA #CJK UNIFIED IDEOGRAPH -0xE1F3 0x78AF #CJK UNIFIED IDEOGRAPH -0xE1F4 0x78D1 #CJK UNIFIED IDEOGRAPH -0xE1F5 0x78C6 #CJK UNIFIED IDEOGRAPH -0xE1F6 0x78CB #CJK UNIFIED IDEOGRAPH -0xE1F7 0x78D4 #CJK UNIFIED IDEOGRAPH -0xE1F8 0x78BE #CJK UNIFIED IDEOGRAPH -0xE1F9 0x78BC #CJK UNIFIED IDEOGRAPH -0xE1FA 0x78C5 #CJK UNIFIED IDEOGRAPH -0xE1FB 0x78CA #CJK UNIFIED IDEOGRAPH -0xE1FC 0x78EC #CJK UNIFIED IDEOGRAPH -0xE240 0x78E7 #CJK UNIFIED IDEOGRAPH -0xE241 0x78DA #CJK UNIFIED IDEOGRAPH -0xE242 0x78FD #CJK UNIFIED IDEOGRAPH -0xE243 0x78F4 #CJK UNIFIED IDEOGRAPH -0xE244 0x7907 #CJK UNIFIED IDEOGRAPH -0xE245 0x7912 #CJK UNIFIED IDEOGRAPH -0xE246 0x7911 #CJK UNIFIED IDEOGRAPH -0xE247 0x7919 #CJK UNIFIED IDEOGRAPH -0xE248 0x792C #CJK UNIFIED IDEOGRAPH -0xE249 0x792B #CJK UNIFIED IDEOGRAPH -0xE24A 0x7940 #CJK UNIFIED IDEOGRAPH -0xE24B 0x7960 #CJK UNIFIED IDEOGRAPH -0xE24C 0x7957 #CJK UNIFIED IDEOGRAPH -0xE24D 0x795F #CJK UNIFIED IDEOGRAPH -0xE24E 0x795A #CJK UNIFIED IDEOGRAPH -0xE24F 0x7955 #CJK UNIFIED IDEOGRAPH -0xE250 0x7953 #CJK UNIFIED IDEOGRAPH -0xE251 0x797A #CJK UNIFIED IDEOGRAPH -0xE252 0x797F #CJK UNIFIED IDEOGRAPH -0xE253 0x798A #CJK UNIFIED IDEOGRAPH -0xE254 0x799D #CJK UNIFIED IDEOGRAPH -0xE255 0x79A7 #CJK UNIFIED IDEOGRAPH -0xE256 0x9F4B #CJK UNIFIED IDEOGRAPH -0xE257 0x79AA #CJK UNIFIED IDEOGRAPH -0xE258 0x79AE #CJK UNIFIED IDEOGRAPH -0xE259 0x79B3 #CJK UNIFIED IDEOGRAPH -0xE25A 0x79B9 #CJK UNIFIED IDEOGRAPH -0xE25B 0x79BA #CJK UNIFIED IDEOGRAPH -0xE25C 0x79C9 #CJK UNIFIED IDEOGRAPH -0xE25D 0x79D5 #CJK UNIFIED IDEOGRAPH -0xE25E 0x79E7 #CJK UNIFIED IDEOGRAPH -0xE25F 0x79EC #CJK UNIFIED IDEOGRAPH -0xE260 0x79E1 #CJK UNIFIED IDEOGRAPH -0xE261 0x79E3 #CJK UNIFIED IDEOGRAPH -0xE262 0x7A08 #CJK UNIFIED IDEOGRAPH -0xE263 0x7A0D #CJK UNIFIED IDEOGRAPH -0xE264 0x7A18 #CJK UNIFIED IDEOGRAPH -0xE265 0x7A19 #CJK UNIFIED IDEOGRAPH -0xE266 0x7A20 #CJK UNIFIED IDEOGRAPH -0xE267 0x7A1F #CJK UNIFIED IDEOGRAPH -0xE268 0x7980 #CJK UNIFIED IDEOGRAPH -0xE269 0x7A31 #CJK UNIFIED IDEOGRAPH -0xE26A 0x7A3B #CJK UNIFIED IDEOGRAPH -0xE26B 0x7A3E #CJK UNIFIED IDEOGRAPH -0xE26C 0x7A37 #CJK UNIFIED IDEOGRAPH -0xE26D 0x7A43 #CJK UNIFIED IDEOGRAPH -0xE26E 0x7A57 #CJK UNIFIED IDEOGRAPH -0xE26F 0x7A49 #CJK UNIFIED IDEOGRAPH -0xE270 0x7A61 #CJK UNIFIED IDEOGRAPH -0xE271 0x7A62 #CJK UNIFIED IDEOGRAPH -0xE272 0x7A69 #CJK UNIFIED IDEOGRAPH -0xE273 0x9F9D #CJK UNIFIED IDEOGRAPH -0xE274 0x7A70 #CJK UNIFIED IDEOGRAPH -0xE275 0x7A79 #CJK UNIFIED IDEOGRAPH -0xE276 0x7A7D #CJK UNIFIED IDEOGRAPH -0xE277 0x7A88 #CJK UNIFIED IDEOGRAPH -0xE278 0x7A97 #CJK UNIFIED IDEOGRAPH -0xE279 0x7A95 #CJK UNIFIED IDEOGRAPH -0xE27A 0x7A98 #CJK UNIFIED IDEOGRAPH -0xE27B 0x7A96 #CJK UNIFIED IDEOGRAPH -0xE27C 0x7AA9 #CJK UNIFIED IDEOGRAPH -0xE27D 0x7AC8 #CJK UNIFIED IDEOGRAPH -0xE27E 0x7AB0 #CJK UNIFIED IDEOGRAPH -0xE280 0x7AB6 #CJK UNIFIED IDEOGRAPH -0xE281 0x7AC5 #CJK UNIFIED IDEOGRAPH -0xE282 0x7AC4 #CJK UNIFIED IDEOGRAPH -0xE283 0x7ABF #CJK UNIFIED IDEOGRAPH -0xE284 0x9083 #CJK UNIFIED IDEOGRAPH -0xE285 0x7AC7 #CJK UNIFIED IDEOGRAPH -0xE286 0x7ACA #CJK UNIFIED IDEOGRAPH -0xE287 0x7ACD #CJK UNIFIED IDEOGRAPH -0xE288 0x7ACF #CJK UNIFIED IDEOGRAPH -0xE289 0x7AD5 #CJK UNIFIED IDEOGRAPH -0xE28A 0x7AD3 #CJK UNIFIED IDEOGRAPH -0xE28B 0x7AD9 #CJK UNIFIED IDEOGRAPH -0xE28C 0x7ADA #CJK UNIFIED IDEOGRAPH -0xE28D 0x7ADD #CJK UNIFIED IDEOGRAPH -0xE28E 0x7AE1 #CJK UNIFIED IDEOGRAPH -0xE28F 0x7AE2 #CJK UNIFIED IDEOGRAPH -0xE290 0x7AE6 #CJK UNIFIED IDEOGRAPH -0xE291 0x7AED #CJK UNIFIED IDEOGRAPH -0xE292 0x7AF0 #CJK UNIFIED IDEOGRAPH -0xE293 0x7B02 #CJK UNIFIED IDEOGRAPH -0xE294 0x7B0F #CJK UNIFIED IDEOGRAPH -0xE295 0x7B0A #CJK UNIFIED IDEOGRAPH -0xE296 0x7B06 #CJK UNIFIED IDEOGRAPH -0xE297 0x7B33 #CJK UNIFIED IDEOGRAPH -0xE298 0x7B18 #CJK UNIFIED IDEOGRAPH -0xE299 0x7B19 #CJK UNIFIED IDEOGRAPH -0xE29A 0x7B1E #CJK UNIFIED IDEOGRAPH -0xE29B 0x7B35 #CJK UNIFIED IDEOGRAPH -0xE29C 0x7B28 #CJK UNIFIED IDEOGRAPH -0xE29D 0x7B36 #CJK UNIFIED IDEOGRAPH -0xE29E 0x7B50 #CJK UNIFIED IDEOGRAPH -0xE29F 0x7B7A #CJK UNIFIED IDEOGRAPH -0xE2A0 0x7B04 #CJK UNIFIED IDEOGRAPH -0xE2A1 0x7B4D #CJK UNIFIED IDEOGRAPH -0xE2A2 0x7B0B #CJK UNIFIED IDEOGRAPH -0xE2A3 0x7B4C #CJK UNIFIED IDEOGRAPH -0xE2A4 0x7B45 #CJK UNIFIED IDEOGRAPH -0xE2A5 0x7B75 #CJK UNIFIED IDEOGRAPH -0xE2A6 0x7B65 #CJK UNIFIED IDEOGRAPH -0xE2A7 0x7B74 #CJK UNIFIED IDEOGRAPH -0xE2A8 0x7B67 #CJK UNIFIED IDEOGRAPH -0xE2A9 0x7B70 #CJK UNIFIED IDEOGRAPH -0xE2AA 0x7B71 #CJK UNIFIED IDEOGRAPH -0xE2AB 0x7B6C #CJK UNIFIED IDEOGRAPH -0xE2AC 0x7B6E #CJK UNIFIED IDEOGRAPH -0xE2AD 0x7B9D #CJK UNIFIED IDEOGRAPH -0xE2AE 0x7B98 #CJK UNIFIED IDEOGRAPH -0xE2AF 0x7B9F #CJK UNIFIED IDEOGRAPH -0xE2B0 0x7B8D #CJK UNIFIED IDEOGRAPH -0xE2B1 0x7B9C #CJK UNIFIED IDEOGRAPH -0xE2B2 0x7B9A #CJK UNIFIED IDEOGRAPH -0xE2B3 0x7B8B #CJK UNIFIED IDEOGRAPH -0xE2B4 0x7B92 #CJK UNIFIED IDEOGRAPH -0xE2B5 0x7B8F #CJK UNIFIED IDEOGRAPH -0xE2B6 0x7B5D #CJK UNIFIED IDEOGRAPH -0xE2B7 0x7B99 #CJK UNIFIED IDEOGRAPH -0xE2B8 0x7BCB #CJK UNIFIED IDEOGRAPH -0xE2B9 0x7BC1 #CJK UNIFIED IDEOGRAPH -0xE2BA 0x7BCC #CJK UNIFIED IDEOGRAPH -0xE2BB 0x7BCF #CJK UNIFIED IDEOGRAPH -0xE2BC 0x7BB4 #CJK UNIFIED IDEOGRAPH -0xE2BD 0x7BC6 #CJK UNIFIED IDEOGRAPH -0xE2BE 0x7BDD #CJK UNIFIED IDEOGRAPH -0xE2BF 0x7BE9 #CJK UNIFIED IDEOGRAPH -0xE2C0 0x7C11 #CJK UNIFIED IDEOGRAPH -0xE2C1 0x7C14 #CJK UNIFIED IDEOGRAPH -0xE2C2 0x7BE6 #CJK UNIFIED IDEOGRAPH -0xE2C3 0x7BE5 #CJK UNIFIED IDEOGRAPH -0xE2C4 0x7C60 #CJK UNIFIED IDEOGRAPH -0xE2C5 0x7C00 #CJK UNIFIED IDEOGRAPH -0xE2C6 0x7C07 #CJK UNIFIED IDEOGRAPH -0xE2C7 0x7C13 #CJK UNIFIED IDEOGRAPH -0xE2C8 0x7BF3 #CJK UNIFIED IDEOGRAPH -0xE2C9 0x7BF7 #CJK UNIFIED IDEOGRAPH -0xE2CA 0x7C17 #CJK UNIFIED IDEOGRAPH -0xE2CB 0x7C0D #CJK UNIFIED IDEOGRAPH -0xE2CC 0x7BF6 #CJK UNIFIED IDEOGRAPH -0xE2CD 0x7C23 #CJK UNIFIED IDEOGRAPH -0xE2CE 0x7C27 #CJK UNIFIED IDEOGRAPH -0xE2CF 0x7C2A #CJK UNIFIED IDEOGRAPH -0xE2D0 0x7C1F #CJK UNIFIED IDEOGRAPH -0xE2D1 0x7C37 #CJK UNIFIED IDEOGRAPH -0xE2D2 0x7C2B #CJK UNIFIED IDEOGRAPH -0xE2D3 0x7C3D #CJK UNIFIED IDEOGRAPH -0xE2D4 0x7C4C #CJK UNIFIED IDEOGRAPH -0xE2D5 0x7C43 #CJK UNIFIED IDEOGRAPH -0xE2D6 0x7C54 #CJK UNIFIED IDEOGRAPH -0xE2D7 0x7C4F #CJK UNIFIED IDEOGRAPH -0xE2D8 0x7C40 #CJK UNIFIED IDEOGRAPH -0xE2D9 0x7C50 #CJK UNIFIED IDEOGRAPH -0xE2DA 0x7C58 #CJK UNIFIED IDEOGRAPH -0xE2DB 0x7C5F #CJK UNIFIED IDEOGRAPH -0xE2DC 0x7C64 #CJK UNIFIED IDEOGRAPH -0xE2DD 0x7C56 #CJK UNIFIED IDEOGRAPH -0xE2DE 0x7C65 #CJK UNIFIED IDEOGRAPH -0xE2DF 0x7C6C #CJK UNIFIED IDEOGRAPH -0xE2E0 0x7C75 #CJK UNIFIED IDEOGRAPH -0xE2E1 0x7C83 #CJK UNIFIED IDEOGRAPH -0xE2E2 0x7C90 #CJK UNIFIED IDEOGRAPH -0xE2E3 0x7CA4 #CJK UNIFIED IDEOGRAPH -0xE2E4 0x7CAD #CJK UNIFIED IDEOGRAPH -0xE2E5 0x7CA2 #CJK UNIFIED IDEOGRAPH -0xE2E6 0x7CAB #CJK UNIFIED IDEOGRAPH -0xE2E7 0x7CA1 #CJK UNIFIED IDEOGRAPH -0xE2E8 0x7CA8 #CJK UNIFIED IDEOGRAPH -0xE2E9 0x7CB3 #CJK UNIFIED IDEOGRAPH -0xE2EA 0x7CB2 #CJK UNIFIED IDEOGRAPH -0xE2EB 0x7CB1 #CJK UNIFIED IDEOGRAPH -0xE2EC 0x7CAE #CJK UNIFIED IDEOGRAPH -0xE2ED 0x7CB9 #CJK UNIFIED IDEOGRAPH -0xE2EE 0x7CBD #CJK UNIFIED IDEOGRAPH -0xE2EF 0x7CC0 #CJK UNIFIED IDEOGRAPH -0xE2F0 0x7CC5 #CJK UNIFIED IDEOGRAPH -0xE2F1 0x7CC2 #CJK UNIFIED IDEOGRAPH -0xE2F2 0x7CD8 #CJK UNIFIED IDEOGRAPH -0xE2F3 0x7CD2 #CJK UNIFIED IDEOGRAPH -0xE2F4 0x7CDC #CJK UNIFIED IDEOGRAPH -0xE2F5 0x7CE2 #CJK UNIFIED IDEOGRAPH -0xE2F6 0x9B3B #CJK UNIFIED IDEOGRAPH -0xE2F7 0x7CEF #CJK UNIFIED IDEOGRAPH -0xE2F8 0x7CF2 #CJK UNIFIED IDEOGRAPH -0xE2F9 0x7CF4 #CJK UNIFIED IDEOGRAPH -0xE2FA 0x7CF6 #CJK UNIFIED IDEOGRAPH -0xE2FB 0x7CFA #CJK UNIFIED IDEOGRAPH -0xE2FC 0x7D06 #CJK UNIFIED IDEOGRAPH -0xE340 0x7D02 #CJK UNIFIED IDEOGRAPH -0xE341 0x7D1C #CJK UNIFIED IDEOGRAPH -0xE342 0x7D15 #CJK UNIFIED IDEOGRAPH -0xE343 0x7D0A #CJK UNIFIED IDEOGRAPH -0xE344 0x7D45 #CJK UNIFIED IDEOGRAPH -0xE345 0x7D4B #CJK UNIFIED IDEOGRAPH -0xE346 0x7D2E #CJK UNIFIED IDEOGRAPH -0xE347 0x7D32 #CJK UNIFIED IDEOGRAPH -0xE348 0x7D3F #CJK UNIFIED IDEOGRAPH -0xE349 0x7D35 #CJK UNIFIED IDEOGRAPH -0xE34A 0x7D46 #CJK UNIFIED IDEOGRAPH -0xE34B 0x7D73 #CJK UNIFIED IDEOGRAPH -0xE34C 0x7D56 #CJK UNIFIED IDEOGRAPH -0xE34D 0x7D4E #CJK UNIFIED IDEOGRAPH -0xE34E 0x7D72 #CJK UNIFIED IDEOGRAPH -0xE34F 0x7D68 #CJK UNIFIED IDEOGRAPH -0xE350 0x7D6E #CJK UNIFIED IDEOGRAPH -0xE351 0x7D4F #CJK UNIFIED IDEOGRAPH -0xE352 0x7D63 #CJK UNIFIED IDEOGRAPH -0xE353 0x7D93 #CJK UNIFIED IDEOGRAPH -0xE354 0x7D89 #CJK UNIFIED IDEOGRAPH -0xE355 0x7D5B #CJK UNIFIED IDEOGRAPH -0xE356 0x7D8F #CJK UNIFIED IDEOGRAPH -0xE357 0x7D7D #CJK UNIFIED IDEOGRAPH -0xE358 0x7D9B #CJK UNIFIED IDEOGRAPH -0xE359 0x7DBA #CJK UNIFIED IDEOGRAPH -0xE35A 0x7DAE #CJK UNIFIED IDEOGRAPH -0xE35B 0x7DA3 #CJK UNIFIED IDEOGRAPH -0xE35C 0x7DB5 #CJK UNIFIED IDEOGRAPH -0xE35D 0x7DC7 #CJK UNIFIED IDEOGRAPH -0xE35E 0x7DBD #CJK UNIFIED IDEOGRAPH -0xE35F 0x7DAB #CJK UNIFIED IDEOGRAPH -0xE360 0x7E3D #CJK UNIFIED IDEOGRAPH -0xE361 0x7DA2 #CJK UNIFIED IDEOGRAPH -0xE362 0x7DAF #CJK UNIFIED IDEOGRAPH -0xE363 0x7DDC #CJK UNIFIED IDEOGRAPH -0xE364 0x7DB8 #CJK UNIFIED IDEOGRAPH -0xE365 0x7D9F #CJK UNIFIED IDEOGRAPH -0xE366 0x7DB0 #CJK UNIFIED IDEOGRAPH -0xE367 0x7DD8 #CJK UNIFIED IDEOGRAPH -0xE368 0x7DDD #CJK UNIFIED IDEOGRAPH -0xE369 0x7DE4 #CJK UNIFIED IDEOGRAPH -0xE36A 0x7DDE #CJK UNIFIED IDEOGRAPH -0xE36B 0x7DFB #CJK UNIFIED IDEOGRAPH -0xE36C 0x7DF2 #CJK UNIFIED IDEOGRAPH -0xE36D 0x7DE1 #CJK UNIFIED IDEOGRAPH -0xE36E 0x7E05 #CJK UNIFIED IDEOGRAPH -0xE36F 0x7E0A #CJK UNIFIED IDEOGRAPH -0xE370 0x7E23 #CJK UNIFIED IDEOGRAPH -0xE371 0x7E21 #CJK UNIFIED IDEOGRAPH -0xE372 0x7E12 #CJK UNIFIED IDEOGRAPH -0xE373 0x7E31 #CJK UNIFIED IDEOGRAPH -0xE374 0x7E1F #CJK UNIFIED IDEOGRAPH -0xE375 0x7E09 #CJK UNIFIED IDEOGRAPH -0xE376 0x7E0B #CJK UNIFIED IDEOGRAPH -0xE377 0x7E22 #CJK UNIFIED IDEOGRAPH -0xE378 0x7E46 #CJK UNIFIED IDEOGRAPH -0xE379 0x7E66 #CJK UNIFIED IDEOGRAPH -0xE37A 0x7E3B #CJK UNIFIED IDEOGRAPH -0xE37B 0x7E35 #CJK UNIFIED IDEOGRAPH -0xE37C 0x7E39 #CJK UNIFIED IDEOGRAPH -0xE37D 0x7E43 #CJK UNIFIED IDEOGRAPH -0xE37E 0x7E37 #CJK UNIFIED IDEOGRAPH -0xE380 0x7E32 #CJK UNIFIED IDEOGRAPH -0xE381 0x7E3A #CJK UNIFIED IDEOGRAPH -0xE382 0x7E67 #CJK UNIFIED IDEOGRAPH -0xE383 0x7E5D #CJK UNIFIED IDEOGRAPH -0xE384 0x7E56 #CJK UNIFIED IDEOGRAPH -0xE385 0x7E5E #CJK UNIFIED IDEOGRAPH -0xE386 0x7E59 #CJK UNIFIED IDEOGRAPH -0xE387 0x7E5A #CJK UNIFIED IDEOGRAPH -0xE388 0x7E79 #CJK UNIFIED IDEOGRAPH -0xE389 0x7E6A #CJK UNIFIED IDEOGRAPH -0xE38A 0x7E69 #CJK UNIFIED IDEOGRAPH -0xE38B 0x7E7C #CJK UNIFIED IDEOGRAPH -0xE38C 0x7E7B #CJK UNIFIED IDEOGRAPH -0xE38D 0x7E83 #CJK UNIFIED IDEOGRAPH -0xE38E 0x7DD5 #CJK UNIFIED IDEOGRAPH -0xE38F 0x7E7D #CJK UNIFIED IDEOGRAPH -0xE390 0x8FAE #CJK UNIFIED IDEOGRAPH -0xE391 0x7E7F #CJK UNIFIED IDEOGRAPH -0xE392 0x7E88 #CJK UNIFIED IDEOGRAPH -0xE393 0x7E89 #CJK UNIFIED IDEOGRAPH -0xE394 0x7E8C #CJK UNIFIED IDEOGRAPH -0xE395 0x7E92 #CJK UNIFIED IDEOGRAPH -0xE396 0x7E90 #CJK UNIFIED IDEOGRAPH -0xE397 0x7E93 #CJK UNIFIED IDEOGRAPH -0xE398 0x7E94 #CJK UNIFIED IDEOGRAPH -0xE399 0x7E96 #CJK UNIFIED IDEOGRAPH -0xE39A 0x7E8E #CJK UNIFIED IDEOGRAPH -0xE39B 0x7E9B #CJK UNIFIED IDEOGRAPH -0xE39C 0x7E9C #CJK UNIFIED IDEOGRAPH -0xE39D 0x7F38 #CJK UNIFIED IDEOGRAPH -0xE39E 0x7F3A #CJK UNIFIED IDEOGRAPH -0xE39F 0x7F45 #CJK UNIFIED IDEOGRAPH -0xE3A0 0x7F4C #CJK UNIFIED IDEOGRAPH -0xE3A1 0x7F4D #CJK UNIFIED IDEOGRAPH -0xE3A2 0x7F4E #CJK UNIFIED IDEOGRAPH -0xE3A3 0x7F50 #CJK UNIFIED IDEOGRAPH -0xE3A4 0x7F51 #CJK UNIFIED IDEOGRAPH -0xE3A5 0x7F55 #CJK UNIFIED IDEOGRAPH -0xE3A6 0x7F54 #CJK UNIFIED IDEOGRAPH -0xE3A7 0x7F58 #CJK UNIFIED IDEOGRAPH -0xE3A8 0x7F5F #CJK UNIFIED IDEOGRAPH -0xE3A9 0x7F60 #CJK UNIFIED IDEOGRAPH -0xE3AA 0x7F68 #CJK UNIFIED IDEOGRAPH -0xE3AB 0x7F69 #CJK UNIFIED IDEOGRAPH -0xE3AC 0x7F67 #CJK UNIFIED IDEOGRAPH -0xE3AD 0x7F78 #CJK UNIFIED IDEOGRAPH -0xE3AE 0x7F82 #CJK UNIFIED IDEOGRAPH -0xE3AF 0x7F86 #CJK UNIFIED IDEOGRAPH -0xE3B0 0x7F83 #CJK UNIFIED IDEOGRAPH -0xE3B1 0x7F88 #CJK UNIFIED IDEOGRAPH -0xE3B2 0x7F87 #CJK UNIFIED IDEOGRAPH -0xE3B3 0x7F8C #CJK UNIFIED IDEOGRAPH -0xE3B4 0x7F94 #CJK UNIFIED IDEOGRAPH -0xE3B5 0x7F9E #CJK UNIFIED IDEOGRAPH -0xE3B6 0x7F9D #CJK UNIFIED IDEOGRAPH -0xE3B7 0x7F9A #CJK UNIFIED IDEOGRAPH -0xE3B8 0x7FA3 #CJK UNIFIED IDEOGRAPH -0xE3B9 0x7FAF #CJK UNIFIED IDEOGRAPH -0xE3BA 0x7FB2 #CJK UNIFIED IDEOGRAPH -0xE3BB 0x7FB9 #CJK UNIFIED IDEOGRAPH -0xE3BC 0x7FAE #CJK UNIFIED IDEOGRAPH -0xE3BD 0x7FB6 #CJK UNIFIED IDEOGRAPH -0xE3BE 0x7FB8 #CJK UNIFIED IDEOGRAPH -0xE3BF 0x8B71 #CJK UNIFIED IDEOGRAPH -0xE3C0 0x7FC5 #CJK UNIFIED IDEOGRAPH -0xE3C1 0x7FC6 #CJK UNIFIED IDEOGRAPH -0xE3C2 0x7FCA #CJK UNIFIED IDEOGRAPH -0xE3C3 0x7FD5 #CJK UNIFIED IDEOGRAPH -0xE3C4 0x7FD4 #CJK UNIFIED IDEOGRAPH -0xE3C5 0x7FE1 #CJK UNIFIED IDEOGRAPH -0xE3C6 0x7FE6 #CJK UNIFIED IDEOGRAPH -0xE3C7 0x7FE9 #CJK UNIFIED IDEOGRAPH -0xE3C8 0x7FF3 #CJK UNIFIED IDEOGRAPH -0xE3C9 0x7FF9 #CJK UNIFIED IDEOGRAPH -0xE3CA 0x98DC #CJK UNIFIED IDEOGRAPH -0xE3CB 0x8006 #CJK UNIFIED IDEOGRAPH -0xE3CC 0x8004 #CJK UNIFIED IDEOGRAPH -0xE3CD 0x800B #CJK UNIFIED IDEOGRAPH -0xE3CE 0x8012 #CJK UNIFIED IDEOGRAPH -0xE3CF 0x8018 #CJK UNIFIED IDEOGRAPH -0xE3D0 0x8019 #CJK UNIFIED IDEOGRAPH -0xE3D1 0x801C #CJK UNIFIED IDEOGRAPH -0xE3D2 0x8021 #CJK UNIFIED IDEOGRAPH -0xE3D3 0x8028 #CJK UNIFIED IDEOGRAPH -0xE3D4 0x803F #CJK UNIFIED IDEOGRAPH -0xE3D5 0x803B #CJK UNIFIED IDEOGRAPH -0xE3D6 0x804A #CJK UNIFIED IDEOGRAPH -0xE3D7 0x8046 #CJK UNIFIED IDEOGRAPH -0xE3D8 0x8052 #CJK UNIFIED IDEOGRAPH -0xE3D9 0x8058 #CJK UNIFIED IDEOGRAPH -0xE3DA 0x805A #CJK UNIFIED IDEOGRAPH -0xE3DB 0x805F #CJK UNIFIED IDEOGRAPH -0xE3DC 0x8062 #CJK UNIFIED IDEOGRAPH -0xE3DD 0x8068 #CJK UNIFIED IDEOGRAPH -0xE3DE 0x8073 #CJK UNIFIED IDEOGRAPH -0xE3DF 0x8072 #CJK UNIFIED IDEOGRAPH -0xE3E0 0x8070 #CJK UNIFIED IDEOGRAPH -0xE3E1 0x8076 #CJK UNIFIED IDEOGRAPH -0xE3E2 0x8079 #CJK UNIFIED IDEOGRAPH -0xE3E3 0x807D #CJK UNIFIED IDEOGRAPH -0xE3E4 0x807F #CJK UNIFIED IDEOGRAPH -0xE3E5 0x8084 #CJK UNIFIED IDEOGRAPH -0xE3E6 0x8086 #CJK UNIFIED IDEOGRAPH -0xE3E7 0x8085 #CJK UNIFIED IDEOGRAPH -0xE3E8 0x809B #CJK UNIFIED IDEOGRAPH -0xE3E9 0x8093 #CJK UNIFIED IDEOGRAPH -0xE3EA 0x809A #CJK UNIFIED IDEOGRAPH -0xE3EB 0x80AD #CJK UNIFIED IDEOGRAPH -0xE3EC 0x5190 #CJK UNIFIED IDEOGRAPH -0xE3ED 0x80AC #CJK UNIFIED IDEOGRAPH -0xE3EE 0x80DB #CJK UNIFIED IDEOGRAPH -0xE3EF 0x80E5 #CJK UNIFIED IDEOGRAPH -0xE3F0 0x80D9 #CJK UNIFIED IDEOGRAPH -0xE3F1 0x80DD #CJK UNIFIED IDEOGRAPH -0xE3F2 0x80C4 #CJK UNIFIED IDEOGRAPH -0xE3F3 0x80DA #CJK UNIFIED IDEOGRAPH -0xE3F4 0x80D6 #CJK UNIFIED IDEOGRAPH -0xE3F5 0x8109 #CJK UNIFIED IDEOGRAPH -0xE3F6 0x80EF #CJK UNIFIED IDEOGRAPH -0xE3F7 0x80F1 #CJK UNIFIED IDEOGRAPH -0xE3F8 0x811B #CJK UNIFIED IDEOGRAPH -0xE3F9 0x8129 #CJK UNIFIED IDEOGRAPH -0xE3FA 0x8123 #CJK UNIFIED IDEOGRAPH -0xE3FB 0x812F #CJK UNIFIED IDEOGRAPH -0xE3FC 0x814B #CJK UNIFIED IDEOGRAPH -0xE440 0x968B #CJK UNIFIED IDEOGRAPH -0xE441 0x8146 #CJK UNIFIED IDEOGRAPH -0xE442 0x813E #CJK UNIFIED IDEOGRAPH -0xE443 0x8153 #CJK UNIFIED IDEOGRAPH -0xE444 0x8151 #CJK UNIFIED IDEOGRAPH -0xE445 0x80FC #CJK UNIFIED IDEOGRAPH -0xE446 0x8171 #CJK UNIFIED IDEOGRAPH -0xE447 0x816E #CJK UNIFIED IDEOGRAPH -0xE448 0x8165 #CJK UNIFIED IDEOGRAPH -0xE449 0x8166 #CJK UNIFIED IDEOGRAPH -0xE44A 0x8174 #CJK UNIFIED IDEOGRAPH -0xE44B 0x8183 #CJK UNIFIED IDEOGRAPH -0xE44C 0x8188 #CJK UNIFIED IDEOGRAPH -0xE44D 0x818A #CJK UNIFIED IDEOGRAPH -0xE44E 0x8180 #CJK UNIFIED IDEOGRAPH -0xE44F 0x8182 #CJK UNIFIED IDEOGRAPH -0xE450 0x81A0 #CJK UNIFIED IDEOGRAPH -0xE451 0x8195 #CJK UNIFIED IDEOGRAPH -0xE452 0x81A4 #CJK UNIFIED IDEOGRAPH -0xE453 0x81A3 #CJK UNIFIED IDEOGRAPH -0xE454 0x815F #CJK UNIFIED IDEOGRAPH -0xE455 0x8193 #CJK UNIFIED IDEOGRAPH -0xE456 0x81A9 #CJK UNIFIED IDEOGRAPH -0xE457 0x81B0 #CJK UNIFIED IDEOGRAPH -0xE458 0x81B5 #CJK UNIFIED IDEOGRAPH -0xE459 0x81BE #CJK UNIFIED IDEOGRAPH -0xE45A 0x81B8 #CJK UNIFIED IDEOGRAPH -0xE45B 0x81BD #CJK UNIFIED IDEOGRAPH -0xE45C 0x81C0 #CJK UNIFIED IDEOGRAPH -0xE45D 0x81C2 #CJK UNIFIED IDEOGRAPH -0xE45E 0x81BA #CJK UNIFIED IDEOGRAPH -0xE45F 0x81C9 #CJK UNIFIED IDEOGRAPH -0xE460 0x81CD #CJK UNIFIED IDEOGRAPH -0xE461 0x81D1 #CJK UNIFIED IDEOGRAPH -0xE462 0x81D9 #CJK UNIFIED IDEOGRAPH -0xE463 0x81D8 #CJK UNIFIED IDEOGRAPH -0xE464 0x81C8 #CJK UNIFIED IDEOGRAPH -0xE465 0x81DA #CJK UNIFIED IDEOGRAPH -0xE466 0x81DF #CJK UNIFIED IDEOGRAPH -0xE467 0x81E0 #CJK UNIFIED IDEOGRAPH -0xE468 0x81E7 #CJK UNIFIED IDEOGRAPH -0xE469 0x81FA #CJK UNIFIED IDEOGRAPH -0xE46A 0x81FB #CJK UNIFIED IDEOGRAPH -0xE46B 0x81FE #CJK UNIFIED IDEOGRAPH -0xE46C 0x8201 #CJK UNIFIED IDEOGRAPH -0xE46D 0x8202 #CJK UNIFIED IDEOGRAPH -0xE46E 0x8205 #CJK UNIFIED IDEOGRAPH -0xE46F 0x8207 #CJK UNIFIED IDEOGRAPH -0xE470 0x820A #CJK UNIFIED IDEOGRAPH -0xE471 0x820D #CJK UNIFIED IDEOGRAPH -0xE472 0x8210 #CJK UNIFIED IDEOGRAPH -0xE473 0x8216 #CJK UNIFIED IDEOGRAPH -0xE474 0x8229 #CJK UNIFIED IDEOGRAPH -0xE475 0x822B #CJK UNIFIED IDEOGRAPH -0xE476 0x8238 #CJK UNIFIED IDEOGRAPH -0xE477 0x8233 #CJK UNIFIED IDEOGRAPH -0xE478 0x8240 #CJK UNIFIED IDEOGRAPH -0xE479 0x8259 #CJK UNIFIED IDEOGRAPH -0xE47A 0x8258 #CJK UNIFIED IDEOGRAPH -0xE47B 0x825D #CJK UNIFIED IDEOGRAPH -0xE47C 0x825A #CJK UNIFIED IDEOGRAPH -0xE47D 0x825F #CJK UNIFIED IDEOGRAPH -0xE47E 0x8264 #CJK UNIFIED IDEOGRAPH -0xE480 0x8262 #CJK UNIFIED IDEOGRAPH -0xE481 0x8268 #CJK UNIFIED IDEOGRAPH -0xE482 0x826A #CJK UNIFIED IDEOGRAPH -0xE483 0x826B #CJK UNIFIED IDEOGRAPH -0xE484 0x822E #CJK UNIFIED IDEOGRAPH -0xE485 0x8271 #CJK UNIFIED IDEOGRAPH -0xE486 0x8277 #CJK UNIFIED IDEOGRAPH -0xE487 0x8278 #CJK UNIFIED IDEOGRAPH -0xE488 0x827E #CJK UNIFIED IDEOGRAPH -0xE489 0x828D #CJK UNIFIED IDEOGRAPH -0xE48A 0x8292 #CJK UNIFIED IDEOGRAPH -0xE48B 0x82AB #CJK UNIFIED IDEOGRAPH -0xE48C 0x829F #CJK UNIFIED IDEOGRAPH -0xE48D 0x82BB #CJK UNIFIED IDEOGRAPH -0xE48E 0x82AC #CJK UNIFIED IDEOGRAPH -0xE48F 0x82E1 #CJK UNIFIED IDEOGRAPH -0xE490 0x82E3 #CJK UNIFIED IDEOGRAPH -0xE491 0x82DF #CJK UNIFIED IDEOGRAPH -0xE492 0x82D2 #CJK UNIFIED IDEOGRAPH -0xE493 0x82F4 #CJK UNIFIED IDEOGRAPH -0xE494 0x82F3 #CJK UNIFIED IDEOGRAPH -0xE495 0x82FA #CJK UNIFIED IDEOGRAPH -0xE496 0x8393 #CJK UNIFIED IDEOGRAPH -0xE497 0x8303 #CJK UNIFIED IDEOGRAPH -0xE498 0x82FB #CJK UNIFIED IDEOGRAPH -0xE499 0x82F9 #CJK UNIFIED IDEOGRAPH -0xE49A 0x82DE #CJK UNIFIED IDEOGRAPH -0xE49B 0x8306 #CJK UNIFIED IDEOGRAPH -0xE49C 0x82DC #CJK UNIFIED IDEOGRAPH -0xE49D 0x8309 #CJK UNIFIED IDEOGRAPH -0xE49E 0x82D9 #CJK UNIFIED IDEOGRAPH -0xE49F 0x8335 #CJK UNIFIED IDEOGRAPH -0xE4A0 0x8334 #CJK UNIFIED IDEOGRAPH -0xE4A1 0x8316 #CJK UNIFIED IDEOGRAPH -0xE4A2 0x8332 #CJK UNIFIED IDEOGRAPH -0xE4A3 0x8331 #CJK UNIFIED IDEOGRAPH -0xE4A4 0x8340 #CJK UNIFIED IDEOGRAPH -0xE4A5 0x8339 #CJK UNIFIED IDEOGRAPH -0xE4A6 0x8350 #CJK UNIFIED IDEOGRAPH -0xE4A7 0x8345 #CJK UNIFIED IDEOGRAPH -0xE4A8 0x832F #CJK UNIFIED IDEOGRAPH -0xE4A9 0x832B #CJK UNIFIED IDEOGRAPH -0xE4AA 0x8317 #CJK UNIFIED IDEOGRAPH -0xE4AB 0x8318 #CJK UNIFIED IDEOGRAPH -0xE4AC 0x8385 #CJK UNIFIED IDEOGRAPH -0xE4AD 0x839A #CJK UNIFIED IDEOGRAPH -0xE4AE 0x83AA #CJK UNIFIED IDEOGRAPH -0xE4AF 0x839F #CJK UNIFIED IDEOGRAPH -0xE4B0 0x83A2 #CJK UNIFIED IDEOGRAPH -0xE4B1 0x8396 #CJK UNIFIED IDEOGRAPH -0xE4B2 0x8323 #CJK UNIFIED IDEOGRAPH -0xE4B3 0x838E #CJK UNIFIED IDEOGRAPH -0xE4B4 0x8387 #CJK UNIFIED IDEOGRAPH -0xE4B5 0x838A #CJK UNIFIED IDEOGRAPH -0xE4B6 0x837C #CJK UNIFIED IDEOGRAPH -0xE4B7 0x83B5 #CJK UNIFIED IDEOGRAPH -0xE4B8 0x8373 #CJK UNIFIED IDEOGRAPH -0xE4B9 0x8375 #CJK UNIFIED IDEOGRAPH -0xE4BA 0x83A0 #CJK UNIFIED IDEOGRAPH -0xE4BB 0x8389 #CJK UNIFIED IDEOGRAPH -0xE4BC 0x83A8 #CJK UNIFIED IDEOGRAPH -0xE4BD 0x83F4 #CJK UNIFIED IDEOGRAPH -0xE4BE 0x8413 #CJK UNIFIED IDEOGRAPH -0xE4BF 0x83EB #CJK UNIFIED IDEOGRAPH -0xE4C0 0x83CE #CJK UNIFIED IDEOGRAPH -0xE4C1 0x83FD #CJK UNIFIED IDEOGRAPH -0xE4C2 0x8403 #CJK UNIFIED IDEOGRAPH -0xE4C3 0x83D8 #CJK UNIFIED IDEOGRAPH -0xE4C4 0x840B #CJK UNIFIED IDEOGRAPH -0xE4C5 0x83C1 #CJK UNIFIED IDEOGRAPH -0xE4C6 0x83F7 #CJK UNIFIED IDEOGRAPH -0xE4C7 0x8407 #CJK UNIFIED IDEOGRAPH -0xE4C8 0x83E0 #CJK UNIFIED IDEOGRAPH -0xE4C9 0x83F2 #CJK UNIFIED IDEOGRAPH -0xE4CA 0x840D #CJK UNIFIED IDEOGRAPH -0xE4CB 0x8422 #CJK UNIFIED IDEOGRAPH -0xE4CC 0x8420 #CJK UNIFIED IDEOGRAPH -0xE4CD 0x83BD #CJK UNIFIED IDEOGRAPH -0xE4CE 0x8438 #CJK UNIFIED IDEOGRAPH -0xE4CF 0x8506 #CJK UNIFIED IDEOGRAPH -0xE4D0 0x83FB #CJK UNIFIED IDEOGRAPH -0xE4D1 0x846D #CJK UNIFIED IDEOGRAPH -0xE4D2 0x842A #CJK UNIFIED IDEOGRAPH -0xE4D3 0x843C #CJK UNIFIED IDEOGRAPH -0xE4D4 0x855A #CJK UNIFIED IDEOGRAPH -0xE4D5 0x8484 #CJK UNIFIED IDEOGRAPH -0xE4D6 0x8477 #CJK UNIFIED IDEOGRAPH -0xE4D7 0x846B #CJK UNIFIED IDEOGRAPH -0xE4D8 0x84AD #CJK UNIFIED IDEOGRAPH -0xE4D9 0x846E #CJK UNIFIED IDEOGRAPH -0xE4DA 0x8482 #CJK UNIFIED IDEOGRAPH -0xE4DB 0x8469 #CJK UNIFIED IDEOGRAPH -0xE4DC 0x8446 #CJK UNIFIED IDEOGRAPH -0xE4DD 0x842C #CJK UNIFIED IDEOGRAPH -0xE4DE 0x846F #CJK UNIFIED IDEOGRAPH -0xE4DF 0x8479 #CJK UNIFIED IDEOGRAPH -0xE4E0 0x8435 #CJK UNIFIED IDEOGRAPH -0xE4E1 0x84CA #CJK UNIFIED IDEOGRAPH -0xE4E2 0x8462 #CJK UNIFIED IDEOGRAPH -0xE4E3 0x84B9 #CJK UNIFIED IDEOGRAPH -0xE4E4 0x84BF #CJK UNIFIED IDEOGRAPH -0xE4E5 0x849F #CJK UNIFIED IDEOGRAPH -0xE4E6 0x84D9 #CJK UNIFIED IDEOGRAPH -0xE4E7 0x84CD #CJK UNIFIED IDEOGRAPH -0xE4E8 0x84BB #CJK UNIFIED IDEOGRAPH -0xE4E9 0x84DA #CJK UNIFIED IDEOGRAPH -0xE4EA 0x84D0 #CJK UNIFIED IDEOGRAPH -0xE4EB 0x84C1 #CJK UNIFIED IDEOGRAPH -0xE4EC 0x84C6 #CJK UNIFIED IDEOGRAPH -0xE4ED 0x84D6 #CJK UNIFIED IDEOGRAPH -0xE4EE 0x84A1 #CJK UNIFIED IDEOGRAPH -0xE4EF 0x8521 #CJK UNIFIED IDEOGRAPH -0xE4F0 0x84FF #CJK UNIFIED IDEOGRAPH -0xE4F1 0x84F4 #CJK UNIFIED IDEOGRAPH -0xE4F2 0x8517 #CJK UNIFIED IDEOGRAPH -0xE4F3 0x8518 #CJK UNIFIED IDEOGRAPH -0xE4F4 0x852C #CJK UNIFIED IDEOGRAPH -0xE4F5 0x851F #CJK UNIFIED IDEOGRAPH -0xE4F6 0x8515 #CJK UNIFIED IDEOGRAPH -0xE4F7 0x8514 #CJK UNIFIED IDEOGRAPH -0xE4F8 0x84FC #CJK UNIFIED IDEOGRAPH -0xE4F9 0x8540 #CJK UNIFIED IDEOGRAPH -0xE4FA 0x8563 #CJK UNIFIED IDEOGRAPH -0xE4FB 0x8558 #CJK UNIFIED IDEOGRAPH -0xE4FC 0x8548 #CJK UNIFIED IDEOGRAPH -0xE540 0x8541 #CJK UNIFIED IDEOGRAPH -0xE541 0x8602 #CJK UNIFIED IDEOGRAPH -0xE542 0x854B #CJK UNIFIED IDEOGRAPH -0xE543 0x8555 #CJK UNIFIED IDEOGRAPH -0xE544 0x8580 #CJK UNIFIED IDEOGRAPH -0xE545 0x85A4 #CJK UNIFIED IDEOGRAPH -0xE546 0x8588 #CJK UNIFIED IDEOGRAPH -0xE547 0x8591 #CJK UNIFIED IDEOGRAPH -0xE548 0x858A #CJK UNIFIED IDEOGRAPH -0xE549 0x85A8 #CJK UNIFIED IDEOGRAPH -0xE54A 0x856D #CJK UNIFIED IDEOGRAPH -0xE54B 0x8594 #CJK UNIFIED IDEOGRAPH -0xE54C 0x859B #CJK UNIFIED IDEOGRAPH -0xE54D 0x85EA #CJK UNIFIED IDEOGRAPH -0xE54E 0x8587 #CJK UNIFIED IDEOGRAPH -0xE54F 0x859C #CJK UNIFIED IDEOGRAPH -0xE550 0x8577 #CJK UNIFIED IDEOGRAPH -0xE551 0x857E #CJK UNIFIED IDEOGRAPH -0xE552 0x8590 #CJK UNIFIED IDEOGRAPH -0xE553 0x85C9 #CJK UNIFIED IDEOGRAPH -0xE554 0x85BA #CJK UNIFIED IDEOGRAPH -0xE555 0x85CF #CJK UNIFIED IDEOGRAPH -0xE556 0x85B9 #CJK UNIFIED IDEOGRAPH -0xE557 0x85D0 #CJK UNIFIED IDEOGRAPH -0xE558 0x85D5 #CJK UNIFIED IDEOGRAPH -0xE559 0x85DD #CJK UNIFIED IDEOGRAPH -0xE55A 0x85E5 #CJK UNIFIED IDEOGRAPH -0xE55B 0x85DC #CJK UNIFIED IDEOGRAPH -0xE55C 0x85F9 #CJK UNIFIED IDEOGRAPH -0xE55D 0x860A #CJK UNIFIED IDEOGRAPH -0xE55E 0x8613 #CJK UNIFIED IDEOGRAPH -0xE55F 0x860B #CJK UNIFIED IDEOGRAPH -0xE560 0x85FE #CJK UNIFIED IDEOGRAPH -0xE561 0x85FA #CJK UNIFIED IDEOGRAPH -0xE562 0x8606 #CJK UNIFIED IDEOGRAPH -0xE563 0x8622 #CJK UNIFIED IDEOGRAPH -0xE564 0x861A #CJK UNIFIED IDEOGRAPH -0xE565 0x8630 #CJK UNIFIED IDEOGRAPH -0xE566 0x863F #CJK UNIFIED IDEOGRAPH -0xE567 0x864D #CJK UNIFIED IDEOGRAPH -0xE568 0x4E55 #CJK UNIFIED IDEOGRAPH -0xE569 0x8654 #CJK UNIFIED IDEOGRAPH -0xE56A 0x865F #CJK UNIFIED IDEOGRAPH -0xE56B 0x8667 #CJK UNIFIED IDEOGRAPH -0xE56C 0x8671 #CJK UNIFIED IDEOGRAPH -0xE56D 0x8693 #CJK UNIFIED IDEOGRAPH -0xE56E 0x86A3 #CJK UNIFIED IDEOGRAPH -0xE56F 0x86A9 #CJK UNIFIED IDEOGRAPH -0xE570 0x86AA #CJK UNIFIED IDEOGRAPH -0xE571 0x868B #CJK UNIFIED IDEOGRAPH -0xE572 0x868C #CJK UNIFIED IDEOGRAPH -0xE573 0x86B6 #CJK UNIFIED IDEOGRAPH -0xE574 0x86AF #CJK UNIFIED IDEOGRAPH -0xE575 0x86C4 #CJK UNIFIED IDEOGRAPH -0xE576 0x86C6 #CJK UNIFIED IDEOGRAPH -0xE577 0x86B0 #CJK UNIFIED IDEOGRAPH -0xE578 0x86C9 #CJK UNIFIED IDEOGRAPH -0xE579 0x8823 #CJK UNIFIED IDEOGRAPH -0xE57A 0x86AB #CJK UNIFIED IDEOGRAPH -0xE57B 0x86D4 #CJK UNIFIED IDEOGRAPH -0xE57C 0x86DE #CJK UNIFIED IDEOGRAPH -0xE57D 0x86E9 #CJK UNIFIED IDEOGRAPH -0xE57E 0x86EC #CJK UNIFIED IDEOGRAPH -0xE580 0x86DF #CJK UNIFIED IDEOGRAPH -0xE581 0x86DB #CJK UNIFIED IDEOGRAPH -0xE582 0x86EF #CJK UNIFIED IDEOGRAPH -0xE583 0x8712 #CJK UNIFIED IDEOGRAPH -0xE584 0x8706 #CJK UNIFIED IDEOGRAPH -0xE585 0x8708 #CJK UNIFIED IDEOGRAPH -0xE586 0x8700 #CJK UNIFIED IDEOGRAPH -0xE587 0x8703 #CJK UNIFIED IDEOGRAPH -0xE588 0x86FB #CJK UNIFIED IDEOGRAPH -0xE589 0x8711 #CJK UNIFIED IDEOGRAPH -0xE58A 0x8709 #CJK UNIFIED IDEOGRAPH -0xE58B 0x870D #CJK UNIFIED IDEOGRAPH -0xE58C 0x86F9 #CJK UNIFIED IDEOGRAPH -0xE58D 0x870A #CJK UNIFIED IDEOGRAPH -0xE58E 0x8734 #CJK UNIFIED IDEOGRAPH -0xE58F 0x873F #CJK UNIFIED IDEOGRAPH -0xE590 0x8737 #CJK UNIFIED IDEOGRAPH -0xE591 0x873B #CJK UNIFIED IDEOGRAPH -0xE592 0x8725 #CJK UNIFIED IDEOGRAPH -0xE593 0x8729 #CJK UNIFIED IDEOGRAPH -0xE594 0x871A #CJK UNIFIED IDEOGRAPH -0xE595 0x8760 #CJK UNIFIED IDEOGRAPH -0xE596 0x875F #CJK UNIFIED IDEOGRAPH -0xE597 0x8778 #CJK UNIFIED IDEOGRAPH -0xE598 0x874C #CJK UNIFIED IDEOGRAPH -0xE599 0x874E #CJK UNIFIED IDEOGRAPH -0xE59A 0x8774 #CJK UNIFIED IDEOGRAPH -0xE59B 0x8757 #CJK UNIFIED IDEOGRAPH -0xE59C 0x8768 #CJK UNIFIED IDEOGRAPH -0xE59D 0x876E #CJK UNIFIED IDEOGRAPH -0xE59E 0x8759 #CJK UNIFIED IDEOGRAPH -0xE59F 0x8753 #CJK UNIFIED IDEOGRAPH -0xE5A0 0x8763 #CJK UNIFIED IDEOGRAPH -0xE5A1 0x876A #CJK UNIFIED IDEOGRAPH -0xE5A2 0x8805 #CJK UNIFIED IDEOGRAPH -0xE5A3 0x87A2 #CJK UNIFIED IDEOGRAPH -0xE5A4 0x879F #CJK UNIFIED IDEOGRAPH -0xE5A5 0x8782 #CJK UNIFIED IDEOGRAPH -0xE5A6 0x87AF #CJK UNIFIED IDEOGRAPH -0xE5A7 0x87CB #CJK UNIFIED IDEOGRAPH -0xE5A8 0x87BD #CJK UNIFIED IDEOGRAPH -0xE5A9 0x87C0 #CJK UNIFIED IDEOGRAPH -0xE5AA 0x87D0 #CJK UNIFIED IDEOGRAPH -0xE5AB 0x96D6 #CJK UNIFIED IDEOGRAPH -0xE5AC 0x87AB #CJK UNIFIED IDEOGRAPH -0xE5AD 0x87C4 #CJK UNIFIED IDEOGRAPH -0xE5AE 0x87B3 #CJK UNIFIED IDEOGRAPH -0xE5AF 0x87C7 #CJK UNIFIED IDEOGRAPH -0xE5B0 0x87C6 #CJK UNIFIED IDEOGRAPH -0xE5B1 0x87BB #CJK UNIFIED IDEOGRAPH -0xE5B2 0x87EF #CJK UNIFIED IDEOGRAPH -0xE5B3 0x87F2 #CJK UNIFIED IDEOGRAPH -0xE5B4 0x87E0 #CJK UNIFIED IDEOGRAPH -0xE5B5 0x880F #CJK UNIFIED IDEOGRAPH -0xE5B6 0x880D #CJK UNIFIED IDEOGRAPH -0xE5B7 0x87FE #CJK UNIFIED IDEOGRAPH -0xE5B8 0x87F6 #CJK UNIFIED IDEOGRAPH -0xE5B9 0x87F7 #CJK UNIFIED IDEOGRAPH -0xE5BA 0x880E #CJK UNIFIED IDEOGRAPH -0xE5BB 0x87D2 #CJK UNIFIED IDEOGRAPH -0xE5BC 0x8811 #CJK UNIFIED IDEOGRAPH -0xE5BD 0x8816 #CJK UNIFIED IDEOGRAPH -0xE5BE 0x8815 #CJK UNIFIED IDEOGRAPH -0xE5BF 0x8822 #CJK UNIFIED IDEOGRAPH -0xE5C0 0x8821 #CJK UNIFIED IDEOGRAPH -0xE5C1 0x8831 #CJK UNIFIED IDEOGRAPH -0xE5C2 0x8836 #CJK UNIFIED IDEOGRAPH -0xE5C3 0x8839 #CJK UNIFIED IDEOGRAPH -0xE5C4 0x8827 #CJK UNIFIED IDEOGRAPH -0xE5C5 0x883B #CJK UNIFIED IDEOGRAPH -0xE5C6 0x8844 #CJK UNIFIED IDEOGRAPH -0xE5C7 0x8842 #CJK UNIFIED IDEOGRAPH -0xE5C8 0x8852 #CJK UNIFIED IDEOGRAPH -0xE5C9 0x8859 #CJK UNIFIED IDEOGRAPH -0xE5CA 0x885E #CJK UNIFIED IDEOGRAPH -0xE5CB 0x8862 #CJK UNIFIED IDEOGRAPH -0xE5CC 0x886B #CJK UNIFIED IDEOGRAPH -0xE5CD 0x8881 #CJK UNIFIED IDEOGRAPH -0xE5CE 0x887E #CJK UNIFIED IDEOGRAPH -0xE5CF 0x889E #CJK UNIFIED IDEOGRAPH -0xE5D0 0x8875 #CJK UNIFIED IDEOGRAPH -0xE5D1 0x887D #CJK UNIFIED IDEOGRAPH -0xE5D2 0x88B5 #CJK UNIFIED IDEOGRAPH -0xE5D3 0x8872 #CJK UNIFIED IDEOGRAPH -0xE5D4 0x8882 #CJK UNIFIED IDEOGRAPH -0xE5D5 0x8897 #CJK UNIFIED IDEOGRAPH -0xE5D6 0x8892 #CJK UNIFIED IDEOGRAPH -0xE5D7 0x88AE #CJK UNIFIED IDEOGRAPH -0xE5D8 0x8899 #CJK UNIFIED IDEOGRAPH -0xE5D9 0x88A2 #CJK UNIFIED IDEOGRAPH -0xE5DA 0x888D #CJK UNIFIED IDEOGRAPH -0xE5DB 0x88A4 #CJK UNIFIED IDEOGRAPH -0xE5DC 0x88B0 #CJK UNIFIED IDEOGRAPH -0xE5DD 0x88BF #CJK UNIFIED IDEOGRAPH -0xE5DE 0x88B1 #CJK UNIFIED IDEOGRAPH -0xE5DF 0x88C3 #CJK UNIFIED IDEOGRAPH -0xE5E0 0x88C4 #CJK UNIFIED IDEOGRAPH -0xE5E1 0x88D4 #CJK UNIFIED IDEOGRAPH -0xE5E2 0x88D8 #CJK UNIFIED IDEOGRAPH -0xE5E3 0x88D9 #CJK UNIFIED IDEOGRAPH -0xE5E4 0x88DD #CJK UNIFIED IDEOGRAPH -0xE5E5 0x88F9 #CJK UNIFIED IDEOGRAPH -0xE5E6 0x8902 #CJK UNIFIED IDEOGRAPH -0xE5E7 0x88FC #CJK UNIFIED IDEOGRAPH -0xE5E8 0x88F4 #CJK UNIFIED IDEOGRAPH -0xE5E9 0x88E8 #CJK UNIFIED IDEOGRAPH -0xE5EA 0x88F2 #CJK UNIFIED IDEOGRAPH -0xE5EB 0x8904 #CJK UNIFIED IDEOGRAPH -0xE5EC 0x890C #CJK UNIFIED IDEOGRAPH -0xE5ED 0x890A #CJK UNIFIED IDEOGRAPH -0xE5EE 0x8913 #CJK UNIFIED IDEOGRAPH -0xE5EF 0x8943 #CJK UNIFIED IDEOGRAPH -0xE5F0 0x891E #CJK UNIFIED IDEOGRAPH -0xE5F1 0x8925 #CJK UNIFIED IDEOGRAPH -0xE5F2 0x892A #CJK UNIFIED IDEOGRAPH -0xE5F3 0x892B #CJK UNIFIED IDEOGRAPH -0xE5F4 0x8941 #CJK UNIFIED IDEOGRAPH -0xE5F5 0x8944 #CJK UNIFIED IDEOGRAPH -0xE5F6 0x893B #CJK UNIFIED IDEOGRAPH -0xE5F7 0x8936 #CJK UNIFIED IDEOGRAPH -0xE5F8 0x8938 #CJK UNIFIED IDEOGRAPH -0xE5F9 0x894C #CJK UNIFIED IDEOGRAPH -0xE5FA 0x891D #CJK UNIFIED IDEOGRAPH -0xE5FB 0x8960 #CJK UNIFIED IDEOGRAPH -0xE5FC 0x895E #CJK UNIFIED IDEOGRAPH -0xE640 0x8966 #CJK UNIFIED IDEOGRAPH -0xE641 0x8964 #CJK UNIFIED IDEOGRAPH -0xE642 0x896D #CJK UNIFIED IDEOGRAPH -0xE643 0x896A #CJK UNIFIED IDEOGRAPH -0xE644 0x896F #CJK UNIFIED IDEOGRAPH -0xE645 0x8974 #CJK UNIFIED IDEOGRAPH -0xE646 0x8977 #CJK UNIFIED IDEOGRAPH -0xE647 0x897E #CJK UNIFIED IDEOGRAPH -0xE648 0x8983 #CJK UNIFIED IDEOGRAPH -0xE649 0x8988 #CJK UNIFIED IDEOGRAPH -0xE64A 0x898A #CJK UNIFIED IDEOGRAPH -0xE64B 0x8993 #CJK UNIFIED IDEOGRAPH -0xE64C 0x8998 #CJK UNIFIED IDEOGRAPH -0xE64D 0x89A1 #CJK UNIFIED IDEOGRAPH -0xE64E 0x89A9 #CJK UNIFIED IDEOGRAPH -0xE64F 0x89A6 #CJK UNIFIED IDEOGRAPH -0xE650 0x89AC #CJK UNIFIED IDEOGRAPH -0xE651 0x89AF #CJK UNIFIED IDEOGRAPH -0xE652 0x89B2 #CJK UNIFIED IDEOGRAPH -0xE653 0x89BA #CJK UNIFIED IDEOGRAPH -0xE654 0x89BD #CJK UNIFIED IDEOGRAPH -0xE655 0x89BF #CJK UNIFIED IDEOGRAPH -0xE656 0x89C0 #CJK UNIFIED IDEOGRAPH -0xE657 0x89DA #CJK UNIFIED IDEOGRAPH -0xE658 0x89DC #CJK UNIFIED IDEOGRAPH -0xE659 0x89DD #CJK UNIFIED IDEOGRAPH -0xE65A 0x89E7 #CJK UNIFIED IDEOGRAPH -0xE65B 0x89F4 #CJK UNIFIED IDEOGRAPH -0xE65C 0x89F8 #CJK UNIFIED IDEOGRAPH -0xE65D 0x8A03 #CJK UNIFIED IDEOGRAPH -0xE65E 0x8A16 #CJK UNIFIED IDEOGRAPH -0xE65F 0x8A10 #CJK UNIFIED IDEOGRAPH -0xE660 0x8A0C #CJK UNIFIED IDEOGRAPH -0xE661 0x8A1B #CJK UNIFIED IDEOGRAPH -0xE662 0x8A1D #CJK UNIFIED IDEOGRAPH -0xE663 0x8A25 #CJK UNIFIED IDEOGRAPH -0xE664 0x8A36 #CJK UNIFIED IDEOGRAPH -0xE665 0x8A41 #CJK UNIFIED IDEOGRAPH -0xE666 0x8A5B #CJK UNIFIED IDEOGRAPH -0xE667 0x8A52 #CJK UNIFIED IDEOGRAPH -0xE668 0x8A46 #CJK UNIFIED IDEOGRAPH -0xE669 0x8A48 #CJK UNIFIED IDEOGRAPH -0xE66A 0x8A7C #CJK UNIFIED IDEOGRAPH -0xE66B 0x8A6D #CJK UNIFIED IDEOGRAPH -0xE66C 0x8A6C #CJK UNIFIED IDEOGRAPH -0xE66D 0x8A62 #CJK UNIFIED IDEOGRAPH -0xE66E 0x8A85 #CJK UNIFIED IDEOGRAPH -0xE66F 0x8A82 #CJK UNIFIED IDEOGRAPH -0xE670 0x8A84 #CJK UNIFIED IDEOGRAPH -0xE671 0x8AA8 #CJK UNIFIED IDEOGRAPH -0xE672 0x8AA1 #CJK UNIFIED IDEOGRAPH -0xE673 0x8A91 #CJK UNIFIED IDEOGRAPH -0xE674 0x8AA5 #CJK UNIFIED IDEOGRAPH -0xE675 0x8AA6 #CJK UNIFIED IDEOGRAPH -0xE676 0x8A9A #CJK UNIFIED IDEOGRAPH -0xE677 0x8AA3 #CJK UNIFIED IDEOGRAPH -0xE678 0x8AC4 #CJK UNIFIED IDEOGRAPH -0xE679 0x8ACD #CJK UNIFIED IDEOGRAPH -0xE67A 0x8AC2 #CJK UNIFIED IDEOGRAPH -0xE67B 0x8ADA #CJK UNIFIED IDEOGRAPH -0xE67C 0x8AEB #CJK UNIFIED IDEOGRAPH -0xE67D 0x8AF3 #CJK UNIFIED IDEOGRAPH -0xE67E 0x8AE7 #CJK UNIFIED IDEOGRAPH -0xE680 0x8AE4 #CJK UNIFIED IDEOGRAPH -0xE681 0x8AF1 #CJK UNIFIED IDEOGRAPH -0xE682 0x8B14 #CJK UNIFIED IDEOGRAPH -0xE683 0x8AE0 #CJK UNIFIED IDEOGRAPH -0xE684 0x8AE2 #CJK UNIFIED IDEOGRAPH -0xE685 0x8AF7 #CJK UNIFIED IDEOGRAPH -0xE686 0x8ADE #CJK UNIFIED IDEOGRAPH -0xE687 0x8ADB #CJK UNIFIED IDEOGRAPH -0xE688 0x8B0C #CJK UNIFIED IDEOGRAPH -0xE689 0x8B07 #CJK UNIFIED IDEOGRAPH -0xE68A 0x8B1A #CJK UNIFIED IDEOGRAPH -0xE68B 0x8AE1 #CJK UNIFIED IDEOGRAPH -0xE68C 0x8B16 #CJK UNIFIED IDEOGRAPH -0xE68D 0x8B10 #CJK UNIFIED IDEOGRAPH -0xE68E 0x8B17 #CJK UNIFIED IDEOGRAPH -0xE68F 0x8B20 #CJK UNIFIED IDEOGRAPH -0xE690 0x8B33 #CJK UNIFIED IDEOGRAPH -0xE691 0x97AB #CJK UNIFIED IDEOGRAPH -0xE692 0x8B26 #CJK UNIFIED IDEOGRAPH -0xE693 0x8B2B #CJK UNIFIED IDEOGRAPH -0xE694 0x8B3E #CJK UNIFIED IDEOGRAPH -0xE695 0x8B28 #CJK UNIFIED IDEOGRAPH -0xE696 0x8B41 #CJK UNIFIED IDEOGRAPH -0xE697 0x8B4C #CJK UNIFIED IDEOGRAPH -0xE698 0x8B4F #CJK UNIFIED IDEOGRAPH -0xE699 0x8B4E #CJK UNIFIED IDEOGRAPH -0xE69A 0x8B49 #CJK UNIFIED IDEOGRAPH -0xE69B 0x8B56 #CJK UNIFIED IDEOGRAPH -0xE69C 0x8B5B #CJK UNIFIED IDEOGRAPH -0xE69D 0x8B5A #CJK UNIFIED IDEOGRAPH -0xE69E 0x8B6B #CJK UNIFIED IDEOGRAPH -0xE69F 0x8B5F #CJK UNIFIED IDEOGRAPH -0xE6A0 0x8B6C #CJK UNIFIED IDEOGRAPH -0xE6A1 0x8B6F #CJK UNIFIED IDEOGRAPH -0xE6A2 0x8B74 #CJK UNIFIED IDEOGRAPH -0xE6A3 0x8B7D #CJK UNIFIED IDEOGRAPH -0xE6A4 0x8B80 #CJK UNIFIED IDEOGRAPH -0xE6A5 0x8B8C #CJK UNIFIED IDEOGRAPH -0xE6A6 0x8B8E #CJK UNIFIED IDEOGRAPH -0xE6A7 0x8B92 #CJK UNIFIED IDEOGRAPH -0xE6A8 0x8B93 #CJK UNIFIED IDEOGRAPH -0xE6A9 0x8B96 #CJK UNIFIED IDEOGRAPH -0xE6AA 0x8B99 #CJK UNIFIED IDEOGRAPH -0xE6AB 0x8B9A #CJK UNIFIED IDEOGRAPH -0xE6AC 0x8C3A #CJK UNIFIED IDEOGRAPH -0xE6AD 0x8C41 #CJK UNIFIED IDEOGRAPH -0xE6AE 0x8C3F #CJK UNIFIED IDEOGRAPH -0xE6AF 0x8C48 #CJK UNIFIED IDEOGRAPH -0xE6B0 0x8C4C #CJK UNIFIED IDEOGRAPH -0xE6B1 0x8C4E #CJK UNIFIED IDEOGRAPH -0xE6B2 0x8C50 #CJK UNIFIED IDEOGRAPH -0xE6B3 0x8C55 #CJK UNIFIED IDEOGRAPH -0xE6B4 0x8C62 #CJK UNIFIED IDEOGRAPH -0xE6B5 0x8C6C #CJK UNIFIED IDEOGRAPH -0xE6B6 0x8C78 #CJK UNIFIED IDEOGRAPH -0xE6B7 0x8C7A #CJK UNIFIED IDEOGRAPH -0xE6B8 0x8C82 #CJK UNIFIED IDEOGRAPH -0xE6B9 0x8C89 #CJK UNIFIED IDEOGRAPH -0xE6BA 0x8C85 #CJK UNIFIED IDEOGRAPH -0xE6BB 0x8C8A #CJK UNIFIED IDEOGRAPH -0xE6BC 0x8C8D #CJK UNIFIED IDEOGRAPH -0xE6BD 0x8C8E #CJK UNIFIED IDEOGRAPH -0xE6BE 0x8C94 #CJK UNIFIED IDEOGRAPH -0xE6BF 0x8C7C #CJK UNIFIED IDEOGRAPH -0xE6C0 0x8C98 #CJK UNIFIED IDEOGRAPH -0xE6C1 0x621D #CJK UNIFIED IDEOGRAPH -0xE6C2 0x8CAD #CJK UNIFIED IDEOGRAPH -0xE6C3 0x8CAA #CJK UNIFIED IDEOGRAPH -0xE6C4 0x8CBD #CJK UNIFIED IDEOGRAPH -0xE6C5 0x8CB2 #CJK UNIFIED IDEOGRAPH -0xE6C6 0x8CB3 #CJK UNIFIED IDEOGRAPH -0xE6C7 0x8CAE #CJK UNIFIED IDEOGRAPH -0xE6C8 0x8CB6 #CJK UNIFIED IDEOGRAPH -0xE6C9 0x8CC8 #CJK UNIFIED IDEOGRAPH -0xE6CA 0x8CC1 #CJK UNIFIED IDEOGRAPH -0xE6CB 0x8CE4 #CJK UNIFIED IDEOGRAPH -0xE6CC 0x8CE3 #CJK UNIFIED IDEOGRAPH -0xE6CD 0x8CDA #CJK UNIFIED IDEOGRAPH -0xE6CE 0x8CFD #CJK UNIFIED IDEOGRAPH -0xE6CF 0x8CFA #CJK UNIFIED IDEOGRAPH -0xE6D0 0x8CFB #CJK UNIFIED IDEOGRAPH -0xE6D1 0x8D04 #CJK UNIFIED IDEOGRAPH -0xE6D2 0x8D05 #CJK UNIFIED IDEOGRAPH -0xE6D3 0x8D0A #CJK UNIFIED IDEOGRAPH -0xE6D4 0x8D07 #CJK UNIFIED IDEOGRAPH -0xE6D5 0x8D0F #CJK UNIFIED IDEOGRAPH -0xE6D6 0x8D0D #CJK UNIFIED IDEOGRAPH -0xE6D7 0x8D10 #CJK UNIFIED IDEOGRAPH -0xE6D8 0x9F4E #CJK UNIFIED IDEOGRAPH -0xE6D9 0x8D13 #CJK UNIFIED IDEOGRAPH -0xE6DA 0x8CCD #CJK UNIFIED IDEOGRAPH -0xE6DB 0x8D14 #CJK UNIFIED IDEOGRAPH -0xE6DC 0x8D16 #CJK UNIFIED IDEOGRAPH -0xE6DD 0x8D67 #CJK UNIFIED IDEOGRAPH -0xE6DE 0x8D6D #CJK UNIFIED IDEOGRAPH -0xE6DF 0x8D71 #CJK UNIFIED IDEOGRAPH -0xE6E0 0x8D73 #CJK UNIFIED IDEOGRAPH -0xE6E1 0x8D81 #CJK UNIFIED IDEOGRAPH -0xE6E2 0x8D99 #CJK UNIFIED IDEOGRAPH -0xE6E3 0x8DC2 #CJK UNIFIED IDEOGRAPH -0xE6E4 0x8DBE #CJK UNIFIED IDEOGRAPH -0xE6E5 0x8DBA #CJK UNIFIED IDEOGRAPH -0xE6E6 0x8DCF #CJK UNIFIED IDEOGRAPH -0xE6E7 0x8DDA #CJK UNIFIED IDEOGRAPH -0xE6E8 0x8DD6 #CJK UNIFIED IDEOGRAPH -0xE6E9 0x8DCC #CJK UNIFIED IDEOGRAPH -0xE6EA 0x8DDB #CJK UNIFIED IDEOGRAPH -0xE6EB 0x8DCB #CJK UNIFIED IDEOGRAPH -0xE6EC 0x8DEA #CJK UNIFIED IDEOGRAPH -0xE6ED 0x8DEB #CJK UNIFIED IDEOGRAPH -0xE6EE 0x8DDF #CJK UNIFIED IDEOGRAPH -0xE6EF 0x8DE3 #CJK UNIFIED IDEOGRAPH -0xE6F0 0x8DFC #CJK UNIFIED IDEOGRAPH -0xE6F1 0x8E08 #CJK UNIFIED IDEOGRAPH -0xE6F2 0x8E09 #CJK UNIFIED IDEOGRAPH -0xE6F3 0x8DFF #CJK UNIFIED IDEOGRAPH -0xE6F4 0x8E1D #CJK UNIFIED IDEOGRAPH -0xE6F5 0x8E1E #CJK UNIFIED IDEOGRAPH -0xE6F6 0x8E10 #CJK UNIFIED IDEOGRAPH -0xE6F7 0x8E1F #CJK UNIFIED IDEOGRAPH -0xE6F8 0x8E42 #CJK UNIFIED IDEOGRAPH -0xE6F9 0x8E35 #CJK UNIFIED IDEOGRAPH -0xE6FA 0x8E30 #CJK UNIFIED IDEOGRAPH -0xE6FB 0x8E34 #CJK UNIFIED IDEOGRAPH -0xE6FC 0x8E4A #CJK UNIFIED IDEOGRAPH -0xE740 0x8E47 #CJK UNIFIED IDEOGRAPH -0xE741 0x8E49 #CJK UNIFIED IDEOGRAPH -0xE742 0x8E4C #CJK UNIFIED IDEOGRAPH -0xE743 0x8E50 #CJK UNIFIED IDEOGRAPH -0xE744 0x8E48 #CJK UNIFIED IDEOGRAPH -0xE745 0x8E59 #CJK UNIFIED IDEOGRAPH -0xE746 0x8E64 #CJK UNIFIED IDEOGRAPH -0xE747 0x8E60 #CJK UNIFIED IDEOGRAPH -0xE748 0x8E2A #CJK UNIFIED IDEOGRAPH -0xE749 0x8E63 #CJK UNIFIED IDEOGRAPH -0xE74A 0x8E55 #CJK UNIFIED IDEOGRAPH -0xE74B 0x8E76 #CJK UNIFIED IDEOGRAPH -0xE74C 0x8E72 #CJK UNIFIED IDEOGRAPH -0xE74D 0x8E7C #CJK UNIFIED IDEOGRAPH -0xE74E 0x8E81 #CJK UNIFIED IDEOGRAPH -0xE74F 0x8E87 #CJK UNIFIED IDEOGRAPH -0xE750 0x8E85 #CJK UNIFIED IDEOGRAPH -0xE751 0x8E84 #CJK UNIFIED IDEOGRAPH -0xE752 0x8E8B #CJK UNIFIED IDEOGRAPH -0xE753 0x8E8A #CJK UNIFIED IDEOGRAPH -0xE754 0x8E93 #CJK UNIFIED IDEOGRAPH -0xE755 0x8E91 #CJK UNIFIED IDEOGRAPH -0xE756 0x8E94 #CJK UNIFIED IDEOGRAPH -0xE757 0x8E99 #CJK UNIFIED IDEOGRAPH -0xE758 0x8EAA #CJK UNIFIED IDEOGRAPH -0xE759 0x8EA1 #CJK UNIFIED IDEOGRAPH -0xE75A 0x8EAC #CJK UNIFIED IDEOGRAPH -0xE75B 0x8EB0 #CJK UNIFIED IDEOGRAPH -0xE75C 0x8EC6 #CJK UNIFIED IDEOGRAPH -0xE75D 0x8EB1 #CJK UNIFIED IDEOGRAPH -0xE75E 0x8EBE #CJK UNIFIED IDEOGRAPH -0xE75F 0x8EC5 #CJK UNIFIED IDEOGRAPH -0xE760 0x8EC8 #CJK UNIFIED IDEOGRAPH -0xE761 0x8ECB #CJK UNIFIED IDEOGRAPH -0xE762 0x8EDB #CJK UNIFIED IDEOGRAPH -0xE763 0x8EE3 #CJK UNIFIED IDEOGRAPH -0xE764 0x8EFC #CJK UNIFIED IDEOGRAPH -0xE765 0x8EFB #CJK UNIFIED IDEOGRAPH -0xE766 0x8EEB #CJK UNIFIED IDEOGRAPH -0xE767 0x8EFE #CJK UNIFIED IDEOGRAPH -0xE768 0x8F0A #CJK UNIFIED IDEOGRAPH -0xE769 0x8F05 #CJK UNIFIED IDEOGRAPH -0xE76A 0x8F15 #CJK UNIFIED IDEOGRAPH -0xE76B 0x8F12 #CJK UNIFIED IDEOGRAPH -0xE76C 0x8F19 #CJK UNIFIED IDEOGRAPH -0xE76D 0x8F13 #CJK UNIFIED IDEOGRAPH -0xE76E 0x8F1C #CJK UNIFIED IDEOGRAPH -0xE76F 0x8F1F #CJK UNIFIED IDEOGRAPH -0xE770 0x8F1B #CJK UNIFIED IDEOGRAPH -0xE771 0x8F0C #CJK UNIFIED IDEOGRAPH -0xE772 0x8F26 #CJK UNIFIED IDEOGRAPH -0xE773 0x8F33 #CJK UNIFIED IDEOGRAPH -0xE774 0x8F3B #CJK UNIFIED IDEOGRAPH -0xE775 0x8F39 #CJK UNIFIED IDEOGRAPH -0xE776 0x8F45 #CJK UNIFIED IDEOGRAPH -0xE777 0x8F42 #CJK UNIFIED IDEOGRAPH -0xE778 0x8F3E #CJK UNIFIED IDEOGRAPH -0xE779 0x8F4C #CJK UNIFIED IDEOGRAPH -0xE77A 0x8F49 #CJK UNIFIED IDEOGRAPH -0xE77B 0x8F46 #CJK UNIFIED IDEOGRAPH -0xE77C 0x8F4E #CJK UNIFIED IDEOGRAPH -0xE77D 0x8F57 #CJK UNIFIED IDEOGRAPH -0xE77E 0x8F5C #CJK UNIFIED IDEOGRAPH -0xE780 0x8F62 #CJK UNIFIED IDEOGRAPH -0xE781 0x8F63 #CJK UNIFIED IDEOGRAPH -0xE782 0x8F64 #CJK UNIFIED IDEOGRAPH -0xE783 0x8F9C #CJK UNIFIED IDEOGRAPH -0xE784 0x8F9F #CJK UNIFIED IDEOGRAPH -0xE785 0x8FA3 #CJK UNIFIED IDEOGRAPH -0xE786 0x8FAD #CJK UNIFIED IDEOGRAPH -0xE787 0x8FAF #CJK UNIFIED IDEOGRAPH -0xE788 0x8FB7 #CJK UNIFIED IDEOGRAPH -0xE789 0x8FDA #CJK UNIFIED IDEOGRAPH -0xE78A 0x8FE5 #CJK UNIFIED IDEOGRAPH -0xE78B 0x8FE2 #CJK UNIFIED IDEOGRAPH -0xE78C 0x8FEA #CJK UNIFIED IDEOGRAPH -0xE78D 0x8FEF #CJK UNIFIED IDEOGRAPH -0xE78E 0x9087 #CJK UNIFIED IDEOGRAPH -0xE78F 0x8FF4 #CJK UNIFIED IDEOGRAPH -0xE790 0x9005 #CJK UNIFIED IDEOGRAPH -0xE791 0x8FF9 #CJK UNIFIED IDEOGRAPH -0xE792 0x8FFA #CJK UNIFIED IDEOGRAPH -0xE793 0x9011 #CJK UNIFIED IDEOGRAPH -0xE794 0x9015 #CJK UNIFIED IDEOGRAPH -0xE795 0x9021 #CJK UNIFIED IDEOGRAPH -0xE796 0x900D #CJK UNIFIED IDEOGRAPH -0xE797 0x901E #CJK UNIFIED IDEOGRAPH -0xE798 0x9016 #CJK UNIFIED IDEOGRAPH -0xE799 0x900B #CJK UNIFIED IDEOGRAPH -0xE79A 0x9027 #CJK UNIFIED IDEOGRAPH -0xE79B 0x9036 #CJK UNIFIED IDEOGRAPH -0xE79C 0x9035 #CJK UNIFIED IDEOGRAPH -0xE79D 0x9039 #CJK UNIFIED IDEOGRAPH -0xE79E 0x8FF8 #CJK UNIFIED IDEOGRAPH -0xE79F 0x904F #CJK UNIFIED IDEOGRAPH -0xE7A0 0x9050 #CJK UNIFIED IDEOGRAPH -0xE7A1 0x9051 #CJK UNIFIED IDEOGRAPH -0xE7A2 0x9052 #CJK UNIFIED IDEOGRAPH -0xE7A3 0x900E #CJK UNIFIED IDEOGRAPH -0xE7A4 0x9049 #CJK UNIFIED IDEOGRAPH -0xE7A5 0x903E #CJK UNIFIED IDEOGRAPH -0xE7A6 0x9056 #CJK UNIFIED IDEOGRAPH -0xE7A7 0x9058 #CJK UNIFIED IDEOGRAPH -0xE7A8 0x905E #CJK UNIFIED IDEOGRAPH -0xE7A9 0x9068 #CJK UNIFIED IDEOGRAPH -0xE7AA 0x906F #CJK UNIFIED IDEOGRAPH -0xE7AB 0x9076 #CJK UNIFIED IDEOGRAPH -0xE7AC 0x96A8 #CJK UNIFIED IDEOGRAPH -0xE7AD 0x9072 #CJK UNIFIED IDEOGRAPH -0xE7AE 0x9082 #CJK UNIFIED IDEOGRAPH -0xE7AF 0x907D #CJK UNIFIED IDEOGRAPH -0xE7B0 0x9081 #CJK UNIFIED IDEOGRAPH -0xE7B1 0x9080 #CJK UNIFIED IDEOGRAPH -0xE7B2 0x908A #CJK UNIFIED IDEOGRAPH -0xE7B3 0x9089 #CJK UNIFIED IDEOGRAPH -0xE7B4 0x908F #CJK UNIFIED IDEOGRAPH -0xE7B5 0x90A8 #CJK UNIFIED IDEOGRAPH -0xE7B6 0x90AF #CJK UNIFIED IDEOGRAPH -0xE7B7 0x90B1 #CJK UNIFIED IDEOGRAPH -0xE7B8 0x90B5 #CJK UNIFIED IDEOGRAPH -0xE7B9 0x90E2 #CJK UNIFIED IDEOGRAPH -0xE7BA 0x90E4 #CJK UNIFIED IDEOGRAPH -0xE7BB 0x6248 #CJK UNIFIED IDEOGRAPH -0xE7BC 0x90DB #CJK UNIFIED IDEOGRAPH -0xE7BD 0x9102 #CJK UNIFIED IDEOGRAPH -0xE7BE 0x9112 #CJK UNIFIED IDEOGRAPH -0xE7BF 0x9119 #CJK UNIFIED IDEOGRAPH -0xE7C0 0x9132 #CJK UNIFIED IDEOGRAPH -0xE7C1 0x9130 #CJK UNIFIED IDEOGRAPH -0xE7C2 0x914A #CJK UNIFIED IDEOGRAPH -0xE7C3 0x9156 #CJK UNIFIED IDEOGRAPH -0xE7C4 0x9158 #CJK UNIFIED IDEOGRAPH -0xE7C5 0x9163 #CJK UNIFIED IDEOGRAPH -0xE7C6 0x9165 #CJK UNIFIED IDEOGRAPH -0xE7C7 0x9169 #CJK UNIFIED IDEOGRAPH -0xE7C8 0x9173 #CJK UNIFIED IDEOGRAPH -0xE7C9 0x9172 #CJK UNIFIED IDEOGRAPH -0xE7CA 0x918B #CJK UNIFIED IDEOGRAPH -0xE7CB 0x9189 #CJK UNIFIED IDEOGRAPH -0xE7CC 0x9182 #CJK UNIFIED IDEOGRAPH -0xE7CD 0x91A2 #CJK UNIFIED IDEOGRAPH -0xE7CE 0x91AB #CJK UNIFIED IDEOGRAPH -0xE7CF 0x91AF #CJK UNIFIED IDEOGRAPH -0xE7D0 0x91AA #CJK UNIFIED IDEOGRAPH -0xE7D1 0x91B5 #CJK UNIFIED IDEOGRAPH -0xE7D2 0x91B4 #CJK UNIFIED IDEOGRAPH -0xE7D3 0x91BA #CJK UNIFIED IDEOGRAPH -0xE7D4 0x91C0 #CJK UNIFIED IDEOGRAPH -0xE7D5 0x91C1 #CJK UNIFIED IDEOGRAPH -0xE7D6 0x91C9 #CJK UNIFIED IDEOGRAPH -0xE7D7 0x91CB #CJK UNIFIED IDEOGRAPH -0xE7D8 0x91D0 #CJK UNIFIED IDEOGRAPH -0xE7D9 0x91D6 #CJK UNIFIED IDEOGRAPH -0xE7DA 0x91DF #CJK UNIFIED IDEOGRAPH -0xE7DB 0x91E1 #CJK UNIFIED IDEOGRAPH -0xE7DC 0x91DB #CJK UNIFIED IDEOGRAPH -0xE7DD 0x91FC #CJK UNIFIED IDEOGRAPH -0xE7DE 0x91F5 #CJK UNIFIED IDEOGRAPH -0xE7DF 0x91F6 #CJK UNIFIED IDEOGRAPH -0xE7E0 0x921E #CJK UNIFIED IDEOGRAPH -0xE7E1 0x91FF #CJK UNIFIED IDEOGRAPH -0xE7E2 0x9214 #CJK UNIFIED IDEOGRAPH -0xE7E3 0x922C #CJK UNIFIED IDEOGRAPH -0xE7E4 0x9215 #CJK UNIFIED IDEOGRAPH -0xE7E5 0x9211 #CJK UNIFIED IDEOGRAPH -0xE7E6 0x925E #CJK UNIFIED IDEOGRAPH -0xE7E7 0x9257 #CJK UNIFIED IDEOGRAPH -0xE7E8 0x9245 #CJK UNIFIED IDEOGRAPH -0xE7E9 0x9249 #CJK UNIFIED IDEOGRAPH -0xE7EA 0x9264 #CJK UNIFIED IDEOGRAPH -0xE7EB 0x9248 #CJK UNIFIED IDEOGRAPH -0xE7EC 0x9295 #CJK UNIFIED IDEOGRAPH -0xE7ED 0x923F #CJK UNIFIED IDEOGRAPH -0xE7EE 0x924B #CJK UNIFIED IDEOGRAPH -0xE7EF 0x9250 #CJK UNIFIED IDEOGRAPH -0xE7F0 0x929C #CJK UNIFIED IDEOGRAPH -0xE7F1 0x9296 #CJK UNIFIED IDEOGRAPH -0xE7F2 0x9293 #CJK UNIFIED IDEOGRAPH -0xE7F3 0x929B #CJK UNIFIED IDEOGRAPH -0xE7F4 0x925A #CJK UNIFIED IDEOGRAPH -0xE7F5 0x92CF #CJK UNIFIED IDEOGRAPH -0xE7F6 0x92B9 #CJK UNIFIED IDEOGRAPH -0xE7F7 0x92B7 #CJK UNIFIED IDEOGRAPH -0xE7F8 0x92E9 #CJK UNIFIED IDEOGRAPH -0xE7F9 0x930F #CJK UNIFIED IDEOGRAPH -0xE7FA 0x92FA #CJK UNIFIED IDEOGRAPH -0xE7FB 0x9344 #CJK UNIFIED IDEOGRAPH -0xE7FC 0x932E #CJK UNIFIED IDEOGRAPH -0xE840 0x9319 #CJK UNIFIED IDEOGRAPH -0xE841 0x9322 #CJK UNIFIED IDEOGRAPH -0xE842 0x931A #CJK UNIFIED IDEOGRAPH -0xE843 0x9323 #CJK UNIFIED IDEOGRAPH -0xE844 0x933A #CJK UNIFIED IDEOGRAPH -0xE845 0x9335 #CJK UNIFIED IDEOGRAPH -0xE846 0x933B #CJK UNIFIED IDEOGRAPH -0xE847 0x935C #CJK UNIFIED IDEOGRAPH -0xE848 0x9360 #CJK UNIFIED IDEOGRAPH -0xE849 0x937C #CJK UNIFIED IDEOGRAPH -0xE84A 0x936E #CJK UNIFIED IDEOGRAPH -0xE84B 0x9356 #CJK UNIFIED IDEOGRAPH -0xE84C 0x93B0 #CJK UNIFIED IDEOGRAPH -0xE84D 0x93AC #CJK UNIFIED IDEOGRAPH -0xE84E 0x93AD #CJK UNIFIED IDEOGRAPH -0xE84F 0x9394 #CJK UNIFIED IDEOGRAPH -0xE850 0x93B9 #CJK UNIFIED IDEOGRAPH -0xE851 0x93D6 #CJK UNIFIED IDEOGRAPH -0xE852 0x93D7 #CJK UNIFIED IDEOGRAPH -0xE853 0x93E8 #CJK UNIFIED IDEOGRAPH -0xE854 0x93E5 #CJK UNIFIED IDEOGRAPH -0xE855 0x93D8 #CJK UNIFIED IDEOGRAPH -0xE856 0x93C3 #CJK UNIFIED IDEOGRAPH -0xE857 0x93DD #CJK UNIFIED IDEOGRAPH -0xE858 0x93D0 #CJK UNIFIED IDEOGRAPH -0xE859 0x93C8 #CJK UNIFIED IDEOGRAPH -0xE85A 0x93E4 #CJK UNIFIED IDEOGRAPH -0xE85B 0x941A #CJK UNIFIED IDEOGRAPH -0xE85C 0x9414 #CJK UNIFIED IDEOGRAPH -0xE85D 0x9413 #CJK UNIFIED IDEOGRAPH -0xE85E 0x9403 #CJK UNIFIED IDEOGRAPH -0xE85F 0x9407 #CJK UNIFIED IDEOGRAPH -0xE860 0x9410 #CJK UNIFIED IDEOGRAPH -0xE861 0x9436 #CJK UNIFIED IDEOGRAPH -0xE862 0x942B #CJK UNIFIED IDEOGRAPH -0xE863 0x9435 #CJK UNIFIED IDEOGRAPH -0xE864 0x9421 #CJK UNIFIED IDEOGRAPH -0xE865 0x943A #CJK UNIFIED IDEOGRAPH -0xE866 0x9441 #CJK UNIFIED IDEOGRAPH -0xE867 0x9452 #CJK UNIFIED IDEOGRAPH -0xE868 0x9444 #CJK UNIFIED IDEOGRAPH -0xE869 0x945B #CJK UNIFIED IDEOGRAPH -0xE86A 0x9460 #CJK UNIFIED IDEOGRAPH -0xE86B 0x9462 #CJK UNIFIED IDEOGRAPH -0xE86C 0x945E #CJK UNIFIED IDEOGRAPH -0xE86D 0x946A #CJK UNIFIED IDEOGRAPH -0xE86E 0x9229 #CJK UNIFIED IDEOGRAPH -0xE86F 0x9470 #CJK UNIFIED IDEOGRAPH -0xE870 0x9475 #CJK UNIFIED IDEOGRAPH -0xE871 0x9477 #CJK UNIFIED IDEOGRAPH -0xE872 0x947D #CJK UNIFIED IDEOGRAPH -0xE873 0x945A #CJK UNIFIED IDEOGRAPH -0xE874 0x947C #CJK UNIFIED IDEOGRAPH -0xE875 0x947E #CJK UNIFIED IDEOGRAPH -0xE876 0x9481 #CJK UNIFIED IDEOGRAPH -0xE877 0x947F #CJK UNIFIED IDEOGRAPH -0xE878 0x9582 #CJK UNIFIED IDEOGRAPH -0xE879 0x9587 #CJK UNIFIED IDEOGRAPH -0xE87A 0x958A #CJK UNIFIED IDEOGRAPH -0xE87B 0x9594 #CJK UNIFIED IDEOGRAPH -0xE87C 0x9596 #CJK UNIFIED IDEOGRAPH -0xE87D 0x9598 #CJK UNIFIED IDEOGRAPH -0xE87E 0x9599 #CJK UNIFIED IDEOGRAPH -0xE880 0x95A0 #CJK UNIFIED IDEOGRAPH -0xE881 0x95A8 #CJK UNIFIED IDEOGRAPH -0xE882 0x95A7 #CJK UNIFIED IDEOGRAPH -0xE883 0x95AD #CJK UNIFIED IDEOGRAPH -0xE884 0x95BC #CJK UNIFIED IDEOGRAPH -0xE885 0x95BB #CJK UNIFIED IDEOGRAPH -0xE886 0x95B9 #CJK UNIFIED IDEOGRAPH -0xE887 0x95BE #CJK UNIFIED IDEOGRAPH -0xE888 0x95CA #CJK UNIFIED IDEOGRAPH -0xE889 0x6FF6 #CJK UNIFIED IDEOGRAPH -0xE88A 0x95C3 #CJK UNIFIED IDEOGRAPH -0xE88B 0x95CD #CJK UNIFIED IDEOGRAPH -0xE88C 0x95CC #CJK UNIFIED IDEOGRAPH -0xE88D 0x95D5 #CJK UNIFIED IDEOGRAPH -0xE88E 0x95D4 #CJK UNIFIED IDEOGRAPH -0xE88F 0x95D6 #CJK UNIFIED IDEOGRAPH -0xE890 0x95DC #CJK UNIFIED IDEOGRAPH -0xE891 0x95E1 #CJK UNIFIED IDEOGRAPH -0xE892 0x95E5 #CJK UNIFIED IDEOGRAPH -0xE893 0x95E2 #CJK UNIFIED IDEOGRAPH -0xE894 0x9621 #CJK UNIFIED IDEOGRAPH -0xE895 0x9628 #CJK UNIFIED IDEOGRAPH -0xE896 0x962E #CJK UNIFIED IDEOGRAPH -0xE897 0x962F #CJK UNIFIED IDEOGRAPH -0xE898 0x9642 #CJK UNIFIED IDEOGRAPH -0xE899 0x964C #CJK UNIFIED IDEOGRAPH -0xE89A 0x964F #CJK UNIFIED IDEOGRAPH -0xE89B 0x964B #CJK UNIFIED IDEOGRAPH -0xE89C 0x9677 #CJK UNIFIED IDEOGRAPH -0xE89D 0x965C #CJK UNIFIED IDEOGRAPH -0xE89E 0x965E #CJK UNIFIED IDEOGRAPH -0xE89F 0x965D #CJK UNIFIED IDEOGRAPH -0xE8A0 0x965F #CJK UNIFIED IDEOGRAPH -0xE8A1 0x9666 #CJK UNIFIED IDEOGRAPH -0xE8A2 0x9672 #CJK UNIFIED IDEOGRAPH -0xE8A3 0x966C #CJK UNIFIED IDEOGRAPH -0xE8A4 0x968D #CJK UNIFIED IDEOGRAPH -0xE8A5 0x9698 #CJK UNIFIED IDEOGRAPH -0xE8A6 0x9695 #CJK UNIFIED IDEOGRAPH -0xE8A7 0x9697 #CJK UNIFIED IDEOGRAPH -0xE8A8 0x96AA #CJK UNIFIED IDEOGRAPH -0xE8A9 0x96A7 #CJK UNIFIED IDEOGRAPH -0xE8AA 0x96B1 #CJK UNIFIED IDEOGRAPH -0xE8AB 0x96B2 #CJK UNIFIED IDEOGRAPH -0xE8AC 0x96B0 #CJK UNIFIED IDEOGRAPH -0xE8AD 0x96B4 #CJK UNIFIED IDEOGRAPH -0xE8AE 0x96B6 #CJK UNIFIED IDEOGRAPH -0xE8AF 0x96B8 #CJK UNIFIED IDEOGRAPH -0xE8B0 0x96B9 #CJK UNIFIED IDEOGRAPH -0xE8B1 0x96CE #CJK UNIFIED IDEOGRAPH -0xE8B2 0x96CB #CJK UNIFIED IDEOGRAPH -0xE8B3 0x96C9 #CJK UNIFIED IDEOGRAPH -0xE8B4 0x96CD #CJK UNIFIED IDEOGRAPH -0xE8B5 0x894D #CJK UNIFIED IDEOGRAPH -0xE8B6 0x96DC #CJK UNIFIED IDEOGRAPH -0xE8B7 0x970D #CJK UNIFIED IDEOGRAPH -0xE8B8 0x96D5 #CJK UNIFIED IDEOGRAPH -0xE8B9 0x96F9 #CJK UNIFIED IDEOGRAPH -0xE8BA 0x9704 #CJK UNIFIED IDEOGRAPH -0xE8BB 0x9706 #CJK UNIFIED IDEOGRAPH -0xE8BC 0x9708 #CJK UNIFIED IDEOGRAPH -0xE8BD 0x9713 #CJK UNIFIED IDEOGRAPH -0xE8BE 0x970E #CJK UNIFIED IDEOGRAPH -0xE8BF 0x9711 #CJK UNIFIED IDEOGRAPH -0xE8C0 0x970F #CJK UNIFIED IDEOGRAPH -0xE8C1 0x9716 #CJK UNIFIED IDEOGRAPH -0xE8C2 0x9719 #CJK UNIFIED IDEOGRAPH -0xE8C3 0x9724 #CJK UNIFIED IDEOGRAPH -0xE8C4 0x972A #CJK UNIFIED IDEOGRAPH -0xE8C5 0x9730 #CJK UNIFIED IDEOGRAPH -0xE8C6 0x9739 #CJK UNIFIED IDEOGRAPH -0xE8C7 0x973D #CJK UNIFIED IDEOGRAPH -0xE8C8 0x973E #CJK UNIFIED IDEOGRAPH -0xE8C9 0x9744 #CJK UNIFIED IDEOGRAPH -0xE8CA 0x9746 #CJK UNIFIED IDEOGRAPH -0xE8CB 0x9748 #CJK UNIFIED IDEOGRAPH -0xE8CC 0x9742 #CJK UNIFIED IDEOGRAPH -0xE8CD 0x9749 #CJK UNIFIED IDEOGRAPH -0xE8CE 0x975C #CJK UNIFIED IDEOGRAPH -0xE8CF 0x9760 #CJK UNIFIED IDEOGRAPH -0xE8D0 0x9764 #CJK UNIFIED IDEOGRAPH -0xE8D1 0x9766 #CJK UNIFIED IDEOGRAPH -0xE8D2 0x9768 #CJK UNIFIED IDEOGRAPH -0xE8D3 0x52D2 #CJK UNIFIED IDEOGRAPH -0xE8D4 0x976B #CJK UNIFIED IDEOGRAPH -0xE8D5 0x9771 #CJK UNIFIED IDEOGRAPH -0xE8D6 0x9779 #CJK UNIFIED IDEOGRAPH -0xE8D7 0x9785 #CJK UNIFIED IDEOGRAPH -0xE8D8 0x977C #CJK UNIFIED IDEOGRAPH -0xE8D9 0x9781 #CJK UNIFIED IDEOGRAPH -0xE8DA 0x977A #CJK UNIFIED IDEOGRAPH -0xE8DB 0x9786 #CJK UNIFIED IDEOGRAPH -0xE8DC 0x978B #CJK UNIFIED IDEOGRAPH -0xE8DD 0x978F #CJK UNIFIED IDEOGRAPH -0xE8DE 0x9790 #CJK UNIFIED IDEOGRAPH -0xE8DF 0x979C #CJK UNIFIED IDEOGRAPH -0xE8E0 0x97A8 #CJK UNIFIED IDEOGRAPH -0xE8E1 0x97A6 #CJK UNIFIED IDEOGRAPH -0xE8E2 0x97A3 #CJK UNIFIED IDEOGRAPH -0xE8E3 0x97B3 #CJK UNIFIED IDEOGRAPH -0xE8E4 0x97B4 #CJK UNIFIED IDEOGRAPH -0xE8E5 0x97C3 #CJK UNIFIED IDEOGRAPH -0xE8E6 0x97C6 #CJK UNIFIED IDEOGRAPH -0xE8E7 0x97C8 #CJK UNIFIED IDEOGRAPH -0xE8E8 0x97CB #CJK UNIFIED IDEOGRAPH -0xE8E9 0x97DC #CJK UNIFIED IDEOGRAPH -0xE8EA 0x97ED #CJK UNIFIED IDEOGRAPH -0xE8EB 0x9F4F #CJK UNIFIED IDEOGRAPH -0xE8EC 0x97F2 #CJK UNIFIED IDEOGRAPH -0xE8ED 0x7ADF #CJK UNIFIED IDEOGRAPH -0xE8EE 0x97F6 #CJK UNIFIED IDEOGRAPH -0xE8EF 0x97F5 #CJK UNIFIED IDEOGRAPH -0xE8F0 0x980F #CJK UNIFIED IDEOGRAPH -0xE8F1 0x980C #CJK UNIFIED IDEOGRAPH -0xE8F2 0x9838 #CJK UNIFIED IDEOGRAPH -0xE8F3 0x9824 #CJK UNIFIED IDEOGRAPH -0xE8F4 0x9821 #CJK UNIFIED IDEOGRAPH -0xE8F5 0x9837 #CJK UNIFIED IDEOGRAPH -0xE8F6 0x983D #CJK UNIFIED IDEOGRAPH -0xE8F7 0x9846 #CJK UNIFIED IDEOGRAPH -0xE8F8 0x984F #CJK UNIFIED IDEOGRAPH -0xE8F9 0x984B #CJK UNIFIED IDEOGRAPH -0xE8FA 0x986B #CJK UNIFIED IDEOGRAPH -0xE8FB 0x986F #CJK UNIFIED IDEOGRAPH -0xE8FC 0x9870 #CJK UNIFIED IDEOGRAPH -0xE940 0x9871 #CJK UNIFIED IDEOGRAPH -0xE941 0x9874 #CJK UNIFIED IDEOGRAPH -0xE942 0x9873 #CJK UNIFIED IDEOGRAPH -0xE943 0x98AA #CJK UNIFIED IDEOGRAPH -0xE944 0x98AF #CJK UNIFIED IDEOGRAPH -0xE945 0x98B1 #CJK UNIFIED IDEOGRAPH -0xE946 0x98B6 #CJK UNIFIED IDEOGRAPH -0xE947 0x98C4 #CJK UNIFIED IDEOGRAPH -0xE948 0x98C3 #CJK UNIFIED IDEOGRAPH -0xE949 0x98C6 #CJK UNIFIED IDEOGRAPH -0xE94A 0x98E9 #CJK UNIFIED IDEOGRAPH -0xE94B 0x98EB #CJK UNIFIED IDEOGRAPH -0xE94C 0x9903 #CJK UNIFIED IDEOGRAPH -0xE94D 0x9909 #CJK UNIFIED IDEOGRAPH -0xE94E 0x9912 #CJK UNIFIED IDEOGRAPH -0xE94F 0x9914 #CJK UNIFIED IDEOGRAPH -0xE950 0x9918 #CJK UNIFIED IDEOGRAPH -0xE951 0x9921 #CJK UNIFIED IDEOGRAPH -0xE952 0x991D #CJK UNIFIED IDEOGRAPH -0xE953 0x991E #CJK UNIFIED IDEOGRAPH -0xE954 0x9924 #CJK UNIFIED IDEOGRAPH -0xE955 0x9920 #CJK UNIFIED IDEOGRAPH -0xE956 0x992C #CJK UNIFIED IDEOGRAPH -0xE957 0x992E #CJK UNIFIED IDEOGRAPH -0xE958 0x993D #CJK UNIFIED IDEOGRAPH -0xE959 0x993E #CJK UNIFIED IDEOGRAPH -0xE95A 0x9942 #CJK UNIFIED IDEOGRAPH -0xE95B 0x9949 #CJK UNIFIED IDEOGRAPH -0xE95C 0x9945 #CJK UNIFIED IDEOGRAPH -0xE95D 0x9950 #CJK UNIFIED IDEOGRAPH -0xE95E 0x994B #CJK UNIFIED IDEOGRAPH -0xE95F 0x9951 #CJK UNIFIED IDEOGRAPH -0xE960 0x9952 #CJK UNIFIED IDEOGRAPH -0xE961 0x994C #CJK UNIFIED IDEOGRAPH -0xE962 0x9955 #CJK UNIFIED IDEOGRAPH -0xE963 0x9997 #CJK UNIFIED IDEOGRAPH -0xE964 0x9998 #CJK UNIFIED IDEOGRAPH -0xE965 0x99A5 #CJK UNIFIED IDEOGRAPH -0xE966 0x99AD #CJK UNIFIED IDEOGRAPH -0xE967 0x99AE #CJK UNIFIED IDEOGRAPH -0xE968 0x99BC #CJK UNIFIED IDEOGRAPH -0xE969 0x99DF #CJK UNIFIED IDEOGRAPH -0xE96A 0x99DB #CJK UNIFIED IDEOGRAPH -0xE96B 0x99DD #CJK UNIFIED IDEOGRAPH -0xE96C 0x99D8 #CJK UNIFIED IDEOGRAPH -0xE96D 0x99D1 #CJK UNIFIED IDEOGRAPH -0xE96E 0x99ED #CJK UNIFIED IDEOGRAPH -0xE96F 0x99EE #CJK UNIFIED IDEOGRAPH -0xE970 0x99F1 #CJK UNIFIED IDEOGRAPH -0xE971 0x99F2 #CJK UNIFIED IDEOGRAPH -0xE972 0x99FB #CJK UNIFIED IDEOGRAPH -0xE973 0x99F8 #CJK UNIFIED IDEOGRAPH -0xE974 0x9A01 #CJK UNIFIED IDEOGRAPH -0xE975 0x9A0F #CJK UNIFIED IDEOGRAPH -0xE976 0x9A05 #CJK UNIFIED IDEOGRAPH -0xE977 0x99E2 #CJK UNIFIED IDEOGRAPH -0xE978 0x9A19 #CJK UNIFIED IDEOGRAPH -0xE979 0x9A2B #CJK UNIFIED IDEOGRAPH -0xE97A 0x9A37 #CJK UNIFIED IDEOGRAPH -0xE97B 0x9A45 #CJK UNIFIED IDEOGRAPH -0xE97C 0x9A42 #CJK UNIFIED IDEOGRAPH -0xE97D 0x9A40 #CJK UNIFIED IDEOGRAPH -0xE97E 0x9A43 #CJK UNIFIED IDEOGRAPH -0xE980 0x9A3E #CJK UNIFIED IDEOGRAPH -0xE981 0x9A55 #CJK UNIFIED IDEOGRAPH -0xE982 0x9A4D #CJK UNIFIED IDEOGRAPH -0xE983 0x9A5B #CJK UNIFIED IDEOGRAPH -0xE984 0x9A57 #CJK UNIFIED IDEOGRAPH -0xE985 0x9A5F #CJK UNIFIED IDEOGRAPH -0xE986 0x9A62 #CJK UNIFIED IDEOGRAPH -0xE987 0x9A65 #CJK UNIFIED IDEOGRAPH -0xE988 0x9A64 #CJK UNIFIED IDEOGRAPH -0xE989 0x9A69 #CJK UNIFIED IDEOGRAPH -0xE98A 0x9A6B #CJK UNIFIED IDEOGRAPH -0xE98B 0x9A6A #CJK UNIFIED IDEOGRAPH -0xE98C 0x9AAD #CJK UNIFIED IDEOGRAPH -0xE98D 0x9AB0 #CJK UNIFIED IDEOGRAPH -0xE98E 0x9ABC #CJK UNIFIED IDEOGRAPH -0xE98F 0x9AC0 #CJK UNIFIED IDEOGRAPH -0xE990 0x9ACF #CJK UNIFIED IDEOGRAPH -0xE991 0x9AD1 #CJK UNIFIED IDEOGRAPH -0xE992 0x9AD3 #CJK UNIFIED IDEOGRAPH -0xE993 0x9AD4 #CJK UNIFIED IDEOGRAPH -0xE994 0x9ADE #CJK UNIFIED IDEOGRAPH -0xE995 0x9ADF #CJK UNIFIED IDEOGRAPH -0xE996 0x9AE2 #CJK UNIFIED IDEOGRAPH -0xE997 0x9AE3 #CJK UNIFIED IDEOGRAPH -0xE998 0x9AE6 #CJK UNIFIED IDEOGRAPH -0xE999 0x9AEF #CJK UNIFIED IDEOGRAPH -0xE99A 0x9AEB #CJK UNIFIED IDEOGRAPH -0xE99B 0x9AEE #CJK UNIFIED IDEOGRAPH -0xE99C 0x9AF4 #CJK UNIFIED IDEOGRAPH -0xE99D 0x9AF1 #CJK UNIFIED IDEOGRAPH -0xE99E 0x9AF7 #CJK UNIFIED IDEOGRAPH -0xE99F 0x9AFB #CJK UNIFIED IDEOGRAPH -0xE9A0 0x9B06 #CJK UNIFIED IDEOGRAPH -0xE9A1 0x9B18 #CJK UNIFIED IDEOGRAPH -0xE9A2 0x9B1A #CJK UNIFIED IDEOGRAPH -0xE9A3 0x9B1F #CJK UNIFIED IDEOGRAPH -0xE9A4 0x9B22 #CJK UNIFIED IDEOGRAPH -0xE9A5 0x9B23 #CJK UNIFIED IDEOGRAPH -0xE9A6 0x9B25 #CJK UNIFIED IDEOGRAPH -0xE9A7 0x9B27 #CJK UNIFIED IDEOGRAPH -0xE9A8 0x9B28 #CJK UNIFIED IDEOGRAPH -0xE9A9 0x9B29 #CJK UNIFIED IDEOGRAPH -0xE9AA 0x9B2A #CJK UNIFIED IDEOGRAPH -0xE9AB 0x9B2E #CJK UNIFIED IDEOGRAPH -0xE9AC 0x9B2F #CJK UNIFIED IDEOGRAPH -0xE9AD 0x9B32 #CJK UNIFIED IDEOGRAPH -0xE9AE 0x9B44 #CJK UNIFIED IDEOGRAPH -0xE9AF 0x9B43 #CJK UNIFIED IDEOGRAPH -0xE9B0 0x9B4F #CJK UNIFIED IDEOGRAPH -0xE9B1 0x9B4D #CJK UNIFIED IDEOGRAPH -0xE9B2 0x9B4E #CJK UNIFIED IDEOGRAPH -0xE9B3 0x9B51 #CJK UNIFIED IDEOGRAPH -0xE9B4 0x9B58 #CJK UNIFIED IDEOGRAPH -0xE9B5 0x9B74 #CJK UNIFIED IDEOGRAPH -0xE9B6 0x9B93 #CJK UNIFIED IDEOGRAPH -0xE9B7 0x9B83 #CJK UNIFIED IDEOGRAPH -0xE9B8 0x9B91 #CJK UNIFIED IDEOGRAPH -0xE9B9 0x9B96 #CJK UNIFIED IDEOGRAPH -0xE9BA 0x9B97 #CJK UNIFIED IDEOGRAPH -0xE9BB 0x9B9F #CJK UNIFIED IDEOGRAPH -0xE9BC 0x9BA0 #CJK UNIFIED IDEOGRAPH -0xE9BD 0x9BA8 #CJK UNIFIED IDEOGRAPH -0xE9BE 0x9BB4 #CJK UNIFIED IDEOGRAPH -0xE9BF 0x9BC0 #CJK UNIFIED IDEOGRAPH -0xE9C0 0x9BCA #CJK UNIFIED IDEOGRAPH -0xE9C1 0x9BB9 #CJK UNIFIED IDEOGRAPH -0xE9C2 0x9BC6 #CJK UNIFIED IDEOGRAPH -0xE9C3 0x9BCF #CJK UNIFIED IDEOGRAPH -0xE9C4 0x9BD1 #CJK UNIFIED IDEOGRAPH -0xE9C5 0x9BD2 #CJK UNIFIED IDEOGRAPH -0xE9C6 0x9BE3 #CJK UNIFIED IDEOGRAPH -0xE9C7 0x9BE2 #CJK UNIFIED IDEOGRAPH -0xE9C8 0x9BE4 #CJK UNIFIED IDEOGRAPH -0xE9C9 0x9BD4 #CJK UNIFIED IDEOGRAPH -0xE9CA 0x9BE1 #CJK UNIFIED IDEOGRAPH -0xE9CB 0x9C3A #CJK UNIFIED IDEOGRAPH -0xE9CC 0x9BF2 #CJK UNIFIED IDEOGRAPH -0xE9CD 0x9BF1 #CJK UNIFIED IDEOGRAPH -0xE9CE 0x9BF0 #CJK UNIFIED IDEOGRAPH -0xE9CF 0x9C15 #CJK UNIFIED IDEOGRAPH -0xE9D0 0x9C14 #CJK UNIFIED IDEOGRAPH -0xE9D1 0x9C09 #CJK UNIFIED IDEOGRAPH -0xE9D2 0x9C13 #CJK UNIFIED IDEOGRAPH -0xE9D3 0x9C0C #CJK UNIFIED IDEOGRAPH -0xE9D4 0x9C06 #CJK UNIFIED IDEOGRAPH -0xE9D5 0x9C08 #CJK UNIFIED IDEOGRAPH -0xE9D6 0x9C12 #CJK UNIFIED IDEOGRAPH -0xE9D7 0x9C0A #CJK UNIFIED IDEOGRAPH -0xE9D8 0x9C04 #CJK UNIFIED IDEOGRAPH -0xE9D9 0x9C2E #CJK UNIFIED IDEOGRAPH -0xE9DA 0x9C1B #CJK UNIFIED IDEOGRAPH -0xE9DB 0x9C25 #CJK UNIFIED IDEOGRAPH -0xE9DC 0x9C24 #CJK UNIFIED IDEOGRAPH -0xE9DD 0x9C21 #CJK UNIFIED IDEOGRAPH -0xE9DE 0x9C30 #CJK UNIFIED IDEOGRAPH -0xE9DF 0x9C47 #CJK UNIFIED IDEOGRAPH -0xE9E0 0x9C32 #CJK UNIFIED IDEOGRAPH -0xE9E1 0x9C46 #CJK UNIFIED IDEOGRAPH -0xE9E2 0x9C3E #CJK UNIFIED IDEOGRAPH -0xE9E3 0x9C5A #CJK UNIFIED IDEOGRAPH -0xE9E4 0x9C60 #CJK UNIFIED IDEOGRAPH -0xE9E5 0x9C67 #CJK UNIFIED IDEOGRAPH -0xE9E6 0x9C76 #CJK UNIFIED IDEOGRAPH -0xE9E7 0x9C78 #CJK UNIFIED IDEOGRAPH -0xE9E8 0x9CE7 #CJK UNIFIED IDEOGRAPH -0xE9E9 0x9CEC #CJK UNIFIED IDEOGRAPH -0xE9EA 0x9CF0 #CJK UNIFIED IDEOGRAPH -0xE9EB 0x9D09 #CJK UNIFIED IDEOGRAPH -0xE9EC 0x9D08 #CJK UNIFIED IDEOGRAPH -0xE9ED 0x9CEB #CJK UNIFIED IDEOGRAPH -0xE9EE 0x9D03 #CJK UNIFIED IDEOGRAPH -0xE9EF 0x9D06 #CJK UNIFIED IDEOGRAPH -0xE9F0 0x9D2A #CJK UNIFIED IDEOGRAPH -0xE9F1 0x9D26 #CJK UNIFIED IDEOGRAPH -0xE9F2 0x9DAF #CJK UNIFIED IDEOGRAPH -0xE9F3 0x9D23 #CJK UNIFIED IDEOGRAPH -0xE9F4 0x9D1F #CJK UNIFIED IDEOGRAPH -0xE9F5 0x9D44 #CJK UNIFIED IDEOGRAPH -0xE9F6 0x9D15 #CJK UNIFIED IDEOGRAPH -0xE9F7 0x9D12 #CJK UNIFIED IDEOGRAPH -0xE9F8 0x9D41 #CJK UNIFIED IDEOGRAPH -0xE9F9 0x9D3F #CJK UNIFIED IDEOGRAPH -0xE9FA 0x9D3E #CJK UNIFIED IDEOGRAPH -0xE9FB 0x9D46 #CJK UNIFIED IDEOGRAPH -0xE9FC 0x9D48 #CJK UNIFIED IDEOGRAPH -0xEA40 0x9D5D #CJK UNIFIED IDEOGRAPH -0xEA41 0x9D5E #CJK UNIFIED IDEOGRAPH -0xEA42 0x9D64 #CJK UNIFIED IDEOGRAPH -0xEA43 0x9D51 #CJK UNIFIED IDEOGRAPH -0xEA44 0x9D50 #CJK UNIFIED IDEOGRAPH -0xEA45 0x9D59 #CJK UNIFIED IDEOGRAPH -0xEA46 0x9D72 #CJK UNIFIED IDEOGRAPH -0xEA47 0x9D89 #CJK UNIFIED IDEOGRAPH -0xEA48 0x9D87 #CJK UNIFIED IDEOGRAPH -0xEA49 0x9DAB #CJK UNIFIED IDEOGRAPH -0xEA4A 0x9D6F #CJK UNIFIED IDEOGRAPH -0xEA4B 0x9D7A #CJK UNIFIED IDEOGRAPH -0xEA4C 0x9D9A #CJK UNIFIED IDEOGRAPH -0xEA4D 0x9DA4 #CJK UNIFIED IDEOGRAPH -0xEA4E 0x9DA9 #CJK UNIFIED IDEOGRAPH -0xEA4F 0x9DB2 #CJK UNIFIED IDEOGRAPH -0xEA50 0x9DC4 #CJK UNIFIED IDEOGRAPH -0xEA51 0x9DC1 #CJK UNIFIED IDEOGRAPH -0xEA52 0x9DBB #CJK UNIFIED IDEOGRAPH -0xEA53 0x9DB8 #CJK UNIFIED IDEOGRAPH -0xEA54 0x9DBA #CJK UNIFIED IDEOGRAPH -0xEA55 0x9DC6 #CJK UNIFIED IDEOGRAPH -0xEA56 0x9DCF #CJK UNIFIED IDEOGRAPH -0xEA57 0x9DC2 #CJK UNIFIED IDEOGRAPH -0xEA58 0x9DD9 #CJK UNIFIED IDEOGRAPH -0xEA59 0x9DD3 #CJK UNIFIED IDEOGRAPH -0xEA5A 0x9DF8 #CJK UNIFIED IDEOGRAPH -0xEA5B 0x9DE6 #CJK UNIFIED IDEOGRAPH -0xEA5C 0x9DED #CJK UNIFIED IDEOGRAPH -0xEA5D 0x9DEF #CJK UNIFIED IDEOGRAPH -0xEA5E 0x9DFD #CJK UNIFIED IDEOGRAPH -0xEA5F 0x9E1A #CJK UNIFIED IDEOGRAPH -0xEA60 0x9E1B #CJK UNIFIED IDEOGRAPH -0xEA61 0x9E1E #CJK UNIFIED IDEOGRAPH -0xEA62 0x9E75 #CJK UNIFIED IDEOGRAPH -0xEA63 0x9E79 #CJK UNIFIED IDEOGRAPH -0xEA64 0x9E7D #CJK UNIFIED IDEOGRAPH -0xEA65 0x9E81 #CJK UNIFIED IDEOGRAPH -0xEA66 0x9E88 #CJK UNIFIED IDEOGRAPH -0xEA67 0x9E8B #CJK UNIFIED IDEOGRAPH -0xEA68 0x9E8C #CJK UNIFIED IDEOGRAPH -0xEA69 0x9E92 #CJK UNIFIED IDEOGRAPH -0xEA6A 0x9E95 #CJK UNIFIED IDEOGRAPH -0xEA6B 0x9E91 #CJK UNIFIED IDEOGRAPH -0xEA6C 0x9E9D #CJK UNIFIED IDEOGRAPH -0xEA6D 0x9EA5 #CJK UNIFIED IDEOGRAPH -0xEA6E 0x9EA9 #CJK UNIFIED IDEOGRAPH -0xEA6F 0x9EB8 #CJK UNIFIED IDEOGRAPH -0xEA70 0x9EAA #CJK UNIFIED IDEOGRAPH -0xEA71 0x9EAD #CJK UNIFIED IDEOGRAPH -0xEA72 0x9761 #CJK UNIFIED IDEOGRAPH -0xEA73 0x9ECC #CJK UNIFIED IDEOGRAPH -0xEA74 0x9ECE #CJK UNIFIED IDEOGRAPH -0xEA75 0x9ECF #CJK UNIFIED IDEOGRAPH -0xEA76 0x9ED0 #CJK UNIFIED IDEOGRAPH -0xEA77 0x9ED4 #CJK UNIFIED IDEOGRAPH -0xEA78 0x9EDC #CJK UNIFIED IDEOGRAPH -0xEA79 0x9EDE #CJK UNIFIED IDEOGRAPH -0xEA7A 0x9EDD #CJK UNIFIED IDEOGRAPH -0xEA7B 0x9EE0 #CJK UNIFIED IDEOGRAPH -0xEA7C 0x9EE5 #CJK UNIFIED IDEOGRAPH -0xEA7D 0x9EE8 #CJK UNIFIED IDEOGRAPH -0xEA7E 0x9EEF #CJK UNIFIED IDEOGRAPH -0xEA80 0x9EF4 #CJK UNIFIED IDEOGRAPH -0xEA81 0x9EF6 #CJK UNIFIED IDEOGRAPH -0xEA82 0x9EF7 #CJK UNIFIED IDEOGRAPH -0xEA83 0x9EF9 #CJK UNIFIED IDEOGRAPH -0xEA84 0x9EFB #CJK UNIFIED IDEOGRAPH -0xEA85 0x9EFC #CJK UNIFIED IDEOGRAPH -0xEA86 0x9EFD #CJK UNIFIED IDEOGRAPH -0xEA87 0x9F07 #CJK UNIFIED IDEOGRAPH -0xEA88 0x9F08 #CJK UNIFIED IDEOGRAPH -0xEA89 0x76B7 #CJK UNIFIED IDEOGRAPH -0xEA8A 0x9F15 #CJK UNIFIED IDEOGRAPH -0xEA8B 0x9F21 #CJK UNIFIED IDEOGRAPH -0xEA8C 0x9F2C #CJK UNIFIED IDEOGRAPH -0xEA8D 0x9F3E #CJK UNIFIED IDEOGRAPH -0xEA8E 0x9F4A #CJK UNIFIED IDEOGRAPH -0xEA8F 0x9F52 #CJK UNIFIED IDEOGRAPH -0xEA90 0x9F54 #CJK UNIFIED IDEOGRAPH -0xEA91 0x9F63 #CJK UNIFIED IDEOGRAPH -0xEA92 0x9F5F #CJK UNIFIED IDEOGRAPH -0xEA93 0x9F60 #CJK UNIFIED IDEOGRAPH -0xEA94 0x9F61 #CJK UNIFIED IDEOGRAPH -0xEA95 0x9F66 #CJK UNIFIED IDEOGRAPH -0xEA96 0x9F67 #CJK UNIFIED IDEOGRAPH -0xEA97 0x9F6C #CJK UNIFIED IDEOGRAPH -0xEA98 0x9F6A #CJK UNIFIED IDEOGRAPH -0xEA99 0x9F77 #CJK UNIFIED IDEOGRAPH -0xEA9A 0x9F72 #CJK UNIFIED IDEOGRAPH -0xEA9B 0x9F76 #CJK UNIFIED IDEOGRAPH -0xEA9C 0x9F95 #CJK UNIFIED IDEOGRAPH -0xEA9D 0x9F9C #CJK UNIFIED IDEOGRAPH -0xEA9E 0x9FA0 #CJK UNIFIED IDEOGRAPH -0xEA9F 0x582F #CJK UNIFIED IDEOGRAPH -0xEAA0 0x69C7 #CJK UNIFIED IDEOGRAPH -0xEAA1 0x9059 #CJK UNIFIED IDEOGRAPH -0xEAA2 0x7464 #CJK UNIFIED IDEOGRAPH -0xEAA3 0x51DC #CJK UNIFIED IDEOGRAPH -0xEAA4 0x7199 #CJK UNIFIED IDEOGRAPH -0xED40 0x7E8A #CJK UNIFIED IDEOGRAPH -0xED41 0x891C #CJK UNIFIED IDEOGRAPH -0xED42 0x9348 #CJK UNIFIED IDEOGRAPH -0xED43 0x9288 #CJK UNIFIED IDEOGRAPH -0xED44 0x84DC #CJK UNIFIED IDEOGRAPH -0xED45 0x4FC9 #CJK UNIFIED IDEOGRAPH -0xED46 0x70BB #CJK UNIFIED IDEOGRAPH -0xED47 0x6631 #CJK UNIFIED IDEOGRAPH -0xED48 0x68C8 #CJK UNIFIED IDEOGRAPH -0xED49 0x92F9 #CJK UNIFIED IDEOGRAPH -0xED4A 0x66FB #CJK UNIFIED IDEOGRAPH -0xED4B 0x5F45 #CJK UNIFIED IDEOGRAPH -0xED4C 0x4E28 #CJK UNIFIED IDEOGRAPH -0xED4D 0x4EE1 #CJK UNIFIED IDEOGRAPH -0xED4E 0x4EFC #CJK UNIFIED IDEOGRAPH -0xED4F 0x4F00 #CJK UNIFIED IDEOGRAPH -0xED50 0x4F03 #CJK UNIFIED IDEOGRAPH -0xED51 0x4F39 #CJK UNIFIED IDEOGRAPH -0xED52 0x4F56 #CJK UNIFIED IDEOGRAPH -0xED53 0x4F92 #CJK UNIFIED IDEOGRAPH -0xED54 0x4F8A #CJK UNIFIED IDEOGRAPH -0xED55 0x4F9A #CJK UNIFIED IDEOGRAPH -0xED56 0x4F94 #CJK UNIFIED IDEOGRAPH -0xED57 0x4FCD #CJK UNIFIED IDEOGRAPH -0xED58 0x5040 #CJK UNIFIED IDEOGRAPH -0xED59 0x5022 #CJK UNIFIED IDEOGRAPH -0xED5A 0x4FFF #CJK UNIFIED IDEOGRAPH -0xED5B 0x501E #CJK UNIFIED IDEOGRAPH -0xED5C 0x5046 #CJK UNIFIED IDEOGRAPH -0xED5D 0x5070 #CJK UNIFIED IDEOGRAPH -0xED5E 0x5042 #CJK UNIFIED IDEOGRAPH -0xED5F 0x5094 #CJK UNIFIED IDEOGRAPH -0xED60 0x50F4 #CJK UNIFIED IDEOGRAPH -0xED61 0x50D8 #CJK UNIFIED IDEOGRAPH -0xED62 0x514A #CJK UNIFIED IDEOGRAPH -0xED63 0x5164 #CJK UNIFIED IDEOGRAPH -0xED64 0x519D #CJK UNIFIED IDEOGRAPH -0xED65 0x51BE #CJK UNIFIED IDEOGRAPH -0xED66 0x51EC #CJK UNIFIED IDEOGRAPH -0xED67 0x5215 #CJK UNIFIED IDEOGRAPH -0xED68 0x529C #CJK UNIFIED IDEOGRAPH -0xED69 0x52A6 #CJK UNIFIED IDEOGRAPH -0xED6A 0x52C0 #CJK UNIFIED IDEOGRAPH -0xED6B 0x52DB #CJK UNIFIED IDEOGRAPH -0xED6C 0x5300 #CJK UNIFIED IDEOGRAPH -0xED6D 0x5307 #CJK UNIFIED IDEOGRAPH -0xED6E 0x5324 #CJK UNIFIED IDEOGRAPH -0xED6F 0x5372 #CJK UNIFIED IDEOGRAPH -0xED70 0x5393 #CJK UNIFIED IDEOGRAPH -0xED71 0x53B2 #CJK UNIFIED IDEOGRAPH -0xED72 0x53DD #CJK UNIFIED IDEOGRAPH -0xED73 0xFA0E #CJK COMPATIBILITY IDEOGRAPH -0xED74 0x549C #CJK UNIFIED IDEOGRAPH -0xED75 0x548A #CJK UNIFIED IDEOGRAPH -0xED76 0x54A9 #CJK UNIFIED IDEOGRAPH -0xED77 0x54FF #CJK UNIFIED IDEOGRAPH -0xED78 0x5586 #CJK UNIFIED IDEOGRAPH -0xED79 0x5759 #CJK UNIFIED IDEOGRAPH -0xED7A 0x5765 #CJK UNIFIED IDEOGRAPH -0xED7B 0x57AC #CJK UNIFIED IDEOGRAPH -0xED7C 0x57C8 #CJK UNIFIED IDEOGRAPH -0xED7D 0x57C7 #CJK UNIFIED IDEOGRAPH -0xED7E 0xFA0F #CJK COMPATIBILITY IDEOGRAPH -0xED80 0xFA10 #CJK COMPATIBILITY IDEOGRAPH -0xED81 0x589E #CJK UNIFIED IDEOGRAPH -0xED82 0x58B2 #CJK UNIFIED IDEOGRAPH -0xED83 0x590B #CJK UNIFIED IDEOGRAPH -0xED84 0x5953 #CJK UNIFIED IDEOGRAPH -0xED85 0x595B #CJK UNIFIED IDEOGRAPH -0xED86 0x595D #CJK UNIFIED IDEOGRAPH -0xED87 0x5963 #CJK UNIFIED IDEOGRAPH -0xED88 0x59A4 #CJK UNIFIED IDEOGRAPH -0xED89 0x59BA #CJK UNIFIED IDEOGRAPH -0xED8A 0x5B56 #CJK UNIFIED IDEOGRAPH -0xED8B 0x5BC0 #CJK UNIFIED IDEOGRAPH -0xED8C 0x752F #CJK UNIFIED IDEOGRAPH -0xED8D 0x5BD8 #CJK UNIFIED IDEOGRAPH -0xED8E 0x5BEC #CJK UNIFIED IDEOGRAPH -0xED8F 0x5C1E #CJK UNIFIED IDEOGRAPH -0xED90 0x5CA6 #CJK UNIFIED IDEOGRAPH -0xED91 0x5CBA #CJK UNIFIED IDEOGRAPH -0xED92 0x5CF5 #CJK UNIFIED IDEOGRAPH -0xED93 0x5D27 #CJK UNIFIED IDEOGRAPH -0xED94 0x5D53 #CJK UNIFIED IDEOGRAPH -0xED95 0xFA11 #CJK COMPATIBILITY IDEOGRAPH -0xED96 0x5D42 #CJK UNIFIED IDEOGRAPH -0xED97 0x5D6D #CJK UNIFIED IDEOGRAPH -0xED98 0x5DB8 #CJK UNIFIED IDEOGRAPH -0xED99 0x5DB9 #CJK UNIFIED IDEOGRAPH -0xED9A 0x5DD0 #CJK UNIFIED IDEOGRAPH -0xED9B 0x5F21 #CJK UNIFIED IDEOGRAPH -0xED9C 0x5F34 #CJK UNIFIED IDEOGRAPH -0xED9D 0x5F67 #CJK UNIFIED IDEOGRAPH -0xED9E 0x5FB7 #CJK UNIFIED IDEOGRAPH -0xED9F 0x5FDE #CJK UNIFIED IDEOGRAPH -0xEDA0 0x605D #CJK UNIFIED IDEOGRAPH -0xEDA1 0x6085 #CJK UNIFIED IDEOGRAPH -0xEDA2 0x608A #CJK UNIFIED IDEOGRAPH -0xEDA3 0x60DE #CJK UNIFIED IDEOGRAPH -0xEDA4 0x60D5 #CJK UNIFIED IDEOGRAPH -0xEDA5 0x6120 #CJK UNIFIED IDEOGRAPH -0xEDA6 0x60F2 #CJK UNIFIED IDEOGRAPH -0xEDA7 0x6111 #CJK UNIFIED IDEOGRAPH -0xEDA8 0x6137 #CJK UNIFIED IDEOGRAPH -0xEDA9 0x6130 #CJK UNIFIED IDEOGRAPH -0xEDAA 0x6198 #CJK UNIFIED IDEOGRAPH -0xEDAB 0x6213 #CJK UNIFIED IDEOGRAPH -0xEDAC 0x62A6 #CJK UNIFIED IDEOGRAPH -0xEDAD 0x63F5 #CJK UNIFIED IDEOGRAPH -0xEDAE 0x6460 #CJK UNIFIED IDEOGRAPH -0xEDAF 0x649D #CJK UNIFIED IDEOGRAPH -0xEDB0 0x64CE #CJK UNIFIED IDEOGRAPH -0xEDB1 0x654E #CJK UNIFIED IDEOGRAPH -0xEDB2 0x6600 #CJK UNIFIED IDEOGRAPH -0xEDB3 0x6615 #CJK UNIFIED IDEOGRAPH -0xEDB4 0x663B #CJK UNIFIED IDEOGRAPH -0xEDB5 0x6609 #CJK UNIFIED IDEOGRAPH -0xEDB6 0x662E #CJK UNIFIED IDEOGRAPH -0xEDB7 0x661E #CJK UNIFIED IDEOGRAPH -0xEDB8 0x6624 #CJK UNIFIED IDEOGRAPH -0xEDB9 0x6665 #CJK UNIFIED IDEOGRAPH -0xEDBA 0x6657 #CJK UNIFIED IDEOGRAPH -0xEDBB 0x6659 #CJK UNIFIED IDEOGRAPH -0xEDBC 0xFA12 #CJK COMPATIBILITY IDEOGRAPH -0xEDBD 0x6673 #CJK UNIFIED IDEOGRAPH -0xEDBE 0x6699 #CJK UNIFIED IDEOGRAPH -0xEDBF 0x66A0 #CJK UNIFIED IDEOGRAPH -0xEDC0 0x66B2 #CJK UNIFIED IDEOGRAPH -0xEDC1 0x66BF #CJK UNIFIED IDEOGRAPH -0xEDC2 0x66FA #CJK UNIFIED IDEOGRAPH -0xEDC3 0x670E #CJK UNIFIED IDEOGRAPH -0xEDC4 0xF929 #CJK COMPATIBILITY IDEOGRAPH -0xEDC5 0x6766 #CJK UNIFIED IDEOGRAPH -0xEDC6 0x67BB #CJK UNIFIED IDEOGRAPH -0xEDC7 0x6852 #CJK UNIFIED IDEOGRAPH -0xEDC8 0x67C0 #CJK UNIFIED IDEOGRAPH -0xEDC9 0x6801 #CJK UNIFIED IDEOGRAPH -0xEDCA 0x6844 #CJK UNIFIED IDEOGRAPH -0xEDCB 0x68CF #CJK UNIFIED IDEOGRAPH -0xEDCC 0xFA13 #CJK COMPATIBILITY IDEOGRAPH -0xEDCD 0x6968 #CJK UNIFIED IDEOGRAPH -0xEDCE 0xFA14 #CJK COMPATIBILITY IDEOGRAPH -0xEDCF 0x6998 #CJK UNIFIED IDEOGRAPH -0xEDD0 0x69E2 #CJK UNIFIED IDEOGRAPH -0xEDD1 0x6A30 #CJK UNIFIED IDEOGRAPH -0xEDD2 0x6A6B #CJK UNIFIED IDEOGRAPH -0xEDD3 0x6A46 #CJK UNIFIED IDEOGRAPH -0xEDD4 0x6A73 #CJK UNIFIED IDEOGRAPH -0xEDD5 0x6A7E #CJK UNIFIED IDEOGRAPH -0xEDD6 0x6AE2 #CJK UNIFIED IDEOGRAPH -0xEDD7 0x6AE4 #CJK UNIFIED IDEOGRAPH -0xEDD8 0x6BD6 #CJK UNIFIED IDEOGRAPH -0xEDD9 0x6C3F #CJK UNIFIED IDEOGRAPH -0xEDDA 0x6C5C #CJK UNIFIED IDEOGRAPH -0xEDDB 0x6C86 #CJK UNIFIED IDEOGRAPH -0xEDDC 0x6C6F #CJK UNIFIED IDEOGRAPH -0xEDDD 0x6CDA #CJK UNIFIED IDEOGRAPH -0xEDDE 0x6D04 #CJK UNIFIED IDEOGRAPH -0xEDDF 0x6D87 #CJK UNIFIED IDEOGRAPH -0xEDE0 0x6D6F #CJK UNIFIED IDEOGRAPH -0xEDE1 0x6D96 #CJK UNIFIED IDEOGRAPH -0xEDE2 0x6DAC #CJK UNIFIED IDEOGRAPH -0xEDE3 0x6DCF #CJK UNIFIED IDEOGRAPH -0xEDE4 0x6DF8 #CJK UNIFIED IDEOGRAPH -0xEDE5 0x6DF2 #CJK UNIFIED IDEOGRAPH -0xEDE6 0x6DFC #CJK UNIFIED IDEOGRAPH -0xEDE7 0x6E39 #CJK UNIFIED IDEOGRAPH -0xEDE8 0x6E5C #CJK UNIFIED IDEOGRAPH -0xEDE9 0x6E27 #CJK UNIFIED IDEOGRAPH -0xEDEA 0x6E3C #CJK UNIFIED IDEOGRAPH -0xEDEB 0x6EBF #CJK UNIFIED IDEOGRAPH -0xEDEC 0x6F88 #CJK UNIFIED IDEOGRAPH -0xEDED 0x6FB5 #CJK UNIFIED IDEOGRAPH -0xEDEE 0x6FF5 #CJK UNIFIED IDEOGRAPH -0xEDEF 0x7005 #CJK UNIFIED IDEOGRAPH -0xEDF0 0x7007 #CJK UNIFIED IDEOGRAPH -0xEDF1 0x7028 #CJK UNIFIED IDEOGRAPH -0xEDF2 0x7085 #CJK UNIFIED IDEOGRAPH -0xEDF3 0x70AB #CJK UNIFIED IDEOGRAPH -0xEDF4 0x710F #CJK UNIFIED IDEOGRAPH -0xEDF5 0x7104 #CJK UNIFIED IDEOGRAPH -0xEDF6 0x715C #CJK UNIFIED IDEOGRAPH -0xEDF7 0x7146 #CJK UNIFIED IDEOGRAPH -0xEDF8 0x7147 #CJK UNIFIED IDEOGRAPH -0xEDF9 0xFA15 #CJK COMPATIBILITY IDEOGRAPH -0xEDFA 0x71C1 #CJK UNIFIED IDEOGRAPH -0xEDFB 0x71FE #CJK UNIFIED IDEOGRAPH -0xEDFC 0x72B1 #CJK UNIFIED IDEOGRAPH -0xEE40 0x72BE #CJK UNIFIED IDEOGRAPH -0xEE41 0x7324 #CJK UNIFIED IDEOGRAPH -0xEE42 0xFA16 #CJK COMPATIBILITY IDEOGRAPH -0xEE43 0x7377 #CJK UNIFIED IDEOGRAPH -0xEE44 0x73BD #CJK UNIFIED IDEOGRAPH -0xEE45 0x73C9 #CJK UNIFIED IDEOGRAPH -0xEE46 0x73D6 #CJK UNIFIED IDEOGRAPH -0xEE47 0x73E3 #CJK UNIFIED IDEOGRAPH -0xEE48 0x73D2 #CJK UNIFIED IDEOGRAPH -0xEE49 0x7407 #CJK UNIFIED IDEOGRAPH -0xEE4A 0x73F5 #CJK UNIFIED IDEOGRAPH -0xEE4B 0x7426 #CJK UNIFIED IDEOGRAPH -0xEE4C 0x742A #CJK UNIFIED IDEOGRAPH -0xEE4D 0x7429 #CJK UNIFIED IDEOGRAPH -0xEE4E 0x742E #CJK UNIFIED IDEOGRAPH -0xEE4F 0x7462 #CJK UNIFIED IDEOGRAPH -0xEE50 0x7489 #CJK UNIFIED IDEOGRAPH -0xEE51 0x749F #CJK UNIFIED IDEOGRAPH -0xEE52 0x7501 #CJK UNIFIED IDEOGRAPH -0xEE53 0x756F #CJK UNIFIED IDEOGRAPH -0xEE54 0x7682 #CJK UNIFIED IDEOGRAPH -0xEE55 0x769C #CJK UNIFIED IDEOGRAPH -0xEE56 0x769E #CJK UNIFIED IDEOGRAPH -0xEE57 0x769B #CJK UNIFIED IDEOGRAPH -0xEE58 0x76A6 #CJK UNIFIED IDEOGRAPH -0xEE59 0xFA17 #CJK COMPATIBILITY IDEOGRAPH -0xEE5A 0x7746 #CJK UNIFIED IDEOGRAPH -0xEE5B 0x52AF #CJK UNIFIED IDEOGRAPH -0xEE5C 0x7821 #CJK UNIFIED IDEOGRAPH -0xEE5D 0x784E #CJK UNIFIED IDEOGRAPH -0xEE5E 0x7864 #CJK UNIFIED IDEOGRAPH -0xEE5F 0x787A #CJK UNIFIED IDEOGRAPH -0xEE60 0x7930 #CJK UNIFIED IDEOGRAPH -0xEE61 0xFA18 #CJK COMPATIBILITY IDEOGRAPH -0xEE62 0xFA19 #CJK COMPATIBILITY IDEOGRAPH -0xEE63 0xFA1A #CJK COMPATIBILITY IDEOGRAPH -0xEE64 0x7994 #CJK UNIFIED IDEOGRAPH -0xEE65 0xFA1B #CJK COMPATIBILITY IDEOGRAPH -0xEE66 0x799B #CJK UNIFIED IDEOGRAPH -0xEE67 0x7AD1 #CJK UNIFIED IDEOGRAPH -0xEE68 0x7AE7 #CJK UNIFIED IDEOGRAPH -0xEE69 0xFA1C #CJK COMPATIBILITY IDEOGRAPH -0xEE6A 0x7AEB #CJK UNIFIED IDEOGRAPH -0xEE6B 0x7B9E #CJK UNIFIED IDEOGRAPH -0xEE6C 0xFA1D #CJK COMPATIBILITY IDEOGRAPH -0xEE6D 0x7D48 #CJK UNIFIED IDEOGRAPH -0xEE6E 0x7D5C #CJK UNIFIED IDEOGRAPH -0xEE6F 0x7DB7 #CJK UNIFIED IDEOGRAPH -0xEE70 0x7DA0 #CJK UNIFIED IDEOGRAPH -0xEE71 0x7DD6 #CJK UNIFIED IDEOGRAPH -0xEE72 0x7E52 #CJK UNIFIED IDEOGRAPH -0xEE73 0x7F47 #CJK UNIFIED IDEOGRAPH -0xEE74 0x7FA1 #CJK UNIFIED IDEOGRAPH -0xEE75 0xFA1E #CJK COMPATIBILITY IDEOGRAPH -0xEE76 0x8301 #CJK UNIFIED IDEOGRAPH -0xEE77 0x8362 #CJK UNIFIED IDEOGRAPH -0xEE78 0x837F #CJK UNIFIED IDEOGRAPH -0xEE79 0x83C7 #CJK UNIFIED IDEOGRAPH -0xEE7A 0x83F6 #CJK UNIFIED IDEOGRAPH -0xEE7B 0x8448 #CJK UNIFIED IDEOGRAPH -0xEE7C 0x84B4 #CJK UNIFIED IDEOGRAPH -0xEE7D 0x8553 #CJK UNIFIED IDEOGRAPH -0xEE7E 0x8559 #CJK UNIFIED IDEOGRAPH -0xEE80 0x856B #CJK UNIFIED IDEOGRAPH -0xEE81 0xFA1F #CJK COMPATIBILITY IDEOGRAPH -0xEE82 0x85B0 #CJK UNIFIED IDEOGRAPH -0xEE83 0xFA20 #CJK COMPATIBILITY IDEOGRAPH -0xEE84 0xFA21 #CJK COMPATIBILITY IDEOGRAPH -0xEE85 0x8807 #CJK UNIFIED IDEOGRAPH -0xEE86 0x88F5 #CJK UNIFIED IDEOGRAPH -0xEE87 0x8A12 #CJK UNIFIED IDEOGRAPH -0xEE88 0x8A37 #CJK UNIFIED IDEOGRAPH -0xEE89 0x8A79 #CJK UNIFIED IDEOGRAPH -0xEE8A 0x8AA7 #CJK UNIFIED IDEOGRAPH -0xEE8B 0x8ABE #CJK UNIFIED IDEOGRAPH -0xEE8C 0x8ADF #CJK UNIFIED IDEOGRAPH -0xEE8D 0xFA22 #CJK COMPATIBILITY IDEOGRAPH -0xEE8E 0x8AF6 #CJK UNIFIED IDEOGRAPH -0xEE8F 0x8B53 #CJK UNIFIED IDEOGRAPH -0xEE90 0x8B7F #CJK UNIFIED IDEOGRAPH -0xEE91 0x8CF0 #CJK UNIFIED IDEOGRAPH -0xEE92 0x8CF4 #CJK UNIFIED IDEOGRAPH -0xEE93 0x8D12 #CJK UNIFIED IDEOGRAPH -0xEE94 0x8D76 #CJK UNIFIED IDEOGRAPH -0xEE95 0xFA23 #CJK COMPATIBILITY IDEOGRAPH -0xEE96 0x8ECF #CJK UNIFIED IDEOGRAPH -0xEE97 0xFA24 #CJK COMPATIBILITY IDEOGRAPH -0xEE98 0xFA25 #CJK COMPATIBILITY IDEOGRAPH -0xEE99 0x9067 #CJK UNIFIED IDEOGRAPH -0xEE9A 0x90DE #CJK UNIFIED IDEOGRAPH -0xEE9B 0xFA26 #CJK COMPATIBILITY IDEOGRAPH -0xEE9C 0x9115 #CJK UNIFIED IDEOGRAPH -0xEE9D 0x9127 #CJK UNIFIED IDEOGRAPH -0xEE9E 0x91DA #CJK UNIFIED IDEOGRAPH -0xEE9F 0x91D7 #CJK UNIFIED IDEOGRAPH -0xEEA0 0x91DE #CJK UNIFIED IDEOGRAPH -0xEEA1 0x91ED #CJK UNIFIED IDEOGRAPH -0xEEA2 0x91EE #CJK UNIFIED IDEOGRAPH -0xEEA3 0x91E4 #CJK UNIFIED IDEOGRAPH -0xEEA4 0x91E5 #CJK UNIFIED IDEOGRAPH -0xEEA5 0x9206 #CJK UNIFIED IDEOGRAPH -0xEEA6 0x9210 #CJK UNIFIED IDEOGRAPH -0xEEA7 0x920A #CJK UNIFIED IDEOGRAPH -0xEEA8 0x923A #CJK UNIFIED IDEOGRAPH -0xEEA9 0x9240 #CJK UNIFIED IDEOGRAPH -0xEEAA 0x923C #CJK UNIFIED IDEOGRAPH -0xEEAB 0x924E #CJK UNIFIED IDEOGRAPH -0xEEAC 0x9259 #CJK UNIFIED IDEOGRAPH -0xEEAD 0x9251 #CJK UNIFIED IDEOGRAPH -0xEEAE 0x9239 #CJK UNIFIED IDEOGRAPH -0xEEAF 0x9267 #CJK UNIFIED IDEOGRAPH -0xEEB0 0x92A7 #CJK UNIFIED IDEOGRAPH -0xEEB1 0x9277 #CJK UNIFIED IDEOGRAPH -0xEEB2 0x9278 #CJK UNIFIED IDEOGRAPH -0xEEB3 0x92E7 #CJK UNIFIED IDEOGRAPH -0xEEB4 0x92D7 #CJK UNIFIED IDEOGRAPH -0xEEB5 0x92D9 #CJK UNIFIED IDEOGRAPH -0xEEB6 0x92D0 #CJK UNIFIED IDEOGRAPH -0xEEB7 0xFA27 #CJK COMPATIBILITY IDEOGRAPH -0xEEB8 0x92D5 #CJK UNIFIED IDEOGRAPH -0xEEB9 0x92E0 #CJK UNIFIED IDEOGRAPH -0xEEBA 0x92D3 #CJK UNIFIED IDEOGRAPH -0xEEBB 0x9325 #CJK UNIFIED IDEOGRAPH -0xEEBC 0x9321 #CJK UNIFIED IDEOGRAPH -0xEEBD 0x92FB #CJK UNIFIED IDEOGRAPH -0xEEBE 0xFA28 #CJK COMPATIBILITY IDEOGRAPH -0xEEBF 0x931E #CJK UNIFIED IDEOGRAPH -0xEEC0 0x92FF #CJK UNIFIED IDEOGRAPH -0xEEC1 0x931D #CJK UNIFIED IDEOGRAPH -0xEEC2 0x9302 #CJK UNIFIED IDEOGRAPH -0xEEC3 0x9370 #CJK UNIFIED IDEOGRAPH -0xEEC4 0x9357 #CJK UNIFIED IDEOGRAPH -0xEEC5 0x93A4 #CJK UNIFIED IDEOGRAPH -0xEEC6 0x93C6 #CJK UNIFIED IDEOGRAPH -0xEEC7 0x93DE #CJK UNIFIED IDEOGRAPH -0xEEC8 0x93F8 #CJK UNIFIED IDEOGRAPH -0xEEC9 0x9431 #CJK UNIFIED IDEOGRAPH -0xEECA 0x9445 #CJK UNIFIED IDEOGRAPH -0xEECB 0x9448 #CJK UNIFIED IDEOGRAPH -0xEECC 0x9592 #CJK UNIFIED IDEOGRAPH -0xEECD 0xF9DC #CJK COMPATIBILITY IDEOGRAPH -0xEECE 0xFA29 #CJK COMPATIBILITY IDEOGRAPH -0xEECF 0x969D #CJK UNIFIED IDEOGRAPH -0xEED0 0x96AF #CJK UNIFIED IDEOGRAPH -0xEED1 0x9733 #CJK UNIFIED IDEOGRAPH -0xEED2 0x973B #CJK UNIFIED IDEOGRAPH -0xEED3 0x9743 #CJK UNIFIED IDEOGRAPH -0xEED4 0x974D #CJK UNIFIED IDEOGRAPH -0xEED5 0x974F #CJK UNIFIED IDEOGRAPH -0xEED6 0x9751 #CJK UNIFIED IDEOGRAPH -0xEED7 0x9755 #CJK UNIFIED IDEOGRAPH -0xEED8 0x9857 #CJK UNIFIED IDEOGRAPH -0xEED9 0x9865 #CJK UNIFIED IDEOGRAPH -0xEEDA 0xFA2A #CJK COMPATIBILITY IDEOGRAPH -0xEEDB 0xFA2B #CJK COMPATIBILITY IDEOGRAPH -0xEEDC 0x9927 #CJK UNIFIED IDEOGRAPH -0xEEDD 0xFA2C #CJK COMPATIBILITY IDEOGRAPH -0xEEDE 0x999E #CJK UNIFIED IDEOGRAPH -0xEEDF 0x9A4E #CJK UNIFIED IDEOGRAPH -0xEEE0 0x9AD9 #CJK UNIFIED IDEOGRAPH -0xEEE1 0x9ADC #CJK UNIFIED IDEOGRAPH -0xEEE2 0x9B75 #CJK UNIFIED IDEOGRAPH -0xEEE3 0x9B72 #CJK UNIFIED IDEOGRAPH -0xEEE4 0x9B8F #CJK UNIFIED IDEOGRAPH -0xEEE5 0x9BB1 #CJK UNIFIED IDEOGRAPH -0xEEE6 0x9BBB #CJK UNIFIED IDEOGRAPH -0xEEE7 0x9C00 #CJK UNIFIED IDEOGRAPH -0xEEE8 0x9D70 #CJK UNIFIED IDEOGRAPH -0xEEE9 0x9D6B #CJK UNIFIED IDEOGRAPH -0xEEEA 0xFA2D #CJK COMPATIBILITY IDEOGRAPH -0xEEEB 0x9E19 #CJK UNIFIED IDEOGRAPH -0xEEEC 0x9ED1 #CJK UNIFIED IDEOGRAPH -0xEEEF 0x2170 #SMALL ROMAN NUMERAL ONE -0xEEF0 0x2171 #SMALL ROMAN NUMERAL TWO -0xEEF1 0x2172 #SMALL ROMAN NUMERAL THREE -0xEEF2 0x2173 #SMALL ROMAN NUMERAL FOUR -0xEEF3 0x2174 #SMALL ROMAN NUMERAL FIVE -0xEEF4 0x2175 #SMALL ROMAN NUMERAL SIX -0xEEF5 0x2176 #SMALL ROMAN NUMERAL SEVEN -0xEEF6 0x2177 #SMALL ROMAN NUMERAL EIGHT -0xEEF7 0x2178 #SMALL ROMAN NUMERAL NINE -0xEEF8 0x2179 #SMALL ROMAN NUMERAL TEN -0xEEF9 0xFFE2 #FULLWIDTH NOT SIGN -0xEEFA 0xFFE4 #FULLWIDTH BROKEN BAR -0xEEFB 0xFF07 #FULLWIDTH APOSTROPHE -0xEEFC 0xFF02 #FULLWIDTH QUOTATION MARK -0xFA40 0x2170 #SMALL ROMAN NUMERAL ONE -0xFA41 0x2171 #SMALL ROMAN NUMERAL TWO -0xFA42 0x2172 #SMALL ROMAN NUMERAL THREE -0xFA43 0x2173 #SMALL ROMAN NUMERAL FOUR -0xFA44 0x2174 #SMALL ROMAN NUMERAL FIVE -0xFA45 0x2175 #SMALL ROMAN NUMERAL SIX -0xFA46 0x2176 #SMALL ROMAN NUMERAL SEVEN -0xFA47 0x2177 #SMALL ROMAN NUMERAL EIGHT -0xFA48 0x2178 #SMALL ROMAN NUMERAL NINE -0xFA49 0x2179 #SMALL ROMAN NUMERAL TEN -0xFA4A 0x2160 #ROMAN NUMERAL ONE -0xFA4B 0x2161 #ROMAN NUMERAL TWO -0xFA4C 0x2162 #ROMAN NUMERAL THREE -0xFA4D 0x2163 #ROMAN NUMERAL FOUR -0xFA4E 0x2164 #ROMAN NUMERAL FIVE -0xFA4F 0x2165 #ROMAN NUMERAL SIX -0xFA50 0x2166 #ROMAN NUMERAL SEVEN -0xFA51 0x2167 #ROMAN NUMERAL EIGHT -0xFA52 0x2168 #ROMAN NUMERAL NINE -0xFA53 0x2169 #ROMAN NUMERAL TEN -0xFA54 0xFFE2 #FULLWIDTH NOT SIGN -0xFA55 0xFFE4 #FULLWIDTH BROKEN BAR -0xFA56 0xFF07 #FULLWIDTH APOSTROPHE -0xFA57 0xFF02 #FULLWIDTH QUOTATION MARK -0xFA58 0x3231 #PARENTHESIZED IDEOGRAPH STOCK -0xFA59 0x2116 #NUMERO SIGN -0xFA5A 0x2121 #TELEPHONE SIGN -0xFA5B 0x2235 #BECAUSE -0xFA5C 0x7E8A #CJK UNIFIED IDEOGRAPH -0xFA5D 0x891C #CJK UNIFIED IDEOGRAPH -0xFA5E 0x9348 #CJK UNIFIED IDEOGRAPH -0xFA5F 0x9288 #CJK UNIFIED IDEOGRAPH -0xFA60 0x84DC #CJK UNIFIED IDEOGRAPH -0xFA61 0x4FC9 #CJK UNIFIED IDEOGRAPH -0xFA62 0x70BB #CJK UNIFIED IDEOGRAPH -0xFA63 0x6631 #CJK UNIFIED IDEOGRAPH -0xFA64 0x68C8 #CJK UNIFIED IDEOGRAPH -0xFA65 0x92F9 #CJK UNIFIED IDEOGRAPH -0xFA66 0x66FB #CJK UNIFIED IDEOGRAPH -0xFA67 0x5F45 #CJK UNIFIED IDEOGRAPH -0xFA68 0x4E28 #CJK UNIFIED IDEOGRAPH -0xFA69 0x4EE1 #CJK UNIFIED IDEOGRAPH -0xFA6A 0x4EFC #CJK UNIFIED IDEOGRAPH -0xFA6B 0x4F00 #CJK UNIFIED IDEOGRAPH -0xFA6C 0x4F03 #CJK UNIFIED IDEOGRAPH -0xFA6D 0x4F39 #CJK UNIFIED IDEOGRAPH -0xFA6E 0x4F56 #CJK UNIFIED IDEOGRAPH -0xFA6F 0x4F92 #CJK UNIFIED IDEOGRAPH -0xFA70 0x4F8A #CJK UNIFIED IDEOGRAPH -0xFA71 0x4F9A #CJK UNIFIED IDEOGRAPH -0xFA72 0x4F94 #CJK UNIFIED IDEOGRAPH -0xFA73 0x4FCD #CJK UNIFIED IDEOGRAPH -0xFA74 0x5040 #CJK UNIFIED IDEOGRAPH -0xFA75 0x5022 #CJK UNIFIED IDEOGRAPH -0xFA76 0x4FFF #CJK UNIFIED IDEOGRAPH -0xFA77 0x501E #CJK UNIFIED IDEOGRAPH -0xFA78 0x5046 #CJK UNIFIED IDEOGRAPH -0xFA79 0x5070 #CJK UNIFIED IDEOGRAPH -0xFA7A 0x5042 #CJK UNIFIED IDEOGRAPH -0xFA7B 0x5094 #CJK UNIFIED IDEOGRAPH -0xFA7C 0x50F4 #CJK UNIFIED IDEOGRAPH -0xFA7D 0x50D8 #CJK UNIFIED IDEOGRAPH -0xFA7E 0x514A #CJK UNIFIED IDEOGRAPH -0xFA80 0x5164 #CJK UNIFIED IDEOGRAPH -0xFA81 0x519D #CJK UNIFIED IDEOGRAPH -0xFA82 0x51BE #CJK UNIFIED IDEOGRAPH -0xFA83 0x51EC #CJK UNIFIED IDEOGRAPH -0xFA84 0x5215 #CJK UNIFIED IDEOGRAPH -0xFA85 0x529C #CJK UNIFIED IDEOGRAPH -0xFA86 0x52A6 #CJK UNIFIED IDEOGRAPH -0xFA87 0x52C0 #CJK UNIFIED IDEOGRAPH -0xFA88 0x52DB #CJK UNIFIED IDEOGRAPH -0xFA89 0x5300 #CJK UNIFIED IDEOGRAPH -0xFA8A 0x5307 #CJK UNIFIED IDEOGRAPH -0xFA8B 0x5324 #CJK UNIFIED IDEOGRAPH -0xFA8C 0x5372 #CJK UNIFIED IDEOGRAPH -0xFA8D 0x5393 #CJK UNIFIED IDEOGRAPH -0xFA8E 0x53B2 #CJK UNIFIED IDEOGRAPH -0xFA8F 0x53DD #CJK UNIFIED IDEOGRAPH -0xFA90 0xFA0E #CJK COMPATIBILITY IDEOGRAPH -0xFA91 0x549C #CJK UNIFIED IDEOGRAPH -0xFA92 0x548A #CJK UNIFIED IDEOGRAPH -0xFA93 0x54A9 #CJK UNIFIED IDEOGRAPH -0xFA94 0x54FF #CJK UNIFIED IDEOGRAPH -0xFA95 0x5586 #CJK UNIFIED IDEOGRAPH -0xFA96 0x5759 #CJK UNIFIED IDEOGRAPH -0xFA97 0x5765 #CJK UNIFIED IDEOGRAPH -0xFA98 0x57AC #CJK UNIFIED IDEOGRAPH -0xFA99 0x57C8 #CJK UNIFIED IDEOGRAPH -0xFA9A 0x57C7 #CJK UNIFIED IDEOGRAPH -0xFA9B 0xFA0F #CJK COMPATIBILITY IDEOGRAPH -0xFA9C 0xFA10 #CJK COMPATIBILITY IDEOGRAPH -0xFA9D 0x589E #CJK UNIFIED IDEOGRAPH -0xFA9E 0x58B2 #CJK UNIFIED IDEOGRAPH -0xFA9F 0x590B #CJK UNIFIED IDEOGRAPH -0xFAA0 0x5953 #CJK UNIFIED IDEOGRAPH -0xFAA1 0x595B #CJK UNIFIED IDEOGRAPH -0xFAA2 0x595D #CJK UNIFIED IDEOGRAPH -0xFAA3 0x5963 #CJK UNIFIED IDEOGRAPH -0xFAA4 0x59A4 #CJK UNIFIED IDEOGRAPH -0xFAA5 0x59BA #CJK UNIFIED IDEOGRAPH -0xFAA6 0x5B56 #CJK UNIFIED IDEOGRAPH -0xFAA7 0x5BC0 #CJK UNIFIED IDEOGRAPH -0xFAA8 0x752F #CJK UNIFIED IDEOGRAPH -0xFAA9 0x5BD8 #CJK UNIFIED IDEOGRAPH -0xFAAA 0x5BEC #CJK UNIFIED IDEOGRAPH -0xFAAB 0x5C1E #CJK UNIFIED IDEOGRAPH -0xFAAC 0x5CA6 #CJK UNIFIED IDEOGRAPH -0xFAAD 0x5CBA #CJK UNIFIED IDEOGRAPH -0xFAAE 0x5CF5 #CJK UNIFIED IDEOGRAPH -0xFAAF 0x5D27 #CJK UNIFIED IDEOGRAPH -0xFAB0 0x5D53 #CJK UNIFIED IDEOGRAPH -0xFAB1 0xFA11 #CJK COMPATIBILITY IDEOGRAPH -0xFAB2 0x5D42 #CJK UNIFIED IDEOGRAPH -0xFAB3 0x5D6D #CJK UNIFIED IDEOGRAPH -0xFAB4 0x5DB8 #CJK UNIFIED IDEOGRAPH -0xFAB5 0x5DB9 #CJK UNIFIED IDEOGRAPH -0xFAB6 0x5DD0 #CJK UNIFIED IDEOGRAPH -0xFAB7 0x5F21 #CJK UNIFIED IDEOGRAPH -0xFAB8 0x5F34 #CJK UNIFIED IDEOGRAPH -0xFAB9 0x5F67 #CJK UNIFIED IDEOGRAPH -0xFABA 0x5FB7 #CJK UNIFIED IDEOGRAPH -0xFABB 0x5FDE #CJK UNIFIED IDEOGRAPH -0xFABC 0x605D #CJK UNIFIED IDEOGRAPH -0xFABD 0x6085 #CJK UNIFIED IDEOGRAPH -0xFABE 0x608A #CJK UNIFIED IDEOGRAPH -0xFABF 0x60DE #CJK UNIFIED IDEOGRAPH -0xFAC0 0x60D5 #CJK UNIFIED IDEOGRAPH -0xFAC1 0x6120 #CJK UNIFIED IDEOGRAPH -0xFAC2 0x60F2 #CJK UNIFIED IDEOGRAPH -0xFAC3 0x6111 #CJK UNIFIED IDEOGRAPH -0xFAC4 0x6137 #CJK UNIFIED IDEOGRAPH -0xFAC5 0x6130 #CJK UNIFIED IDEOGRAPH -0xFAC6 0x6198 #CJK UNIFIED IDEOGRAPH -0xFAC7 0x6213 #CJK UNIFIED IDEOGRAPH -0xFAC8 0x62A6 #CJK UNIFIED IDEOGRAPH -0xFAC9 0x63F5 #CJK UNIFIED IDEOGRAPH -0xFACA 0x6460 #CJK UNIFIED IDEOGRAPH -0xFACB 0x649D #CJK UNIFIED IDEOGRAPH -0xFACC 0x64CE #CJK UNIFIED IDEOGRAPH -0xFACD 0x654E #CJK UNIFIED IDEOGRAPH -0xFACE 0x6600 #CJK UNIFIED IDEOGRAPH -0xFACF 0x6615 #CJK UNIFIED IDEOGRAPH -0xFAD0 0x663B #CJK UNIFIED IDEOGRAPH -0xFAD1 0x6609 #CJK UNIFIED IDEOGRAPH -0xFAD2 0x662E #CJK UNIFIED IDEOGRAPH -0xFAD3 0x661E #CJK UNIFIED IDEOGRAPH -0xFAD4 0x6624 #CJK UNIFIED IDEOGRAPH -0xFAD5 0x6665 #CJK UNIFIED IDEOGRAPH -0xFAD6 0x6657 #CJK UNIFIED IDEOGRAPH -0xFAD7 0x6659 #CJK UNIFIED IDEOGRAPH -0xFAD8 0xFA12 #CJK COMPATIBILITY IDEOGRAPH -0xFAD9 0x6673 #CJK UNIFIED IDEOGRAPH -0xFADA 0x6699 #CJK UNIFIED IDEOGRAPH -0xFADB 0x66A0 #CJK UNIFIED IDEOGRAPH -0xFADC 0x66B2 #CJK UNIFIED IDEOGRAPH -0xFADD 0x66BF #CJK UNIFIED IDEOGRAPH -0xFADE 0x66FA #CJK UNIFIED IDEOGRAPH -0xFADF 0x670E #CJK UNIFIED IDEOGRAPH -0xFAE0 0xF929 #CJK COMPATIBILITY IDEOGRAPH -0xFAE1 0x6766 #CJK UNIFIED IDEOGRAPH -0xFAE2 0x67BB #CJK UNIFIED IDEOGRAPH -0xFAE3 0x6852 #CJK UNIFIED IDEOGRAPH -0xFAE4 0x67C0 #CJK UNIFIED IDEOGRAPH -0xFAE5 0x6801 #CJK UNIFIED IDEOGRAPH -0xFAE6 0x6844 #CJK UNIFIED IDEOGRAPH -0xFAE7 0x68CF #CJK UNIFIED IDEOGRAPH -0xFAE8 0xFA13 #CJK COMPATIBILITY IDEOGRAPH -0xFAE9 0x6968 #CJK UNIFIED IDEOGRAPH -0xFAEA 0xFA14 #CJK COMPATIBILITY IDEOGRAPH -0xFAEB 0x6998 #CJK UNIFIED IDEOGRAPH -0xFAEC 0x69E2 #CJK UNIFIED IDEOGRAPH -0xFAED 0x6A30 #CJK UNIFIED IDEOGRAPH -0xFAEE 0x6A6B #CJK UNIFIED IDEOGRAPH -0xFAEF 0x6A46 #CJK UNIFIED IDEOGRAPH -0xFAF0 0x6A73 #CJK UNIFIED IDEOGRAPH -0xFAF1 0x6A7E #CJK UNIFIED IDEOGRAPH -0xFAF2 0x6AE2 #CJK UNIFIED IDEOGRAPH -0xFAF3 0x6AE4 #CJK UNIFIED IDEOGRAPH -0xFAF4 0x6BD6 #CJK UNIFIED IDEOGRAPH -0xFAF5 0x6C3F #CJK UNIFIED IDEOGRAPH -0xFAF6 0x6C5C #CJK UNIFIED IDEOGRAPH -0xFAF7 0x6C86 #CJK UNIFIED IDEOGRAPH -0xFAF8 0x6C6F #CJK UNIFIED IDEOGRAPH -0xFAF9 0x6CDA #CJK UNIFIED IDEOGRAPH -0xFAFA 0x6D04 #CJK UNIFIED IDEOGRAPH -0xFAFB 0x6D87 #CJK UNIFIED IDEOGRAPH -0xFAFC 0x6D6F #CJK UNIFIED IDEOGRAPH -0xFB40 0x6D96 #CJK UNIFIED IDEOGRAPH -0xFB41 0x6DAC #CJK UNIFIED IDEOGRAPH -0xFB42 0x6DCF #CJK UNIFIED IDEOGRAPH -0xFB43 0x6DF8 #CJK UNIFIED IDEOGRAPH -0xFB44 0x6DF2 #CJK UNIFIED IDEOGRAPH -0xFB45 0x6DFC #CJK UNIFIED IDEOGRAPH -0xFB46 0x6E39 #CJK UNIFIED IDEOGRAPH -0xFB47 0x6E5C #CJK UNIFIED IDEOGRAPH -0xFB48 0x6E27 #CJK UNIFIED IDEOGRAPH -0xFB49 0x6E3C #CJK UNIFIED IDEOGRAPH -0xFB4A 0x6EBF #CJK UNIFIED IDEOGRAPH -0xFB4B 0x6F88 #CJK UNIFIED IDEOGRAPH -0xFB4C 0x6FB5 #CJK UNIFIED IDEOGRAPH -0xFB4D 0x6FF5 #CJK UNIFIED IDEOGRAPH -0xFB4E 0x7005 #CJK UNIFIED IDEOGRAPH -0xFB4F 0x7007 #CJK UNIFIED IDEOGRAPH -0xFB50 0x7028 #CJK UNIFIED IDEOGRAPH -0xFB51 0x7085 #CJK UNIFIED IDEOGRAPH -0xFB52 0x70AB #CJK UNIFIED IDEOGRAPH -0xFB53 0x710F #CJK UNIFIED IDEOGRAPH -0xFB54 0x7104 #CJK UNIFIED IDEOGRAPH -0xFB55 0x715C #CJK UNIFIED IDEOGRAPH -0xFB56 0x7146 #CJK UNIFIED IDEOGRAPH -0xFB57 0x7147 #CJK UNIFIED IDEOGRAPH -0xFB58 0xFA15 #CJK COMPATIBILITY IDEOGRAPH -0xFB59 0x71C1 #CJK UNIFIED IDEOGRAPH -0xFB5A 0x71FE #CJK UNIFIED IDEOGRAPH -0xFB5B 0x72B1 #CJK UNIFIED IDEOGRAPH -0xFB5C 0x72BE #CJK UNIFIED IDEOGRAPH -0xFB5D 0x7324 #CJK UNIFIED IDEOGRAPH -0xFB5E 0xFA16 #CJK COMPATIBILITY IDEOGRAPH -0xFB5F 0x7377 #CJK UNIFIED IDEOGRAPH -0xFB60 0x73BD #CJK UNIFIED IDEOGRAPH -0xFB61 0x73C9 #CJK UNIFIED IDEOGRAPH -0xFB62 0x73D6 #CJK UNIFIED IDEOGRAPH -0xFB63 0x73E3 #CJK UNIFIED IDEOGRAPH -0xFB64 0x73D2 #CJK UNIFIED IDEOGRAPH -0xFB65 0x7407 #CJK UNIFIED IDEOGRAPH -0xFB66 0x73F5 #CJK UNIFIED IDEOGRAPH -0xFB67 0x7426 #CJK UNIFIED IDEOGRAPH -0xFB68 0x742A #CJK UNIFIED IDEOGRAPH -0xFB69 0x7429 #CJK UNIFIED IDEOGRAPH -0xFB6A 0x742E #CJK UNIFIED IDEOGRAPH -0xFB6B 0x7462 #CJK UNIFIED IDEOGRAPH -0xFB6C 0x7489 #CJK UNIFIED IDEOGRAPH -0xFB6D 0x749F #CJK UNIFIED IDEOGRAPH -0xFB6E 0x7501 #CJK UNIFIED IDEOGRAPH -0xFB6F 0x756F #CJK UNIFIED IDEOGRAPH -0xFB70 0x7682 #CJK UNIFIED IDEOGRAPH -0xFB71 0x769C #CJK UNIFIED IDEOGRAPH -0xFB72 0x769E #CJK UNIFIED IDEOGRAPH -0xFB73 0x769B #CJK UNIFIED IDEOGRAPH -0xFB74 0x76A6 #CJK UNIFIED IDEOGRAPH -0xFB75 0xFA17 #CJK COMPATIBILITY IDEOGRAPH -0xFB76 0x7746 #CJK UNIFIED IDEOGRAPH -0xFB77 0x52AF #CJK UNIFIED IDEOGRAPH -0xFB78 0x7821 #CJK UNIFIED IDEOGRAPH -0xFB79 0x784E #CJK UNIFIED IDEOGRAPH -0xFB7A 0x7864 #CJK UNIFIED IDEOGRAPH -0xFB7B 0x787A #CJK UNIFIED IDEOGRAPH -0xFB7C 0x7930 #CJK UNIFIED IDEOGRAPH -0xFB7D 0xFA18 #CJK COMPATIBILITY IDEOGRAPH -0xFB7E 0xFA19 #CJK COMPATIBILITY IDEOGRAPH -0xFB80 0xFA1A #CJK COMPATIBILITY IDEOGRAPH -0xFB81 0x7994 #CJK UNIFIED IDEOGRAPH -0xFB82 0xFA1B #CJK COMPATIBILITY IDEOGRAPH -0xFB83 0x799B #CJK UNIFIED IDEOGRAPH -0xFB84 0x7AD1 #CJK UNIFIED IDEOGRAPH -0xFB85 0x7AE7 #CJK UNIFIED IDEOGRAPH -0xFB86 0xFA1C #CJK COMPATIBILITY IDEOGRAPH -0xFB87 0x7AEB #CJK UNIFIED IDEOGRAPH -0xFB88 0x7B9E #CJK UNIFIED IDEOGRAPH -0xFB89 0xFA1D #CJK COMPATIBILITY IDEOGRAPH -0xFB8A 0x7D48 #CJK UNIFIED IDEOGRAPH -0xFB8B 0x7D5C #CJK UNIFIED IDEOGRAPH -0xFB8C 0x7DB7 #CJK UNIFIED IDEOGRAPH -0xFB8D 0x7DA0 #CJK UNIFIED IDEOGRAPH -0xFB8E 0x7DD6 #CJK UNIFIED IDEOGRAPH -0xFB8F 0x7E52 #CJK UNIFIED IDEOGRAPH -0xFB90 0x7F47 #CJK UNIFIED IDEOGRAPH -0xFB91 0x7FA1 #CJK UNIFIED IDEOGRAPH -0xFB92 0xFA1E #CJK COMPATIBILITY IDEOGRAPH -0xFB93 0x8301 #CJK UNIFIED IDEOGRAPH -0xFB94 0x8362 #CJK UNIFIED IDEOGRAPH -0xFB95 0x837F #CJK UNIFIED IDEOGRAPH -0xFB96 0x83C7 #CJK UNIFIED IDEOGRAPH -0xFB97 0x83F6 #CJK UNIFIED IDEOGRAPH -0xFB98 0x8448 #CJK UNIFIED IDEOGRAPH -0xFB99 0x84B4 #CJK UNIFIED IDEOGRAPH -0xFB9A 0x8553 #CJK UNIFIED IDEOGRAPH -0xFB9B 0x8559 #CJK UNIFIED IDEOGRAPH -0xFB9C 0x856B #CJK UNIFIED IDEOGRAPH -0xFB9D 0xFA1F #CJK COMPATIBILITY IDEOGRAPH -0xFB9E 0x85B0 #CJK UNIFIED IDEOGRAPH -0xFB9F 0xFA20 #CJK COMPATIBILITY IDEOGRAPH -0xFBA0 0xFA21 #CJK COMPATIBILITY IDEOGRAPH -0xFBA1 0x8807 #CJK UNIFIED IDEOGRAPH -0xFBA2 0x88F5 #CJK UNIFIED IDEOGRAPH -0xFBA3 0x8A12 #CJK UNIFIED IDEOGRAPH -0xFBA4 0x8A37 #CJK UNIFIED IDEOGRAPH -0xFBA5 0x8A79 #CJK UNIFIED IDEOGRAPH -0xFBA6 0x8AA7 #CJK UNIFIED IDEOGRAPH -0xFBA7 0x8ABE #CJK UNIFIED IDEOGRAPH -0xFBA8 0x8ADF #CJK UNIFIED IDEOGRAPH -0xFBA9 0xFA22 #CJK COMPATIBILITY IDEOGRAPH -0xFBAA 0x8AF6 #CJK UNIFIED IDEOGRAPH -0xFBAB 0x8B53 #CJK UNIFIED IDEOGRAPH -0xFBAC 0x8B7F #CJK UNIFIED IDEOGRAPH -0xFBAD 0x8CF0 #CJK UNIFIED IDEOGRAPH -0xFBAE 0x8CF4 #CJK UNIFIED IDEOGRAPH -0xFBAF 0x8D12 #CJK UNIFIED IDEOGRAPH -0xFBB0 0x8D76 #CJK UNIFIED IDEOGRAPH -0xFBB1 0xFA23 #CJK COMPATIBILITY IDEOGRAPH -0xFBB2 0x8ECF #CJK UNIFIED IDEOGRAPH -0xFBB3 0xFA24 #CJK COMPATIBILITY IDEOGRAPH -0xFBB4 0xFA25 #CJK COMPATIBILITY IDEOGRAPH -0xFBB5 0x9067 #CJK UNIFIED IDEOGRAPH -0xFBB6 0x90DE #CJK UNIFIED IDEOGRAPH -0xFBB7 0xFA26 #CJK COMPATIBILITY IDEOGRAPH -0xFBB8 0x9115 #CJK UNIFIED IDEOGRAPH -0xFBB9 0x9127 #CJK UNIFIED IDEOGRAPH -0xFBBA 0x91DA #CJK UNIFIED IDEOGRAPH -0xFBBB 0x91D7 #CJK UNIFIED IDEOGRAPH -0xFBBC 0x91DE #CJK UNIFIED IDEOGRAPH -0xFBBD 0x91ED #CJK UNIFIED IDEOGRAPH -0xFBBE 0x91EE #CJK UNIFIED IDEOGRAPH -0xFBBF 0x91E4 #CJK UNIFIED IDEOGRAPH -0xFBC0 0x91E5 #CJK UNIFIED IDEOGRAPH -0xFBC1 0x9206 #CJK UNIFIED IDEOGRAPH -0xFBC2 0x9210 #CJK UNIFIED IDEOGRAPH -0xFBC3 0x920A #CJK UNIFIED IDEOGRAPH -0xFBC4 0x923A #CJK UNIFIED IDEOGRAPH -0xFBC5 0x9240 #CJK UNIFIED IDEOGRAPH -0xFBC6 0x923C #CJK UNIFIED IDEOGRAPH -0xFBC7 0x924E #CJK UNIFIED IDEOGRAPH -0xFBC8 0x9259 #CJK UNIFIED IDEOGRAPH -0xFBC9 0x9251 #CJK UNIFIED IDEOGRAPH -0xFBCA 0x9239 #CJK UNIFIED IDEOGRAPH -0xFBCB 0x9267 #CJK UNIFIED IDEOGRAPH -0xFBCC 0x92A7 #CJK UNIFIED IDEOGRAPH -0xFBCD 0x9277 #CJK UNIFIED IDEOGRAPH -0xFBCE 0x9278 #CJK UNIFIED IDEOGRAPH -0xFBCF 0x92E7 #CJK UNIFIED IDEOGRAPH -0xFBD0 0x92D7 #CJK UNIFIED IDEOGRAPH -0xFBD1 0x92D9 #CJK UNIFIED IDEOGRAPH -0xFBD2 0x92D0 #CJK UNIFIED IDEOGRAPH -0xFBD3 0xFA27 #CJK COMPATIBILITY IDEOGRAPH -0xFBD4 0x92D5 #CJK UNIFIED IDEOGRAPH -0xFBD5 0x92E0 #CJK UNIFIED IDEOGRAPH -0xFBD6 0x92D3 #CJK UNIFIED IDEOGRAPH -0xFBD7 0x9325 #CJK UNIFIED IDEOGRAPH -0xFBD8 0x9321 #CJK UNIFIED IDEOGRAPH -0xFBD9 0x92FB #CJK UNIFIED IDEOGRAPH -0xFBDA 0xFA28 #CJK COMPATIBILITY IDEOGRAPH -0xFBDB 0x931E #CJK UNIFIED IDEOGRAPH -0xFBDC 0x92FF #CJK UNIFIED IDEOGRAPH -0xFBDD 0x931D #CJK UNIFIED IDEOGRAPH -0xFBDE 0x9302 #CJK UNIFIED IDEOGRAPH -0xFBDF 0x9370 #CJK UNIFIED IDEOGRAPH -0xFBE0 0x9357 #CJK UNIFIED IDEOGRAPH -0xFBE1 0x93A4 #CJK UNIFIED IDEOGRAPH -0xFBE2 0x93C6 #CJK UNIFIED IDEOGRAPH -0xFBE3 0x93DE #CJK UNIFIED IDEOGRAPH -0xFBE4 0x93F8 #CJK UNIFIED IDEOGRAPH -0xFBE5 0x9431 #CJK UNIFIED IDEOGRAPH -0xFBE6 0x9445 #CJK UNIFIED IDEOGRAPH -0xFBE7 0x9448 #CJK UNIFIED IDEOGRAPH -0xFBE8 0x9592 #CJK UNIFIED IDEOGRAPH -0xFBE9 0xF9DC #CJK COMPATIBILITY IDEOGRAPH -0xFBEA 0xFA29 #CJK COMPATIBILITY IDEOGRAPH -0xFBEB 0x969D #CJK UNIFIED IDEOGRAPH -0xFBEC 0x96AF #CJK UNIFIED IDEOGRAPH -0xFBED 0x9733 #CJK UNIFIED IDEOGRAPH -0xFBEE 0x973B #CJK UNIFIED IDEOGRAPH -0xFBEF 0x9743 #CJK UNIFIED IDEOGRAPH -0xFBF0 0x974D #CJK UNIFIED IDEOGRAPH -0xFBF1 0x974F #CJK UNIFIED IDEOGRAPH -0xFBF2 0x9751 #CJK UNIFIED IDEOGRAPH -0xFBF3 0x9755 #CJK UNIFIED IDEOGRAPH -0xFBF4 0x9857 #CJK UNIFIED IDEOGRAPH -0xFBF5 0x9865 #CJK UNIFIED IDEOGRAPH -0xFBF6 0xFA2A #CJK COMPATIBILITY IDEOGRAPH -0xFBF7 0xFA2B #CJK COMPATIBILITY IDEOGRAPH -0xFBF8 0x9927 #CJK UNIFIED IDEOGRAPH -0xFBF9 0xFA2C #CJK COMPATIBILITY IDEOGRAPH -0xFBFA 0x999E #CJK UNIFIED IDEOGRAPH -0xFBFB 0x9A4E #CJK UNIFIED IDEOGRAPH -0xFBFC 0x9AD9 #CJK UNIFIED IDEOGRAPH -0xFC40 0x9ADC #CJK UNIFIED IDEOGRAPH -0xFC41 0x9B75 #CJK UNIFIED IDEOGRAPH -0xFC42 0x9B72 #CJK UNIFIED IDEOGRAPH -0xFC43 0x9B8F #CJK UNIFIED IDEOGRAPH -0xFC44 0x9BB1 #CJK UNIFIED IDEOGRAPH -0xFC45 0x9BBB #CJK UNIFIED IDEOGRAPH -0xFC46 0x9C00 #CJK UNIFIED IDEOGRAPH -0xFC47 0x9D70 #CJK UNIFIED IDEOGRAPH -0xFC48 0x9D6B #CJK UNIFIED IDEOGRAPH -0xFC49 0xFA2D #CJK COMPATIBILITY IDEOGRAPH -0xFC4A 0x9E19 #CJK UNIFIED IDEOGRAPH -0xFC4B 0x9ED1 #CJK UNIFIED IDEOGRAPH diff --git a/tests/tester.nim b/tests/tester.nim index 9e5028567..6b43b30c7 100755 --- a/tests/tester.nim +++ b/tests/tester.nim @@ -224,40 +224,47 @@ proc compile(r: var TResults, pattern, options: string) = var given = callCompiler(expected.cmd, test, options) r.addResult(t, given.msg, if given.err: reFailure else: reSuccess) if not given.err: inc(r.passed) - -proc compileExample(r: var TResults, pattern, options: string) = - for test in os.walkFiles(pattern): - var t = extractFilename(test) - inc(r.total) - echo t - var given = callCompiler(cmdTemplate, test, options) - r.addResult(t, given.msg, if given.err: reFailure else: reSuccess) - if not given.err: inc(r.passed) - -proc run(r: var TResults, dir, options: string) = - for test in os.walkFiles(dir / "t*.nim"): - var t = extractFilename(test) - echo t - inc(r.total) - var expected = parseSpec(test) - if expected.disabled: - r.addResult(t, "", "", reIgnored) - inc(r.skipped) + +proc compileSingleTest(r: var TResults, test, options: string) = + var t = extractFilename(test) + inc(r.total) + echo t + var given = callCompiler(cmdTemplate, test, options) + r.addResult(t, given.msg, if given.err: reFailure else: reSuccess) + if not given.err: inc(r.passed) + +proc runSingleTest(r: var TResults, test, options: string) = + var t = extractFilename(test) + echo t + inc(r.total) + var expected = parseSpec(test) + if expected.disabled: + r.addResult(t, "", "", reIgnored) + inc(r.skipped) + else: + var given = callCompiler(expected.cmd, test, options) + if given.err: + r.addResult(t, "", given.msg, reFailure) else: - var given = callCompiler(expected.cmd, test, options) - if given.err: - r.addResult(t, "", given.msg, reFailure) + var exeFile = changeFileExt(test, ExeExt) + if existsFile(exeFile): + var buf = myExec(exeFile) + var success = strip(buf) == strip(expected.outp) + if expected.substr: success = expected.outp in buf + if success: inc(r.passed) + r.addResult(t, expected.outp, + buf, if success: reSuccess else: reFailure) else: - var exeFile = changeFileExt(test, ExeExt) - if existsFile(exeFile): - var buf = myExec(exeFile) - var success = strip(buf) == strip(expected.outp) - if expected.substr: success = expected.outp in buf - if success: inc(r.passed) - r.addResult(t, expected.outp, - buf, if success: reSuccess else: reFailure) - else: - r.addResult(t, expected.outp, "executable not found", reFailure) + r.addResult(t, expected.outp, "executable not found", reFailure) + +proc run(r: var TResults, dir, options: string) = + for test in os.walkFiles(dir / "t*.nim"): runSingleTest(r, test, options) + +proc compileExample(r: var TResults, pattern, options: string) = + for test in os.walkFiles(pattern): compileSingleTest(r, test, options) + +proc testLib(r: var TResults, options: string) = + nil var options = "" var rejectRes = initResults() -- cgit 1.4.1-2-gfad0