Mercurial > hg > orthanc
diff 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 |
line wrap: on
line diff
--- a/OrthancServer/FromDcmtkBridge.cpp Mon Aug 04 17:57:45 2014 +0200 +++ b/OrthancServer/FromDcmtkBridge.cpp Mon Aug 04 18:12:21 2014 +0200 @@ -128,8 +128,7 @@ if (dataset.findAndGetOFString(DCM_SpecificCharacterSet, tmp).good()) { std::string characterSet = Toolbox::StripSpaces(std::string(tmp.c_str())); - - // TODO Add more encodings + Toolbox::ToUpperCase(characterSet); if (characterSet == "ISO_IR 6" || characterSet == "ISO_IR 192") @@ -140,6 +139,38 @@ { encoding = Encoding_Latin1; } + else if (characterSet == "ISO_IR 101") + { + encoding = Encoding_Latin2; + } + else if (characterSet == "ISO_IR 109") + { + encoding = Encoding_Latin3; + } + else if (characterSet == "ISO_IR 110") + { + encoding = Encoding_Latin4; + } + else if (characterSet == "ISO_IR 148") + { + encoding = Encoding_Latin5; + } + else if (characterSet == "ISO_IR 144") + { + encoding = Encoding_Cyrillic; + } + else if (characterSet == "ISO_IR 127") + { + encoding = Encoding_Arabic; + } + else if (characterSet == "ISO_IR 126") + { + encoding = Encoding_Greek; + } + else if (characterSet == "ISO_IR 138") + { + encoding = Encoding_Hebrew; + } else if (!characterSet.empty()) { LOG(WARNING) << "Value of Specific Character Set (0008,0005) is not supported: " << characterSet;