update.
[chise/ruby.git] / chise / org-character.rb
index e238bb2..da20f36 100755 (executable)
@@ -1,3 +1,5 @@
+module CHISE
+  class Character
     def mcs_hex() sprintf("%x", @char_id) end
 
     def char_feature_alist() check_all_database(); @features; end
@@ -16,8 +18,7 @@
     def check_database(a)
       db = CharDB.instance
       u8 = mcs_utf8()
-      v = db.get(a, u8) # u8\82Å\95\\82³\82ê\82é\95\8e\9a\82Ìa\83A\83g\83\8a\83r\83\85\81[\83g\82ð\92²\82×\82é\81B
-      v
+      db.get(a, u8) # u8\82Å\95\\82³\82ê\82é\95\8e\9a\82Ìa\83A\83g\83\8a\83r\83\85\81[\83g\82ð\92²\82×\82é\81B
     end
 
     def check_all_database() # \8c»\8dÝ\82Ì@char_id\82©\82ç\81A\95\8e\9a\83f\81[\83^\83x\81[\83X\82ð\8eQ\8fÆ\82·\82é
       return "("+ar.join("\t")+")"
     end
 
-    #--------------------------------------------------------------------IDS\8aÖ\8cW
-    def glyph_decompose() do_decompose(false) end
-    def decompose()       do_decompose(true)  end
-    def do_decompose(check_meaning = true)
-      k = self.to_s
-      #       idss = self["ids"]
-      #       return idss if idss
-      #       return k if self.is_basic_kanji? #\8aî\96{\8a¿\8e\9a\82Ístop kanji\82Æ\82·\82é\82¼\82Æ\81B
-      if check_meaning
-       return self["ids-represent"] if self["ids-represent"] #ids_represent\82ð\8e\9d\82Á\82Ä\82¢\82é\8fê\8d\87\82Í\82»\82Ì\92l\82Æ\82·\82é\81B
-       return self["ids-element"] if self["ids-element"] #ids_element\82ð\8e\9d\82Á\82Ä\82¢\82é\8fê\8d\87\82Í\82»\82Ì\92l\82Æ\82·\82é\81B
-       idss = self["ids-meaning"]
-       return idss if idss && 0 < idss.length && k != idss
-      end
-      idss = self["ids-aggregated"]
-      return idss if idss && 0 < idss.length && k != idss
-      idss = self["ids"]
-      return idss if idss && 0 < idss.length && k != idss
-      return k
-      #       return k if idss.nil? || idss.length == 0 || k == idss
-      #       if idss.char_length == 2
-      #        p ["What???", k, idss, k.inspect_all]
-      #         #return idssx[1] #\93ñ\8cÂ\96Ú\82¾\82¯\95Ô\82·\82Æ\82©?
-      #         return k #IDS\82É\93W\8aJ\82·\82é\95û\96@\82ª\96³\82¢\82Æ\81B
-      #       end
-      #       return k if k == idss
-      #       if idss.include?(k) #<C5-4C4D><C6-4A37>\82±\82Ì\93ñ\95\8e\9a\82ÌBUG\91Î\8dô
-      #         #return idss.sub(k, "")
-      #         return k #IDS\82É\93W\8aJ\82·\82é\95û\96@\82ª\96³\82¢\82Æ\81B
-      #       end
-      #       return idss
-    end
-
-    def decompose_all
-      pde = ""
-      de = self.decompose #\8fo\94­\93_
-      level = 0
-      while true
-       pde = de
-       de = pde.decompose #\82à\82¤\88ê\93x\95ª\89ð\82ð\82µ\82Ä\82Ý\82é\81B
-       break if pde == de #\83\8b\81[\83v\82ð\94²\82¯\82¾\82·
-       exit if 10 < level #p ["too many recursive", self] 
-       level += 1
-      end
-      return de
-    end
-
-    def decompose_all_nu(level=nil)
-      level = 0 if level.nil?
-      if 10 < level
-       p ["too many recursive", self] 
-       exit
-      end
-      de = self.decompose
-      return de.decompose_all(level+1) if de != self #\82È\82É\82©\95Ï\89»\82ª\82 \82Á\82½\82©\82ç\8dÄ\8bA
-      return de #\82à\82¤\82±\82ê\88È\8fã\95Ï\89»\82Í\96³\82³\82»\82¤\82¾\82¼\82Æ\81B
-    end
-
-    def is_ids?() 0x2ff0 <= @char_id && @char_id <= 0x2fff end
-
-    def ids_operator_argc()
-      return 0 unless is_ids?
-      return 3 if @char_id == 0x2ff2 || @char_id == 0x2ff3
-      return 2
-    end
+  end
+end