Topic: Korean IME Support for Win10PESE  (Read 11459 times)

0 Members and 1 Guest are viewing this topic.

Re: Korean IME Support for Win10PESE
« Reply #20 on: October 17, 2015, 04:08:55 PM »

KYHI

  • Code Baker
  • Sr. Chef
  • ****
  • Location: Kentucky
  • Date Registered: Jan 2015
  • Posts: 909
There are not many packages or features you can add to an install.wim anyway, as they are already present in install.wim although not enabled..
Features On Demand is a New Thing with Windows10

Not all packages can be added to WinPE, one would need the WinPE packages from ADK
« Last Edit: October 17, 2015, 04:23:17 PM by KYHI »

Re: Korean IME Support for Win10PESE
« Reply #21 on: October 17, 2015, 10:44:56 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
 :thumbsup:

Well, since ms distribute packages,
 "WinPE packages from ADK" and win10 "Features On Demand"
   there is still an area at that point to work on for SE projects  :wink:

As far as I remember, "WinPE packages from ADK" not always applicable to Target SE .... you know...

reply 19 above is just a theory for "how we can use them when required, with a General way"
(when required, ex: gulim.ttc ;) )

with a "General way", we can add options when required via a plugin or plugins.........

Anyway, only shared my ideas, sadly I don't have big free time to work on this ,
  maybe summer or mid vacation,
    For a long while, I can only follow topics and plugins, make small (time) improvements, feedback, follow "small to do", etc..

I am just a turtle  :wink: :turtle:

Re: Korean IME Support for Win10PESE
« Reply #22 on: October 28, 2015, 04:55:48 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
Hello, I refined Korean IME plugin again.
Now it is version 15, it fixes some missed point and add a liitle bit of option.

Major changes are...

1. Let user to use D2Coding option manually
In v14, 'Use D2Coding in Console' option worked only under automatic decision.
However, there are some Korean who do not want to use GULIM.TTC (Gulim, GulimChe) font family, since they are considered 'ugly' font.
It will be better to let user to decide whether to use D2Coding in Console or not.
Of course, v15 can decide to enable 'Use D2Coding in Console' option automatically at runtime, inherited from v12 and v14.

So, if source does not have GULIM.TTC, then plugin tries
1) Try to copy GULIM.TTC from host (Credit to KYHI and Lancelot)
2) Search for provided GULIM.TTC
3) If those two attempt fails, enable 'Use D2Coding in Console' option regardless of user's decision, to print Korean in console.

There was a bug in this option in v12 : It did not work in Win7PESE to Win8.1SE.
So a few lines of registries are added to handle this.

2. Add D2Coding in Notepad font selection
Now the plugin can set Notepad's default font to D2Coding, as well as GulimChe and Malgun Gothic.
As I wrote above, Gulim and GulimChe font familly is considered ugly to some people, and fixed-width font is more suitable in Notepad.
So in v15, user can choose D2Coding in favor of not using GulimChe.
Also, if GulimChe is selected but GULIM.TTC is not available, Malgun Gothic will be used instead in v15.

3.Reorganized font options UI
Thanks to KYHI's idea and Lancelot's work, options related to GULIM.TTC now works almost automatically.
  (User who enables Korean IME plugin is very likely to has GULIM.TTC installed in his/her computer)
And since D2Coding is attached in plugin, user does not have to care about D2Coding font file, just needs to check the option.
So those options are reorganized under 'Advanced Font Option'.

4. Attach D2Coding in 7z format instead of zip format
Since Korean font has huge size, it is better to use 7z to reduce size.
D2Coding compressed by zip : 3.8MB (5.0MB encoded)
D2Coding compressed by 7z : 3.0MB (4.0MB encoded)
I hope it will save bandwidth of cwcodes server.

5. Others
Code cleanup, deleteing unused section, changes in help messages, etc.

Here is a plugin v15 : * Korean_IME_v15.script (4141.65 kB - downloaded 68 times.)

