2014 å¹´ãã£ãã㨠- Mozc ç·¨
ãã¤ãã©ããã³ã¼ããå ¬éããã¦ããç¯å²ã§ï¼
å®ã¯ 2013 å¹´ã«ãã£ã¦ãããã¨
OSS Mozc ã®ã¢ãããã¼ãã¿ã¤ãã³ã°ã®é¢ä¿ä¸ï¼2013年やったこと - Mozc 編 - NyaRuRuが地球にいたころ ã«è¼ã£ã¦ããªãã£ãå 容ã§ãï¼æ¦ã 2013 å¹´æ«ä¼æã·ã¼ãºã³ã«ä½æã¨ãã¦ãã£ã¦ãã¾ããï¼
Windows çã§ã®åè£ã¦ã£ã³ãã¦ã®ã«ã©ã¼çµµæå対å¿
Mozc ãã¼ã ãé¢ããç´åï¼ä¼æã·ã¼ãºã³ã¨ãããã¨ããã£ã¦ä¹
ãã¶ãã«èªåã®æ¸ãããã³ã¼ãã§ãæ¸ããã¨è¨ããã¨ã§ãã£ã¦ã¿ãã®ããã®ã«ã©ã¼çµµæå対å¿ã§ãï¼
ä½æ¥ã®ã»ã¨ãã©ã¯ mozc_renderer (ç¬ç«ããããã»ã¹ã¨ãã¦åãï¼åè£ã¦ã£ã³ãã¦è¡¨ç¤ºç¨ããã»ã¹) å
ã®æå表示å¦çã DirectWrite ã«å¯¾å¿ããããã¨ã§ããï¼ã«ã©ã¼çµµæåå°ç¨ã«è¿½å ããã³ã¼ãã¯æ°è¡ã§ãï¼
r192 ã«ã¦ãªãªã¼ã¹ï¼
å¤æ´ã®å¤§å㯠renderer/win32/text_renderer.cc ã«ã¾ã¨ã¾ã£ã¦ãã¾ãï¼
åè£ã¦ã£ã³ãã¦ã® DirectWrite 対å¿
æãèµ·ããã° 2009 å¹´ï¼Mozc ã®åè£ã¦ã£ã³ãã¦è¡¨ç¤ºãå¥ããã»ã¹åãããããã DirectWrite ã使ãã¨ããã¢ã¤ãã£ã¢èªä½ã¯ããã¾ããï¼ç·æ¥æ§ã¨éè¦æ§ã®é«ãã¿ã¹ã¯ã¯ä»ã«ãããã§ããã£ããã¨ãããã®ã¢ã¤ãã£ã¢ã¯é·ããæ¾ç½®ããã¦ããã®ã§ããï¼ã«ã©ã¼çµµæå表示ã®å¯ç£ç©ã¨ã㦠4 å¹´è¶ãã®å®ç¾ã¨ãªãã¾ãï¼Windows 8 以åã® OS ã§ãï¼é« DPI ç°å¢ã§ã¯ãããªãã«ã¡ãªãããããããããã¾ããï¼
r192 ã«ã¦ãªãªã¼ã¹ï¼
ITfFnReconversion::GetReconversion 対å¿
tsf-mozc ã ITfFnReconversion::GetReconversion ããµãã¼ããã¦ããªãã£ãã®ã§å®è£ ãã¦ã¿ãï¼ã¨ãããã®ã§ãï¼ITfFnReconversion::GetReconversion ã使ç¨ããä¸é¨ã¢ããªã±ã¼ã·ã§ã³ä»¥å¤ã§ã¦ã¼ã¶ã¼ã®ç®ã«è¦ããå¤åã¯ããã¾ããï¼
ä¸çªããããããã®ã¯ Microsoft Word ã§ï¼æåãé¸æãããã¨å³ã¯ãªãã¯ããã¨ï¼ã³ã³ããã¹ãã¡ãã¥ã¼å
ã«åå¤æåè£ã表示ãããããã«ãªãã¾ãï¼
Mozc å
é¨ã®ãããã³ã«çã«åå¤æã¯å¯¾å¿æ¸ã¿ã ã£ãã®ã§ï¼ãã¨ã¯åç´ã«å®è£
ããã ãã¨ããå
容ã§ããï¼
2014 å¹´ã«ãã£ããã¨
2013 å¹´ 12 ææ«ããã£ã¦æå±çã«ã¯ Mozc ãã¼ã ãé¢ãããã¨ãããï¼ä¼æ¥ã»ä¼æã«ä½æ¥ã§ããå 容ã§ãããã¨ã¨ããã®ãç¹ã«éè¦ãã¦ãã 2014 å¹´ã§ããï¼ãããªããã§æ³¨ç®ãã¦ã¿ãã®ãï¼OSS çå¨ãã®èªä¸»ãªã¼ãã³ã½ã¼ã¹æ´»åã§ããï¼OSS ã¨ãã¦ã¿ã Mozc ããã¸ã§ã¯ãã¯ï¼ç¹ã«å¯¾å¤çãªç· ãåãããªãï¼æ¬å½ã«æéçã«ä½è£ãããã¨ãã ãä½æ¥ããã®ã«é©ãã¦ãã¾ãï¼ã¾ãï¼OSS åå¾ã®ã½ã¼ã¹ã³ã¼ãã«ã¤ãã¦ã¯å人㮠PC ç°å¢ã§ä½æ¥ã§ããã®ã§ï¼å«è¶åºãæ è¡å ã§ã³ã¼ããè¦ããå¤æ´ãããããªãããããã試ããã®ãå¬ãããã¤ã³ãã§ããï¼
OSS Mozc ãé¸ãã ããã²ã¨ã¤ã®çç±ã¨ãã¦ã¯ï¼æè¿ã¢ãã¤ã« OS åãã« OSS Mozc ããã¼ã¹ã«ãã IME ãä½ã£ã¦ããã ããã±ã¼ã¹ãå¢ãã¦ãã¦ï¼å°ãå¿æ´ãã¦ã¿ãããªã£ãã¨ããã®ãããã¾ãï¼æ°åçã«ãåè¨æ°ç¾ä¸ã¤ã³ã¹ãã¼ã«ã¨ããè¦æ¨¡ã§ï¼OSS ã¨ãã¦ã¯ã¾ãã¾ãã®ææï¼éæ¥çã«ã¢ãã¤ã« IME éçºã®æ´»çºåã«è²¢ç®ã§ããã®ã§ããã°ï¼ä¼æ¥ã®ä½¿ãæ¹ã¨ãã¦ã¯ã¾ãã¾ã Mobile First ããªã¨æã£ã次第ï¼
ãã¦ï¼2014 å¹´ã®ãã¼ãã¨ãã¦å人çã«èå³ããã£ãã®ã¯ï¼ç¤¾å ãªãã¸ããªãã OSS ãªãã¸ããªã¸ã«å¤æ´ã移åããã¨ãï¼ãã®ã³ãããç²åº¦ãå°ããããã®ã¯å¯è½ãï¼ã¨ãããã®ã§ããï¼
ããã¾ã§ OSS Mozc ã¨ããã°ï¼ãããã "code drop" æ¹å¼ã§ãªãªã¼ã¹ããã¦ãã¾ããï¼éçºèªä½ã¯ç¤¾å ã®ãªãã¸ããªã§è¡ãï¼ãããã¹ãã¿ã¤ãã³ã°ã« (ããã¦ãã¯ãããã©ã¤ã¿ãªãªè£½åã¨ãã¦ç¤¾å¤ã«ãªãªã¼ã¹ããããã¨)ï¼éçºãããã½ã¼ã¹ã³ã¼ãã OSS ã¨ãã¦å ¬éããï¼ã¨ãããã®ã§ãï¼ãã®ã¨ãåé¡ã«ãªãã®ãã³ããããã°ã§ï¼OSS Mozc ã¯æ§ã ãªçç±ããå¤æ´ã¯ 1 ã¤ã® SVN ã³ãããã«ã¾ã¨ãããï¼æ°åè¡ããå¤ãã¨ãã¯æ°ä¸è¡ã®å¤æ´ã«ãªããã¨ãããã¾ããï¼ãã®å·¨å¤§ãªã³ãããã«å«ã¾ããå¤æ´ç¹å ¨ã¦ãææ¡ããã¯éçºè èªèº«ã«ã¨ã£ã¦ãé£ããï¼ã³ããããã°ããªãªã¼ã¹ãã¼ããæ¸ãã¨ãã«è¦å´ããã®ãæ¶ãã¦ãã¾ãï¼
ããã§è©¦ãã¦ã¿ããã¨ã«ããã®ãï¼OSS åãã¦åé¡ãªãå¤æ´ã«ã¤ãã¦ã¯ï¼ç¢ºèªã®ä¸ï¼åå¥ã®ã³ãããã¨ã㦠OSS ãªãã¸ããªã«é©å®åæ ããã¦ããã¨ãããã®ã§ããï¼ä½æ¥èªä½ã¯ä¼æ¥çã®ç©ºãæéãå©ç¨ãã¦è¡ã£ã¦ãã¾ãï¼2014å¹´5æ24æ¥ãã12æ25æ¥ã®éã«ï¼222 åã®ã³ããããè¡ãã¾ãã (ãã¡ 81 ã³ããã㯠2014å¹´12æ6æ¥ãã12æ31æ¥ã¾ã§ã®éï¼æ給æ¶åã®å¹´æ«ä¼æä¸ã«è¡ã£ã¦ãã¾ã)ï¼
æ®å¿µãªãã r467 ã ãã¯å¾æ¥éãã®å·¨å¤§ã³ãããã«ãªã£ã¦ãã¾ãã¾ãããï¼ãã㯠Android åãæ°æ©è½ãå¤æ°å«ã¾ããããåããããªãã£ãã¨ããã®ãçç±ã§ãï¼ãã以åã® 218 åã®ã³ãããã¯ã³ãããã¡ãã»ã¼ã¸ã¨å¤æ´ã (æ¦ã) 対å¿ããé常ã®ã³ãããã«è¦ããããã«ãªã£ã¦ãã¾ãï¼å¤æ´ã®ç²åº¦ãä¸ãããã¨ã§ï¼æå¾ã®å·¨å¤§ã³ããããå¾ ã¤ãã¨ãªãï¼27 åã®ãã°ãéãããã¨ãã§ãã¾ããï¼
ãã®ä½æ¥ï¼å人çã«ä½ãæ°é®®ã«æãããã¨ããã¨ï¼ããããã種㮠<ã³ãããå¾ã¬ãã¥ã¼> ã ã£ããã¨ã§ã (ãã®ãããã®è©±ï¼コードレビューいろいろ - steps to phantasien ãå
ã«èªããã¨ããããã)ï¼ä¼ç¤¾ã«å
¥ã£ã¦ä»¥æ¥ï¼<ã³ãããåã¬ãã¥ã¼> 㯠6 å¹´ããããã£ã¦ãããã®ã®ï¼<ã³ãããå¾ã¬ãã¥ã¼> ãç¶ç¶çã«ãã£ãã®ã¯ãããåãã¦ã§ããï¼
ææ³ 1ï¼æ¢ã«ã³ãããæ¸ã¿ã®ã³ã¼ãã«å¯¾ããã¬ãã¥ã¼ãªã®ã§ï¼æ°ã«ãªãã¨ãããä¿®æ£ããã¨ãããå¥ã³ãããã«ãªã£ã¦ãã¾ãï¼
ææ³ 2ï¼ããç¨åº¦ã®æéã®ã³ãããã®å·®åãã¾ã¨ãã¦è¦ããã¨ã§ï¼ç¡é§ãªã³ã¼ããå¢ããã®ã«æ°ä»ãããããªãï¼ä»¥ä¸å
¸åçãªã±ã¼ã¹ï¼
- ããåé¡ã«ï¼A ã¨ããæ¹æ³ã§å¯¾å¦ãã
- A ã¨ããæ¹æ³ã§ã¯å®å ¨ã«åé¡ã解決ã§ããªããã¨ãåãã B ã¨ããæ¹æ³ã«åãæ¿ãã
è¤æ°ã®ã³ããããæ°æ¥ããæ°é±éã®éã«å ãããã¦ããã¨ãï¼ãã¨ã§å ¨ä½ã®å·®åãè¦ã¦ã¿ãã¨ä¸è¦ãªå¤æ´ãæ®ã£ã¦ãã¾ã£ã¦ããã±ã¼ã¹ãæ°ä»¶çºè¦ï¼ããã¯ç¢ºãã« <ã³ãããåã¬ãã¥ã¼> ã§è¦ã¤ãã«ãããã¿ã¼ã³ããï¼
ã¾ããããªããã§æ°é®®ã§ããã£ãç´°åã OSS åä½æ¥ã§ããï¼ä¼æ¥ã®æéãçµæ§å¸ãåãããä½æ¥ã§ãã£ãã®ã確ãã§ï¼ä»å¾ã©ããããã¯ã¾ã 決ãã¦ãã¾ããï¼
ä¸æ¹ï¼OSS çãªãã¸ããªãæ´»ç¨ãï¼å®éã«ãã°ãç´ãããæè¡çè² åµãè¿æ¸ãããã¨ãã£ããã¨ãè¡ã£ã¦ãã¾ããï¼ä»¥ä¸ã¯ï¼ãããªä¼æ¥èªä¸»ãªã¼ãã³ã½ã¼ã¹æ´»åã«ã¤ãã¦ã§ãï¼
TF_E_NOLAYOUT åé¡
Mozilla Japan ã®ä¸éãããã報告していただいたåé¡ã§ãï¼èª¿æ»ã®çµæï¼ä»¥ä¸ã®ãã㪠OS å´ã®åé¡ã§ãããã¨ãåããã¾ããï¼
- TSF ã§æ¸ããã IME (TIP) ã ITfContextView::GetTextExt() ãå¼ã³åºãï¼
- TSF ã©ã³ã¿ã¤ã ãã¢ããªã±ã¼ã·ã§ã³ã®å®è£ ãã ITextStoreACP::GetTextExt() ãå¼ã³åºã
- ã¢ããªã±ã¼ã·ã§ã³ã ITextStoreACP::GetTextExt() ã«å¯¾ã㦠TS_E_NOLAYOUT ãè¿ã
- TSF ã©ã³ã¿ã¤ã ãæ»ãå¤ã E_FAIL ã«æ¸ãæãã
- TSF ã§æ¸ããã IME (TIP) ã ITfContextView::GetTextExt() ã®çµæã¨ã㦠E_FAIL ãåãåã
éçºå
ã®ãµãã¼ãã«ç¸è«ããã¨ããï¼ITfContextView::GetACPFromPoint() 㨠ITfContextView:: GetRangeFromPoint() ã«ã¯ãã®åé¡ããªããã¨ãåããï¼TS_E_NOLAYOUT ãè¿ããã¦ãããã©ããã®å¤å®ããããã® API ã§è¡ãã¨ããåé¿çãããããããã¾ããï¼ãã®æ¹é㧠tsf-mozc å´ã«ã¦å¯¾å¦ãã¦ã¿ãï¼ã¨ããã®ãä¸é£ã®æµãã¨ãªãã¾ãï¼
r192 ã«ã¦ãªãªã¼ã¹ï¼ã³ã¼ãçã«ã¯ä»¥ä¸ã¨ãªãã¾ãï¼
https://code.google.com/p/mozc/source/browse/trunk/src/win32/tip/tip_range_util.cc?r=192#231
HRESULT TipRangeUtil::GetTextExt(ITfContextView *context_view, TfEditCookie read_cookie, ITfRange *range, RECT *rect, bool *clipped) { BOOL clipped_result = FALSE; HRESULT hr = context_view->GetTextExt( read_cookie, range, rect, &clipped_result); if (clipped != nullptr) { *clipped = (clipped_result != FALSE); } // Due to a bug of TSF subsystem, as of Windows 8.1 and prior, // ITfContextView::GetTextExt never returns TF_E_NOLAYOUT even when an // application returns TS_E_NOLAYOUT in ITextStoreACP::GetTextExt. Since this // bug is specific to ITfContextView::GetTextExt, a possible workaround is // to also see the returned value of ITfContextView::GetRangeFromPoint. // If the attached application implements ITextStoreACP::GetACPFromPoint // consistently with ITfContextView::GetTextExt,, we can suspect if E_FAIL // returned from ITfContextView::GetTextExt comes from TF_E_NOLAYOUT. if (hr == E_FAIL) { // Depending on the internal design of an application, the implementation of // ITextStoreACP::GetACPFromPoint can easily be computationally expensive. // This is why we should carefully choose parameters passed to // ITfContextView::GetRangeFromPoint here. const POINT dummy_point = { numeric_limits<LONG>::min(), numeric_limits<LONG>::min() }; CComPtr<ITfRange> dummy_range; const HRESULT next_hr = context_view->GetRangeFromPoint( read_cookie, &dummy_point, 0, &dummy_range); if (next_hr == TF_E_NOLAYOUT) { hr = TF_E_NOLAYOUT; } } return hr; }
ã¡ãªã¿ã«ãã®åé¡ï¼ç¾å¨ãã¼ã¿ãã¹ãä¸ã® Windows 10 ã§ã¯ OS å´ã§ç¡äºä¿®æ£ããã¦ãã模æ§ã§ãï¼
Win10 + Nightly + Googleæ¥æ¬èªå
¥åã§è©¦ãã¦ã¿ãã¨ãããTSFã®ãITextStoreACP::GetTextExt()ã§ãTS_E_NOLAYOUTãè¿ãã¦ããTIPã«E_FAILãè¿ããã¦ãã¾ã£ã¦ããã°ã¯ä¿®æ£ããã¦ãã£ã½ã? #ããã§ã¶ @NyaRuRu
— ãªãã®ã DAYS'' (@d_toybox) October 1, 2014
TSF ãæå¹ã«ãã Firefox ããã©ã¼ã«ã¹ã失ã£ãã¨ãåè£ã¦ã£ã³ãã¦ã表示ãããã¾ã¾ã«ãªã
tsf-mozc 㨠TSF-aware Firefox ã®çµã¿åããã§ï¼æåå
¥åä¸ã«å¥ã¢ããªã±ã¼ã·ã§ã³ã«ãã©ã¼ã«ã¹ã移ãã¨ï¼Mozc ã®åè£ã¦ã£ã³ãã¦ã表示ãããã¾ã¾ã«ãªãã¨ããåé¡ã§ãï¼
tsf-mozc å´ã§ ITfThreadFocusSink::OnSetThreadFocus() 㨠ITfThreadFocusSink::OnKillThreadFocus() ãå¦çãã¦ããªãã£ãã®ãåé¡ã§ããï¼
r192 ã«ã¦ãªãªã¼ã¹ï¼
Issue 206: ç¹å®ãã±ã¼ã«ã® Windows ç°å¢ã§ prediction/dictionary_predictor.cc ããã«ããã㨠C2065 ã¨ã©ã¼ã§å¤±æãã
https://code.google.com/p/mozc/issues/detail?id=206
Mozcã® C++ ã§æ¸ãããã½ã¼ã¹ã³ã¼ãã¯åºæ¬çã« BOM ãªã UTF-8 ã§çµ±ä¸ããã¦ããã®ã§ããï¼éå»ä½åº¦ãVisual C++ ã C2065 ã¨ã©ã¼ã§ã³ã³ãã¤ã«ã«å¤±æããã¨ãããã©ãã«ã«è¦èããã¦æ¥ã¾ããï¼ããã§çºæããã対å¦æ³ãï¼ã¨ãããã non-ASCII æå㯠"" ã§å²ãï¼ã¨ãããã®ã§ãï¼
OSS Mozc ã®æ¹ã« C2065 ã®å ±åãæ¥ãããã§ããï¼ä»åã "" ã§å²ã£ã¦å¯¾å¦ã¨ãªãã¾ããï¼
r192 ã«ã¦ãªãªã¼ã¹ï¼
Issue 215: mozc::Encryptor å®è£ ã®ãã¼ã¿ãã«å
https://code.google.com/p/mozc/issues/detail?id=215
mozc::Encryptor ã¨ããã¯ã©ã¹ã®å®è£
ããï¼ãã©ãããã©ã¼ã å¥ã®å¦çã極ååãé¤ããã¨ãããã®ã§ãï¼
Mozc ã¯ï¼ç¢ºå®å±¥æ´ãªã©ããã¤ãã®ãã¼ã«ã«ãã¡ã¤ã«ãä¿åæã« AES256 CBC ã¢ã¼ãã§æå·åãã¾ã (Design Doc åç
§)
å½æãã®å®è£
ã¯ãã©ãããã©ã¼ã ãã¨ã«ç°ãªã£ã¦ãã¦ï¼ Mac çï¼ NaCl çï¼ããã³ Linux ãã¹ã¯ãããç Mozc ã§ã¯ OpenSSL ãï¼Windows çã§ã¯ Win32 Crypto APIãï¼ããã¦Android çã§ã¯ javax.crypto.Cipher ã¯ã©ã¹ã使ããã¦ãã¾ããï¼
ãã¦ï¼è©±ã¯ 2014 å¹´ 2æ22æ¥ã«ããã®ã¼ãã¾ãï¼å½æ¥ Mozilla Japan æ±äº¬ãªãã£ã¹ã§éããã¦ãã FxOS ã³ã¼ããªã¼ãã£ã³ã°ãã¼ãã¢ãã #4 ã«ãµããã¨åå ããçè
ã¯ï¼Mozc ã Emscripten ã§ãã«ãã§ããªããã®ãã¨ãããã試ãå§ãã¾ããï¼Mozc ã®ãã«ãã¯æ¦ããè¿å¯ãã¹ãã§ã¯ãªãç¨åº¦ã«å¤§å¤ãã®é¨é¡ã«å±ãã¾ããï¼ããã¯ãã£ã¦ãã¯ãã¹ã³ã³ãã¤ã«ã®å¿
è¦ãª Android 対å¿ã¨ NaCl 対å¿ã¯æ¢ã«ã§ãã¦ããããã§ãï¼æ°æéãããã°æåã®ä¸æ©ãããã¯ãªãã¨ããªãã ããã¨è»½ãæ°æã¡ã§å§ãããã®ã®ï¼çµæçã«æåã®ä¸æ©ããè¸ã¿åºããã«æéãããã¨ã¨ãªãã¾ãï¼
ããããOSS Mozcã¯NDK使ã£ãAndroidåããã¤ãã£ããã«ããNaCl SDK使ã£ãpNaClãã«ãã対å¿æ¸ã¿ãªã®ã«ï¼ã©ããã¦ãããªã£ãç¶æ
ï¼
— NyaRuRu (@NyaRuRu) March 25, 2014
ãã®ã¨ãæåã®ä¸æ©ã¨ãã¦ç«ã¡ãµããã£ãã®ãï¼ãã® OpenSSL ä¾åã§ããï¼ä»¥ä¸ã«ï¼å½æç§ãåèã«ãããã¨ãã¦ãã nacl-mozc ã® OpenSSL ä¾åé¨åã示ãã¾ãï¼
https://code.google.com/p/mozc/source/browse/trunk/src/base/base.gyp?r=185#508
['target_platform=="NaCl"', { 'targets': [ { 'target_name': 'pepper_file_system_mock', 'type': 'static_library', 'sources': [ 'pepper_file_system_mock.cc', ], 'dependencies': [ 'base.gyp:base', ], }, { 'target_name': 'openssl_crypto_aes', 'type': 'static_library', 'variables': { 'openssl_dir%': '<(DEPTH)/third_party/openssl/openssl', }, 'direct_dependent_settings': { 'defines': [ 'HAVE_OPENSSL=1', ], 'include_dirs': [ '<(gen_out_dir)/openssl/include', '<(openssl_dir)/include', ], }, 'cflags': [ # Suppresses warnings in third_party codes. '-Wno-unused-value', ], 'include_dirs': [ '<(gen_out_dir)/openssl/include', '<(openssl_dir)', '<(openssl_dir)/crypto', '<(openssl_dir)/include', ], 'hard_dependency': 1, 'sources': [ # The following files are the minumum set for 'encryptor.cc' '<(openssl_dir)/crypto/aes/aes_cbc.c', '<(openssl_dir)/crypto/aes/aes_core.c', '<(openssl_dir)/crypto/aes/aes_misc.c', '<(openssl_dir)/crypto/mem_clr.c', '<(openssl_dir)/crypto/modes/cbc128.c', '<(openssl_dir)/crypto/sha/sha1dgst.c', '<(openssl_dir)/crypto/sha/sha1_one.c', '<(openssl_dir)/crypto/sha/sha256.c', '<(openssl_dir)/crypto/sha/sha512.c', '<(openssl_dir)/crypto/sha/sha_dgst.c', '<(openssl_dir)/crypto/sha/sha_one.c', ], 'dependencies': [ 'openssl_config', ], 'export_dependent_settings': [ 'openssl_config', ], }, { 'target_name': 'openssl_config', 'type': 'none', 'actions': [ { 'action_name': 'openssl_config', 'inputs': [ 'openssl_config.sh', ], 'outputs': [ '<(gen_out_dir)/openssl/include/openssl/opensslconf.h', ], 'action': [ 'bash', 'openssl_config.sh', '<(gen_out_dir)', '$(abspath ./)', ], }, ], }, ]}, ], ], }
ããã§ãã£ã¦ããã®ã¯ï¼OpenSSL ã®ã½ã¼ã¹ã³ã¼ãããã¦ã³ãã¼ãæ¸ã¿ã¨ä»®å®ãã¦ï¼configure ã¹ã¯ãªãããèµ°ããï¼ã¿ã¼ã²ããã® toolchain ã§ãã«ãããï¼ã¨ãããã®ã§ãï¼asm.js ç Mozc ãä½ãã«ããã£ã¦ï¼ããã¨ã»ã¼åæ§ã®ä½æ¥ãè¡ãå¿
è¦ãããã¾ããï¼ä¸æ¹ Android çãï¼ JNI ã使ã£ã¦ javax.crypto.Cipher ã¯ã©ã¹ã®ä¸é¨ã C++ ã«å
¬éããã¨ããï¼å¦ççã«ããã«ãè¨å®çã«ãé常ã«è¤éãªå®è£
ã«ãªã£ã¦ãããã¨ãåããã¾ããï¼
å®ã¯ Mozc ããã¼ã«ã«ã«ãã¡ã¤ã«ãä¿åããã¨ãã®æå·åå¦çã¯ï¼"ã«ã¸ã¥ã¢ã«ãª" æ
å ±æ¼æ´©å¯¾çã¨ããä½ã¨ãå¾®å¦ãªç®çã§å°å
¥ãããã¨ããéå»ãããã¾ãï¼ãã¹ã¯ãããçã®ã¿ã§ãã£ãæåæã¯ï¼ãã®æ©è½ã«ããè¤éãã®å¢å ãã¾ã 許容ã§ããã®ããããã¾ãããï¼ Android çã NaCl çéçºæã«ãããã°ã£ã¦ç§»æ¤ãã¹ãæ©è½ãã®ã²ã¨ã¤ã«ãªã£ã¦ãã¾ã£ãã®ã¯ä¸å¹¸ã§ããï¼ãããã®ç°å¢ã§ã¯ï¼ã·ã¹ãã ã® OpenSSL ãåç´ã«å¼ã³åºãã¨ãã£ãæ¹æ³ã使ããªãã£ãããï¼ãã«ãæã« OpenSSL èªä½ããã«ããããï¼JNI ã³ã¼ãã追å ãããã¨ãã£ãæ¹æ³ã§å¯¾å¦ããããã¨ã¨ãªãã¾ããï¼ãã®ããã°ãã¯ï¼äºå®ãããã¹ã±ã¸ã¥ã¼ã«ã¾ã§ã«è£½åããªãªã¼ã¹ããã¨ããç¹ã§ã¯æå¹ã§ãããï¼æ®ããã¨ã«ãªã£ãè¤éãã¯ã¾ãã«æè¡çè² åµã§ããï¼
ãã¦ï¼ããããå¦çå
容ã調ã¹ã¦ã¿ãã¨ï¼SHA1 㨠AES256 CBC ã®è¨ç®ã§ï¼ãã¡ãã¨èªè¨¼ãåãã OS åºæå®è£
ãå©ç¨ãããã¨ããçµæï¼ç©äºãè¤éåãã¾ã£ã¦ãããã¨ããããã¾ãï¼ããããªããï¼ãã¨ã㨠"ã«ã¸ã¥ã¢ã«ãª" æ
å ±æ¼æ´©å¯¾çã§ãããªãæå·åå¦çã§ï¼FIPS èªå®ã«ãã ããã¨ããã®ãå¤ãªè©±ã§ãï¼ã ã£ããèªå㧠SHA1 㨠AES256 CBC ãå®è£
ãã¦ãã¾ãã°ï¼å¤§å¹
ã«ãã«ããåç´ã«ãªãã ããï¼ã¨å§ãã¦ã¿ãã®ããã® Issue 215 ã¨ãªãã¾ãï¼
åºæ¬å®è£
㯠r192 ã«å«ã¾ãã¦ãã¾ããï¼ãã®æç¹ã§ã¯æ§å®è£
ãæ®ããã¦ãã¾ããï¼ãã®å¾ï¼r208ï¼r209ï¼r497 ã¨ãã¦æ§å®è£
ã¯åé¤ããã¦ãã¾ãï¼
è¦æ ¼ãèªã¿ãªããæåã¢ã«ã´ãªãºã ãå®è£
ããã®ã¯æ¥½ããä½é¨ã§ããï¼è¨ç®çµæã®æ¯è¼ã®ããã«è¦ã¦ãã Chromium ã® SHA1 å®è£
ã«ãã°ãè¦ã¤ããã¨ãããã¾ããããã¾ãã (Chromium Issue 348333) ï¼4 æã« OpenSSL ã® Heartbleed ãçãä¸ãã£ãã®ãï¼é¢ç½ãå¶ç¶ã®ä¸è´ã§ãï¼
ã¾ã¨ããã¨ï¼ä»¥ä¸ã®ãããªã¡ãªããããã£ããã®ã¨èãã¦ãã¾ãï¼
- å®è¡æã«ä¾åããã©ã¤ãã©ãªãå°ãªããªã
- ãã«ããåç´åããã
- ãã©ãããã©ã¼ã å ±éã³ã¼ããå¢ãã
- (OSS Mozc ã« GPL ã³ã¼ããçµã¿åãããã人ã«ã¨ã£ã¦ã®)ï¼æ½å¨çãªã©ã¤ã»ã³ã¹éäºæåé¡ã®ãªã¹ã¯ãæ¸ã
Issue 211: 2 段éãã«ããå»æ¢
https://code.google.com/p/mozc/issues/detail?id=211
å¾æ¥ï¼ãã¨ãã° Android ç Mozc ã® APK ããã«ãããã¨ãã«ã¯ï¼ä»¥ä¸ã®ããã«ã³ãã³ãã 3 åå®è¡ããå¿
è¦ãããã¾ããï¼
python build_mozc.py gyp --target_platform=Android python build_mozc.py build_tools -c Release python build_mozc.py build -c Debug_Android android/android.gyp:apk
ãããï¼ä»¥ä¸ã®ããã«ã³ãã³ã 2 åã§ãã«ãã§ããããã«ãªã£ãï¼ã¨ãããã®ã§ãï¼
python build_mozc.py gyp --target_platform=Android python build_mozc.py build -c Debug android/android.gyp:apk
Mozc ã®ãã«ãã build_tools ã¨ããã³ãã³ã㨠build ã® 2 段éã«åããããã®ã¯ï¼å®ã« 2010 å¹´ï¼Mozc ã OSS åããã«ããã£ã¦ãã«ãã·ã¹ãã ã GYP ã«ç§»è¡ããããªãã®ãã¨ã§ããï¼å½åã®åæ©ã¯ï¼æéã®ããããã¤ããªè¾æ¸å§ç¸®å¦çãéçºä¸ä½åº¦ãå®è¡ããããªãã¨ããçç±ã§ããï¼ç¶æ³ãå¤ãã£ãã®ã¯ï¼Android çã NaCl çã®å¿
è¦ãã§ã¦ãã¦ããã§ãï¼ãããã®ãã©ãããã©ã¼ã ã¯ã¯ãã¹ã³ã³ãã¤ã«ãå¿
è¦ã¨ãï¼ãã®ããã®åºç¤ã¨ã㦠2 段éãã«ãããå©ç¨ãããã¾ããï¼ãã«ãã®è¤éãã¯ä¸æå¶å¾¡ä¸è½ãªè¦æ¨¡ã¾ã§ãµãããããï¼ä¸è¦æ£ããè¦ããå¤æ´ãï¼ãªãã Android ãã«ãã ããå£ãã¨ããåé¡ãå¤çºãã¾ããï¼è¨æ¶ã確ããªã 2011 å¹´ãã 2012 å¹´é ãæãé
·ãã£ãããã«æãã¾ãï¼
ãã®ã²ã©ãç¶æ³ã¯ï¼2013 å¹´æ«ï¼Android çãã«ãã GYP ã® Android.mk ã¸ã§ãã¬ã¼ã¿ããä¸è¬ç㪠make ã¸ã§ãã¬ã¼ã¿ã«åãæ¿ãããããã¨ã§å¤§å¹
ã«æ¹åããï¼ä»å FxOS ã³ã¼ããªã¼ãã£ã³ã°ãã¼ãã¢ãã #4 ã«åå ããã®ãåã£æãã«åãæã£ã¦ã¿ãæãã§ãï¼
ã¡ãªã¿ã« 2010 å¹´ããæ¸å¿µããããã«ãæéã®åé¡ãï¼ä»æã®ã¯ã¼ã¯ã¹ãã¼ã·ã§ã³ã§ä½æ¥ããåã«ã¯æ¦ãåé¡ã«ãªãã¾ããï¼
åºæ¬å®è£
㯠r192 ã«ã¦ï¼ãã®å¾ï¼r211ããã³r214ã«ã¦æå¹åããã¾ããï¼
2 段éãã«ãã«ä½¿ç¨ãããã³ã¼ãã¯ãã®å¾ r371 ããã³ r507 ã¨ãã¦å®å
¨ã«åé¤ããã¾ãï¼
Issue 224: enable_gtk_renderer=0 æå®æã«ãã«ãã失æãã
https://code.google.com/p/mozc/issues/detail?id=224
Linux ç Mozc ã§ï¼ mozc_renderer ãç¡å¹ã«ããç¶æ
ã§ãã«ããããã¨ããã¨ã³ã³ãã¤ã«ã¨ã©ã¼ã«ãªãã¨ããåé¡ï¼åç´ãªãã¹ã ã£ãã®ã§å³ä¿®æ£ã¨ãªãã¾ããï¼
r215 ã«ã¦ä¿®æ£ï¼
Unicode çµµæåå¤æã NaCl ç°å¢ããã³ Linux ãã¹ã¯ãããç°å¢ã§ãããã©ã«ãæå¹å
ä»ã¾ã§ã¯ç¹å®ç°å¢ã®ã¿ Unicode çµµæåãããã©ã«ãæå¹åã¨ãããã¸ãã¯ã ã£ãã®ã§ããï¼ã³ã¼ããã ãã¶è¤éã«ãªã£ã¦ãã¾ã£ã¦ããã®ã§ï¼éã«ç¹å®ç°å¢ã®ã¿ããã©ã«ãç¡å¹åã¨ãããã¸ãã¯ã«å¤æ´ãã¾ããï¼ãã®ã¨ãã®ç°¡ç¥åã®ä¸ç°ã§ï¼ NaCl ç°å¢ããã³ Linux ãã¹ã¯ãããç°å¢ã§ã Unicode çµµæåå¤æã¯ããã©ã«ãæå¹åã¨ãªãã¾ããï¼
r229ï¼r230ï¼r231 ã® 3 ã¤ã®ã³ãããã«ããæå¹åï¼
Issue 226: ibus-mozc ã®å¨è¾ºæåååå¾ã³ã¼ããæ£ããåä½ãã¦ããªãã£ã
https://code.google.com/p/mozc/issues/detail?id=226
ibus-mozc ã®å¨è¾ºæååã®åå¾ã³ã¼ãã«ãã°ããã£ã¦ï¼UTF-8 æååã®ãã¤ããªãã»ããã使ã£ã¦é¨åæååãåãåºãã¹ãã¨ããã«ï¼ééã£ã¦æåæ°ã使ã£ã¦é¨åæååãåãåºãã¦ããã¨ãããã®ï¼çµæçã«ï¼ibus-mozc ã§å¨è¾ºæååãèæ
®ããå¤æãæå³ããªãå½¢ã§åä½ãã¦ãã¾ã£ã¦ãã¾ããï¼
r232 ããã³ r233 ã«ã¦ä¿®æ£ï¼
Issue 227: IBus 1.5 ç°å¢ä¸ã§ç¢ºå®åãæ¶ããåä½ããªã
https://code.google.com/p/mozc/issues/detail?id=227
Issue 201 ä¿®æ£ã®å¯ä½ç¨ã§ï¼ibus-mozc ã IBus 1.5 ç°å¢ä¸ã§ä½¿ç¨ãã¦ããã¨ãï¼ç¢ºå®åãæ¶ã (MS-IME ãã¼è¨å®ã§è¨ãã¨ããã® Ctrl+BS) ãåä½ããªããªã£ã¦ããï¼ã¨ããåé¡ã®ä¿®æ£ã§ãï¼
r234 ã«ã¦ä¿®æ£ï¼
Issue 233: ibus-mozc 使ç¨æï¼MozcTool ã«å¯¾å¿ããããã¹ãã©ãã«ãåå¨ããªã
https://code.google.com/p/mozc/issues/detail?id=233
MozcTool ã«å¯¾å¿ããããã¹ãã©ãã«ãåå¨ããï¼ç©ºç½ã®ã¨ã³ããªã表示ãããã¨ãããã®ã§ãï¼ IBus 1.4 ç°å¢ã¾ã§ã¯è¨èªãã¼ç㪠UI ãæ¨æºã§è¡¨ç¤ºããã¦ããããåé¡ã«ãªãã¾ããã§ãããï¼IBus 1.5 ç°å¢ã§è¨èªãã¼ç㪠UI ãå»æ¢ããããããã®åé¡ã表é¢åããå¯è½æ§ãé«ããªãã¾ããï¼
ã¡ããã©ç¤¾å
ã®ã¯ã¼ã¯ã¹ãã¼ã·ã§ã³ã Ubuntu 14.04 ã«åãæ¿ããã¿ã¤ãã³ã°ã ã£ãã®ã§ï¼ååããè¨ãããåã« IBus 1.5 é¢ä¿ã®ããæ®ãã¿ã¹ã¯ã®ä¸ç°ã§ç´ãã¦ã¿ãæãã§ãï¼
r251 ã«ã¦ä¿®æ£ï¼
Issue 236: Windows 8.1 update1 ç°å¢ã§ Explorer ãã¯ã©ãã·ã¥ãããã¨ããã
https://code.google.com/p/mozc/issues/detail?id=236
å®å®æ§ã®ç¢ºèªãããã¦ï¼å®¶ã§ã¨ãã©ã tsf-mozc ã使ã£ã¦ããã¨ããï¼Windows 8.1 update1 ç°å¢ã§ Explorer ãã¯ã©ãã·ã¥ãã確å®ãªæé ãçºè¦ããã®ã§ï¼ãããã°ã»å¯¾å¦ãã¦ã¿ãã¨ãããã®ã§ãï¼åç¾ç 100% ãªã®ã§ï¼ Visual Studio ã§ç°¡åã«ãããã°ã§ãããã¨æãããï¼windbg 㧠WinRT ã®å
é¨ã¾ã§æ½ãå¿
è¦ããã£ã¦å¤§å¤ã§ããï¼Ntdebugging Blog の記事ãè¦ã¤ããããªããã°ãããã°ã¯ç¡çã ã£ãããã«æãã¾ãï¼WinRT ã§è¨èªå
±éã®å®è¡æä¾å¤ãã©ã®ããã«å®è£
ããã¦ãããèå³ããã人ã«ã¯ï¼ãã®è¨äºé¢ç½ãããããã¾ããï¼
r252 ã«ã¦å¯¾å¦ï¼
Issue 222: Linux ãã¹ã¯ããã, NaCl, ããã³ Android ãã«ã㧠Ninja ã使ç¨ãã
https://code.google.com/p/mozc/issues/detail?id=222
2012年他にやったこと - Mozc 編 - NyaRuRuが地球にいたころ ã§æ¸ããããã«ï¼2012 å¹´æ«ãã Windows ç Mozc 㯠Ninja ã§ãã«ããããããã«ãªã£ã¦ããã®ã§ããï¼ããã Linux ãã¹ã¯ããã, NaCl, ããã³ Android ãã«ãã§ã使ãããã«ããã¨ãããã®ã§ãï¼
ãã£ã¦ã¿ã¦åãã£ãã®ã§ããï¼ã©ãã GYP ã® Ninja ã¸ã§ãã¬ã¼ã¿ã¨make_global_settings ã¨ãã GYP ã®è¨å®ã®çµã¿åãã㧠Android åãã¯ãã¹ãã«ããè¡ã£ãã®ã¯ Mozc ãæåãããï¼çµå±èªå㧠GYP å´ãç´ãå¿
è¦ãããã¾ããï¼ä»¥ä¸ã®ããã«ãã£ã㨠GYP å´ã«ããããéã£ã¦ããããã¾ãï¼ãã¾ã«å½¹ç«ã¤ GYP ã³ããã権ï¼
Mozc å´ã§ã¯ï¼r265, r266, r267, r268 ã® 4 åã«åãã¦æå¹åããã¾ããï¼
Issue 240: Linux ãã¹ã¯ããã, NaCl, ããã³ Android ãã«ãç°å¢æ§ç¯ã®ããã® Dockerfile ã®æä¾éå§
https://code.google.com/p/mozc/issues/detail?id=240
OSS Mozc ã®å
¬å¼ãã«ãç°å¢ã Docker ã§å®ç¾©ãã¦ã¿ããï¼ã¨ Docker ã®åå¼·ãã¦ããã£ã¦ã¿ã¾ããï¼ç¹ã« Android ç Mozcã®ãã«ãç°å¢ã Docker åã§ãããããã§ï¼ãã®å¾ã®ãã«ãã®æ¤è¨¼ãã ãã¶æ¥½ã«ãªãã¾ããï¼
r271 ã«ã¦ Ubuntu 12.04 ãã¼ã¹ã®ã³ã³ãããæä¾éå§ï¼
r330 ã«ã¦ Ubuntu 14.04 ãã¼ã¹ã®ã³ã³ããã®è©¦é¨æä¾ãéå§ãã¾ããï¼
ãªãï¼ r486 㧠Ubuntu 12.04 ãã¼ã¹ã®ã³ã³ããã¯å½¹ç®ãçµäºãï¼ä»¥å¾ã¯ Ubuntu 14.04 ã«ä¸æ¬åãã¦ãã¾ãï¼
Ninja ã® Console Pool æ©è½ãæå¹å
https://code.google.com/p/mozc/source/detail?r=314
Ninja 1.5 ã®æ°æ©è½ã« Console Pool ã¨ããã®ããã£ã¦ï¼ããã Mozc ã® Android ãã«ãã®ã¨ãã«ä½¿ããããªã¨è©¦ãã¦ã¿ããã®ã§ãï¼
r314 ã«ã¦æå¹åï¼
Issue 246: Linux, NaCl, ããã³ Android ç°å¢ã§ï¼'Set input mode to X' ã³ãã³ããç´æ¥å ¥åã¢ã¼ãã§åä½ããªã
https://code.google.com/p/mozc/issues/detail?id=246
https://bugzilla.redhat.com/show_bug.cgi?id=1119048
Red Hat Bugzilla 㧠ibus-mozc åãã«å ±åããã¦ããåé¡ã§ï¼ãã¼ãããã¨ãã£ã¿ã§ç´æ¥å
¥åã¢ã¼ãæã«ãã²ãããªã¢ã¼ãã«åãæ¿ããã¨ããã³ãã³ããè¨å®ããã¨ãã¦ãï¼å®éã«ã¯åä½ããªãã¨ããåé¡ã§ãï¼
Windows ã§ã¯åé¡ãªãåä½ããã®ã§ããï¼åä½ãããã©ãããã©ã¼ã ãå®ã¯ãã¯ã¤ããªã¹ãæ¹å¼ã«ãªã£ã¦ãã¦ï¼Windows 以å¤ã§ã¯æå³çã«åãä»ããªãããã«ãªã£ã¦ãã¾ããï¼å®éã«ã¯ Mac 以å¤ã§è¨±å¯ãããã¨ã«åé¡ã¯ãªãã®ã§ï¼ãã®ããã«å¯¾å¦ããï¼ã¨ãããã®ã§ãï¼
r315 ã«ã¦ä¿®æ£ï¼
Issue 244: Visual C++ 2013 対å¿
https://code.google.com/p/mozc/issues/detail?id=244
OSS Mozc ã Visual Studio 2013 ã§ãã«ãã§ããããã«ãã¦ã¿ãï¼ã¨ãããã®ã§ãï¼
r311 以éã§å¯¾å¿ï¼
ã¡ãªã¿ã«ãã®å¾ Visual Studio Community ããªãªã¼ã¹ããããããã§ï¼ç¡åçã® Visual Studio ãå©ç¨ã㦠OSS Mozc Windows çããã«ãã§ããããã«ãªã£ã¦ãã¾ãï¼
ãªãï¼ r509 以éã§ã¯ Visual Studio 2013 ã«ãµãã¼ãããã³ã³ãã¤ã©ãä¸æ¬åãã¦ãã¾ãï¼
About ãã¤ã¢ãã°ä¸ã® Copyright 表è¨ã®æ´æ°
2014 å¹´ãåå以ä¸éãã¦ããã®ã«ï¼About Dialog ä¸ã® Copyright 表è¨ã 2013 å¹´ã®ã¾ã¾ã ã£ãã®ã§ç´ããã¨ãããã®ã§ãï¼
r324 ã«ã¦ä¿®æ£ï¼
ã¢ããªã±ã¼ã·ã§ã³ãããã§ã¹ãã« Windows 10 対å¿å®£è¨ã追å
Windows çã®å®è¡ãã¡ã¤ã«å
¨ã¦ã«ï¼Windows 10 対å¿ã¨ãã GUID ãã»ããããã¨ãããã®ã§ãï¼
r344 ã«ã¦å¯¾å¦ï¼
UserHistoryStorage ã® 2038 å¹´åé¡
Mozc ã®å
¥åå±¥æ´ãã¡ã¤ã«å
ã§ä½¿ç¨ãããã¿ã¤ã ã¹ã¿ã³ãã 2038 年以éä¸æ£ãªå¤ã«ãªãã¨ããåé¡ã§ãï¼ãã¾ãã¾ã³ã¼ããçºãã¦ãã¦çºè¦ããã®ã§ç´ãã¦ã¿ã¾ããï¼ä¿®æ£èªä½ã¯ã»ã¼ Protocol Buffers ã§å®ç¾©ããããã¼ã¿åã®åã uint32 ãã uint64 ã«å¤æ´ããã ãã¨ããã¾ãï¼Protocol Buffers ã®ç¹å¾´ã¨ãã¦ï¼ãã®å¤æ´ã«é¢ãã¦ã¯äºææ§ã¨ä¿åããããã¼ã¿ãµã¤ãºçã«å½±é¿ãåã¼ããªãã¨åãã£ã¦ããããï¼å²ã¨æ°è»½ã«ç´ããã¨ãã§ãã¾ããï¼
r346 ã«ã¦å¯¾å¦ï¼
SafeStrToDouble/SafeStrToFloat ã Android ç°å¢ã§å度æå¹å
https://code.google.com/p/mozc/source/detail?r=370
ç¹å®ãã¼ã¸ã§ã³ã® Android NDK ã§ãã«ãããã¨ï¼strtod ã« 16 é²æ°è¡¨è¨ã®æååã渡ããã¨ãã®æåã«éäºæã®å¤æ´ããã£ãããï¼Android ç°å¢ã§ä¸é¨ã®ãã¹ããç¡å¹åããã¦ããã®ã§ããï¼Android NDK r10c ã§ãã®åé¡ãä¿®æ£ããããããã¹ããå度æå¹åããã¨ãããã®ã§ãï¼
r370 ã«ã¦å¯¾å¦ï¼
Issue 249: Windows 8 以éã®ç°å¢ã§ã¹ã¿ã¼ãç»é¢ã«çµ±åããã IME åè£è¡¨ç¤ºãæ£ããåä½ããªã
https://code.google.com/p/mozc/issues/detail?id=249
ããã家㧠tsf-mozc ã使ã£ã¦ãã¦çºè¦ããåé¡ã§ãï¼å½æå®é¨çã« tsf-mozc ã§ITfFnSearchCandidateProvider ããµãã¼ããã¦ããã®ã§ããï¼ã©ããå®è£
ãä¸å®å
¨ã ã£ãããéã«åé¡ã®ããæåã«ãªã£ã¦ãã¾ã£ã¦ãããããï¼è©²å½æ©è½ãç¡å¹åãããã¨ã§å¯¾å¦ã¨ãªãã¾ããï¼
r329 ã«ã¦ä¿®æ£ï¼
Issue 248: Android ç°å¢ã«ç©çãã¼ãã¼ããæ¥ç¶ãï¼ããããã¼ã使ç¨ããã¨ã¯ã©ãã·ã¥ãã
https://code.google.com/p/mozc/issues/detail?id=248
OSS Mozc ã® Issue Tracker ã«å¯ããããå ±åã§ãï¼Android ç°å¢ã§ã® Mozc ã®ããããã¼ã¤ãã³ãã®æ±ãã«åé¡ãããï¼ç¹å®ãã¼ãã¼ãã¬ã¤ã¢ã¦ãã§ç¹å®ãã¼ã·ã¼ã±ã³ã¹ãå
¥åããã¨å¿
ã Mozc ãã¯ã©ãã·ã¥ãã¦ãã¾ã£ã¦ãã¾ããï¼
r463 ã«ã¦ä¿®æ£ï¼
Issue 255: ibus-mozc ã XIM ãããã³ã«ã§ä½¿ç¨ããã¨ï¼ãã©ã¼ã«ã¹ãã¹ãæã«ããªã¨ãã£ãããã¯ãªã¢ãããªã
https://code.google.com/p/mozc/issues/detail?id=255
OSS Mozc ã® Issue Tracker ã«å¯ããããå ±åã§ãï¼å
ã
ã¯æ¥æ¬ IBM ã®äººãã SUSE Linux ã«å ±åãå¯ãããï¼ããã« openSUSE ã® Issue Tracker ãçµã¦ã®å ±åã ããã§ãï¼
ibus-mozc ã XIM ãããã³ã«ã§ä½¿ç¨ãï¼gedit ä¸ã§ããªã¨ãã£ãããæ®ã£ã¦ããç¶æ
ã§ï¼å¥ã¢ããªã±ã¼ã·ã§ã³ã«ãã©ã¼ã«ã¹ã移ãï¼å度 gedit ã«ãã©ã¼ã«ã¹ãæ»ãã¨ï¼ä»¥åã®ããªã¨ãã£ããã¯æ¢ã«ç¢ºå®ããã¦ããã®ã«ï¼ibus-mozc ã¯ä»¥åã®ããªã¨ãã£ããã®å
容ãæ®ã£ãã¾ã¾ã§ãããã®ããã«æ¯ãèãï¼ã¨ããåé¡ã§ããï¼
調ã¹ã¦ã¿ã㨠Mozc 1.2.809.102 ããåã®ãã¼ã¸ã§ã³ã§ã¯ãã®ã±ã¼ã¹ã§ãæ£ããåãã¦ãããã®ã®ï¼ Chromium OS (å½æã¯ã¾ã IBus ã使ç¨ãã¦ãã)ã§ã®ãã©ã¼ã«ã¹å¨ãã®ãã°ã«å¯¾å¦ãã¹ãããããå¤æ´ãããã¡ã«ç¾å¨ã®æåã«ãªã£ã¦ãã¾ã£ãã¨ãããã¨ãåããã¾ããï¼
r386 ã«ã¦ä¿®æ£ï¼
2015 å¹´ã®è©±ã¨ã
ä»å¹´ã¯ä¼æ¥ã®ç©ºãæéããã¾ãèªããªãã®ã§ï¼åãããªãã¨ããã®ãæ£ç´ãªã¨ããã§ãï¼å°ãªãã¨ã OSS åä½æ¥ã«ã¤ãã¦ã¯ï¼Android 5.0 åãã® OSS åãä¸æ¯ã¤ããã®ã§ï¼å¤å°ã¯æéã稼ãããã§ã¯ãªããããã¨ï¼
ããä½ãã²ã¨ã¤åªå ããããã°ï¼ä»å¹´ããä¸è¦ã³ã¼ãã®åé¤ã«æ³¨åãããããªã¨ï¼Windows XP 対å¿ã®ããã«å ¥ãã¦ããã³ã¼ããï¼ãããã¾ãæå³ã®ç¡ããããªããã©ã¼ãã³ã¹ãã¥ã¼ãã³ã°ï¼å¤ãã³ã³ãã¤ã©ã®ããã«å¿ è¦ã ã£ãã³ã¼ããªã©ãªã©ï¼æ¸ããæ¬äººãªãããã«å¤æãã¤ããã®ã®ï¼ããä»®ã«èª°ããå¼ãç¶ãã§ãã¾ãã¨æ¶ãã¦ãããã®å¤æãã¤ããªããªããããªãã®ã¯ä»ã®ãã¡ã«æ¶ãã¦ãã¾ãããã¨æã次第ï¼
次ç¹ã¨ãã¦ã¯ï¼Windows çåãã«ãã£ã¨ããããã£ããã¨ããããï¼ãã¨ãã° OSS çã®ã¤ã³ã¹ãã¼ã©ã¼ãåãããã«ããã¨ã per-monitor DPI-aware 対å¿ã¨ãï¼ã¨ã¯ããï¼ãã¹ã¦ã¯ä»å¹´ã®ä¼æ¥å ·å次第ãªãã§ããã©ãï¼ãã¨ã©ããªãã¼ãã¢ããã«åå ããããï¼