From da95b9b9182cd8d28e41b4e5650a53c385e9ef6f Mon Sep 17 00:00:00 2001
From: Martin Goik <goik@hdm-stuttgart.de>
Date: Sat, 14 Oct 2017 13:43:26 +0200
Subject: [PATCH] Float exercises, inline emphasis, int literals

---
 Doc/Sd1/Ref/LangFundament/javaCoolSmiley.png  | Bin 0 -> 11254 bytes
 Doc/Sd1/languageFundamentals.xml              | 650 +++++++++++++++---
 .../CustomLayer/webhelp/positioning.css.patch |  13 +-
 ws/Xmlmind/Patch/010_docbookCss.patch         |  16 +
 4 files changed, 579 insertions(+), 100 deletions(-)
 create mode 100644 Doc/Sd1/Ref/LangFundament/javaCoolSmiley.png

diff --git a/Doc/Sd1/Ref/LangFundament/javaCoolSmiley.png b/Doc/Sd1/Ref/LangFundament/javaCoolSmiley.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ca699f3d882c4b4330318addb7738df9fb24811
GIT binary patch
literal 11254
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

literal 0
HcmV?d00001

diff --git a/Doc/Sd1/languageFundamentals.xml b/Doc/Sd1/languageFundamentals.xml
index 1e9038355..fb97ae3bd 100644
--- a/Doc/Sd1/languageFundamentals.xml
+++ b/Doc/Sd1/languageFundamentals.xml
@@ -425,19 +425,34 @@ pi = 1.0; // Compile time error: Constant cannot be modified</programlisting>
     </figure>
 
     <figure xml:id="sd1_fig_legalVariableName">
-      <title>Variable names</title>
-
-      <para>A variable</para>
+      <title>Variable names (identifier)</title>
 
       <informaltable border="1">
+        <colgroup width="73%"/>
+
+        <colgroup width="15%"/>
+
+        <colgroup width="12%"/>
+
+        <tr>
+          <th>Rules</th>
+
+          <th>Legal</th>
+
+          <th>Illegal</th>
+        </tr>
+
         <tr>
           <td><itemizedlist>
               <listitem>
-                <para>Starts with a letter</para>
+                <para>Start with a letter, <quote><code>_</code></quote> or
+                <quote><code>$</code></quote></para>
               </listitem>
 
               <listitem>
-                <para>May be followed by letters or digits</para>
+                <para><emphasis role="bold">May</emphasis> be followed by
+                letters, digits, <quote><code>_</code></quote> or
+                <quote><code>$</code></quote></para>
               </listitem>
 
               <listitem>
@@ -445,65 +460,69 @@ pi = 1.0; // Compile time error: Constant cannot be modified</programlisting>
 
                 <itemizedlist>
                   <listitem>
-                    <para>a <xref linkend="glo_Java"/> keyword</para>
-                  </listitem>
-
-                  <listitem>
-                    <para>a boolean literal</para>
+                    <para>a <xref linkend="glo_Java"/> <link
+                    linkend="sd1_fig_javaKeywords">keyword</link></para>
                   </listitem>
 
                   <listitem>
-                    <para>The <code>null</code> literal</para>
+                    <para><quote><code>boolean</code></quote> or
+                    <quote><code>null</code></quote> literal</para>
                   </listitem>
                 </itemizedlist>
               </listitem>
             </itemizedlist></td>
 
-          <td><glosslist>
-              <glossentry>
-                <glossterm>Legal</glossterm>
+          <td valign="top"><itemizedlist>
+              <listitem>
+                <para><code>$test</code></para>
+              </listitem>
 
-                <glossdef>
-                  <itemizedlist>
-                    <listitem>
-                      <para>$test</para>
-                    </listitem>
-
-                    <listitem>
-                      <para>count</para>
-                    </listitem>
-
-                    <listitem>
-                      <para>blue</para>
-                    </listitem>
-                  </itemizedlist>
-                </glossdef>
-              </glossentry>
+              <listitem>
+                <para><code>_</code></para>
+              </listitem>
 
