mbeckerle commented on a change in pull request #245: Added 
X-DFDL-5-BIT-DFI-1661-DUI-001 char encoding
URL: https://github.com/apache/incubator-daffodil/pull/245#discussion_r297259993
 
 

 ##########
 File path: 
daffodil-io/src/main/scala/org/apache/daffodil/processors/charset/X_DFDL_MIL_STD.scala
 ##########
 @@ -43,7 +43,15 @@ object BitsCharset6BitDFI264DUI001 extends {
 object BitsCharset6BitDFI311DUI002 extends {
   override val name = "X-DFDL-6-BIT-DFI-311-DUI-002"
   override val bitWidthOfACodeUnit = 6
-  override val decodeString = 
"""\u00A0ABCDEFGHIJKLMNOPQRSTuVWXYZ\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD 
\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD0123456789\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"""
+  override val decodeString = 
"""\u00A0ABCDEFGHIJKLMNOPQRSTUVWXYZ\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD 
\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD0123456789\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"""
+  override val replacementCharCode = 0x0
+  override val requiredBitOrder = BitOrder.LeastSignificantBitFirst
+} with BitsCharsetNonByteSize
+
+object BitsCharset5BitDFI1661DUI001 extends {
+  override val name = "X-DFDL-5-BIT-DFI-1661-DUI-001"
+  override val bitWidthOfACodeUnit = 5
+  override val decodeString = 
"""\u00A0ABCDEFGHIJKLMNOPQRSTUVWXYZ\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"""
 
 Review comment:
   Yup, a byteOrder "RTL-per-line" feature that splits the data at line 
boundaries, then interprets each line as a documentPart with byteOrder "RTL". 
   
   That might be more natural for people to use. The "RTL" feature was added 
specifically to make it possible to directly put a table from mil-std-2045 
directly into a test case. E.g., see tests
   
   - testMIL2045_47001D_Page70_TableB_I
   - testMIL2045_47001D_Page70_TableB_I_with_string
   
   in the daffodil-tdml-unittest module.  You may find the style they use 
helpful given you are dealing with formats which are mixtures of bit fields and 
these 5, 6, and 7 bit character set strings.
   
   They make good use of the fact that only 0 and 1 are interpreted as 
contributing bits to the result, but you'll notice they have one documentPart 
per line for exactly the reasons expected - we want RTL, not bottom to top. 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to