<div dir="ltr"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Hi Tim,</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">I've had this problem before when trying to support multiple scripts and customize them in different ways. In your example since the QLineEdit isn't getting an appropriate font you can do it by explicitly setting a font or setting up appropriate styles for fallback, etc as explained at <a href="https://doc.qt.io/qt-5/qfont.html" target="_blank" style="color:rgb(17,85,204)">https://doc.qt.io/qt-5/<wbr>qfont.html</a></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br><div>For a quick test on macOS I added</div><div><br></div><div>le.setFont('Kefa') </div><div><br></div><div>and that forced the QLineEdit to use the installed Kefa font. I also tried with 'Noto Sans Ethiopic' and that worked, too. </div><div>It does seem like a bug that the font matching algorithm fails to find a suitable font when you know one exists, but I always just set it myself or gave users the option to use whatever font they wanted.</div><div><br></div><div>Hope that helps.</div><div><br></div><div>Zachary</div></div><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 13, 2018 at 9:31 AM, Timothy W. Grove <span dir="ltr"><<a href="mailto:tim_grove@sil.org" target="_blank">tim_grove@sil.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  

    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <p>Has anyone ever had trouble displaying Amharic text in a
      QLineEdit, or had similar issues with other scripts to what I'm
      describing below?</p>
    <p>When typing Amharic text into a QLineEdit on MacOS I'm not seeing
      the expected text but blocks of horizontal lines in place of each
      character. If I copy those blocks and paste them into some other
      (non-pyqt) application the Amharic text appears. Conversely, if I
      type well-formed Amharic text in another application and
      copy-and-paste that back into my pyqt application, only those
      blocks of lines appear. <br>
    </p>
    <p>Something similar happens under Windows. (I can't repeat this
      myself, but it's reported by another user) When Amharic is typed
      blank spaces appear, like typing white text onto a white
      background. Again, the same results as above for copying and
      pasting.</p>
    <p>My input method for MacOS is Keyman with SIL-Ethiopic
      (<a class="m_4022434960405102886moz-txt-link-freetext" href="https://keyman.com/macos/" target="_blank">https://keyman.com/macos/</a>). <br>
    </p>
    <p>I made a simple example below which only uses a dialog containing
      one QLineInput, where the problem can be seen.<br>
    </p>
    <blockquote>
      <p><font size="-2"><i>from PyQt5.QtWidgets import QDialog,
            QApplication, QLineEdit</i><i><br>
          </i><i><br>
          </i><i>class TestDlg(QDialog):</i><i><br>
          </i><i>    def __init__(self):        </i><i><br>
          </i><i>        super(TestDlg, self).__init__()</i><i><br>
          </i><i>        le = QLineEdit(self)</i><i><br>
          </i><i>        </i><i><br>
          </i><i>app = QApplication([])        </i><i><br>
          </i><i>dlg = TestDlg()</i><i><br>
          </i><i>if dlg.exec_():</i><i><br>
          </i><i>    pass</i><i> </i><i><br>
          </i><i>app.exec_()</i></font></p>
      <p><font size="-2"><i><br>
          </i></font></p>
    </blockquote>
    <p>Not much to go on, but I'm hoping that someone somewhere has seen
      something like this before.</p>
    <p>Best regards,<br>
      Tim<br>
    </p>
  </div>

<br>______________________________<wbr>_________________<br>
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>
<a href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" rel="noreferrer" target="_blank">https://www.<wbr>riverbankcomputing.com/<wbr>mailman/listinfo/pyqt</a><br></blockquote></div><br></div>