comparison src/font.c @ 91174:6bee416e4d4e

(font_gstring_produce): Delete it.
author Kenichi Handa <handa@m17n.org>
date Mon, 03 Dec 2007 14:40:32 +0000
parents 4323f9b78ae1
children bcad98389aeb
comparison
equal deleted inserted replaced
91173:d073992bc6f3 91174:6bee416e4d4e
1866 cmp->width = 1; 1866 cmp->width = 1;
1867 1867
1868 return cmp->font; 1868 return cmp->font;
1869 } 1869 }
1870 1870
1871 int
1872 font_gstring_produce (old, from, to, new, idx, code, n)
1873 Lisp_Object old;
1874 int from, to;
1875 Lisp_Object new;
1876 int idx;
1877 unsigned *code;
1878 int n;
1879 {
1880 Lisp_Object min_idx, max_idx;
1881 int i;
1882
1883 if (idx + n > ASIZE (new))
1884 return -1;
1885 if (from == to)
1886 {
1887 if (from == 0)
1888 {
1889 min_idx = make_number (0);
1890 max_idx = make_number (1);
1891 }
1892 else
1893 {
1894 min_idx = AREF (AREF (old, from - 1), 0);
1895 max_idx = AREF (AREF (old, from - 1), 1);
1896 }
1897 }
1898 else if (from + 1 == to)
1899 {
1900 min_idx = AREF (AREF (old, from), 0);
1901 max_idx = AREF (AREF (old, from), 1);
1902 }
1903 else
1904 {
1905 int min_idx_i = XINT (AREF (AREF (old, from), 0));
1906 int max_idx_i = XINT (AREF (AREF (old, from), 1));
1907
1908 for (i = from + 1; i < to; i++)
1909 {
1910 if (min_idx_i > XINT (AREF (AREF (old, i), 0)))
1911 min_idx_i = XINT (AREF (AREF (old, i), 0));
1912 if (max_idx_i < XINT (AREF (AREF (old, i), 1)))
1913 max_idx_i = XINT (AREF (AREF (old, i), 1));
1914 }
1915 min_idx = make_number (min_idx_i);
1916 max_idx = make_number (max_idx_i);
1917 }
1918
1919 for (i = 0; i < n; i++)
1920 {
1921 ASET (AREF (new, idx + i), 0, min_idx);
1922 ASET (AREF (new, idx + i), 1, max_idx);
1923 ASET (AREF (new, idx + i), 2, make_number (code[i]));
1924 }
1925
1926 return 0;
1927 }
1928 1871
1929 /* Font sorting */ 1872 /* Font sorting */
1930 1873
1931 static unsigned font_score P_ ((Lisp_Object, Lisp_Object *)); 1874 static unsigned font_score P_ ((Lisp_Object, Lisp_Object *));
1932 static int font_compare P_ ((const void *, const void *)); 1875 static int font_compare P_ ((const void *, const void *));