Subject: Re: bug#21260: 23.2; Devanagari windows 10

From: Jim Funderburk <[email-masked]>
Date: Mon, 17 Aug 2015 16:16:21 -0400

Hello, Eli -
   Here's the latest installment.
  1. Removed the ups10.dll from C:\emacs-23.2\bin
  2.  Here are all the usp10.dll  files in the c:\windows directory  
(from a Windows Search).
       a. All files have same Date-modified: 7/10/2015 7:00AM
       b. First two have Size 75.5KB; last two have size 76.5KB
"C:\Windows\WinSxS\amd64_microsoft-windows-usp_31bf3856ad364e35_10.0.10240.16384_none_b4faeabcf329aad2\usp10.dll"
"C:\Windows\SysWOW64\usp10.dll"
"C:\Windows\WinSxS\x86_microsoft-windows-usp_31bf3856ad364e35_10.0.10240.16384_none_58dc4f393acc399c\usp10.dll"
"C:\Windows\System32\usp10.dll"

3.  Regarding fonts on windows 10 (from  Control Panel/Fonts):
      a. Neither Mangal nor Kokila shows up
      b. The only font that I see which mentions Devanagari and other 
Indian languages is 'Nirmala UI'
           Note: In light of your comment about Emacs and Indian 
Language Fonts, this difference between Windows 10
                      and prior versions of Windows may be the basis of 
the problem.
      c. When I set the Default Font to Nirmala UI,  Then the Devanagari 
in the sample files displays properly !!

4. Regarding which usp10.dll emacs loads:
     a. Downloaded Process Explorer from Microsoft
     b.  Using find dll feature, learned emacs.exe is ising 
c:\Windows\SysWOW64\usp10.dll

It seems that 3c provides a kludge solution, at least provisionally:  
Anytime I need to view Devanagari, I can change the font
   to Nirmala UI.

Regards,
  Jim

On 8/17/2015 12:34 PM, Eli Zaretskii wrote:
> [Please keep the bug address on the CC list.]
>
>> Date: Sun, 16 Aug 2015 16:21:53 -0400
>> From: Jim Funderburk <[email-masked]>
>>
>>     1.  When I open emacs 'normally'  (c:\emacs-23.2\bin\emacs.exe), type
>> some text (in *scratch* buffer)
>>           'blah blah', and position the insertion point at the first 'a',
>> and then type "C-u C-x =",
>>           here's what shows in the *Help* buffer:
>>           character: a (97, #o141, #x61)
>> preferred charset: ascii (ASCII (ISO646 IRV))
>>          code point: 0x61
>>              syntax: w     which means: word
>>            category: .:Base, a:ASCII, l:Latin, r:Roman
>>         buffer code: #x61
>>           file code: #x61 (encoded by coding system iso-latin-1-dos)
>>             display: by this font (glyph code)
>>       uniscribe:-outline-Courier New-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1 (#x44)
> OK, so Emacs does try to use Uniscribe on that system.
>
>> 2.  Regarding usp10.dll -  I searched for it in the c:\Windows
>> directory, and found it in 4 places.
>>        One of those was in System32 folder.  I copied usp10.dll to the
>> c:\emacs-23.2\bin folder, where emacs.exe resides.
> The one in System32 is the wrong one: it's a 64-bit DLL, whereas Emacs
> is a 32-bit executable, it should use the one in C:/Windows/SysWOW64
> instead.  Please remove the DLL you put near emacs.exe, as it could
> get in the way as we continue digging into this problem.
>
> Can you show the full list of all the different usp10.dll files you
> have there, including their size and time stamp?  Also, could you
> please use some program like Process Explorer (from SysInternals) to
> find out which one of these DLLs Emacs actually loads?
>
> Next, there's the question with the fonts you have there.  On Windows
> XP and Windows 7, Emacs uses the Mangal font to display the Hindi
> script; on Windows 8.1 it uses Kokila instead.  Do you have any of
> these fonts on your system?  If so, could you please show the OpenType
> properties of these fonts, in particular the scripts they support and
> the features they support for each script?  One program that can show
> this information is FontTesterPlus, which you should be able to
> download and install (I have version 1.4).
>
> I'm sorry to ask you to do all this, but I have no access to Windows
> 10, and I see no such problems on all other versions through 8.1.
>
>> 2a. In the "C-U C-X =" output of (1) above,  the presence of 'uniscribe'
>> makes me think that usp10.dll is being used already,
> Yes, it is.
>
>>             display: no font available
>>
>> Character code properties: customize what to show
>>     name: DEVANAGARI DOUBLE DANDA
>>     general-category: Po (Punctuation, Other)
>>
>> NOTE: It seems to be analyzing the character properly ---- But  I wonder
>> why it shows 'display: no font available'.
> That's the crux of your problem: for some reason, Emacs rejects all
> the fonts you have that are capable of supporting Devanagari.  I'm
> trying to figure out why.
>