summaryrefslogtreecommitdiff
path: root/src/devices/grohtml-old/output.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/grohtml-old/output.cc')
-rwxr-xr-xsrc/devices/grohtml-old/output.cc257
1 files changed, 0 insertions, 257 deletions
diff --git a/src/devices/grohtml-old/output.cc b/src/devices/grohtml-old/output.cc
deleted file mode 100755
index d6dc1884..00000000
--- a/src/devices/grohtml-old/output.cc
+++ /dev/null
@@ -1,257 +0,0 @@
-// -*- C++ -*-
-/* Copyright (C) 2000 Free Software Foundation, Inc.
- *
- * Gaius Mulley (gaius@glam.ac.uk) wrote output.cc
- * but it owes a huge amount of ideas and raw code from
- * James Clark (jjc@jclark.com) grops/ps.cc.
- *
- * output.cc
- *
- * provide the simple low level output routines needed by html.cc
- */
-
-/*
-This file is part of groff.
-
-groff is free software; you can redistribute it and/or modify it under
-the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version.
-
-groff is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License along
-with groff; see the file COPYING. If not, write to the Free Software
-Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#include "driver.h"
-#include "stringclass.h"
-#include "cset.h"
-
-#include <time.h>
-#include "html.h"
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if !defined(TRUE)
-# define TRUE (1==1)
-#endif
-#if !defined(FALSE)
-# define FALSE (1==0)
-#endif
-
-
-/*
- * the classes and methods for simple_output manipulation
- */
-
-simple_output::simple_output(FILE *f, int n)
-: fp(f), max_line_length(n), col(0), need_space(0), fixed_point(0)
-{
-}
-
-simple_output &simple_output::set_file(FILE *f)
-{
- fp = f;
- col = 0;
- return *this;
-}
-
-simple_output &simple_output::copy_file(FILE *infp)
-{
- int c;
- while ((c = getc(infp)) != EOF)
- putc(c, fp);
- return *this;
-}
-
-simple_output &simple_output::end_line()
-{
- if (col != 0) {
- putc('\n', fp);
- col = 0;
- need_space = 0;
- }
- return *this;
-}
-
-simple_output &simple_output::special(const char *s)
-{
- return *this;
-}
-
-simple_output &simple_output::simple_comment(const char *s)
-{
- if (col != 0)
- putc('\n', fp);
- fputs("<!-- ", fp);
- fputs(s, fp);
- fputs(" -->\n", fp);
- col = 0;
- need_space = 0;
- return *this;
-}
-
-simple_output &simple_output::begin_comment(const char *s)
-{
- if (col != 0)
- putc('\n', fp);
- fputs("<!-- ", fp);
- fputs(s, fp);
- col = 5 + strlen(s);
- return *this;
-}
-
-simple_output &simple_output::end_comment()
-{
- if (need_space) {
- putc(' ', fp);
- }
- fputs(" -->\n", fp);
- col = 0;
- need_space = 0;
- return *this;
-}
-
-simple_output &simple_output::comment_arg(const char *s)
-{
- int len = strlen(s);
-
- if (col + len + 1 > max_line_length) {
- fputs("\n ", fp);
- col = 1;
- }
- fputs(s, fp);
- col += len + 1;
- return *this;
-}
-
-simple_output &simple_output::set_fixed_point(int n)
-{
- assert(n >= 0 && n <= 10);
- fixed_point = n;
- return *this;
-}
-
-simple_output &simple_output::put_raw_char(char c)
-{
- putc(c, fp);
- col++;
- need_space = 0;
- return *this;
-}
-
-simple_output &simple_output::put_string(const char *s, int n)
-{
- int i=0;
-
- while (i<n) {
- fputc(s[i], fp);
- i++;
- }
- col += n;
- return *this;
-}
-
-simple_output &simple_output::put_translated_string(const char *s)
-{
- int i=0;
-
- while (s[i] != (char)0) {
- if ((s[i] & 0x7f) == s[i]) {
- fputc(s[i], fp);
- }
- i++;
- }
- col += i;
- return *this;
-}
-
-simple_output &simple_output::put_string(const char *s)
-{
- int i=0;
-
- while (s[i] != '\0') {
- fputc(s[i], fp);
- i++;
- }
- col += i;
- return *this;
-}
-
-struct html_2_postscript {
- char *html_char;
- char *postscript_char;
-};
-
-static struct html_2_postscript ps_char_conversions[] = {
- { "+-", "char177", },
- { "eq", "=" , },
- { "mu", "char215", },
- { NULL, NULL , },
-};
-
-
-/*
- * this is an aweful hack which attempts to translate html characters onto
- * postscript characters. Can this be done inside the devhtml files?
- *
- * or should we read the devps files and find out the translations?
- */
-
-simple_output &simple_output::put_troffps_char (const char *s)
-{
- int i=0;
-
- while (ps_char_conversions[i].html_char != NULL) {
- if (strcmp(s, ps_char_conversions[i].html_char) == 0) {
- put_string(ps_char_conversions[i].postscript_char);
- return *this;
- } else {
- i++;
- }
- }
- put_string(s);
- return *this;
-}
-
-simple_output &simple_output::put_number(int n)
-{
- char buf[1 + INT_DIGITS + 1];
- sprintf(buf, "%d", n);
- int len = strlen(buf);
- put_string(buf, len);
- need_space = 1;
- return *this;
-}
-
-simple_output &simple_output::put_float(double d)
-{
- char buf[128];
-
- sprintf(buf, "%.4f", d);
- int len = strlen(buf);
- put_string(buf, len);
- need_space = 1;
- return *this;
-}
-
-
-simple_output &simple_output::put_symbol(const char *s)
-{
- int len = strlen(s);
-
- if (need_space) {
- putc(' ', fp);
- col++;
- }
- fputs(s, fp);
- col += len;
- need_space = 1;
- return *this;
-}