• R/O
  • SSH
  • HTTPS

vxv-tools: コミット


コミットメタ情報

リビジョン50 (tree)
日時2010-02-12 01:34:33
作者satofumi

ログメッセージ

複数ファイルを探索するように修正

変更サマリ

差分

--- guiCtrl/cpp/searchTTF.cpp (revision 49)
+++ guiCtrl/cpp/searchTTF.cpp (revision 50)
@@ -6,16 +6,20 @@
66
77 #include "searchTTF.h"
88 #include "fileUtils.h"
9+#include <vector>
910 #include <cstring>
1011
12+using namespace std;
1113
12-std::string searchTTF(const char* fname) {
13- if (strlen(fname) == 0) {
14- // !!! 初期指定が存在しなかった場合のみ、複数のフォントを繰り返し試すべき
15- //fname = "Vera.ttf";
16- fname = "VL-Gothic-Regular.ttf";
17- }
1814
15+std::string searchTTF(const char* fname)
16+{
17+ vector<string> try_files;
18+ try_files.push_back(fname);
19+
20+ try_files.push_back("Vera.ttf");
21+ try_files.push_back("VL-Gothic-Regular.ttf");
22+
1923 // Linux
2024 const char* linux_path[] ={
2125 "/usr/X11R6/lib/X11/fonts/TTF",
@@ -32,9 +36,13 @@
3236
3337 NULL,
3438 };
35- std::string ttf_path = VXV::searchFile(fname, linux_path);
36- if (!ttf_path.empty()) {
37- return ttf_path;
39+
40+ size_t n = try_files.size();
41+ for (size_t i = 0; i < n; ++i) {
42+ string ttf_path = VXV::searchFile(try_files[i].c_str(), linux_path);
43+ if (!ttf_path.empty()) {
44+ return ttf_path;
45+ }
3846 }
3947
4048 // Windows
@@ -42,7 +50,7 @@
4250 "C://WINDOWS/Fonts",
4351 NULL,
4452 };
45- ttf_path = VXV::searchFile("times.ttf", windows_path);
53+ string ttf_path = VXV::searchFile("times.ttf", windows_path);
4654 if (!ttf_path.empty()) {
4755 return ttf_path;
4856 }
旧リポジトリブラウザで表示