-              <glossentry>
-                <glossterm>Illegal</glossterm>
+              <listitem>
+                <para><code>count</code></para>
+              </listitem>
 
-                <glossdef>
-                  <itemizedlist>
-                    <listitem>
-                      <para>2sad</para>
-                    </listitem>
-
-                    <listitem>
-                      <para>switch</para>
-                    </listitem>
-
-                    <listitem>
-                      <para>true</para>
-                    </listitem>
-                  </itemizedlist>
-                </glossdef>
-              </glossentry>
-            </glosslist></td>
+              <listitem>
+                <para><code>blue</code></para>
+              </listitem>
+            </itemizedlist></td>
+
+          <td valign="top"><itemizedlist>
+              <listitem>
+                <para><code><emphasis role="red">2sad</emphasis></code></para>
+              </listitem>
+
+              <listitem>
+                <para><code><emphasis
+                role="red">switch</emphasis></code></para>
+              </listitem>
+
+              <listitem>
+                <para><code><emphasis role="red">true</emphasis></code></para>
+              </listitem>
+            </itemizedlist></td>
         </tr>
       </informaltable>
     </figure>
 
+    <figure xml:id="sd1_fig_javaKeywords">
+      <title><xref linkend="glo_Java"/> keywords.</title>
+
+      <programlisting language="java">abstract     continue      for          new          switch
+assert       default       if           package      synchronized
+boolean      do            goto         private      this
+break        double        implements   protected    throw
+byte         else          import       public       throws
+case         enum          instanceof   return       transient
+catch        extends       int          short        try
+char         final         interface    static       void
+class        finally       long         strictfp     volatile
+const        float         native       super        while</programlisting>
+    </figure>
+
     <figure xml:id="sd1_fig_varCaseSensitive">
       <title>Case sensitivity</title>
 
@@ -511,7 +530,11 @@ pi = 1.0; // Compile time error: Constant cannot be modified</programlisting>
 
       <programlisting language="java">int count = 32;
 int Count = 44;
-System.out.println(count + ":" + Count); // This yields "32:44"</programlisting>
+System.out.println(count + ":" + Count);</programlisting>
+
+      <para>Resulting output:</para>
+
+      <screen>32:44</screen>
     </figure>
 
     <qandaset defaultlabel="qanda" xml:id="sw1QandaLegalVarNames">
@@ -800,7 +823,7 @@ System.out.println(count + ":" + Count); // This yields "32:44"</programlisting>
     </qandaset>
 
     <figure xml:id="sd1_fig_varDeclareBeforeUse">
-      <title>Declare before use</title>
+      <title>Define before use</title>
 
       <glosslist>
         <glossentry>
@@ -808,7 +831,7 @@ System.out.println(count + ":" + Count); // This yields "32:44"</programlisting>
 
           <glossdef>
             <programlisting language="java">double f;
-f = -4.55;</programlisting>
+f = -4.55;  </programlisting>
           </glossdef>
         </glossentry>
 
@@ -816,7 +839,7 @@ f = -4.55;</programlisting>
           <glossterm>Wrong</glossterm>
 
           <glossdef>
-            <programlisting language="java">f = -4.55;
+            <programlisting language="java">f = -4.55;  
 double f;</programlisting>
           </glossdef>
         </glossentry>
