chinese/docproj: Remove deprecated ports

Approved by:	delphij (maintainer), lwhsu (mentor)
Differential Revision:	https://reviews.freebsd.org/D30745
This commit is contained in:
Guangyuan Yang 2021-06-17 23:08:34 -04:00
parent 4d6a2481b9
commit a750d2aca8
7 changed files with 1 additions and 416 deletions

1
MOVED
View File

@ -16398,3 +16398,4 @@ databases/pg_reorg||2021-06-13|Removed, abandonware only for PostgreSQL 9.5
databases/pgespresso||2021-06-13|Removed, functionality part of PostgreSQL 9.6 and later.
x11-fonts/urw-core35-fonts|x11-fonts/urw-base35-fonts|2021-06-15|Project was renamed upstream
graphics/jpeg-xl|graphics/libjxl|2021-06-16|Project was renamed upstream
chinese/docproj|textproc/docproj|2021-06-17|Deprecated after the doc transition

View File

@ -21,7 +21,6 @@
SUBDIR += cless
SUBDIR += cnprint
SUBDIR += dictd-database
SUBDIR += docproj
SUBDIR += enscript
SUBDIR += eterm
SUBDIR += fandol

View File

@ -1,36 +0,0 @@
# Created by: Xin LI <delphij@FreeBSD.org>
PORTNAME= docproj
PORTVERSION= 0.1.20060303
PORTREVISION= 8
CATEGORIES= chinese
MASTER_SITES= # none
DISTFILES= # none
EXTRACT_ONLY= # none
# Note: Updates from intron@intron.ac should also be
# considered as maintainer updates.
MAINTAINER= delphij@FreeBSD.org
COMMENT= Supportive tools for Chinese docproj build
LICENSE= BSD2CLAUSE
USES= iconv
USE_TEX= gbklatex:run
WRKSRC= ${WRKDIR}/src
SRC= ${.CURDIR}/src
MAKE_ARGS+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} INSTALL_PROGRAM="${INSTALL_PROGRAM}"
PLIST_FILES= bin/cjktexsty
pre-patch:
@${CP} -R ${SRC} ${WRKDIR}
post-patch:
@${REINPLACE_CMD} -e 's/-liconv/${ICONV_LIB}/' \
${WRKSRC}/cjktexsty/Makefile
.include <bsd.port.mk>

View File

@ -1,4 +0,0 @@
zh-docproj is a set of utilities that is used to build docproj PDFs.
This utility is maintained by the FreeBSD Simplified Chinese Project.
WWW: http://www.freebsd.org.cn

View File

@ -1,4 +0,0 @@
SUBDIR= cjktexsty
.include <bsd.subdir.mk>

View File

@ -1,17 +0,0 @@
PROG= cjktexsty
SRCS= cjktexsty.l
PREFIX?= /usr/local
LOCALBASE?= ${PREFIX}
BINDIR= ${PREFIX}/bin
CFLAGS+= -I${LOCALBASE}/include
LDADD= -L${LOCALBASE}/lib -liconv
MAN=
.if defined(BSD_INSTALL_PROGRAM)
install:
${BSD_INSTALL_PROGRAM} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
.endif
.include <bsd.prog.mk>

View File

