リビジョン | 14 (tree) |
---|---|
日時 | 2020-04-13 13:43:16 |
作者 | ![]() |
* pdf-brewer 0.4.1
FontLoaderのnomalize処理でNullPointerExceptionが発生するバグを修正しました。
@@ -69,6 +69,10 @@ | ||
69 | 69 | } |
70 | 70 | |
71 | 71 | public TrueTypeFont get(String name) { |
72 | + if(name == null || name.isBlank()) { | |
73 | + return null; | |
74 | + } | |
75 | + | |
72 | 76 | TrueTypeFont ttf = fonts.get(normalize(name)); |
73 | 77 | if(ttf != null) { |
74 | 78 | return ttf; |
@@ -147,16 +151,22 @@ | ||
147 | 151 | |
148 | 152 | List<String> names = new ArrayList<String>(); |
149 | 153 | String fontName = ttf.getName(); |
150 | - names.add(normalize(fontName)); | |
151 | - | |
154 | + if(fontName != null && !fontName.isBlank()) { | |
155 | + names.add(normalize(fontName)); | |
156 | + } | |
157 | + | |
152 | 158 | NamingTable table = ttf.getNaming(); |
153 | 159 | String fontFamily = table.getFontFamily(); |
154 | 160 | String fontSubFamily = table.getFontSubFamily(); |
155 | - names.add(normalize(fontFamily + "-" + fontSubFamily)); | |
156 | - | |
161 | + if(fontFamily != null && !fontFamily.isBlank() && fontSubFamily != null && !fontSubFamily.isBlank()) { | |
162 | + names.add(normalize(fontFamily + "-" + fontSubFamily)); | |
163 | + } | |
164 | + | |
157 | 165 | String postScriptName = table.getPostScriptName(); |
158 | - names.add(normalize(postScriptName)); | |
159 | - | |
166 | + if(postScriptName != null && !postScriptName.isBlank()) { | |
167 | + names.add(normalize(postScriptName)); | |
168 | + } | |
169 | + | |
160 | 170 | Set<Integer> languages = new HashSet<Integer>(); |
161 | 171 | Map<Integer, String> fontFamilies1 = new HashMap<Integer, String>(); |
162 | 172 | Map<Integer, String> fontSubFamilies2 = new HashMap<Integer, String>(); |
@@ -180,9 +190,9 @@ | ||
180 | 190 | } |
181 | 191 | for(Integer languageId : languages) { |
182 | 192 | fontFamily = fontFamilies1.get(languageId); |
183 | - if(fontFamily != null) { | |
193 | + if(fontFamily != null && !fontFamily.isBlank()) { | |
184 | 194 | fontSubFamily = fontSubFamilies2.get(languageId); |
185 | - if(fontSubFamily != null) { | |
195 | + if(fontSubFamily != null && !fontSubFamily.isBlank()) { | |
186 | 196 | names.add(normalize(fontFamily + "-" + fontSubFamily)); |
187 | 197 | } else { |
188 | 198 | names.add(normalize(fontFamily)); |
@@ -189,9 +199,9 @@ | ||
189 | 199 | } |
190 | 200 | } |
191 | 201 | fontFamily = fontFamilies16.get(languageId); |
192 | - if(fontFamily != null) { | |
202 | + if(fontFamily != null && !fontFamily.isBlank()) { | |
193 | 203 | fontSubFamily = fontSubFamilies17.get(languageId); |
194 | - if(fontSubFamily != null) { | |
204 | + if(fontSubFamily != null && !fontSubFamily.isBlank()) { | |
195 | 205 | names.add(normalize(fontFamily + "-" + fontSubFamily)); |
196 | 206 | } else { |
197 | 207 | names.add(normalize(fontFamily)); |