# List of tests to be skipped on mac platforms, one per line.
# Try to keep the file alphabetized.

# Pixel tests
font_size.in

# Corpus tests
050_extra_m.pdf
12.pdf
1_matrix.pdf
1m_diff_lsjdf.pdf
1m_same_xxxx.pdf
2_11_stamp3.pdf
2_color_calrgb.pdf
2_color_indexed.pdf
2_uncolor_tiling.pdf
3_interpolate_image.pdf
3bigpreview.pdf
4_35.pdf
4_39.pdf
5.1.pdf
5.5_simple_font.pdf
8.2_name_dest_f_dest.pdf
8.2_outline.pdf
8.3_presentation.pdf
FRC_10_8.2.2_Prev_remove_all.pdf
FRC_11_8.2.2_Prev_remove_obj.pdf
FRC_12_8.2.2__Next_remove_value.pdf
FRC_13_8.2.2__Next_remove_all.pdf
FRC_14_8.2.2__Next_remove_obj.pdf
FRC_15_8.2.2__Next_exchange.pdf
FRC_16_8.2.2__Next_add.pdf
FRC_17_8.2.2__T8.4_First_remove_value.pdf
FRC_18_8.2.2__T8.4_First_remove_all.pdf
FRC_19_8.2.2__T8.4_First_remove_obj.pdf
FRC_1_8.2.2__Title_edit.pdf
FRC_20_8.2.2__T8.4_First_remove_value2.pdf
FRC_21_8.2.2__T8.4_First_remove_all2.pdf
FRC_22_8.2.2__T8.4_First_remove_obj2.pdf
FRC_23_8.2.2__T8.4_Last_remove_value.pdf
FRC_24_8.2.2__T8.4_Last_remove_all.pdf
FRC_25_8.2.2__T8.4_Last_remove_obj.pdf
FRC_26_8.2.2__T8.4_Last_remove_value2.pdf
FRC_27_8.2.2__T8.4_Last_remove_all2.pdf
FRC_28_8.2.2__T8.4_Last_remove_obj2.pdf
FRC_29_8.2.2__T8.4_First_Last_exchange.pdf
FRC_2_8.2.2__Title_remove_value.pdf
FRC_3.5_AuthEvent_EFOpen.pdf
FRC_3.5_CFM_AESV2__EncryptMetadata_F.pdf
FRC_3.5_CF_EFF_StdCF_Strf_Stmf_Identity.pdf
FRC_3.5_CF_Strf_stmf_StdCF.pdf
FRC_3.5_EncryptMetadata_None.pdf
FRC_3.5_V_4_CFM_V2_.pdf
FRC_3.5_V_5_CFM_AESV3.pdf
FRC_3.5_v_1_length_40_Filter_standard.pdf
FRC_3.5_v_2_length_128_AuthEvent_DocOpen_.pdf
FRC_31_8.2.2_add_dest_entry.pdf
FRC_32_8.2.2_A_Support_action.pdf
FRC_33_8.2.2_A_empty.pdf
FRC_34_8.2.2_A_remove.pdf
FRC_35_8.2.2_A_remove_A_item.pdf
FRC_36_8.2.2_Dest.pdf
FRC_37_8.2.2_Dest_empty.pdf
FRC_38_8.2.2_Dest_remove.pdf
FRC_39_8.2.2_C_edit.pdf
FRC_3_8.2.2__Title_remove_all.pdf
FRC_40_8.2.2_C_empty1.pdf
FRC_41_8.2.2_C_empty2.pdf
FRC_42_8.2.2_C_empty3.pdf
FRC_43_8.2.2_C_empty.pdf
FRC_44_8.2.2_C_remove.pdf
FRC_45_8.2.2_F_edit_F_1_2_3.pdf
FRC_46_8.2.2_F_edit_F__1__2__3.pdf
FRC_47_8.2.2_F_edit_F_32__32.pdf
FRC_48_8.2.2_F_edit_F_100__100.pdf
FRC_49_8.2.2_F_empty.pdf
FRC_4_8.2.2_Parent_edit2.pdf
FRC_50_8.2.2_F_remove.pdf
FRC_51_8.2.2_T_8.4__Count_edit_count_100.pdf
FRC_52_8.2.2_T_8.4__Count_edit_count_0.pdf
FRC_53_8.2.2_T_8.4__Count_empty.pdf
FRC_54_8.2.2_T_8.4__Count_empty1.pdf
FRC_55_8.2.2_T_8.4__Count_remove.pdf
FRC_5_8.2.2_Parent_remove_value.pdf
FRC_6_8.2.2_Parent_remove_all.pdf
FRC_7_8.2.2_Parent_remove_obj.pdf
FRC_8.4.1_Annotations_AP_N_.pdf
FRC_8.4.1_Annotations_AP_N_R.D_.pdf
FRC_8.4.1_Annotations_AP_N_R_.pdf
FRC_8.4.1_Annotations_AS_Off_.pdf
FRC_8.4.1_Annotations_AS_Yes_.pdf
FRC_8.4.1_Annotations_Border.pdf
FRC_8.4.1_Annotations_C.pdf
FRC_8.4.1_Annotations_P.pdf
FRC_8.4.1_Annotations_Rect.pdf
FRC_8.4.1_Annotations_Type.pdf
FRC_8.5_Catalog_OpenAction.pdf
FRC_8.5_Catalog_WC.pdf
FRC_8.5_Link_URL.pdf
FRC_8.5_Outline_A.pdf
FRC_8.5_Page_O_URI.pdf
FRC_8.5_Page_PV_Named_Phantom.pdf
FRC_8.5_Screen_Fo_JavaScript.pdf
FRC_8.5_Screen_Img_D_Launch.pdf
FRC_8.5_Screen_Rendition.pdf
FRC_8.5_Widget_C.pdf
FRC_8.5_Widget_F.pdf
FRC_8.5_Widget_K.pdf
FRC_8.5_Widget_V.pdf
FRC_8_8.2.2_Parent_edit.pdf
FRC_9_8.2.2_Prev_remove_value.pdf
action_execute_a_menu_item.pdf
action_hide_show_form.pdf
action_on_focus.pdf
action_open_a_file.pdf
action_pdf_save_close.pdf
action_reset.pdf
action_run_javascript.pdf
action_submit_a_form.pdf
all_trigger_run_js_lunchurl.pdf
all_trigger_run_js_maildoc.pdf
app_launchurl.pdf
appstoredescription3.1_en_updated.pdf
bookmarkgetcolor.pdf
bug_0_length_line.pdf
bug_0_width_line.pdf
bug_white_space.pdf
calculate_average.pdf
calculate_sum_a_b_c.pdf
calculate_validate.pdf
color.pdf
colorspace.pdf
colorspace_test1.pdf
combo_box_format.pdf
date.pdf
edit_transform.pdf
en_contact.pdf
en_diy.pdf
en_foxit.pdf
en_fqa2.pdf
en_introduce.pdf
en_tem.pdf
en_uicase_.pdf
event.change.pdf
event.changeex.pdf
event.keydown.pdf
event.keydown_1_.pdf
event.type_name.pdf
event.value.pdf
event_change.pdf
example_001.pdf
example_002.pdf
example_003.pdf
example_004.pdf
example_005.pdf
example_006.pdf
example_007.pdf
example_008.pdf
example_009.pdf
example_010.pdf
example_011.pdf
example_012.pdf
example_013.pdf
example_014.pdf
example_015.pdf
example_016.pdf
example_017.pdf
example_018.pdf
example_019.pdf
example_020.pdf
example_021.pdf
example_022.pdf
example_023.pdf
example_024.pdf
example_025.pdf
example_026.pdf
example_027.pdf
example_028.pdf
example_029.pdf
example_030.pdf
example_031.pdf
example_032.pdf
example_033.pdf
example_034.pdf
example_035.pdf
example_036.pdf
example_037.pdf
example_038.pdf
example_039.pdf
example_040.pdf
example_041.pdf
example_042.pdf
example_043.pdf
example_044.pdf
example_045.pdf
example_046.pdf
example_047.pdf
example_048.pdf
example_049.pdf
example_050.pdf
example_051.pdf
example_052.pdf
example_053.pdf
example_054.pdf
example_055.pdf
example_056.pdf
example_057.pdf
example_058.pdf
example_059.pdf
example_060.pdf
example_061.pdf
example_062.pdf
example_063.pdf
example_064.pdf
example_065.pdf
font_1_embedded_font_en_feature.pdf
font_2_embedded_font_en_size14.pdf
form_combobox_date.pdf
form_combobox_date2.pdf
form_combobox_num.pdf
form_combobox_per.pdf
form_combobox_plus.pdf
form_combobox_product.pdf
form_combobox_time.pdf
form_same.pdf
format_combo_box.pdf
format_custom_format.pdf
format_number.pdf
format_percentage.pdf
format_text_color.pdf
getarray.pdf
group_xobject.pdf
jetman_std.pdf
negative.pdf
new_certify1.pdf
new_signature1.pdf
new_signature2.pdf
new_stamp4.pdf
new_stamp5.pdf
new_textmarkup1.pdf
new_textmarkup2.pdf
new_textmarkup4.pdf
new_textmarkup5.pdf
new_textmarkup6.pdf
new_textmarkup7.pdf
new_textmarkup8.pdf
octest.pdf
open_a_weblink.pdf
path_10_jd.pdf
path_5_pattern.pdf
path_6_graphics4.5.5.pdf
path_7.pdf
path_9.pdf
percentage.pdf
quick_start_guide.pdf
show_1.pdf
simplified_field_notation.pdf
special.pdf
submit_form.pdf
test_m.pdf
text_field_font_input_decimal_point.pdf
text_field_multiline_line_spacing.pdf
thread_action.pdf
time.pdf
transformation.pdf
transparent.pdf
whats_new_in_v3.0.pdf
widget_javascript.pdf
zh_file1.pdf
zh_function_list.pdf
zh_shared_document.pdf
