Update data_generator so that it runs on ruby 2.2
authorJiahao Chen <jiahao@mit.edu>
Fri, 18 Jul 2014 13:16:23 +0000 (09:16 -0400)
committerJiahao Chen <jiahao@mit.edu>
Fri, 18 Jul 2014 14:46:11 +0000 (10:46 -0400)
data_generator.rb

index 7683339d7dd69046112b849688f53103fdd6e8eb..51767b932db8792bf0eae35bc40ea2bae51104d3 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/pkg/bin/ruby
+#!/usr/bin/env ruby
 
 #  This file was used to generate the 'unicode_data.c' file by parsing the
 #  Unicode data file 'UnicodeData.txt' of the Unicode Character Database.
@@ -74,7 +74,7 @@ $ignorable_list = <<END_OF_LIST
 END_OF_LIST
 
 $ignorable = []
-$ignorable_list.each do |entry|
+$ignorable_list.each_line do |entry|
   if entry =~ /^([0-9A-F]+)\.\.([0-9A-F]+)/
     $1.hex.upto($2.hex) { |e2| $ignorable << e2 }
   elsif entry =~ /^[0-9A-F]+/
@@ -90,7 +90,7 @@ $grapheme_extend_list = <<END_OF_LIST
 END_OF_LIST
 
 $grapheme_extend = []
-$grapheme_extend_list.each do |entry|
+$grapheme_extend_list.each_line do |entry|
   if entry =~ /^([0-9A-F]+)\.\.([0-9A-F]+)/
     $1.hex.upto($2.hex) { |e2| $grapheme_extend << e2 }
   elsif entry =~ /^[0-9A-F]+/
@@ -234,8 +234,8 @@ comb2nd_indicies = {}
 comb_array = []
 
 chars.each do |char|
-  if char.decomp_type.nil? and char.decomp_mapping and
-      char.decomp_mapping.length == 2 and
+  if !char.nil? and char.decomp_type.nil? and char.decomp_mapping and
+      char.decomp_mapping.length == 2 and !char_hash[char.decomp_mapping[0]].nil? and
       char_hash[char.decomp_mapping[0]].combining_class == 0 and
       not $exclusions.include?(char.code)
     unless comb1st_indicies[char.decomp_mapping[0]]