@Lancelot
Oh, I didn't know ChrisR updated "2 - Shell & Config" plugin already. And always thanks for your coding tips  :wink:

@KYHI
I want to work on DISM command as you suggested, but I don't have much free time to add this functionality nowadays.
However I hope copying GULIM.TTC from host can work as substitute for now. Thanks for your great ideas  :smile:
« Last Edit: October 28, 2015, 05:11:57 AM by ied206, Reason: Add more information about bug fix in D2Coding option, typo »

Re: Korean IME Support for Win10PESE
« Reply #23 on: October 28, 2015, 05:45:40 AM »

KYHI

  • Code Baker
  • Sr. Chef
  • ****
  • Location: Kentucky
  • Date Registered: Jan 2015
  • Posts: 909
Can also add KO fonts from ADK - but would require the ADK download..
Adding to Win10 Host is a simple command and can be executed via plugin or a note of the cmd on plugin interface

Re: Korean IME Support for Win10PESE
« Reply #24 on: October 28, 2015, 08:20:26 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
Hi ied206

Can you correct this line:
RegWrite,HKLM,0x7,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US

value missing !?
RegWrite,HKLM,0x7,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,blabla
or ??

Tip:
Use
Utils\RegCPE
to convert reg to plugin format  :wink:

Re: Korean IME Support for Win10PESE
« Reply #25 on: October 28, 2015, 10:32:03 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
Lancelot, it seems a period (,) is missed in that code.
This syntax error resided in this plugin since v1, surprised for your sharp eye :huh:

In my host ko-KR Windows 10, the key HKLM\ControlSet001\Control\MUI\UILanguages\ko-KR\en-US is REG_MULTI_SZ but has no value.
ila_rendered

In Windows Registry Editor Format
Code: [Select]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\ko-KR]
"DefaultFallback"="en-US"
"en-US"=hex(7):00,00,00,00
"LCID"=dword:00000412
"Type"=dword:00000092

In WB Syntax (Converted by RegCPE)
Code: [Select]
[Process]
RegHiveLoad,Tmp_System,%RegSystem%
RegWrite,HKLM,0x1,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,DefaultFallback,en-US
//--
Set,%regreadscripttemp%,
If,ExistRegKey,HKLM,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,RegRead,HKLM,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,%regreadscripttemp%
If,%regreadscripttemp%,Equal,,ShellExecute,Hide,Reg.exe,"Delete #$qHKLM\Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR#$q /v #$qen-US#$q /f"
If,%version%,Smaller,80,ShellExecute,Hide,Reg.exe,"add #$qHKLM\Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR#$q /v #$qen-US#$q /t REG_MULTI_SZ /f"
Else,RegWrite,HKLM,0x7,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,
//--
RegWrite,HKLM,0x4,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,LCID,1042
RegWrite,HKLM,0x4,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,Type,146
RegHiveUnLoad,Tmp_System
But this part seems different from what I intended because there really is no value in ControlSet001\Control\MUI\UILanguages\ko-KR,en-US
(However, I cannot fully understand the upper code. Can you explain why it becomes complex?)

So this part in Korean IME plugin
Code: [Select]
RegWrite,HKLM,0x7,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US
should be fixed like this :
Code: [Select]
RegWrite,HKLM,0x7,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,
(Watch out for period in the end of sentence)

And here is fixed plugin :
« Last Edit: October 28, 2015, 10:43:45 AM by ied206 »

Re: Korean IME Support for Win10PESE
« Reply #26 on: October 28, 2015, 11:05:46 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
Hi ied206,

one by one ;)

I followed your last plugin,
made minor things:
+
fixed one of
If,%NoWarnROW%,Equal,True,System,ERROROFF
position
( before If,%IsGulimExist%,Equal,True,Begin ;) )

+
fixed
If,%NoWarnROW%,Equal,True,System,ERROROFF,10
--> 
If,%NoWarnROW%,Equal,True,System,ERROROFF,11
 
