Heterogeneous Domain Adaptation (HDA) aims to enable effective transfer learning across domains of different modalities (e.g., texts and images) or feature dimensions (e.g., features extracted with different methods). Traditional domain adaptation algorithms assume that the representations of source and target samples reside in the same feature space, hence are likely to fail in solving the heterogeneous domain adaptation problem where the source and target domain data are represented by completely different features. To address this issue, we propose a Cross-Domain Structure Preserving Projection (CDSPP) algorithm, as an extension of the classic LPP, which aims to learn domain-specific projections to map sample features from source and target domains into a common subspace such that the class consistency is preserved and data distributions are sufficiently aligned. CDSPP is naturally suitable for supervised HDA but can be extended for semi-supervised HDA where the unlabeled target domain samples are available. Our approach illustrates superior results when evaluated against both supervised and semi-supervised state-of-the-art approaches on several HDA benchmark datasets.