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)