+
following KYHI advice,
Quote
a note of the cmd on plugin interface
I made minor adding to button [HelpMsg_FontOption]
....[Win10Host]....
( tested here  :thumbsup:)

v15 updated on servers  :thumbsup:

next post......

Re: Korean IME Support for Win10PESE
« Reply #27 on: October 28, 2015, 11:14:39 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
(However, I cannot fully understand the upper code. Can you explain why it becomes complex?)

I guess you mean:
Code: [Select]
//--
Set,%regreadscripttemp%,
If,ExistRegKey,HKLM,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,RegRead,HKLM,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,%regreadscripttemp%
If,%regreadscripttemp%,Equal,,ShellExecute,Hide,Reg.exe,"Delete #$qHKLM\Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR#$q /v #$qen-US#$q /f"
If,%version%,Smaller,80,ShellExecute,Hide,Reg.exe,"add #$qHKLM\Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR#$q /v #$qen-US#$q /t REG_MULTI_SZ /f"
Else,RegWrite,HKLM,0x7,Tmp_System\ControlSet001\Control\MUI\UILanguages\ko-KR,en-US,
//--

you did not need to change that ;) RegCPE did it correct...  :thumbsup: :thumbsup: :thumbsup:

above code fixes builder compatibility trouble with empty Reg_Multi registries,
 and works ok with 3 builder versions we use around,
  since this is SE specific plugin and SE use 82 for a long while,
    it is also ok using 1 line on your plugin.  :thumbsup:


Another tip:
RegCPE
have convert to ".reg" (reg to reg) option to convert reg files that are not supported by current builder,
 mostly unicode cases, also other cases....  :wink:.

If required,
 you can add Reg_Sz Korean values using "reg to reg" conversion.  :wink:

:turtle:

Re: Korean IME Support for Win10PESE
« Reply #28 on: October 28, 2015, 11:16:55 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
This syntax error resided in this plugin since v1, surprised for your sharp eye :huh:

Yes I have sharpe eyes   :wink:

Very Like you  :great:  I have a personal perfection habit.  :thumbsup:


See You Around
:turtle:

Re: Korean IME Support for Win10PESE
« Reply #29 on: March 27, 2016, 07:44:20 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
An update is released.

v16 has 3 changes:

1. Copy RegSvr32.exe
This plugin contains Autorun.cmd to use regsvr32 command.
However, it does not copy regsvr32 on its own, it relies on CMD Adds plugin.
So I added lines to copy regsvr32.exe by itself.

2. Update D2Coding font to 1.1
In 2015.11.03, D2Coding 1.1 is released.
I packaged D2Coding 1.1 in this plugin instead of 1.0.

3. Fixed bug related with extracting D2Coding
The code which extracts D2Coding from pulgin itself has a typo : it has font file in .7z but it is trying to extract .zip file!
I fixed this bug while updating D2Coding file and its name.


Here is v16 plugin file :

Re: Korean IME Support for Win10PESE
« Reply #30 on: March 27, 2016, 09:32:33 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
Hi ied206,

can you update to v17 following v16 on server...

recently we figure out a new, yet another winbuilder bug and workaround and put to server with v16......
 :thumbsup:

+
ps:
use
Require,File,Regsvr32.exe
 :wink:
ref: Require,File http://theoven.org/index.php?topic=454.0

:turtle:

Re: Korean IME Support for Win10PESE
« Reply #31 on: March 27, 2016, 06:58:33 PM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
Lancelot, I changed Require_FileQ,Regsvr32.exe to Require,File,Regsvr32.exe in v17.

v17 plugin : * Korean_IME_v17.script (4143.12 kB - downloaded 62 times.)


PS)
Quote
can you update to v17 following v16 on server...
recently we figure out a new, yet another winbuilder bug and workaround and put to server with v16......

Does WinBuilder cannot handle version string v16 or plugin v16 has an known bug?
Or you mean "Upload" button in plugin interface? I have never tried that button.
« Last Edit: March 27, 2016, 07:08:26 PM by ied206 »

