Changeset 919 for trunk/Subtitles
- Timestamp:
- 07/29/08 22:44:52 (4 months ago)
- Files:
-
- trunk/Subtitles/SubATSUIRenderer.m (modified) (3 diffs)
- trunk/Subtitles/SubContext.h (modified) (1 diff)
- trunk/Subtitles/SubContext.m (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Subtitles/SubATSUIRenderer.m
r901 r919 350 350 -(void*)completedStyleParsing:(SubStyle*)s 351 351 { 352 const ATSUAttributeTag tags[] = {kATSUStyleRenderingOptionsTag, kATSUSizeTag, kATSUQDBoldfaceTag, kATSUQDItalicTag, kATSUQDUnderlineTag, kATSUStyleStrikeThroughTag, kATSUFontTag}; 353 const ByteCount sizes[] = {sizeof(ATSStyleRenderingOptions), sizeof(Fixed), sizeof(Boolean), sizeof(Boolean), sizeof(Boolean), sizeof(Boolean), sizeof(ATSUFontID)}; 354 355 ATSUFontID font = GetFontIDForSSAName(s->fontname); 352 const ATSUAttributeTag tags[] = {kATSUStyleRenderingOptionsTag, kATSUSizeTag, kATSUQDBoldfaceTag, kATSUQDItalicTag, kATSUQDUnderlineTag, kATSUStyleStrikeThroughTag, kATSUFontTag, kATSUVerticalCharacterTag}; 353 const ByteCount sizes[] = {sizeof(ATSStyleRenderingOptions), sizeof(Fixed), sizeof(Boolean), sizeof(Boolean), sizeof(Boolean), sizeof(Boolean), sizeof(ATSUFontID), sizeof(ATSUVerticalCharacterType)}; 354 355 NSString *fn = s->fontname; 356 ATSUVerticalCharacterType vertical = ParseFontVerticality(&fn) ? kATSUStronglyVertical : kATSUStronglyHorizontal; 357 ATSUFontID font = GetFontIDForSSAName(fn); 356 358 ATSFontRef fontRef = font; 357 359 ATSStyleRenderingOptions opt = kATSStyleApplyAntiAliasing; … … 360 362 ATSUStyle style; 361 363 362 const ATSUAttributeValuePtr vals[] = {&opt, &size, &b, &i, &u, &st, &font };364 const ATSUAttributeValuePtr vals[] = {&opt, &size, &b, &i, &u, &st, &font, &vertical}; 363 365 364 366 if (!s->platformSizeScale) s->platformSizeScale = GetWinFontSizeScale(fontRef); … … 462 464 sv(); 463 465 { 466 ATSUVerticalCharacterType vertical = ParseFontVerticality(&sval) ? kATSUStronglyVertical : kATSUStronglyHorizontal; 464 467 ATSUFontID font = GetFontIDForSSAName(sval); 465 468 466 if (font) SetATSUStyleOther(spanEx->style, kATSUFontTag, sizeof(ATSUFontID), &font); 469 if (font) { 470 SetATSUStyleFlag(spanEx->style, kATSUVerticalCharacterTag, vertical); 471 SetATSUStyleOther(spanEx->style, kATSUFontTag, sizeof(ATSUFontID), &font); 472 } 467 473 } 468 474 break; trunk/Subtitles/SubContext.h
r872 r919 55 55 56 56 extern UInt8 SSA2ASSAlignment(UInt8 a); 57 void ParseASSAlignment(UInt8 a, UInt8 *alignH, UInt8 *alignV);57 extern void ParseASSAlignment(UInt8 a, UInt8 *alignH, UInt8 *alignV); 58 58 extern SubRGBAColor ParseSSAColor(unsigned rgb); 59 extern BOOL ParseFontVerticality(NSString **fontname); trunk/Subtitles/SubContext.m
r891 r919 62 62 case 3: case 6: case 9: *alignH = kSubAlignmentRight; break; 63 63 } 64 } 65 66 BOOL ParseFontVerticality(NSString **fontname) 67 { 68 if ([*fontname characterAtIndex:0] == '@') { 69 *fontname = [*fontname substringFromIndex:1]; 70 return YES; 71 } 72 return NO; 64 73 } 65 74
