Age | Commit message (Collapse) | Author | Files | Lines |
|
Revert "Do some symbol hiding"
This reverts commit 296a3cbaf6b69555f7d6cdc639dc57c51f2e2bba.
|
|
|
|
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-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
|
|
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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-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.
|
|
* 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-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.
|
|
* 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.
|
|
* 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.
|
|
|