Diff

Differences From Artifact [9a9b1c960a]:

To Artifact [26eb9a7d78]:


1993
1994
1995
1996
1997
1998
1999








2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
	wchar_t *wcs;
	int i;

	wcs = snewn(len*ncombining+1, wchar_t);
	for (i = 0; i < len*ncombining; i++) {
	    wcs[i] = text[i];
	}









	if (inst->fonts[fontid] == NULL) {
	    /*
	     * The font for this contingency does not exist.
	     * Typically this means we've been given ATTR_WIDE
	     * character and have no wide font. So we display
	     * nothing at all; such is life.
	     */
	} else if (inst->fontinfo[fontid].is_wide) {
	    /*
	     * At least one version of gdk_draw_text_wc() has a
	     * weird bug whereby it reads `len' elements of the
	     * input string, but only draws `len/2'. Hence I'm
	     * going to make its input array twice as long as it







>
>
>
>
>
>
>
>



|
<
<
|







1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011


2012
2013
2014
2015
2016
2017
2018
2019
	wchar_t *wcs;
	int i;

	wcs = snewn(len*ncombining+1, wchar_t);
	for (i = 0; i < len*ncombining; i++) {
	    wcs[i] = text[i];
	}

	if (inst->fonts[fontid] == NULL && (fontid & 2)) {
	    /*
	     * We've been given ATTR_WIDE, but have no wide font.
	     * Fall back to the non-wide font.
	     */
	    fontid &= ~2;
	}

	if (inst->fonts[fontid] == NULL) {
	    /*
	     * The font for this contingency does not exist. So we


	     * display nothing at all; such is life.
	     */
	} else if (inst->fontinfo[fontid].is_wide) {
	    /*
	     * At least one version of gdk_draw_text_wc() has a
	     * weird bug whereby it reads `len' elements of the
	     * input string, but only draws `len/2'. Hence I'm
	     * going to make its input array twice as long as it