summaryrefslogtreecommitdiff
path: root/src/iso2022.h
AgeCommit message (Collapse)AuthorFilesLines
2009-09-18Bug 595494 - Build Failure in vte 0.21.6Behdad Esfahbod1-14/+15
Revert "Do some symbol hiding" This reverts commit 296a3cbaf6b69555f7d6cdc639dc57c51f2e2bba.
2009-09-17Do some symbol hidingBehdad Esfahbod1-15/+14
2008-12-12Bug 149631 – gnome-terminal doesn't combine combining chars in utf8Behdad Esfahbod1-2/+3
2008-12-12 Behdad Esfahbod <behdad@gnome.org> Bug 149631 – gnome-terminal doesn't combine combining chars in utf8 * src/vteunistr.c: * src/vteunistr.h: An extended UTF-32 type that assigns numeric values to UTF-8 sequences on demand. Can be used to efficiently store a string, instead of one character, at each cell. * src/vte-private.h: * src/vte.c: * src/vtedraw.c: * src/vtedraw.h: * src/vtepangocairo.c: Port to vteunistr instead of gunichar for cell content. * src/vte.c: Handle zerowidth insertions by sticking it on the previous cell. * src/iso2022.h: * src/iso2022.c: Cleanup ambiguous-width handling. Handle zero-width chars. svn path=/trunk/; revision=2340
2007-02-04cf Bug 83285 – Treacle-slow scrolling in gnome-terminal on unacceleratedChris Wilson1-2/+3
2007-02-04 Chris Wilson <chris@chris-wilson.co.uk> cf Bug 83285 – Treacle-slow scrolling in gnome-terminal on unaccelerated X server Another chunk of performance improvements - the majority focussing on reducing the amount of work down per interrupt (input data from child). To handle reads without addition copies VTE_INPUT_CHUNK_SIZE chunks are allocated on demand and filled from read with no further copy - previously the read was into a local buffer and then immediately copied into a _vte_buffer. _vte_iso2022_process() is then adjusted to use a ptr+length, rather than a _vte_buffer and is called for every input chunk (taking special care over the boundary cases). * src/interpret.c: (main): * src/iso2022.c: (_vte_iso2022_fragment_input), (process_8_bit_sequence), (process_cdata), (_vte_iso2022_process): * src/iso2022.h: * src/vte-private.h: * src/vte.c: (get_chunk), (release_chunk), (prune_chunks), (_vte_incoming_chunks_release), (_vte_incoming_chunks_length), (_vte_incoming_chunks_count), (_vte_incoming_chunks_reverse), (vte_terminal_match_check_internal), (_vte_terminal_ensure_cursor), (vte_terminal_set_colors), (_vte_terminal_insert_char), (vte_terminal_catch_child_exited), (vte_terminal_eof), (vte_terminal_process_incoming), (_vte_terminal_feed_chunks), (vte_terminal_io_read), (vte_terminal_feed), (vte_terminal_send), (vte_terminal_init), (vte_terminal_finalize), (vte_terminal_reset), (remove_from_active_list), (need_processing), (update_regions), (update_repeat_timeout): * src/vte.h: * src/vteseq.c: (vte_sequence_handler_cb), (vte_sequence_handler_ce), (vte_sequence_handler_ec): svn path=/trunk/; revision=1612
2006-04-18Remove the #ident strings.Behdad Esfahbod1-1/+0
2003-04-18quiet a compiler warning. use KSX-1001 instead of KSC-5601 for Korean, addNalin Dahyabhai1-9/+16
* src/vteglyph.c(_vte_glyph_get): quiet a compiler warning. * src/iso2022.c: use KSX-1001 instead of KSC-5601 for Korean, add maps for CNS 11643 planes 3,4,5,6,7 (can't test them, but hey). Rework so that we get the data before it's passed to g_iconv(), and stuff gunichars into an array for the caller. * src/interpret.c: adapt to changes in the iso2022 interfaces. * src/vte.c: adapt to changes in the iso2022 interfaces. * src/mkunitables.sh: add snippets for KSX 1001. * src/iso2022.txt: add iso-2022-cn example text.
2003-04-14disable pangox, xft, glx drawing if run invoked with the --without-x flag.Nalin Dahyabhai1-0/+1
* configure.in: disable pangox, xft, glx drawing if run invoked with the --without-x flag. * vte.pc.in: include CFLAGS found by AC_PATH_XTRA when built with X. * src/iso2022.c(_vte_iso2022_substitute_single): clean up and ensure that ambiguous widths are respected. * src/iso2022.c, src/iso2022.h: add _vte_iso2022_unichar_width(). * src/vte.c: remove old xft2/xft1/pango/pangox/core drawing code, making draw the only supported method. Remove most dependencies on gdkx and Xlib, except for root pixmap ID watching. * src/vtedraw.c: only use pangox, xft if X_DISPLAY_MISSING is not defined. * src/vtedraw.c, src/vtedraw.h: add get_using_fontconfig() method. * src/vte.c(vte_terminal_get_using_xft): use _vte_draw_get_using_fontconfig(), which is what apps really want to know when they call this function. * src/vtegl.c: wrap in #ifndef X_DISPLAY_MISSING. * src/vtepangox.c: wrap in #ifndef X_DISPLAY_MISSING. * src/vtexft.c: wrap in #ifndef X_DISPLAY_MISSING. * src/vteglyph.c(_vte_glyph_cache_set_description): use horizontal advance instead of bitmap width when calculating display widths. Rename to _vte_glyph_cache_set_font_description.
2003-02-11add data for tracking ambiguous-width Unicode characters. addNalin Dahyabhai1-4/+5
* src/genwidths, src/uniwidths: add data for tracking ambiguous-width Unicode characters. * src/iso2022.c, src/iso2022.h: add _vte_iso2022_is_ambiguous() for checking if a character is ambiguous, and _vte_iso2022_ambiguous_width() for guessing how wide it should be based on the current locale. Rename _vte_iso2022_get/set_width to ...encoded_width to clarify the intent, ditto for the related macros. * src/table.c,src/trie.c: use renamed macros for reading encoded widths. * src/iso2022.c(_vte_iso2022_substitute_single,_vte_iso2022_substitute): handle ambiguous widths properly, and always encode a width. * src/Makefile.am: use the default LDFLAGS, I think. * src/vte.c,src/vte.h: add vte_terminal_set_background_tint_color(). * src/vte.c(vte_terminal_unrealize): unhook from background update sources, because we may not have a display after that. * src/vte.c(vte_terminal_size_allocate): only queue a background update if we're in transparent mode and either we've been moved or we have no background yet. If our size changed, force a repaint. * src/vte.c(vte_sequence_handler_window_manipulation): snip off the padding along the edges when responding to requests for the window size and location -- apps have no way to query it. * src/vte.c(vte_terminal_get_text_range): skip over fragments properly. * src/vte.c(vte_terminal_draw_row): skip over fragments properly. * src/vte.c(vte_unichar_width): rework in terms of the width checking in the iso2022 module for consistency.
2002-12-14add a short test program. use hard values instead of GDK defines in the 0Nalin Dahyabhai1-0/+1
* src/buffer.c: add a short test program. * src/iso2022.c: use hard values instead of GDK defines in the 0 map. Add _vte_iso2022_substitute_single() for performing a single mapping operation. * src/vte.c: use _vte_iso2022_substitute_single() instead of a local mapping table when mapping line-drawing charset data, simplifies maintenance of the mapping.
2002-12-10centralize buffer length sanity checks, add some utility functions forvte_0_10_6Nalin Dahyabhai1-1/+1
* src/buffer.c, src/buffer.h: centralize buffer length sanity checks, add some utility functions for stuffing things into buffers and pulling them back out. * src/debug.c, src/debug.h: add a lifecycle debug class, for tracking down initialization order weirdness. * src/pty.c: try to check that we can run the pty helper before trying to run it, to avoid SIGPIPE failures when it's not installed. * src/vte.c: never grab focus -- let the shell app deal with it. Return TRUE from mouse motion and press/release events to keep them from being passed up.
2002-12-10add "uk" to the list of languages. remove the alternate attribute bit --Nalin Dahyabhai1-2/+7
* configure.in: add "uk" to the list of languages. * src/vte.h: remove the alternate attribute bit -- it's no longer meaningful. * python/vte.override: remove the alternate attribute, add the strikethrough attribute. * src/vte.c (vte_terminal_insert_char): perform drawing character set to Unicode mapping at insertion time if the alternate attribute is set, otherwise discarding the attribute. If the character being inserted is a graphic character, force its width to 1 or 2 depending on the current codeset (#99603). * src/vte.c (xlfd_from_pango_font_description): take advantage of XftXlfdParse if we were built with Xft, as it appears to handle family aliases. * src/vte.c (vte_terminal_draw_graphic): decide what to draw using Unicode code points (instead of reverse mappings to drawing set), and implement the double-thick versions of many of the existing glyphs. Return a boolean indicating whether or not we drew something. * src/vte.c (vte_terminal_draw_row): if vte_terminal_draw_graphic() returns FALSE, try to draw the graphic character using the current font. * src/vte.c (vte_terminal_paint): if vte_terminal_draw_graphic() returns FALSE, try to draw the graphic character using the current font. * src/caps.c: add the undocumented default 0 to the OSC set text parameters sequence (#100468). * README: updates. * src/iso2022.c, src/iso2022.h: add a width mask for overriding widths for ambiguous Unicode characters, and _vte_iso2022_get_width() for reading the width, using unused bits in Unicode in a manner similar to http://www.cl.cam.ac.uk/~mgk25/ucs/iso2022-wc.html * src/table.c,src/trie.c: strip out iso2022 widths when extracting parameters of control sequences. * src/vte.c: heed iso2022 widths when inserting characters into the screen buffer, but clear then before storing them so that copy and paste will continue to work. * src/matcher.c, src/matcher.h: add matcher, a wrapper for table and trie, and move _vte_table_narrow_encoding and _vte_table_wide_encoding to this module.
2002-09-052002-09-05 nalin prefix library-internal interfaces with underscores soNalin Dahyabhai1-6/+7
2002-09-05 nalin * src/caps.c, src/caps.h, src/debug.c, src/debug.h, src/interpret.c, src/iso2022.c, src/iso2022.h, src/pty.c, src/reaper.c, src/ring.c, src/ring.h, src/table.c, src/table.h, src/termcap.c, src/termcap.h, src/trie.c, src/trie.h, src/utf8echo.c, src/vte.c, src/vteaccess.c, src/vteapp.c: prefix library-internal interfaces with underscores so that gtk-doc doesn't guess they're public. * src/vte.c: return FALSE from focus-in/focus-out/expose handlers.
2002-09-05add giant warnings about how these headers define library-internalvte_0_8_18Nalin Dahyabhai1-0/+2
* src/caps.h, src/debug.h, src/iso2022.h, src/marshal.h, src/ring.h, src/table.h, src/termcap.h, src/trie.h: add giant warnings about how these headers define library-internal interfaces. * vte.spec: 0.8.18
2002-09-052002-09-05 nalin first pass at writing documentation fixNalin Dahyabhai1-1/+0
2002-09-05 nalin * docs/reference: first pass at writing documentation * src/termcap.c: fix how'd-that-ever-work in vte_termcap_strip(), patch from Brian Cameron. Take \\e as an alias for \\E, which is already an alias for Escape. * src/vte.c(vte_terminal_get_cursor): Return an absolute cursor position instead of a relative position.
2002-08-22Take a vte_table as an additional argument, and don't mess with textvte_0_8_2Nalin Dahyabhai1-1/+2
* src/iso2022.c(vte_iso2022_substitute): Take a vte_table as an additional argument, and don't mess with text that's part of a control sequence, fixing weird behaviors when we got control sequences in the middle of shift-out text. * src/table.c(vte_table_match): Speed up for the no-arguments-requested case, which just became much more common.
2002-08-19Add. Use unitables. Remove sequences for designating character sets.Nalin Dahyabhai1-1/+2
* src/mkunitables.sh,src/unitable.*: Add. * src/iso2022.c, src/iso2022.h: Use unitables. * src/caps.c: Remove sequences for designating character sets. Switch to using a second passed-in buffer for storing results in case the caller doesn't want substitutions done in-place. * src/interpret.c: Perform substitution. * src/table.c, src/table.h: Use gssize instead of ssize_t. * src/termcap.c, src/termcap.h: Use gssize instead of ssize_t. * src/utf8echo.c: Use strtol, allowing users to specify code points in hex format.
2002-08-15Add.Nalin Dahyabhai1-0/+38