<commit_before>/******************************************************************************
  Functions.h

  Change Control:                                                      DDMMYYYY
    <NAME>    File created                                      03062000
    ....................Function definitions added as needed................

  Purpose:
    Prototypes for all internal function calls...

******************************************************************************/

#include "objects.h"

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdarg.h>

// A type needed for traverseObjects
typedef void (*traverseFunct)(pdf *, object *);

/******************************************************************************
  Error.c
******************************************************************************/

void  error(char *);

/******************************************************************************
  Images.c
******************************************************************************/

void  imagebox(pdf *, page *, int, int, int, int, char *, int);

/******************************************************************************
  Font.c
******************************************************************************/

char    *createfont(pdf *, char *, int, char *);
void    setfont(pdf *, char *);
void    setfontsize(pdf *, int);
object  *getfontobj(pdf *, char *);
void    setfontmode(pdf *, int);
void    setcharacterspacing(pdf *, double);
void    setwordspacing(pdf *, double);
void	sethorizontalscaling(pdf *, double);
void	setleading(pdf *, double);

/******************************************************************************
  Panda.c
******************************************************************************/

void  initpanda();
pdf   *pdfopen(char *, char *);
void  pdfclose(pdf *);
page  *pdfpage(pdf *, char *);

/******************************************************************************
  Objects.c
******************************************************************************/

object  *newobject(pdf *, int);
void    adddictitem(object *, char *, int, ...);
void    *getdictvalue(dictionary *);
void    writeObject(pdf *, object *);
void    writeDictionary(pdf *, object *, dictionary *);
void    addchild(object *, object *);
void    traverseObjects(pdf *, object *, traverseFunct);
void    appendtextstream(object *, char *, unsigned long);

/******************************************************************************
  Text.c
******************************************************************************/

void  textbox(pdf *, page *, int, int, int, int, char *);

/******************************************************************************
  Tiff.c
******************************************************************************/

void  insertTiff(pdf *, page *, int, int, int, int, char *);

/******************************************************************************
  Trailer.c
******************************************************************************/

void  writeTrailer(pdf *);

/******************************************************************************
  Utility.c
******************************************************************************/

void  pdfprintf(pdf *, char *, ...);
void  textstreamprintf(object *, char *, ...);
void  pdfputc(pdf *, int c);
void  pdfprint(pdf *, char *);

/******************************************************************************
  XREF.c
******************************************************************************/

void  writeXref(pdf *);
<commit_msg>Mikal: Now I just need to work out how to use the TIFF image on a page...<commit_after>/******************************************************************************
  Functions.h

  Change Control:                                                      DDMMYYYY
    <NAME>    File created                                      03062000
    ....................Function definitions added as needed................

  Purpose:
    Prototypes for all internal function calls...

******************************************************************************/

#include "objects.h"

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdarg.h>

// A type needed for traverseObjects
typedef void (*traverseFunct)(pdf *, object *);

/******************************************************************************
  Error.c
******************************************************************************/

void  error(char *);

/******************************************************************************
  Images.c
******************************************************************************/

void  imagebox(pdf *, page *, int, int, int, int, char *, int);

/******************************************************************************
  Font.c
******************************************************************************/

char    *createfont(pdf *, char *, int, char *);
void    setfont(pdf *, char *);
void    setfontsize(pdf *, int);
object  *getfontobj(pdf *, char *);
void    setfontmode(pdf *, int);
void    setcharacterspacing(pdf *, double);
void    setwordspacing(pdf *, double);
void	sethorizontalscaling(pdf *, double);
void	setleading(pdf *, double);

/******************************************************************************
  Panda.c
******************************************************************************/

void  initpanda();
pdf   *pdfopen(char *, char *);
void  pdfclose(pdf *);
page  *pdfpage(pdf *, char *);

/******************************************************************************
  Objects.c
******************************************************************************/

object  *newobject(pdf *, int);
void    adddictitem(object *, char *, int, ...);
void    *getdictvalue(dictionary *);
void    writeObject(pdf *, object *);
void    writeDictionary(pdf *, object *, dictionary *);
void    addchild(object *, object *);
void    traverseObjects(pdf *, object *, traverseFunct);
void    appendtextstream(object *, char *, unsigned long);
void    appendxobjectstream(object *, char *, unsigned long);

/******************************************************************************
  Text.c
******************************************************************************/

void  textbox(pdf *, page *, int, int, int, int, char *);

/******************************************************************************
  Tiff.c
******************************************************************************/

void  insertTiff(pdf *, page *, int, int, int, int, char *);

/******************************************************************************
  Trailer.c
******************************************************************************/

void  writeTrailer(pdf *);

/******************************************************************************
  Utility.c
******************************************************************************/

void  pdfprintf(pdf *, char *, ...);
void  textstreamprintf(object *, char *, ...);
void  pdfputc(pdf *, int c);
void  pdfprint(pdf *, char *);

/******************************************************************************
  XREF.c
******************************************************************************/

void  writeXref(pdf *);

{'fraction_non_alphanumeric': 0.5401508135996825, 'fraction_numerical': 0.002116682100806985, 'mean_word_length': 4.740318906605922, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6904099', 'n_tokens_mistral': 1696, 'n_tokens_neox': 1442, 'n_words': 343}