晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/ghostscript/lib/ |
Upload File : |
%!
%%Creator: Eric Gisin <egisin@waterloo.csnet>
%%Title: Print font catalog
% Copyright (C) 2001-2019 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
% implied.
%
% This software is distributed under license and may not be copied,
% modified or distributed except as expressly authorized under the terms
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Copyright (c) 1986 Eric Gisin
% Copyright (C) 1992 Aladdin Enterprises, Menlo Park, CA
% Modified to print all 256 encoded characters.
% Copyright (C) 1993 Aladdin Enterprises, Menlo Park, CA
% Modified to print unencoded characters.
% Copyright (C) 1994 Aladdin Enterprises, Menlo Park, CA
% Modified to always create 256-element Encoding vectors.
% Copyright (C) 1995 Aladdin Enterprises, Menlo Park, CA
% Modified to print more than 128 unencoded characters.
% Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA
% Modified to leave a slightly wider left margin, because many H-P
% printers can't print in the leftmost 1/4" of the page.
% Modified to print unencoded characters in any font that has CharStrings.
% Copyright (C) 1999 Aladdin Enterprises, Menlo Park, CA
% Modified to sort unencoded characters.
% Copyright (C) 2000 Aladdin Enterprises, Menlo Park, CA
% Modified to print CIDFonts as well as fonts.
% O(N^2) sorting replaced with O(N log N).
% Copyright transferred 2000/09/15 to Artifex Software, Inc. Send any questions to
% bug-gs@ghostscript.com.
% Example usages at bottom of file
/#copies 1 def
/min { 2 copy gt { exch } if pop } bind def
/T6 /Times-Roman findfont 6 scalefont def
/Temp 64 string def
/Inch {72 mul} def
/Base 16 def % char code output base
/TempEncoding [ 256 { /.notdef } repeat ] def
% Sort an array. Code used by permission of the author, Aladdin Enterprises.
/sort { % <array> <lt-proc> sort <array>
% Heapsort (algorithm 5.2.3H, Knuth vol. 2, p. 146),
% modified for 0-origin indexing. */
10 dict begin
/LT exch def
/recs exch def
/N recs length def
N 1 gt {
/l N 2 idiv def
/r N 1 sub def {
l 0 gt {
/l l 1 sub def
/R recs l get def
} {
/R recs r get def
recs r recs 0 get put
/r r 1 sub def
r 0 eq { recs 0 R put exit } if
} ifelse
/j l def {
/i j def
/j j dup add 1 add def
j r lt {
recs j get recs j 1 add get LT { /j j 1 add def } if
} if
j r gt { recs i R put exit } if
R recs j get LT not { recs i R put exit } if
recs i recs j get put
} loop
} loop
} if recs end
} def
% do single character of page
% output to rectangle ll=(0,-24) ur=(36,24)
/DoGlyph { % C, N, W set
% print code name, width and char name
T6 setfont
N /.notdef ne {0 -20 moveto N Temp cvs show} if
0 -12 moveto C Base Temp cvrs show ( ) show
W 0.0005 add Temp cvs 0 5 getinterval show
% print char with reference lines
N /.notdef ne {
3 0 translate
0 0 moveto F24 setfont N glyphshow
/W W 24 mul def
0 -6 moveto 0 24 lineto
W -6 moveto W 24 lineto
-3 0 moveto W 3 add 0 lineto
0 setlinewidth stroke
} if
} def
/DoChar {
/C exch def
/N F /Encoding get C get def
/S (_) dup 0 C put def
/W F setfont S stringwidth pop def
DoGlyph
} def
/CIDTemp 20 string def
/DoCID {
/N exch def
/C N def
/W F setfont gsave
matrix currentmatrix nulldevice setmatrix
0 0 moveto N glyphshow currentpoint pop
grestore def
DoGlyph
} def
% print page title
/DoTitle {
/Times-Roman findfont 18 scalefont setfont
36 10.5 Inch moveto FName Temp cvs show ( ) show ((24 point)) show
} def
% print one block of characters
/DoBlock { % firstcode lastcode
/FirstCode 2 index def
1 exch {
/I exch def
/Xn I FirstCode sub 16 mod def /Yn I FirstCode sub 16 idiv def
gsave
Xn 35 mul 24 add Yn -56 mul 9.5 Inch add translate
I DoCode
grestore
} for
} def
% print a line of character
/DoCharLine { % firstcode lastcode
1 exch { (_) dup 0 3 index put show pop } for
} def
/DoCIDLine { % firstcode lastcode
1 exch { glyphshow } for
} def
% initialize variables
/InitDoFont { % fontname font
/F exch def % font
/FName exch def % font name
/F24 F 24 scalefont def
/Line0 96 string def
/Line1 96 string def
/Namestring1 128 string def
/Namestring2 128 string def
} def
% print pages of unencoded characters
/DoUnencoded { % glyphs
/Unencoded exch def
/Count Unencoded length def
% Print the unencoded characters in blocks of 128.
0 128 Unencoded length 1 sub
{ /BlockStart 1 index def
dup 128 add Unencoded length min 1 index sub
Unencoded 3 1 roll getinterval TempEncoding copy
/BlockEncoding exch def
/BlockCount BlockEncoding length def
save
F /Encoding known {
F length dict F
{ 1 index /FID eq { pop pop } { 2 index 3 1 roll put } ifelse }
forall dup /Encoding TempEncoding put
/* exch definefont
/F exch def
/F24 F 24 scalefont def
/BlockStart 0 def
} if
DoTitle (, unencoded characters) show
BlockStart dup BlockCount 1 sub add DoBlock
F 10 scalefont setfont
36 2.4 Inch moveto
0 32 BlockCount 1 sub {
0 -0.4 Inch rmoveto gsave
dup 31 add BlockCount 1 sub min
exch BlockStart add exch BlockStart add DoLine
grestore
} for
showpage
restore
} for
} def
% print font sample pages
/DoFont {
dup findfont InitDoFont
/DoCode {DoChar} def
/DoLine {DoCharLine} def
% Display the first 128 encoded characters.
DoTitle (, characters 0-127) show
0 127 DoBlock
F 10 scalefont setfont
36 2.0 Inch moveto 0 31 DoLine
36 1.6 Inch moveto 32 63 DoLine
36 1.2 Inch moveto 64 95 DoLine
36 0.8 Inch moveto 96 127 DoLine
showpage
% Display the second 128 encoded characters.
DoTitle (, characters 128-255) show
128 255 DoBlock
F 10 scalefont setfont
36 2.0 Inch moveto 128 159 DoLine
36 1.6 Inch moveto 160 191 DoLine
36 1.2 Inch moveto 192 223 DoLine
36 0.8 Inch moveto 224 255 DoLine
showpage
F /CharStrings known
{
% Find and display the unencoded characters.
/Encoded F /Encoding get length dict def
F /Encoding get { true Encoded 3 1 roll put } forall
[ F /CharStrings get
{ pop dup Encoded exch known { pop } if }
forall ] {
exch Namestring1 cvs exch Namestring2 cvs lt
} sort DoUnencoded
}
if
} def
% print CIDFont sample pages
/DoCIDFont {
dup /CIDFont findresource InitDoFont
/DoCode {DoCID} def
/DoLine {DoCIDLine} def
[ 0 1 F /CIDCount get 1 sub { } for ] DoUnencoded
} def
% Do font samples
% /Times-Roman DoFont % Test (less than a minute)
% /Hershey-Gothic-English DoFont % Test (8 minutes)
% Do a complete catalog
% FontDirectory {pop DoFont} forall % All fonts (quite a long time)