... |
... |
@@ -38,7 +38,7 @@ |
38
|
38
|
#define HEADER_HEIGHT 12
|
39
|
39
|
|
40
|
40
|
#define MAXPTSIZE 500 /* dtp */
|
41
|
|
-#define MAX_MM_AXES 15
|
|
41
|
+#define MAX_MM_AXES 16
|
42
|
42
|
|
43
|
43
|
/* definitions in ftcommon.c */
|
44
|
44
|
unsigned int
|
... |
... |
@@ -551,33 +551,32 @@ |
551
|
551
|
grLn();
|
552
|
552
|
grWriteln( "Use the following keys:");
|
553
|
553
|
grLn();
|
554
|
|
- grWriteln( "? display this help screen" );
|
555
|
|
- grWriteln( "A toggle axis grouping" );
|
556
|
|
- grWriteln( "a toggle anti-aliasing" );
|
557
|
|
- grWriteln( "h toggle outline hinting" );
|
558
|
|
- grWriteln( "b toggle embedded bitmaps" );
|
559
|
|
- grWriteln( "space toggle rendering mode" );
|
|
554
|
+ grWriteln( "F1, ? display this help screen" );
|
|
555
|
+ grWriteln( "q, ESC quit ftmulti" );
|
|
556
|
+ grWriteln( "F2 toggle axis grouping" );
|
|
557
|
+ grWriteln( "F3 toggle outline hinting" );
|
|
558
|
+ grWriteln( "F4 toggle embedded bitmaps" );
|
|
559
|
+ grWriteln( "F5 toggle anti-aliasing" );
|
|
560
|
+ grWriteln( "F6 cycle through hinting engines (if available)" );
|
560
|
561
|
grLn();
|
561
|
|
- grWriteln( "p, n previous/next font" );
|
|
562
|
+ grWriteln( "space toggle rendering mode" );
|
562
|
563
|
grLn();
|
563
|
|
- grWriteln( "H cycle through hinting engines (if available)" );
|
|
564
|
+ grWriteln( ", . previous/next font" );
|
564
|
565
|
grLn();
|
565
|
566
|
grWriteln( "Up, Down change pointsize by 1 unit" );
|
566
|
567
|
grWriteln( "PgUp, PgDn change pointsize by 10 units" );
|
567
|
568
|
grLn();
|
568
|
569
|
grWriteln( "Left, Right adjust index by 1" );
|
569
|
|
- grWriteln( "F7, F8 adjust index by 10" );
|
570
|
|
- grWriteln( "F9, F10 adjust index by 100" );
|
571
|
|
- grWriteln( "F11, F12 adjust index by 1000" );
|
|
570
|
+ grWriteln( "F7, F8 adjust index by 16" );
|
|
571
|
+ grWriteln( "F9, F10 adjust index by 256" );
|
|
572
|
+ grWriteln( "F11, F12 adjust index by 4096" );
|
572
|
573
|
grLn();
|
573
|
|
- grWriteln( "F1, F2 adjust axis 0 7, 8 adjust axis 6 &, * adjust axis 12" );
|
574
|
|
- grWriteln( "F3, F4 adjust axis 1 9, 0 adjust axis 7 (, ) adjust axis 13" );
|
575
|
|
- grWriteln( "F5, F6 adjust axis 2 -, = adjust axis 8 _, + adjust axis 14" );
|
576
|
|
- grWriteln( "1, 2 adjust axis 3 !, @ adjust axis 9" );
|
577
|
|
- grWriteln( "3, 4 adjust axis 4 #, $ adjust axis 10" );
|
578
|
|
- grWriteln( "5, 6 adjust axis 5 %, ^ adjust axis 11" );
|
|
574
|
+ grWriteln( "a, A adjust axis 0" );
|
|
575
|
+ grWriteln( "b, B adjust axis 1" );
|
|
576
|
+ grWriteln( "..." );
|
|
577
|
+ grWriteln( "p, P adjust axis 16" );
|
579
|
578
|
grLn();
|
580
|
|
- grWriteln( "i, I adjust axis range increment" );
|
|
579
|
+ grWriteln( "-, + adjust axis range increment" );
|
581
|
580
|
grLn();
|
582
|
581
|
grWriteln( "Axes marked with an asterisk are hidden." );
|
583
|
582
|
grLn();
|
... |
... |
@@ -622,37 +621,38 @@ |
622
|
621
|
case grKEY( 'q' ):
|
623
|
622
|
return 0;
|
624
|
623
|
|
|
624
|
+ case grKeyF1:
|
625
|
625
|
case grKEY( '?' ):
|
626
|
626
|
Help();
|
627
|
627
|
break;
|
628
|
628
|
|
629
|
629
|
/* mode keys */
|
630
|
630
|
|
631
|
|
- case grKEY( 'A' ):
|
|
631
|
+ case grKeyF2:
|
632
|
632
|
grouping = !grouping;
|
633
|
633
|
new_header = grouping ? "axis grouping is now on"
|
634
|
634
|
: "axis grouping is now off";
|
635
|
635
|
set_up_axes();
|
636
|
636
|
break;
|
637
|
637
|
|
638
|
|
- case grKEY( 'a' ):
|
|
638
|
+ case grKeyF5:
|
639
|
639
|
antialias = !antialias;
|
640
|
640
|
new_header = antialias ? "anti-aliasing is now on"
|
641
|
641
|
: "anti-aliasing is now off";
|
642
|
642
|
break;
|
643
|
643
|
|
644
|
|
- case grKEY( 'b' ):
|
|
644
|
+ case grKeyF4:
|
645
|
645
|
use_sbits = !use_sbits;
|
646
|
646
|
new_header = use_sbits
|
647
|
647
|
? "embedded bitmaps are now used if available"
|
648
|
648
|
: "embedded bitmaps are now ignored";
|
649
|
649
|
break;
|
650
|
650
|
|
651
|
|
- case grKEY( 'n' ):
|
652
|
|
- case grKEY( 'p' ):
|
|
651
|
+ case grKEY( ',' ):
|
|
652
|
+ case grKEY( '.' ):
|
653
|
653
|
return (int)event.key;
|
654
|
654
|
|
655
|
|
- case grKEY( 'h' ):
|
|
655
|
+ case grKeyF3:
|
656
|
656
|
hinted = !hinted;
|
657
|
657
|
new_header = hinted ? "glyph hinting is now active"
|
658
|
658
|
: "glyph hinting is now ignored";
|
... |
... |
@@ -664,7 +664,7 @@ |
664
|
664
|
: "rendering test text string";
|
665
|
665
|
break;
|
666
|
666
|
|
667
|
|
- case grKEY( 'H' ):
|
|
667
|
+ case grKeyF6:
|
668
|
668
|
if ( !strcmp( font_format, "CFF" ) )
|
669
|
669
|
FTDemo_Event_Cff_Hinting_Engine_Change( library,
|
670
|
670
|
&cff_hinting_engine,
|
... |
... |
@@ -681,169 +681,179 @@ |
681
|
681
|
tt_interpreter_version_change();
|
682
|
682
|
break;
|
683
|
683
|
|
684
|
|
- /* MM related keys */
|
|
684
|
+ /* MM-related keys */
|
685
|
685
|
|
686
|
|
- case 'i':
|
|
686
|
+ case grKEY( '+' ):
|
687
|
687
|
/* value 100 is arbitrary */
|
688
|
688
|
if ( increment < 100 )
|
689
|
689
|
increment += 1;
|
690
|
690
|
break;
|
691
|
691
|
|
692
|
|
- case 'I':
|
|
692
|
+ case grKEY( '-' ):
|
693
|
693
|
if ( increment > 1 )
|
694
|
694
|
increment -= 1;
|
695
|
695
|
break;
|
696
|
696
|
|
697
|
|
- case grKeyF1:
|
|
697
|
+ case grKEY( 'a' ):
|
698
|
698
|
i = -increment;
|
699
|
699
|
axis = 0;
|
700
|
700
|
goto Do_Axis;
|
701
|
701
|
|
702
|
|
- case grKeyF2:
|
|
702
|
+ case grKEY( 'A' ):
|
703
|
703
|
i = increment;
|
704
|
704
|
axis = 0;
|
705
|
705
|
goto Do_Axis;
|
706
|
706
|
|
707
|
|
- case grKeyF3:
|
|
707
|
+ case grKEY( 'b' ):
|
708
|
708
|
i = -increment;
|
709
|
709
|
axis = 1;
|
710
|
710
|
goto Do_Axis;
|
711
|
711
|
|
712
|
|
- case grKeyF4:
|
|
712
|
+ case grKEY( 'B' ):
|
713
|
713
|
i = increment;
|
714
|
714
|
axis = 1;
|
715
|
715
|
goto Do_Axis;
|
716
|
716
|
|
717
|
|
- case grKeyF5:
|
|
717
|
+ case grKEY( 'c' ):
|
718
|
718
|
i = -increment;
|
719
|
719
|
axis = 2;
|
720
|
720
|
goto Do_Axis;
|
721
|
721
|
|
722
|
|
- case grKeyF6:
|
|
722
|
+ case grKEY( 'C' ):
|
723
|
723
|
i = increment;
|
724
|
724
|
axis = 2;
|
725
|
725
|
goto Do_Axis;
|
726
|
726
|
|
727
|
|
- case grKEY( '1' ):
|
|
727
|
+ case grKEY( 'd' ):
|
728
|
728
|
i = -increment;
|
729
|
729
|
axis = 3;
|
730
|
730
|
goto Do_Axis;
|
731
|
731
|
|
732
|
|
- case grKEY( '2' ):
|
|
732
|
+ case grKEY( 'D' ):
|
733
|
733
|
i = increment;
|
734
|
734
|
axis = 3;
|
735
|
735
|
goto Do_Axis;
|
736
|
736
|
|
737
|
|
- case grKEY( '3' ):
|
|
737
|
+ case grKEY( 'e' ):
|
738
|
738
|
i = -increment;
|
739
|
739
|
axis = 4;
|
740
|
740
|
goto Do_Axis;
|
741
|
741
|
|
742
|
|
- case grKEY( '4' ):
|
|
742
|
+ case grKEY( 'E' ):
|
743
|
743
|
i = increment;
|
744
|
744
|
axis = 4;
|
745
|
745
|
goto Do_Axis;
|
746
|
746
|
|
747
|
|
- case grKEY( '5' ):
|
|
747
|
+ case grKEY( 'f' ):
|
748
|
748
|
i = -increment;
|
749
|
749
|
axis = 5;
|
750
|
750
|
goto Do_Axis;
|
751
|
751
|
|
752
|
|
- case grKEY( '6' ):
|
|
752
|
+ case grKEY( 'F' ):
|
753
|
753
|
i = increment;
|
754
|
754
|
axis = 5;
|
755
|
755
|
goto Do_Axis;
|
756
|
756
|
|
757
|
|
- case grKEY( '7' ):
|
|
757
|
+ case grKEY( 'g' ):
|
758
|
758
|
i = -increment;
|
759
|
759
|
axis = 6;
|
760
|
760
|
goto Do_Axis;
|
761
|
761
|
|
762
|
|
- case grKEY( '8' ):
|
|
762
|
+ case grKEY( 'G' ):
|
763
|
763
|
i = increment;
|
764
|
764
|
axis = 6;
|
765
|
765
|
goto Do_Axis;
|
766
|
766
|
|
767
|
|
- case grKEY( '9' ):
|
|
767
|
+ case grKEY( 'h' ):
|
768
|
768
|
i = -increment;
|
769
|
769
|
axis = 7;
|
770
|
770
|
goto Do_Axis;
|
771
|
771
|
|
772
|
|
- case grKEY( '0' ):
|
|
772
|
+ case grKEY( 'H' ):
|
773
|
773
|
i = increment;
|
774
|
774
|
axis = 7;
|
775
|
775
|
goto Do_Axis;
|
776
|
776
|
|
777
|
|
- case grKEY( '-' ):
|
|
777
|
+ case grKEY( 'i' ):
|
778
|
778
|
i = -increment;
|
779
|
779
|
axis = 8;
|
780
|
780
|
goto Do_Axis;
|
781
|
781
|
|
782
|
|
- case grKEY( '=' ):
|
|
782
|
+ case grKEY( 'I' ):
|
783
|
783
|
i = increment;
|
784
|
784
|
axis = 8;
|
785
|
785
|
goto Do_Axis;
|
786
|
786
|
|
787
|
|
- case grKEY( '!' ):
|
|
787
|
+ case grKEY( 'j' ):
|
788
|
788
|
i = -increment;
|
789
|
789
|
axis = 9;
|
790
|
790
|
goto Do_Axis;
|
791
|
791
|
|
792
|
|
- case grKEY( '@' ):
|
|
792
|
+ case grKEY( 'J' ):
|
793
|
793
|
i = increment;
|
794
|
794
|
axis = 9;
|
795
|
795
|
goto Do_Axis;
|
796
|
796
|
|
797
|
|
- case grKEY( '#' ):
|
|
797
|
+ case grKEY( 'k' ):
|
798
|
798
|
i = -increment;
|
799
|
799
|
axis = 10;
|
800
|
800
|
goto Do_Axis;
|
801
|
801
|
|
802
|
|
- case grKEY( '$' ):
|
|
802
|
+ case grKEY( 'K' ):
|
803
|
803
|
i = increment;
|
804
|
804
|
axis = 10;
|
805
|
805
|
goto Do_Axis;
|
806
|
806
|
|
807
|
|
- case grKEY( '%' ):
|
|
807
|
+ case grKEY( 'l' ):
|
808
|
808
|
i = -increment;
|
809
|
809
|
axis = 11;
|
810
|
810
|
goto Do_Axis;
|
811
|
811
|
|
812
|
|
- case grKEY( '^' ):
|
|
812
|
+ case grKEY( 'L' ):
|
813
|
813
|
i = increment;
|
814
|
814
|
axis = 11;
|
815
|
815
|
goto Do_Axis;
|
816
|
816
|
|
817
|
|
- case grKEY( '&' ):
|
|
817
|
+ case grKEY( 'm' ):
|
818
|
818
|
i = -increment;
|
819
|
819
|
axis = 12;
|
820
|
820
|
goto Do_Axis;
|
821
|
821
|
|
822
|
|
- case grKEY( '*' ):
|
|
822
|
+ case grKEY( 'M' ):
|
823
|
823
|
i = increment;
|
824
|
824
|
axis = 12;
|
825
|
825
|
goto Do_Axis;
|
826
|
826
|
|
827
|
|
- case grKEY( '(' ):
|
|
827
|
+ case grKEY( 'n' ):
|
828
|
828
|
i = -increment;
|
829
|
829
|
axis = 13;
|
830
|
830
|
goto Do_Axis;
|
831
|
831
|
|
832
|
|
- case grKEY( ')' ):
|
|
832
|
+ case grKEY( 'N' ):
|
833
|
833
|
i = increment;
|
834
|
834
|
axis = 13;
|
835
|
835
|
goto Do_Axis;
|
836
|
836
|
|
837
|
|
- case grKEY( '_' ):
|
|
837
|
+ case grKEY( 'o' ):
|
838
|
838
|
i = -increment;
|
839
|
839
|
axis = 14;
|
840
|
840
|
goto Do_Axis;
|
841
|
841
|
|
842
|
|
- case grKEY( '+' ):
|
|
842
|
+ case grKEY( 'O' ):
|
843
|
843
|
i = increment;
|
844
|
844
|
axis = 14;
|
845
|
845
|
goto Do_Axis;
|
846
|
846
|
|
|
847
|
+ case grKEY( 'p' ):
|
|
848
|
+ i = -increment;
|
|
849
|
+ axis = 15;
|
|
850
|
+ goto Do_Axis;
|
|
851
|
+
|
|
852
|
+ case grKEY( 'P' ):
|
|
853
|
+ i = increment;
|
|
854
|
+ axis = 15;
|
|
855
|
+ goto Do_Axis;
|
|
856
|
+
|
847
|
857
|
/* scaling related keys */
|
848
|
858
|
|
849
|
859
|
case grKeyPageUp:
|
... |
... |
@@ -873,27 +883,27 @@ |
873
|
883
|
goto Do_Glyph;
|
874
|
884
|
|
875
|
885
|
case grKeyF7:
|
876
|
|
- i = -10;
|
|
886
|
+ i = -16;
|
877
|
887
|
goto Do_Glyph;
|
878
|
888
|
|
879
|
889
|
case grKeyF8:
|
880
|
|
- i = 10;
|
|
890
|
+ i = 16;
|
881
|
891
|
goto Do_Glyph;
|
882
|
892
|
|
883
|
893
|
case grKeyF9:
|
884
|
|
- i = -100;
|
|
894
|
+ i = -256;
|
885
|
895
|
goto Do_Glyph;
|
886
|
896
|
|
887
|
897
|
case grKeyF10:
|
888
|
|
- i = 100;
|
|
898
|
+ i = 256;
|
889
|
899
|
goto Do_Glyph;
|
890
|
900
|
|
891
|
901
|
case grKeyF11:
|
892
|
|
- i = -1000;
|
|
902
|
+ i = -4096;
|
893
|
903
|
goto Do_Glyph;
|
894
|
904
|
|
895
|
905
|
case grKeyF12:
|
896
|
|
- i = 1000;
|
|
906
|
+ i = 4096;
|
897
|
907
|
goto Do_Glyph;
|
898
|
908
|
|
899
|
909
|
default:
|
... |
... |
@@ -1302,8 +1312,8 @@ |
1302
|
1312
|
|
1303
|
1313
|
|
1304
|
1314
|
strbuf_reset( header );
|
1305
|
|
- strbuf_format( header, "%2i %.50s%s: %.02f",
|
1306
|
|
- n,
|
|
1315
|
+ strbuf_format( header, "%c %.50s%s: %.02f",
|
|
1316
|
+ n + 'A',
|
1307
|
1317
|
multimaster->axis[axis].name,
|
1308
|
1318
|
hidden[axis] ? "*" : "",
|
1309
|
1319
|
design_pos[axis] / 65536.0 );
|
... |
... |
@@ -1357,7 +1367,7 @@ |
1357
|
1367
|
if ( !( key = Process_Event() ) )
|
1358
|
1368
|
goto End;
|
1359
|
1369
|
|
1360
|
|
- if ( key == 'n' )
|
|
1370
|
+ if ( key == grKEY( '.' ) )
|
1361
|
1371
|
{
|
1362
|
1372
|
if ( file_loaded >= 1 )
|
1363
|
1373
|
FT_Done_Face( face );
|
... |
... |
@@ -1368,7 +1378,7 @@ |
1368
|
1378
|
goto NewFile;
|
1369
|
1379
|
}
|
1370
|
1380
|
|
1371
|
|
- if ( key == 'p' )
|
|
1381
|
+ if ( key == grKEY( ',' ) )
|
1372
|
1382
|
{
|
1373
|
1383
|
if ( file_loaded >= 1 )
|
1374
|
1384
|
FT_Done_Face( face );
|
... |
... |
@@ -1379,7 +1389,7 @@ |
1379
|
1389
|
goto NewFile;
|
1380
|
1390
|
}
|
1381
|
1391
|
|
1382
|
|
- if ( key == 'H' )
|
|
1392
|
+ if ( key == grKeyF6 )
|
1383
|
1393
|
{
|
1384
|
1394
|
/* enforce reloading */
|
1385
|
1395
|
if ( file_loaded >= 1 )
|