Re: Korean IME Support for Win10PESE
« Reply #32 on: March 27, 2016, 09:56:13 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
Hi ied206,

can you update to v17 following v16 on server...

This was v16 on server
https://www.dropbox.com/s/dbjxa9ndzdjp4se/Korean_IME_v16_Server.7z?dl=0

This is v16 on your above post
https://www.dropbox.com/s/gh4deknxhh20r2u/Korean_IME_v16_ied206.7z?dl=0

I hope you now understand.



to fix, I just sum up v16 on server with your v16+v17 updates (+minor things I notice), on server

use green download button to get v18 from server   :thumbsup:

See if all ok now.  :cool:


**
shortly:
when you decide to work on plugin, first get latest from server via small green download button,
 so we can more easily and quickly follow your updates on server.  :great:

Re: Korean IME Support for Win10PESE
« Reply #33 on: March 27, 2016, 11:23:25 PM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
Quote
shortly:
when you decide to work on plugin, first get latest from server via small green download button,
 so we can more easily and quickly follow your updates on server.  :great:

Oh, I got it now. I didn't know this plugin is updated...
Sorry for disrupting (I misunderstood english), next time I will double-check to use latest plugin in server as a base.
Thanks, Lancelot.
« Last Edit: March 28, 2016, 06:59:09 AM by ied206 »

Re: Korean IME Support for Win10PESE
« Reply #34 on: March 29, 2016, 06:54:37 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
v19 of this plugin is released.
Of course, it is based on cwcodes server's v18 branch. :wink:
(Special thanks to Lancelot for merging branches  :thumbsup:)

1. Fix 'Use D2Coding in Console' codes to work on SE project prior to Win10PESE
While testing v18 with SE projects, I found 'Use D2Coding in Console' option is not working properly in Win7PESE, Win8PESE, Win8.1SE.

Original code was like this :
Code: [Select]
RegWrite,HKLM,0x4,Tmp_Default\Console\#$pSystemRoot#$p_system32_cmd.exe,CodePage,949
RegWrite,HKLM,0x1,Tmp_Default\Console\#$pSystemRoot#$p_system32_cmd.exe,FaceName,D2Coding
RegWrite,HKLM,0x4,Tmp_Default\Console\#$pSystemRoot#$p_system32_cmd.exe,FontSize,1048576
RegWrite,HKLM,0x4,Tmp_Default\Console\#$pSystemRoot#$p_system32_cmd.exe,FontFamily,54
RegWrite,HKLM,0x4,Tmp_Default\Console\#$pSystemRoot#$p_system32_cmd.exe,FontWeight,400


HKCU\Console\%SystemRoot%_system32_cmd.exe entry stands for console window's Property setting.
HKCU\Console itself stands for Default setting.
ila_rendered

I found out lately both entries must be marked to use custom font in Windows prior to 10.

So these lines are added :
Code: [Select]
RegWrite,HKLM,0x4,Tmp_Default\Console,CodePage,949
RegWrite,HKLM,0x1,Tmp_Default\Console,FaceName,D2Coding
RegWrite,HKLM,0x4,Tmp_Default\Console,FontSize,1048576
RegWrite,HKLM,0x4,Tmp_Default\Console,FontFamily,54
RegWrite,HKLM,0x4,Tmp_Default\Console,FontWeight,400


I tested v19 with Win7PESE, Win8PESE, Win8.1SE and all of them works well with 'Use D2Coding in Console' option.
Win10PESE is not affected with this bug since it uses TrueType font as default without any registry tweaks.


« Last Edit: March 29, 2016, 06:56:35 AM by ied206 »

Re: Korean IME Support for Win10PESE
« Reply #35 on: March 29, 2016, 09:22:11 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
Thanks ied206,

quickly updated to servers  :thumbsup:



*
Just for extra info,
HKCU\Console\%SystemRoot%_system32_cmd.exe entry stands for console window's Property setting.
HKCU\Console itself stands for Default setting.

