<body><div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
                                        What's the image version you export your prefs from?<div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 07.10.2017 14:15:46 schrieb Bob Arning <arning315@comcast.net>:</p>
    <p><span style="font-family: Georgia">A bit more on what's happening</span></p>
    <p><span style="font-family: Georgia">If the font used (the default font in the
        example below) is a StrikeFont, then this<br>
      </span></p>
    <p><span style="font-family: Georgia">f1 _ Form extent: 100@100 depth: 32.<br>
        f1 fillColor: Color green.<br>
        Form allInstancesDo: [ :f | f hibernate].<br>
        f1 getCanvas drawString: 'Black on green' in: (0@0 extent:
        100@100) font: nil color: Color black.<br>
        f1 asMorph openInWorld.<br>
      </span></p>
    <p>draws black text on a white rectangle on a larger green
      rectangle. StrikeFonts are drawn (in depth 32, anyway) by a
      primitive using rule 34. If the primitive fails, then #copyBits is
      used character by character.<br>
    </p>
    primDisplayString: aString from: startIndex to: stopIndex map:
    glyphMap xTable: xTable kern: kernDelta<br>
        | ascii |<br>
        <primitive:'primitiveDisplayString' module:'BitBltPlugin'><br>
        startIndex to: stopIndex do:[:charIndex|<br>
            ascii := (aString at: charIndex) asciiValue.<br>
            glyphMap ifNotNil:[ascii := glyphMap at: ascii+1].<br>
            sourceX := xTable at: ascii + 1.<br>
            width := (xTable at: ascii + 2) - sourceX.<br>
            self copyBits.<br>
            destX := destX + width + kernDelta.<br>
        ].<br>
    <br>
    It seems like rule 34 is handled differently by
    primitiveDisplayString and primitiveCopyBits. If I add code as
    exists elsewhere to unhibernate forms and retry, all is working as
    expected:<br>
    <br>
    primDisplayString: aString from: startIndex to: stopIndex map:
    glyphMap xTable: xTable kern: kernDelta<br>
        | ascii |<br>
        <primitive:'primitiveDisplayString' module:'BitBltPlugin'><br>
        (sourceForm isForm and: [sourceForm unhibernate]) ifTrue: [<br>
            ^self primDisplayString: aString from: startIndex to:
    stopIndex map: glyphMap xTable: xTable kern: kernDelta<br>
        ].<br>
        (destForm isForm and: [destForm unhibernate]) ifTrue: [<br>
            ^self primDisplayString: aString from: startIndex to:
    stopIndex map: glyphMap xTable: xTable kern: kernDelta<br>
        ].<br>
        (halftoneForm isForm and: [halftoneForm unhibernate]) ifTrue: [<br>
            ^self primDisplayString: aString from: startIndex to:
    stopIndex map: glyphMap xTable: xTable kern: kernDelta<br>
        ].<br>
        startIndex to: stopIndex do:[:charIndex|<br>
            ascii := (aString at: charIndex) asciiValue.<br>
            glyphMap ifNotNil:[ascii := glyphMap at: ascii+1].<br>
            sourceX := xTable at: ascii + 1.<br>
            width := (xTable at: ascii + 2) - sourceX.<br>
            self copyBits.<br>
            destX := destX + width + kernDelta.<br>
        ].<br>
    <br>
    <div class="moz-cite-prefix">On 10/6/17 10:59 PM, Bob Arning wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:4a91c131-0650-c21b-60c5-39c95a3fdbc3@comcast.net">
      
      <p><span style="font-family: Georgia">Here is a strange one. I noticed a few
          morphs changing appearance after saving the image. It seems to
          be related to the hibernation of Forms which happens prior to
          saving the image. This snippet<br>
        </span></p>
      <p><span style="font-family: Georgia">(m := SimpleButtonMorph new)<br>
              label: 'Black on yellow';<br>
              color: Color yellow.<br>
          Form allInstancesDo: [ :f | f hibernate].    "this happens
          when saving image"<br>
          m imageForm asMorph openInWorld</span></p>
      <p>has a white background for the text with a bit of yellow
        surrounding it. Running it in a clean 5.1 image gets the
        expected result: black text on a yellow background. However, if
        I load the preferences from my current image into the clean
        image, then the problem occurs: black on white on yellow. My
        prefs are attached if you would like to take a stab at it (and
        if it isn't too large an attachment).</p>
      <p><br>
      </p>
    </blockquote>
    <br>
  
                        </blockquote>
                                        </div></body>