@@ -921,6 +944,10 @@ void main(void) {
 
                 <glossdef>
                   <para>~$500 million.</para>
+
+                  <para><link
+                  xlink:href="https://www.youtube.com/watch?v=gp_D8r-2hwk">related
+                  video</link></para>
                 </glossdef>
               </glossentry>
             </glosslist></td>
@@ -939,7 +966,7 @@ void main(void) {
       converted to a 16 bit signed integer.</para>
 
       <para>The number was larger than 32,767, the largest integer possible in
-      a 16 bit signed integer, <emphasis role="bold">and thus the conversion
+      a 16 bit signed integer, <emphasis role="red">and thus the conversion
       failed</emphasis>.</para>
     </figure>
 
@@ -1301,7 +1328,7 @@ int i = (int) d; // Explicit cast double to int</programlisting>
                       <screen>-1     111
 -2    +110
 --  ------
--3   1_101 (See comment below)</screen>
+-3   <emphasis role="red">1_</emphasis>101 (See comment below)</screen>
 
                       <para>In 3-bit two complement representation the
                       leftmost bit will be discarded. Thus the actual result
@@ -1595,9 +1622,9 @@ pi = -4; // Compile time error:
           <glossterm>Even better</glossterm>
 
           <glossdef>
-            <para><programlisting language="java">final double PI = 3.141592653589793; // Coding style (Best practices):
-                                     // Using capital letters for constant variable
-...</programlisting></para>
+            <para><programlisting language="java">final double PI = 3.141592653589793; // Coding style (Best practices):    
+                                     // Using capital letters for 
+...                                  // constant variable.</programlisting></para>
           </glossdef>
         </glossentry>
       </glosslist>
@@ -1613,8 +1640,9 @@ pi = -4; // Compile time error:
           <glossdef>
             <programlisting language="java">int a = -15;</programlisting>
 
-            <para>Possible types: All eight primitive <xref
-            linkend="glo_Java"/> types.</para>
+            <para>Possible types: All eight <link
+            xlink:href="https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html">primitive</link>
+            <xref linkend="glo_Java"/> types.</para>
           </glossdef>
         </glossentry>
 
@@ -1624,7 +1652,7 @@ pi = -4; // Compile time error:
           <glossdef>
             <programlisting language="java">GpsPosition start = new GpsPosition(48.7758, 9.1829);</programlisting>
 
-            <para>Possible types: Arbitrary built in or user defined
+            <para>Possible types: Arbitrary built-in or user defined
             classes.</para>
           </glossdef>
         </glossentry>
@@ -1632,7 +1660,7 @@ pi = -4; // Compile time error:
     </figure>
 
     <figure xml:id="sd1_fig_refTypeVariants">
-      <title>Reference type variants</title>
+      <title>Reference type examples</title>
 
       <programlisting language="java">GpsPosition start = new GpsPosition(48.7758, 9.1829);
 String name = "Simon";
@@ -1669,19 +1697,19 @@ LocalDate birtday = LocalDate.of(1990, Month.JULY, 5);</programlisting>
         <tr>
           <td><programlisting language="java">System.out.println("Decimal "+ <emphasis
                 role="bold">35</emphasis>); 
-System.out.println("Binary " + <emphasis role="bold">0b10_0011</emphasis>);
+System.out.println("Binary " + <emphasis role="bold">0b10_0011</emphasis>);     
 System.out.println("Hex "    + <emphasis role="bold">0x23</emphasis>);   
 System.out.println("Octal "  + <emphasis role="bold">043</emphasis>);   </programlisting></td>
 
           <td><screen>Decimal 35
-Binary  35
+Binary  35  
 Hex 35
 Octal 35</screen></td>
         </tr>
       </informaltable>
     </figure>
 
-    <qandaset defaultlabel="qanda" xml:id="sw1QandaWild">
+    <qandaset defaultlabel="qanda" xml:id="sd1_qanda_illegalOctalLiteral">
       <title>Pretty may not be pretty</title>
 
       <qandadiv>
@@ -1689,13 +1717,13 @@ Octal 35</screen></td>
           <question>
             <para>Consider the following program:</para>
 
-            <programlisting language="java">   public static void main(String[] args) {
+            <programlisting language="java">public static void main(String[] args) {
 
-      int a = 20,
-          b = 3,
-          c = 9;
+int a = 20,
+    b = 3,
+    c = 9;
       
-      System.out.println(a + " + " + b + " + " + c + " = " + (a + b + c));
+    System.out.println(a + " + " + b + " + " + c + " = " + (a + b + c));
       
    }</programlisting>
 
@@ -1716,8 +1744,8 @@ Octal 35</screen></td>
       System.out.println(a + " + " + b + " + " + c + " = " + (a + b + c));
    }</programlisting>
 
-            <para>The above code does not compile due to the compiler error
-            when defining variable <code>c</code>.</para>
+            <para>The above code does not compile due to a compiler error when
+            defining variable <code>c</code>.</para>
 
             <para>Explain the underlying cause. In particular: Why is <code>b
             = 03</code> just fine in contrast to <code>c = 09</code> ?</para>
@@ -1729,10 +1757,9 @@ Octal 35</screen></td>
           </question>
 
           <answer>
-            <para>Integer literals starting with <quote>0</quote> are being
-            interpreted as octal representation. Since the octal system's set
-            of digits is {0,1,2,3,4,5,6,7} the value <quote>09</quote> is
-            simply not valid.</para>
+            <para>Integer literals starting with <quote>0</quote> denote octal
+            representation. Since the octal system's set of digits is
+            {0,1,2,3,4,5,6,7} the value <quote>09</quote> is invalid.</para>
           </answer>
         </qandaentry>
       </qandadiv>
@@ -1756,11 +1783,104 @@ System.out.println("Value = " + a);</programlisting>
           <answer>
             <para>This problem is related to the previous exercise: The
             integer literal 041 defines octal representation. Changing from
-            octal to decimal representation takes us to 4 * 8 + 1 = 33.</para>
+            octal to decimal representation yields 4 * 8 + 1 = 33.</para>
 
             <para>There are 11 types of people: Those, who know can read
             binary codes, those who know what binary is and those who don't
-            have a clue what binary is.</para>
+            have a clue about binary at all.</para>
+          </answer>
+        </qandaentry>
+      </qandadiv>
+    </qandaset>
+
+    <qandaset defaultlabel="qanda" xml:id="sd1_qanda_abesntEmoticon">
+      <title>Representing emoticons.</title>
+
+      <qandadiv>
+        <qandaentry>
+          <question>
+            <para>We may use the <link
+            xlink:href="https://www.fileformat.info/info/unicode/char/27bd/index.htm">HEAVY
+            WEDGE-TAILED RIGHTWARDS ARROW</link> character in <xref
+            linkend="glo_Java"/>:</para>
+
+            <programlisting language="java">System.out.println("Arrow: " + "➽");</programlisting>
+
+            <para>This results in:</para>
+
+            <screen>Arrow: ➽</screen>
+
+            <para>Strangely the <link
+            xlink:href="https://www.fileformat.info/info/unicode/char/1f60e/index.htm">SMILING
+            FACE WITH SUNGLASSES' (U+1F60E)</link> emoticon appears to be
+            different. Answer the following questions:</para>
+
+            <orderedlist>
+              <listitem>
+                <para>Why can't the emoticon be used accordingly?</para>
+
+                <tip>
+                  <para>Try to assign the corresponding int values like e.g.
+                  <code>0x27BD</code> rather than using the symbol
+                  itself.</para>
+                </tip>
+              </listitem>
+
+              <listitem>
+                <para>How do we represent it in <xref
+                linkend="glo_Java"/>?</para>
+              </listitem>
+            </orderedlist>
+          </question>
+
+          <answer>
+            <orderedlist>
+              <listitem>
+                <para>Our emoticon's decimal <xref linkend="glo_unicode"/>
+                value is 128,526 or hexadecimal <code>1f60E</code> . So its
+                value is larger than 65535 and thus requires more than two
+                bytes. <xref linkend="glo_Java"/> however represents
+                characters using just two bytes. Thus the emoticon does not
+                fit into a single <xref linkend="glo_Java"/> <code>char</code>
+                value:</para>
+
+                <programlisting language="java">char c = 0x1f60e; // Error: Incompatible types
+                  // Required: char Found: int</programlisting>
+
+                <para>On contrary the arrow's decimal value of 10173 or
+                hexadecimal <code>0x27BD</code> fits perfectly well into a
+                <xref linkend="glo_Java"/> <code>char</code> variable:</para>
+
+                <programlisting language="java">char c = 0x27BD;
+System.out.println("Arrow: " + c);
+System.out.println("Arrow value: " + (int)c);</programlisting>
+
+                <para>Result:</para>
+
+                <screen>Arrow: ➽
+Arrow value: 10173</screen>
+              </listitem>
+
+              <listitem>
+                <para>We may represent two two-byte codes in sequence:</para>
+
+                <programlisting language="java">System.out.println("Cool smiley: " + "\uD83D\uDE0E");</programlisting>
+
+                <para>Resulting in:</para>
+
+                <mediaobject>
+                  <imageobject>
+                    <imagedata fileref="Ref/LangFundament/javaCoolSmiley.png"/>
+                  </imageobject>
+                </mediaobject>
+
+                <para>We may also convert the <xref linkend="glo_unicode"/>
+                value directly:</para>
+
+                <programlisting language="java">System.out.println(Character.<methodname
+                    xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html#toChars-int-">toChars(0x1f60e)</methodname>);</programlisting>
+              </listitem>
+            </orderedlist>
           </answer>
         </qandaentry>
       </qandadiv>
@@ -1770,14 +1890,279 @@ System.out.println("Value = " + a);</programlisting>
       <title>Know your limits!</title>
 
       <programlisting language="java">System.out.println(10000000000<emphasis
-          role="bold">L</emphasis>);  // o.K.
-System.out.println(10000000000 );  // Compile time error: Integer number too large</programlisting>
+          role="red">L</emphasis>);  // o.K.
+System.out.println(10000000000 );  // Compile time error: Integer number larger
+                                   // than 2147483647 (2^31 - 1, Integer.<link
+          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html#MAX_VALUE">MAX_VALUE</link>)
+                                   </programlisting>
+    </figure>
+
+    <figure xml:id="sd1_fig_literals">
+      <title>Literal examples</title>
+
+      <programlisting language="java">System.out.println("Hello"); // A String literal
+
+System.out.println(33452);   // An int literal
+
+System.out.println(34.0223); // An double (floating point) literal</programlisting>
+    </figure>
+
+    <figure xml:id="sd1_fig_integerLiteral">
+      <title><code>int</code> literals</title>
+
+      <programlisting language="java">System.out.println("Value 1: " + 29);
+System.out.println("Value 2: " + 0b11101);
+System.out.println("Value 3: " + 0x1D);
+System.out.println("Value 4: " + 035);</programlisting>
+
+      <screen>Value 1: 29
+Value 2: 29
+Value 3: 29
+Value 4: 29</screen>
+    </figure>
+
+    <figure xml:id="sd1_fig_integerLiteralExplain">
+      <title><code>int</code> literals explained</title>
+
+      <informaltable border="1">
+        <colgroup width="11%"/>
+
+        <colgroup width="13%"/>
+
+        <colgroup width="11%"/>
+
+        <colgroup width="65%"/>
+
+        <tr>
+          <th>Literal</th>
+
+          <th>Discriminator</th>
+
+          <th>Type</th>
+
+          <th>Value</th>
+        </tr>
+
+        <tr>
+          <td valign="top">29</td>
+
+          <td valign="top"><para>Default:</para><para>base <emphasis
+          role="red">10</emphasis></para></td>
+
+          <td valign="top">Decimal</td>
+
+          <td valign="top"><inlineequation>
+              <m:math display="inline">
+                <m:mrow>
+                  <m:mrow>
+                    <m:mn>2</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">10</m:mn>
+
+                      <m:mn>1</m:mn>
+                    </m:msup>
+                  </m:mrow>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mrow>
+                    <m:mn>9</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">10</m:mn>
+
+                      <m:mn>0</m:mn>
+                    </m:msup>
+                  </m:mrow>
+                </m:mrow>
+              </m:math>
+            </inlineequation></td>
+        </tr>
+
+        <tr>
+          <td valign="top"><emphasis role="red">0b</emphasis>11101</td>
+
+          <td valign="top"><emphasis role="red">0b</emphasis>, base <emphasis
+          role="red">2</emphasis></td>
+
+          <td valign="top">Binary</td>
+
+          <td valign="top"><para><inlineequation>
+              <m:math display="inline">
+                <m:mrow>
+                  <m:mrow>
+                    <m:mn>1</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">2</m:mn>
+
+                      <m:mn>4</m:mn>
+                    </m:msup>
+                  </m:mrow>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mrow>
+                    <m:mn>1</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">2</m:mn>
+
+                      <m:mn>3</m:mn>
+                    </m:msup>
+                  </m:mrow>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mrow>
+                    <m:mn>1</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">2</m:mn>
+
+                      <m:mn>2</m:mn>
+                    </m:msup>
+                  </m:mrow>
+                </m:mrow>
+              </m:math>
+            </inlineequation></para><para><inlineequation>
+              <m:math display="inline">
+                <m:mrow>
+                  <m:mo>+</m:mo>
+
+                  <m:mrow>
+                    <m:mn>0</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">2</m:mn>
+
+                      <m:mn>1</m:mn>
+                    </m:msup>
+                  </m:mrow>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mrow>
+                    <m:mn>1</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">2</m:mn>
+
+                      <m:mn>0</m:mn>
+                    </m:msup>
+                  </m:mrow>
+                </m:mrow>
+              </m:math>
+            </inlineequation></para></td>
+        </tr>
+
+        <tr>
+          <td><emphasis role="red">0x</emphasis>1D</td>
+
+          <td><emphasis role="red">0x</emphasis>, base <emphasis
+          role="red">16</emphasis></td>
+
+          <td>Hexadecimal</td>
+
+          <td><inlineequation>
+              <m:math display="inline">
+                <m:mrow>
+                  <m:mrow>
+                    <m:mn>1</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">16</m:mn>
+
+                      <m:mn>1</m:mn>
+                    </m:msup>
+                  </m:mrow>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mrow>
+                    <m:mn>13</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">10</m:mn>
+
+                      <m:mn>0</m:mn>
+                    </m:msup>
+                  </m:mrow>
+                </m:mrow>
+              </m:math>
+            </inlineequation></td>
+        </tr>
+
+        <tr>
+          <td><emphasis role="red">0</emphasis>35</td>
+
+          <td><emphasis role="red">0</emphasis>, base <emphasis
+          role="red">8</emphasis></td>
+
+          <td>Octal</td>
+
+          <td><inlineequation>
+              <m:math display="inline">
+                <m:mrow>
+                  <m:mrow>
+                    <m:mn>3</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">8</m:mn>
+
+                      <m:mn>1</m:mn>
+                    </m:msup>
+                  </m:mrow>
+
+                  <m:mo>+</m:mo>
+
+                  <m:mrow>
+                    <m:mn>5</m:mn>
+
+                    <m:mo>×</m:mo>
+
+                    <m:msup>
+                      <m:mn mathcolor="red">8</m:mn>
+
+                      <m:mn>0</m:mn>
+                    </m:msup>
+                  </m:mrow>
+                </m:mrow>
+              </m:math>
+            </inlineequation></td>
+        </tr>
+      </informaltable>
     </figure>
 
     <figure xml:id="sd1_fig_javaLiterals">
       <title><xref linkend="glo_Java"/> literals</title>
 
       <informaltable border="1">
+        <colgroup width="24%"/>
+
+        <colgroup width="76%"/>
+
         <tr>
           <td><code
           xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-A">byte</code>,
@@ -1806,16 +2191,21 @@ System.out.println(10000000000 );  // Compile time error: Integer number too lar
           <td><code
           xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1-100-D">long</code></td>
 
-          <td><code>35L</code>, <code>0b10_0011L</code>, <code>0x23L</code>,
-          <code>043L</code>, <code>-35L</code>,...</td>
+          <td><code>35<emphasis role="red">L</emphasis></code>,
+          <code>0b10_0011<emphasis role="red">L</emphasis></code>,
+          <code>0x23<emphasis role="red">L</emphasis></code>,
+          <code>043<emphasis role="red">L</emphasis></code>,
+          <code>-35<emphasis role="red">L</emphasis></code>,...</td>
         </tr>
 
         <tr>
           <td><code
           xlink:href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.3-100">float</code></td>
 
-          <td><code>55.43F</code>, <code>1.7E-23F</code>, <code>-17.F,
-          100_342.334_113</code></td>
+          <td><code>55.43<emphasis role="red">F</emphasis></code>,
+          <code>1.7E-23<emphasis role="red">F</emphasis></code>,
+          <code>-17.<emphasis role="red">F</emphasis></code>,
+          <code>100_342.334_113<emphasis role="red">F</emphasis></code></td>
         </tr>
 
         <tr>
@@ -1827,7 +2217,8 @@ System.out.println(10000000000 );  // Compile time error: Integer number too lar
         </tr>
 
         <tr>
-          <td><code>String</code></td>
+          <td><code
+          xlink:href="https://docs.oracle.com/javase/tutorial/java/data/strings.html">String</code></td>
 
           <td><code>"Hello"</code>, <code>"Greek Δ"</code>, <code>"Greek <link
           xlink:href="https://www.fileformat.info/info/unicode/char/0394/index.htm">\u0394</link>"</code></td>
@@ -2037,8 +2428,9 @@ System.out.println(intensity);</programlisting>
             <para>The literal <quote>048</quote> denotes <link
             xlink:href="https://en.wikipedia.org/wiki/Octal">octal
             representation</link>. Digits in octal representation range from 0
-            to 7. So <quote>047</quote> is fine but <quote>048</quote> simply
-            is invalid.</para>
+            to 7. So <quote>047</quote> is fine but <quote>048</quote> is
+            <link linkend="sd1_qanda_illegalOctalLiteral">again</link>
+            invalid.</para>
           </answer>
         </qandaentry>
       </qandadiv>
@@ -2649,6 +3041,8 @@ System.out.println("Character: " + arabicChar);</programlisting>
 
 System.out.println("Olympic winter games: " + year);</programlisting>
 
+      <para>Could this happen?</para>
+
       <screen>Olympic winter games: 2014</screen>
     </figure>
   </section>
@@ -2679,13 +3073,17 @@ System.out.println("Sum = "   +  sum);</programlisting>
       <para>Result:</para>
 
       <informaltable border="1">
+        <colgroup width="27%"/>
+
+        <colgroup width="73%"/>
+
         <tr>
           <td valign="top"><screen>Sum = -2</screen></td>
 
           <td><screen>  01111111_11111111_11111111_11111111
-+ 01111111_11111111_11111111_11111111
++ 01111111_11111111_11111111_11111111     
 _____________________________________
-1_11111111_11111111_11111111_11111110</screen></td>
+<emphasis role="red">1_</emphasis>11111111_11111111_11111111_11111110</screen></td>
         </tr>
       </informaltable>
     </figure>
@@ -3900,21 +4298,79 @@ System.out.println(<link
     <figure xml:id="sd1_fig_summingOverflowDetect">
       <title>Detecting arithmetic overflow (Java 8+)</title>
 
-      <informaltable border="1">
-        <tr>
-          <td valign="top"><programlisting language="java">try {
+      <programlisting language="java">try {
     int sum = Math.<link
-                xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#addExact-int-int-">addExact(2147480000, 2147480000)</link>;
+          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#addExact-int-int-">addExact(2147480000, 2147480000)</link>;
     System.out.println("sum = " + sum);
-} catch (<link xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html">ArithmeticException</link> ex) {
-    System.err.println("Problem:" + ex.getMessage());
-}</programlisting></td>
+} catch (<link
+          xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/ArithmeticException.html">ArithmeticException</link> ex) {
+    System.err.println("Problem:" + ex.getMessage());   
+}</programlisting>
+
+      <screen>Problem:integer overflow</screen>
+    </figure>
+
+    <figure xml:id="sd1_fig_divideByZero">
+      <title>Dividing by zero</title>
+
+      <informaltable border="1">
+        <tr>
+          <td valign="top"><programlisting language="java">double f = 34.3 / 0;
+System.out.println("Value: " + f);</programlisting></td>
 
-          <td valign="top"><screen>Problem:integer overflow</screen></td>
+          <td valign="top"><screen>Value: Infinity</screen></td>
         </tr>
       </informaltable>
     </figure>
 
+    <qandaset defaultlabel="qanda" xml:id="sd1_qanda_infinityCalculations">
+      <title>Expressions involving infinity</title>
+
+      <qandadiv>
+        <qandaentry>
+          <question>
+            <para><xref linkend="sd1_fig_divideByZero"/> raises some
+            interesting questions:</para>
+
+            <orderedlist>
+              <listitem>
+                <para>What happens if we add e.g. 1000 to a variable
+                containing a value of Infinity?</para>
+              </listitem>
+
+              <listitem>
+                <para>What happens if we add or subtract two variables both
+                containing a value of
+                <code><quote>Infinity</quote></code>?</para>
+              </listitem>
+            </orderedlist>
+          </question>
+
+          <answer>
+            <itemizedlist>
+              <listitem>
+                <programlisting language="java">double f = 1. / 0;
+double difference = f - 1000;
+System.out.println("Difference: " + difference);</programlisting>
+
+                <screen>Difference: Infinity</screen>
+              </listitem>
+
+              <listitem>
+                <para><programlisting language="java">double f = 1. / 0;
+double g = 1. / 0;
+double difference = f - g;
+System.out.println("Difference: " + difference);</programlisting><screen>Difference: NaN</screen><parameter>Explanation:
+                This represents a special <quote
+                xlink:href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#NaN">not
+                a number</quote> encoded value.</parameter></para>
+              </listitem>
+            </itemizedlist>
+          </answer>
+        </qandaentry>
+      </qandadiv>
+    </qandaset>
+
     <figure xml:id="sd1_fig_genericBinaryOpType">
       <title>Operator type behaviour</title>
 
diff --git a/ws/Docbook/CustomLayer/webhelp/positioning.css.patch b/ws/Docbook/CustomLayer/webhelp/positioning.css.patch
index d185f946d..748750954 100644
--- a/ws/Docbook/CustomLayer/webhelp/positioning.css.patch
+++ b/ws/Docbook/CustomLayer/webhelp/positioning.css.patch
@@ -1,5 +1,5 @@
---- positioning.css.orig	2017-09-18 10:14:19.575041451 +0200
-+++ positioning.css	2017-09-18 10:13:29.027701744 +0200
+--- positioning.css.orig	2017-10-14 09:40:46.682122317 +0200
++++ positioning.css	2017-10-14 09:39:32.787147200 +0200
 @@ -1,3 +1,8 @@
 +/*  
 + *   patched by: /usr/share/hdm-docbook-xsl/CustomLayer/webhelp/positioning.css.patch 
@@ -53,7 +53,7 @@
  #content .qandaset>table, #content .qandaset>table td, #content .calloutlist table, #content .calloutlist table td, #content .navfooter table, #content .navfooter table td {
      border: 0px solid;
  }
-@@ -375,3 +394,117 @@
+@@ -375,3 +394,124 @@
  
  }
  
@@ -171,3 +171,10 @@
 +:target {
 +   background-color: #ffa;
 +}
++
++/* inline emphasis role based extensions */
++.red {
++    color: red;
++    font-weight: bold !important;
++}
++
diff --git a/ws/Xmlmind/Patch/010_docbookCss.patch b/ws/Xmlmind/Patch/010_docbookCss.patch
index b42da3328..be7ccd226 100644
--- a/ws/Xmlmind/Patch/010_docbookCss.patch
+++ b/ws/Xmlmind/Patch/010_docbookCss.patch
@@ -40,3 +40,19 @@
  keycombo {
      display: inline;
  }
+--- /usr/share/xmlmind.orig/addon/config/docbook/css/inline2.imp	2017-06-12 15:37:30.000000000 +0200
++++ /usr/share/xmlmind/addon/config/docbook/css/inline2.imp	2017-10-14 09:58:40.909253180 +0200
+@@ -39,6 +39,13 @@
+     font-style: normal; 
+     background-color: #F0F080;
+ }
++/* HdM Extension */
++emphasis[role=red] {
++   color: red;
++   font-weight: bold !important;
++   font-style: normal; 
++}
++/* End HdM Extension */
+ 
+ emphasis > emphasis {
+     font-style: normal; 
-- 
GitLab