1#ifndef DEFINE_FUNC_ATTRIBUTES
2# define DEFINE_FUNC_ATTRIBUTES
3#endif
4#include "nvim/func_attr.h"
5#undef DEFINE_FUNC_ATTRIBUTES
6static char_u *parse_list_options(char_u *option_str, option_table_T *table, size_t table_size);
7static uint32_t darken_rgb(uint32_t rgb);
8static uint32_t prt_get_term_color(int colorindex);
9static void prt_get_attr(int hl_id, prt_text_attr_T *pattr, int modec);
10static void prt_set_fg(uint32_t fg);
11static void prt_set_bg(uint32_t bg);
12static void prt_set_font(const TriState bold, const TriState italic, const TriState underline);
13static void prt_line_number(prt_settings_T *const psettings, const int page_line, const linenr_T lnum);
14static void prt_header(prt_settings_T *const psettings, const int pagenum, const linenr_T lnum);
15static void prt_message(char_u *s);
16static colnr_T hardcopy_line(prt_settings_T *psettings, int page_line, prt_pos_T *ppos);
17static void prt_write_file_raw_len(char_u *buffer, size_t bytes);
18static void prt_write_file(char_u *buffer);
19static void prt_write_file_len(char_u *buffer, size_t bytes);
20static void prt_write_string(char *s);
21static void prt_write_int(int i);
22static void prt_write_boolean(int b);
23static void prt_def_font(char *new_name, char *encoding, int height, char *font);
24static void prt_def_cidfont(char *new_name, int height, char *cidfont);
25static void prt_dup_cidfont(char *original_name, char *new_name);
26static void prt_real_bits(double real, int precision, int *pinteger, int *pfraction);
27static void prt_write_real(double val, int prec);
28static void prt_def_var(char *name, double value, int prec);
29static void prt_flush_buffer(void);
30static void prt_resource_name(char_u *filename, void *cookie);
31static int prt_find_resource(char *name, struct prt_ps_resource_S *resource);
32static int prt_resfile_next_line(void);
33static int prt_resfile_strncmp(int offset, char *string, int len);
34static int prt_resfile_skip_nonws(int offset);
35static int prt_resfile_skip_ws(int offset);
36static int prt_next_dsc(struct prt_dsc_line_S *p_dsc_line);
37static int prt_open_resource(struct prt_ps_resource_S *resource);
38static int prt_check_resource(struct prt_ps_resource_S *resource, char_u *version);
39static void prt_dsc_start(void);
40static void prt_dsc_noarg(char *comment);
41static void prt_dsc_textline(char *comment, char *text);
42static void prt_dsc_text(char *comment, char *text);
43static void prt_dsc_ints(char *comment, int count, int *ints);
44static void prt_dsc_resources(char *comment, char *type, char *string );
45static void prt_dsc_font_resource(char *resource, struct prt_ps_font_S *ps_font);
46static void prt_dsc_requirements(int duplex, int tumble, int collate, int color, int num_copies);
47static void prt_dsc_docmedia(char *paper_name, double width, double height, double weight, char *colour, char *type);
48static double to_device_units(int idx, double physsize, int def_number);
49static void prt_page_margins(double width, double height, double *left, double *right, double *top, double *bottom);
50static void prt_font_metrics(int font_scale);
51static int prt_get_cpl(void);
52static void prt_build_cid_fontname(int font, char_u *name, int name_len);
53static int prt_get_lpp(void);
54static int prt_match_encoding(char *p_encoding, struct prt_ps_mbfont_S *p_cmap, struct prt_ps_encoding_S **pp_mbenc);
55static int prt_match_charset(char *p_charset, struct prt_ps_mbfont_S *p_cmap, struct prt_ps_charset_S **pp_mbchar);
56static int prt_add_resource(struct prt_ps_resource_S *resource);
57#include "nvim/func_attr.h"
58