| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2010 Google Inc. All rights reserved. | 2 # Copyright (c) 2010 Google Inc. All rights reserved. |
| 3 # | 3 # |
| 4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
| 5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
| 6 # met: | 6 # met: |
| 7 # | 7 # |
| 8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
| 9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
| 10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 ENTITY = 0 | 35 ENTITY = 0 |
| 36 VALUE = 1 | 36 VALUE = 1 |
| 37 | 37 |
| 38 def convert_entity_to_cpp_name(entity): | 38 def convert_entity_to_cpp_name(entity): |
| 39 postfix = "EntityName" | 39 postfix = "EntityName" |
| 40 if entity[-1] == ";": | 40 if entity[-1] == ";": |
| 41 return "%sSemicolon%s" % (entity[:-1], postfix) | 41 return "%sSemicolon%s" % (entity[:-1], postfix) |
| 42 return "%s%s" % (entity, postfix) | 42 return "%s%s" % (entity, postfix) |
| 43 | 43 |
| 44 | 44 |
| 45 def convert_entity_to_uchar_array(entity): | |
| 46 return "{'%s'}" % "', '".join(entity) | |
| 47 | |
| 48 | |
| 49 def convert_value_to_int(value): | 45 def convert_value_to_int(value): |
| 50 if not value: | 46 if not value: |
| 51 return "0"; | 47 return "0"; |
| 52 assert(value[0] == "U") | 48 assert(value[0] == "U") |
| 53 assert(value[1] == "+") | 49 assert(value[1] == "+") |
| 54 return "0x" + value[2:] | 50 return "0x" + value[2:] |
| 55 | 51 |
| 56 | 52 |
| 57 def offset_table_entry(offset): | 53 def offset_table_entry(offset): |
| 58 return " &staticEntityTable[%s]," % offset | 54 return " &staticEntityTable[%s]," % offset |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 | 102 |
| 107 #include "config.h" | 103 #include "config.h" |
| 108 #include "core/html/parser/HTMLEntityTable.h" | 104 #include "core/html/parser/HTMLEntityTable.h" |
| 109 | 105 |
| 110 namespace WebCore { | 106 namespace WebCore { |
| 111 | 107 |
| 112 namespace { | 108 namespace { |
| 113 """) | 109 """) |
| 114 | 110 |
| 115 for entry in entries: | 111 for entry in entries: |
| 116 output_file.write("static const UChar %s[] = %s;\n" % ( | 112 output_file.write("static const LChar %s[] = \"%s\";\n" % (convert_entity_to
_cpp_name(entry[ENTITY]), entry[ENTITY])) |
| 117 convert_entity_to_cpp_name(entry[ENTITY]), | |
| 118 convert_entity_to_uchar_array(entry[ENTITY]))) | |
| 119 | 113 |
| 120 output_file.write(""" | 114 output_file.write(""" |
| 121 static const HTMLEntityTableEntry staticEntityTable[%s] = {\n""" % entity_count) | 115 static const HTMLEntityTableEntry staticEntityTable[%s] = {\n""" % entity_count) |
| 122 | 116 |
| 123 index = {} | 117 index = {} |
| 124 offset = 0 | 118 offset = 0 |
| 125 for entry in entries: | 119 for entry in entries: |
| 126 letter = entry[ENTITY][0] | 120 letter = entry[ENTITY][0] |
| 127 if letter not in index: | 121 if letter not in index: |
| 128 index[letter] = offset | 122 index[letter] = offset |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 return &staticEntityTable[0]; | 170 return &staticEntityTable[0]; |
| 177 } | 171 } |
| 178 | 172 |
| 179 const HTMLEntityTableEntry* HTMLEntityTable::lastEntry() | 173 const HTMLEntityTableEntry* HTMLEntityTable::lastEntry() |
| 180 { | 174 { |
| 181 return &staticEntityTable[%s - 1]; | 175 return &staticEntityTable[%s - 1]; |
| 182 } | 176 } |
| 183 | 177 |
| 184 } | 178 } |
| 185 """ % entity_count) | 179 """ % entity_count) |
| OLD | NEW |