comparison OrthancFramework/Sources/Enumerations.cpp @ 5291:800261398381

Made Orthanc more resilient to common spelling errors in SpecificCharacterSet
author Alain Mazy <am@osimis.io>
date Tue, 09 May 2023 17:48:33 +0200
parents 0ea402b4d901
children f26ed26a7793 5b2a5cc64cb1
comparison
equal deleted inserted replaced
5290:0035d4318594 5291:800261398381
29 #include "Logging.h" 29 #include "Logging.h"
30 30
31 #include <boost/thread/mutex.hpp> 31 #include <boost/thread/mutex.hpp>
32 #include <string.h> 32 #include <string.h>
33 #include <cassert> 33 #include <cassert>
34 #include <boost/algorithm/string/replace.hpp>
34 35
35 namespace Orthanc 36 namespace Orthanc
36 { 37 {
37 static const char* const MIME_CSS = "text/css"; 38 static const char* const MIME_CSS = "text/css";
38 static const char* const MIME_DICOM = "application/dicom"; 39 static const char* const MIME_DICOM = "application/dicom";
1931 const char* specificCharacterSet) 1932 const char* specificCharacterSet)
1932 { 1933 {
1933 std::string s = Toolbox::StripSpaces(specificCharacterSet); 1934 std::string s = Toolbox::StripSpaces(specificCharacterSet);
1934 Toolbox::ToUpperCase(s); 1935 Toolbox::ToUpperCase(s);
1935 1936
1937 // handle common spelling mistakes
1938 boost::replace_all(s, "ISO_IR_", "ISO_IR ");
1939 boost::replace_all(s, "ISO_2022_IR_", "ISO 2022 IR ");
1940
1941
1936 // http://dicom.nema.org/medical/dicom/current/output/html/part03.html#sect_C.12.1.1.2 1942 // http://dicom.nema.org/medical/dicom/current/output/html/part03.html#sect_C.12.1.1.2
1937 // https://github.com/dcm4che/dcm4che/blob/master/dcm4che-core/src/main/java/org/dcm4che3/data/SpecificCharacterSet.java 1943 // https://github.com/dcm4che/dcm4che/blob/master/dcm4che-core/src/main/java/org/dcm4che3/data/SpecificCharacterSet.java
1938 if (s == "ISO_IR 6" || 1944 if (s == "ISO_IR 6" ||
1939 s == "ISO 2022 IR 6") 1945 s == "ISO 2022 IR 6")
1940 { 1946 {