Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


八木さん、早速のパッチをありがとうございます。

On Tue, 2014-02-11 at 17:03 +0900, Tomofumi Yagi wrote:

バグ票に、暫定回避のためのパッチを添付しました。
4.0 の頃に近い動作に戻すためのパッチです。
根本解決されるまでの暫定対策として、master に取り込んで貰おうと思います。

https://bugs.freedesktop.org/attachment.cgi?id=93838
https://bugs.freedesktop.org/show_bug.cgi?id=72042

変更の内容に関してはgerritでのレビューを待ちたいと思いますが、コーディン
グ・スタイルに関して幾つか指摘させてください。

まず最初に、変数の名前についてですが、rLangなどのrで始まる変数は
reference variableの時にだけ使うようにしています。なのでこの場合はaLang
としておいたほうがよいでしょう。

あとconstの位置ですが、以下のライン

OString const rLang =
OUStringToOString( Application::GetSettings().GetUILanguageTag().getLanguage(), 
RTL_TEXTENCODING_UTF8 );

で OString constという部分は const OStringとした方が我々としては読みやす
くなります。C/C++的にはどちらも正しいのですが、コア開発陣の殆どがconstを
typeの前に置くスタイルを取っているので(例外もいますが)そちらの方に統一す
るのがいいかと思います。

最後にカッコの位置ですが、このコードベースでは

if ()
{
}

というスタイルを使うようにしているのでココらへんも統一しておくといいと思
います。既存のコードでこのスタイルに沿ってないコードも見ますが、それらは
例外であって規則ではない、ということも付け足しておきます。


動作を 2 つ変更します。
(1) 使える場合はローカライズされたフォント名を使い、使えない場合は英語の 
フォント名を使うようにします。
 (UI 言語と比較して、使える使えないを判定しています)

(2) スタイルも含んだ形でフォント名を取得するようにしました。
 例えば、「ヒラギノ明朝 ProN W3」の形式でフォント名を取得します。
 4.1、4.2 では「ヒラギノ明朝 ProN」までを取得しているようです。
 この変更の影響で 4.1、4.2 では VCL.xcu を利用したフォントの判定処理が 
意図通りに動きません。
 なぜ変更されたのか分からなかったのですが、一旦、4.0 の頃の動作に戻した 
いと思います。

この「なぜに変更されたか」の点なんですが、gitログを見た感じだと、以前は
フォント処理にATSUIが使われていたのをCore Textを使うように変更がなされて
いた形跡があるので、その作業中に日本語フォントに関する挙動が変わってしま
ったものと思われます。ただ僕もここら辺は詳しくないので憶測ですが...。

近日中に、gerrit のレビューに出す予定です。

了解です。ありがとうございます。

吉田


-- 
Unsubscribe instructions: E-mail to discuss+unsubscribe@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.