From 56280003c50430941fe832a7259172c08a624313 Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Sun, 9 May 2010 23:25:47 +0600 Subject: [PATCH] pango is gir-based now (very draft version) --- basis/glib/authors.txt | 3 +- basis/glib/glib.factor | 78 +++++++++++----- basis/glib/summary.txt | 1 - basis/glib/tags.txt | 1 - basis/pango/cairo/authors.txt | 3 +- basis/pango/cairo/cairo.factor | 103 +++++---------------- basis/pango/fonts/authors.txt | 2 - basis/pango/fonts/fonts.factor | 113 ----------------------- basis/pango/fonts/tags.txt | 1 - basis/pango/layouts/layouts-tests.factor | 11 --- basis/pango/layouts/layouts.factor | 66 ------------- basis/pango/pango.factor | 71 +++++++++----- basis/ui/text/pango/pango.factor | 6 +- 13 files changed, 128 insertions(+), 331 deletions(-) delete mode 100644 basis/glib/summary.txt delete mode 100644 basis/glib/tags.txt delete mode 100644 basis/pango/fonts/authors.txt delete mode 100644 basis/pango/fonts/fonts.factor delete mode 100644 basis/pango/fonts/tags.txt delete mode 100644 basis/pango/layouts/layouts-tests.factor delete mode 100644 basis/pango/layouts/layouts.factor diff --git a/basis/glib/authors.txt b/basis/glib/authors.txt index 367ba74d80..ce9bcc8313 100644 --- a/basis/glib/authors.txt +++ b/basis/glib/authors.txt @@ -1,2 +1 @@ -Matthew Willis -Slava Pestov +Anton Gorenko \ No newline at end of file diff --git a/basis/glib/glib.factor b/basis/glib/glib.factor index 7447f24151..e8aa1688df 100644 --- a/basis/glib/glib.factor +++ b/basis/glib/glib.factor @@ -1,36 +1,64 @@ -! Copyright (C) 2008 Matthew Willis. -! Copyright (C) 2009 Slava Pestov. -! See http://factorcode.org/license.txt for BSD license -USING: alien alien.c-types alien.syntax alien.destructors -combinators system alien.libraries ; -IN: glib +! Copyright (C) 2009 Anton Gorenko. +! See http://factorcode.org/license.txt for BSD license. +USING: alien.c-types alien.libraries alien.syntax combinators gir +kernel system vocabs.parser words ; << - -{ - { [ os winnt? ] [ "glib" "libglib-2.0-0.dll" cdecl add-library ] } - { [ os macosx? ] [ "glib" "/opt/local/lib/libglib-2.0.0.dylib" cdecl add-library ] } - { [ os unix? ] [ ] } +"glib" { + { [ os winnt? ] [ "libglib-2.0-0.dll" "cdecl" add-library ] } + { [ os macosx? ] [ "/opt/local/lib/libglib-2.0.0.dylib" "cdecl" add-library ] } + { [ os unix? ] [ drop ] } } cond - -{ - { [ os winnt? ] [ "gobject" "libgobject-2.0-0.dll" cdecl add-library ] } - { [ os macosx? ] [ "gobject" "/opt/local/lib/libgobject-2.0.0.dylib" cdecl add-library ] } - { [ os unix? ] [ ] } -} cond - >> -LIBRARY: glib +IN: glib.ffi + +<< double "long double" current-vocab create typedef >> + +TYPEDEF: char gchar +TYPEDEF: uchar guchar +TYPEDEF: short gshort +TYPEDEF: ushort gushort +TYPEDEF: long glong +TYPEDEF: ulong gulong +TYPEDEF: int gint +TYPEDEF: uint guint +TYPEDEF: gint gboolean + +TYPEDEF: char gint8 +TYPEDEF: uchar guint8 +TYPEDEF: short gint16 +TYPEDEF: ushort guint16 +TYPEDEF: int gint32 +TYPEDEF: uint guint32 +TYPEDEF: longlong gint64 +TYPEDEF: ulonglong guint64 + +TYPEDEF: float gfloat +TYPEDEF: double gdouble + +TYPEDEF: long ssize_t +TYPEDEF: long time_t +TYPEDEF: size_t gsize +TYPEDEF: ssize_t gssize +TYPEDEF: size_t GType TYPEDEF: void* gpointer -TYPEDEF: int gint -TYPEDEF: bool gboolean +TYPEDEF: void* gconstpointer -FUNCTION: void g_free ( gpointer mem ) ; +TYPEDEF: guint8 GDateDay +TYPEDEF: guint16 GDateYear +TYPEDEF: gint GPid +TYPEDEF: guint32 GQuark +TYPEDEF: gint32 GTime +TYPEDEF: glong gintptr +TYPEDEF: gint64 goffset +TYPEDEF: gulong guintptr +TYPEDEF: guint32 gunichar +TYPEDEF: guint16 gunichar2 -LIBRARY: gobject +! Разобраться, почему в .gir есть такие типы +TYPEDEF: void any -FUNCTION: void g_object_unref ( gpointer object ) ; +IN-GIR: glib vocab:glib/GLib-2.0.gir -DESTRUCTOR: g_object_unref diff --git a/basis/glib/summary.txt b/basis/glib/summary.txt deleted file mode 100644 index a4b5d805a4..0000000000 --- a/basis/glib/summary.txt +++ /dev/null @@ -1 +0,0 @@ -Binding for GLib diff --git a/basis/glib/tags.txt b/basis/glib/tags.txt deleted file mode 100644 index bb863cf9a0..0000000000 --- a/basis/glib/tags.txt +++ /dev/null @@ -1 +0,0 @@ -bindings diff --git a/basis/pango/cairo/authors.txt b/basis/pango/cairo/authors.txt index 367ba74d80..ce9bcc8313 100644 --- a/basis/pango/cairo/authors.txt +++ b/basis/pango/cairo/authors.txt @@ -1,2 +1 @@ -Matthew Willis -Slava Pestov +Anton Gorenko \ No newline at end of file diff --git a/basis/pango/cairo/cairo.factor b/basis/pango/cairo/cairo.factor index 85d4cef424..db86f6504c 100644 --- a/basis/pango/cairo/cairo.factor +++ b/basis/pango/cairo/cairo.factor @@ -1,99 +1,37 @@ -! Copyright (C) 2008 Matthew Willis. -! Copyright (C) 2009 Slava Pestov. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -! -! pangocairo bindings, from pango/pangocairo.h -USING: arrays sequences alien alien.c-types alien.destructors -alien.libraries alien.syntax math math.functions math.vectors -destructors combinators colors fonts accessors assocs namespaces -kernel pango pango.fonts pango.layouts glib unicode.data images +USING: alien alien.c-types alien.destructors +alien.libraries alien.syntax alien.strings arrays math math.functions +math.vectors destructors combinators colors fonts accessors assocs +namespaces kernel unicode.data images sequences cache init system math.rectangles fry memoize io.encodings.utf8 -classes.struct cairo cairo.ffi ; -IN: pango.cairo +classes.struct cairo cairo.ffi +gir pango pango.ffi gobject gobject.ffi ; -<< { - { [ os winnt? ] [ "pangocairo" "libpangocairo-1.0-0.dll" cdecl add-library ] } - { [ os macosx? ] [ "pangocairo" "/opt/local/lib/libpangocairo-1.0.0.dylib" cdecl add-library ] } - { [ os unix? ] [ ] } -} cond >> +<< +"pango.cairo" { + { [ os winnt? ] [ "libpangocairo-1.0-0.dll" cdecl add-library ] } + { [ os macosx? ] [ "/opt/local/lib/libpangocairo-1.0.0.dylib" cdecl add-library ] } + { [ os unix? ] [ drop ] } +} cond +>> -LIBRARY: pangocairo +IN-GIR: pango.cairo vocab:pango/cairo/PangoCairo-1.0.gir -C-TYPE: PangoCairoFontMap -C-TYPE: PangoCairoFont -FUNCTION: PangoFontMap* -pango_cairo_font_map_new ( ) ; -FUNCTION: PangoFontMap* -pango_cairo_font_map_new_for_font_type ( cairo_font_type_t fonttype ) ; - -FUNCTION: PangoFontMap* -pango_cairo_font_map_get_default ( ) ; - -FUNCTION: cairo_font_type_t -pango_cairo_font_map_get_font_type ( PangoCairoFontMap* fontmap ) ; - -FUNCTION: void -pango_cairo_font_map_set_resolution ( PangoCairoFontMap* fontmap, double dpi ) ; - -FUNCTION: double -pango_cairo_font_map_get_resolution ( PangoCairoFontMap* fontmap ) ; - -FUNCTION: PangoContext* -pango_cairo_font_map_create_context ( PangoCairoFontMap* fontmap ) ; - -FUNCTION: cairo_scaled_font_t* -pango_cairo_font_get_scaled_font ( PangoCairoFont* font ) ; - -! Update a Pango context for the current state of a cairo context -FUNCTION: void -pango_cairo_update_context ( cairo_t* cr, PangoContext* context ) ; - -FUNCTION: void -pango_cairo_context_set_font_options ( PangoContext* context, cairo_font_options_t* options ) ; - -FUNCTION: cairo_font_options_t* -pango_cairo_context_get_font_options ( PangoContext* context ) ; - -FUNCTION: void -pango_cairo_context_set_resolution ( PangoContext* context, double dpi ) ; - -FUNCTION: double -pango_cairo_context_get_resolution ( PangoContext* context ) ; - -! Convenience -FUNCTION: PangoLayout* -pango_cairo_create_layout ( cairo_t* cr ) ; +IN: pango.cairo.ffi FUNCTION: void pango_cairo_update_layout ( cairo_t* cr, PangoLayout* layout ) ; -! Rendering -FUNCTION: void -pango_cairo_show_glyph_string ( cairo_t* cr, PangoFont* font, PangoGlyphString* glyphs ) ; - -FUNCTION: void -pango_cairo_show_layout_line ( cairo_t* cr, PangoLayoutLine* line ) ; - FUNCTION: void pango_cairo_show_layout ( cairo_t* cr, PangoLayout* layout ) ; -FUNCTION: void -pango_cairo_show_error_underline ( cairo_t* cr, double x, double y, double width, double height ) ; +FUNCTION: PangoLayout* +pango_cairo_create_layout ( cairo_t* cr ) ; -! Rendering to a path -FUNCTION: void -pango_cairo_glyph_string_path ( cairo_t* cr, PangoFont* font, PangoGlyphString* glyphs ) ; - -FUNCTION: void -pango_cairo_layout_line_path ( cairo_t* cr, PangoLayoutLine* line ) ; - -FUNCTION: void -pango_cairo_layout_path ( cairo_t* cr, PangoLayout* layout ) ; - -FUNCTION: void -pango_cairo_error_underline_path ( cairo_t* cr, double x, double y, double width, double height ) ; +IN: pango.cairo TUPLE: layout < disposable font string selection layout metrics ink-rect logical-rect image ; @@ -107,7 +45,7 @@ SYMBOL: dpi : set-layout-text ( str layout -- ) #! Replace nulls with something else since Pango uses null-terminated #! strings - swap -1 pango_layout_set_text ; + swap utf8 string>alien -1 pango_layout_set_text ; : layout-extents ( layout -- ink-rect logical-rect ) PangoRectangle @@ -241,3 +179,4 @@ SYMBOL: cached-layouts cached-layout layout>> first-line ; [ cached-layouts set-global ] "pango.cairo" add-startup-hook + diff --git a/basis/pango/fonts/authors.txt b/basis/pango/fonts/authors.txt deleted file mode 100644 index 367ba74d80..0000000000 --- a/basis/pango/fonts/authors.txt +++ /dev/null @@ -1,2 +0,0 @@ -Matthew Willis -Slava Pestov diff --git a/basis/pango/fonts/fonts.factor b/basis/pango/fonts/fonts.factor deleted file mode 100644 index 979e40947c..0000000000 --- a/basis/pango/fonts/fonts.factor +++ /dev/null @@ -1,113 +0,0 @@ -! Copyright (C) 2008 Matthew Willis. -! Copyright (C) 2009 Slava Pestov. -! See http://factorcode.org/license.txt for BSD license -USING: pango alien.syntax alien.c-types alien.destructors -kernel glib accessors combinators destructors init fonts -memoize math ; -IN: pango.fonts - -LIBRARY: pango - -ENUM: PangoStyle -PANGO_STYLE_NORMAL -PANGO_STYLE_OBLIQUE -PANGO_STYLE_ITALIC ; - -TYPEDEF: int PangoWeight -C-TYPE: PangoFont -C-TYPE: PangoFontFamily -C-TYPE: PangoFontFace -C-TYPE: PangoFontMap -C-TYPE: PangoFontMetrics -C-TYPE: PangoFontDescription -C-TYPE: PangoGlyphString -C-TYPE: PangoLanguage - -CONSTANT: PANGO_WEIGHT_THIN 100 -CONSTANT: PANGO_WEIGHT_ULTRALIGHT 200 -CONSTANT: PANGO_WEIGHT_LIGHT 300 -CONSTANT: PANGO_WEIGHT_BOOK 380 -CONSTANT: PANGO_WEIGHT_NORMAL 400 -CONSTANT: PANGO_WEIGHT_MEDIUM 500 -CONSTANT: PANGO_WEIGHT_SEMIBOLD 600 -CONSTANT: PANGO_WEIGHT_BOLD 700 -CONSTANT: PANGO_WEIGHT_ULTRABOLD 800 -CONSTANT: PANGO_WEIGHT_HEAVY 900 -CONSTANT: PANGO_WEIGHT_ULTRAHEAVY 1000 - -FUNCTION: PangoFontDescription* -pango_font_description_new ( ) ; - -FUNCTION: void -pango_font_description_free ( PangoFontDescription* desc ) ; - -DESTRUCTOR: pango_font_description_free - -FUNCTION: PangoFontDescription* -pango_font_description_from_string ( c-string str ) ; - -FUNCTION: c-string -pango_font_description_to_string ( PangoFontDescription* desc ) ; - -FUNCTION: c-string -pango_font_description_to_filename ( PangoFontDescription* desc ) ; - -FUNCTION: void -pango_font_description_set_family ( PangoFontDescription* desc, c-string family ) ; - -FUNCTION: void -pango_font_description_set_style ( PangoFontDescription* desc, PangoStyle style ) ; - -FUNCTION: void -pango_font_description_set_weight ( PangoFontDescription* desc, PangoWeight weight ) ; - -FUNCTION: void -pango_font_description_set_size ( PangoFontDescription* desc, gint size ) ; - -FUNCTION: void -pango_font_map_list_families ( PangoFontMap* fontmap, PangoFontFamily*** families, int* n_families ) ; - -FUNCTION: c-string -pango_font_family_get_name ( PangoFontFamily* family ) ; - -FUNCTION: int -pango_font_family_is_monospace ( PangoFontFamily* family ) ; - -FUNCTION: void -pango_font_family_list_faces ( PangoFontFamily* family, PangoFontFace*** faces, int* n_faces ) ; - -FUNCTION: c-string -pango_font_face_get_face_name ( PangoFontFace* face ) ; - -FUNCTION: void -pango_font_face_list_sizes ( PangoFontFace* face, int** sizes, int* n_sizes ) ; - -FUNCTION: void pango_font_metrics_unref ( PangoFontMetrics* metrics ) ; - -DESTRUCTOR: pango_font_metrics_unref - -FUNCTION: int pango_font_metrics_get_ascent ( PangoFontMetrics* metrics ) ; - -FUNCTION: int pango_font_metrics_get_descent ( PangoFontMetrics* metrics ) ; - -FUNCTION: PangoFont* pango_font_map_load_font ( PangoFontMap* fontmap, PangoContext* context, PangoFontDescription* desc ) ; - -FUNCTION: PangoFontMetrics* pango_context_get_metrics ( PangoContext* context, PangoFontDescription* desc, PangoLanguage* language ) ; - -FUNCTION: PangoFontMetrics* pango_font_get_metrics ( PangoFont* font, PangoLanguage* language ) ; - -MEMO: (cache-font-description) ( font -- description ) - [ - [ pango_font_description_new |pango_font_description_free ] dip { - [ name>> pango_font_description_set_family ] - [ size>> float>pango pango_font_description_set_size ] - [ bold?>> PANGO_WEIGHT_BOLD PANGO_WEIGHT_NORMAL ? pango_font_description_set_weight ] - [ italic?>> PANGO_STYLE_ITALIC PANGO_STYLE_NORMAL ? pango_font_description_set_style ] - [ drop ] - } 2cleave - ] with-destructors ; - -: cache-font-description ( font -- description ) - strip-font-colors (cache-font-description) ; - -[ \ (cache-font-description) reset-memoized ] "pango.fonts" add-startup-hook diff --git a/basis/pango/fonts/tags.txt b/basis/pango/fonts/tags.txt deleted file mode 100644 index bb863cf9a0..0000000000 --- a/basis/pango/fonts/tags.txt +++ /dev/null @@ -1 +0,0 @@ -bindings diff --git a/basis/pango/layouts/layouts-tests.factor b/basis/pango/layouts/layouts-tests.factor deleted file mode 100644 index a4a83f79a8..0000000000 --- a/basis/pango/layouts/layouts-tests.factor +++ /dev/null @@ -1,11 +0,0 @@ -IN: pango.layouts.tests -USING: pango.layouts pango.cairo tools.test glib fonts accessors -sequences combinators.short-circuit math destructors ; - -[ t ] [ - [ - "Helvetica" >>name 12 >>size - "OH, HAI" - cached-layout ink-rect>> dim>> - ] with-destructors [ 0 > ] all? -] unit-test \ No newline at end of file diff --git a/basis/pango/layouts/layouts.factor b/basis/pango/layouts/layouts.factor deleted file mode 100644 index 3f3b02c7c7..0000000000 --- a/basis/pango/layouts/layouts.factor +++ /dev/null @@ -1,66 +0,0 @@ -! Copyright (C) 2008 Matthew Willis. -! Copyright (C) 2009 Slava Pestov. -! See http://factorcode.org/license.txt for BSD license. -USING: arrays sequences alien alien.c-types alien.destructors -alien.syntax math math.functions math.vectors destructors combinators -colors fonts accessors assocs namespaces kernel pango pango.fonts -glib unicode.data images cache init -math.rectangles fry memoize io.encodings.utf8 classes.struct ; -IN: pango.layouts - -LIBRARY: pango - -C-TYPE: PangoLayout -C-TYPE: PangoLayoutIter -C-TYPE: PangoLayoutLine - -FUNCTION: PangoLayout* -pango_layout_new ( PangoContext* context ) ; - -FUNCTION: PangoContext* -pango_layout_get_context ( PangoLayout* layout ) ; - -FUNCTION: void -pango_layout_set_text ( PangoLayout* layout, c-string text, int length ) ; - -FUNCTION: c-string -pango_layout_get_text ( PangoLayout* layout ) ; - -FUNCTION: void -pango_layout_get_size ( PangoLayout* layout, int* width, int* height ) ; - -FUNCTION: void -pango_layout_set_font_description ( PangoLayout* layout, PangoFontDescription* desc ) ; - -FUNCTION: PangoFontDescription* -pango_layout_get_font_description ( PangoLayout* layout ) ; - -FUNCTION: void -pango_layout_get_pixel_size ( PangoLayout* layout, int* width, int* height ) ; - -FUNCTION: void -pango_layout_get_extents ( PangoLayout* layout, PangoRectangle* ink_rect, PangoRectangle* logical_rect ) ; - -FUNCTION: void -pango_layout_get_pixel_extents ( PangoLayout* layout, PangoRectangle* ink_rect, PangoRectangle* logical_rect ) ; - -FUNCTION: PangoLayoutLine* -pango_layout_get_line_readonly ( PangoLayout* layout, int line ) ; - -FUNCTION: void -pango_layout_line_index_to_x ( PangoLayoutLine* line, int index_, uint trailing, int* x_pos ) ; - -FUNCTION: gboolean -pango_layout_line_x_to_index ( PangoLayoutLine* line, int x_pos, int* index_, int* trailing ) ; - -FUNCTION: PangoLayoutIter* -pango_layout_get_iter ( PangoLayout* layout ) ; - -FUNCTION: int -pango_layout_iter_get_baseline ( PangoLayoutIter* iter ) ; - -FUNCTION: void -pango_layout_iter_free ( PangoLayoutIter* iter ) ; - -DESTRUCTOR: pango_layout_iter_free - diff --git a/basis/pango/pango.factor b/basis/pango/pango.factor index 3a249c664c..aba7528089 100644 --- a/basis/pango/pango.factor +++ b/basis/pango/pango.factor @@ -1,31 +1,29 @@ -! Copyright (C) 2008 Matthew Willis. -! Copyright (C) 2009 Slava Pestov. -! See http://factorcode.org/license.txt for BSD license -USING: arrays system alien.destructors alien.c-types alien.syntax alien -combinators math.rectangles kernel math alien.libraries classes.struct -accessors ; -IN: pango +! Copyright (C) 2009 Anton Gorenko. +! See http://factorcode.org/license.txt for BSD license. +USING: accessors alien.syntax alien.c-types alien.destructors +alien.strings alien.libraries arrays classes.struct combinators +destructors fonts init kernel math math.rectangles memoize +io.encodings.utf8 system +gir glib glib.ffi ; -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! Helpful functions from other parts of pango -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +<< +"pango" { + { [ os winnt? ] [ "libpango-1.0-0.dll" cdecl add-library ] } + { [ os macosx? ] [ "/opt/local/lib/libpango-1.0.0.dylib" cdecl add-library ] } + { [ os unix? ] [ drop ] } +} cond +>> -<< { - { [ os winnt? ] [ "pango" "libpango-1.0-0.dll" cdecl add-library ] } - { [ os macosx? ] [ "pango" "/opt/local/lib/libpango-1.0.0.dylib" cdecl add-library ] } - { [ os unix? ] [ ] } -} cond >> +IN: pango.ffi -LIBRARY: pango +TYPEDEF: void PangoLayoutRun ! не совсем верно +TYPEDEF: guint32 PangoGlyph -CONSTANT: PANGO_SCALE 1024 +IN-GIR: pango vocab:pango/Pango-1.0.gir -: pango>float ( n -- x ) PANGO_SCALE /f ; inline -: float>pango ( x -- n ) PANGO_SCALE * >integer ; inline +IN: pango.ffi -C-TYPE: PangoContext - -FUNCTION: PangoContext* pango_context_new ( ) ; +FORGET: PangoRectangle STRUCT: PangoRectangle { x int } @@ -33,7 +31,36 @@ STRUCT: PangoRectangle { width int } { height int } ; +IN: pango + +CONSTANT: PANGO_SCALE 1024 + +: pango>float ( n -- x ) PANGO_SCALE /f ; inline +: float>pango ( x -- n ) PANGO_SCALE * >integer ; inline + : PangoRectangle>rect ( PangoRectangle -- rect ) [ [ x>> pango>float ] [ y>> pango>float ] bi 2array ] [ [ width>> pango>float ] [ height>> pango>float ] bi 2array ] bi ; + +DESTRUCTOR: pango_font_description_free + +DESTRUCTOR: pango_layout_iter_free + +! перенести в ui.*? +MEMO: (cache-font-description) ( font -- description ) + [ + [ pango_font_description_new |pango_font_description_free ] dip { + [ name>> utf8 string>alien pango_font_description_set_family ] + [ size>> float>pango pango_font_description_set_size ] + [ bold?>> PANGO_WEIGHT_BOLD PANGO_WEIGHT_NORMAL ? pango_font_description_set_weight ] + [ italic?>> PANGO_STYLE_ITALIC PANGO_STYLE_NORMAL ? pango_font_description_set_style ] + [ drop ] + } 2cleave + ] with-destructors ; + +: cache-font-description ( font -- description ) + strip-font-colors (cache-font-description) ; + +[ \ (cache-font-description) reset-memoized ] "pango" add-startup-hook + diff --git a/basis/ui/text/pango/pango.factor b/basis/ui/text/pango/pango.factor index 39a7b30348..9cea94bec4 100644 --- a/basis/ui/text/pango/pango.factor +++ b/basis/ui/text/pango/pango.factor @@ -1,8 +1,8 @@ ! Copyright (C) 2009, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors assocs cache kernel math math.vectors -namespaces pango.cairo pango.layouts ui.text ui.text.private -pango sequences ; +namespaces pango pango.cairo ui.text ui.text.private +sequences ; IN: ui.text.pango SINGLETON: pango-renderer @@ -31,4 +31,4 @@ M: pango-renderer line-metrics ( font string -- metrics ) [ cached-layout metrics>> ] if-empty ; -pango-renderer font-renderer set-global \ No newline at end of file +pango-renderer font-renderer set-global