OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
336 0x1F200, 0x1F6FF | 336 0x1F200, 0x1F6FF |
337 }; | 337 }; |
338 | 338 |
339 return valueInIntervalList(cjkSymbolRanges, c); | 339 return valueInIntervalList(cjkSymbolRanges, c); |
340 } | 340 } |
341 | 341 |
342 unsigned Character::expansionOpportunityCount(const LChar* characters, size_t le ngth, TextDirection direction, bool& isAfterExpansion, const TextJustify textJus tify) | 342 unsigned Character::expansionOpportunityCount(const LChar* characters, size_t le ngth, TextDirection direction, bool& isAfterExpansion, const TextJustify textJus tify) |
343 { | 343 { |
344 unsigned count = 0; | 344 unsigned count = 0; |
345 if (textJustify == TextJustifyDistribute) { | 345 if (textJustify == TextJustifyDistribute) { |
346 count = length - 1; | 346 if (length == 0) |
347 return 0; | |
348 int lastCharacter = (direction == LTR) ? length - 1 : 0; | |
349 isAfterExpansion = treatAsSpace(characters[lastCharacter]); | |
350 return length - 1; | |
kojii
2014/12/11 08:47:36
I jumped in from the mid of review discussions wit
| |
351 } | |
352 | |
353 if (direction == LTR) { | |
354 for (size_t i = 0; i < length; ++i) { | |
355 if (treatAsSpace(characters[i])) { | |
356 count++; | |
357 isAfterExpansion = true; | |
358 } else { | |
359 isAfterExpansion = false; | |
360 } | |
361 } | |
347 } else { | 362 } else { |
348 if (direction == LTR) { | 363 for (size_t i = length; i > 0; --i) { |
349 for (size_t i = 0; i < length; ++i) { | 364 if (treatAsSpace(characters[i - 1])) { |
350 if (treatAsSpace(characters[i])) | 365 count++; |
351 count++; | 366 isAfterExpansion = true; |
352 } | 367 } else { |
353 } else { | 368 isAfterExpansion = false; |
354 for (size_t i = length; i > 0; --i) { | |
355 if (treatAsSpace(characters[i - 1])) | |
356 count++; | |
357 } | 369 } |
358 } | 370 } |
359 } | 371 } |
360 int lastCharacter = (direction == LTR) ? length - 1 : 0; | |
361 isAfterExpansion = treatAsSpace(characters[lastCharacter]); | |
362 | 372 |
363 return count; | 373 return count; |
364 } | 374 } |
365 | 375 |
366 unsigned Character::expansionOpportunityCount(const UChar* characters, size_t le ngth, TextDirection direction, bool& isAfterExpansion, const TextJustify textJus tify) | 376 unsigned Character::expansionOpportunityCount(const UChar* characters, size_t le ngth, TextDirection direction, bool& isAfterExpansion, const TextJustify textJus tify) |
367 { | 377 { |
368 unsigned count = 0; | 378 unsigned count = 0; |
369 if (direction == LTR) { | 379 if (direction == LTR) { |
370 for (size_t i = 0; i < length; ++i) { | 380 for (size_t i = 0; i < length; ++i) { |
371 UChar32 character = characters[i]; | 381 UChar32 character = characters[i]; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
428 { | 438 { |
429 return normalizeSpacesInternal(characters, length); | 439 return normalizeSpacesInternal(characters, length); |
430 } | 440 } |
431 | 441 |
432 String Character::normalizeSpaces(const UChar* characters, unsigned length) | 442 String Character::normalizeSpaces(const UChar* characters, unsigned length) |
433 { | 443 { |
434 return normalizeSpacesInternal(characters, length); | 444 return normalizeSpacesInternal(characters, length); |
435 } | 445 } |
436 | 446 |
437 } // namespace blink | 447 } // namespace blink |
OLD | NEW |