Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: src/psnames/psmodule.c

Issue 89753003: Update freetype to latest version of ASOP. (Closed) Base URL: https://chromium.googlesource.com/chromium/src/third_party/freetype.git@master
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/pshinter/pshrec.c ('k') | src/psnames/pspic.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /***************************************************************************/ 1 /***************************************************************************/
2 /* */ 2 /* */
3 /* psmodule.c */ 3 /* psmodule.c */
4 /* */ 4 /* */
5 /* PSNames module implementation (body). */ 5 /* PSNames module implementation (body). */
6 /* */ 6 /* */
7 /* Copyright 1996-2001, 2002, 2003, 2005, 2006, 2007, 2008 by */ 7 /* Copyright 1996-2003, 2005-2008, 2012, 2013 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9 /* */ 9 /* */
10 /* This file is part of the FreeType project, and may only be used, */ 10 /* This file is part of the FreeType project, and may only be used, */
11 /* modified, and distributed under the terms of the FreeType project */ 11 /* modified, and distributed under the terms of the FreeType project */
12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 12 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13 /* this file you indicate that you have read the license and */ 13 /* this file you indicate that you have read the license and */
14 /* understand and accept it fully. */ 14 /* understand and accept it fully. */
15 /* */ 15 /* */
16 /***************************************************************************/ 16 /***************************************************************************/
17 17
18 18
19 #include <ft2build.h> 19 #include <ft2build.h>
20 #include FT_INTERNAL_DEBUG_H
20 #include FT_INTERNAL_OBJECTS_H 21 #include FT_INTERNAL_OBJECTS_H
21 #include FT_SERVICE_POSTSCRIPT_CMAPS_H 22 #include FT_SERVICE_POSTSCRIPT_CMAPS_H
22 23
23 #include "psmodule.h" 24 #include "psmodule.h"
24 #include "pstables.h" 25 #include "pstables.h"
25 26
26 #include "psnamerr.h" 27 #include "psnamerr.h"
27 #include "pspic.h" 28 #include "pspic.h"
28 29
29 30
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 } 363 }
363 364
364 /* now compress the table a bit */ 365 /* now compress the table a bit */
365 count = (FT_UInt)( map - table->maps ); 366 count = (FT_UInt)( map - table->maps );
366 367
367 if ( count == 0 ) 368 if ( count == 0 )
368 { 369 {
369 /* No unicode chars here! */ 370 /* No unicode chars here! */
370 FT_FREE( table->maps ); 371 FT_FREE( table->maps );
371 if ( !error ) 372 if ( !error )
372 error = PSnames_Err_No_Unicode_Glyph_Name; 373 error = FT_THROW( No_Unicode_Glyph_Name );
373 } 374 }
374 else 375 else
375 { 376 {
376 /* Reallocate if the number of used entries is much smaller. */ 377 /* Reallocate if the number of used entries is much smaller. */
377 if ( count < num_glyphs / 2 ) 378 if ( count < num_glyphs / 2 )
378 { 379 {
379 (void)FT_RENEW_ARRAY( table->maps, num_glyphs, count ); 380 (void)FT_RENEW_ARRAY( table->maps, num_glyphs, count );
380 error = PSnames_Err_Ok; 381 error = FT_Err_Ok;
381 } 382 }
382 383
383 /* Sort the table in increasing order of unicode values, */ 384 /* Sort the table in increasing order of unicode values, */
384 /* taking care of glyph variants. */ 385 /* taking care of glyph variants. */
385 ft_qsort( table->maps, count, sizeof ( PS_UniMap ), 386 ft_qsort( table->maps, count, sizeof ( PS_UniMap ),
386 compare_uni_maps ); 387 compare_uni_maps );
387 } 388 }
388 389
389 table->num_maps = count; 390 table->num_maps = count;
390 } 391 }
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 ps_get_standard_strings( FT_UInt sid ) 515 ps_get_standard_strings( FT_UInt sid )
515 { 516 {
516 if ( sid >= FT_NUM_SID_NAMES ) 517 if ( sid >= FT_NUM_SID_NAMES )
517 return 0; 518 return 0;
518 519
519 return ft_standard_glyph_names + ft_sid_names[sid]; 520 return ft_standard_glyph_names + ft_sid_names[sid];
520 } 521 }
521 522
522 523
523 #ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST 524 #ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
524 FT_DEFINE_SERVICE_PSCMAPSREC(pscmaps_interface, 525
526 FT_DEFINE_SERVICE_PSCMAPSREC(
527 pscmaps_interface,
525 (PS_Unicode_ValueFunc) ps_unicode_value, 528 (PS_Unicode_ValueFunc) ps_unicode_value,
526 (PS_Unicodes_InitFunc) ps_unicodes_init, 529 (PS_Unicodes_InitFunc) ps_unicodes_init,
527 (PS_Unicodes_CharIndexFunc)ps_unicodes_char_index, 530 (PS_Unicodes_CharIndexFunc)ps_unicodes_char_index,
528 (PS_Unicodes_CharNextFunc) ps_unicodes_char_next, 531 (PS_Unicodes_CharNextFunc) ps_unicodes_char_next,
529 532
530 (PS_Macintosh_NameFunc) ps_get_macintosh_name, 533 (PS_Macintosh_NameFunc) ps_get_macintosh_name,
531 (PS_Adobe_Std_StringsFunc) ps_get_standard_strings, 534 (PS_Adobe_Std_StringsFunc) ps_get_standard_strings,
532 535
533 t1_standard_encoding, 536 t1_standard_encoding,
534 t1_expert_encoding 537 t1_expert_encoding )
535 )
536 538
537 #else 539 #else
538 540
539 FT_DEFINE_SERVICE_PSCMAPSREC(pscmaps_interface, 541 FT_DEFINE_SERVICE_PSCMAPSREC(
540 0, 542 pscmaps_interface,
541 0, 543 NULL,
542 0, 544 NULL,
543 0, 545 NULL,
546 NULL,
544 547
545 (PS_Macintosh_NameFunc) ps_get_macintosh_name, 548 (PS_Macintosh_NameFunc) ps_get_macintosh_name,
546 (PS_Adobe_Std_StringsFunc) ps_get_standard_strings, 549 (PS_Adobe_Std_StringsFunc) ps_get_standard_strings,
547 550
548 t1_standard_encoding, 551 t1_standard_encoding,
549 t1_expert_encoding 552 t1_expert_encoding )
550 )
551 553
552 #endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */ 554 #endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
553 555
554 556
555 FT_DEFINE_SERVICEDESCREC1(pscmaps_services, 557 FT_DEFINE_SERVICEDESCREC1(
556 FT_SERVICE_ID_POSTSCRIPT_CMAPS, &FT_PSCMAPS_INTERFACE_GET 558 pscmaps_services,
557 ) 559 FT_SERVICE_ID_POSTSCRIPT_CMAPS, &PSCMAPS_INTERFACE_GET )
558
559
560 560
561 561
562 static FT_Pointer 562 static FT_Pointer
563 psnames_get_service( FT_Module module, 563 psnames_get_service( FT_Module module,
564 const char* service_id ) 564 const char* service_id )
565 { 565 {
566 /* FT_PSCMAPS_SERVICES_GET derefers `library' in PIC mode */ 566 /* PSCMAPS_SERVICES_GET derefers `library' in PIC mode */
567 #ifdef FT_CONFIG_OPTION_PIC 567 #ifdef FT_CONFIG_OPTION_PIC
568 FT_Library library; 568 FT_Library library;
569 569
570 570
571 if ( !module ) 571 if ( !module )
572 return NULL; 572 return NULL;
573 library = module->library; 573 library = module->library;
574 if ( !library ) 574 if ( !library )
575 return NULL; 575 return NULL;
576 #else 576 #else
577 FT_UNUSED( module ); 577 FT_UNUSED( module );
578 #endif 578 #endif
579 579
580 return ft_service_list_lookup( FT_PSCMAPS_SERVICES_GET, service_id ); 580 return ft_service_list_lookup( PSCMAPS_SERVICES_GET, service_id );
581 } 581 }
582 582
583 #endif /* FT_CONFIG_OPTION_POSTSCRIPT_NAMES */ 583 #endif /* FT_CONFIG_OPTION_POSTSCRIPT_NAMES */
584 584
585 585
586 #ifndef FT_CONFIG_OPTION_POSTSCRIPT_NAMES 586 #ifndef FT_CONFIG_OPTION_POSTSCRIPT_NAMES
587 #define PUT_PS_NAMES_SERVICE(a) 0 587 #define PUT_PS_NAMES_SERVICE( a ) NULL
588 #else 588 #else
589 #define PUT_PS_NAMES_SERVICE(a) a 589 #define PUT_PS_NAMES_SERVICE( a ) a
590 #endif 590 #endif
591 591
592 FT_DEFINE_MODULE(psnames_module_class, 592 FT_DEFINE_MODULE(
593 psnames_module_class,
593 594
594 0, /* this is not a font driver, nor a renderer */ 595 0, /* this is not a font driver, nor a renderer */
595 sizeof ( FT_ModuleRec ), 596 sizeof ( FT_ModuleRec ),
596 597
597 "psnames", /* driver name */ 598 "psnames", /* driver name */
598 0x10000L, /* driver version */ 599 0x10000L, /* driver version */
599 0x20000L, /* driver requires FreeType 2 or above */ 600 0x20000L, /* driver requires FreeType 2 or above */
600 601
601 PUT_PS_NAMES_SERVICE((void*)&FT_PSCMAPS_INTERFACE_GET), /* module specific interface */ 602 PUT_PS_NAMES_SERVICE(
602 (FT_Module_Constructor)0, 603 (void*)&PSCMAPS_INTERFACE_GET ), /* module specific interface */
603 (FT_Module_Destructor) 0, 604 (FT_Module_Constructor)NULL,
604 (FT_Module_Requester) PUT_PS_NAMES_SERVICE(psnames_get_service) 605 (FT_Module_Destructor) NULL,
605 ) 606 (FT_Module_Requester) PUT_PS_NAMES_SERVICE( psnames_get_service ) )
606
607 607
608 608
609 /* END */ 609 /* END */
OLDNEW
« no previous file with comments | « src/pshinter/pshrec.c ('k') | src/psnames/pspic.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698