@ -1,354 +0,0 @@
%{
/*-
* Copyright (c) 2005, 2006 intron <intron@intron.ac>. All rights reserved.
* Copyright (c) 2005, 2006 The FreeBSD Simplified Chinese Project.
* All rights reserved.
*
* This code is derived from software contributed to The FreeBSD Simplified
* Chinese Project by intron.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* CNPROJ: doc/zh_CN.GB2312/share/mk/cjktexsty.lex,v 1.1.1000.40 2006/02/19 20:32:32 intron Exp
*/
#include <sys/cdefs.h>
#include <err.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <ctype.h>
#include <iconv.h>
char texencoding[128]="",*cjkencoding=NULL,cjkfont[128]="";
iconv_t iconvhandle;
int ccmap_enable=0;
void
errexit(void)
{
errx(1, "Error: line %d", yylineno);
}
void
transcode(char *ch)
{
char *pchar,*pout,input[16],output[128];
const char *pin;
int c;
size_t lin,lout;
size_t outlen;
pchar=strstr(ch,"{");
if(pchar==NULL)
errexit();
if(sscanf(pchar+1,"%d",&c)!=1)
errexit();
/* UCS-4 big endian, including not only Basic Multilingual Plane */
input[0]=(c&0xff000000)>>24;
input[1]=(c&0xff0000)>>16;
input[2]=(c&0xff00)>>8;
input[3]=(c&0xff);
pin=input;
lin=4;
pout=output;
lout=sizeof(output);
iconv(iconvhandle,&pin,&lin,&pout,&lout);
if(lin!=0) {
switch(c) {
case 8212: strcpy(output,"\\ensuremath{-}"); break;
case 8226: strcpy(output,"\\ensuremath{\\bullet}"); break;
case 8482: strcpy(output,"\\ensuremath{^{\\mathrm{TM}}}"); break;
case 10122: strcpy(output,"{\\large\\ding{202}}"); break;
case 10123: strcpy(output,"{\\large\\ding{203}}"); break;
case 10124: strcpy(output,"{\\large\\ding{204}}"); break;
case 10125: strcpy(output,"{\\large\\ding{205}}"); break;
case 10126: strcpy(output,"{\\large\\ding{206}}"); break;
case 10127: strcpy(output,"{\\large\\ding{207}}"); break;
case 10128: strcpy(output,"{\\large\\ding{208}}"); break;
case 10129: strcpy(output,"{\\large\\ding{209}}"); break;
case 10130: strcpy(output,"{\\large\\ding{210}}"); break;
case 10131: strcpy(output,"{\\large\\ding{211}}"); break;
case 10132: strcpy(output,"\\ensuremath{\\rightarrow}"); break;
case 65533: strcpy(output,"{\\large\\ding{96}}"); break;
default:
warnx("Unable to find a substitute for UNICODE character &#%d;", c);
strcpy(output,"??");
break;
}
} else {
outlen=sizeof(output)-lout;
output[outlen]=0;
if(outlen==2 && strcspn(output,"\\$&%#@{}^_~\x80")!=outlen)
{ /* TeX special character */
sprintf(output,"\\CJKchar{%u}{%u}",
(unsigned int)(unsigned char)output[0],
(unsigned int)(unsigned char)output[1]
);
}
}
printf("%s",output);
}
%}
%option yylineno
%option noyywrap
fotbegin \\FOT\{[^}]*\}
fotend \\endFOT\{[^}]*\}
cjk \\Character\{[0-9]{1,5}\}
%%
{fotbegin} {
/*
* A confusing but practical structure:
*
* \usepackage{CJK}
* \begin{CJK*}{GB}{song}
* \FOT{3}
*
* ...
*
* \end{CJK*}
* \endFOT{}
*
* The macro call \begin{CJK*} must be put before
* \FOT, or generated PDF will include many "@".
*/
printf("\\usepackage{textcomp}\n");
printf("\\usepackage{pifont}\n");
printf("\\usepackage{wasysym}\n");
printf("\\usepackage{CJK}\n");
if(ccmap_enable) printf("\\usepackage{ccmap}\n");
printf("\\hypersetup{CJKbookmarks=true,hypertex,pdfauthor={FreeBSD Documentation Project}}\n");
printf("\\begin{CJK*}{%s}{%s}\n%s\n",cjkencoding,cjkfont,yytext);
}
{fotend} {
/*
* \FOT does NOT include \begin{document},
* while \endFOT includes \end{document} explicitly.
* Thus, \endFOT should NOT be put between
* \begin{CJK*} and \end{CJK*},
* whether there is a \FOT between them or not.
*/
printf("\n\\end{CJK*}%s\n",yytext);
}
{cjk} { transcode(yytext); }
[\xA0] { printf("{\\nobreakspace}"); }
[\xA1] { printf("{\\textexclamdown}"); }
[\xA2] { printf("{\\textcent}"); }
[\xA3] { printf("{\\pounds}"); }
[\xA4] { printf("{\\textcurrency}"); }
[\xA5] { printf("{\\textyen}"); }
[\xA6] { printf("{\\textbrokenbar}"); }
[\xA7] { printf("{\\S}"); }
[\xA8] { printf("{\\\"{}}"); }
[\xA9] { printf("{\\copyright}"); }
[\xAA] { printf("{\\textordfeminine}"); }
[\xAB] { printf("\\ensuremath{_{^{\\ll}}}"); }
[\xAC] { printf("\\ensuremath{\\lnot}"); }
[\xAD] { printf("{-}"); }
[\xAE] { printf("{\\textregistered}"); }
[\xAF] { printf("\\ensuremath{^{-}}"); }
[\xB0] { printf("{\\textdegree}"); }
[\xB1] { printf("\\ensuremath{\\pm}"); }
[\xB2] { printf("\\ensuremath{^{2}}"); }
[\xB3] { printf("\\ensuremath{^{3}}"); }
[\xB4] { printf("\\ensuremath{'}"); }
[\xB5] { printf("\\ensuremath{\\mu}"); }
[\xB6] { printf("{\\P}"); }
[\xB7] { printf("{\\ifmmode\\cdot\\else\\textperiodcentered\\fi}"); }
[\xB8] { printf("\\c{}"); }
[\xB9] { printf("\\ensuremath{^{1}}"); }
[\xBA] { printf("{\\textordmasculine}"); }
[\xBB] { printf("\\ensuremath{_{^{\\gg}}}"); }
[\xBC] { printf("{\\textonequarter}"); }
[\xBD] { printf("{\\textonehalf}"); }
[\xBE] { printf("{\\textthreequarters}"); }
[\xBF] { printf("{\\textquestiondown}"); }
[\xC0] { printf("\\ensuremath{\\grave{\\mathrm{A}}}"); }
[\xC1] { printf("\\ensuremath{\\acute{\\mathrm{A}}}"); }
[\xC2] { printf("{\\^A}"); }
[\xC3] { printf("{\\~A}"); }
[\xC4] { printf("{\\\"A}"); }
[\xC5] { printf("{\\AA}"); }
[\xC6] { printf("{\\AE}"); }
[\xC7] { printf("{\\c C}"); }
[\xC8] { printf("\\ensuremath{\\grave{\\mathrm{E}}}"); }
[\xC9] { printf("\\ensuremath{\\acute{\\mathrm{E}}}"); }
[\xCA] { printf("{\\^E}"); }
[\xCB] { printf("{\\\"E}"); }
[\xCC] { printf("\\ensuremath{\\grave{\\mathrm{I}}}"); }
[\xCD] { printf("\\ensuremath{\\acute{\\mathrm{I}}}"); }
[\xCE] { printf("{\\^I}"); }
[\xCF] { printf("{\\\"I}"); }
[\xD0] { printf("{\\DH}"); }
[\xD1] { printf("{\\~N}"); }
[\xD2] { printf("\\ensuremath{\\grave{\\mathrm{O}}}"); }
[\xD3] { printf("\\ensuremath{\\acute{\\mathrm{O}}}"); }
[\xD4] { printf("{\\^O}"); }
[\xD5] { printf("{\\~O}"); }
[\xD6] { printf("{\\\"O}"); }
[\xD7] { printf("\\ensuremath{\\times}"); }
[\xD8] { printf("{\\O}"); }
[\xD9] { printf("\\ensuremath{\\grave{\\mathrm{U}}}"); }
[\xDA] { printf("\\ensuremath{\\acute{\\mathrm{U}}}"); }
[\xDB] { printf("{\\^U}"); }
[\xDC] { printf("{\\\"U}"); }
[\xDD] { printf("\\ensuremath{\\acute{\\mathrm{Y}}}"); }
[\xDE] { printf("{\\Thorn}"); }
[\xDF] { printf("{\\ss}"); }
[\xE0] { printf("\\ensuremath{\\grave{\\mathrm{a}}}"); }
[\xE1] { printf("\\ensuremath{\\acute{\\mathrm{a}}}"); }
[\xE2] { printf("{\\^a}"); }
[\xE3] { printf("{\\~a}"); }
[\xE4] { printf("{\\\"a}"); }
[\xE5] { printf("{\\aa}"); }
[\xE6] { printf("{\\ae}"); }
[\xE7] { printf("{\\c c}"); }
[\xE8] { printf("\\ensuremath{\\grave{\\mathrm{e}}}"); }
[\xE9] { printf("\\ensuremath{\\acute{\\mathrm{e}}}"); }
[\xEA] { printf("{\\^e}"); }
[\xEB] { printf("{\\\"e}"); }
[\xEC] { printf("\\ensuremath{\\grave{\\mathrm{\\i}}}"); }
[\xED] { printf("\\ensuremath{\\acute{\\mathrm{\\i}}}"); }
[\xEE] { printf("{\\^\\i}"); }
[\xEF] { printf("{\\\"\\i}"); }
[\xF0] { printf("{\\dh}"); }
[\xF1] { printf("{\\~n}"); }
[\xF2] { printf("\\ensuremath{\\grave{\\mathrm{o}}}"); }
[\xF3] { printf("\\ensuremath{\\acute{\\mathrm{o}}}"); }
[\xF4] { printf("{\\^o}"); }
[\xF5] { printf("{\\~o}"); }
[\xF6] { printf("{\\\"o}"); }
[\xF7] { printf("\\ensuremath{\\div}"); }
[\xF8] { printf("{\\o}"); }
[\xF9] { printf("\\ensuremath{\\grave{\\mathrm{u}}}"); }
[\xFA] { printf("\\ensuremath{\\acute{\\mathrm{u}}}"); }
[\xFB] { printf("{\\^u}"); }
[\xFC] { printf("{\\\"u}"); }
[\xFD] { printf("\\ensuremath{\\acute{\\mathrm{y}}}"); }
[\xFE] { printf("{\\thorn}"); }
[\xFF] { printf("{\\\"y}"); }
[\xa0-\xff] {
warnx("Unable to find a substitute for ISO8859-1 character \\x%X",
(unsigned int)(*((unsigned char *)yytext)));
printf("?");
}
%%
void printusage()
{
fprintf(stderr, "Usage: cjktexsty [ -c ] -e encoding -f fontname\n"
" Convert TeX source including \\Character{xxxxx} generated by\n"
" Jade/OpenJade into what CJK-LaTeX can process.\n"
" \n"
"NOTE: Jade/OpenJade supports EUC-JP natively. Thus, this tool SHOULD NOT be\n"
" used in this case. This tool treats all bytes larger than 0xa0 as\n"
" ISO 8859-1 characters, and converts \\Character{xxxxx} into encoding\n"
" that CJK-LaTeX can process.\n"
" \n"
"Options:\n"
" -c\n"
" Use ccmap.sty for PDFTeX to generate text-copyable CJK PDF.\n"
" The package ccmap.sty is written by Wenchang Sun and Linbo Zhang.\n"
" See also ftp://ftp.cc.ac.cn/pub/cct/ for details.\n"
" -e encoding\n"
" Specify TeX source encoding for CJK-LaTeX.\n"
" -f fontname\n"
" Specify font name in CJK macro call, such as\n"
" \\begin{CJK*}{encoding}{font}.\n"
" \n"
"CJK-LaTeX supported combinations by default:\n"
" <TeX source encoding> <CJK encoding name> <CJK font name>\n"
" ------------------------------------------------------------\n"
" GB2312 GB song\n"
" GBK GBK song\n"
" BIG5 Bg5 bsmi\n"
" EUCJP JIS min\n"
" EUCKR KS \n"
" UTF-8 UTF8 song\n"
);
}
int
main(int argc, char *argv[])
{
int ch;
char *p;
while ((ch = getopt(argc, argv, "ce:f:")) != -1)
{
switch (ch)
{
case 'c':
ccmap_enable=1;
break;
case 'e':
if(strcasecmp(optarg,"GB2312")==0) cjkencoding="GB";
else if(strcasecmp(optarg,"GBK")==0) cjkencoding="GBK";
else if(strcasecmp(optarg,"GB18030")==0) cjkencoding="GBK"; /* Not supported by CJK yet */
else if(strcasecmp(optarg,"BIG5")==0) cjkencoding="Bg5";
else if(strcasecmp(optarg,"EUCJP")==0) cjkencoding="JIS";
else if(strcasecmp(optarg,"EUCKR")==0) cjkencoding="KS";
else if(strcasecmp(optarg,"UTF-8")==0) cjkencoding="UTF8";
else cjkencoding=NULL;
if(cjkencoding!=NULL) {
strlcpy(texencoding,optarg,sizeof(texencoding));
for(p=texencoding;*p!=0;p++)
*p=toupper((int)((unsigned char)*p));
}
break;
case 'f':
strlcpy(cjkfont,optarg,sizeof(cjkfont));
break;
default:
printusage();
return 1;
break;
}
}
if(cjkencoding==NULL)
{
printusage();
return 1;
}
iconvhandle=iconv_open(texencoding,"UCS-4BE");
yylex();
iconv_close(iconvhandle);
return 0;
}