84 |
(set-buffer-modified-p buffer-modified-p) |
(set-buffer-modified-p buffer-modified-p) |
85 |
(- (point-max) (point-min)))))) |
(- (point-max) (point-min)))))) |
86 |
|
|
87 |
(defun range (from to) |
(defun devanagari-range (from to) |
88 |
"Make the list of the integers of range FROM to TO." |
"Make the list of the integers of range FROM to TO." |
89 |
(let (result) |
(let (result) |
90 |
(while (<= from to) (setq result (cons to result) to (1- to))) result)) |
(while (<= from to) (setq result (cons to result) to (1- to))) result)) |
91 |
|
|
92 |
(defun regexp-of-hashtbl-keys (hashtbl) |
(defun devanagari-regexp-of-hashtbl-keys (hashtbl) |
93 |
"Returns the regular expression of hashtable keys." |
"Return a regular expression that matches all keys in hashtable HASHTBL." |
94 |
(let ((max-specpdl-size 1000)) |
(let ((max-specpdl-size 1000)) |
95 |
(regexp-opt |
(regexp-opt |
96 |
(sort |
(sort |
113 |
(aset composition-function-table (decode-char 'ucs ucs) |
(aset composition-function-table (decode-char 'ucs ucs) |
114 |
(list (cons devanagari-composable-pattern |
(list (cons devanagari-composable-pattern |
115 |
'devanagari-composition-function))))) |
'devanagari-composition-function))))) |
116 |
(nconc '(#x0903) (range #x0905 #x0939) (range #x0958 #x0961))) |
(nconc '(#x0903) (devanagari-range #x0905 #x0939) (devanagari-range #x0958 #x0961))) |
117 |
|
|
118 |
;; Notes on conversion steps. |
;; Notes on conversion steps. |
119 |
|
|
433 |
hash)) |
hash)) |
434 |
|
|
435 |
(defvar dev-char-glyph-regexp |
(defvar dev-char-glyph-regexp |
436 |
(regexp-of-hashtbl-keys dev-char-glyph-hash)) |
(devanagari-regexp-of-hashtbl-keys dev-char-glyph-hash)) |
437 |
|
|
438 |
;; glyph-to-glyph conversion table. |
;; glyph-to-glyph conversion table. |
439 |
;; it is supposed that glyphs are ordered in |
;; it is supposed that glyphs are ordered in |
473 |
dev-glyph-glyph) |
dev-glyph-glyph) |
474 |
hash)) |
hash)) |
475 |
(defvar dev-glyph-glyph-regexp |
(defvar dev-glyph-glyph-regexp |
476 |
(regexp-of-hashtbl-keys dev-glyph-glyph-hash)) |
(devanagari-regexp-of-hashtbl-keys dev-glyph-glyph-hash)) |
477 |
|
|
478 |
|
|
479 |
;; yet another glyph-to-glyph conversions. |
;; yet another glyph-to-glyph conversions. |
488 |
dev-glyph-glyph-2) |
dev-glyph-glyph-2) |
489 |
hash)) |
hash)) |
490 |
(defvar dev-glyph-glyph-2-regexp |
(defvar dev-glyph-glyph-2-regexp |
491 |
(regexp-of-hashtbl-keys dev-glyph-glyph-2-hash)) |
(devanagari-regexp-of-hashtbl-keys dev-glyph-glyph-2-hash)) |
492 |
|
|
493 |
|
|
494 |
(defun dev-charseq (from &optional to) |
(defun dev-charseq (from &optional to) |
495 |
(if (null to) (setq to from)) |
(if (null to) (setq to from)) |
496 |
(mapcar (function (lambda (x) (indian-glyph-char x 'devanagari))) |
(mapcar (function (lambda (x) (indian-glyph-char x 'devanagari))) |
497 |
(range from to))) |
(devanagari-range from to))) |
498 |
|
|
499 |
(defvar dev-glyph-cvn |
(defvar dev-glyph-cvn |
500 |
(append |
(append |