I found out lately both entries must be marked to use custom font in Windows prior to 10.
I admit something frequently forgotton.  :thumbsup: :great:

This remind me
\Downloads\ComponentsY\Tweaks CMD\CMD Settings Options Layout
plugin.

Just a tip, Maybe there are more valuable infos on \Tweaks CMD\ for your Korean IME plugin....  :thumbsup:

:turtle:
« Last Edit: March 29, 2016, 09:22:23 AM by Lancelot »

Re: Korean IME Support for Win10PESE
« Reply #36 on: May 15, 2016, 04:34:32 PM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
Korean IME Plugin v20 released.

In plugin v19, 'Copy GULIM.TTC from Host' button does not work properly in certain condition.
v20 fixes that bug.

Re: Korean IME Support for Win10PESE
« Reply #37 on: May 16, 2016, 03:05:15 AM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7186
Thanks ied206,

updated to all servers  :great:

:turtle:

Re: Korean IME Support for Win10PESE
« Reply #38 on: August 11, 2016, 07:22:00 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
Korean IME v21 (refactored version of v20, by ChirsR) is producing an error when v1607 is used as source.
It is because v1607's install.wim lacks C_949.NLS in SysWOW64, and it is not a big deal since my Host Win 10 v1607 is same, too.
This bug can be addressed with adding some If clause.
Code: [Select]
// Windows 10 K v1607 does not have C_949.NLS in SysWOW64
If,ExistFile,%BootSRC%\Windows\SysWOW64\C_949.NLS,Begin
If,Not,ExistFile,%target_win%\SysWOW64\C_949.NLS,FileCopy,%BootSRC%\Windows\SysWOW64\C_949.NLS,%TargetDir%\Windows\SysWOW64\C_949.NLS
End

However, when built successfully with v1607, CTFMON.EXE crashes in Win10PESE.  :confused:
Even with dreaded NULL Pointer Reference!
ila_rendered
(Translate : Code at 0x00007FFB1851371A referenced memory at 0x0000000000000000, memory could not be written)

Just like this report:
2. Chinese IME Script doesn't work on this build. I don't know if Korean IME Script works. (CTFMON couldn't be initialized)

I think I need some time to resolve this bug...
Any help will be appreciated.
« Last Edit: August 11, 2016, 07:26:32 AM by ied206 »

Re: Korean IME Support for Win10PESE
« Reply #39 on: August 11, 2016, 11:24:11 AM »

ied206

  • Chef
  • ***
  • Location: South Korea
  • Date Registered: Dec 2013
  • Posts: 117
Korean IME v22 released.

The reason why CTFMON.EXE crashed was found.
Windows 10 v1607 added more depedency to CTFMON.EXE.
It seems v1607 contains some new dlls, and CTFMON.EXE needs specifically 6 new dlls (5 dll for SysWOW64).

So this is the code : copy those dlls only in v1607.
Code: [Select]
//-
// Additional dependency for Windows 10 v1607
Set,%Copy10_1607%,False
Call,CompareVersions,%TVersion3X%,10.0.14393,TC_Win10_v1607
If,%TC_Win10_v1607%,Equal,Equal,Set,%Copy10_1607%,True
If,%TC_Win10_v1607%,Equal,Bigger,Set,%Copy10_1607%,True
If,%Copy10_1607%,Equal,True,Begin
Echo,"Copying additional dependency for Windows 10 v1607"
Require_FileQ,InputService.dll
Require_FileQ,EditBufferTestHook.dll
Require_FileQ,CoreUIComponents.dll
Require_FileQ,TextInputFramework.dll
Require_FileQ,MTFServer.dll
Require_FileQ,InputLocaleManager.dll
End

I had only tested this version with Win10PESE + Windows 10 K x86 v1607, I will test more and share the result.
Edit: In Win10PESE + Windows 10 K x64 v1607, v22 works well
« Last Edit: August 11, 2016, 11:49:52 AM by ied206 »

 

Powered by EzPortal