# ========================================= # # Use it for Shadowrun. # confree tube_map.cfdg output.png 800 100 # ========================================= #

startshape INIT # CFDG Tube Map. Mind the gap. # ========================================= # # Normal Big metro variation # ========================================= # rule INIT { # PATH{r 90 sat 1 b 1 hue 0} # PATH{r -90 sat 1 b 1 hue 0} #}

# ========================================= # # Paris Metro variation # ========================================= # rule INIT {

PATH{r 0 sat 1 b 1 hue 0}
PATH{r 120 sat 1 b 1 hue 0}
PATH{r -120 sat 1 b 1 hue 0}

}

rule PATH {

SQUARE{s 0.45 1}
PATH_STEP {y 1}

} rule PATH_STEP {

SQUARE{s 0.5 1}
PATH_R {y 1}

}

rule PATH_R {

SQUARE{s 0.5 1}
PATH_R {y 1}

}

# stations rule PATH_R 0.2 {

STATION{y -0.5}

}

rule PATH_R 0.025 {

CORNER_1{}

} rule PATH_R 0.025 {

CORNER_2{}

}

# line divergence rule PATH_R 0.003 {

CORNER_1{}
CORNER_2{}

}

# corners rule CORNER_1 {

CIRCLE{s 0.5 y -0.5}
PATH_ADJUST { r 45 x -0.5}

} rule CORNER_2 {

CIRCLE{s 0.5 y -0.5}
PATH_ADJUST { r -45 x 0.5}

} rule PATH_ADJUST { PATH{y -0.25} }

# intersection rule STATION {

INTERSECTION{}

} rule INTERSECTION{

SQUARE{s .5 1}
CIRCLE{s 1 sat -1 b -1}
CIRCLE{s .8 sat -1 b 1}
PATH{y 1}
JUNCTION_INIT { hue 64 }

}

terminus rule STATION 1.5 {

SQUARE{s 1.5 .5}

}

through station 1 rule STATION {

SQUARE{s 1 .5 x 0.25}
SQUARE{s .5 1 }
PATH{y 1}

}

through station 2 rule STATION {

SQUARE{s 1 .5 x -0.25}
SQUARE{s .5 1 }
PATH{y 1}

}

rule JUNCTION_INIT { JUNCTION {r 90 x -1} } rule JUNCTION_INIT { JUNCTION {r -90 x 1} }

rule JUNCTION {

PATH{}

} rule JUNCTION 0.5 {

SQUARE {s 1 0.5}
CIRCLE{s 1 sat -1 b -1}
CIRCLE{s .8 sat -1 b 1}
PATH{r 90 x -1}
PATH{r -90 x 1}

} rule JUNCTION{}