Mercurial > hg > orthanc
comparison OrthancServer/FromDcmtkBridge.cpp @ 1087:e07b90fb00eb
more encodings
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 04 Aug 2014 18:12:21 +0200 |
parents | e56c3ed8d738 |
children | e494ceb8d763 |
comparison
equal
deleted
inserted
replaced
1086:e56c3ed8d738 | 1087:e07b90fb00eb |
---|---|
126 | 126 |
127 OFString tmp; | 127 OFString tmp; |
128 if (dataset.findAndGetOFString(DCM_SpecificCharacterSet, tmp).good()) | 128 if (dataset.findAndGetOFString(DCM_SpecificCharacterSet, tmp).good()) |
129 { | 129 { |
130 std::string characterSet = Toolbox::StripSpaces(std::string(tmp.c_str())); | 130 std::string characterSet = Toolbox::StripSpaces(std::string(tmp.c_str())); |
131 | 131 Toolbox::ToUpperCase(characterSet); |
132 // TODO Add more encodings | |
133 | 132 |
134 if (characterSet == "ISO_IR 6" || | 133 if (characterSet == "ISO_IR 6" || |
135 characterSet == "ISO_IR 192") | 134 characterSet == "ISO_IR 192") |
136 { | 135 { |
137 encoding = Encoding_Utf8; | 136 encoding = Encoding_Utf8; |
138 } | 137 } |
139 else if (characterSet == "ISO_IR 100") | 138 else if (characterSet == "ISO_IR 100") |
140 { | 139 { |
141 encoding = Encoding_Latin1; | 140 encoding = Encoding_Latin1; |
141 } | |
142 else if (characterSet == "ISO_IR 101") | |
143 { | |
144 encoding = Encoding_Latin2; | |
145 } | |
146 else if (characterSet == "ISO_IR 109") | |
147 { | |
148 encoding = Encoding_Latin3; | |
149 } | |
150 else if (characterSet == "ISO_IR 110") | |
151 { | |
152 encoding = Encoding_Latin4; | |
153 } | |
154 else if (characterSet == "ISO_IR 148") | |
155 { | |
156 encoding = Encoding_Latin5; | |
157 } | |
158 else if (characterSet == "ISO_IR 144") | |
159 { | |
160 encoding = Encoding_Cyrillic; | |
161 } | |
162 else if (characterSet == "ISO_IR 127") | |
163 { | |
164 encoding = Encoding_Arabic; | |
165 } | |
166 else if (characterSet == "ISO_IR 126") | |
167 { | |
168 encoding = Encoding_Greek; | |
169 } | |
170 else if (characterSet == "ISO_IR 138") | |
171 { | |
172 encoding = Encoding_Hebrew; | |
142 } | 173 } |
143 else if (!characterSet.empty()) | 174 else if (!characterSet.empty()) |
144 { | 175 { |
145 LOG(WARNING) << "Value of Specific Character Set (0008,0005) is not supported: " << characterSet; | 176 LOG(WARNING) << "Value of Specific Character Set (0008,0005) is not supported: " << characterSet; |
146 // Fallback to ASCII (remove all special characters) | 177 // Fallback to ASCII (remove all special characters) |